From 94a1e848a10fbab1d459c9b2f04164fa69fff8e0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 17:51:40 +0000 Subject: [PATCH 001/300] chore: remove deprecated SASS div operator --- .../SelectFieldset/SelectFieldset.module.scss | 4 +++- src/components/UserMenu/UserMenu.module.scss | 12 +++++++----- src/scss/animations/_wiggle.scss | 4 +++- src/scss/components/_badge.scss | 12 +++++++----- src/scss/components/_error.scss | 6 ++++-- src/scss/components/_loading.scss | 6 ++++-- 6 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss b/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss index ac757f198..9df2205aa 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss @@ -1,3 +1,5 @@ +@use 'sass:math'; + @import '../../../scss/colors'; @@ -12,7 +14,7 @@ top: 1px; right: 1px; - padding: 1rem #{(2 / 3) * 1rem}; + padding: 1rem #{math.div(2, 3) * 1rem}; border: none; diff --git a/src/components/UserMenu/UserMenu.module.scss b/src/components/UserMenu/UserMenu.module.scss index e7d76572f..e151606d3 100644 --- a/src/components/UserMenu/UserMenu.module.scss +++ b/src/components/UserMenu/UserMenu.module.scss @@ -1,3 +1,5 @@ +@use 'sass:math'; + @import '../../scss/colors'; @@ -58,8 +60,8 @@ $user-menu-width-mobile: 21rem; } @media not screen and (max-width: $mobile-max-width) { - top: #{$avatar-top-margin + (($avatar-size - 4rem) / 2)}; - right: #{$avatar-right-margin + (($avatar-size - 4rem) / 2)}; + top: #{$avatar-top-margin + math.div(($avatar-size - 4rem), 2)}; + right: #{$avatar-right-margin + math.div(($avatar-size - 4rem), 2)}; max-width: 4rem; max-height: 4rem; @@ -136,8 +138,8 @@ $user-menu-width-mobile: 21rem; @media not screen and (max-width: $mobile-max-width) { &:checked { ~ .nav { - top: #{($avatar-size / 2) + 1rem}; - right: #{($avatar-size / 2) + 2.5rem}; + top: #{math.div($avatar-size, 2) + 1rem}; + right: #{math.div($avatar-size, 2) + 2.5rem}; max-width: 16rem; max-height: 35rem; @@ -154,7 +156,7 @@ $user-menu-width-mobile: 21rem; $umt-mobile-translate: translateX( #{ - -1 * (($user-menu-width-mobile / 2) - ($avatar-size / 2) - $avatar-right-margin - ($user-menu-border-width-mobile / 2)) + -1 * (math.div($user-menu-width-mobile, 2) - math.div($avatar-size, 2) - $avatar-right-margin - math.div($user-menu-border-width-mobile, 2)) } ); diff --git a/src/scss/animations/_wiggle.scss b/src/scss/animations/_wiggle.scss index e36421eb7..6dbad6b75 100644 --- a/src/scss/animations/_wiggle.scss +++ b/src/scss/animations/_wiggle.scss @@ -1,9 +1,11 @@ +@use 'sass:math'; + $wiggle-rotation: 7.5; @keyframes wiggle { 10%, 90% { - transform: rotateZ((($wiggle-rotation / 3) * 2) * 1deg); + transform: rotateZ((math.div($wiggle-rotation, 3) * 2) * 1deg); } 30%, diff --git a/src/scss/components/_badge.scss b/src/scss/components/_badge.scss index 04437bdf0..c603a2a81 100644 --- a/src/scss/components/_badge.scss +++ b/src/scss/components/_badge.scss @@ -1,3 +1,5 @@ +@use 'sass:math'; + // Create an empty list to generate our PC badge background $pc-background-gradients: (); @@ -6,8 +8,8 @@ $pc-background-gradients: (); $texture-colors: ($pc-sun-orange, $pc-sun-yellow); // Generate a random percentage-based X and Y position for each spot - $texture-x: percentage((random(30) + 70) / 100); - $texture-y: percentage((random(30) + 70) / 100); + $texture-x: percentage(math.div((random(30) + 70), 100)); + $texture-y: percentage(math.div((random(30) + 70), 100)); // The texture size is where we'll put our final color stop $texture-size: (random(10)) + '%'; @@ -47,9 +49,9 @@ $pc-background-gradients: // Generate the "stars" @for $i from 1 through 50 { // Generate a random percentage-based X and Y position for each star - $star-x: percentage(random(100) / 100); - $star-y: percentage(random(100) / 100); - $star-size: percentage((random(50) * 0.1) / 100); + $star-x: percentage(math.div(random(100), 100)); + $star-y: percentage(math.div(random(100), 100)); + $star-size: percentage(math.div((random(50) * 0.1), 100)); // Create the star's gradient $gradient: diff --git a/src/scss/components/_error.scss b/src/scss/components/_error.scss index 2dc386202..43e587661 100644 --- a/src/scss/components/_error.scss +++ b/src/scss/components/_error.scss @@ -1,3 +1,5 @@ +@use 'sass:math'; + .error:empty { position: relative; @@ -14,8 +16,8 @@ width: $loader-size; height: $loader-size; - margin-top: -($loader-size / 2); - margin-left: -($loader-size / 2); + margin-top: 0 - math.div($loader-size, 2); + margin-left: 0 - math.div($loader-size, 2); border-width: 0.3rem; border-style: solid; diff --git a/src/scss/components/_loading.scss b/src/scss/components/_loading.scss index 9536f4453..ea4be8884 100644 --- a/src/scss/components/_loading.scss +++ b/src/scss/components/_loading.scss @@ -1,3 +1,5 @@ +@use 'sass:math'; + .loading { &:empty, &.loader-force { @@ -23,8 +25,8 @@ content: ''; width: $loader-size; height: $loader-size; - margin-top: -(($loader-size / 2) + $loader-border-width); - margin-left: -(($loader-size / 2) + $loader-border-width); + margin-top: -(math.div($loader-size, 2) + $loader-border-width); + margin-left: -(math.div($loader-size, 2) + $loader-border-width); border: $loader-border-width solid currentColor; border-radius: 100%; From ba5975049d9a82860028f3199454e93e027c0712 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 17:51:47 +0000 Subject: [PATCH 002/300] chore: update deps --- package.json | 14 ++-- yarn.lock | 200 +++++++++++++++++++++++++++++---------------------- 2 files changed, 121 insertions(+), 93 deletions(-) diff --git a/package.json b/package.json index d00312ef1..d4117b643 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,8 @@ "@types/koa-compress": "^4.0.1", "@types/koa-logger": "^3.1.1", "@types/koa__router": "^8.0.4", - "@types/lodash": "^4.14.169", - "@types/react": "^17.0.5", + "@types/lodash": "^4.14.170", + "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", @@ -74,11 +74,11 @@ "rollup": "^2.48.0", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", - "sass": "^1.32.13", + "sass": "^1.33.0", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.37.0", + "webpack": "^5.37.1", "worker-loader": "^3.0.8" }, "dependencies": { @@ -110,11 +110,11 @@ "koa-logger": "^3.2.1", "koa-proxies": "0.12.1", "lodash": "^4.17.21", - "next": "^10.2.0", + "next": "^10.2.2", "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", - "postcss": "^8.2.15", + "postcss": "^8.3.0", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", @@ -132,7 +132,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.148.0", + "stripe": "^8.149.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.5.2", "zxcvbn": "^4.4.2" diff --git a/yarn.lock b/yarn.lock index 5979cc7dc..4d5264f85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2766,13 +2766,13 @@ __metadata: languageName: node linkType: hard -"@hapi/accept@npm:5.0.1": - version: 5.0.1 - resolution: "@hapi/accept@npm:5.0.1" +"@hapi/accept@npm:5.0.2": + version: 5.0.2 + resolution: "@hapi/accept@npm:5.0.2" dependencies: "@hapi/boom": 9.x.x "@hapi/hoek": 9.x.x - checksum: df5544c98921fe17bcbb1750b1ed37dd3b5a46dd5b61b4a80655be7131fa3ac144befc1f35f2ad2bf6c32a363bab36bdcfa7b45ca7d249404a4295b5dcd6214d + checksum: 8088cbc245287f52722b2f6c42ae1f21f1f40001453582876b7de0329104427f88a277cd7857458bfc8ade4b9c872c9e5571b94de3c38440e40dbd3d25387954 languageName: node linkType: hard @@ -2805,23 +2805,23 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:10.2.0": - version: 10.2.0 - resolution: "@next/env@npm:10.2.0" - checksum: a55ab502b12c49d90b77c42a20e2eaee2025bf60bafbeabe992cbeba5f64055c5af150176a6a252d7ad63d6dbba90652fd6ccd6ec36b81c11eab9d5bb29f9ea5 +"@next/env@npm:10.2.2": + version: 10.2.2 + resolution: "@next/env@npm:10.2.2" + checksum: 14c138b77f8d50bb6ed58e493dfe726af7f103c9aa224c705a021f5006af6e2d0a3f2977afe17c9e4b3e08351e0e8857a13da945c0da0f1bcd198d5c8ff40022 languageName: node linkType: hard -"@next/polyfill-module@npm:10.2.0": - version: 10.2.0 - resolution: "@next/polyfill-module@npm:10.2.0" - checksum: 3addca178310f5b1050183b8475038bf8915d47cf3f78c8f097a2a591fe62860f5a77fe3ed8fb19e2de23480094f578c532cd23dd7c5db1dfc746b88d7fafbbb +"@next/polyfill-module@npm:10.2.2": + version: 10.2.2 + resolution: "@next/polyfill-module@npm:10.2.2" + checksum: 6f09174f9bd667d571f2a1e29a16797bac40b9d26353c2f170a7cb1311d975ead841b6d7bae0c6ecd6d7bb21a53e4f61793899c3af620b3acad38deb5d74b2af languageName: node linkType: hard -"@next/react-dev-overlay@npm:10.2.0": - version: 10.2.0 - resolution: "@next/react-dev-overlay@npm:10.2.0" +"@next/react-dev-overlay@npm:10.2.2": + version: 10.2.2 + resolution: "@next/react-dev-overlay@npm:10.2.2" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -2837,20 +2837,20 @@ __metadata: peerDependencies: react: ^16.9.0 || ^17 react-dom: ^16.9.0 || ^17 - checksum: a70c0b75cf0ca4fc4e45aa2e6e5a1ffe5eb34ec99b06f8e231cafbad66b0aaf82757ebf3cf917d65e3c738b62bc82f43b22c567ddea0d81a8facea0ddd7b52fd + checksum: 43cd65764319bc1534ee319ba22d0c886c7d45f665d2ea7e16b54ab867d7debef17614db13d30dca84a3cb73a8bd3bf366148b75597072763d27650c899f8fff languageName: node linkType: hard -"@next/react-refresh-utils@npm:10.2.0": - version: 10.2.0 - resolution: "@next/react-refresh-utils@npm:10.2.0" +"@next/react-refresh-utils@npm:10.2.2": + version: 10.2.2 + resolution: "@next/react-refresh-utils@npm:10.2.2" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: 36ea22701c8c9c6233d747d6f30284f1937552c1f9e744ed281ee7243ec2f4a03197cb851b85a51e013b22cfdf0d279c980f6cefe2d4d27c4e2abeae248b53e1 + checksum: f333f388e2bc8404cc758e70719200ecd8d763130ef58f3a6f06a87c0bf2ef1e8d2682d890d5035442f72817375257f1aef1007deb0b6dbf4500803f9c5cf75c languageName: node linkType: hard @@ -3417,10 +3417,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.169": - version: 4.14.169 - resolution: "@types/lodash@npm:4.14.169" - checksum: 78c9e49f4c9d21e72bdf5d7f64da3a2db4daad9e8b72cbd72605dacfddec49038e0ddc21e6646e169e78d4f365fb8abb34a03dbb29cbb1112f332adb81be3e4f +"@types/lodash@npm:^4.14.170": + version: 4.14.170 + resolution: "@types/lodash@npm:4.14.170" + checksum: 238a440804e787b85461cc280a11926c80779f7502fec21a70b4424d5feba4cc34cdcbbbc1dca2ec5e75b06d5dc42e42add798be3b6651e8dce9f4b5318d6022 languageName: node linkType: hard @@ -3527,14 +3527,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.5": - version: 17.0.5 - resolution: "@types/react@npm:17.0.5" +"@types/react@npm:^17.0.6": + version: 17.0.6 + resolution: "@types/react@npm:17.0.6" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 86bfb0be783b95771aa61a5e480f3d878a8cb9b9eeea0d02eee7978dc9899a7cba3b346a2c9bd7460d353231fcdee8af7b7e20ad036f706fbe55e1f6519efa3e + checksum: dd687a9620d90cc7b9e50ed06ec73beb589fcb7ddfec7b166307af79cee7c521c1f2f1084ffd4ad6eaf7c937cfa446cc0b03cc3cd18e85e952501da2f2e0e0c3 languageName: node linkType: hard @@ -4448,18 +4448,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:4.16.1": - version: 4.16.1 - resolution: "browserslist@npm:4.16.1" +"browserslist@npm:4.16.6, browserslist@npm:^4.16.6": + version: 4.16.6 + resolution: "browserslist@npm:4.16.6" dependencies: - caniuse-lite: ^1.0.30001173 - colorette: ^1.2.1 - electron-to-chromium: ^1.3.634 + caniuse-lite: ^1.0.30001219 + colorette: ^1.2.2 + electron-to-chromium: ^1.3.723 escalade: ^3.1.1 - node-releases: ^1.1.69 + node-releases: ^1.1.71 bin: browserslist: cli.js - checksum: aa4367989d0046487ed94f6318280189ddbf28112870e31aff5405e6dd5a862ad254e70aa3058773a9ffe9ae5ea29d567ce0c5b8a4020c1052b63cd801869847 + checksum: 3dffc86892d2dcfcfc66b52519b7e5698ae070b4fc92ab047e760efc4cae0474e9e70bbe10d769c8d3491b655ef3a2a885b88e7196c83cc5dc0a46dfdba8b70c languageName: node linkType: hard @@ -4492,21 +4492,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.16.6": - version: 4.16.6 - resolution: "browserslist@npm:4.16.6" - dependencies: - caniuse-lite: ^1.0.30001219 - colorette: ^1.2.2 - electron-to-chromium: ^1.3.723 - escalade: ^3.1.1 - node-releases: ^1.1.71 - bin: - browserslist: cli.js - checksum: 3dffc86892d2dcfcfc66b52519b7e5698ae070b4fc92ab047e760efc4cae0474e9e70bbe10d769c8d3491b655ef3a2a885b88e7196c83cc5dc0a46dfdba8b70c - languageName: node - linkType: hard - "buffer-from@npm:^1.0.0": version: 1.1.1 resolution: "buffer-from@npm:1.1.1" @@ -4622,7 +4607,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001135, caniuse-lite@npm:^1.0.30001165, caniuse-lite@npm:^1.0.30001173, caniuse-lite@npm:^1.0.30001179, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219": +"caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001135, caniuse-lite@npm:^1.0.30001165, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219, caniuse-lite@npm:^1.0.30001228": version: 1.0.30001228 resolution: "caniuse-lite@npm:1.0.30001228" checksum: d7ea2234d3ad1841dab6cd0b6ee16e89958f5893ef2e024a7447d6f889f496e40b6dafe000f391b8d4f0c0ef08671dbb5969fd66e6f74d402994865ce5705a53 @@ -5690,7 +5675,7 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.634, electron-to-chromium@npm:^1.3.723": +"electron-to-chromium@npm:^1.3.723": version: 1.3.728 resolution: "electron-to-chromium@npm:1.3.728" checksum: cce118349c60872ae6bb9f27effbf5052c7be708dc63c5dc19c07a1c617165ee3d1282afbb85461a40196e93c99cacda1e37f401cb5494a23f7b04e82d200daf @@ -6640,8 +6625,8 @@ fsevents@~2.3.1: "@types/koa-compress": ^4.0.1 "@types/koa-logger": ^3.1.1 "@types/koa__router": ^8.0.4 - "@types/lodash": ^4.14.169 - "@types/react": ^17.0.5 + "@types/lodash": ^4.14.170 + "@types/react": ^17.0.6 "@types/react-dom": ^17.0.5 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 @@ -6677,11 +6662,11 @@ fsevents@~2.3.1: koa-logger: ^3.2.1 koa-proxies: 0.12.1 lodash: ^4.17.21 - next: ^10.2.0 + next: ^10.2.2 next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 - postcss: ^8.2.15 + postcss: ^8.3.0 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 @@ -6702,14 +6687,14 @@ fsevents@~2.3.1: rollup: ^2.48.0 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 - sass: ^1.32.13 - stripe: ^8.148.0 + sass: ^1.33.0 + stripe: ^8.149.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 ua-parser-js: ^0.7.28 use-immer: ^0.5.2 - webpack: ^5.37.0 + webpack: ^5.37.1 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -8691,23 +8676,23 @@ fsevents@~2.3.1: languageName: node linkType: hard -"next@npm:^10.2.0": - version: 10.2.0 - resolution: "next@npm:10.2.0" +"next@npm:^10.2.2": + version: 10.2.2 + resolution: "next@npm:10.2.2" dependencies: "@babel/runtime": 7.12.5 - "@hapi/accept": 5.0.1 - "@next/env": 10.2.0 - "@next/polyfill-module": 10.2.0 - "@next/react-dev-overlay": 10.2.0 - "@next/react-refresh-utils": 10.2.0 + "@hapi/accept": 5.0.2 + "@next/env": 10.2.2 + "@next/polyfill-module": 10.2.2 + "@next/react-dev-overlay": 10.2.2 + "@next/react-refresh-utils": 10.2.2 "@opentelemetry/api": 0.14.0 assert: 2.0.0 ast-types: 0.13.2 browserify-zlib: 0.2.0 - browserslist: 4.16.1 + browserslist: 4.16.6 buffer: 5.6.0 - caniuse-lite: ^1.0.30001179 + caniuse-lite: ^1.0.30001228 chalk: 2.4.2 chokidar: 3.5.1 constants-browserify: 1.0.0 @@ -8760,7 +8745,7 @@ fsevents@~2.3.1: optional: true bin: next: dist/bin/next - checksum: 6b0800411a9b666c8300ebaea931ab04ff501655338395d67eb2bfcedbb8b360a06cc2582c562b3a4becb2ec1cfc217b15cdf995ed5fbab55e80bec0c13b7751 + checksum: c1d8f003f5072d6c41d6bde83b29be494960e0bb57d02c63d8961395d4b3771ae1626205804556752a9fb52cb031c31550631d117777d342705c58bba27a0da6 languageName: node linkType: hard @@ -8863,7 +8848,7 @@ fsevents@~2.3.1: languageName: node linkType: hard -"node-releases@npm:^1.1.69, node-releases@npm:^1.1.71": +"node-releases@npm:^1.1.71": version: 1.1.72 resolution: "node-releases@npm:1.1.72" checksum: 84dacd44e6595c76e3097b69051b24bf5c3bdb374efc9bef343200ffa183fce10a31ba1c763af51d897ba0f6d00cd1e10eb34a03146688ce4cb051f1d80c402b @@ -10066,14 +10051,14 @@ fsevents@~2.3.1: languageName: node linkType: hard -"postcss@npm:^8.2.15": - version: 8.2.15 - resolution: "postcss@npm:8.2.15" +"postcss@npm:^8.3.0": + version: 8.3.0 + resolution: "postcss@npm:8.3.0" dependencies: colorette: ^1.2.2 nanoid: ^3.1.23 - source-map: ^0.6.1 - checksum: 07c309e5318843cdbb240b19101c8c679e19cb88544811de921dd9125118d6c0603afe925da7f2ac928dd7d4c0c6380ccdedf032400af5013210a3f145baca5d + source-map-js: ^0.6.2 + checksum: 7786df62a605e6fc9380c1ee1e5ed177fbcdb3f3427ac6096ee0dbd9d80bdb8627d2e528d38d6f0fe850bb5668d4d46923eaf65dfd146e9b51fe770bf140d0ef languageName: node linkType: hard @@ -10959,14 +10944,14 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.32.13": - version: 1.32.13 - resolution: "sass@npm:1.32.13" +"sass@npm:^1.33.0": + version: 1.33.0 + resolution: "sass@npm:1.33.0" dependencies: chokidar: ">=3.0.0 <4.0.0" bin: sass: sass.js - checksum: 51b798280bd96c8e8d580592bcd40947075e9e55109bbc5e21037427ac2a78e58d3c3cf4b8b33ac9d592758376597d15cd28ddde1cda2885d19791d6321989d4 + checksum: 8987112d414977c74c3894e6dbb230fad7eeb7cb1bc0477de900066af91c58bc5ae09dc8f024889c4fd3a706c0a385cd624f822f753cdf076c66e75e8079302f languageName: node linkType: hard @@ -11228,6 +11213,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"source-map-js@npm:^0.6.2": + version: 0.6.2 + resolution: "source-map-js@npm:0.6.2" + checksum: 9c8151a29e00fd8d3ba87709fdf9a9ce48313d653f4a29a39b4ae53d346ac79e005de624796ff42eff55cbaf26d2e87f4466001ca87831d400d818c5cf146a0e + languageName: node + linkType: hard + "source-map-support@npm:~0.5.19": version: 0.5.19 resolution: "source-map-support@npm:0.5.19" @@ -11617,13 +11609,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.148.0": - version: 8.148.0 - resolution: "stripe@npm:8.148.0" +"stripe@npm:^8.149.0": + version: 8.149.0 + resolution: "stripe@npm:8.149.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: e1a767c1ee83165a6fae99c10568f35a57998e6a45ac2654e7e16f39e1807b7223bc12ffb4e8cd454bd6b4927417da137350422c7142feab8514cac689104773 + checksum: 457f691356ecd6a0dc58fe997b6d2dabde99fc4ebe50191dfe49fed60305b7a96e837adf780c8fea143fb4fe3218ef810835b8cf41dfca8c14dee22f539b0643 languageName: node linkType: hard @@ -12671,7 +12663,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5, webpack@npm:^5.37.0": +"webpack@npm:^5": version: 5.37.0 resolution: "webpack@npm:5.37.0" dependencies: @@ -12707,6 +12699,42 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack@npm:^5.37.1": + version: 5.37.1 + resolution: "webpack@npm:5.37.1" + dependencies: + "@types/eslint-scope": ^3.7.0 + "@types/estree": ^0.0.47 + "@webassemblyjs/ast": 1.11.0 + "@webassemblyjs/wasm-edit": 1.11.0 + "@webassemblyjs/wasm-parser": 1.11.0 + acorn: ^8.2.1 + browserslist: ^4.14.5 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.8.0 + es-module-lexer: ^0.4.0 + eslint-scope: ^5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.4 + json-parse-better-errors: ^1.0.2 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.0.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.1.1 + watchpack: ^2.0.0 + webpack-sources: ^2.1.1 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 572d3cd617bbccebbc98d9c312f8e166ddbd20620cb3e64f634bc65e08e58fa839bb2c4098960cd2172c10a0eb32f9e036860061dd03cbc9345bc424704610b8 + languageName: node + linkType: hard + "whatwg-url@npm:^7.0.0": version: 7.1.0 resolution: "whatwg-url@npm:7.1.0" From cfcfcc81925e0baa3ea62a012454f2cecdad141d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 17:57:01 +0000 Subject: [PATCH 003/300] refactor(ApiErrorBox): add improved error information --- src/components/MessageBox/ApiErrorBox.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/MessageBox/ApiErrorBox.js b/src/components/MessageBox/ApiErrorBox.js index 36340ed74..a1f20965b 100644 --- a/src/components/MessageBox/ApiErrorBox.js +++ b/src/components/MessageBox/ApiErrorBox.js @@ -27,8 +27,12 @@ function ApiErrorBox (props) { { error.id && ( <> - {', and include this error ID in your email: \n'} - {error.id} + {', and include this error information in your email: \n'} +
+                    {`"id": "${error.id}",\n`}
+                    {`"error": "${error.status}",\n`}
+                    {`"source": ${JSON.stringify(error.source, undefined, 2)}`}
+                  
) } From 3e66b0f88fad6dbec8ce4075132eaddae1876e79 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 17:58:18 +0000 Subject: [PATCH 004/300] refactor(fonts-scss): extract monospace fonts into a variable --- src/scss/_fonts.scss | 1 + src/scss/helpers/_text-format.scss | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scss/_fonts.scss b/src/scss/_fonts.scss index 50d3f7d60..590059e53 100644 --- a/src/scss/_fonts.scss +++ b/src/scss/_fonts.scss @@ -1,2 +1,3 @@ $paragraph-fonts: 'Open Sans', sans-serif; $title-fonts: 'Raleway', sans-serif; +$monospace-fonts: 'Operator Mono', 'SF Mono', 'Fira Code', 'Source Code Pro', menlo, monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', consolas, monospace, sans-serif; diff --git a/src/scss/helpers/_text-format.scss b/src/scss/helpers/_text-format.scss index 51c7d9600..9a5fdfcfa 100644 --- a/src/scss/helpers/_text-format.scss +++ b/src/scss/helpers/_text-format.scss @@ -39,5 +39,5 @@ } .text-mono { - font-family: 'Operator Mono', 'SF Mono', 'Fira Code', 'Source Code Pro', Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', Consolas, monospace, sans-serif; + font-family: $monospace-fonts; } From 545362af46b39da7793eb5a0eb5874079af4b404 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 17:59:24 +0000 Subject: [PATCH 005/300] feat(pre-scss): add more dark-mode friendly pre block styling --- src/scss/core/_pre.scss | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/scss/core/_pre.scss b/src/scss/core/_pre.scss index 6d4341287..a16787e53 100644 --- a/src/scss/core/_pre.scss +++ b/src/scss/core/_pre.scss @@ -1,12 +1,16 @@ pre { flex-shrink: 0; - margin-bottom: 2rem; - padding: 2rem; + margin-bottom: 1rem; + padding: 1rem 2rem; - background-color: $light-grey; + border-radius: 2px; - font-family: 'Source Code Pro', monospace; + background-color: rgba($grey, 0.15); + + font-family: $monospace-fonts; white-space: pre-wrap; box-sizing: initial; + + user-select: all; } From e3cba9d763ef71ed94b4bd12bb6d6dfeff871cfc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 21 May 2021 18:00:28 +0000 Subject: [PATCH 006/300] refactor(terms-dialog-scss): remove redundant css --- src/scss/components/_terms-dialog.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/scss/components/_terms-dialog.scss b/src/scss/components/_terms-dialog.scss index ecdbc723f..4a2484c22 100644 --- a/src/scss/components/_terms-dialog.scss +++ b/src/scss/components/_terms-dialog.scss @@ -10,9 +10,5 @@ background: rgba($white, 0.15); overflow: auto; - - pre { - background-color: rgba(0, 0, 0, 0.15); - } } } From 304ffae7620bf6b38ee076a236c9564c2e823821 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 24 May 2021 16:52:05 +0000 Subject: [PATCH 007/300] refactor(useForm-hook): ensure initialState never changes by always referencing internal state ref --- src/hooks/useForm/useForm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hooks/useForm/useForm.js b/src/hooks/useForm/useForm.js index 1228ee469..6d8cd80e9 100644 --- a/src/hooks/useForm/useForm.js +++ b/src/hooks/useForm/useForm.js @@ -28,8 +28,8 @@ export default function useForm (config = {}) { const [submitting, setSubmit] = useState(false) const [{ __init }, isValid, dispatchValidity] = useValidityReducer({ __init: false }) - const [stateDelta, dispatchDelta] = useDeltaReducer(initialState) - const [state, dispatchState] = useObjectReducer(initialState) + const [stateDelta, dispatchDelta] = useDeltaReducer(initialStateRef.current) + const [state, dispatchState] = useObjectReducer(initialStateRef.current) const validationMethods = useRef({}) const dispatchField = useCallback( From 1824cd45d5f199a510220dd930a816199f257046 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 24 May 2021 16:53:10 +0000 Subject: [PATCH 008/300] refactor: remove unnecessary Object.freeze() calls --- src/components/Forms/OAuthClientForm.js | 4 ++-- src/components/Forms/PasswordResetForm.js | 4 ++-- src/components/Forms/RegistrationForm/RegistrationForm.js | 4 ++-- src/components/LoginModal/LoginView.js | 4 ++-- src/components/LoginModal/ResetView.js | 4 ++-- src/pages/verify.js | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/Forms/OAuthClientForm.js b/src/components/Forms/OAuthClientForm.js index 084054ec4..4ff455ef5 100644 --- a/src/components/Forms/OAuthClientForm.js +++ b/src/components/Forms/OAuthClientForm.js @@ -9,13 +9,13 @@ import InputFieldset from '../Fieldsets/InputFieldset' // Component Constants -const data = Object.freeze({ +const data = { type: 'clients', attributes: { name: '', redirectUri: '', }, -}) +} diff --git a/src/components/Forms/PasswordResetForm.js b/src/components/Forms/PasswordResetForm.js index 3315876fd..743e1f965 100644 --- a/src/components/Forms/PasswordResetForm.js +++ b/src/components/Forms/PasswordResetForm.js @@ -17,12 +17,12 @@ const NewPasswordFieldset = dynamicNewPasswordFieldset(passwordFieldProps) -const data = Object.freeze({ +const data = { type: 'resets', attributes: { password: '', }, -}) +} function PasswordResetForm ({ onSubmit }) { const { Form, canSubmit, submitting } = useForm({ data, onSubmit }) diff --git a/src/components/Forms/RegistrationForm/RegistrationForm.js b/src/components/Forms/RegistrationForm/RegistrationForm.js index e5a289050..95b3b9b06 100644 --- a/src/components/Forms/RegistrationForm/RegistrationForm.js +++ b/src/components/Forms/RegistrationForm/RegistrationForm.js @@ -11,13 +11,13 @@ import useForm from '~/hooks/useForm' -const data = Object.freeze({ +const data = { type: 'registrations', attributes: {}, meta: { termsApproved: false, }, -}) +} const labels = { email: 'Email', diff --git a/src/components/LoginModal/LoginView.js b/src/components/LoginModal/LoginView.js index 4cbe0ee6b..7e8c49443 100644 --- a/src/components/LoginModal/LoginView.js +++ b/src/components/LoginModal/LoginView.js @@ -17,13 +17,13 @@ import styles from './LoginModal.module.scss' // Component Constants -const initialData = Object.freeze({ +const initialData = { remember: false, data: { password: '', username: '', }, -}) +} function LoginView () { const [{ formData: data, onClose }, setModalState] = useModalContext() diff --git a/src/components/LoginModal/ResetView.js b/src/components/LoginModal/ResetView.js index 84fef395c..fb911c196 100644 --- a/src/components/LoginModal/ResetView.js +++ b/src/components/LoginModal/ResetView.js @@ -16,12 +16,12 @@ import styles from './LoginModal.module.scss' // Component Constants -const data = Object.freeze({ +const data = { type: 'resets', attributes: { email: '', }, -}) +} diff --git a/src/pages/verify.js b/src/pages/verify.js index ff99b55b5..574ec51d6 100644 --- a/src/pages/verify.js +++ b/src/pages/verify.js @@ -19,10 +19,10 @@ import { selectCurrentUserHasScope } from '~/store/selectors' const RESET_SUCCESS_REDIRECT_WAIT = 6000 // 6 Seconds -const TokenType = Object.freeze({ +const TokenType = { RESET: 'reset', EMAIL: 'email', -}) +} From 07b03658e9658b437985b6b89809963c7f2bd99e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 24 May 2021 17:55:49 +0000 Subject: [PATCH 009/300] refactor: clean import statements in several files --- src/components/AddNicknameForm/AddNicknameForm.js | 4 ++-- .../ChangePasswordModal/ChangePasswordModal.js | 7 ++++--- .../DisableProfileModal/DisableProfileModal.js | 4 ++-- src/components/Fieldsets/TermsFieldset.js | 3 +-- src/components/Forms/OAuthClientForm.js | 3 +-- src/components/Forms/PasswordResetForm.js | 2 +- src/components/LoginModal/LoginModal.js | 3 +-- src/components/LoginModal/LoginView.js | 11 ++++++----- src/components/LoginModal/ResetView.js | 7 +++---- src/components/LoginModal/VerifyView.js | 5 ++--- src/components/Modal/index.js | 2 +- 11 files changed, 24 insertions(+), 27 deletions(-) diff --git a/src/components/AddNicknameForm/AddNicknameForm.js b/src/components/AddNicknameForm/AddNicknameForm.js index 99a357252..6c9089f77 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.js +++ b/src/components/AddNicknameForm/AddNicknameForm.js @@ -3,12 +3,12 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import React from 'react' +import InfoBubble from '~/components/infoBubble' +import ValidatedFormInput from '~/components/ValidatedFormInput' import { ircNickPattern } from '~/data/RegExpr' import { connect } from '~/store' import { selectUserById, withCurrentUserId } from '~/store/selectors' -import InfoBubble from '../infoBubble' -import ValidatedFormInput from '../ValidatedFormInput' import styles from './AddNicknameForm.module.scss' diff --git a/src/components/ChangePasswordModal/ChangePasswordModal.js b/src/components/ChangePasswordModal/ChangePasswordModal.js index 609d98986..d103d560c 100644 --- a/src/components/ChangePasswordModal/ChangePasswordModal.js +++ b/src/components/ChangePasswordModal/ChangePasswordModal.js @@ -2,14 +2,15 @@ import PropTypes from 'prop-types' import { useCallback, useMemo, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import dynamicNewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' +import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' +import asModal, { ModalContent, ModalFooter } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { changePassword } from '~/store/actions/authentication' import { selectCurrentUserId } from '~/store/selectors' -import dynamicNewPasswordFieldset from '../Fieldsets/NewPasswordFieldset' -import PasswordFieldset from '../Fieldsets/PasswordFieldset' -import asModal, { ModalContent, ModalFooter } from '../Modal' + import ChangePasswordMessageBox from './ChangePasswordMessageBox' // Component Constants diff --git a/src/components/DisableProfileModal/DisableProfileModal.js b/src/components/DisableProfileModal/DisableProfileModal.js index 09f74dfc8..2793bbb88 100644 --- a/src/components/DisableProfileModal/DisableProfileModal.js +++ b/src/components/DisableProfileModal/DisableProfileModal.js @@ -2,14 +2,14 @@ import Router from 'next/router' import { useCallback, useMemo, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' +import asModal, { FooterPrimary, ModalContent, ModalFooter } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { logout } from '~/store/actions/session' import { updateUser } from '~/store/actions/user' import { selectCurrentUserId } from '~/store/selectors' -import PasswordFieldset from '../Fieldsets/PasswordFieldset' -import asModal, { FooterPrimary, ModalContent, ModalFooter } from '../Modal' import DisableProfileErrorBox from './DisableProfileErrorBox' diff --git a/src/components/Fieldsets/TermsFieldset.js b/src/components/Fieldsets/TermsFieldset.js index 01cee88f6..0e254ad63 100644 --- a/src/components/Fieldsets/TermsFieldset.js +++ b/src/components/Fieldsets/TermsFieldset.js @@ -2,12 +2,11 @@ import Link from 'next/link' import { useState, useCallback, useEffect } from 'react' import { useStore } from 'react-redux' +import WordpressTermsModal from '~/components/TermsModal' import { useField } from '~/hooks/useForm' import { getWordpressPage } from '~/store/actions/wordpress' import { selectWordpressPageBySlug } from '~/store/selectors' -import WordpressTermsModal from '../TermsModal/TermsModal' - diff --git a/src/components/Forms/OAuthClientForm.js b/src/components/Forms/OAuthClientForm.js index 4ff455ef5..510dbb956 100644 --- a/src/components/Forms/OAuthClientForm.js +++ b/src/components/Forms/OAuthClientForm.js @@ -1,9 +1,8 @@ import PropTypes from 'prop-types' +import InputFieldset from '~/components/Fieldsets/InputFieldset' import useForm from '~/hooks/useForm' -import InputFieldset from '../Fieldsets/InputFieldset' - diff --git a/src/components/Forms/PasswordResetForm.js b/src/components/Forms/PasswordResetForm.js index 743e1f965..bfddd6dc5 100644 --- a/src/components/Forms/PasswordResetForm.js +++ b/src/components/Forms/PasswordResetForm.js @@ -1,6 +1,6 @@ +import dynamicNewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' import useForm from '~/hooks/useForm' -import dynamicNewPasswordFieldset from '../Fieldsets/NewPasswordFieldset' const passwordFieldProps = { diff --git a/src/components/LoginModal/LoginModal.js b/src/components/LoginModal/LoginModal.js index bda70c81d..9479056c7 100644 --- a/src/components/LoginModal/LoginModal.js +++ b/src/components/LoginModal/LoginModal.js @@ -1,9 +1,8 @@ +import asModal, { ModalContent, useModalContext } from '~/components/Modal' import { connect } from '~/store' import { setFlag } from '~/store/actions/flags' import { selectFlagByName } from '~/store/selectors' -import asModal, { ModalContent } from '../Modal' -import { useModalContext } from '../Modal/Modal' import styles from './LoginModal.module.scss' import LoginModalErrorBox from './LoginModalErrorBox' import LoginView from './LoginView' diff --git a/src/components/LoginModal/LoginView.js b/src/components/LoginModal/LoginView.js index 7e8c49443..dd780eb9e 100644 --- a/src/components/LoginModal/LoginView.js +++ b/src/components/LoginModal/LoginView.js @@ -2,20 +2,21 @@ import Router from 'next/router' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import EmailFieldset from '~/components/Fieldsets/EmailFieldset' +import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' +import SwitchFieldset from '~/components/Fieldsets/SwitchFieldset' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { login } from '~/store/actions/authentication' import { getUserProfile } from '~/store/actions/user' -import EmailFieldset from '../Fieldsets/EmailFieldset' -import PasswordFieldset from '../Fieldsets/PasswordFieldset' -import SwitchFieldset from '../Fieldsets/SwitchFieldset' -import { FooterPrimary, FooterSecondary, ModalFooter } from '../Modal' -import { useModalContext } from '../Modal/Modal' import styles from './LoginModal.module.scss' + + // Component Constants const initialData = { remember: false, diff --git a/src/components/LoginModal/ResetView.js b/src/components/LoginModal/ResetView.js index fb911c196..86a22fcc1 100644 --- a/src/components/LoginModal/ResetView.js +++ b/src/components/LoginModal/ResetView.js @@ -2,15 +2,14 @@ import PropTypes from 'prop-types' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import EmailFieldset from '~/components/Fieldsets/EmailFieldset' +import MessageBox from '~/components/MessageBox' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' import { sendPasswordResetEmail } from '~/store/actions/authentication' -import EmailFieldset from '../Fieldsets/EmailFieldset' -import MessageBox from '../MessageBox' -import { FooterPrimary, FooterSecondary, ModalFooter } from '../Modal' -import { useModalContext } from '../Modal/Modal' import styles from './LoginModal.module.scss' diff --git a/src/components/LoginModal/VerifyView.js b/src/components/LoginModal/VerifyView.js index 4b1497a50..e16d787ca 100644 --- a/src/components/LoginModal/VerifyView.js +++ b/src/components/LoginModal/VerifyView.js @@ -2,6 +2,8 @@ import PropTypes from 'prop-types' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import LoginTokenFieldset from '~/components/Fieldsets/LoginTokenFieldset' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' @@ -9,9 +11,6 @@ import useUnloadConfirmation from '~/hooks/useUnloadConfirmation' import { login } from '~/store/actions/authentication' import { getUserProfile } from '~/store/actions/user' -import LoginTokenFieldset from '../Fieldsets/LoginTokenFieldset' -import { FooterPrimary, FooterSecondary, ModalFooter } from '../Modal' -import { useModalContext } from '../Modal/Modal' import styles from './LoginModal.module.scss' diff --git a/src/components/Modal/index.js b/src/components/Modal/index.js index 925df282b..30e7e1726 100644 --- a/src/components/Modal/index.js +++ b/src/components/Modal/index.js @@ -1,4 +1,4 @@ -export { default } from './Modal' +export { default, useModalContext } from './Modal' export { default as ModalContent } from './ModalContent' export { default as ModalFooter, FooterPrimary, FooterSecondary } from './ModalFooter' From 9c22ef056d1b32d85e8a4417d0a11848469bbb2f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 25 May 2021 21:02:16 +0000 Subject: [PATCH 010/300] chore: add yarn install as a task in dev script --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4117b643..263674a69 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "build:server": "rollup --config", "build": "yarn build:server && yarn build:next", "start": "yarn node --inspect --harmony --trace-warnings dist/server.js", - "dev": "yarn build:server && yarn start", + "dev": "yarn install && yarn build:server && yarn start", "utoc": "doctoc $(grep --include=\\*.md --exclude-dir=node_modules -Rwl . -e 'START doctoc')", "eslint": "eslint .", "stylelint": "stylelint \"src/**/*.scss\"" From 376280a1e1d801f6f3b720d102202d7f6362bd68 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 1 Jun 2021 15:59:42 +0000 Subject: [PATCH 011/300] feat(ApiErrorBox): add title to error messages --- src/components/MessageBox/ApiErrorBox.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MessageBox/ApiErrorBox.js b/src/components/MessageBox/ApiErrorBox.js index a1f20965b..7c95f4123 100644 --- a/src/components/MessageBox/ApiErrorBox.js +++ b/src/components/MessageBox/ApiErrorBox.js @@ -18,7 +18,7 @@ function ApiErrorBox (props) { } return ( - + { renderError?.(error) ?? ( <> From 5e6d215a7e2e3d53e4762fe07390ce74a6d7c843 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 2 Jun 2021 13:20:58 +0000 Subject: [PATCH 012/300] feat(CurrencyFieldset): add fieldset for inputting currencies --- src/components/Fieldsets/CurrencyFieldset.js | 39 ++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/components/Fieldsets/CurrencyFieldset.js diff --git a/src/components/Fieldsets/CurrencyFieldset.js b/src/components/Fieldsets/CurrencyFieldset.js new file mode 100644 index 000000000..d68913590 --- /dev/null +++ b/src/components/Fieldsets/CurrencyFieldset.js @@ -0,0 +1,39 @@ +import { useCallback } from 'react' + +import InputFieldset from './InputFieldset' + + + + + +const currencyValidator = /^[0-9]{0,6}(\.[0-9]{0,2})?$/u + + + + + +export default function CurrencyFieldset (props) { + const { + onChange: parentChange, + ...inputProps + } = props + + const onChange = useCallback( + (event, value) => { + if (!value.match(currencyValidator)) { + event.preventDefault() + } + + parentChange(event, value) + }, + [parentChange], + ) + + return ( + + ) +} From c68dbc95cca2e38a5ceefe7afcb0f44df43b2ee3 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 2 Jun 2021 14:12:19 +0000 Subject: [PATCH 013/300] feat(DonationForm): add rewritten donation form --- .../Forms/DonationForm/DonationErrorBox.js | 61 +++++++++ .../Forms/DonationForm/DonationForm.js | 129 ++++++++++++++++++ src/components/Forms/DonationForm/index.js | 2 + 3 files changed, 192 insertions(+) create mode 100644 src/components/Forms/DonationForm/DonationErrorBox.js create mode 100644 src/components/Forms/DonationForm/DonationForm.js create mode 100644 src/components/Forms/DonationForm/index.js diff --git a/src/components/Forms/DonationForm/DonationErrorBox.js b/src/components/Forms/DonationForm/DonationErrorBox.js new file mode 100644 index 000000000..b27780ba9 --- /dev/null +++ b/src/components/Forms/DonationForm/DonationErrorBox.js @@ -0,0 +1,61 @@ +import { HttpStatus } from '@fuelrats/web-util/http' +import PropTypes from 'prop-types' + +import ApiErrorBox from '~/components/MessageBox/ApiErrorBox' + + + + + +const renderError = (error) => { + switch (error.code) { + case HttpStatus.UNAUTHORIZED: + return 'You have been restricted from this service due to suspected fraud.' + + default: + return error.detail + } +} + + + + + +function RegistrationErrorBox (props) { + const { error } = props + + if (!error) { + return null + } + + return ( + + {'If you believe this is an error, Please appeal via email: '} + {'ops@fuelrats.com'} + + ) + : ( + <> + {'If the problem persists, please contact a techrat via email: '} + {'support@fuelrats.com'} + + ) + } + renderError={renderError} /> + ) +} + +RegistrationErrorBox.propTypes = { + error: PropTypes.object, +} + + + + + +export default RegistrationErrorBox diff --git a/src/components/Forms/DonationForm/DonationForm.js b/src/components/Forms/DonationForm/DonationForm.js new file mode 100644 index 000000000..a9b893dd9 --- /dev/null +++ b/src/components/Forms/DonationForm/DonationForm.js @@ -0,0 +1,129 @@ +import PropTypes from 'prop-types' +import { useMemo } from 'react' + +import InputFieldset from '~/components/Fieldsets/InputFieldset' +import RadioFieldset from '~/components/Fieldsets/RadioFieldset' +import StripeBadge from '~/components/StripeBadge' +import getMoney from '~/helpers/getMoney' +import useForm from '~/hooks/useForm' + + + + + +// Component Constants +const data = { + currency: '', + amountPreset: 0, + amount: undefined, +} + +const currencyOptions = [ + { + value: 'EUR', + label: '€ EUR', + title: 'Euro', + }, + { + value: 'GBP', + label: '£ GBP', + title: 'Great British Pounds', + }, + { + value: 'USD', + label: '$ USD', + title: 'United States Dollars', + }, +] + + + + + +function DonationForm (props) { + const { + className, + onSubmit, + } = props + + const { Form, canSubmit, state } = useForm({ data, onSubmit }) + + const amountOptions = useMemo(() => { + const [prefix] = (0).toLocaleString('en-US', { style: 'currency', currency: state.currency }) + return [ + { + value: 'one', + label: `${prefix}1.00`, + }, + { + value: 'five', + label: `${prefix}5.00`, + }, + { + value: 'ten', + label: `${prefix}10.00`, + }, + { + value: 'twenty', + label: `${prefix}20.00`, + }, + { + value: 'custom', + label: 'Custom Amount', + }, + ] + }, [state.currency]) + + const finalAmount = getMoney(state.amount * 100, state.currency) + + return ( +
+ + + + + { + state.amountPreset === 'custom' && ( + + ) + } + +
+ +
+ + + + ) +} + +DonationForm.propTypes = { + className: PropTypes.string, + onSubmit: PropTypes.func.isRequired, +} + + + + + +export default DonationForm diff --git a/src/components/Forms/DonationForm/index.js b/src/components/Forms/DonationForm/index.js new file mode 100644 index 000000000..59b408d13 --- /dev/null +++ b/src/components/Forms/DonationForm/index.js @@ -0,0 +1,2 @@ +export { default } from './DonationForm' +export { default as DonationErrorBox } from './DonationErrorBox' From 3da29d79a396eb06b10171e8e4c63ef52229b1e4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 3 Jun 2021 17:06:12 +0000 Subject: [PATCH 014/300] refactor(MessageBox): use small tag for footer text --- src/components/MessageBox/MessageBox.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/MessageBox/MessageBox.js b/src/components/MessageBox/MessageBox.js index 409bdbbee..f25d58e34 100644 --- a/src/components/MessageBox/MessageBox.js +++ b/src/components/MessageBox/MessageBox.js @@ -46,9 +46,9 @@ function MessageBox (props) { { footer && ( - + {footer} - + ) } From c6f40f291168a415219abe1d5c4a8bee632e0712 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 16:43:41 +0000 Subject: [PATCH 015/300] refactor(CurrencyFieldset): move component to form since it's a local component --- .../{Fieldsets => Forms/DonationForm}/CurrencyFieldset.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/components/{Fieldsets => Forms/DonationForm}/CurrencyFieldset.js (84%) diff --git a/src/components/Fieldsets/CurrencyFieldset.js b/src/components/Forms/DonationForm/CurrencyFieldset.js similarity index 84% rename from src/components/Fieldsets/CurrencyFieldset.js rename to src/components/Forms/DonationForm/CurrencyFieldset.js index d68913590..a1c0d6396 100644 --- a/src/components/Fieldsets/CurrencyFieldset.js +++ b/src/components/Forms/DonationForm/CurrencyFieldset.js @@ -1,6 +1,6 @@ import { useCallback } from 'react' -import InputFieldset from './InputFieldset' +import InputFieldset from '~/components/Fieldsets/InputFieldset' @@ -24,7 +24,7 @@ export default function CurrencyFieldset (props) { event.preventDefault() } - parentChange(event, value) + parentChange?.(event, value) }, [parentChange], ) From fb85559ccab1be68db77802be2330e2c3a52fc25 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 16:53:25 +0000 Subject: [PATCH 016/300] feat(DonationForm): finalize donation form code --- .../DonationForm/AmountPresetRadioFieldset.js | 41 ++++ .../DonationForm/CurrencyRadioFieldset.js | 35 +++ .../Forms/DonationForm/DonationForm.js | 216 ++++++++++-------- 3 files changed, 203 insertions(+), 89 deletions(-) create mode 100644 src/components/Forms/DonationForm/AmountPresetRadioFieldset.js create mode 100644 src/components/Forms/DonationForm/CurrencyRadioFieldset.js diff --git a/src/components/Forms/DonationForm/AmountPresetRadioFieldset.js b/src/components/Forms/DonationForm/AmountPresetRadioFieldset.js new file mode 100644 index 000000000..314709f9e --- /dev/null +++ b/src/components/Forms/DonationForm/AmountPresetRadioFieldset.js @@ -0,0 +1,41 @@ +import { useMemo } from 'react' + +import RadioFieldset from '~/components/Fieldsets/RadioFieldset' + + + + + +export default function AmountPresetRadioFieldset ({ currency, ...restProps }) { + const amountOptions = useMemo(() => { + const [prefix] = (0).toLocaleString('en-US', { style: 'currency', currency }) + return [ + { + value: 'one', + label: `${prefix}1.00`, + }, + { + value: 'five', + label: `${prefix}5.00`, + }, + { + value: 'ten', + label: `${prefix}10.00`, + }, + { + value: 'twenty', + label: `${prefix}20.00`, + }, + { + value: 'custom', + label: 'Custom Amount', + }, + ] + }, [currency]) ?? [] + + return ( + + ) +} diff --git a/src/components/Forms/DonationForm/CurrencyRadioFieldset.js b/src/components/Forms/DonationForm/CurrencyRadioFieldset.js new file mode 100644 index 000000000..2ee482bb7 --- /dev/null +++ b/src/components/Forms/DonationForm/CurrencyRadioFieldset.js @@ -0,0 +1,35 @@ +import RadioFieldset from '~/components/Fieldsets/RadioFieldset' + + + + + +const currencyOptions = [ + { + value: 'EUR', + label: '€ EUR', + title: 'Euro', + }, + { + value: 'GBP', + label: '£ GBP', + title: 'Great British Pounds', + }, + { + value: 'USD', + label: '$ USD', + title: 'United States Dollars', + }, +] + + + + + +export default function CurrencyRadioFieldset (props) { + return ( + + ) +} diff --git a/src/components/Forms/DonationForm/DonationForm.js b/src/components/Forms/DonationForm/DonationForm.js index a9b893dd9..20c7fe0a9 100644 --- a/src/components/Forms/DonationForm/DonationForm.js +++ b/src/components/Forms/DonationForm/DonationForm.js @@ -1,40 +1,73 @@ import PropTypes from 'prop-types' -import { useMemo } from 'react' +import { useCallback, useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' -import InputFieldset from '~/components/Fieldsets/InputFieldset' -import RadioFieldset from '~/components/Fieldsets/RadioFieldset' import StripeBadge from '~/components/StripeBadge' +import getFingerprint from '~/helpers/getFingerprint' import getMoney from '~/helpers/getMoney' +import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' +import { createDonationSession } from '~/store/actions/stripe' +import { selectUserById, withCurrentUserId } from '~/store/selectors' + +import { DonationErrorBox } from '.' +import AmountPresetRadioFieldset from './AmountPresetRadioFieldset' +import CurrencyFieldset from './CurrencyFieldset' +import CurrencyRadioFieldset from './CurrencyRadioFieldset' // Component Constants -const data = { +const formData = { currency: '', amountPreset: 0, amount: undefined, } -const currencyOptions = [ - { - value: 'EUR', - label: '€ EUR', - title: 'Euro', - }, - { - value: 'GBP', - label: '£ GBP', - title: 'Great British Pounds', - }, - { - value: 'USD', - label: '$ USD', - title: 'United States Dollars', - }, -] +const presetAmounts = { + one: 100, + five: 500, + ten: 1000, + twenty: 2000, +} + + + + + +const getAmount = (amountPreset, amount) => { + return presetAmounts[amountPreset] ?? (amount * 100) +} + +const preparePayload = async (data, user) => { + const fingerprint = await getFingerprint() + + const { + currency, + amount, + amountPreset, + } = data + + const sessionData = { + currency, + amount: getAmount(amountPreset, amount), + fingerprint, + } + + if (user) { + const { email, stripeId } = user.attributes + + if (stripeId) { + sessionData.customer = stripeId + } else { + sessionData.email = email + } + } + + return sessionData +} @@ -43,83 +76,88 @@ const currencyOptions = [ function DonationForm (props) { const { className, - onSubmit, + stripe, } = props - const { Form, canSubmit, state } = useForm({ data, onSubmit }) - - const amountOptions = useMemo(() => { - const [prefix] = (0).toLocaleString('en-US', { style: 'currency', currency: state.currency }) - return [ - { - value: 'one', - label: `${prefix}1.00`, - }, - { - value: 'five', - label: `${prefix}5.00`, - }, - { - value: 'ten', - label: `${prefix}10.00`, - }, - { - value: 'twenty', - label: `${prefix}20.00`, - }, - { - value: 'custom', - label: 'Custom Amount', - }, - ] - }, [state.currency]) - - const finalAmount = getMoney(state.amount * 100, state.currency) + const [errorState, setErrorState] = useState() + const currentUser = useSelector(withCurrentUserId(selectUserById)) + + const dispatch = useDispatch() + + const onSubmit = useCallback(async (data) => { + const sessionData = await preparePayload(data, currentUser) + + const response = await dispatch(createDonationSession(sessionData)) + const resError = getResponseError(response) + if (resError) { + setErrorState(resError) + return + } + + try { + await stripe.redirectToCheckout({ sessionId: response.payload.data.id }) + } catch (redirectError) { + setErrorState({ + detail: redirectError.message, + }) + } + }, [currentUser, dispatch, stripe]) + + const { Form, canSubmit, state } = useForm({ data: formData, onSubmit }) + + + + const finalAmount = canSubmit && getMoney(getAmount(state.amountPreset, state.amount), state.currency) return ( -
- - - - - { - state.amountPreset === 'custom' && ( - - ) - } - -
- -
- - - + <> + +
+ + + { + state.currency !== '' && ( + + ) + } + { + state.amountPreset === 'custom' && ( + + ) + } + +
+ +
+ + + + ) } DonationForm.propTypes = { className: PropTypes.string, - onSubmit: PropTypes.func.isRequired, + stripe: PropTypes.object.isRequired, } From 4d7d16e33c543680e0224eea47ca098e2d4c9633 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 17:01:04 +0000 Subject: [PATCH 017/300] refactor(donate-page): use new donation form --- src/pages/donate/index.js | 10 +++------- src/scss/components/_donate-form.scss | 2 ++ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/pages/donate/index.js b/src/pages/donate/index.js index dec9893a3..066d2f9a8 100644 --- a/src/pages/donate/index.js +++ b/src/pages/donate/index.js @@ -1,15 +1,11 @@ import { withStripe } from '~/components/AppLayout' -import DonateForm from '~/components/DonateForm' +import DonationForm from '~/components/Forms/DonationForm/DonationForm' -function Donate (props) { - const { - stripe, - } = props - +function Donate ({ stripe }) { return (
@@ -20,7 +16,7 @@ function Donate (props) { {'Donations are processed via stripe. Any questions may be directed to '} {'support@fuelrats.com'}
- +
) } diff --git a/src/scss/components/_donate-form.scss b/src/scss/components/_donate-form.scss index 72b7d8a73..e14adec31 100644 --- a/src/scss/components/_donate-form.scss +++ b/src/scss/components/_donate-form.scss @@ -6,6 +6,8 @@ border: 1px solid $black; input[type='text'] { + padding-right: 3.75rem; + text-align: right; } From 42e4ac97e09aa57c741f94f0ac7ff120e351711e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 17:01:43 +0000 Subject: [PATCH 018/300] chore: redirect /donate/cancel back to donation form for now --- next.config.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/next.config.js b/next.config.js index 1e0de7ee1..f0e002b59 100644 --- a/next.config.js +++ b/next.config.js @@ -69,6 +69,14 @@ module.exports = { future: { webpack5: true, }, + redirects: () => { + return [ + { + source: '/donate/cancel', + destination: '/donate', + }, + ] + }, webpack: (config, opt) => { /* Define Plugin */ config.plugins.push(new DefinePlugin({ From 08af9e41054e0855ec1c86fd5d5396f96f66fcb1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 17:09:03 +0000 Subject: [PATCH 019/300] fix(DonationForm): don't require stripe object since it won't exist on page load --- src/components/Forms/DonationForm/DonationForm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Forms/DonationForm/DonationForm.js b/src/components/Forms/DonationForm/DonationForm.js index 20c7fe0a9..9e14f18cb 100644 --- a/src/components/Forms/DonationForm/DonationForm.js +++ b/src/components/Forms/DonationForm/DonationForm.js @@ -157,7 +157,7 @@ function DonationForm (props) { DonationForm.propTypes = { className: PropTypes.string, - stripe: PropTypes.object.isRequired, + stripe: PropTypes.object, } From e85e95f9e967643d2a52ded5a83ea5a050f37c7a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 17:09:46 +0000 Subject: [PATCH 020/300] chore: remove old unused donate form --- src/components/DonateForm.js | 363 ----------------------------------- 1 file changed, 363 deletions(-) delete mode 100644 src/components/DonateForm.js diff --git a/src/components/DonateForm.js b/src/components/DonateForm.js deleted file mode 100644 index 7081d1cd4..000000000 --- a/src/components/DonateForm.js +++ /dev/null @@ -1,363 +0,0 @@ -import { HttpStatus } from '@fuelrats/web-util/http' -import { isError } from 'flux-standard-action' -import { produce } from 'immer' -import PropTypes from 'prop-types' -import React from 'react' -import { createStructuredSelector } from 'reselect' - -import getFingerprint from '~/helpers/getFingerprint' -import getMoney from '~/helpers/getMoney' -import { connect } from '~/store' -import { withCurrentUserId, selectUserById } from '~/store/selectors' - -import RadioInput from './RadioInput' -import StripeBadge from './StripeBadge' - - - - - -const presetAmounts = { - one: 1.00, - five: 5.00, - ten: 10.00, - twenty: 20.00, - custom: '', -} - -const currencyValidator = /^[0-9]{0,6}(\.[0-9]{0,2})?$/u - -const currencyOptions = [ - { - value: 'eur', - label: '€ EUR', - title: 'Euro', - }, - { - value: 'gbp', - label: '£ GBP', - title: 'Great British Pounds', - }, - { - value: 'usd', - label: '$ USD', - title: 'United States Dollars', - }, -] - -const amountOptions = (prefix) => { - return [ - { - value: 'one', - label: `${prefix}1.00`, - }, - { - value: 'five', - label: `${prefix}5.00`, - }, - { - value: 'ten', - label: `${prefix}10.00`, - }, - { - value: 'twenty', - label: `${prefix}20.00`, - }, - { - value: 'custom', - label: 'Custom Amount', - }, - ] -} - - - - - -@connect -class DonateForm extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = { - amount: 0, - amountType: '', - currency: '', - error: null, - submitting: false, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleFieldChange = ({ target }) => { - this.setState(produce((draftState) => { - const { name } = target - const { value } = target - - if (name === 'amount' && !value.match(currencyValidator)) { - return - } - - if (name === 'amountType') { - draftState.amount = presetAmounts[value] - } - - draftState[name] = value.replace(/^0+/u, '') - })) - } - - _handleSubmit = async (event) => { - event.preventDefault() - if (!this.canSubmit) { - return - } - - this.setState({ error: false, submitting: true }) - - const { - createDonationSession, - stripe, - user, - } = this.props - - const { - currency, - } = this.state - - const fingerprint = await getFingerprint() - - const sessionData = { - amount: this.stripeAmount, - currency, - fingerprint, - } - - if (user) { - const { email, stripeId } = user.attributes - - if (stripeId) { - sessionData.customer = stripeId - } else { - sessionData.email = email - } - } - - const response = await createDonationSession(sessionData) - - if (isError(response)) { - this.setState({ - error: response.payload?.errors?.[0] ?? true, - submitting: false, - }) - return - } - - try { - await stripe.redirectToCheckout({ sessionId: response.payload.data.id }) - } catch (error) { - this.setState({ - error: { - detail: error.message, - }, - submitting: false, - }) - } - - this.setState({ submitting: false }) - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - renderError () { - const { error } = this.state - return ( -
-
-
{error.title ?? 'Unknown Error'}
- {error.detail} -
- - { - error.code === HttpStatus.UNAUTHORIZED - ? ( - <> - {'If you believe this is an error, Please appeal via email: '} - {'ops@fuelrats.com'} - - ) - : ( - <> - {'If the problem persists, please contact a techrat via email: '} - {'support@fuelrats.com'} - - ) - } - - -
-
- ) - } - - - render () { - const { - amount, - amountType, - currency, - error, - submitting, - } = this.state - - const { currencySymbol } = this - - return ( - <> - {!submitting && error && this.renderError()} -
-
- - - -
- -
- - - -
- - { - amountType === 'custom' && ( -
- - - -
- ) - } - -
- -
- - - - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - get canSubmit () { - const { stripe } = this.props - const { - amount, - currency, - } = this.state - - return Boolean( - stripe - && amount - && amount >= 1 - && currency, - ) - } - - get stripeAmount () { - return this.state.amount * 100 - } - - get currencySymbol () { - switch (this.state.currency) { - case 'gbp': - return '£' - - case 'usd': - return '$' - - default: - return '€' - } - } - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['createDonationSession'] - - static mapStateToProps = createStructuredSelector({ - user: withCurrentUserId(selectUserById), - }) - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - stripe: null, - } - - static propTypes = { - createDonationSession: PropTypes.func, - stripe: PropTypes.object, - user: PropTypes.object, - } -} - - - - - -export default DonateForm From 19176a89b1c1de40314b267b2de9fb2cf5fa6117 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 4 Jun 2021 17:14:01 +0000 Subject: [PATCH 021/300] refactor(RatCard): update label with better wording "Owns Odyssey" vs. "Using Odyssey" --- src/components/RatCard/RatCard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 6f480b88e..d7dce7dee 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -226,7 +226,7 @@ class RatCard extends React.Component { ) From 530301b83d61df9bce613de5cf8fee8aad17a56a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 7 Jun 2021 22:00:37 +0000 Subject: [PATCH 022/300] chore: restructure and fill out package.json entries --- package.json | 128 +++++++++++++++++++++++++++------------------------ 1 file changed, 68 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 263674a69..e798dea59 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,16 @@ "name": "fuelrats.com", "version": "2.13.1", "description": "The primary website of The Fuel Rats!", - "main": "dist/server.js", + "homepage": "https://fuelrats.com/", + "bugs": { + "email": "support@fuelrats.com" + }, "license": "BSD-3-Clause", - "engines": { - "node": "^14.0.0" + "main": "dist/server.js", + "repository": { + "type": "git", + "url": "https://github.com/fuelrats/fuelrats.com" }, - "engineStrict": true, "scripts": { "add-contributor": "all-contributors add", "build:next": "next build", @@ -19,6 +23,62 @@ "eslint": "eslint .", "stylelint": "stylelint \"src/**/*.scss\"" }, + "dependencies": { + "@fingerprintjs/fingerprintjs": "^3.1.2", + "@fortawesome/fontawesome-svg-core": "^1.2.35", + "@fortawesome/free-brands-svg-icons": "^5.15.3", + "@fortawesome/free-solid-svg-icons": "^5.15.3", + "@fortawesome/react-fontawesome": "^0.1.14", + "@fuelrats/koa-adorable-avatars": "^0.1.2", + "@fuelrats/validation-util": "^1.2.0", + "@fuelrats/web-util": "^0.3.2", + "@koa/router": "^10.0.0", + "axios": "^0.21.1", + "clsx": "^1.1.1", + "content-security-policy-builder": "^2.1.0", + "date-fns": "^2.21.3", + "date-fns-tz": "^1.1.4", + "dotenv": "^9.0.2", + "flux-standard-action": "^2.1.1", + "framer-motion": "^4.1.17", + "hoist-non-react-statics": "^3.3.2", + "immer": "^9.0.2", + "ip6addr": "^0.2.3", + "js-cookie": "^2.2.1", + "jsonfile": "^6.1.0", + "koa": "^2.13.1", + "koa-body": "^4.2.0", + "koa-compress": "^5.0.1", + "koa-logger": "^3.2.1", + "koa-proxies": "0.12.1", + "lodash": "^4.17.21", + "next": "^10.2.2", + "next-cookies": "^2.0.3", + "next-redux-wrapper": "5.0.0", + "nprogress": "^0.2.0", + "postcss": "^8.3.0", + "postcss-easy-import": "^3.0.0", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-preset-env": "^6.7.0", + "prop-types": "^15.7.2", + "pure-uuid": "^1.6.2", + "qs": "^6.10.1", + "re-reselect": "^4.0.0", + "react": "^17.0.2", + "react-copy-to-clipboard": "^5.0.3", + "react-dom": "^17.0.2", + "react-redux": "^7.2.4", + "react-table-6": "^6.11.0", + "redux": "^4.1.0", + "redux-devtools-extension": "^2.13.9", + "redux-immutable-state-invariant": "^2.1.0", + "redux-thunk": "^2.3.0", + "reselect": "^4.0.0", + "stripe": "^8.149.0", + "ua-parser-js": "^0.7.28", + "use-immer": "^0.5.2", + "zxcvbn": "^4.4.2" + }, "devDependencies": { "@babel/core": "^7.14.3", "@babel/eslint-parser": "^7.14.3", @@ -81,60 +141,8 @@ "webpack": "^5.37.1", "worker-loader": "^3.0.8" }, - "dependencies": { - "@fingerprintjs/fingerprintjs": "^3.1.2", - "@fortawesome/fontawesome-svg-core": "^1.2.35", - "@fortawesome/free-brands-svg-icons": "^5.15.3", - "@fortawesome/free-solid-svg-icons": "^5.15.3", - "@fortawesome/react-fontawesome": "^0.1.14", - "@fuelrats/koa-adorable-avatars": "^0.1.2", - "@fuelrats/validation-util": "^1.2.0", - "@fuelrats/web-util": "^0.3.2", - "@koa/router": "^10.0.0", - "axios": "^0.21.1", - "clsx": "^1.1.1", - "content-security-policy-builder": "^2.1.0", - "date-fns": "^2.21.3", - "date-fns-tz": "^1.1.4", - "dotenv": "^9.0.2", - "flux-standard-action": "^2.1.1", - "framer-motion": "^4.1.17", - "hoist-non-react-statics": "^3.3.2", - "immer": "^9.0.2", - "ip6addr": "^0.2.3", - "js-cookie": "^2.2.1", - "jsonfile": "^6.1.0", - "koa": "^2.13.1", - "koa-body": "^4.2.0", - "koa-compress": "^5.0.1", - "koa-logger": "^3.2.1", - "koa-proxies": "0.12.1", - "lodash": "^4.17.21", - "next": "^10.2.2", - "next-cookies": "^2.0.3", - "next-redux-wrapper": "5.0.0", - "nprogress": "^0.2.0", - "postcss": "^8.3.0", - "postcss-easy-import": "^3.0.0", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-preset-env": "^6.7.0", - "prop-types": "^15.7.2", - "pure-uuid": "^1.6.2", - "qs": "^6.10.1", - "re-reselect": "^4.0.0", - "react": "^17.0.2", - "react-copy-to-clipboard": "^5.0.3", - "react-dom": "^17.0.2", - "react-redux": "^7.2.4", - "react-table-6": "^6.11.0", - "redux": "^4.1.0", - "redux-devtools-extension": "^2.13.9", - "redux-immutable-state-invariant": "^2.1.0", - "redux-thunk": "^2.3.0", - "reselect": "^4.0.0", - "stripe": "^8.149.0", - "ua-parser-js": "^0.7.28", - "use-immer": "^0.5.2", - "zxcvbn": "^4.4.2" - } + "engines": { + "node": "^14.0.0" + }, + "engineStrict": true } From ebc776003f670053a61fd07731d506d3e2195872 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 7 Jun 2021 22:07:07 +0000 Subject: [PATCH 023/300] chore: update deps --- package.json | 34 +-- yarn.lock | 641 ++++++++++++++++++++++++++++++--------------------- 2 files changed, 396 insertions(+), 279 deletions(-) diff --git a/package.json b/package.json index e798dea59..d3c69c13b 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,9 @@ "axios": "^0.21.1", "clsx": "^1.1.1", "content-security-policy-builder": "^2.1.0", - "date-fns": "^2.21.3", + "date-fns": "^2.22.1", "date-fns-tz": "^1.1.4", - "dotenv": "^9.0.2", + "dotenv": "^10.0.0", "flux-standard-action": "^2.1.1", "framer-motion": "^4.1.17", "hoist-non-react-statics": "^3.3.2", @@ -52,7 +52,7 @@ "koa-logger": "^3.2.1", "koa-proxies": "0.12.1", "lodash": "^4.17.21", - "next": "^10.2.2", + "next": "^10.2.3", "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", @@ -74,14 +74,14 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.149.0", + "stripe": "^8.153.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.5.2", "zxcvbn": "^4.4.2" }, "devDependencies": { "@babel/core": "^7.14.3", - "@babel/eslint-parser": "^7.14.3", + "@babel/eslint-parser": "^7.14.4", "@babel/eslint-plugin": "^7.13.16", "@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-decorators": "^7.14.2", @@ -94,7 +94,7 @@ "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", "@babel/plugin-proposal-throw-expressions": "^7.12.13", "@babel/plugin-transform-strict-mode": "^7.12.13", - "@babel/preset-env": "^7.14.2", + "@babel/preset-env": "^7.14.4", "@babel/runtime": "^7.14.0", "@fuelrats/babel-plugin-classnames": "^0.3.0", "@fuelrats/eslint-config": "^2.3.0", @@ -109,36 +109,36 @@ "@types/ip6addr": "^0.2.2", "@types/js-cookie": "^2.2.6", "@types/jsonfile": "^6.0.0", - "@types/koa": "^2.13.1", + "@types/koa": "^2.13.3", "@types/koa-compress": "^4.0.1", "@types/koa-logger": "^3.1.1", "@types/koa__router": "^8.0.4", "@types/lodash": "^4.14.170", - "@types/react": "^17.0.6", - "@types/react-dom": "^17.0.5", + "@types/react": "^17.0.9", + "@types/react-dom": "^17.0.6", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", "@types/zxcvbn": "^4.4.1", "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", - "doctoc": "^2.0.0", - "eslint": "^7.26.0", + "doctoc": "^2.0.1", + "eslint": "^7.28.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", - "eslint-plugin-import": "^2.23.2", - "eslint-plugin-jsdoc": "30.5.2", + "eslint-plugin-import": "^2.23.4", + "eslint-plugin-jsdoc": "^35.1.3", "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.23.2", + "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.48.0", + "rollup": "^2.51.0", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", - "sass": "^1.33.0", + "sass": "^1.34.1", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.37.1", + "webpack": "^5.38.1", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 4d5264f85..b6783a3fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,13 +39,20 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15, @babel/compat-data@npm:^7.14.0": +"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15": version: 7.14.0 resolution: "@babel/compat-data@npm:7.14.0" checksum: 24a9ce6d2588ad9e5d07450bf47178c2dea97b51f1f2b1a37c2aa4d04e6413b91b3c8b2be2b97275244d2353560a9a99d1209c4ac0a995ff6b2d6fa747d96883 languageName: node linkType: hard +"@babel/compat-data@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/compat-data@npm:7.14.4" + checksum: 38f6388bb564c24878124120dc1684e290405c0c1c3698a3569a3e19ce732a64cd799186df4e51ec37dc4d6e93fa82f61fe1751d0326399ba061e914f36416ad + languageName: node + linkType: hard + "@babel/core@npm:7.14.3, @babel/core@npm:^7.14.3": version: 7.14.3 resolution: "@babel/core@npm:7.14.3" @@ -93,9 +100,9 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.14.3": - version: 7.14.3 - resolution: "@babel/eslint-parser@npm:7.14.3" +"@babel/eslint-parser@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/eslint-parser@npm:7.14.4" dependencies: eslint-scope: ^5.1.0 eslint-visitor-keys: ^2.1.0 @@ -103,7 +110,7 @@ __metadata: peerDependencies: "@babel/core": ">=7.11.0" eslint: ">=7.5.0" - checksum: a171046cc297bd3fb94f7a40bdf6b6fee9e3bfa61927dc06c9a78dc780012a9b841df4e3a9600df7f89fd2bc2bb00fce20873b3d1887b4a4bb90c5da79cb4b5e + checksum: 7726ffdc8d81fb8cd3f271343556ab1706991f8f3faa26ccec3e8825dfb775e8d67a5f7f0a9aab7489dba2b0dd31f771a7763784d9c71f66b52ad27eed719e40 languageName: node linkType: hard @@ -248,6 +255,20 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/helper-compilation-targets@npm:7.14.4" + dependencies: + "@babel/compat-data": ^7.14.4 + "@babel/helper-validator-option": ^7.12.17 + browserslist: ^4.16.6 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 0a6a3215d6aad027eee73c3ac5ec8ad353b493e8b3c4f27589528ffd3c53277fd5f5b8beaf5f23d68770f72b132d9f34f00d1a2141df692b31bb8bd124154704 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-create-class-features-plugin@npm:7.12.1" @@ -279,6 +300,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.14.3": + version: 7.14.4 + resolution: "@babel/helper-create-class-features-plugin@npm:7.14.4" + dependencies: + "@babel/helper-annotate-as-pure": ^7.12.13 + "@babel/helper-function-name": ^7.14.2 + "@babel/helper-member-expression-to-functions": ^7.13.12 + "@babel/helper-optimise-call-expression": ^7.12.13 + "@babel/helper-replace-supers": ^7.14.4 + "@babel/helper-split-export-declaration": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 83dd1241dad05d2989cece474410b01c962ba2c20c9156fcde46b7fb2cb14fc074dc432a6f75e55a0d1ff4203c12162a46a42ed51a7af78f1dfc5af2467e6456 + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.1" @@ -575,6 +612,18 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/helper-replace-supers@npm:7.14.4" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.13.12 + "@babel/helper-optimise-call-expression": ^7.12.13 + "@babel/traverse": ^7.14.2 + "@babel/types": ^7.14.4 + checksum: 017dc1af598654b78c75a82310a6fa399d678feee0e9e7931b7728111381420443395faca92b0a4adec2ea7bec5ccfc91d595ddf39f3159f1a5c1962abb612d8 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-simple-access@npm:7.12.1" @@ -813,15 +862,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-static-block@npm:^7.13.11": - version: 7.13.11 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.13.11" +"@babel/plugin-proposal-class-static-block@npm:^7.14.3": + version: 7.14.3 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.14.3" dependencies: + "@babel/helper-create-class-features-plugin": ^7.14.3 "@babel/helper-plugin-utils": ^7.13.0 "@babel/plugin-syntax-class-static-block": ^7.12.13 peerDependencies: "@babel/core": ^7.12.0 - checksum: 4760d5966d1b84881529c457a4fcfe8e24aa6207dd39736c0c70ce16262473bd111834edbe4f89287d5aa23d59342a84c7f659e22d8b2a89df199a96ad74cbde + checksum: 9be3eb5f43f1ac920898aa21004bb4bdc7a214da0a2fc712082187a4a82a1f179ac344e7bfb2e73ac27113101d9639b1d97b4ca310d830171f6b49455d93071b languageName: node linkType: hard @@ -1032,18 +1082,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.2" +"@babel/plugin-proposal-object-rest-spread@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.4" dependencies: - "@babel/compat-data": ^7.14.0 - "@babel/helper-compilation-targets": ^7.13.16 + "@babel/compat-data": ^7.14.4 + "@babel/helper-compilation-targets": ^7.14.4 "@babel/helper-plugin-utils": ^7.13.0 "@babel/plugin-syntax-object-rest-spread": ^7.8.3 "@babel/plugin-transform-parameters": ^7.14.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1c57c47ba5e4fa69cd89175ef798ce73392463990b4935b22a9814936e8d86bf69636e4cfd811d4cfc4efe25cee6204044858081f1c444999b66b98208b8075a + checksum: 027c9cdd6e8bc5d7590e2f22d77dea0be94f1bf7ae0e7a7fa071e634998ccb4a6c6879720f20b877d1ab28940e9fc6c22b023d7e3f1d2c4a88f205d5a9d4d0f6 languageName: node linkType: hard @@ -1494,14 +1544,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-transform-block-scoping@npm:7.14.2" +"@babel/plugin-transform-block-scoping@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.14.4" dependencies: "@babel/helper-plugin-utils": ^7.13.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 931d483cc2294201b2308464417fd8087111272cfdc5b9b0ee6643567dfed9db0f38b2bc446a7515e37aa1bc733931f02f43812f7d64189cd798b9b57aaedce5 + checksum: 3a515294c3f613dc5039d67f26d733c07d3990ec637dc6e1b26e7a3dde8e8527598cf8c6eb1fa4c744b12e5e69116c3983b918718b89421e4c97c51c800031b6 languageName: node linkType: hard @@ -1523,20 +1573,20 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-transform-classes@npm:7.14.2" +"@babel/plugin-transform-classes@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/plugin-transform-classes@npm:7.14.4" dependencies: "@babel/helper-annotate-as-pure": ^7.12.13 "@babel/helper-function-name": ^7.14.2 "@babel/helper-optimise-call-expression": ^7.12.13 "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-replace-supers": ^7.13.12 + "@babel/helper-replace-supers": ^7.14.4 "@babel/helper-split-export-declaration": ^7.12.13 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4fae4740c5610d7d4b726da27c50fb34d3bdc687bb3416827c64caa4aa258f3c9d85bba1376ce77cab75b5e3d360291dd93455350364bc669788fe0fc1ecef93 + checksum: 6b80b80db32e6060cc3d09400437d41ecd24d59f5a9ed7f2c02a09423fcd5853fe381c8fc453077468ea682849d1ce588d58d097fa3bfe6e3e86ceec47cc45ae languageName: node linkType: hard @@ -1573,14 +1623,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.13.17": - version: 7.13.17 - resolution: "@babel/plugin-transform-destructuring@npm:7.13.17" +"@babel/plugin-transform-destructuring@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/plugin-transform-destructuring@npm:7.14.4" dependencies: "@babel/helper-plugin-utils": ^7.13.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 04d2bfdb2903b48d5484b59d88e7837c13ba82228e9f2c6fba360bbb214bbf486a1a69dd8bfce74c0628236f90789828ae3ebd6f2b022b3bb30153f1b952f699 + checksum: 92e40e442f9a183d1ce56b23d55207d7b8593b3b4366df6082ffe7d0534df3a5367ec124dbd8397425dccb4b63396b282e4348a5ca2457cc10c73a8cc7a00d8a languageName: node linkType: hard @@ -2315,25 +2365,25 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/preset-env@npm:7.14.2" +"@babel/preset-env@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/preset-env@npm:7.14.4" dependencies: - "@babel/compat-data": ^7.14.0 - "@babel/helper-compilation-targets": ^7.13.16 + "@babel/compat-data": ^7.14.4 + "@babel/helper-compilation-targets": ^7.14.4 "@babel/helper-plugin-utils": ^7.13.0 "@babel/helper-validator-option": ^7.12.17 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.13.12 "@babel/plugin-proposal-async-generator-functions": ^7.14.2 "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-class-static-block": ^7.13.11 + "@babel/plugin-proposal-class-static-block": ^7.14.3 "@babel/plugin-proposal-dynamic-import": ^7.14.2 "@babel/plugin-proposal-export-namespace-from": ^7.14.2 "@babel/plugin-proposal-json-strings": ^7.14.2 "@babel/plugin-proposal-logical-assignment-operators": ^7.14.2 "@babel/plugin-proposal-nullish-coalescing-operator": ^7.14.2 "@babel/plugin-proposal-numeric-separator": ^7.14.2 - "@babel/plugin-proposal-object-rest-spread": ^7.14.2 + "@babel/plugin-proposal-object-rest-spread": ^7.14.4 "@babel/plugin-proposal-optional-catch-binding": ^7.14.2 "@babel/plugin-proposal-optional-chaining": ^7.14.2 "@babel/plugin-proposal-private-methods": ^7.13.0 @@ -2356,10 +2406,10 @@ __metadata: "@babel/plugin-transform-arrow-functions": ^7.13.0 "@babel/plugin-transform-async-to-generator": ^7.13.0 "@babel/plugin-transform-block-scoped-functions": ^7.12.13 - "@babel/plugin-transform-block-scoping": ^7.14.2 - "@babel/plugin-transform-classes": ^7.14.2 + "@babel/plugin-transform-block-scoping": ^7.14.4 + "@babel/plugin-transform-classes": ^7.14.4 "@babel/plugin-transform-computed-properties": ^7.13.0 - "@babel/plugin-transform-destructuring": ^7.13.17 + "@babel/plugin-transform-destructuring": ^7.14.4 "@babel/plugin-transform-dotall-regex": ^7.12.13 "@babel/plugin-transform-duplicate-keys": ^7.12.13 "@babel/plugin-transform-exponentiation-operator": ^7.12.13 @@ -2386,7 +2436,7 @@ __metadata: "@babel/plugin-transform-unicode-escapes": ^7.12.13 "@babel/plugin-transform-unicode-regex": ^7.12.13 "@babel/preset-modules": ^0.1.4 - "@babel/types": ^7.14.2 + "@babel/types": ^7.14.4 babel-plugin-polyfill-corejs2: ^0.2.0 babel-plugin-polyfill-corejs3: ^0.2.0 babel-plugin-polyfill-regenerator: ^0.2.0 @@ -2394,7 +2444,7 @@ __metadata: semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: fd6333a1658057fb81f526e5c8e2d74fef330922d89bec5db57da934a31cf52a8852c1dfc5e2994aa063f1a09083b30831e014d86b0bc287719afc8df348b2d2 + checksum: ff9f1a2582b1c87a21176a6ad7738a094e2ba93f6a0c02a1097ab6fd14c42c75c80ceca5d824d01a7b6f6709b1bbb76305258b70e1c86dbcec7a5647387715fa languageName: node linkType: hard @@ -2563,6 +2613,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.14.4": + version: 7.14.4 + resolution: "@babel/types@npm:7.14.4" + dependencies: + "@babel/helper-validator-identifier": ^7.14.0 + to-fast-properties: ^2.0.0 + checksum: 52ae21c8240dd2f6820590056c9f8fd04631c410d4f404ec2fe6b26ed46e39fb58270a5afe56bea66a57992061cdccad9317c99a6962febb6691071c9b481f30 + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.12.12 resolution: "@babel/types@npm:7.12.12" @@ -2597,20 +2657,31 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.1": - version: 0.4.1 - resolution: "@eslint/eslintrc@npm:0.4.1" +"@es-joy/jsdoccomment@npm:^0.8.0-alpha.2": + version: 0.8.0-alpha.2 + resolution: "@es-joy/jsdoccomment@npm:0.8.0-alpha.2" + dependencies: + comment-parser: ^1.1.5 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: 1.0.0-alpha.23 + checksum: cb6b06a8369f171f8dd5b9a3f74def4524e0d80a9c14a402246ff69a2a964a2ca3448c04e3cf5f99d6151aafa13272a96bd8b98d6857f9b217159c711fe09de1 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/eslintrc@npm:0.4.2" dependencies: ajv: ^6.12.4 debug: ^4.1.1 espree: ^7.3.0 - globals: ^12.1.0 + globals: ^13.9.0 ignore: ^4.0.6 import-fresh: ^3.2.1 js-yaml: ^3.13.1 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: 85eeaa022eba510ff093040a66e67bf0b4c5e5aa8c39e3655e4fa6de929d1076e2320858325708b723b367d8aeaddd89e6fa5b34c8676a4d95246d099e1b1759 + checksum: 17f90cf07988dd2a5e4f510687c81334141977b8e0fa1b63ef0318b0578466e368fc988c101ddc7df55b6124dff8ecd1be67292c27901265761758ad22608e12 languageName: node linkType: hard @@ -2805,23 +2876,23 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:10.2.2": - version: 10.2.2 - resolution: "@next/env@npm:10.2.2" - checksum: 14c138b77f8d50bb6ed58e493dfe726af7f103c9aa224c705a021f5006af6e2d0a3f2977afe17c9e4b3e08351e0e8857a13da945c0da0f1bcd198d5c8ff40022 +"@next/env@npm:10.2.3": + version: 10.2.3 + resolution: "@next/env@npm:10.2.3" + checksum: f48e5148ec25b098c5663990775d98f4b8a747d6fa732fba0c1b25bf0cfa59aa1f341dac390ada5cad82c4a92aa8e50c8735870986878f7c052907d9c31d2a24 languageName: node linkType: hard -"@next/polyfill-module@npm:10.2.2": - version: 10.2.2 - resolution: "@next/polyfill-module@npm:10.2.2" - checksum: 6f09174f9bd667d571f2a1e29a16797bac40b9d26353c2f170a7cb1311d975ead841b6d7bae0c6ecd6d7bb21a53e4f61793899c3af620b3acad38deb5d74b2af +"@next/polyfill-module@npm:10.2.3": + version: 10.2.3 + resolution: "@next/polyfill-module@npm:10.2.3" + checksum: 4ef314ba95c0f53e9979a4c57e8ce444254591fe85315a60805b9dd26f670f38a3c594de87ba4b3d5b965c7225cf18553658990f27a6300ef42d6a07d36ec618 languageName: node linkType: hard -"@next/react-dev-overlay@npm:10.2.2": - version: 10.2.2 - resolution: "@next/react-dev-overlay@npm:10.2.2" +"@next/react-dev-overlay@npm:10.2.3": + version: 10.2.3 + resolution: "@next/react-dev-overlay@npm:10.2.3" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -2837,20 +2908,20 @@ __metadata: peerDependencies: react: ^16.9.0 || ^17 react-dom: ^16.9.0 || ^17 - checksum: 43cd65764319bc1534ee319ba22d0c886c7d45f665d2ea7e16b54ab867d7debef17614db13d30dca84a3cb73a8bd3bf366148b75597072763d27650c899f8fff + checksum: f387003701907fbe99499e75eb148422e199ff9c34daab119313d4dffa806ff5f890e42ca3268a7a2f40036c3824e9ae1f33e8af3d15f8fb2e0d046e8a338f04 languageName: node linkType: hard -"@next/react-refresh-utils@npm:10.2.2": - version: 10.2.2 - resolution: "@next/react-refresh-utils@npm:10.2.2" +"@next/react-refresh-utils@npm:10.2.3": + version: 10.2.3 + resolution: "@next/react-refresh-utils@npm:10.2.3" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: f333f388e2bc8404cc758e70719200ecd8d763130ef58f3a6f06a87c0bf2ef1e8d2682d890d5035442f72817375257f1aef1007deb0b6dbf4500803f9c5cf75c + checksum: caf481fc81ed0a754b2c649c7ab6557c1da1cd22e0c0a8003025865973229b62a0950fbf6b0ad6fc473e69180012319f9e1ca699acfc7a977659e93a57a37657 languageName: node linkType: hard @@ -3392,9 +3463,9 @@ __metadata: languageName: node linkType: hard -"@types/koa@npm:^2.13.1": - version: 2.13.1 - resolution: "@types/koa@npm:2.13.1" +"@types/koa@npm:^2.13.3": + version: 2.13.3 + resolution: "@types/koa@npm:2.13.3" dependencies: "@types/accepts": "*" "@types/content-disposition": "*" @@ -3404,7 +3475,7 @@ __metadata: "@types/keygrip": "*" "@types/koa-compose": "*" "@types/node": "*" - checksum: d6f83b120ad0b8d9f3c7a7a0b2f09a2a149c1f83aaae3c754ac869a3bbc8a5a50f2e653e26817ba1648ed17da49202a19aaf69af0f4f9317c44fb172e548f838 + checksum: d7d7e67669175bff864b0ba155020dd93dcde4178ffbb5a1e7184fd0d1b368f73bc230baa84e05cf0c6db257f4d8f71266f069683cd8b4819fe58c89949da3a9 languageName: node linkType: hard @@ -3496,12 +3567,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^17.0.5": - version: 17.0.5 - resolution: "@types/react-dom@npm:17.0.5" +"@types/react-dom@npm:^17.0.6": + version: 17.0.6 + resolution: "@types/react-dom@npm:17.0.6" dependencies: "@types/react": "*" - checksum: ff301198c621864e1ee6c566285dc5cdc9eb5d881ca7fe7fcb8ebf29afe0357ffb7f77e401ab81ff444c64ff1375f653eeb28f04cd088a361915dee31cb3f4a8 + checksum: cc167c24a77cef2be8dcabd1bbe8b95c0d713b943b2f1c8a1468c8009c50daad51a46859a217a8383b89bb4ea499937d405699ce8db164f70c871f9d22d703f0 languageName: node linkType: hard @@ -3527,14 +3598,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.6": - version: 17.0.6 - resolution: "@types/react@npm:17.0.6" +"@types/react@npm:^17.0.9": + version: 17.0.9 + resolution: "@types/react@npm:17.0.9" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: dd687a9620d90cc7b9e50ed06ec73beb589fcb7ddfec7b166307af79cee7c521c1f2f1084ffd4ad6eaf7c937cfa446cc0b03cc3cd18e85e952501da2f2e0e0c3 + checksum: c626e3ca42b6173b0617102af6c1c8c6068f69fafeba51f5d614962cabaf98a5706295081941ece93da04117268cb0aad471be87e76dde7e0d5f79a46280c586 languageName: node linkType: hard @@ -4884,10 +4955,10 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:^0.7.6": - version: 0.7.6 - resolution: "comment-parser@npm:0.7.6" - checksum: 880e4d58c0b9dc69c50479d98a838b916980c4f0f53f8eff89e8d389bf40e93b8590c10e24faaca070a344226894e8ec8da6927b74e3f1f275b8445a14e488ea +"comment-parser@npm:1.1.5, comment-parser@npm:^1.1.5": + version: 1.1.5 + resolution: "comment-parser@npm:1.1.5" + checksum: e669d6328a1244a2d7db5ae077dcdd4ef6ddfda752aed9c29d6b4690672d80c0002a7e3ce4fadbb5008c27704adb3153169533312262592834f37ccb5e8eed7c languageName: node linkType: hard @@ -4935,16 +5006,6 @@ __metadata: languageName: node linkType: hard -"contains-path@npm:^1.0.0": - version: 1.0.0 - resolution: "contains-path@npm:1.0.0" - dependencies: - normalize-path: ^2.1.1 - path-starts-with: ^1.0.0 - checksum: 18c878d65f76039c317cca44c8b480b82e7a6a5eec3084deb3232e54967bba71d58c36e427809c1ae56ade54624aa904cf89d4a678513db3e2567be3f9a235b3 - languageName: node - linkType: hard - "content-disposition@npm:~0.5.2": version: 0.5.3 resolution: "content-disposition@npm:0.5.3" @@ -5299,10 +5360,10 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.21.3": - version: 2.21.3 - resolution: "date-fns@npm:2.21.3" - checksum: 00dc783af23ab1ca686ea9a21acd9572733ca9544c40a26e3061fc190bb0663c638c88f35d7719553279ad08c787eae816eaa0043d141563efc8394235f6c857 +"date-fns@npm:^2.22.1": + version: 2.22.1 + resolution: "date-fns@npm:2.22.1" + checksum: 7ff97cd605af50c02f341687c2cafd218839a1aace67965374989855a13f76dc4fe52e0e38c343c1ad1f8399787cb6839a0b14a669c44b30550c287300b1bb50 languageName: node linkType: hard @@ -5515,19 +5576,19 @@ __metadata: languageName: node linkType: hard -"doctoc@npm:^2.0.0": - version: 2.0.0 - resolution: "doctoc@npm:2.0.0" +"doctoc@npm:^2.0.1": + version: 2.0.1 + resolution: "doctoc@npm:2.0.1" dependencies: "@textlint/markdown-to-ast": ~6.1.7 anchor-markdown-header: ~0.5.7 htmlparser2: ~4.1.0 minimist: ~1.2.5 - underscore: ~1.10.2 + underscore: ~1.12.1 update-section: ~0.3.3 bin: doctoc: doctoc.js - checksum: d0d4f32eb43a41ddd271e89d532cfb004a534cc57bc25579853d71c6d2a96d2242fd0405571a3ab5d2402a24f1256f993d9cfd05000c2c43e624b1a827709f8d + checksum: 40ad0181ce83333c1fb5a738e53b6583e0c3d2d2a321033cb3077f6481be496aa0601df7dd0248ca80c6837229ff4904b06285c385ee896eabb1a49a07b532eb languageName: node linkType: hard @@ -5637,10 +5698,10 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^9.0.2": - version: 9.0.2 - resolution: "dotenv@npm:9.0.2" - checksum: 6b7980330a653089bc9b83362248547791151ee74f9881eb223ac2f4d641b174b708f77315d88708b551d45b4177afd3ba71bca4832f8807e003f71c2a0f83e7 +"dotenv@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 languageName: node linkType: hard @@ -5869,6 +5930,30 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.18.2": + version: 1.18.3 + resolution: "es-abstract@npm:1.18.3" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.2 + is-callable: ^1.2.3 + is-negative-zero: ^2.0.1 + is-regex: ^1.1.3 + is-string: ^1.0.6 + object-inspect: ^1.10.3 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: 6bbf526b5a60cdbd390397644facbf654fc6616564614533a5ce223ecc185f7812a1f45c3ab6d0334b4ff2e8f554237539f4d05a0fceb036be24dd5d1ec022b0 + languageName: node + linkType: hard + "es-module-lexer@npm:^0.4.0": version: 0.4.1 resolution: "es-module-lexer@npm:0.4.1" @@ -5915,6 +6000,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + "eslint-import-resolver-alias@npm:^1.1.2": version: 1.1.2 resolution: "eslint-import-resolver-alias@npm:1.1.2" @@ -5944,13 +6036,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.23.2": - version: 2.23.2 - resolution: "eslint-plugin-import@npm:2.23.2" +"eslint-plugin-import@npm:^2.23.4": + version: 2.23.4 + resolution: "eslint-plugin-import@npm:2.23.4" dependencies: array-includes: ^3.1.3 array.prototype.flat: ^1.2.4 - contains-path: ^1.0.0 debug: ^2.6.9 doctrine: ^2.1.0 eslint-import-resolver-node: ^0.3.4 @@ -5966,24 +6057,26 @@ __metadata: tsconfig-paths: ^3.9.0 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: cd8f119266cbf971ac8b90875acd3c971c39744bafbeb1a071a17c0b5042277d46f736ea38d625aa04501909ba835d154926bbb9ba47a5403deac601d9ae3dca + checksum: 8c64bb96fa35607de3da1ddf5d127a5913aebde5677bc276c55fecb3e539a7287569dc697af4f5c523bd2b08bff8f5b525448df5aa7d6256c86436b615be5abc languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:30.5.2": - version: 30.5.2 - resolution: "eslint-plugin-jsdoc@npm:30.5.2" +"eslint-plugin-jsdoc@npm:35.1.3": + version: 35.1.3 + resolution: "eslint-plugin-jsdoc@npm:35.1.3" dependencies: - comment-parser: ^0.7.6 - debug: ^4.1.1 - jsdoctypeparser: ^9.0.0 - lodash: ^4.17.20 - regextras: ^0.7.1 - semver: ^7.3.2 + "@es-joy/jsdoccomment": ^0.8.0-alpha.2 + comment-parser: 1.1.5 + debug: ^4.3.1 + esquery: ^1.4.0 + jsdoc-type-pratt-parser: ^1.0.4 + lodash: ^4.17.21 + regextras: ^0.8.0 + semver: ^7.3.5 spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 270405cc9761944d3469d97d80c6b19de607d51b854b91ed09667c51b771b5de4604d73aa6b77829604d895a802f3d95419dfc00299688787e8fea24afe2b76b + checksum: c360ab9363061bfe0f2a81613d16e49d4de0c456452261b082fcd00e4a81d10cc0f37c71518c4d505bf9f90078f0f830b712110ac09171e78a7965125428ef11 languageName: node linkType: hard @@ -6017,9 +6110,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.23.2": - version: 7.23.2 - resolution: "eslint-plugin-react@npm:7.23.2" +"eslint-plugin-react@npm:^7.24.0": + version: 7.24.0 + resolution: "eslint-plugin-react@npm:7.24.0" dependencies: array-includes: ^3.1.3 array.prototype.flatmap: ^1.2.4 @@ -6027,15 +6120,15 @@ __metadata: has: ^1.0.3 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.0.4 - object.entries: ^1.1.3 + object.entries: ^1.1.4 object.fromentries: ^2.0.4 - object.values: ^1.1.3 + object.values: ^1.1.4 prop-types: ^15.7.2 resolve: ^2.0.0-next.3 - string.prototype.matchall: ^4.0.4 + string.prototype.matchall: ^4.0.5 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: 03a818ac93959c0a500f9232de76c96363666be127cb881d4a2d69eee630b992a7676cf0f8b2bf32d0fe7a917be8e831fe8d3f67dd0d2f97640d00c182bae143 + checksum: bf844f98d93f3617fbd03df4be4f4c9e8e49ea035678762b73a28df730e9518d5ac636293f6326b41b4a0678f9dfa059ce559f6652c7a2d914d477ec3a389619 languageName: node linkType: hard @@ -6053,7 +6146,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^5.1.0, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.0, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -6093,27 +6186,29 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.26.0": - version: 7.26.0 - resolution: "eslint@npm:7.26.0" +"eslint@npm:^7.28.0": + version: 7.28.0 + resolution: "eslint@npm:7.28.0" dependencies: "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.1 + "@eslint/eslintrc": ^0.4.2 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 debug: ^4.0.1 doctrine: ^3.0.0 enquirer: ^2.3.5 + escape-string-regexp: ^4.0.0 eslint-scope: ^5.1.1 eslint-utils: ^2.1.0 eslint-visitor-keys: ^2.0.0 espree: ^7.3.1 esquery: ^1.4.0 esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 functional-red-black-tree: ^1.0.1 - glob-parent: ^5.0.0 + glob-parent: ^5.1.2 globals: ^13.6.0 ignore: ^4.0.6 import-fresh: ^3.0.0 @@ -6122,7 +6217,7 @@ __metadata: js-yaml: ^3.13.1 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 - lodash: ^4.17.21 + lodash.merge: ^4.6.2 minimatch: ^3.0.4 natural-compare: ^1.4.0 optionator: ^0.9.1 @@ -6131,12 +6226,12 @@ __metadata: semver: ^7.2.1 strip-ansi: ^6.0.0 strip-json-comments: ^3.1.0 - table: ^6.0.4 + table: ^6.0.9 text-table: ^0.2.0 v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 6178eeb1bf1161471fd5ecb12b1182f26313482371fb067659cc44095791e80e1e0eba22e543929935f559b2f8066ec128311b35b068bcba10cfada78a1ce91d + checksum: 624ed594c909a8e54129b8e659c521de9e31f1f363c5f96f95af674c83887e0b27bf3e8b50ce4b57e6691658f6053be6d62849ab515fd62a54a3a2a85a0f1dfb languageName: node linkType: hard @@ -6301,7 +6396,7 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1": +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d @@ -6584,7 +6679,7 @@ fsevents@~2.3.1: resolution: "fuelrats.com@workspace:." dependencies: "@babel/core": ^7.14.3 - "@babel/eslint-parser": ^7.14.3 + "@babel/eslint-parser": ^7.14.4 "@babel/eslint-plugin": ^7.13.16 "@babel/plugin-proposal-class-properties": ^7.13.0 "@babel/plugin-proposal-decorators": ^7.14.2 @@ -6597,7 +6692,7 @@ fsevents@~2.3.1: "@babel/plugin-proposal-optional-catch-binding": ^7.14.2 "@babel/plugin-proposal-throw-expressions": ^7.12.13 "@babel/plugin-transform-strict-mode": ^7.12.13 - "@babel/preset-env": ^7.14.2 + "@babel/preset-env": ^7.14.4 "@babel/runtime": ^7.14.0 "@fingerprintjs/fingerprintjs": ^3.1.2 "@fortawesome/fontawesome-svg-core": ^1.2.35 @@ -6621,13 +6716,13 @@ fsevents@~2.3.1: "@types/ip6addr": ^0.2.2 "@types/js-cookie": ^2.2.6 "@types/jsonfile": ^6.0.0 - "@types/koa": ^2.13.1 + "@types/koa": ^2.13.3 "@types/koa-compress": ^4.0.1 "@types/koa-logger": ^3.1.1 "@types/koa__router": ^8.0.4 "@types/lodash": ^4.14.170 - "@types/react": ^17.0.6 - "@types/react-dom": ^17.0.5 + "@types/react": ^17.0.9 + "@types/react-dom": ^17.0.6 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 @@ -6637,17 +6732,17 @@ fsevents@~2.3.1: builtin-modules: ^3.2.0 clsx: ^1.1.1 content-security-policy-builder: ^2.1.0 - date-fns: ^2.21.3 + date-fns: ^2.22.1 date-fns-tz: ^1.1.4 - doctoc: ^2.0.0 - dotenv: ^9.0.2 - eslint: ^7.26.0 + doctoc: ^2.0.1 + dotenv: ^10.0.0 + eslint: ^7.28.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 - eslint-plugin-import: ^2.23.2 - eslint-plugin-jsdoc: 30.5.2 + eslint-plugin-import: ^2.23.4 + eslint-plugin-jsdoc: 35.1.3 eslint-plugin-jsx-a11y: ^6.4.1 - eslint-plugin-react: ^7.23.2 + eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 flux-standard-action: ^2.1.1 framer-motion: ^4.1.17 @@ -6662,7 +6757,7 @@ fsevents@~2.3.1: koa-logger: ^3.2.1 koa-proxies: 0.12.1 lodash: ^4.17.21 - next: ^10.2.2 + next: ^10.2.3 next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 @@ -6684,17 +6779,17 @@ fsevents@~2.3.1: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.48.0 + rollup: ^2.51.0 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 - sass: ^1.33.0 - stripe: ^8.149.0 + sass: ^1.34.1 + stripe: ^8.153.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 ua-parser-js: ^0.7.28 use-immer: ^0.5.2 - webpack: ^5.37.1 + webpack: ^5.38.1 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -6787,7 +6882,7 @@ fsevents@~2.3.1: languageName: node linkType: hard -"glob-parent@npm:^5.0.0, glob-parent@npm:^5.1.0, glob-parent@npm:~5.1.0": +"glob-parent@npm:^5.1.0, glob-parent@npm:~5.1.0": version: 5.1.1 resolution: "glob-parent@npm:5.1.1" dependencies: @@ -6796,6 +6891,15 @@ fsevents@~2.3.1: languageName: node linkType: hard +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + "glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -6844,15 +6948,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"globals@npm:^12.1.0": - version: 12.4.0 - resolution: "globals@npm:12.4.0" - dependencies: - type-fest: ^0.8.1 - checksum: 7ae5ee16a96f1e8d71065405f57da0e33267f6b070cd36a5444c7780dd28639b48b92413698ac64f04bf31594f9108878bd8cb158ecdf759c39e05634fefcca6 - languageName: node - linkType: hard - "globals@npm:^13.6.0": version: 13.8.0 resolution: "globals@npm:13.8.0" @@ -6862,6 +6957,15 @@ fsevents@~2.3.1: languageName: node linkType: hard +"globals@npm:^13.9.0": + version: 13.9.0 + resolution: "globals@npm:13.9.0" + dependencies: + type-fest: ^0.20.2 + checksum: 566b29b475dd793eeb44d5b54823fdbf320e7077f5d1d330856ac2e7e016e4b50c8310b12d498282d5b5b26bdd7a1a6343615f510bf37b8863ec2741d58cc6ad + languageName: node + linkType: hard + "globby@npm:^11.0.3": version: 11.0.3 resolution: "globby@npm:11.0.3" @@ -7605,7 +7709,7 @@ fsevents@~2.3.1: languageName: node linkType: hard -"is-regex@npm:^1.1.2": +"is-regex@npm:^1.1.2, is-regex@npm:^1.1.3": version: 1.1.3 resolution: "is-regex@npm:1.1.3" dependencies: @@ -7629,6 +7733,13 @@ fsevents@~2.3.1: languageName: node linkType: hard +"is-string@npm:^1.0.6": + version: 1.0.6 + resolution: "is-string@npm:1.0.6" + checksum: 9990bf0abf2eea6255f0218f82ba1bcfc8d27923af99bcbb2c77ec5eae4ddbe6c23f1f916d6f19f9e9aa57ec7cd8a91a3e026a34e207c51af35fced1ad50bba8 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2": version: 1.0.3 resolution: "is-symbol@npm:1.0.3" @@ -7771,12 +7882,17 @@ fsevents@~2.3.1: languageName: node linkType: hard -"jsdoctypeparser@npm:^9.0.0": - version: 9.0.0 - resolution: "jsdoctypeparser@npm:9.0.0" - bin: - jsdoctypeparser: bin/jsdoctypeparser - checksum: d9fd932fc657ee8df93b112ceb23f0c27862da7302c27325101d3700110d78d264f9ef08837ed84e7dd47b83657ffb323b47b1942b237111055cefb647b4a8ba +"jsdoc-type-pratt-parser@npm:1.0.0-alpha.23": + version: 1.0.0-alpha.23 + resolution: "jsdoc-type-pratt-parser@npm:1.0.0-alpha.23" + checksum: a174d04aeed52c621cb6075caf0a0efc8b0802346df915d5ac91cc1665b8b860daa0b9585cccd7430fcb50b6ccb1ba1d1328a306819819ab26dca18191686f7e + languageName: node + linkType: hard + +"jsdoc-type-pratt-parser@npm:^1.0.4": + version: 1.0.8 + resolution: "jsdoc-type-pratt-parser@npm:1.0.8" + checksum: 21f8c08918c885df70cad4e8c625351e3bcea6d1c918d438fb02f5aaf274d4cd3309899216985df044462bf3d1e1d4a391dff8a23fc5c75da36ecb586d4385b4 languageName: node linkType: hard @@ -8164,6 +8280,13 @@ fsevents@~2.3.1: languageName: node linkType: hard +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 + languageName: node + linkType: hard + "lodash.sortby@npm:^4.7.0": version: 4.7.0 resolution: "lodash.sortby@npm:4.7.0" @@ -8197,7 +8320,7 @@ fsevents@~2.3.1: languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.4": +"lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.4": version: 4.17.20 resolution: "lodash@npm:4.17.20" checksum: b31afa09739b7292a88ec49ffdb2fcaeb41f690def010f7a067eeedffece32da6b6847bfe4d38a77e6f41778b9b2bca75eeab91209936518173271f0b69376ea @@ -8676,16 +8799,16 @@ fsevents@~2.3.1: languageName: node linkType: hard -"next@npm:^10.2.2": - version: 10.2.2 - resolution: "next@npm:10.2.2" +"next@npm:^10.2.3": + version: 10.2.3 + resolution: "next@npm:10.2.3" dependencies: "@babel/runtime": 7.12.5 "@hapi/accept": 5.0.2 - "@next/env": 10.2.2 - "@next/polyfill-module": 10.2.2 - "@next/react-dev-overlay": 10.2.2 - "@next/react-refresh-utils": 10.2.2 + "@next/env": 10.2.3 + "@next/polyfill-module": 10.2.3 + "@next/react-dev-overlay": 10.2.3 + "@next/react-refresh-utils": 10.2.3 "@opentelemetry/api": 0.14.0 assert: 2.0.0 ast-types: 0.13.2 @@ -8745,7 +8868,7 @@ fsevents@~2.3.1: optional: true bin: next: dist/bin/next - checksum: c1d8f003f5072d6c41d6bde83b29be494960e0bb57d02c63d8961395d4b3771ae1626205804556752a9fb52cb031c31550631d117777d342705c58bba27a0da6 + checksum: 715c83439fda55e64dcb39d0ac9cf2fe11337fd07227c257c957fc28b11b0a6036f17fce8b1a71d78d3eef0d5ec383721449169c60e3826ccd378a2b46a7744b languageName: node linkType: hard @@ -8897,15 +9020,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"normalize-path@npm:^2.1.1": - version: 2.1.1 - resolution: "normalize-path@npm:2.1.1" - dependencies: - remove-trailing-separator: ^1.0.1 - checksum: 7e9cbdcf7f5b8da7aa191fbfe33daf290cdcd8c038f422faf1b8a83c972bf7a6d94c5be34c4326cb00fb63bc0fd97d9fbcfaf2e5d6142332c2cd36d2e1b86cea - languageName: node - linkType: hard - "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -8983,6 +9097,13 @@ fsevents@~2.3.1: languageName: node linkType: hard +"object-inspect@npm:^1.10.3, object-inspect@npm:^1.9.0": + version: 1.10.3 + resolution: "object-inspect@npm:1.10.3" + checksum: 9a56db2e0146fe94a7a9c78f677a2a28eec11d0ae13430e0bb2cb908fdd2d3feb7dbba7c638b9b7f88ace01d9a937227a8801709d13afb76613775aeb68632d3 + languageName: node + linkType: hard + "object-inspect@npm:^1.8.0": version: 1.8.0 resolution: "object-inspect@npm:1.8.0" @@ -8990,13 +9111,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"object-inspect@npm:^1.9.0": - version: 1.10.3 - resolution: "object-inspect@npm:1.10.3" - checksum: 9a56db2e0146fe94a7a9c78f677a2a28eec11d0ae13430e0bb2cb908fdd2d3feb7dbba7c638b9b7f88ace01d9a937227a8801709d13afb76613775aeb68632d3 - languageName: node - linkType: hard - "object-is@npm:^1.0.1": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -9038,15 +9152,14 @@ fsevents@~2.3.1: languageName: node linkType: hard -"object.entries@npm:^1.1.3": - version: 1.1.3 - resolution: "object.entries@npm:1.1.3" +"object.entries@npm:^1.1.4": + version: 1.1.4 + resolution: "object.entries@npm:1.1.4" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - has: ^1.0.3 - checksum: 2622ac94f801e6cfddfa2e26719dd200bbc2cb891f00664f0256ebf1ca6626f00882352207ba2d2706c36bbd99d8cfbc84a01b937092239c23a60e1a4ee1d497 + es-abstract: ^1.18.2 + checksum: 1ddd2e28f5ecfe2369fe198439ec0457529f3eec85c7f43870be8de3ec3d98024b014ddb4a769ca48925e47ed76c69a51d8bf2c9886ed43174e3a1d33c2dbe38 languageName: node linkType: hard @@ -9096,6 +9209,17 @@ fsevents@~2.3.1: languageName: node linkType: hard +"object.values@npm:^1.1.4": + version: 1.1.4 + resolution: "object.values@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.18.2 + checksum: 1a2f1e9d0bcfc299b8491170a50e6e7ca23392641d7781a8528e96c72f0013ba7ee731792ff8586c8eaec0328acda16c59622924c82c58bd0eb5c4ee67794856 + languageName: node + linkType: hard + "on-finished@npm:^2.3.0": version: 2.3.0 resolution: "on-finished@npm:2.3.0" @@ -9353,15 +9477,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"path-starts-with@npm:^1.0.0": - version: 1.0.0 - resolution: "path-starts-with@npm:1.0.0" - dependencies: - normalize-path: ^2.1.1 - checksum: 15b120d3f7b58de29b1b010675392b368ab67003a8a23b4f4649447f4d1d98a6db2eb7aec19f49042b8ddcba77f808f0babbca36ff3f0c581c870109d52a7fa2 - languageName: node - linkType: hard - "path-to-regexp@npm:^1.0.0": version: 1.8.0 resolution: "path-to-regexp@npm:1.8.0" @@ -10585,10 +10700,10 @@ fsevents@~2.3.1: languageName: node linkType: hard -"regextras@npm:^0.7.1": - version: 0.7.1 - resolution: "regextras@npm:0.7.1" - checksum: ffcd5bfd5842564ed4db94af58ee3280cfc00bd19c235afc4b681be0f84b60ac2d3da345af5e92099b2b05d4d8b7063ab720c92bfee1162b2b7ae063d879baec +"regextras@npm:^0.8.0": + version: 0.8.0 + resolution: "regextras@npm:0.8.0" + checksum: b7ec5b32a2b98b4b27048d44f8ab90009873c1307f2cf89321aa8c4cbb8147f1bee07863f4dadf585546ca0b91a234ad9804954dea5fc029421f6c25a4523798 languageName: node linkType: hard @@ -10672,13 +10787,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"remove-trailing-separator@npm:^1.0.1": - version: 1.1.0 - resolution: "remove-trailing-separator@npm:1.1.0" - checksum: d3c20b5a2d987db13e1cca9385d56ecfa1641bae143b620835ac02a6b70ab88f68f117a0021838db826c57b31373d609d52e4f31aca75fc490c862732d595419 - languageName: node - linkType: hard - "repeat-string@npm:^1.0.0, repeat-string@npm:^1.5.4": version: 1.6.1 resolution: "repeat-string@npm:1.6.1" @@ -10902,9 +11010,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.48.0": - version: 2.48.0 - resolution: "rollup@npm:2.48.0" +"rollup@npm:^2.51.0": + version: 2.51.0 + resolution: "rollup@npm:2.51.0" dependencies: fsevents: ~2.3.1 dependenciesMeta: @@ -10912,7 +11020,7 @@ resolve@^2.0.0-next.3: optional: true bin: rollup: dist/bin/rollup - checksum: b95320a432f426c78fe0915a8c726f1b000bb530a58b8fc8fbe3c20361b51af622dcfc302fb2743d699e187689f75fa1d9621707ce6db5d1a7123b48b3545909 + checksum: f46236dc690746f231c66deecee341d190bedc5c195819d3bd363480a7986ba0ea92d63c31e6b4571d29b8e4b90a34a256eeeefa42c30659cb1e8398f9a64d87 languageName: node linkType: hard @@ -10944,14 +11052,14 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.33.0": - version: 1.33.0 - resolution: "sass@npm:1.33.0" +"sass@npm:^1.34.1": + version: 1.34.1 + resolution: "sass@npm:1.34.1" dependencies: chokidar: ">=3.0.0 <4.0.0" bin: sass: sass.js - checksum: 8987112d414977c74c3894e6dbb230fad7eeb7cb1bc0477de900066af91c58bc5ae09dc8f024889c4fd3a706c0a385cd624f822f753cdf076c66e75e8079302f + checksum: 97b3816ab1bf8f59421b61ce84e4c45ad9c59890f960bdd7a23bc5058283070252dcc23f19559c12121c18d6da0b4cd2fddedb6ffe8f2509aad20662fd9ca087 languageName: node linkType: hard @@ -11030,7 +11138,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:^7.3.4": +"semver@npm:^7.3.4, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -11479,18 +11587,19 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.4": - version: 4.0.4 - resolution: "string.prototype.matchall@npm:4.0.4" +"string.prototype.matchall@npm:^4.0.5": + version: 4.0.5 + resolution: "string.prototype.matchall@npm:4.0.5" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.2 - has-symbols: ^1.0.1 + es-abstract: ^1.18.2 + get-intrinsic: ^1.1.1 + has-symbols: ^1.0.2 internal-slot: ^1.0.3 regexp.prototype.flags: ^1.3.1 side-channel: ^1.0.4 - checksum: 0abd11d22661dbd7def9870a71dd9f041a470207063cff04504cc6fe292a4aad1580a47f03ef98db2fbceb4180a32d065e28f7819b922685adf5783b7c6f73f9 + checksum: 0a9d64661ecf089e7712aed18a4b0d7e4093ae1dfc6d8134747a98271564065a2a667a3408fced4a77137528b3b2c0efe9d37868acae000ee13d0857a3d0f430 languageName: node linkType: hard @@ -11609,13 +11718,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.149.0": - version: 8.149.0 - resolution: "stripe@npm:8.149.0" +"stripe@npm:^8.153.0": + version: 8.153.0 + resolution: "stripe@npm:8.153.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 457f691356ecd6a0dc58fe997b6d2dabde99fc4ebe50191dfe49fed60305b7a96e837adf780c8fea143fb4fe3218ef810835b8cf41dfca8c14dee22f539b0643 + checksum: 2a98b7b495306975a824a851dd1b11a99b9683f2b5930e592bf216e366beebcd7decefd86dd405b7aba51caf9711ddb8974e808e0d468d68539a10d3e7f2255e languageName: node linkType: hard @@ -11854,19 +11963,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"table@npm:^6.0.4": - version: 6.0.4 - resolution: "table@npm:6.0.4" - dependencies: - ajv: ^6.12.4 - lodash: ^4.17.20 - slice-ansi: ^4.0.0 - string-width: ^4.2.0 - checksum: 5cbc42454d9d2b8051aac77cdfa38b78e0ea00eeb1ef2bc50463f02ede9e9210bbb418a1f38c51f10dd34c5a01df50b05a32cb9222fb28b095d51fb557c5c21e - languageName: node - linkType: hard - -"table@npm:^6.6.0": +"table@npm:^6.0.9, table@npm:^6.6.0": version: 6.7.1 resolution: "table@npm:6.7.1" dependencies: @@ -12237,7 +12334,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.0": +"unbox-primitive@npm:^1.0.0, unbox-primitive@npm:^1.0.1": version: 1.0.1 resolution: "unbox-primitive@npm:1.0.1" dependencies: @@ -12249,10 +12346,10 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"underscore@npm:~1.10.2": - version: 1.10.2 - resolution: "underscore@npm:1.10.2" - checksum: 199ee8d97258458273ee8b9f5ce5368c3669646ef4c50766fe5a2d12b9b22ce58a78e278d8fb79ceb9618041ee14dc6780ba9a563bd700f1b10c080668ded6ea +"underscore@npm:~1.12.1": + version: 1.12.1 + resolution: "underscore@npm:1.12.1" + checksum: ec327603aa112b99fe9d74cd9bf3b3b7451465a9d2610ceab269a532e3f191650ab017903be34dc86fe406a11d04d8905a3b04dd4c129493e51bee09a3f3074c languageName: node linkType: hard @@ -12646,6 +12743,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"watchpack@npm:^2.2.0": + version: 2.2.0 + resolution: "watchpack@npm:2.2.0" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: e275f48fae29edee3195c51a8312b609581b9be5ce323d3102ffd082cb124f48d7a393ce05e4110239e4354379e04d78a97ceb26ae367746e7e218bf258135c8 + languageName: node + linkType: hard + "webidl-conversions@npm:^4.0.2": version: 4.0.2 resolution: "webidl-conversions@npm:4.0.2" @@ -12663,6 +12770,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack-sources@npm:^2.3.0": + version: 2.3.0 + resolution: "webpack-sources@npm:2.3.0" + dependencies: + source-list-map: ^2.0.1 + source-map: ^0.6.1 + checksum: f0b3d13d3f350712c828c7187573d43d15fc1a96a11e81f69e3f10220d611dab95b529aca79ded9690a94040491bd7e4d84717f4467762211762cd01795a7b71 + languageName: node + linkType: hard + "webpack@npm:^5": version: 5.37.0 resolution: "webpack@npm:5.37.0" @@ -12699,9 +12816,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.37.1": - version: 5.37.1 - resolution: "webpack@npm:5.37.1" +"webpack@npm:^5.38.1": + version: 5.38.1 + resolution: "webpack@npm:5.38.1" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.47 @@ -12713,7 +12830,7 @@ resolve@^2.0.0-next.3: chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.8.0 es-module-lexer: ^0.4.0 - eslint-scope: ^5.1.1 + eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 graceful-fs: ^4.2.4 @@ -12724,14 +12841,14 @@ resolve@^2.0.0-next.3: schema-utils: ^3.0.0 tapable: ^2.1.1 terser-webpack-plugin: ^5.1.1 - watchpack: ^2.0.0 - webpack-sources: ^2.1.1 + watchpack: ^2.2.0 + webpack-sources: ^2.3.0 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 572d3cd617bbccebbc98d9c312f8e166ddbd20620cb3e64f634bc65e08e58fa839bb2c4098960cd2172c10a0eb32f9e036860061dd03cbc9345bc424704610b8 + checksum: 631f0e838dd83f2f735f047a161daba2dd58b1550af5bcbe2df4ad25cfc3d836a48d038cf2ded3669ff2e1f6db58fa38866abe8c537b8fea32bda86e1223cb4f languageName: node linkType: hard From a405ed164ae771789baa42372a53105a41581f5f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 01:54:24 +0000 Subject: [PATCH 024/300] chore: update eslint config --- package.json | 10 ++++---- yarn.lock | 64 ++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index d3c69c13b..4314f44f5 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.153.0", + "stripe": "^8.154.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.5.2", "zxcvbn": "^4.4.2" @@ -97,9 +97,9 @@ "@babel/preset-env": "^7.14.4", "@babel/runtime": "^7.14.0", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.3.0", - "@fuelrats/eslint-config-react": "^2.3.0", - "@fuelrats/eslint-plugin": "^2.3.0", + "@fuelrats/eslint-config": "2.4.0-canary.3", + "@fuelrats/eslint-config-react": "2.4.0-canary.3", + "@fuelrats/eslint-plugin": "2.4.0-canary.3", "@fuelrats/stylelint-config": "^1.2.3", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", @@ -131,7 +131,7 @@ "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.51.0", + "rollup": "^2.51.1", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", "sass": "^1.34.1", diff --git a/yarn.lock b/yarn.lock index b6783a3fa..ebdda6899 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2747,46 +2747,46 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:^2.3.0": - version: 2.3.0 - resolution: "@fuelrats/eslint-config-react@npm:2.3.0" +"@fuelrats/eslint-config-react@npm:2.4.0-canary.3": + version: 2.4.0-canary.3 + resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.3" peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 - eslint: ^7.14 + eslint: ^7.24 eslint-plugin-jsx-a11y: ^6.3 - eslint-plugin-react: ^7.20 + eslint-plugin-react: ^7.23 eslint-plugin-react-hooks: ^4.0.1 react: ^16.8 || ^17 - checksum: b2386eb72a6ba62b408297bec9a25a5e4dc6c90ba3bb803f111dc77df80640c8248833e284b8b4133442414972135dec8d39e6c5f3c30af1aacd12f38ab54c96 + checksum: 8940724222a1b875d9ea625031ea42ed91c1f32a1f065f9656fb9a648bfaf39377e685f3ac1bd5a15c80758fc00603285acaa2eab0aaece4c0b071605615feb6 languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.3.0": - version: 2.3.0 - resolution: "@fuelrats/eslint-config@npm:2.3.0" +"@fuelrats/eslint-config@npm:2.4.0-canary.3": + version: 2.4.0-canary.3 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.3" dependencies: eslint-restricted-globals: ^0.2.0 peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 "@babel/eslint-plugin": ^7.11 - eslint: ^7.14 - eslint-plugin-import: ^2.21 - eslint-plugin-jsdoc: ^28 || ^29 || ^30 - checksum: 553771c08f871bc1d15dc35671c43be401a0517886e912b4f6cacc0eff35a8cf18ce7eac82524eb41e67ec1d76187847812908992cf99856b8d036c823ca78fe + eslint: ^7.24 + eslint-plugin-import: ^2.23 + eslint-plugin-jsdoc: ^35 + checksum: 5c9f6e5e813ce32322340379aab67219f66edc16fc50fab0ccca8ddfcbf7187e00b1b85425d59b56e962eb3aa1c01ea7676fa706d1b18619077b4d49bbc31343 languageName: node linkType: hard -"@fuelrats/eslint-plugin@npm:^2.3.0": - version: 2.3.0 - resolution: "@fuelrats/eslint-plugin@npm:2.3.0" +"@fuelrats/eslint-plugin@npm:2.4.0-canary.3": + version: 2.4.0-canary.3 + resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.3" dependencies: requireindex: ~1.2.0 peerDependencies: "@babel/eslint-parser": ^7.11 eslint: ^7.5 - checksum: 4f4277722ff2a75203757ff70b72e795b042c80a6f87550e4ff673667cfbc11d8fce710e25a9bed001d4e49ee36200e9214c2291b37e1b731a0aee227614ae22 + checksum: 378087de1853e613d6a84a28935965e8e8e6207889dc0110f1edb2450a23523973f86eb8e91ddc2319b2ec79f42c7453e5aee02ff65b5123f1b13a29bd842f1e languageName: node linkType: hard @@ -6061,7 +6061,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:35.1.3": +"eslint-plugin-jsdoc@npm:^35.1.3": version: 35.1.3 resolution: "eslint-plugin-jsdoc@npm:35.1.3" dependencies: @@ -6700,9 +6700,9 @@ fsevents@~2.3.1: "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.3.0 - "@fuelrats/eslint-config-react": ^2.3.0 - "@fuelrats/eslint-plugin": ^2.3.0 + "@fuelrats/eslint-config": 2.4.0-canary.3 + "@fuelrats/eslint-config-react": 2.4.0-canary.3 + "@fuelrats/eslint-plugin": 2.4.0-canary.3 "@fuelrats/koa-adorable-avatars": ^0.1.2 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 @@ -6740,7 +6740,7 @@ fsevents@~2.3.1: eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: 35.1.3 + eslint-plugin-jsdoc: ^35.1.3 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -6779,11 +6779,11 @@ fsevents@~2.3.1: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.51.0 + rollup: ^2.51.1 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 sass: ^1.34.1 - stripe: ^8.153.0 + stripe: ^8.154.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 @@ -11010,9 +11010,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.51.0": - version: 2.51.0 - resolution: "rollup@npm:2.51.0" +"rollup@npm:^2.51.1": + version: 2.51.1 + resolution: "rollup@npm:2.51.1" dependencies: fsevents: ~2.3.1 dependenciesMeta: @@ -11020,7 +11020,7 @@ resolve@^2.0.0-next.3: optional: true bin: rollup: dist/bin/rollup - checksum: f46236dc690746f231c66deecee341d190bedc5c195819d3bd363480a7986ba0ea92d63c31e6b4571d29b8e4b90a34a256eeeefa42c30659cb1e8398f9a64d87 + checksum: 04f6226a92b49b8534ba04c3723dc362c42ddfad5957198b009fc3d28877c2674bb883dc6c89c7c4483d56c10fc8af69d60e7b52d3571da7055abf92a184465d languageName: node linkType: hard @@ -11718,13 +11718,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.153.0": - version: 8.153.0 - resolution: "stripe@npm:8.153.0" +"stripe@npm:^8.154.0": + version: 8.154.0 + resolution: "stripe@npm:8.154.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 2a98b7b495306975a824a851dd1b11a99b9683f2b5930e592bf216e366beebcd7decefd86dd405b7aba51caf9711ddb8974e808e0d468d68539a10d3e7f2255e + checksum: a85bd7502bb4c67fdb434d9dcae0078a225c61f6012c8b60e232dfd9d1d33673633114b79b7ae3b18c46f2c485946bb2f5fd104f13266a1bd890002fd8fde6e1 languageName: node linkType: hard From ab1c2d5ff2b67d3a8404024a1ee1299227d00823 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 01:55:09 +0000 Subject: [PATCH 025/300] refactor: comply with new eslint rules --- src/components/Carousel.js | 4 +-- .../Fieldsets/InputFieldset/InputFieldset.js | 8 +++-- .../Forms/DonationForm/DonationForm.js | 2 +- src/components/Modal/Modal.js | 2 +- src/components/RadioInput/RadioInput.js | 2 +- src/components/RatLeaderboardTable.js | 32 +++++++++---------- src/components/TagsInput.js | 1 + src/pages/_app.js | 2 +- src/pages/paperwork/[rescueId]/edit.js | 2 +- 9 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/components/Carousel.js b/src/components/Carousel.js index 3f64396dd..7a2a0fab9 100644 --- a/src/components/Carousel.js +++ b/src/components/Carousel.js @@ -148,8 +148,8 @@ class Carousel extends React.Component { { Boolean(slide.image) && ( {slide.text} diff --git a/src/components/Fieldsets/InputFieldset/InputFieldset.js b/src/components/Fieldsets/InputFieldset/InputFieldset.js index 606417c8c..acf9f9297 100644 --- a/src/components/Fieldsets/InputFieldset/InputFieldset.js +++ b/src/components/Fieldsets/InputFieldset/InputFieldset.js @@ -140,9 +140,11 @@ InputFieldset.propTypes = { /** * Returns a memoized version of a callback which can accept the following arguments: * - * * `messages` - an object containing two arrays of messages called `errors` and `warnings` - * * `value` - The input value to validate against - * * `target?` - the underlying input element + * `messages` - an object containing two arrays of messages called `errors` and `warnings` + * + * `value` - The input value to validate against + * + * `target?` - the underlying input element * * `messages` can be mutated or an updated object can be returned by the callback. * diff --git a/src/components/Forms/DonationForm/DonationForm.js b/src/components/Forms/DonationForm/DonationForm.js index 9e14f18cb..6ae3f5ce5 100644 --- a/src/components/Forms/DonationForm/DonationForm.js +++ b/src/components/Forms/DonationForm/DonationForm.js @@ -10,10 +10,10 @@ import useForm from '~/hooks/useForm' import { createDonationSession } from '~/store/actions/stripe' import { selectUserById, withCurrentUserId } from '~/store/selectors' -import { DonationErrorBox } from '.' import AmountPresetRadioFieldset from './AmountPresetRadioFieldset' import CurrencyFieldset from './CurrencyFieldset' import CurrencyRadioFieldset from './CurrencyRadioFieldset' +import DonationErrorBox from './DonationErrorBox' diff --git a/src/components/Modal/Modal.js b/src/components/Modal/Modal.js index 6e1c322db..081944d4c 100644 --- a/src/components/Modal/Modal.js +++ b/src/components/Modal/Modal.js @@ -68,8 +68,8 @@ function ModalComponent (props) { return ( diff --git a/src/components/RadioInput/RadioInput.js b/src/components/RadioInput/RadioInput.js index bcb8b3b05..f32d50934 100644 --- a/src/components/RadioInput/RadioInput.js +++ b/src/components/RadioInput/RadioInput.js @@ -36,8 +36,8 @@ function RadioInput (props) { options.map((option) => { return ( { + const { + codeRedCount, + joinedAt, + rescueCount, + } = value.attributes + + return ( +
+ + + +
+ ) +} @connect @@ -144,21 +158,7 @@ class RatLeaderboardTable extends React.Component { minWidth: 150, maxWidth: 200, filterable: false, - Cell: ({ value }) => { - const { - codeRedCount, - joinedAt, - rescueCount, - } = value.attributes - - return ( -
- - - -
- ) - }, + Cell: renderBadgeCell, }, ] } diff --git a/src/components/TagsInput.js b/src/components/TagsInput.js index 044a5be50..ea4a2ba49 100644 --- a/src/components/TagsInput.js +++ b/src/components/TagsInput.js @@ -5,6 +5,7 @@ no-restricted-syntax, no-return-assign, react/jsx-no-bind, + react/no-unsafe, react/state-in-constructor, arrow-body-style, */ diff --git a/src/pages/_app.js b/src/pages/_app.js index 0e4952edb..906839329 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -119,8 +119,8 @@ class FuelRatsApp extends App { { !noHeader && ( diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index b4215791e..a6d594da1 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -444,7 +444,7 @@ class Paperwork extends React.Component { id="codeRed" name="codeRed" options={codeRedRadioOptions} - value={`${codeRed}`} + value={String(codeRed)} onChange={this._handleRadioInputChange} /> From ac7c099f21a37a85a2b67488e0eef4d7cc21fd9b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 18:41:52 +0000 Subject: [PATCH 026/300] fix: properly define donate redirect --- next.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/next.config.js b/next.config.js index f0e002b59..9ce8f1034 100644 --- a/next.config.js +++ b/next.config.js @@ -74,6 +74,7 @@ module.exports = { { source: '/donate/cancel', destination: '/donate', + permanent: false, }, ] }, From f2b6c77f15ef43cb9191c5ad27db31814d9bbb0f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 19:05:18 +0000 Subject: [PATCH 027/300] chore: add eslint-plugin-next --- .eslintrc.js | 2 ++ package.json | 1 + yarn.lock | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index 08fbd9342..0aac6e293 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -11,6 +11,7 @@ module.exports = { '@fuelrats/eslint-config', '@fuelrats/eslint-config/plugins/fuelrats', '@fuelrats/eslint-config-react', + 'plugin:@next/next/recommended', ], rules: { 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components. @@ -21,6 +22,7 @@ module.exports = { ...importRules.rules['import/order'][1], 'newlines-between': 'always', }], + '@next/next/link-passhref': 0, // This rule is broken so just ignore it for now. }, settings: { 'import/ignore': [ diff --git a/package.json b/package.json index 4314f44f5..9efa492f0 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", "@koa/router": "^10.0.0", + "@next/eslint-plugin-next": "^10.2.3", "axios": "^0.21.1", "clsx": "^1.1.1", "content-security-policy-builder": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index ebdda6899..457a9f523 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2883,6 +2883,13 @@ __metadata: languageName: node linkType: hard +"@next/eslint-plugin-next@npm:^10.2.3": + version: 10.2.3 + resolution: "@next/eslint-plugin-next@npm:10.2.3" + checksum: e4fec7acc2f1f560f1a0b811322f6077f04cd5ee4b5f789d8947bcbfe46b0c335ff12d47963b3c3b5a2a19f6afb37c543c01c3abfcb60dde823cab125d4a84ee + languageName: node + linkType: hard + "@next/polyfill-module@npm:10.2.3": version: 10.2.3 resolution: "@next/polyfill-module@npm:10.2.3" @@ -6708,6 +6715,7 @@ fsevents@~2.3.1: "@fuelrats/validation-util": ^1.2.0 "@fuelrats/web-util": ^0.3.2 "@koa/router": ^10.0.0 + "@next/eslint-plugin-next": ^10.2.3 "@rollup/plugin-babel": ^5.3.0 "@rollup/plugin-commonjs": ^19.0.0 "@rollup/plugin-node-resolve": ^13.0.0 From b53dd35c45e2468e27e0497bda90882d04d90887 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 19:08:03 +0000 Subject: [PATCH 028/300] refactor: streamline appUrl usage --- src/components/Carousel.js | 4 ++-- src/server/environment.mjs | 2 +- src/server/middlewares/csp.mjs | 4 ++-- src/server/router/stripeApi/index.mjs | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/Carousel.js b/src/components/Carousel.js index 7a2a0fab9..80b4cd79f 100644 --- a/src/components/Carousel.js +++ b/src/components/Carousel.js @@ -13,7 +13,7 @@ import { selectImages } from '~/store/selectors' // Component constants const { publicRuntimeConfig } = getConfig() -const { publicUrl } = publicRuntimeConfig.local +const { appUrl } = publicRuntimeConfig const getSlides = (_, props) => { return props.slides @@ -33,7 +33,7 @@ const selectConnectedSlides = createSelector( [slideId]: { ...slide, id: slideId, - url: `${publicUrl}/static/images/${slide.filename || `slide_${key}.jpg`}`, + url: `${appUrl}/static/images/${slide.filename || `slide_${key}.jpg`}`, image: images[slideId], }, } diff --git a/src/server/environment.mjs b/src/server/environment.mjs index 5780c9e6f..ad8439719 100644 --- a/src/server/environment.mjs +++ b/src/server/environment.mjs @@ -9,9 +9,9 @@ const DEFAULT_PORT = 3000 function getEnv () { return { + appUrl: process.env.APP_URL, isDev: process.env.NODE_ENV !== 'production', port: process.env.PORT ?? DEFAULT_PORT, - publicUrl: process.env.APP_URL, fallbackUrl: process.env.FR_FALLBACK_URL ?? 'https://fallback.fuelrats.com/', api: { clientId: process.env.FR_API_KEY, diff --git a/src/server/middlewares/csp.mjs b/src/server/middlewares/csp.mjs index 3f0ff3feb..55f6a5911 100644 --- a/src/server/middlewares/csp.mjs +++ b/src/server/middlewares/csp.mjs @@ -29,7 +29,7 @@ const configureCSP = () => { return async function koaCSP (ctx, next) { const { isDev, - publicUrl, + appUrl, api, } = ctx.state.env @@ -44,7 +44,7 @@ const configureCSP = () => { "'self'", 'wss://*.fuelrats.com', api.url, - publicUrl, + appUrl, ...(isDev ? ['webpack://*'] : []), ], baseUri: ["'none'"], diff --git a/src/server/router/stripeApi/index.mjs b/src/server/router/stripeApi/index.mjs index 6014ca0ee..543bcb578 100644 --- a/src/server/router/stripeApi/index.mjs +++ b/src/server/router/stripeApi/index.mjs @@ -67,8 +67,8 @@ const configureStripeApi = (router) => { const donationInfo = getDonationItemInfo(amount) ctx.body = await stripe.checkout.sessions.create({ - success_url: `${ctx.state.env.publicUrl}/donate/success`, - cancel_url: `${ctx.state.env.publicUrl}/donate/cancel`, + success_url: `${ctx.state.env.appUrl}/donate/success`, + cancel_url: `${ctx.state.env.appUrl}/donate/cancel`, submit_type: 'donate', payment_method_types: ['card'], allow_promotion_codes: false, From 8e3178ca188f7989c789fa9b060d1bf0b2c21c9f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 19:10:07 +0000 Subject: [PATCH 029/300] refactor: relocate avatars under api route --- src/server/router/index.mjs | 2 +- src/store/selectors/users.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/server/router/index.mjs b/src/server/router/index.mjs index 65e005e9c..3fcfcdc59 100644 --- a/src/server/router/index.mjs +++ b/src/server/router/index.mjs @@ -23,7 +23,7 @@ const configureRouter = (nextApp, koaServer) => { stripeApi(router) // Avatars - router.use('/avatars', AvatarsRouter.routes(), AvatarsRouter.allowedMethods()) + router.use('/api/avatars', AvatarsRouter.routes(), AvatarsRouter.allowedMethods()) /***************************************************************************\ diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index bd771e5d5..995097a8f 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -45,7 +45,9 @@ export const selectAvatarByUserId = (state, props) => { return undefined } - return user.attributes.image ? `/api/users/${user.id}/avatar` : `/avatars/${props.size ?? AVATAR_DEFAULT_SIZE}/${user.id}` + return user.attributes.image + ? `/api/users/${user.id}/avatar` + : `/api/avatars/${props.size ?? AVATAR_DEFAULT_SIZE}/${user.id}` } export const selectCurrentUserScopes = (state) => { From 5027e7a1041dc4df1acd44b065d0766b31e6c6c1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 19:10:32 +0000 Subject: [PATCH 030/300] fix(document): add proper google font headers --- src/pages/_document.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/_document.js b/src/pages/_document.js index 7f5994e2b..ba39f6fa7 100644 --- a/src/pages/_document.js +++ b/src/pages/_document.js @@ -45,7 +45,9 @@ class FuelRatsWebsite extends Document { - + + + From 027ee4871c24fe2a9434b9f634bb3110f7cd9a34 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 19:12:27 +0000 Subject: [PATCH 031/300] refactor: simplify public config, make api namespaces consistent --- next.config.js | 12 +++++++----- src/services/fuelrats.js | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/next.config.js b/next.config.js index 9ce8f1034..7a703ce71 100644 --- a/next.config.js +++ b/next.config.js @@ -4,6 +4,7 @@ /* eslint-env node */ const crypto = require('crypto') const path = require('path') +const url = require('url') const { DefinePlugin } = require('webpack') @@ -41,19 +42,20 @@ module.exports = { distDir: path.join('dist', 'next'), generateBuildId, images: { - domains: ['static-cdn.jtvnw.net'], + domains: [ + url.parse(APP_URL).hostname, // Ensure the public hostname is always allowed. + 'static-cdn.jtvnw.net', + ], }, publicRuntimeConfig: { - local: { - publicUrl: APP_URL, - }, + appUrl: APP_URL, irc: { client: FR_CLIENT_IRC_URL ?? 'https://qms.fuelrats.dev', rat: FR_RAT_IRC_URL ?? 'https://kiwi.fuelrats.com', }, apis: { fuelRats: { - local: `${APP_URL}/api/fr`, + url: `${APP_URL}/api/fr`, server: FR_API_URL ?? 'https://dev.api.fuelrats.com', socket: FR_SOCKET_URL ?? 'wss://dev.api.fuelrats.com', }, diff --git a/src/services/fuelrats.js b/src/services/fuelrats.js index 73eb3f49a..9d85c98a1 100644 --- a/src/services/fuelrats.js +++ b/src/services/fuelrats.js @@ -6,7 +6,7 @@ import qs from 'qs' const { publicRuntimeConfig } = getConfig() -const localApiUrl = publicRuntimeConfig.apis.fuelRats.local +const localApiUrl = publicRuntimeConfig.apis.fuelRats.url From 2cad6dc47d0494d6519da1a59a4010b2050e2909 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 20:02:29 +0000 Subject: [PATCH 032/300] refactor: rewrite version pages, separate api route to a proper location --- src/pages/api/version.js | 44 ++++++++++++++++ src/pages/version.js | 93 +++++++++++++++++++++++++++++++++ src/pages/version/index.js | 103 ------------------------------------- src/pages/version/raw.js | 1 - 4 files changed, 137 insertions(+), 104 deletions(-) create mode 100644 src/pages/api/version.js create mode 100644 src/pages/version.js delete mode 100644 src/pages/version/index.js delete mode 100644 src/pages/version/raw.js diff --git a/src/pages/api/version.js b/src/pages/api/version.js new file mode 100644 index 000000000..7784c3f65 --- /dev/null +++ b/src/pages/api/version.js @@ -0,0 +1,44 @@ +/* globals + $BUILD_BRANCH:false + $BUILD_COMMIT:false + $BUILD_DATE:false + $BUILD_URL:false + $NODE_VERSION:false + $NEXT_BUILD_ID:false +*/ + + +import pkgFile from '../../../package.json' + +const BUILD_BRANCH = $BUILD_BRANCH +const BUILD_COMMIT = $BUILD_COMMIT +const BUILD_DATE = $BUILD_DATE +const BUILD_URL = $BUILD_URL +const NODE_VERSION = $NODE_VERSION +const NEXT_BUILD_ID = $NEXT_BUILD_ID + +const { version: appVersion } = pkgFile + + + + +export default function version (req, res) { + res.setHeader('Content-Type', 'application/vnd.api+json') + res.end(JSON.stringify({ + data: { + id: NEXT_BUILD_ID, + type: 'frWebBuilds', + attributes: { + branch: BUILD_BRANCH || 'develop', + builtOn: BUILD_DATE || null, + builtAt: BUILD_URL || null, + commit: BUILD_COMMIT || null, + versions: { + app: `v${appVersion}`, + node: NODE_VERSION, + }, + }, + }, + + })) +} diff --git a/src/pages/version.js b/src/pages/version.js new file mode 100644 index 000000000..7f77ca604 --- /dev/null +++ b/src/pages/version.js @@ -0,0 +1,93 @@ +import { HttpStatus } from '@fuelrats/web-util/http' +import axios from 'axios' +import getConfig from 'next/config' +import Link from 'next/link' + +import { formatAsEliteDateTime } from '~/helpers/formatTime' + + + + + +// Component constants +const { publicRuntimeConfig } = getConfig() +const { appUrl } = publicRuntimeConfig + + + + + +function Version ({ version }) { + const { + branch, + versions, + builtOn, + builtAt, + commit, + } = version.attributes + return ( +
+ +
+ + {'App Version: '} + + {versions.app} + + + + {'Node Version: '} + + {versions.node} + + + + {'Built On: '} + + + + + + {'Branch: '} + + {branch} + + + + {'Commit: '} + + {commit || 'N/A'} + + +
+
+ ) +} + +Version.getInitialProps = async () => { + const response = await axios.get(`${appUrl}/api/version`) + + return { + version: response.status === HttpStatus.OK + ? response.data.data + : null, + } +} + +Version.getPageMeta = () => { + return { + noHeader: true, + title: 'Version Information', + } +} + + + + +export default Version diff --git a/src/pages/version/index.js b/src/pages/version/index.js deleted file mode 100644 index ca549e85e..000000000 --- a/src/pages/version/index.js +++ /dev/null @@ -1,103 +0,0 @@ -/* globals - $BUILD_BRANCH:false - $BUILD_COMMIT:false - $BUILD_DATE:false - $BUILD_URL:false - $NODE_VERSION:false - $NEXT_BUILD_ID:false -*/ - -import { formatAsEliteDateTime } from '~/helpers/formatTime' - -import { version } from '../../../package.json' - - - - - -// Component constants -const BUILD_BRANCH = $BUILD_BRANCH -const BUILD_COMMIT = $BUILD_COMMIT -const BUILD_DATE = $BUILD_DATE -const BUILD_URL = $BUILD_URL -const NODE_VERSION = $NODE_VERSION -const NEXT_BUILD_ID = $NEXT_BUILD_ID - - - - - -function Version () { - return ( -
- - {'Raw'} - -
- - {'App Version: '} - - {`v${version}`} - - - - {'Node Version: '} - - {NODE_VERSION} - - - - {'Built On: '} - - - - - - {'Branch: '} - - {BUILD_BRANCH} - - - - {'Commit: '} - - {BUILD_COMMIT || 'null'} - - -
-
- ) -} - -Version.getInitialProps = ({ asPath, res }) => { - if (asPath.includes('/raw')) { - res.setHeader('Content-Type', 'application/vnd.api+json') - res.end(JSON.stringify({ - data: { - id: NEXT_BUILD_ID, - type: 'frWebBuilds', - attributes: { - branch: BUILD_BRANCH || 'develop', - builtOn: BUILD_DATE, - commit: BUILD_COMMIT || null, - version: `v${version}`, - }, - }, - - })) - } - - return {} -} - -Version.getPageMeta = () => { - return { - noHeader: true, - title: 'Version Information', - } -} - - - - -export default Version diff --git a/src/pages/version/raw.js b/src/pages/version/raw.js deleted file mode 100644 index 079c6485e..000000000 --- a/src/pages/version/raw.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from '.' From b8fa80134effa2dd172763c0273ce65aa8cb5d17 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 9 Jun 2021 20:27:45 +0000 Subject: [PATCH 033/300] refactor: use next/image for images --- next.config.js | 1 + src/components/ProfileHeader/ProfileHeader.js | 17 ++++++++++++++++- src/components/UserMenu/UserMenu.js | 19 +++++++++++++++++-- src/pages/i-need-fuel.js | 13 ++++++++----- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/next.config.js b/next.config.js index 7a703ce71..fc8854f6f 100644 --- a/next.config.js +++ b/next.config.js @@ -44,6 +44,7 @@ module.exports = { images: { domains: [ url.parse(APP_URL).hostname, // Ensure the public hostname is always allowed. + 'wordpress.fuelrats.com', 'static-cdn.jtvnw.net', ], }, diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index cfe6c09c0..b728d512d 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -1,3 +1,5 @@ +import getConfig from 'next/config' +import Image from 'next/image' import React from 'react' import { formatAsEliteDateTime } from '~/helpers/formatTime' @@ -18,6 +20,12 @@ import UnverifiedUserBanner from './UnverifiedUserBanner' +const { publicRuntimeConfig } = getConfig() +const { appUrl } = publicRuntimeConfig + + + + @connect class ProfileHeader extends React.Component { @@ -95,7 +103,14 @@ class ProfileHeader extends React.Component { ) }
-
User's avatar
+
+ User's avatar +
diff --git a/src/components/UserMenu/UserMenu.js b/src/components/UserMenu/UserMenu.js index 6a0ff824a..5f3974c5a 100644 --- a/src/components/UserMenu/UserMenu.js +++ b/src/components/UserMenu/UserMenu.js @@ -1,6 +1,9 @@ +import getConfig from 'next/config' +import Image from 'next/image' import { useCallback, useRef } from 'react' import { useDispatch, useSelector } from 'react-redux' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { setFlag } from '~/store/actions/flags' import { logout } from '~/store/actions/session' import { @@ -18,13 +21,20 @@ import styles from './UserMenu.module.scss' +const { publicRuntimeConfig } = getConfig() +const { appUrl } = publicRuntimeConfig + + + + + function UserMenu () { const checkboxRef = useRef() const { loggedIn } = useSelector(selectSession) const userCanSeeRescueAdmin = useSelector(selectCurrentUserCanEditAllRescues) const user = useSelector(withCurrentUserId(selectUserById)) - const userAvatar = useSelector(withCurrentUserId(selectAvatarByUserId)) + const userAvatar = useSelectorWithProps({ size: 64 }, withCurrentUserId(selectAvatarByUserId)) const dispatch = useDispatch() @@ -56,7 +66,12 @@ function UserMenu () { diff --git a/src/pages/i-need-fuel.js b/src/pages/i-need-fuel.js index 3abf17061..69a3f1053 100644 --- a/src/pages/i-need-fuel.js +++ b/src/pages/i-need-fuel.js @@ -1,4 +1,5 @@ import getConfig from 'next/config' +import Image from 'next/image' import Link from 'next/link' import { createStructuredSelector } from 'reselect' @@ -34,11 +35,13 @@ function INeedFuel (props) { return (
- Fuel rat riding a limpet - +
+ Fuel rat riding a limpet +

{'DO YOU SEE A "OXYGEN DEPLETED IN" TIMER?'}
From 0a971fa369800198831bf909e2f77eb0f1492b58 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 11 Jun 2021 19:09:03 +0000 Subject: [PATCH 034/300] fix: correct breaking builds by giving APP_URL a default value. --- next.config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/next.config.js b/next.config.js index fc8854f6f..a1e93549b 100644 --- a/next.config.js +++ b/next.config.js @@ -13,7 +13,8 @@ const { DefinePlugin } = require('webpack') // Constants const { - APP_URL, + PORT = 3000, + APP_URL = `https://localhost:${PORT}`, FR_API_URL, FR_CLIENT_IRC_URL, FR_RAT_IRC_URL, From d1cc43963f58ce47471fe061f34e4dcd344cfa96 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 18:17:38 +0000 Subject: [PATCH 035/300] chore: improve launch configs yet again --- .vscode/launch.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index a19d2947b..824eaa6a9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,7 +12,15 @@ }, { "name": "Next: Attach Chrome", - "type": "chrome", + "type": "pwa-chrome", + "request": "attach", + "port": 9222, + "url": "${config:develop.attachurl}", + "webRoot": "${workspaceFolder}" + } + { + "name": "Next: Attach Edge", + "type": "pwa-msedge", "request": "attach", "port": 9222, "url": "${config:develop.attachurl}", @@ -21,8 +29,12 @@ ], "compounds": [ { - "name": "Next: Attach", + "name": "Next: Attach All", "configurations": ["Next: Attach Server", "Next: Attach Chrome"] + }, + { + "name": "Next: Attach All (Edge)", + "configurations": ["Next: Attach Server", "Next: Attach Edge"] } ] } From b9a12350ce0d8f0455f1f3d52213dffcfb382996 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 18:18:06 +0000 Subject: [PATCH 036/300] chore: add improved overrides for workers --- .eslintrc.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 0aac6e293..4f318852d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -40,11 +40,19 @@ module.exports = { }, overrides: [ { - files: ['src/pages/api/**/*.js'], + files: ['src/pages/api/**/*.js', 'src/server/**/*.mjs'], env: { browser: false, node: true, }, }, + { + files: ['*.worker.js'], + env: { + browser: false, + commonjs: false, + worker: true, + }, + }, ], } From 1a80815ded8778ea94c24dc7740b3a6bf148993f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 18:18:47 +0000 Subject: [PATCH 037/300] refactor(server): rework env file to provide easier defaults --- src/server/environment.mjs | 45 +++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/src/server/environment.mjs b/src/server/environment.mjs index ad8439719..3dc008fba 100644 --- a/src/server/environment.mjs +++ b/src/server/environment.mjs @@ -1,32 +1,37 @@ -/* eslint-env node */ - -// Constants -const DEFAULT_PORT = 3000 - - - - - function getEnv () { + const { + PORT = 3000, + APP_URL = `https://localhost:${PORT}`, + NODE_ENV, + FR_FALLBACK_URL = 'https://fallback.fuelrats.com/', + FR_API_SECRET, + FR_API_KEY, + FR_API_URL = 'https://dev.api.fuelrats.com', + FR_EDSM_API_URL = 'https://www.edsm.net', + FR_WORDPRESS_URL = 'https://wordpress.fuelrats.com', + FR_STRIPE_API_SK, + FR_STRIPE_BANS_FILE, + } = process.env + return { - appUrl: process.env.APP_URL, - isDev: process.env.NODE_ENV !== 'production', - port: process.env.PORT ?? DEFAULT_PORT, - fallbackUrl: process.env.FR_FALLBACK_URL ?? 'https://fallback.fuelrats.com/', + appUrl: APP_URL, + isDev: NODE_ENV !== 'production', + port: PORT, + fallbackUrl: FR_FALLBACK_URL, api: { - clientId: process.env.FR_API_KEY, - clientSecret: process.env.FR_API_SECRET, - url: process.env.FR_API_URL ?? 'https://dev.api.fuelrats.com', + url: FR_API_URL, + clientId: FR_API_KEY, + clientSecret: FR_API_SECRET, }, edsm: { - url: process.env.FR_EDSM_API_URL ?? 'https://www.edsm.net', + url: FR_EDSM_API_URL, }, wordpress: { - url: process.env.FR_WORDPRESS_URL ?? 'https://wordpress.fuelrats.com', + url: FR_WORDPRESS_URL, }, stripe: { - secret: process.env.FR_STRIPE_API_SK, - bansFile: process.env.FR_STRIPE_BANS_FILE, + secret: FR_STRIPE_API_SK, + bansFile: FR_STRIPE_BANS_FILE, }, } } From 63bb87e9c997c65369a7565995345857fa265535 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 18:19:20 +0000 Subject: [PATCH 038/300] refactor(image-loader-worker): remove unnecessary rule disable --- src/workers/image-loader.worker.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/workers/image-loader.worker.js b/src/workers/image-loader.worker.js index 16528e873..349636afa 100644 --- a/src/workers/image-loader.worker.js +++ b/src/workers/image-loader.worker.js @@ -1,5 +1,3 @@ -/* eslint-disable no-restricted-globals */ - self.addEventListener('message', async (event) => { try { const { From b7e7ffc170eabef476f23382e3972e3780924ade Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 18:19:28 +0000 Subject: [PATCH 039/300] chore: update deps --- package.json | 48 +- yarn.lock | 1456 +++++++++++++++++++++++++++----------------------- 2 files changed, 805 insertions(+), 699 deletions(-) diff --git a/package.json b/package.json index 9efa492f0..bdf3f9aef 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "flux-standard-action": "^2.1.1", "framer-motion": "^4.1.17", "hoist-non-react-statics": "^3.3.2", - "immer": "^9.0.2", + "immer": "^9.0.3", "ip6addr": "^0.2.3", "js-cookie": "^2.2.1", "jsonfile": "^6.1.0", @@ -57,7 +57,7 @@ "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", - "postcss": "^8.3.0", + "postcss": "^8.3.2", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", @@ -81,26 +81,26 @@ "zxcvbn": "^4.4.2" }, "devDependencies": { - "@babel/core": "^7.14.3", - "@babel/eslint-parser": "^7.14.4", - "@babel/eslint-plugin": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-decorators": "^7.14.2", - "@babel/plugin-proposal-export-default-from": "^7.12.13", - "@babel/plugin-proposal-export-namespace-from": "^7.14.2", - "@babel/plugin-proposal-function-bind": "^7.12.13", - "@babel/plugin-proposal-function-sent": "^7.12.13", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", - "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", - "@babel/plugin-proposal-throw-expressions": "^7.12.13", - "@babel/plugin-transform-strict-mode": "^7.12.13", - "@babel/preset-env": "^7.14.4", - "@babel/runtime": "^7.14.0", + "@babel/core": "^7.14.5", + "@babel/eslint-parser": "^7.14.5", + "@babel/eslint-plugin": "^7.14.5", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-decorators": "^7.14.5", + "@babel/plugin-proposal-export-default-from": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-function-bind": "^7.14.5", + "@babel/plugin-proposal-function-sent": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-throw-expressions": "^7.14.5", + "@babel/plugin-transform-strict-mode": "^7.14.5", + "@babel/preset-env": "^7.14.5", + "@babel/runtime": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "2.4.0-canary.3", - "@fuelrats/eslint-config-react": "2.4.0-canary.3", - "@fuelrats/eslint-plugin": "2.4.0-canary.3", + "@fuelrats/eslint-config": "canary", + "@fuelrats/eslint-config-react": "canary", + "@fuelrats/eslint-plugin": "canary", "@fuelrats/stylelint-config": "^1.2.3", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", @@ -115,8 +115,8 @@ "@types/koa-logger": "^3.1.1", "@types/koa__router": "^8.0.4", "@types/lodash": "^4.14.170", - "@types/react": "^17.0.9", - "@types/react-dom": "^17.0.6", + "@types/react": "^17.0.11", + "@types/react-dom": "^17.0.7", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", @@ -132,7 +132,7 @@ "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.51.1", + "rollup": "^2.51.2", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", "sass": "^1.34.1", diff --git a/yarn.lock b/yarn.lock index 457a9f523..26d84ae72 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,6 +32,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/code-frame@npm:7.14.5" + dependencies: + "@babel/highlight": ^7.14.5 + checksum: 0adbe4f8d91586f764f524e57631f582ab988b2ef504391a5d89db29bfaaf7c67c237798ed4a249b6a2d7135852cf94d3d07ce6b9739dd1df1f271d5ed069565 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.12.1": version: 7.12.1 resolution: "@babel/compat-data@npm:7.12.1" @@ -46,33 +55,33 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/compat-data@npm:7.14.4" - checksum: 38f6388bb564c24878124120dc1684e290405c0c1c3698a3569a3e19ce732a64cd799186df4e51ec37dc4d6e93fa82f61fe1751d0326399ba061e914f36416ad +"@babel/compat-data@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/compat-data@npm:7.14.5" + checksum: 19701d675f849a8191cda2694d9f2fac4bb8fe0179911e3e32bf267f8b886b9825a9f4afbd6ebad170bd64b086fa115720a54b1c49e2ace3b857effadd80054d languageName: node linkType: hard -"@babel/core@npm:7.14.3, @babel/core@npm:^7.14.3": - version: 7.14.3 - resolution: "@babel/core@npm:7.14.3" +"@babel/core@npm:7.14.5, @babel/core@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/core@npm:7.14.5" dependencies: - "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.14.3 - "@babel/helper-compilation-targets": ^7.13.16 - "@babel/helper-module-transforms": ^7.14.2 - "@babel/helpers": ^7.14.0 - "@babel/parser": ^7.14.3 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.2 - "@babel/types": ^7.14.2 + "@babel/code-frame": ^7.14.5 + "@babel/generator": ^7.14.5 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-module-transforms": ^7.14.5 + "@babel/helpers": ^7.14.5 + "@babel/parser": ^7.14.5 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.5 + "@babel/types": ^7.14.5 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.1.2 semver: ^6.3.0 source-map: ^0.5.0 - checksum: b91ed6adc790428966e134b9b8bfa1f2d54d8867877057ed9f9fcc354475a26d267afd6b0c84ac1a7ac7805bffc7b3353fdd9d894e58ef52c7c7e06f17044fd0 + checksum: a8bc444be2a2fd620cd634a0c41ec87994c8bf8f67746f46e1fd015ea3cb0ebb0ba3ee7a387c07d7c5dded98f1f280df8ebc5a5ff5b216a1978cbd36ae012fa7 languageName: node linkType: hard @@ -100,29 +109,29 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/eslint-parser@npm:7.14.4" +"@babel/eslint-parser@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/eslint-parser@npm:7.14.5" dependencies: - eslint-scope: ^5.1.0 + eslint-scope: ^5.1.1 eslint-visitor-keys: ^2.1.0 semver: ^6.3.0 peerDependencies: "@babel/core": ">=7.11.0" eslint: ">=7.5.0" - checksum: 7726ffdc8d81fb8cd3f271343556ab1706991f8f3faa26ccec3e8825dfb775e8d67a5f7f0a9aab7489dba2b0dd31f771a7763784d9c71f66b52ad27eed719e40 + checksum: a63ab74d30a6a6d1f34e6a52403eb2acdb273100d2139f0c751692389b6a04f6befebddb133f0c4417c475acf072bbc0b47dcf93097f018918aebec5705e5339 languageName: node linkType: hard -"@babel/eslint-plugin@npm:^7.13.16": - version: 7.13.16 - resolution: "@babel/eslint-plugin@npm:7.13.16" +"@babel/eslint-plugin@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/eslint-plugin@npm:7.14.5" dependencies: eslint-rule-composer: ^0.3.0 peerDependencies: "@babel/eslint-parser": ">=7.11.0" eslint: ">=7.5.0" - checksum: 0f744f2d5b941cb417c0b496244e45dec1232248138f2d1ce2f97235547984c9eac68983839c3d64da7cc551a7d658d79f28a43b8522f22212e3ce783e8dc065 + checksum: 7aa5868ee9f2396da650067eb2c918011d830e0aca7af87ed361d6de8c182c2f6535fa1acc8711f76b3d52fc91e50b2784d5756d628d3af9cc93593fd115fafa languageName: node linkType: hard @@ -148,14 +157,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.3": - version: 7.14.3 - resolution: "@babel/generator@npm:7.14.3" +"@babel/generator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/generator@npm:7.14.5" dependencies: - "@babel/types": ^7.14.2 + "@babel/types": ^7.14.5 jsesc: ^2.5.1 source-map: ^0.5.0 - checksum: 2c104bbe531935d73a66b6c1370da2e986e94154e7e574bd081fe6abe0d493e39d94a38a4c07c415aa90281047f858a51967b74eed83fec17cbca98a657e864a + checksum: 7fcfeaf17e8e76ea91c66dc86c776d2112f52ce0315d3f4ca6a74b6eada0be1592d1ea6286d7241d3f634b63717ceef5d180d041a0b3dca9d071ba2e5fa7c77b languageName: node linkType: hard @@ -177,12 +186,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-annotate-as-pure@npm:7.12.13" +"@babel/helper-annotate-as-pure@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-annotate-as-pure@npm:7.14.5" dependencies: - "@babel/types": ^7.12.13 - checksum: c85c2cf08c18fe2c59cbc2f2f4ae227136c3400263a139c6c689c575aea301ad3f8260e709d2f58b6fb2ee180fdceec508280675f216bac7614c998478184bf1 + "@babel/types": ^7.14.5 + checksum: 18cefedda60003c2551dabe0e4ad278ef0507682680892c60e9f7cb75ae1dc9a065cddb3ce9964da76f220bf972af5262619eeac4b84c2b8aba1b031961215cc languageName: node linkType: hard @@ -196,13 +205,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.12.13" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.14.5" dependencies: - "@babel/helper-explode-assignable-expression": ^7.12.13 - "@babel/types": ^7.12.13 - checksum: 798177396af89e801005c125375b624eed6c6d922abc0c0f04361852a87cd81e207d14ed4cfac0884effdb356b71fd0ef5ae2ec31c6a881f1efab974b1565964 + "@babel/helper-explode-assignable-expression": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: 0d3571edff0a96d625503a3fd79643f66f8a5204e75c4351276c0d194240e1debe322a70ef9ff47952bd77ac76792f42d732922b00b5bd8b6e2c99909dc4f49b languageName: node linkType: hard @@ -241,7 +250,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.16": +"@babel/helper-compilation-targets@npm:^7.13.0": version: 7.13.16 resolution: "@babel/helper-compilation-targets@npm:7.13.16" dependencies: @@ -255,17 +264,17 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/helper-compilation-targets@npm:7.14.4" +"@babel/helper-compilation-targets@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-compilation-targets@npm:7.14.5" dependencies: - "@babel/compat-data": ^7.14.4 - "@babel/helper-validator-option": ^7.12.17 + "@babel/compat-data": ^7.14.5 + "@babel/helper-validator-option": ^7.14.5 browserslist: ^4.16.6 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 0a6a3215d6aad027eee73c3ac5ec8ad353b493e8b3c4f27589528ffd3c53277fd5f5b8beaf5f23d68770f72b132d9f34f00d1a2141df692b31bb8bd124154704 + checksum: 02df2c6d1bc5f2336f380945aa266a3a65d057c5eff6be667235a8005048b21f69e4aaebc8e43ccfc2fb406688383ae8e572f257413febf244772e5e7af5fd7f languageName: node linkType: hard @@ -284,35 +293,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.13.0, @babel/helper-create-class-features-plugin@npm:^7.14.0, @babel/helper-create-class-features-plugin@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/helper-create-class-features-plugin@npm:7.14.2" - dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-function-name": ^7.14.2 - "@babel/helper-member-expression-to-functions": ^7.13.12 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/helper-replace-supers": ^7.13.12 - "@babel/helper-split-export-declaration": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 91143d3414dd2927483a38445d20543893e42a5114a2b18cf55fae635e183dcec07100e163e5ca2602f3654daf1885b4d7692bf2e02ad0f36e713b9cf0132097 - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.14.3": - version: 7.14.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.14.4" +"@babel/helper-create-class-features-plugin@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-function-name": ^7.14.2 - "@babel/helper-member-expression-to-functions": ^7.13.12 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/helper-replace-supers": ^7.14.4 - "@babel/helper-split-export-declaration": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-function-name": ^7.14.5 + "@babel/helper-member-expression-to-functions": ^7.14.5 + "@babel/helper-optimise-call-expression": ^7.14.5 + "@babel/helper-replace-supers": ^7.14.5 + "@babel/helper-split-export-declaration": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: 83dd1241dad05d2989cece474410b01c962ba2c20c9156fcde46b7fb2cb14fc074dc432a6f75e55a0d1ff4203c12162a46a42ed51a7af78f1dfc5af2467e6456 + checksum: 491b7986b99eb6cea457b0ed653154a1157f52c47ffa754f4ae3d8b30727310138b4a32c6ef3447f52e808c233d51e24044d358c37c3085fdf3f88725c22cbc4 languageName: node linkType: hard @@ -329,15 +322,15 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.12.13": - version: 7.12.17 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.17" +"@babel/helper-create-regexp-features-plugin@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.14.5 regexpu-core: ^4.7.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 376a92fd8a84c7f6424be26f14e9d97e931b79fd90398ee708ccf08955122f752b24d38d3db932d918d939ae8224e749e4cf8e3798ba588a16c803ba0d759877 + checksum: c2636d0a6ea6d57eb3603ba9b223fd6ec273a3d8171eb8d84a357ff028cd747ab383b1d7cef84a4df5f9aebb321d43599895f562f3c8aa96314d4847aa59710e languageName: node linkType: hard @@ -352,9 +345,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.2.0": - version: 0.2.0 - resolution: "@babel/helper-define-polyfill-provider@npm:0.2.0" +"@babel/helper-define-polyfill-provider@npm:^0.2.2": + version: 0.2.3 + resolution: "@babel/helper-define-polyfill-provider@npm:0.2.3" dependencies: "@babel/helper-compilation-targets": ^7.13.0 "@babel/helper-module-imports": ^7.12.13 @@ -366,7 +359,7 @@ __metadata: semver: ^6.1.2 peerDependencies: "@babel/core": ^7.4.0-0 - checksum: 844c87dbddee896183a3d46a57f3ece936082b77aec7e2e6351493485922b4d26ea0600f71502f86062644d0fdd1ba4fe60a6d5291e7ddfa5c5ef81388d73c20 + checksum: 797699fe870e45bdbc7c4128963427f7d6240609b700b3f2c0a2f2f187e5f848ba704bcfe58d7d91796cabc5001fae01746b3efda113beb5b5b824927cf59fdb languageName: node linkType: hard @@ -379,12 +372,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-explode-assignable-expression@npm:^7.12.13": - version: 7.13.0 - resolution: "@babel/helper-explode-assignable-expression@npm:7.13.0" +"@babel/helper-explode-assignable-expression@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-explode-assignable-expression@npm:7.14.5" dependencies: - "@babel/types": ^7.13.0 - checksum: c386a8197322aeebc097abf3869debddfffecad41dfd86b2f20c5f49bd8fe7a4d5e81a60b147967b9869d2a3b2ff3d6023bc25e1c2f2df3c7e944071880d32be + "@babel/types": ^7.14.5 + checksum: f3b34c54ad26e48e1409f21aaac8ee5b5fa3bd2917ce4df496f57daec12b6132b2d5c2618da807458e97bc2d7894c5bf505cc96789e0c289dcc9948d7844bb03 languageName: node linkType: hard @@ -399,7 +392,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.12.13, @babel/helper-function-name@npm:^7.14.2": +"@babel/helper-function-name@npm:^7.14.2": version: 7.14.2 resolution: "@babel/helper-function-name@npm:7.14.2" dependencies: @@ -410,6 +403,17 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-function-name@npm:7.14.5" + dependencies: + "@babel/helper-get-function-arity": ^7.14.5 + "@babel/template": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: fd8ffa82f7622b6e9a6294fb3b98b42e743ab2a8e3c329367667a960b5b98b48bc5ebf8be7308981f1985b9f3c69e1a3b4a91c8944ae97c31803240da92fb3c8 + languageName: node + linkType: hard + "@babel/helper-get-function-arity@npm:^7.10.4": version: 7.10.4 resolution: "@babel/helper-get-function-arity@npm:7.10.4" @@ -428,6 +432,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-get-function-arity@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-get-function-arity@npm:7.14.5" + dependencies: + "@babel/types": ^7.14.5 + checksum: a60779918b677a35e177bb4f46babfd54e9790587b6a4f076092a9eff2a940cbeacdeb10c94331b26abfe838769554d72293d16df897246cfccd1444e5e27cb7 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.10.4": version: 7.10.4 resolution: "@babel/helper-hoist-variables@npm:7.10.4" @@ -437,13 +450,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.13.0": - version: 7.13.16 - resolution: "@babel/helper-hoist-variables@npm:7.13.16" +"@babel/helper-hoist-variables@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-hoist-variables@npm:7.14.5" dependencies: - "@babel/traverse": ^7.13.15 - "@babel/types": ^7.13.16 - checksum: 02bc248458d7483ae91edf6fcffabef82eae7df26fe70c4984683ff4900fac9b54c7b0ef7bf03ce87edcd381dab5a685ec3d19232a34c43510fac8f0ea1c627c + "@babel/types": ^7.14.5 + checksum: 35af58eebffca10988de7003e044ce2d27212aea72ac6d2c4604137da7f1e193cc694d8d60805d0d0beaf3d990f6f2dcc2622c52e3d3148e37017a29cacf2e56 languageName: node linkType: hard @@ -456,12 +468,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-member-expression-to-functions@npm:7.13.12" +"@babel/helper-member-expression-to-functions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.14.5" dependencies: - "@babel/types": ^7.13.12 - checksum: 76a5ad6ae60bec5cbef56dc2ef0e08269a985c41137e50bce642dd6c1d228c5454f656ba0de4ec819dfcbced007ec516f3c1ceaffff8d17c3957e4608be0fc8c + "@babel/types": ^7.14.5 + checksum: 5acb23803b92baa1b28a0f16cefa12b76d1ec170453a15ae70e646aedd25d66fd193c7b8841d9dea5d52a0a8f193635fcda74c444bbcb79b71c95a9bd6d9c013 languageName: node linkType: hard @@ -474,7 +486,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.13.12": +"@babel/helper-module-imports@npm:^7.12.13": version: 7.13.12 resolution: "@babel/helper-module-imports@npm:7.13.12" dependencies: @@ -492,6 +504,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-module-imports@npm:7.14.5" + dependencies: + "@babel/types": ^7.14.5 + checksum: b98279908698a50a22634e683924cb25eb93edf1bf28ac65691dfa82d7a1a4dae4e6b12b8ef9f9a50171ca484620bce544f270873c53505d8a45364c5b665c0c + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-module-transforms@npm:7.12.1" @@ -509,19 +530,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.14.0, @babel/helper-module-transforms@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/helper-module-transforms@npm:7.14.2" +"@babel/helper-module-transforms@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-module-transforms@npm:7.14.5" dependencies: - "@babel/helper-module-imports": ^7.13.12 - "@babel/helper-replace-supers": ^7.13.12 - "@babel/helper-simple-access": ^7.13.12 - "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/helper-validator-identifier": ^7.14.0 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.2 - "@babel/types": ^7.14.2 - checksum: cb6930cb45cf078c3057f60769ad5f6ec3e6bbbcfc6ea069aa4b1ead15642fe43ada1bb1c13bed66bcde74c0c4ca12be818aff3067562494429b7688e6a3ea16 + "@babel/helper-module-imports": ^7.14.5 + "@babel/helper-replace-supers": ^7.14.5 + "@babel/helper-simple-access": ^7.14.5 + "@babel/helper-split-export-declaration": ^7.14.5 + "@babel/helper-validator-identifier": ^7.14.5 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: f5d64c0242ec8949ee09069a634d28ae750ab22f9533ea90eab9eaf3405032a33b0b329a63fac0a7901482efb8a388a06279f7544225a0bc3c1b92b306ab2b6e languageName: node linkType: hard @@ -534,12 +555,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-optimise-call-expression@npm:7.12.13" +"@babel/helper-optimise-call-expression@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-optimise-call-expression@npm:7.14.5" dependencies: - "@babel/types": ^7.12.13 - checksum: 9925679d67a809c42b990825ee31f5f02787f385e27301da3343487f6a84482c7e2ebdd2b6d1ed066c309218750f2b7f78ab44dbb25ea6152f71d22839962a35 + "@babel/types": ^7.14.5 + checksum: c7af558c63eb5449bf2249f1236d892ed54a400cb6c721756cde573b996c12c64dee6b57fa18ad1a0025d152e6f689444f7ea32997a1d56e1af66c3eda18843d languageName: node linkType: hard @@ -557,6 +578,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-plugin-utils@npm:7.14.5" + checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe + languageName: node + linkType: hard + "@babel/helper-regex@npm:^7.10.4": version: 7.10.5 resolution: "@babel/helper-regex@npm:7.10.5" @@ -577,14 +605,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-remap-async-to-generator@npm:7.13.0" +"@babel/helper-remap-async-to-generator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-remap-async-to-generator@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-wrap-function": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 40589d882990e38cd6d0ac860ded522bcacc9b064e14d3db01d2c661fdae28ee6c5e76bc55ddd0769edd5464b38ce8a396a353ae7f030d187eee9448327e508a + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-wrap-function": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: 022594a15caed0d3bbac52e27eef0f20f9dceb85921b682df55f3bb21dee6fea645b03663e84fdfaadc6b88f4b83b012858520813c15e88728bbc5e16bf3fa29 languageName: node linkType: hard @@ -600,27 +628,15 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-replace-supers@npm:7.13.12" - dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.12 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.12 - checksum: 9ac99070152157e74ecca16e161a3d5977f346cff19109d0ebb943553c3e5e064c4f3319e5517948406ca1990e8feff704726772b54e1b08951261023e072000 - languageName: node - linkType: hard - -"@babel/helper-replace-supers@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/helper-replace-supers@npm:7.14.4" +"@babel/helper-replace-supers@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-replace-supers@npm:7.14.5" dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.12 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/traverse": ^7.14.2 - "@babel/types": ^7.14.4 - checksum: 017dc1af598654b78c75a82310a6fa399d678feee0e9e7931b7728111381420443395faca92b0a4adec2ea7bec5ccfc91d595ddf39f3159f1a5c1962abb612d8 + "@babel/helper-member-expression-to-functions": ^7.14.5 + "@babel/helper-optimise-call-expression": ^7.14.5 + "@babel/traverse": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: 35d33cfe473f9fb5cc1110ee259686179ecd07e00e07d9eb03de998e47f49d59fc2e183cf6be0793fd6bec24510b893415e52ace93ae940f94663c4a02c6fbd0 languageName: node linkType: hard @@ -633,12 +649,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/helper-simple-access@npm:7.13.12" +"@babel/helper-simple-access@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-simple-access@npm:7.14.5" dependencies: - "@babel/types": ^7.13.12 - checksum: afd0a8d1c7530a5184cd6fc23175d765a3eeb16f35c83090a90cec1010fcca684d238287c2e0f7ea9c0939d52235603986bd73c61e689d600f5dd1d1ef0ca204 + "@babel/types": ^7.14.5 + checksum: cd795416bd10dd2f1bdebb36f1af08bf263024fdbf789cfda5dd1fbf4fea1fd0375e21d0bcb910a7d49b09b7480340797dcdfc888fbc895aeae45c145358ad75 languageName: node linkType: hard @@ -651,6 +667,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.14.5" + dependencies: + "@babel/types": ^7.14.5 + checksum: d16937eb08d57d2577902fa6d05ac4b1695602babd9dff9890fa8e56b593fdc997ad24de13fdaf15617036bfacf3493ea569898a5ac0538c2a831aa163f18985 + languageName: node + linkType: hard + "@babel/helper-split-export-declaration@npm:^7.10.4, @babel/helper-split-export-declaration@npm:^7.11.0": version: 7.11.0 resolution: "@babel/helper-split-export-declaration@npm:7.11.0" @@ -669,6 +694,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-split-export-declaration@npm:7.14.5" + dependencies: + "@babel/types": ^7.14.5 + checksum: 93437025a33747bfd37d6d5a9cdac8f4b6b3e5c0c53c0e24c5444575e731ea64fd5471a51a039fd74ff3378f916ea2d69d9f10274d253ed6f832952be2fd65f0 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.10.4": version: 7.10.4 resolution: "@babel/helper-validator-identifier@npm:7.10.4" @@ -690,6 +724,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-validator-identifier@npm:7.14.5" + checksum: 6366bceab4498785defc083a1bd96344f788d90a1aa7a6f18d6813c1d3d134640bfc05690453c0b79bbfc820472cf5b29110dfddaca1f8e2763dfe1bd5df0b88 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-validator-option@npm:7.12.1" @@ -704,6 +745,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-validator-option@npm:7.14.5" + checksum: 1b25c34a5cb3d8602280f33b9ab687d2a77895e3616458d0f70ddc450ada9b05e342c44f322bc741d51b252e84cff6ec44ae93d622a3354828579a643556b523 + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.10.4": version: 7.12.3 resolution: "@babel/helper-wrap-function@npm:7.12.3" @@ -716,15 +764,15 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.12.13, @babel/helper-wrap-function@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-wrap-function@npm:7.13.0" +"@babel/helper-wrap-function@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-wrap-function@npm:7.14.5" dependencies: - "@babel/helper-function-name": ^7.12.13 - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: dab4018cd2ec18056035f2771cb0f9bbdbaaeebaa33e022b76412b768157ad0ff9e3ff6a5cf6eeab6f3c43986a1c1e09610714bb5cdc5259607baf9bdb36fbd5 + "@babel/helper-function-name": ^7.14.5 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: d5c4bec02396f00d305ae2b60cfa5f3ec27d196a71b88107745b6be4fe257ebe54deedb6ee3997c8c9a2cc5c2571d567c22e9b866109490a2aa7f79a1a2272e2 languageName: node linkType: hard @@ -739,14 +787,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/helpers@npm:7.14.0" +"@babel/helpers@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helpers@npm:7.14.5" dependencies: - "@babel/template": ^7.12.13 - "@babel/traverse": ^7.14.0 - "@babel/types": ^7.14.0 - checksum: 276716f77cd5e439543e446bed25c1b541b855bb94ffe6f6193335653e17c044503fa194de25cc2f9208dbfa6b406c2cb77e4e0382f2ca4241bd6bf773dcd091 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: 5357b3cb9dbd7f3f031168abe8981ad30b2dd173d5dcfc2216af6f8d03081a37bd5accc526596da61e48c20cd6ceba8af61f1a8e7f4d2bcf8521051d214a7246 languageName: node linkType: hard @@ -772,6 +820,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/highlight@npm:7.14.5" + dependencies: + "@babel/helper-validator-identifier": ^7.14.5 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 4e4b22fb886c939551d73307de16232c186fdb4d8ec8f514541b058feaecdba5234788a0740ca5bcd28777f4108596c39ac4b7463684c63b3812f6071e3fb88f + languageName: node + linkType: hard + "@babel/parser@npm:^7.10.4, @babel/parser@npm:^7.12.1, @babel/parser@npm:^7.12.3": version: 7.12.3 resolution: "@babel/parser@npm:7.12.3" @@ -790,25 +849,25 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.14.3": - version: 7.14.3 - resolution: "@babel/parser@npm:7.14.3" +"@babel/parser@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/parser@npm:7.14.5" bin: parser: ./bin/babel-parser.js - checksum: 39653900d3a76fba8891fbe3e799f6619d2286dc57be0b95ce8d93e667eec4c52df58603d03fbdc11edcbd0b4110a5f7393538315e02a234178581033dbcb881 + checksum: 9fdcf174d9e9ab76b242a837307d5c513dc530f6080d0dd1b93d5e0338e80f0b8d71cc6afebd33f9ac22cf51d0427709efab8f3377757be56d5e58fe0b9d68ef languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.13.12": - version: 7.13.12 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.13.12" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 - "@babel/plugin-proposal-optional-chaining": ^7.13.12 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.14.5 + "@babel/plugin-proposal-optional-chaining": ^7.14.5 peerDependencies: "@babel/core": ^7.13.0 - checksum: 4064a70fcdd6552596404a57e4e50ac5300a9eb8792e86719199f2b2a610e9f6412a0509d32c8d249818d7b6387715b57a6a5b3c4316e6ed4af60e38e87b1e0a + checksum: 17331fd4c1de860ac78aa3195eb5bd058c4eb24a8f2c6e719f079f9c86cbdb53d9a8affc2f9f78b6fc257afef03811922c2d16addad5d5f6224d2820da1c9f45 languageName: node linkType: hard @@ -825,16 +884,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.14.2" +"@babel/plugin-proposal-async-generator-functions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-remap-async-to-generator": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-remap-async-to-generator": ^7.14.5 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1ac72b48a6b8c94ce34e3a970d4a1854560ce6f68c4637df7c64e0927a4e9845af7355ea5ecb47fa628896c5007e5298fc42e0703e38ce02a012759cddde0177 + checksum: 25e7a7f59ded5cfbf2d9f88cf05b30bc8170429f8e8798f343cc8e5c1b592ad7534105491ff53af5578eaff8c4e63d9fbad6d63382b98f30633248c1e63cf0e3 languageName: node linkType: hard @@ -850,41 +909,41 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-proposal-class-properties@npm:7.13.0" +"@babel/plugin-proposal-class-properties@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5" dependencies: - "@babel/helper-create-class-features-plugin": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e3cdfacb2d36c66204e3bf99b85feb521daed6e2c3d424f10eb3f722fe20ca0a2560fe9f5a01e5170a34a4f160e9ff02eb678bed81ee130f1c9d990ce8cd711c + checksum: fe2aa0a44f8ea121e10c856d6fb4fca418dc42451258ef6ed29321ca740080fba420ebd3d6700d0456c34c2ab2044f9ce4308498321f52a93184ff5adb015aae languageName: node linkType: hard -"@babel/plugin-proposal-class-static-block@npm:^7.14.3": - version: 7.14.3 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.14.3" +"@babel/plugin-proposal-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.14.5" dependencies: - "@babel/helper-create-class-features-plugin": ^7.14.3 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-class-static-block": ^7.12.13 + "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-class-static-block": ^7.14.5 peerDependencies: "@babel/core": ^7.12.0 - checksum: 9be3eb5f43f1ac920898aa21004bb4bdc7a214da0a2fc712082187a4a82a1f179ac344e7bfb2e73ac27113101d9639b1d97b4ca310d830171f6b49455d93071b + checksum: 0275d0643dacd08638c2d3c129158ad0c2dea6a26e78fa4b2129811a29460ff9a6459d1955a19bfa3b9ed67ba2bb3c88676823ad207b2de4f0c65e0c3751d75c languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-decorators@npm:7.14.2" +"@babel/plugin-proposal-decorators@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-decorators@npm:7.14.5" dependencies: - "@babel/helper-create-class-features-plugin": ^7.14.2 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-decorators": ^7.12.13 + "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-decorators": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ebf2a9f7475cf0771e43e3463de6a4da25c17c1667c5fb9853248da6018fbc7eb75c1c4195895ff50c8d6c2124ef36769e8b30d7e686e860aff1608528af1362 + checksum: caf02b34940b719a4e7648abef2f7397b50bcfb07ae631cc2dcee5d77473679bf4c6e1e5e5a467d0abb0fdaaadabc9d017259cb6e68c5dec8a20e3b7ef406696 languageName: node linkType: hard @@ -900,27 +959,27 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-dynamic-import@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-dynamic-import@npm:7.14.2" +"@babel/plugin-proposal-dynamic-import@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-dynamic-import@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-dynamic-import": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 24b407acd7afd2088ac29eb8b3dd496c8b41aae8fb9a08d9e1258dd317d2228aedecf4da47fa2c7ab6af0e3dab1b8b31a355e417b8dd3ce20b4905b1aba33ee6 + checksum: 47be4b5f8824f8690b47d99a34d52de0e6c19d0b99f26c1f9a2e4cc49e05082bcef7248c610bb3830ae84cec928713c7774f4929fca4fa72df570df7a76a9d2b languageName: node linkType: hard -"@babel/plugin-proposal-export-default-from@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-export-default-from@npm:7.12.13" +"@babel/plugin-proposal-export-default-from@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-export-default-from": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-export-default-from": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8232814734839c9b991ab76e18463d618073b756055c711445e570434d0359e694240abadd83f57aea1e7de2af83981c146a90e86c092604bc1c8ae07eac8c05 + checksum: 706f22a67bb45f3c7d998b5c0dba4c7263dec747427c2a086460475c10c45b61204c9252ff4ca1300be076d1fafca593d6ee53744f478d2f67447133abd8b92f languageName: node linkType: hard @@ -936,40 +995,40 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-export-namespace-from@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.14.2" +"@babel/plugin-proposal-export-namespace-from@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e34fc6b9262abb13cc8f3fce5bbc548ae9a98813cebff09bc2ff65bb3e10962ec8adcae668ae06f7cdee986d407ccebec4e4d8c5f551dfda0ae2819f0933d24c + checksum: b3f4e0cc196f7ad9132816bb350124e8932bc047ab946e431f85bae9649b0de384c54261a60c050a2b8220703408fc089f90349ad008ed69a70944a6f3048d0e languageName: node linkType: hard -"@babel/plugin-proposal-function-bind@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-function-bind@npm:7.12.13" +"@babel/plugin-proposal-function-bind@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-function-bind@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-function-bind": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-function-bind": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2d7a808b63751cfd8641c71a86100e534a6403cf821f12f87d1b7d16e108ebc54beabe2dfb5d271331d86307ff740f9bfd4a650f2bdc495a363350468dcb63b1 + checksum: d84af967a86400196c5df4325a521414e4e91292d163a5ee336925c6a00d8975464fe79f32c07a1eceaf334920d31dad647a26e84a7bee3f67b6f968f0801cdf languageName: node linkType: hard -"@babel/plugin-proposal-function-sent@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-function-sent@npm:7.12.13" +"@babel/plugin-proposal-function-sent@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-function-sent@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/helper-wrap-function": ^7.12.13 - "@babel/plugin-syntax-function-sent": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-wrap-function": ^7.14.5 + "@babel/plugin-syntax-function-sent": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 65a7ef7b792e00c2d0c566ac161541c072617714f4950ff52f2aa7e3aec2164bc2bd43c9862da40e283f82f91fc0012c81dff0b3902cc887ac10870f67694294 + checksum: 43fa723cd3e923ce28d4208a55be68c7fe2f983ea27a4d88c314cee595b1c58e4bf297f0aa98e8a5fbdd706302bb50d8d89e22e8a0d958366ccf0093a0ba3e35 languageName: node linkType: hard @@ -985,15 +1044,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-json-strings@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-json-strings@npm:7.14.2" +"@babel/plugin-proposal-json-strings@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-json-strings@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-json-strings": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2db971b41f1d1574909bad99646ac8dbc9f0beab581589663921b5c5b54dbd2a0a583559601bbb58140175fdaa74cc93591c3ae7141dfe56a547eced82a54fd9 + checksum: 51dafe70237860569c9c27dc6a0db83e149bf7babb0fcafa9dbcd55a960b443f7b5bb695956c6e116e46b3dbd2a6777ead62bcad843aff8c1916c1be56e2f504 languageName: node linkType: hard @@ -1009,15 +1068,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.14.2" +"@babel/plugin-proposal-logical-assignment-operators@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a31ca07a750a4f0b0e0daeaa0c82bc98255d8d935578d41c53354973e293b835a23c132d2edd508fb48676bbcc0efab6b6761caa8c48e32919f489558d1d0361 + checksum: 08b6dbc991c4824b0d8bfabf46c8254fce02d2df04627b8849cf15a4b6de75629c10c7c83d1e6834cdcebfc98b16264ce2dd32aa9c0fae900ed2af807d5ac42b languageName: node linkType: hard @@ -1033,15 +1092,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.14.2" +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4d0ca4f00092cce2bc325aa7ec6d47bed51b9863810d999f191289caf3ce954561a5823c3d85ffbee9bfa2be9aa5cf3554b118333d3097cb5463563727953e54 + checksum: 033d9483c2feb74928fbb83a73948eb1179c8852d2ae507fbfc37752d2dbf702c9ad0daaf1eaa029f81b12b7e2470061b4f611db88b7293f0e9a71eba288a430 languageName: node linkType: hard @@ -1057,15 +1116,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-numeric-separator@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.14.2" +"@babel/plugin-proposal-numeric-separator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-numeric-separator@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-numeric-separator": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 19d0bc6e2942b427864d8e15ec9a14d3d450f3982f42ab5de5fa106b2feb9a49b0103eacbfd25c04754b6b8e7c478c4e8ee289349686f71d22f9794fb3e408cb + checksum: 22093297ec9aed3938b39f4efa1b518252fe7b0835902c3066f0ae6a864ac253b986a4a21a6092aa068d0702d7b09bed74e56cf39f2da8b4f3f43e0747bffb62 languageName: node linkType: hard @@ -1082,18 +1141,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.4" +"@babel/plugin-proposal-object-rest-spread@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.5" dependencies: - "@babel/compat-data": ^7.14.4 - "@babel/helper-compilation-targets": ^7.14.4 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/compat-data": ^7.14.5 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.14.2 + "@babel/plugin-transform-parameters": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 027c9cdd6e8bc5d7590e2f22d77dea0be94f1bf7ae0e7a7fa071e634998ccb4a6c6879720f20b877d1ab28940e9fc6c22b023d7e3f1d2c4a88f205d5a9d4d0f6 + checksum: bbb37168d5fd6e357fea1bd7f20cb4051661ba548b84aab961a7ab7ba142f2b82e43a7e9bca3e68318b26c0d79d7655b1d2b176ae8533862fca584ee98b001cf languageName: node linkType: hard @@ -1109,15 +1168,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-catch-binding@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.14.2" +"@babel/plugin-proposal-optional-catch-binding@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b848a30f2420e8530e61628425fb37269df6d4c1871f4355cedc361515b0161fb6e5447ed2287a1aab3b56e3777a140fd5c4c2086270769d6804d0b3367ca70e + checksum: f9c1b2b34fef1bde85feeb0b438131f526056161e10b6fb91c74a5828ad39d2a20521b5c3cefc7367a7e5fc792b7c7e607bf278d7999b5d89824c34af3174eae languageName: node linkType: hard @@ -1134,16 +1193,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.13.12, @babel/plugin-proposal-optional-chaining@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.14.2" +"@babel/plugin-proposal-optional-chaining@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.14.5 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 29336a5170a9c363c8e80dec2d90e0e236eecfe10647eaf7baca8a48530f837b6612674d880781ff8996b07b557768a46cdecd44e944d4dad4cd7e6fa181ac84 + checksum: 9e39e20d162bea2241b4c24ea8a339f872a04954a5155c606bf2437edaa1a15b8a517daee4b2b09cfd42d826b93c57f080aa9fbb13c60a8f3a7a72963badf2df languageName: node linkType: hard @@ -1159,41 +1218,41 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-proposal-private-methods@npm:7.13.0" +"@babel/plugin-proposal-private-methods@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-private-methods@npm:7.14.5" dependencies: - "@babel/helper-create-class-features-plugin": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3c8cdc29b371d16898a0dc01dd67f4269bb6b2985e79ff11449428414a3993a52b24ab61dbfe080352548a72bab28b9e99fe2108c40eacb8f5f9dfa9cb50f7d5 + checksum: badacc1d68c8cf92a7ba973e3c283bc3aebf586a6573b6d18a96461ce18039d4cdc0135edac1b810df8d92cfca628115d98a0ad83ed8f15bf15eaff21539bf32 languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.14.0" +"@babel/plugin-proposal-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-create-class-features-plugin": ^7.14.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/plugin-syntax-private-property-in-object": ^7.14.0 + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b29a2c137adfdf4a234a45925d104960454c996baaf6ebb76072a64f98203384023fe7c675c18077f916bca7d37c1ed5d5662f5e85de994a13bdfdf46919d229 + checksum: a11da6a52eb13d6dcb6ed36993a81e9746404f6e83d32be16142911b7e5768293d8c4c5373d182ef25cb94d0b18c0c27a07f4553be042ee2dc49f7179f8cbfe2 languageName: node linkType: hard -"@babel/plugin-proposal-throw-expressions@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-throw-expressions@npm:7.12.13" +"@babel/plugin-proposal-throw-expressions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-throw-expressions@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/plugin-syntax-throw-expressions": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-throw-expressions": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0e9c267aec262ecdd5ee98365602cf74ee3be194bde448fed587c4cdc2ab63bd9a95053cd0485458c3b8dc27e31f1e9946349590fd1ed84352e5efc05dd1b87c + checksum: ed1e8f39a28ef55e1f6d7799423312db02f41f4d0c4ee1cb7707a7c26c992221df50df429cae6019a7df83f4a856394dc331a8c8fd3109182da181ebfbd00bbd languageName: node linkType: hard @@ -1209,15 +1268,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-unicode-property-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.13" +"@babel/plugin-proposal-unicode-property-regex@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-create-regexp-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c93f96c65f3ba21ad5eb203f1e47c15e1c3addf57d7a27463a82bd7487835ecc081a7ddb8602f87721ecc1a9e2f01d65ee9d286bfeb93d8e8b2c54d3897769e2 + checksum: 58bd3277a972a33d101d29ab4f52e964b6e8ec218eb84f764b4ea67bf8ed362909760812d3f7451ee5e54dc273bd81bc5a00cd2c13e8fb64a47ec117cb69d51b languageName: node linkType: hard @@ -1254,25 +1313,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.12.13" +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dc115af594e3f115eb3bdd0cc7b5f57cb1ae2beffb41aff3ee0bff78426fe0d6c18b58408c752a71312f7172a5f95005c1d8bf302269c457c52dabbaa52b999e + checksum: 3e80814b5b6d4fe17826093918680a351c2d34398a914ce6e55d8083d72a9bdde4fbaf6a2dcea0e23a03de26dc2917ae3efd603d27099e2b98380345703bf948 languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-decorators@npm:7.12.13" +"@babel/plugin-syntax-decorators@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-decorators@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ac7e977d8e2b3ecc7cd30e4165d280e237642d399724df48eaac52ea2dc414b1a5f23db3d95b7400ef5900d7237c0e1d54cb16fbbf215c0cd45ece0b243e71c3 + checksum: 7e725deeba3848e8e1b57bc8a74c1a852aa253b9ffd293aa0bc043b93e1e7b669414caae3d20c653d2fab907a9388e526f2138e3783b22e49272098566cf9734 languageName: node linkType: hard @@ -1287,14 +1346,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-export-default-from@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.12.13" +"@babel/plugin-syntax-export-default-from@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2d9a14068bd6cabef014264125a422e842c976ad819d05820fa4b774dc06769998f86d574b244b198d1b2c9772d33af5f8c57fbe513c37f3820a8032d1af223f + checksum: c480fad64ac4fd1d7c6f54250999adb7600263491d15be28998bc7d2aea4cae12966e905d80d69f9d98b170ee28d164a7529025f250e2a285d97dff9d421fe48 languageName: node linkType: hard @@ -1309,25 +1368,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-function-bind@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-function-bind@npm:7.12.13" +"@babel/plugin-syntax-function-bind@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-function-bind@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2edea78f674bc50da8a37deca15d2dca0f2b1d3bf001e59efb4d088b034989814fef7306c38924575206d76971cbd6772901aea310fb7dba7b39a83c87c8e8be + checksum: ffc7e4839f737b93d1c6d2206471d70c6162c73c69bdebfab16aaa250f1fb200ef9e64c3a217468437279241ebca609e6349c8af95ae9093f7f89c929459f676 languageName: node linkType: hard -"@babel/plugin-syntax-function-sent@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-function-sent@npm:7.12.13" +"@babel/plugin-syntax-function-sent@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-function-sent@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b7edfc7aba52b1a7abfc509cc6a862616cf715274a54abac3cf0766e32816767fb7afa488076bf86352eef49938ae1260d1cf2bdceaa0db1f5e75483392f7119 + checksum: f11c335a317ad1ee1a722bb62f0ec4e1de57580571f67be312514eddfbc722bf01d74002d017daab9e662345e465cee9e5301ed5e52caaf5e2b8ccfc0b40d7aa languageName: node linkType: hard @@ -1419,25 +1478,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.0" +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 71952c6da1922034e02be59aa7e6fbe9b399e67d36b2ab68fe69c9bdca824564ffe35de89142fe81620f0531f06897cb0d57e37b2406bfc63340f194a181eb5e + checksum: b317174783e6e96029b743ccff2a67d63d38756876e7e5d0ba53a322e38d9ca452c13354a57de1ad476b4c066dbae699e0ca157441da611117a47af88985ecda languageName: node linkType: hard -"@babel/plugin-syntax-throw-expressions@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-throw-expressions@npm:7.12.13" +"@babel/plugin-syntax-throw-expressions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-throw-expressions@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a556251a4ee02a90eaa3d6d51faceec4a3ca551626d5ff6a0eb92a92305485f22c3d795e861c3a569cd7ab44062ad213082bb012d9115a67f95af119cd3440c + checksum: 69803b09160559d4831b79966ab0fdc4cd3b683e18fa55d62edc6b5b5970fc6feb68c648d7c885d060fbd38533574ecb7deb07e26f4061e4ef6024f88e62d2b0 languageName: node linkType: hard @@ -1452,14 +1511,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.12.13" +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 74cf8c8b8715ec0de6c55b96af4907cfa3bbf87dbaecdc4c30acac8c30d281d62c578001faf8f99e1884e1ccb933f5a919eb184c542b92fcef7bdefe64482c39 + checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e languageName: node linkType: hard @@ -1474,14 +1533,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.13.0" +"@babel/plugin-transform-arrow-functions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cbff8005c7f855990e0a1d9ce3e9d8836118bcc53da5e27f8449d89e1328ec0abbd91e16520f6eb60d8c95c037acddef246a6c84ec2d1ab6ae838d20691c933b + checksum: 126196ea0107e97f711c0d48d8d1e01a30f5a5e127628f7367658b4c5832182c4e28914294408374690c5bfbb4ad4fe6560068d8bf370cafe8d4fe23599aaa95 languageName: node linkType: hard @@ -1498,16 +1557,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.13.0" +"@babel/plugin-transform-async-to-generator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.14.5" dependencies: - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-remap-async-to-generator": ^7.13.0 + "@babel/helper-module-imports": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-remap-async-to-generator": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d2c5930781d7a5b93fcbec2b28e6de2fe5af44263840310e9042402e832829844bab4c2e561bf48e3538ad4c77264b4896fd679e930c8c489f760719c6050c85 + checksum: 4c47016c5f65adaa5836054fcc99402f1d295aedd7ebd44e6df128a90977952f2a8abdf3b3d0aa5a9e1186184da538452c4d9a3b1482376759c6962627201da5 languageName: node linkType: hard @@ -1522,14 +1581,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.13" +"@babel/plugin-transform-block-scoped-functions@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a0e843afe18a83308a786e8838f9aa2274ffee3b3385c62d61ccc36267273b043700c180050cc944af64281c55870ba7a1eaed6d2866ca1bbc59789c42a86d6f + checksum: 9994d9f107308b21be043de115fe1d06956807d93a3039ddab54333d1fbb39ad50cc5f9eccaedf5317f4699230e923662254974f3a974c4f000e986837bc020a languageName: node linkType: hard @@ -1544,14 +1603,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/plugin-transform-block-scoping@npm:7.14.4" +"@babel/plugin-transform-block-scoping@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-block-scoping@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3a515294c3f613dc5039d67f26d733c07d3990ec637dc6e1b26e7a3dde8e8527598cf8c6eb1fa4c744b12e5e69116c3983b918718b89421e4c97c51c800031b6 + checksum: d317d636d0475317302e9c8b01cf9214fac3ff9353b23d0d16285f196f5c7b95b7864a8e8eaf51a3e1b650649203855f80a58b7a2caef4b0ee9793e7349a0ec5 languageName: node linkType: hard @@ -1573,20 +1632,20 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/plugin-transform-classes@npm:7.14.4" +"@babel/plugin-transform-classes@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-classes@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.12.13 - "@babel/helper-function-name": ^7.14.2 - "@babel/helper-optimise-call-expression": ^7.12.13 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-replace-supers": ^7.14.4 - "@babel/helper-split-export-declaration": ^7.12.13 + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-function-name": ^7.14.5 + "@babel/helper-optimise-call-expression": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-replace-supers": ^7.14.5 + "@babel/helper-split-export-declaration": ^7.14.5 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b80b80db32e6060cc3d09400437d41ecd24d59f5a9ed7f2c02a09423fcd5853fe381c8fc453077468ea682849d1ce588d58d097fa3bfe6e3e86ceec47cc45ae + checksum: 42fc333a0d8a6a90b5c75e90d2ec21494f711ab7c58f2d074d95726cdd38f137e74653602a82d2d1a3e9bc504b5eff62418d70048514b672c9bd108bfb866e25 languageName: node linkType: hard @@ -1601,14 +1660,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-computed-properties@npm:7.13.0" +"@babel/plugin-transform-computed-properties@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-computed-properties@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 258663c9f10b28f91dbedf17dc1346fc7b0341db859bbd6fe199bb663f97f65cfd33673728939a5008ac7a600afeaba79851a0fdb65b5d2e434e4e3a697d26af + checksum: 87bd4c46255359ab8d53d0e9b5aa5e1ef218c1447874bd8c2eff759d3a2b5fe6b3ec55046babe0087f7e3890f6167524c729737e912080ea1c9758a559765130 languageName: node linkType: hard @@ -1623,14 +1682,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/plugin-transform-destructuring@npm:7.14.4" +"@babel/plugin-transform-destructuring@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 92e40e442f9a183d1ce56b23d55207d7b8593b3b4366df6082ffe7d0534df3a5367ec124dbd8397425dccb4b63396b282e4348a5ca2457cc10c73a8cc7a00d8a + checksum: de84180c4f0c70e1b42c01142a13884a9bf2fff0462fea10d354330a17dea32fbb78874f7b676a80b966acb43050938e908ac2b16b695f0f2d02ea2ba7590cdb languageName: node linkType: hard @@ -1646,15 +1705,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.13" +"@babel/plugin-transform-dotall-regex@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-create-regexp-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 084f028be4a1e534b8b4e96176656fca2a2d2603564f7df434934d11b7cd154feaae8f12a443f5522c9d09e96b4214194d1bc84745832b6ff4029a8eef85879a + checksum: 4da3dac9580823c1fe8aaedf6109d3a26d17ad7ef7d1b278ddbcd7c148e02c465cf49250794529a34bac0bda6b53db558ae08d185a96b76efaaa17a5da3911df languageName: node linkType: hard @@ -1669,14 +1728,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.12.13" +"@babel/plugin-transform-duplicate-keys@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 11a7a5f905ab4a2cef70eae6ee01d700fd6c8c7d83ffca3b5bca6c95dc4e367c2b44780b1f765f3d4f1719429c90fdac54cc314c54ce3d9e480b22bcc45fc261 + checksum: c6c951d2f7ed528a8103d08293d4aaf95efa38c697e7b2b27b7e6c9780280484373e2f7ef8d77daf17dffdc86748fbf75e776e0542b1c7b17e29308bc31ebd8c languageName: node linkType: hard @@ -1692,15 +1751,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.13" +"@babel/plugin-transform-exponentiation-operator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.14.5" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5e7db7df2ad944ab52f7669a70a2a1d58a6af239be9cbe46cf2b85291d848fce27923f4f5e6594cce813ea3a7d3ce7a124db490ab18b88061c463e86f67eb9d7 + checksum: 7588a582d0bc5c80fda7f1c631354a35a9a7d284dd80ccaf2bbfd086a39a9d6461718dc7dd45a3ca59228593270a7c6a907a9cbe7ddc349d80c7342af0263c5c languageName: node linkType: hard @@ -1715,14 +1774,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-for-of@npm:7.13.0" +"@babel/plugin-transform-for-of@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-for-of@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9441f12520b2446f7ec2010f7b5cb6c193ba71b8bb65359b85e7e8616783d830850a4ac05d966f720497e6621835cf27ab8ff967db28c59c5535b6b311672e8f + checksum: aeb76eb11d10b2390996001e2fd529bbaf3695edd306d24e4eba87b8137c10a6afda3896017f88fcf40fd2334cc424c0a111fad34e10c747e81e577e5957e328 languageName: node linkType: hard @@ -1738,15 +1797,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-function-name@npm:7.12.13" +"@babel/plugin-transform-function-name@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-function-name@npm:7.14.5" dependencies: - "@babel/helper-function-name": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-function-name": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1330ba357664efd17050bc89a2c3a0bc0c31aa82c4aa42616fbbfdf6aff2093aa2f07a8f486fde493fa3859a8b6f2986b5a583cf392bfa8ddfcd47a71f05d253 + checksum: 3db2fa1bcd21b76a91ce78db8ebca047fdadbf198f816e2621e531a751a0d40976cf2a25262dee9352fd0c53bff5b25fddefadebdbb4ba3da6d89b849ab075b6 languageName: node linkType: hard @@ -1761,14 +1820,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-literals@npm:7.12.13" +"@babel/plugin-transform-literals@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-literals@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 13ac72edd9c960d0d248c6a73fa2ba7b748e5051a21fd409cb48ab9d133b852ef0d281d6dc6f803e8b619236284d8171c50f025b7721aff9bf719ec39792521c + checksum: 2341cfaaf8ac7199c578407ea4de41205d3d74c5a48899aa96c41b08c09d18c46d9018fdc6a2f69f0bccc2662223afc47b60130ae4ff36a79351fface71a61f3 languageName: node linkType: hard @@ -1783,14 +1842,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.13" +"@babel/plugin-transform-member-expression-literals@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 922d24402d6d79aef19ab53879f45cb0ae4dd6756634d36bd77e8fc95d2003fab7b156e41dd7fccca1dd296363ba43c14b5344ded282e17e9fd9f02701a2f54e + checksum: a94ff910e8d0e28effd58c64f2d15c9772ea4c209644f116fd81dc5c93ce232304f42ef14d5ec2baf095c824786698fcf6c1d4c91952dc3762350f4ec0eb1f17 languageName: node linkType: hard @@ -1807,16 +1866,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-transform-modules-amd@npm:7.14.2" +"@babel/plugin-transform-modules-amd@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-modules-amd@npm:7.14.5" dependencies: - "@babel/helper-module-transforms": ^7.14.2 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-module-transforms": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c65b72b99012aeab906098a5911f2e9889df314be626c625934e0fcc65c7851413d97aee76e2c6cdf57c812dc9dad51d1f938c9f78dbb901780936d75106636f + checksum: 963d9ebb11b282d5c5f462e3e1ad6991e60fb4d190b5a7aa0d9937e0fa83d89cf5f94268f0b0b343576f2cee0cf545bcaf40da40eb8b9dca5c79840fd86a65ed languageName: node linkType: hard @@ -1834,17 +1893,17 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.14.0" +"@babel/plugin-transform-modules-commonjs@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.14.5" dependencies: - "@babel/helper-module-transforms": ^7.14.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-simple-access": ^7.13.12 + "@babel/helper-module-transforms": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-simple-access": ^7.14.5 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e0713913fb6cc01c7862d12f0d035d10d37b791f52be1ed191a734c40b0f99dbe904fb19772959b31cbf288ad45a2f5b03f75d935f95ec58a948e59b957d39ac + checksum: 5cc41ee904e421c32f692ce10985190bc8f995df63ee1fd899ea80ce50b4b8408c7f2fddf16e01345244fc5702c8b9c0772afdd934e325c4e468840daa9bee04 languageName: node linkType: hard @@ -1863,18 +1922,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.13.8" +"@babel/plugin-transform-modules-systemjs@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.14.5" dependencies: - "@babel/helper-hoist-variables": ^7.13.0 - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-validator-identifier": ^7.12.11 + "@babel/helper-hoist-variables": ^7.14.5 + "@babel/helper-module-transforms": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-validator-identifier": ^7.14.5 babel-plugin-dynamic-import-node: ^2.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 36628a3398bebd138c23adb4ad2505ddfecd0f9a8fce3915a727f9bb9afac3a42b94d0bed73a79e3cd34b21eb9dbd3baebd212299302e567a856ba870b0deff8 + checksum: 3ca0bb1c0c22a3d705476186afa9fc86398ae4662afc259ff29c1942e3c8770f4bdadaf67418a21816964d4e1eaf07412eeabccccfaa9d45eac735f971ad148b languageName: node linkType: hard @@ -1890,15 +1949,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/plugin-transform-modules-umd@npm:7.14.0" +"@babel/plugin-transform-modules-umd@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-modules-umd@npm:7.14.5" dependencies: - "@babel/helper-module-transforms": ^7.14.0 - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-module-transforms": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cc9fab66aaf36a6a5113414028ed9c000daf13aa191a0d9529293ed096251c1782ed4eee489aaad94f1c531cb87c4fe9c1e230cde9afc33685230016a514889d + checksum: 455ff383bed47e104d4b2b32f11bc5a44a25c797fad26b5eab9b8a81856f9945350b45ad28b9b20b0bbf324832c7a826c9c3d6f865e85c26a1771663132e4145 languageName: node linkType: hard @@ -1913,14 +1972,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.13" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 + "@babel/helper-create-regexp-features-plugin": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8ef970be543c3c52a58171f98359472b7015a1572fd19005d7a98f2d783d80b5c7f99ebeaf2cc531e034ccf83baad80927722d9b1067eb1d1033b9292d265cdd + checksum: d9e796d32b902b81cf5a5e59ee49e647f790fbc78f6fb375087276c14725c0070728fafe30d9bce42b5f901ce91dda01403fcb9e7b83e32d1a775ed8489f6314 languageName: node linkType: hard @@ -1935,14 +1994,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-new-target@npm:7.12.13" +"@babel/plugin-transform-new-target@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-new-target@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ecc3d910d42dac6bc2e02fa2e58285c1bf8c79295172fbbade8b13217f3d305209f24c29ff93c28745122b46fdbb93aaea9e9ebd390337a36949ddc48d1e1da8 + checksum: 5b806c86926cd0b03fa2f22cf21a6d6a86e5831b80e8a1e898877acd3a03fd07078e45da33b671200ec98a5c7ac9be2f3592cd88933e262feffba248ca7ca4e7 languageName: node linkType: hard @@ -1958,15 +2017,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-object-super@npm:7.12.13" +"@babel/plugin-transform-object-super@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-object-super@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - "@babel/helper-replace-supers": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-replace-supers": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 558d660ad0d8121da3c6f874a06335309009a329179642f50afe2ff1b6a326cc552c849711dae79a8a755ca3c640e17cfc1a4fa58bd731c6c84b65dceca2e80d + checksum: 88477a8b27e76042ffbff1345088422f5b3135346d69f264e71d90b3749a3d73d5a579c97a33cd11c61c5d499a655911c7cd97dbe68edb36e090dfd5f154d777 languageName: node linkType: hard @@ -1981,14 +2040,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.14.2": - version: 7.14.2 - resolution: "@babel/plugin-transform-parameters@npm:7.14.2" +"@babel/plugin-transform-parameters@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-parameters@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 82e7470b0a525da09531b78203c469c1b255ecbe9b527f700378335c76667d3106d2363fc553fcb743314da072dd73740dc07d41429e48c70390fe226c9b08c4 + checksum: 932bc616be7b5542ba2371c85cfcc579a8556b9e5a5ea5535b7f0ec5b68284ed2a3724ae181f1a22719b5ea6539c82f5fcee37d9f45f08ed72eb9e43a0940b56 languageName: node linkType: hard @@ -2003,14 +2062,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-property-literals@npm:7.12.13" +"@babel/plugin-transform-property-literals@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-property-literals@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a6cca236d52d7ba7e506bf9448ff7ef9ac135e7c912aaa882a2f6cb8cda2acf97fc7f87fc0975f0375848db64151e1bf4f370aad0e88501a33c8848f1b838705 + checksum: 426e7b13a048220314e35bd4e6732640293c616173ef05ceca3a2bfadd043199e35ec693f1604f77178c3a88bea241b6d7ce92d8fc837faeb37117ad7866350f languageName: node linkType: hard @@ -2086,14 +2145,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.13.15": - version: 7.13.15 - resolution: "@babel/plugin-transform-regenerator@npm:7.13.15" +"@babel/plugin-transform-regenerator@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-regenerator@npm:7.14.5" dependencies: regenerator-transform: ^0.14.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e4c253945bc27c6ae9a41b1190b62b03d8f951879f41c58b097b3e63006e3b24dc93e8754d9cb4f95693851e669208329ea281f4a9a79a5dd33043fb45300c2a + checksum: f606bc04da7d0cfd651914cb144e85a0ea6fe20ee453ed21d002747cc47b09c853bc97166c32dc47e959581b772d9883f7d96d1c8e795c81ed21dbbb300e3aa7 languageName: node linkType: hard @@ -2108,14 +2167,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-reserved-words@npm:7.12.13" +"@babel/plugin-transform-reserved-words@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-reserved-words@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 61bee23ba9659e79da585d886a70340c1ec64d02bd37d18952249b6f0b62015bc81c04a25f34c7960916fe3fac72f091a15fc55d6220cb194a053b2d0c0e9539 + checksum: 8a40d7b48e1b4a549272d603e7b28ead70213e12353d65edd07156b7169d7933cee8b79987b54f374f3c41b835d941aca4b13b8aa23a922c94113af2131ca686 languageName: node linkType: hard @@ -2130,14 +2189,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.12.13" +"@babel/plugin-transform-shorthand-properties@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 32322d9a3bc9426e717b19c83bc224f20c766fe4b99a5a8a68cdc2b6d24403d017d6340ea50c5b9e6c31a4f7a8427bc7d0bb9cabf9f8d80762af081cad1a2d60 + checksum: 60cdd17e347a6a0973c8ea5c08ae4b3f8e59ce0e188453c4bda045d2a5c34495af8e0e9393631aa9f3fd51282455b9c5d6ba07e262576171dbe2b4094bdaf8ad languageName: node linkType: hard @@ -2153,15 +2212,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-spread@npm:7.13.0" +"@babel/plugin-transform-spread@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-spread@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f885e68cc4f91f8e3fb2f0a4b182ab52182a542b2d3511360313965053410c89058ff0de64007cae3ee212787f63074730d8c9b3888c6dfbbf039fad694c792b + checksum: bda5645fe462d22284b3f20f0376630551c645ddc54f1973361e9d31c814caa028960cc98f897f4ef79e43330ad6595c11fa5f56a15488ed280f2c36600d0e02 languageName: node linkType: hard @@ -2177,25 +2236,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.13" +"@babel/plugin-transform-sticky-regex@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 41b9e016589441e985db2e5a7c7e907bbbbeb19876d82efc9482db9beb929c29e3f1ad8edbab7906a406bc41a55aee6708147c2ed3e4f9a7a3285aa9e723b7b4 + checksum: 6d77e0641c4c72203d592d54fdb11770de22a34d659d3335e4c537e95b930d03142b11f1d41d103da3de063c628a0f34bdd4c6534b591bc59d9ce67fafb836dc languageName: node linkType: hard -"@babel/plugin-transform-strict-mode@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-strict-mode@npm:7.12.13" +"@babel/plugin-transform-strict-mode@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-strict-mode@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5a1f9446f0e215aaf632314873e18a7b75fabea0f9097ce44bafa5cb90026379100e2c625ff9dacfedb6d330b961c17221f7e8ddf036a248ff46b5a2db157a1c + checksum: 22b4d23d0fe24aec870db751569a69d1e7a66faa5e88c9191c42872b26b05073c773aa02d0d188f97a8ff044bdaefbaf97ce30126bdc014bf879f45f13dfaacb languageName: node linkType: hard @@ -2210,14 +2269,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/plugin-transform-template-literals@npm:7.13.0" +"@babel/plugin-transform-template-literals@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-template-literals@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 463c8462fcfb33c8875d4ebc7d2826d2a5019b00bd5c05a6c890d969e72c9010c33a1033a934347d8b51734854602b8afc96f3439d1402890787d988bfc935dd + checksum: 56d273470c16e83bac1bfab5057a64f23191b51460a009b522b3b29806d7a9f64cbd94323836ceb997c4f331b85564f952eb5566c7bd140d0b278f0191a31985 languageName: node linkType: hard @@ -2232,14 +2291,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.13" +"@babel/plugin-transform-typeof-symbol@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6dbe460c12d6924348ae4e75f34143d39db73cb7a52bcd16a61de78cf9f9d000e7b95be0e2221d75a79150f703195a895c436782b72442c4456a1ea30a061ecd + checksum: 1e71ec00ea8b64522b8677c030f334cc5b3833a5b7269a152a2ba7a6b36f0e0a4333a61072e69113e4062e71554d4751ef2e3ddd5e81994978123323f266981c languageName: node linkType: hard @@ -2254,14 +2313,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.12.13" +"@babel/plugin-transform-unicode-escapes@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cfc34c5ab4438e89cb50c93059066d78aa6eaf957e33a00eb7aae76fe1de53aa8c956a6be9cd9d956a3a4df8090b490bcc5021958546e61785095e492f5bb180 + checksum: 2a6979c5b886d9c7d9d3887374d75384542fe05a71eb7738b2cde659386089a930d37d1a34ffb4b87def98fbed3526d78b7cd5dd9bffde4d406b368faba81b7d languageName: node linkType: hard @@ -2277,15 +2336,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.12.13" +"@babel/plugin-transform-unicode-regex@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.13 - "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-create-regexp-features-plugin": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b472c8403b33dbd707f33e0c819433299bbfb0b776dae241b2285b684e8c705bb3afb78bebec18475d4678a845826525288b354568c425112139b885cda730c2 + checksum: 1b7a4c0dc6b07390f991e7cac8409f7a1ae74495d94b9e1fb5a716d5362a349a35717cfad883074e3f80e16bb630bbd1986a3436f739f6b01c30a96ef3f9ea9a languageName: node linkType: hard @@ -2365,33 +2424,33 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/preset-env@npm:7.14.4" - dependencies: - "@babel/compat-data": ^7.14.4 - "@babel/helper-compilation-targets": ^7.14.4 - "@babel/helper-plugin-utils": ^7.13.0 - "@babel/helper-validator-option": ^7.12.17 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.13.12 - "@babel/plugin-proposal-async-generator-functions": ^7.14.2 - "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-class-static-block": ^7.14.3 - "@babel/plugin-proposal-dynamic-import": ^7.14.2 - "@babel/plugin-proposal-export-namespace-from": ^7.14.2 - "@babel/plugin-proposal-json-strings": ^7.14.2 - "@babel/plugin-proposal-logical-assignment-operators": ^7.14.2 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.14.2 - "@babel/plugin-proposal-numeric-separator": ^7.14.2 - "@babel/plugin-proposal-object-rest-spread": ^7.14.4 - "@babel/plugin-proposal-optional-catch-binding": ^7.14.2 - "@babel/plugin-proposal-optional-chaining": ^7.14.2 - "@babel/plugin-proposal-private-methods": ^7.13.0 - "@babel/plugin-proposal-private-property-in-object": ^7.14.0 - "@babel/plugin-proposal-unicode-property-regex": ^7.12.13 +"@babel/preset-env@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/preset-env@npm:7.14.5" + dependencies: + "@babel/compat-data": ^7.14.5 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-validator-option": ^7.14.5 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.14.5 + "@babel/plugin-proposal-async-generator-functions": ^7.14.5 + "@babel/plugin-proposal-class-properties": ^7.14.5 + "@babel/plugin-proposal-class-static-block": ^7.14.5 + "@babel/plugin-proposal-dynamic-import": ^7.14.5 + "@babel/plugin-proposal-export-namespace-from": ^7.14.5 + "@babel/plugin-proposal-json-strings": ^7.14.5 + "@babel/plugin-proposal-logical-assignment-operators": ^7.14.5 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.14.5 + "@babel/plugin-proposal-numeric-separator": ^7.14.5 + "@babel/plugin-proposal-object-rest-spread": ^7.14.5 + "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 + "@babel/plugin-proposal-optional-chaining": ^7.14.5 + "@babel/plugin-proposal-private-methods": ^7.14.5 + "@babel/plugin-proposal-private-property-in-object": ^7.14.5 + "@babel/plugin-proposal-unicode-property-regex": ^7.14.5 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 "@babel/plugin-syntax-json-strings": ^7.8.3 @@ -2401,50 +2460,50 @@ __metadata: "@babel/plugin-syntax-object-rest-spread": ^7.8.3 "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.0 - "@babel/plugin-syntax-top-level-await": ^7.12.13 - "@babel/plugin-transform-arrow-functions": ^7.13.0 - "@babel/plugin-transform-async-to-generator": ^7.13.0 - "@babel/plugin-transform-block-scoped-functions": ^7.12.13 - "@babel/plugin-transform-block-scoping": ^7.14.4 - "@babel/plugin-transform-classes": ^7.14.4 - "@babel/plugin-transform-computed-properties": ^7.13.0 - "@babel/plugin-transform-destructuring": ^7.14.4 - "@babel/plugin-transform-dotall-regex": ^7.12.13 - "@babel/plugin-transform-duplicate-keys": ^7.12.13 - "@babel/plugin-transform-exponentiation-operator": ^7.12.13 - "@babel/plugin-transform-for-of": ^7.13.0 - "@babel/plugin-transform-function-name": ^7.12.13 - "@babel/plugin-transform-literals": ^7.12.13 - "@babel/plugin-transform-member-expression-literals": ^7.12.13 - "@babel/plugin-transform-modules-amd": ^7.14.2 - "@babel/plugin-transform-modules-commonjs": ^7.14.0 - "@babel/plugin-transform-modules-systemjs": ^7.13.8 - "@babel/plugin-transform-modules-umd": ^7.14.0 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.12.13 - "@babel/plugin-transform-new-target": ^7.12.13 - "@babel/plugin-transform-object-super": ^7.12.13 - "@babel/plugin-transform-parameters": ^7.14.2 - "@babel/plugin-transform-property-literals": ^7.12.13 - "@babel/plugin-transform-regenerator": ^7.13.15 - "@babel/plugin-transform-reserved-words": ^7.12.13 - "@babel/plugin-transform-shorthand-properties": ^7.12.13 - "@babel/plugin-transform-spread": ^7.13.0 - "@babel/plugin-transform-sticky-regex": ^7.12.13 - "@babel/plugin-transform-template-literals": ^7.13.0 - "@babel/plugin-transform-typeof-symbol": ^7.12.13 - "@babel/plugin-transform-unicode-escapes": ^7.12.13 - "@babel/plugin-transform-unicode-regex": ^7.12.13 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-transform-arrow-functions": ^7.14.5 + "@babel/plugin-transform-async-to-generator": ^7.14.5 + "@babel/plugin-transform-block-scoped-functions": ^7.14.5 + "@babel/plugin-transform-block-scoping": ^7.14.5 + "@babel/plugin-transform-classes": ^7.14.5 + "@babel/plugin-transform-computed-properties": ^7.14.5 + "@babel/plugin-transform-destructuring": ^7.14.5 + "@babel/plugin-transform-dotall-regex": ^7.14.5 + "@babel/plugin-transform-duplicate-keys": ^7.14.5 + "@babel/plugin-transform-exponentiation-operator": ^7.14.5 + "@babel/plugin-transform-for-of": ^7.14.5 + "@babel/plugin-transform-function-name": ^7.14.5 + "@babel/plugin-transform-literals": ^7.14.5 + "@babel/plugin-transform-member-expression-literals": ^7.14.5 + "@babel/plugin-transform-modules-amd": ^7.14.5 + "@babel/plugin-transform-modules-commonjs": ^7.14.5 + "@babel/plugin-transform-modules-systemjs": ^7.14.5 + "@babel/plugin-transform-modules-umd": ^7.14.5 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.14.5 + "@babel/plugin-transform-new-target": ^7.14.5 + "@babel/plugin-transform-object-super": ^7.14.5 + "@babel/plugin-transform-parameters": ^7.14.5 + "@babel/plugin-transform-property-literals": ^7.14.5 + "@babel/plugin-transform-regenerator": ^7.14.5 + "@babel/plugin-transform-reserved-words": ^7.14.5 + "@babel/plugin-transform-shorthand-properties": ^7.14.5 + "@babel/plugin-transform-spread": ^7.14.5 + "@babel/plugin-transform-sticky-regex": ^7.14.5 + "@babel/plugin-transform-template-literals": ^7.14.5 + "@babel/plugin-transform-typeof-symbol": ^7.14.5 + "@babel/plugin-transform-unicode-escapes": ^7.14.5 + "@babel/plugin-transform-unicode-regex": ^7.14.5 "@babel/preset-modules": ^0.1.4 - "@babel/types": ^7.14.4 - babel-plugin-polyfill-corejs2: ^0.2.0 - babel-plugin-polyfill-corejs3: ^0.2.0 - babel-plugin-polyfill-regenerator: ^0.2.0 - core-js-compat: ^3.9.0 + "@babel/types": ^7.14.5 + babel-plugin-polyfill-corejs2: ^0.2.2 + babel-plugin-polyfill-corejs3: ^0.2.2 + babel-plugin-polyfill-regenerator: ^0.2.2 + core-js-compat: ^3.14.0 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ff9f1a2582b1c87a21176a6ad7738a094e2ba93f6a0c02a1097ab6fd14c42c75c80ceca5d824d01a7b6f6709b1bbb76305258b70e1c86dbcec7a5647387715fa + checksum: c3516179c13cd1421e2457bc6fb034eadd155238d2c59d2b211c4961546749dae20a8d506acee8b5fb7f460f52e4d0a0317aab455e55633499fd96b230e0364a languageName: node linkType: hard @@ -2506,7 +2565,16 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/runtime@npm:7.14.5" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: f609df5ca9e26a1f0f71f92754a5f6e1a4a9c22f982627e8c2c2b751ebbf45da10376501024a68c22d7a625331f40a26f9d1830c8c869512bef813f223d18ba1 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.9.2": version: 7.14.0 resolution: "@babel/runtime@npm:7.14.0" dependencies: @@ -2537,6 +2605,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/template@npm:7.14.5" + dependencies: + "@babel/code-frame": ^7.14.5 + "@babel/parser": ^7.14.5 + "@babel/types": ^7.14.5 + checksum: 4939199c5b1ca8940e14c87f30f4fab5f35c909bef88447131075349027546927b4e3e08e50db5c2db2024f2c6585a4fe571c739c835ac980f7a4ada2dd8a623 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.12.1": version: 7.12.1 resolution: "@babel/traverse@npm:7.12.1" @@ -2554,7 +2633,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.13.15, @babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.14.2": +"@babel/traverse@npm:^7.13.0": version: 7.14.2 resolution: "@babel/traverse@npm:7.14.2" dependencies: @@ -2570,6 +2649,23 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/traverse@npm:7.14.5" + dependencies: + "@babel/code-frame": ^7.14.5 + "@babel/generator": ^7.14.5 + "@babel/helper-function-name": ^7.14.5 + "@babel/helper-hoist-variables": ^7.14.5 + "@babel/helper-split-export-declaration": ^7.14.5 + "@babel/parser": ^7.14.5 + "@babel/types": ^7.14.5 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 3f4cf5ed685db7fef76d4242cbb14d111db0ea0a7cca163edd29e09ace13312ce085595e7d90fedae2e14e40448a116c222b1060e1c799b87266b8ed92492a3d + languageName: node + linkType: hard + "@babel/types@npm:7.8.3": version: 7.8.3 resolution: "@babel/types@npm:7.8.3" @@ -2603,7 +2699,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.13.16, @babel/types@npm:^7.14.0, @babel/types@npm:^7.14.2": +"@babel/types@npm:^7.12.13, @babel/types@npm:^7.13.12, @babel/types@npm:^7.14.2": version: 7.14.2 resolution: "@babel/types@npm:7.14.2" dependencies: @@ -2613,13 +2709,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.14.4": - version: 7.14.4 - resolution: "@babel/types@npm:7.14.4" +"@babel/types@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/types@npm:7.14.5" dependencies: - "@babel/helper-validator-identifier": ^7.14.0 + "@babel/helper-validator-identifier": ^7.14.5 to-fast-properties: ^2.0.0 - checksum: 52ae21c8240dd2f6820590056c9f8fd04631c410d4f404ec2fe6b26ed46e39fb58270a5afe56bea66a57992061cdccad9317c99a6962febb6691071c9b481f30 + checksum: 7c1ab6e8bdf438d44236034cab10f7d0f1971179bc405dca26733a9b89dd87dd692dc49a238a7495075bc41a9a17fb6f08b4d1da45ea6ddcce1e5c8593574aea languageName: node linkType: hard @@ -2747,9 +2843,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:2.4.0-canary.3": - version: 2.4.0-canary.3 - resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.3" +"@fuelrats/eslint-config-react@npm:canary": + version: 2.4.0-canary.4 + resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.4" peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 @@ -2758,15 +2854,15 @@ __metadata: eslint-plugin-react: ^7.23 eslint-plugin-react-hooks: ^4.0.1 react: ^16.8 || ^17 - checksum: 8940724222a1b875d9ea625031ea42ed91c1f32a1f065f9656fb9a648bfaf39377e685f3ac1bd5a15c80758fc00603285acaa2eab0aaece4c0b071605615feb6 + checksum: 5419b18c3c16fbb6096741e83c27a104dd1913176874fe5616677fb0a36d1f8324f5098b9c7d95f4c675bad21474773ed876149c316f8b1ec1e4cd051deebc3b languageName: node linkType: hard -"@fuelrats/eslint-config@npm:2.4.0-canary.3": - version: 2.4.0-canary.3 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.3" +"@fuelrats/eslint-config@npm:canary": + version: 2.4.0-canary.4 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.4" dependencies: - eslint-restricted-globals: ^0.2.0 + confusing-browser-globals: ^1.0.10 peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 @@ -2774,19 +2870,19 @@ __metadata: eslint: ^7.24 eslint-plugin-import: ^2.23 eslint-plugin-jsdoc: ^35 - checksum: 5c9f6e5e813ce32322340379aab67219f66edc16fc50fab0ccca8ddfcbf7187e00b1b85425d59b56e962eb3aa1c01ea7676fa706d1b18619077b4d49bbc31343 + checksum: 4d38348de7677df39bc0d59710139e09dba88718f2749b415a8f6382171fd13648e8345ea64fdc3986af2ce7e11a78c79494c710b15ac96ed0858d0bb903fb0f languageName: node linkType: hard -"@fuelrats/eslint-plugin@npm:2.4.0-canary.3": - version: 2.4.0-canary.3 - resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.3" +"@fuelrats/eslint-plugin@npm:canary": + version: 2.4.0-canary.4 + resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.4" dependencies: requireindex: ~1.2.0 peerDependencies: "@babel/eslint-parser": ^7.11 eslint: ^7.5 - checksum: 378087de1853e613d6a84a28935965e8e8e6207889dc0110f1edb2450a23523973f86eb8e91ddc2319b2ec79f42c7453e5aee02ff65b5123f1b13a29bd842f1e + checksum: 44f5e0b46602966f0f2d1bff4c70fa1977f7a3e45a1fc11647a055e0224555064111d32565f83b6cb810374d8ec816d19b13c36380cd30d3aa7392fa217c4590 languageName: node linkType: hard @@ -3574,12 +3670,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^17.0.6": - version: 17.0.6 - resolution: "@types/react-dom@npm:17.0.6" +"@types/react-dom@npm:^17.0.7": + version: 17.0.7 + resolution: "@types/react-dom@npm:17.0.7" dependencies: "@types/react": "*" - checksum: cc167c24a77cef2be8dcabd1bbe8b95c0d713b943b2f1c8a1468c8009c50daad51a46859a217a8383b89bb4ea499937d405699ce8db164f70c871f9d22d703f0 + checksum: 9b2eb0d86dd00bff5e4a9a4d1892f6ef3dd79434acb5d38a45a8bda8a383cff0a3d7bb58d662c2a5352ab7c92145d5736f56f1bd12e1e3a482727c274bf09434 languageName: node linkType: hard @@ -3605,14 +3701,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.9": - version: 17.0.9 - resolution: "@types/react@npm:17.0.9" +"@types/react@npm:^17.0.11": + version: 17.0.11 + resolution: "@types/react@npm:17.0.11" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: c626e3ca42b6173b0617102af6c1c8c6068f69fafeba51f5d614962cabaf98a5706295081941ece93da04117268cb0aad471be87e76dde7e0d5f79a46280c586 + checksum: 89e80ee8e08988abca0266e5e131f57b2e18f326bebfa0ed0a06b0bca29621a5a8202d617254a053f659b9c18090c52cae0aa475a6c6036b8858030f1d448e47 languageName: node linkType: hard @@ -4294,39 +4390,39 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.2.0": - version: 0.2.0 - resolution: "babel-plugin-polyfill-corejs2@npm:0.2.0" +"babel-plugin-polyfill-corejs2@npm:^0.2.2": + version: 0.2.2 + resolution: "babel-plugin-polyfill-corejs2@npm:0.2.2" dependencies: "@babel/compat-data": ^7.13.11 - "@babel/helper-define-polyfill-provider": ^0.2.0 + "@babel/helper-define-polyfill-provider": ^0.2.2 semver: ^6.1.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 429c96fea278d44ae7469ea9ce580572bdf963d710c883b01956cbcf1a0b8c069a7ff26fa0d1174ca63e14a7cc7f61ca5b70ecbf7daa4c5a4e4ed9ee417b2e1d + checksum: eee45ecce743e06840d29936a7f4a9f9eca19552ba010e9f3676c6a2697ab815230f39953296b72f09665de0e8fffe260e52b348011a9ddba36cfa7eec6f8c51 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.2.0": - version: 0.2.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.2.0" +"babel-plugin-polyfill-corejs3@npm:^0.2.2": + version: 0.2.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.2.2" dependencies: - "@babel/helper-define-polyfill-provider": ^0.2.0 + "@babel/helper-define-polyfill-provider": ^0.2.2 core-js-compat: ^3.9.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ddada641ee463f89651a36afe5dcc5d91f8985cd1dd0e639d5586a85bbf11f3dbf0ec056265043accb831e3f204a34bfa59a870e40a1f72ece43a765dfbd946 + checksum: c86ed72e4f181a4bc521a85967de7af906f603d2098920596843bb338f40efb337212bc285589a14ccd570e3dd820447138c5cb931e4cdee306c017a05f57c0f languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.2.0": - version: 0.2.0 - resolution: "babel-plugin-polyfill-regenerator@npm:0.2.0" +"babel-plugin-polyfill-regenerator@npm:^0.2.2": + version: 0.2.2 + resolution: "babel-plugin-polyfill-regenerator@npm:0.2.2" dependencies: - "@babel/helper-define-polyfill-provider": ^0.2.0 + "@babel/helper-define-polyfill-provider": ^0.2.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 85a39fe4d82eeea7238a1b9d57c3978c34329b355078c124e9a48b1be5cb932d1f52956a0576195c6896a3298766cd4571600a4f04ec638596b792c4ea608f6f + checksum: 3e32e318fd91d65c3af2bb363189f00d3839f07a73a08813b553553e07da205162091b428dd5b6ffb6ea4caf531ff43ebc54197b0a5a9dc2fc5c7e9a650e946d languageName: node linkType: hard @@ -4992,6 +5088,13 @@ __metadata: languageName: node linkType: hard +"confusing-browser-globals@npm:^1.0.10": + version: 1.0.10 + resolution: "confusing-browser-globals@npm:1.0.10" + checksum: 7ccdc44c2ca419cf6576c3e4336106e18d1c5337f547e461342f51aec4a10f96fdfe45414b522be3c7d24ea0b62bf4372cd37768022e4d6161707ffb2c0987e6 + languageName: node + linkType: hard + "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -5071,6 +5174,16 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.14.0": + version: 3.14.0 + resolution: "core-js-compat@npm:3.14.0" + dependencies: + browserslist: ^4.16.6 + semver: 7.0.0 + checksum: 6d15427bf9640846d812fb24f4a36e0c647cdd46d17e45107de62b738aa04013f1c29a3f03be56d1c4dd26c258762a9f38e37f2b48acc7e89e60cc35507f5c97 + languageName: node + linkType: hard + "core-js-compat@npm:^3.6.2": version: 3.6.5 resolution: "core-js-compat@npm:3.6.5" @@ -5081,7 +5194,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.9.0, core-js-compat@npm:^3.9.1": +"core-js-compat@npm:^3.9.1": version: 3.12.1 resolution: "core-js-compat@npm:3.12.1" dependencies: @@ -6139,13 +6252,6 @@ __metadata: languageName: node linkType: hard -"eslint-restricted-globals@npm:^0.2.0": - version: 0.2.0 - resolution: "eslint-restricted-globals@npm:0.2.0" - checksum: 7e61e24c89eb08d4373a867bbb31259247c41eae0b340ec988f630b0c61cab50abbcd42d81641082426d22c5bbda7c9a3c14da4e585792642d00e5e446d16e3c - languageName: node - linkType: hard - "eslint-rule-composer@npm:^0.3.0": version: 0.3.0 resolution: "eslint-rule-composer@npm:0.3.0" @@ -6153,7 +6259,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.0, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -6685,31 +6791,31 @@ fsevents@~2.3.1: version: 0.0.0-use.local resolution: "fuelrats.com@workspace:." dependencies: - "@babel/core": ^7.14.3 - "@babel/eslint-parser": ^7.14.4 - "@babel/eslint-plugin": ^7.13.16 - "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-decorators": ^7.14.2 - "@babel/plugin-proposal-export-default-from": ^7.12.13 - "@babel/plugin-proposal-export-namespace-from": ^7.14.2 - "@babel/plugin-proposal-function-bind": ^7.12.13 - "@babel/plugin-proposal-function-sent": ^7.12.13 - "@babel/plugin-proposal-logical-assignment-operators": ^7.14.2 - "@babel/plugin-proposal-numeric-separator": ^7.14.2 - "@babel/plugin-proposal-optional-catch-binding": ^7.14.2 - "@babel/plugin-proposal-throw-expressions": ^7.12.13 - "@babel/plugin-transform-strict-mode": ^7.12.13 - "@babel/preset-env": ^7.14.4 - "@babel/runtime": ^7.14.0 + "@babel/core": ^7.14.5 + "@babel/eslint-parser": ^7.14.5 + "@babel/eslint-plugin": ^7.14.5 + "@babel/plugin-proposal-class-properties": ^7.14.5 + "@babel/plugin-proposal-decorators": ^7.14.5 + "@babel/plugin-proposal-export-default-from": ^7.14.5 + "@babel/plugin-proposal-export-namespace-from": ^7.14.5 + "@babel/plugin-proposal-function-bind": ^7.14.5 + "@babel/plugin-proposal-function-sent": ^7.14.5 + "@babel/plugin-proposal-logical-assignment-operators": ^7.14.5 + "@babel/plugin-proposal-numeric-separator": ^7.14.5 + "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 + "@babel/plugin-proposal-throw-expressions": ^7.14.5 + "@babel/plugin-transform-strict-mode": ^7.14.5 + "@babel/preset-env": ^7.14.5 + "@babel/runtime": ^7.14.5 "@fingerprintjs/fingerprintjs": ^3.1.2 "@fortawesome/fontawesome-svg-core": ^1.2.35 "@fortawesome/free-brands-svg-icons": ^5.15.3 "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": 2.4.0-canary.3 - "@fuelrats/eslint-config-react": 2.4.0-canary.3 - "@fuelrats/eslint-plugin": 2.4.0-canary.3 + "@fuelrats/eslint-config": canary + "@fuelrats/eslint-config-react": canary + "@fuelrats/eslint-plugin": canary "@fuelrats/koa-adorable-avatars": ^0.1.2 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 @@ -6729,8 +6835,8 @@ fsevents@~2.3.1: "@types/koa-logger": ^3.1.1 "@types/koa__router": ^8.0.4 "@types/lodash": ^4.14.170 - "@types/react": ^17.0.9 - "@types/react-dom": ^17.0.6 + "@types/react": ^17.0.11 + "@types/react-dom": ^17.0.7 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 @@ -6755,7 +6861,7 @@ fsevents@~2.3.1: flux-standard-action: ^2.1.1 framer-motion: ^4.1.17 hoist-non-react-statics: ^3.3.2 - immer: ^9.0.2 + immer: ^9.0.3 ip6addr: ^0.2.3 js-cookie: ^2.2.1 jsonfile: ^6.1.0 @@ -6769,7 +6875,7 @@ fsevents@~2.3.1: next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 - postcss: ^8.3.0 + postcss: ^8.3.2 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 @@ -6787,7 +6893,7 @@ fsevents@~2.3.1: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.51.1 + rollup: ^2.51.2 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 sass: ^1.34.1 @@ -7342,10 +7448,10 @@ fsevents@~2.3.1: languageName: node linkType: hard -"immer@npm:^9.0.2": - version: 9.0.2 - resolution: "immer@npm:9.0.2" - checksum: ce74a183085451ec31b8726ef1345baf7a315df7ffe7683b231bd491fdd2bb73bf093085a36a5270a27200fbdd052e8572adb38058f0264ee0ec04b3b5d4ba02 +"immer@npm:^9.0.3": + version: 9.0.3 + resolution: "immer@npm:9.0.3" + checksum: 1af2c642efc91988feb0a635a727a782c52dd8d92b14a87f73fc9432c326b6a46a08084f249faf1252b9b390d993080de42a968b3892f8ab1a5e270910f5638f languageName: node linkType: hard @@ -10174,14 +10280,14 @@ fsevents@~2.3.1: languageName: node linkType: hard -"postcss@npm:^8.3.0": - version: 8.3.0 - resolution: "postcss@npm:8.3.0" +"postcss@npm:^8.3.2": + version: 8.3.2 + resolution: "postcss@npm:8.3.2" dependencies: colorette: ^1.2.2 nanoid: ^3.1.23 source-map-js: ^0.6.2 - checksum: 7786df62a605e6fc9380c1ee1e5ed177fbcdb3f3427ac6096ee0dbd9d80bdb8627d2e528d38d6f0fe850bb5668d4d46923eaf65dfd146e9b51fe770bf140d0ef + checksum: 639170fd696c45238407f996c49a828dd57bf0d5b5b4aa4ef98ed568d1df52bdd8c1ad94784fa15da66ff2184f0d9debd2d08f2b037ff0886426687b21b8a292 languageName: node linkType: hard @@ -11018,9 +11124,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.51.1": - version: 2.51.1 - resolution: "rollup@npm:2.51.1" +"rollup@npm:^2.51.2": + version: 2.51.2 + resolution: "rollup@npm:2.51.2" dependencies: fsevents: ~2.3.1 dependenciesMeta: @@ -11028,7 +11134,7 @@ resolve@^2.0.0-next.3: optional: true bin: rollup: dist/bin/rollup - checksum: 04f6226a92b49b8534ba04c3723dc362c42ddfad5957198b009fc3d28877c2674bb883dc6c89c7c4483d56c10fc8af69d60e7b52d3571da7055abf92a184465d + checksum: 74fe48402478189a523275e57d23627743f9021b5e7b16f65a468eff006b97d2f6a1798ff8936e9b89c053010744fde1e6518336f02693870a317bbabb8bba52 languageName: node linkType: hard From 0f8ddc8e1155205a565b626ccb400452b4db8acf Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 12 Jun 2021 21:24:21 +0000 Subject: [PATCH 040/300] chore: update eslint configs --- .eslintrc.js | 4 +--- package.json | 6 +++--- yarn.lock | 30 +++++++++++++++--------------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 4f318852d..afbb87bbe 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,13 +16,11 @@ module.exports = { rules: { 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components. 'jsdoc/require-jsdoc': ['off'], // we'll get to it someday... - 'react/jsx-uses-react': ['off'], - 'react/react-in-jsx-scope': ['off'], 'import/order': ['error', { ...importRules.rules['import/order'][1], 'newlines-between': 'always', }], - '@next/next/link-passhref': 0, // This rule is broken so just ignore it for now. + '@next/next/link-passhref': ['off'], // This rule is broken so just ignore it for now. }, settings: { 'import/ignore': [ diff --git a/package.json b/package.json index bdf3f9aef..67cb05137 100644 --- a/package.json +++ b/package.json @@ -98,9 +98,9 @@ "@babel/preset-env": "^7.14.5", "@babel/runtime": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "canary", - "@fuelrats/eslint-config-react": "canary", - "@fuelrats/eslint-plugin": "canary", + "@fuelrats/eslint-config": "^2.4.0-canary.5", + "@fuelrats/eslint-config-react": "^2.4.0-canary.5", + "@fuelrats/eslint-plugin": "^2.4.0-canary.5", "@fuelrats/stylelint-config": "^1.2.3", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", diff --git a/yarn.lock b/yarn.lock index 26d84ae72..29eeb8675 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2843,9 +2843,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:canary": - version: 2.4.0-canary.4 - resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.4" +"@fuelrats/eslint-config-react@npm:^2.4.0-canary.5": + version: 2.4.0-canary.5 + resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.5" peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 @@ -2854,13 +2854,13 @@ __metadata: eslint-plugin-react: ^7.23 eslint-plugin-react-hooks: ^4.0.1 react: ^16.8 || ^17 - checksum: 5419b18c3c16fbb6096741e83c27a104dd1913176874fe5616677fb0a36d1f8324f5098b9c7d95f4c675bad21474773ed876149c316f8b1ec1e4cd051deebc3b + checksum: 76d523680dfcd2e7ec8f40a74e87b406635a176833bc21e71325fcc60d67361e9047bdadf1d1b3d02635427157fe77ce192f8dc8d5824a6dc9f664714b1a1953 languageName: node linkType: hard -"@fuelrats/eslint-config@npm:canary": - version: 2.4.0-canary.4 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.4" +"@fuelrats/eslint-config@npm:^2.4.0-canary.5": + version: 2.4.0-canary.5 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.5" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: @@ -2870,19 +2870,19 @@ __metadata: eslint: ^7.24 eslint-plugin-import: ^2.23 eslint-plugin-jsdoc: ^35 - checksum: 4d38348de7677df39bc0d59710139e09dba88718f2749b415a8f6382171fd13648e8345ea64fdc3986af2ce7e11a78c79494c710b15ac96ed0858d0bb903fb0f + checksum: 627f9d5bd82738f92e339aa540f2e7d6d22ee20292df4b4485d2097061a9f7f3062b972c1593d7a3d2a06ea77b885de3257819736962bc12fc364c5d2416eede languageName: node linkType: hard -"@fuelrats/eslint-plugin@npm:canary": - version: 2.4.0-canary.4 - resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.4" +"@fuelrats/eslint-plugin@npm:^2.4.0-canary.5": + version: 2.4.0-canary.5 + resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.5" dependencies: requireindex: ~1.2.0 peerDependencies: "@babel/eslint-parser": ^7.11 eslint: ^7.5 - checksum: 44f5e0b46602966f0f2d1bff4c70fa1977f7a3e45a1fc11647a055e0224555064111d32565f83b6cb810374d8ec816d19b13c36380cd30d3aa7392fa217c4590 + checksum: 2b72c197f1112c1182624e2c35552857e19f67f5177bb1374f60d2ca15811661e84e6a4ee117aee9ac7d996d28745fc29a734c48d3b21b6a6eb4d4d5654d45fd languageName: node linkType: hard @@ -6813,9 +6813,9 @@ fsevents@~2.3.1: "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": canary - "@fuelrats/eslint-config-react": canary - "@fuelrats/eslint-plugin": canary + "@fuelrats/eslint-config": ^2.4.0-canary.5 + "@fuelrats/eslint-config-react": ^2.4.0-canary.5 + "@fuelrats/eslint-plugin": ^2.4.0-canary.5 "@fuelrats/koa-adorable-avatars": ^0.1.2 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 From 5bebdaee430fd17ef9ddde6cb2675672ff1f908d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 13 Jun 2021 00:32:09 +0000 Subject: [PATCH 041/300] refactor(DonationErrorBox): use proper function name (whoops) --- src/components/Forms/DonationForm/DonationErrorBox.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Forms/DonationForm/DonationErrorBox.js b/src/components/Forms/DonationForm/DonationErrorBox.js index b27780ba9..a205cfad3 100644 --- a/src/components/Forms/DonationForm/DonationErrorBox.js +++ b/src/components/Forms/DonationForm/DonationErrorBox.js @@ -21,7 +21,7 @@ const renderError = (error) => { -function RegistrationErrorBox (props) { +function DonationErrorBox (props) { const { error } = props if (!error) { @@ -50,7 +50,7 @@ function RegistrationErrorBox (props) { ) } -RegistrationErrorBox.propTypes = { +DonationErrorBox.propTypes = { error: PropTypes.object, } @@ -58,4 +58,4 @@ RegistrationErrorBox.propTypes = { -export default RegistrationErrorBox +export default DonationErrorBox From b15c93dc12bde2742524171bb675265e4ad0700c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 17 Jun 2021 04:36:41 +0000 Subject: [PATCH 042/300] chore: update deps, add workaround for issue with SVGs in next@11.0.0 --- .eslintrc.js | 7 +- next.config.js | 4 +- package.json | 28 +- yarn.lock | 1315 ++++++++++-------------------------------------- 4 files changed, 291 insertions(+), 1063 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index afbb87bbe..11fe3ed4c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,7 +9,6 @@ module.exports = { }, extends: [ '@fuelrats/eslint-config', - '@fuelrats/eslint-config/plugins/fuelrats', '@fuelrats/eslint-config-react', 'plugin:@next/next/recommended', ], @@ -52,5 +51,11 @@ module.exports = { worker: true, }, }, + { + files: ['src/pages/**/*.js'], + rules: { + '@fuelrats/default-export-matches-module-name': ['off'], // Disabled in pages dir as it becomes difficult to stick to module names + }, + }, ], } diff --git a/next.config.js b/next.config.js index a1e93549b..d426ca575 100644 --- a/next.config.js +++ b/next.config.js @@ -43,6 +43,7 @@ module.exports = { distDir: path.join('dist', 'next'), generateBuildId, images: { + disableStaticImages: true, domains: [ url.parse(APP_URL).hostname, // Ensure the public hostname is always allowed. 'wordpress.fuelrats.com', @@ -70,9 +71,6 @@ module.exports = { }, }, }, - future: { - webpack5: true, - }, redirects: () => { return [ { diff --git a/package.json b/package.json index 67cb05137..8c461abc6 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "stylelint": "stylelint \"src/**/*.scss\"" }, "dependencies": { - "@fingerprintjs/fingerprintjs": "^3.1.2", + "@fingerprintjs/fingerprintjs": "^3.1.3", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-brands-svg-icons": "^5.15.3", "@fortawesome/free-solid-svg-icons": "^5.15.3", @@ -33,7 +33,7 @@ "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", "@koa/router": "^10.0.0", - "@next/eslint-plugin-next": "^10.2.3", + "@next/eslint-plugin-next": "^11.0.0", "axios": "^0.21.1", "clsx": "^1.1.1", "content-security-policy-builder": "^2.1.0", @@ -53,11 +53,11 @@ "koa-logger": "^3.2.1", "koa-proxies": "0.12.1", "lodash": "^4.17.21", - "next": "^10.2.3", + "next": "^11.0.0", "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", - "postcss": "^8.3.2", + "postcss": "^8.3.4", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", @@ -75,13 +75,13 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.154.0", + "stripe": "^8.155.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.5.2", "zxcvbn": "^4.4.2" }, "devDependencies": { - "@babel/core": "^7.14.5", + "@babel/core": "^7.14.6", "@babel/eslint-parser": "^7.14.5", "@babel/eslint-plugin": "^7.14.5", "@babel/plugin-proposal-class-properties": "^7.14.5", @@ -96,11 +96,11 @@ "@babel/plugin-proposal-throw-expressions": "^7.14.5", "@babel/plugin-transform-strict-mode": "^7.14.5", "@babel/preset-env": "^7.14.5", - "@babel/runtime": "^7.14.5", + "@babel/runtime": "^7.14.6", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.4.0-canary.5", - "@fuelrats/eslint-config-react": "^2.4.0-canary.5", - "@fuelrats/eslint-plugin": "^2.4.0-canary.5", + "@fuelrats/eslint-config": "^2.4.0-canary.6", + "@fuelrats/eslint-config-react": "^2.4.0-canary.6", + "@fuelrats/eslint-plugin": "^2.4.0-canary.8", "@fuelrats/stylelint-config": "^1.2.3", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^19.0.0", @@ -128,18 +128,18 @@ "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.1.3", + "eslint-plugin-jsdoc": "^35.3.0", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.51.2", + "rollup": "^2.52.0", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", - "sass": "^1.34.1", + "sass": "^1.35.1", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.38.1", + "webpack": "^5.39.0", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 29eeb8675..c104b71b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -41,13 +41,6 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/compat-data@npm:7.12.1" - checksum: b29ecfe76662bfeb184773f40cb67491ee1367db834bca88923d4dba306854b1881fc2245fedd730961e3e8f27ccdfc8c1ed3ea08648738bde1d0a6e9e6940c9 - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15": version: 7.14.0 resolution: "@babel/compat-data@npm:7.14.0" @@ -62,16 +55,16 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.14.5, @babel/core@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/core@npm:7.14.5" +"@babel/core@npm:7.14.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/core@npm:7.14.6" dependencies: "@babel/code-frame": ^7.14.5 "@babel/generator": ^7.14.5 "@babel/helper-compilation-targets": ^7.14.5 "@babel/helper-module-transforms": ^7.14.5 - "@babel/helpers": ^7.14.5 - "@babel/parser": ^7.14.5 + "@babel/helpers": ^7.14.6 + "@babel/parser": ^7.14.6 "@babel/template": ^7.14.5 "@babel/traverse": ^7.14.5 "@babel/types": ^7.14.5 @@ -81,11 +74,11 @@ __metadata: json5: ^2.1.2 semver: ^6.3.0 source-map: ^0.5.0 - checksum: a8bc444be2a2fd620cd634a0c41ec87994c8bf8f67746f46e1fd015ea3cb0ebb0ba3ee7a387c07d7c5dded98f1f280df8ebc5a5ff5b216a1978cbd36ae012fa7 + checksum: 6ede604d8de7a103c087b96a58548a3d27efb9e53de6ecc84f4b4ca947cd91f02b0289fc04557b04eb6e31243dbeabdcdb8fd520a1780f284333f56eb1b58913 languageName: node linkType: hard -"@babel/core@npm:>=7.9.0, @babel/core@npm:^7.12.3": +"@babel/core@npm:>=7.9.0": version: 7.12.3 resolution: "@babel/core@npm:7.12.3" dependencies: @@ -177,15 +170,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.12.10": - version: 7.12.10 - resolution: "@babel/helper-annotate-as-pure@npm:7.12.10" - dependencies: - "@babel/types": ^7.12.10 - checksum: e6cd551b21554bddcf4352dae49abd3e9a101359dbebc5fdae418bb7dc4bf118c9803766a64392ec3b432a930c90cba971b9f6180f4c220bdd350fd8d1da9f3b - languageName: node - linkType: hard - "@babel/helper-annotate-as-pure@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-annotate-as-pure@npm:7.14.5" @@ -195,16 +179,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.10.4" - dependencies: - "@babel/helper-explode-assignable-expression": ^7.10.4 - "@babel/types": ^7.10.4 - checksum: 2f3256e6a87a890e1e84ab7d22734179450f0578f2a9621250329d34601cbf3b4f7ee7e53e088f68dd4522ce6d55d70f14bd469b81b4d6b3afaa0cd578402bcb - languageName: node - linkType: hard - "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.14.5" @@ -215,41 +189,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-react-jsx-experimental@npm:^7.12.11": - version: 7.12.11 - resolution: "@babel/helper-builder-react-jsx-experimental@npm:7.12.11" - dependencies: - "@babel/helper-annotate-as-pure": ^7.12.10 - "@babel/helper-module-imports": ^7.12.5 - "@babel/types": ^7.12.11 - checksum: 88e8f48199d08a6beae721c48537a87c17616e4ded39bd1e370cd131020850ba373a49701eaf1099248c0b12b3d1041cf9b9b3b545a76c129012a02c06d22468 - languageName: node - linkType: hard - -"@babel/helper-builder-react-jsx@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/helper-builder-react-jsx@npm:7.10.4" - dependencies: - "@babel/helper-annotate-as-pure": ^7.10.4 - "@babel/types": ^7.10.4 - checksum: 32907788def4b3e50a23d1527777365529a721750a7dfdef7494a4abbe6f77e30b5939891d28860e83bb1fc7faca6ba68229b3cff8832c2720fca9e8e9390e66 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-compilation-targets@npm:7.12.1" - dependencies: - "@babel/compat-data": ^7.12.1 - "@babel/helper-validator-option": ^7.12.1 - browserslist: ^4.12.0 - semver: ^5.5.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 723def1698c19f16991eda0e7dd2730787360b1f1fc7f5265fd727d53b8d7de4200ed3a756e38f6269270b467670dfef1819c68086a5f5797e87785336ca35e9 - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.13.0": version: 7.13.16 resolution: "@babel/helper-compilation-targets@npm:7.13.16" @@ -278,21 +217,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.12.1" - dependencies: - "@babel/helper-function-name": ^7.10.4 - "@babel/helper-member-expression-to-functions": ^7.12.1 - "@babel/helper-optimise-call-expression": ^7.10.4 - "@babel/helper-replace-supers": ^7.12.1 - "@babel/helper-split-export-declaration": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: db5b5cec711b9361e0a52528db15506c24a87b158a2b2300023e9e508d3c24413f218fea2f413c8e406ef4a89629d1bbc9999f048c74af94f45ae8b7a74c35f0 - languageName: node - linkType: hard - "@babel/helper-create-class-features-plugin@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.14.5" @@ -334,17 +258,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-map@npm:^7.10.4": - version: 7.10.5 - resolution: "@babel/helper-define-map@npm:7.10.5" - dependencies: - "@babel/helper-function-name": ^7.10.4 - "@babel/types": ^7.10.5 - lodash: ^4.17.19 - checksum: 4b257fac6f92cfa051a4a8d646116d19da963161b4e8e00f4f9f125b4b1e13d0e0cc7bbbc540fcc76c9012833d1eb782377018eb7c42d50ea98ee2e99fc49bc9 - languageName: node - linkType: hard - "@babel/helper-define-polyfill-provider@npm:^0.2.2": version: 0.2.3 resolution: "@babel/helper-define-polyfill-provider@npm:0.2.3" @@ -363,15 +276,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-explode-assignable-expression@npm:^7.10.4": - version: 7.12.1 - resolution: "@babel/helper-explode-assignable-expression@npm:7.12.1" - dependencies: - "@babel/types": ^7.12.1 - checksum: 55ee3c9720b57fb8b53d41e39aaab6e96dfcb5a2bd0cbdc774bc2225050df9a29f7ce6de49c36a1483eba9a778d094765242e5ecb4683e3e5c6f5f6b3cdcb9ab - languageName: node - linkType: hard - "@babel/helper-explode-assignable-expression@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-explode-assignable-expression@npm:7.14.5" @@ -441,15 +345,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/helper-hoist-variables@npm:7.10.4" - dependencies: - "@babel/types": ^7.10.4 - checksum: efb6adceec6fa202f911e9f3efe849ebc6dcbba89b110f957bfe0ca93e29e5593490ce34b9e67f170deb3532564947a5350d2fdb8f1f95407dcf7c9af5b8a855 - languageName: node - linkType: hard - "@babel/helper-hoist-variables@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-hoist-variables@npm:7.14.5" @@ -495,15 +390,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.12.5": - version: 7.12.5 - resolution: "@babel/helper-module-imports@npm:7.12.5" - dependencies: - "@babel/types": ^7.12.5 - checksum: 7a9419ead89df6347c764a2a177391e296a5b106cefaaa3f4977b932c4333d63df4131fb1f4ca953aba0b7cc1a379ac0463e00602d1bca87c559ba3cb98d42f1 - languageName: node - linkType: hard - "@babel/helper-module-imports@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-module-imports@npm:7.14.5" @@ -594,17 +480,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-remap-async-to-generator@npm:7.12.1" - dependencies: - "@babel/helper-annotate-as-pure": ^7.10.4 - "@babel/helper-wrap-function": ^7.10.4 - "@babel/types": ^7.12.1 - checksum: bdc8abb569f2cbdf25824e96c46ac15562ef9ea5f008d6bd402c6a194ac701a774ba2255be942debe58b45582404e18ecd8399dd4bb6f31cd43e1210c5d9ee13 - languageName: node - linkType: hard - "@babel/helper-remap-async-to-generator@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-remap-async-to-generator@npm:7.14.5" @@ -658,15 +533,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.12.1" - dependencies: - "@babel/types": ^7.12.1 - checksum: 9be6093eabc83b43b9af4c736c69d3c5da4497456575654741308f6f6886d8ebd17eacdddf32f1eb0ecc81f66a5562fb7f3b734c5340418da4e8138a958dafc0 - languageName: node - linkType: hard - "@babel/helper-skip-transparent-expression-wrappers@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.14.5" @@ -676,7 +542,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.10.4, @babel/helper-split-export-declaration@npm:^7.11.0": +"@babel/helper-split-export-declaration@npm:^7.11.0": version: 7.11.0 resolution: "@babel/helper-split-export-declaration@npm:7.11.0" dependencies: @@ -731,13 +597,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/helper-validator-option@npm:7.12.1" - checksum: 2187e993ff5d23332f351677ca0a2c3bc5852af0bbb6a1bd5e29638c58e1b675b06e801290d52eeea83b106bb98a330338bd55556bd4e7f9d3085220520a7506 - languageName: node - linkType: hard - "@babel/helper-validator-option@npm:^7.12.17": version: 7.12.17 resolution: "@babel/helper-validator-option@npm:7.12.17" @@ -752,18 +611,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.10.4": - version: 7.12.3 - resolution: "@babel/helper-wrap-function@npm:7.12.3" - dependencies: - "@babel/helper-function-name": ^7.10.4 - "@babel/template": ^7.10.4 - "@babel/traverse": ^7.10.4 - "@babel/types": ^7.10.4 - checksum: 49c3796d7adabccf9b1bc6f3d9f98cc2e6d490e60a441b540f8f0620e955d866e8dafd9fce451d16702f5d68170e4f4dec8d7c9e8f55d3bda1bdc6fabdccf721 - languageName: node - linkType: hard - "@babel/helper-wrap-function@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-wrap-function@npm:7.14.5" @@ -787,14 +634,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/helpers@npm:7.14.5" +"@babel/helpers@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/helpers@npm:7.14.6" dependencies: "@babel/template": ^7.14.5 "@babel/traverse": ^7.14.5 "@babel/types": ^7.14.5 - checksum: 5357b3cb9dbd7f3f031168abe8981ad30b2dd173d5dcfc2216af6f8d03081a37bd5accc526596da61e48c20cd6ceba8af61f1a8e7f4d2bcf8521051d214a7246 + checksum: fe4e73975b062a8b8b95f499f4ac1064c9a53d4ee83cc273c2420250f6a46b59f1f5e35050d41ebe04efd7885a28ceea6f4f16d8eb091e24622f2a4a5eb20f23 languageName: node linkType: hard @@ -858,6 +705,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/parser@npm:7.14.6" + bin: + parser: ./bin/babel-parser.js + checksum: 104482e07971a78a3d68a0c329b1303981a272f55a510d39c93dac3c293f207ec863329046abc5d8bb86db58c49670cc607654793470a87ccd386544c2ccf298 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.14.5" @@ -871,19 +727,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-remap-async-to-generator": ^7.12.1 - "@babel/plugin-syntax-async-generators": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f9c96645c258820114bbc65c0e28de5f2e83e37d2cd1322c23851a927e22db9a1436557d8227c396e904a1c7e42945b8172277e80f96456cddcb1fdf796b4e26 - languageName: node - linkType: hard - "@babel/plugin-proposal-async-generator-functions@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.14.5" @@ -897,18 +740,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-class-properties@npm:7.12.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 55b5e6cd83d2c710c10edee514de5552464d720fd07c961be99820c7036db0c493745806d10ab037f9e06cd4fa1fe6a68640bc8fb846a1fd5318ea97870bb10a - languageName: node - linkType: hard - "@babel/plugin-proposal-class-properties@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5" @@ -947,18 +778,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-dynamic-import@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-dynamic-import@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-dynamic-import": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 838a4c34ea4101528504e558acb82d33e37904214948e2cb91c7b697a4af98226607854ea37df74748f8a190ee4ad2a6463a5b06fe53e8d73a55feb6c1163691 - languageName: node - linkType: hard - "@babel/plugin-proposal-dynamic-import@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-dynamic-import@npm:7.14.5" @@ -983,18 +802,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-export-namespace-from@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d96c97420518975118b9a753736fa424f34db20d281446e0308f0d9b722183b0babe4f518de039d6192449e128207842374ba3c8315294cfd1f3ca6e91fd1ba9 - languageName: node - linkType: hard - "@babel/plugin-proposal-export-namespace-from@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.14.5" @@ -1032,18 +839,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-json-strings@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-json-strings@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-json-strings": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b45b81b91eed02cb09e921a5c3951ce850266febebeec896cd1b70a4707086b57eeee252cdfb3381ac3812140712e9fd0833d916bbc3c031f57527f804bd2a7c - languageName: node - linkType: hard - "@babel/plugin-proposal-json-strings@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-json-strings@npm:7.14.5" @@ -1056,18 +851,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a25b30ab660b07e80accf2b59512ba7d55c4b8dd29aa866e676d9f04362669d42b52b248b9d373196ca34c90e2bfa4f41433a72e217dab5fbfe5fb9462881bf4 - languageName: node - linkType: hard - "@babel/plugin-proposal-logical-assignment-operators@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.14.5" @@ -1080,18 +863,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 88da9cea3e3e83bd87047e13f0b6a51139d559cf59d178d496c52586d34631078f822e7d6dbcebf67ac0016d875fe58b1d0cfe19bd24b156065e48f84e7a2731 - languageName: node - linkType: hard - "@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.14.5" @@ -1104,18 +875,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-numeric-separator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d5547b815a80e180ed3c10236ebebd86c432eff0827f83decf081c431dbb36e003cabd2d637090448dfbd21439519c9f75bc3f6c66ec5971d0873dfcef6adfa3 - languageName: node - linkType: hard - "@babel/plugin-proposal-numeric-separator@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-numeric-separator@npm:7.14.5" @@ -1128,19 +887,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.0 - "@babel/plugin-transform-parameters": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 221a41630c9a7162bf0416c71695b3f7f38482078a1d0d3af7abdc4f07ea1c9feed890399158d56c1d0278c971fe6f565ce822e9351e4481f7d98e9ff735dced - languageName: node - linkType: hard - "@babel/plugin-proposal-object-rest-spread@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.5" @@ -1156,18 +902,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-catch-binding@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 964c966b51c068c80b040d4fdff9ee200e6af39629d33b224d0801ddd28684b94911d87713c77f405704282c03ed55ecffc9e65419d1080e22b4782dfc250ee1 - languageName: node - linkType: hard - "@babel/plugin-proposal-optional-catch-binding@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.14.5" @@ -1180,19 +914,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 - "@babel/plugin-syntax-optional-chaining": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2e66cdffd0acf1427b3239c6584258fd83ca9c57ca63bedefad902240600f0f9b470ced85b6cb6cb12971039882c96ff3d2b66617b8078969f5146b59f9e585e - languageName: node - linkType: hard - "@babel/plugin-proposal-optional-chaining@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.14.5" @@ -1206,18 +927,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-proposal-private-methods@npm:7.12.1" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c33a9a44e514ef98a3f90ccf3ffcd7fa634e43e1b0daa44a72cd1e924c13b614a8397220ac3d86a309e6bc2acb096fb9e557cac7a33560c5c054b4e584144178 - languageName: node - linkType: hard - "@babel/plugin-proposal-private-methods@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-private-methods@npm:7.14.5" @@ -1256,18 +965,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-unicode-property-regex@npm:^7.12.1, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": - version: 7.12.1 - resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ac8314da3d4d925f9b542210a5ee6a5134a08b8aaa54047578937786efefe8e31942e99849533404e0d339163fc876f71b9c5456ed05671c4c176a0f81fbac9e - languageName: node - linkType: hard - "@babel/plugin-proposal-unicode-property-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.14.5" @@ -1280,25 +977,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.0, @babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" +"@babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": + version: 7.12.1 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.1" dependencies: - "@babel/helper-plugin-utils": ^7.8.0 + "@babel/helper-create-regexp-features-plugin": ^7.12.1 + "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 + checksum: ac8314da3d4d925f9b542210a5ee6a5134a08b8aaa54047578937786efefe8e31942e99849533404e0d339163fc876f71b9c5456ed05671c4c176a0f81fbac9e languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.1" +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-plugin-utils": ^7.8.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f9e60dd70bbf1e110fb4fd57356ff006e07a0218aa7b339eb20b889d097520b1a408127dfdfb73e665515674691e5b2838378e2b9b747bc90b044d31de33b6ae + checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 languageName: node linkType: hard @@ -1335,7 +1033,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.0, @babel/plugin-syntax-dynamic-import@npm:^7.8.3": +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: @@ -1390,7 +1088,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-json-strings@npm:^7.8.0, @babel/plugin-syntax-json-strings@npm:^7.8.3": +"@babel/plugin-syntax-json-strings@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" dependencies: @@ -1401,14 +1099,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.12.1" +"@babel/plugin-syntax-jsx@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-jsx@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d4b9b589c484b2e0856799770f060dff34c67b24d7f4526f66309a0e0e9cf388a5c1f2c0da329d1973cc87d1b2cede8f3dc8facfac59e785d6393a003bcdd0f9 + checksum: 3a2ba87534b0f9ee70eba0754d2ae544825c25afd98efb8e42b41399e02de4cc5b1f70fc5ce444fb7a7e5b09972c289eed2f00917be5b88d67407f4cbde8e960 languageName: node linkType: hard @@ -1423,7 +1121,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.0, @babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" dependencies: @@ -1445,7 +1143,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: @@ -1456,7 +1154,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.0, @babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" dependencies: @@ -1467,7 +1165,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-optional-chaining@npm:^7.8.0, @babel/plugin-syntax-optional-chaining@npm:^7.8.3": +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" dependencies: @@ -1500,17 +1198,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3723996f26bbb704b7fce0a1452099835e9b997c81048f9b4652e6f30a581c48dbb6d4839218bf82fb2ce94639e6ea3c9a47602af3e4a01020eac2951be14683 - languageName: node - linkType: hard - "@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" @@ -1522,17 +1209,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 62340c8a6c8e0e5a518a8e6c19aee872ecc7053498010579869526e9c7798762eb0d6f9ef65c1726be045212bd8678db9e86c8d704d5ea450c99196b218981b7 - languageName: node - linkType: hard - "@babel/plugin-transform-arrow-functions@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-arrow-functions@npm:7.14.5" @@ -1544,19 +1220,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.12.1" - dependencies: - "@babel/helper-module-imports": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-remap-async-to-generator": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 18e426e930db889ef7496ba1120de9b632ad55106786ff417b0f39def97f70bdbf8309525375b1f74f8790e4ef6bf1020db24fbdeef1d6477cc9f5099ebd93ef - languageName: node - linkType: hard - "@babel/plugin-transform-async-to-generator@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-async-to-generator@npm:7.14.5" @@ -1570,17 +1233,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ebef3feb875d7d517ecc2af45b6bef4b5fc61173158217038bcf99de8a2e13e6c0b316790b577817088cb45afe6d4e43cce14d74b16138d95a3fa1e7f67c4381 - languageName: node - linkType: hard - "@babel/plugin-transform-block-scoped-functions@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.14.5" @@ -1592,17 +1244,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-block-scoping@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e86f32f74d4d7482ce695c7975b2dce37fe3790d6cadf927432cbb20f3efc0a2c9a3d7c27779f24f4f8b6e126c6c5ac6a614762f41f4493bf32396dac03c8e23 - languageName: node - linkType: hard - "@babel/plugin-transform-block-scoping@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-block-scoping@npm:7.14.5" @@ -1614,24 +1255,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-classes@npm:7.12.1" - dependencies: - "@babel/helper-annotate-as-pure": ^7.10.4 - "@babel/helper-define-map": ^7.10.4 - "@babel/helper-function-name": ^7.10.4 - "@babel/helper-optimise-call-expression": ^7.10.4 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-replace-supers": ^7.12.1 - "@babel/helper-split-export-declaration": ^7.10.4 - globals: ^11.1.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9c43d6f045892bfbbf505f485f750e7e3d380f9bb02fa1337b255c5402a9ae3b62283eec3a7a53a373f6693d76fae3e465ba09ee940edf825141f049cf4e5981 - languageName: node - linkType: hard - "@babel/plugin-transform-classes@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-classes@npm:7.14.5" @@ -1649,17 +1272,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 61a13ef4179fb1ae0fa8802ab35ae2dc8f41f0201ea3e7689ff65c6a1d7c14a9293c77b7817d4c7361b06014ae1483268e5e52fe7dc2a584634afb101330a824 - languageName: node - linkType: hard - "@babel/plugin-transform-computed-properties@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-computed-properties@npm:7.14.5" @@ -1671,17 +1283,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-destructuring@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: dea122d6e539214e4b7622aa43e7252b0aa8a6771fe4fbd5f90c9ffbee3591275c149d7e5a24fbcc4e8de3cd6e9f7d29769c3be74c8e786cf3c726d15af20c7d - languageName: node - linkType: hard - "@babel/plugin-transform-destructuring@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-destructuring@npm:7.14.5" @@ -1693,18 +1294,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.12.1, @babel/plugin-transform-dotall-regex@npm:^7.4.4": - version: 7.12.1 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 32da63c81ce9f731c8b2c810115a481dead9e1ddbeea417a0b610ad7d4be29cc14ef0eec709cee3ee95e235b0e382b348eb0aa7964f0e0b6b75850727ab9cbed - languageName: node - linkType: hard - "@babel/plugin-transform-dotall-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-dotall-regex@npm:7.14.5" @@ -1717,14 +1306,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.12.1": +"@babel/plugin-transform-dotall-regex@npm:^7.4.4": version: 7.12.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.12.1" + resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.1" dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.12.1 "@babel/helper-plugin-utils": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6c94d977eb1fcd22494eab158d787703c6d34eb5bef26b33c8730e148a9ebdc9e924c7b046fec2cb448dc3ee6f6dcc5add5b9bd99159afe4851cd1a7172be60c + checksum: 32da63c81ce9f731c8b2c810115a481dead9e1ddbeea417a0b610ad7d4be29cc14ef0eec709cee3ee95e235b0e382b348eb0aa7964f0e0b6b75850727ab9cbed languageName: node linkType: hard @@ -1739,18 +1329,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.1" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.10.4 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 97d393607edb93a90200202aad06781738783b7920454745238d34d531ff1b9822c2b51e86e101257f3d2c2606abf675055d3e45d7055a4876d88cee50249b7f - languageName: node - linkType: hard - "@babel/plugin-transform-exponentiation-operator@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.14.5" @@ -1763,17 +1341,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-for-of@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 791c5b91406c5fc7448cce1d6d590a2f32dcc294d131f1458830b292ece88623fabe1717a3f56e8963a39a83ce9a117003560e464144cab0980e4bcd3ae0a61d - languageName: node - linkType: hard - "@babel/plugin-transform-for-of@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-for-of@npm:7.14.5" @@ -1785,18 +1352,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-function-name@npm:7.12.1" - dependencies: - "@babel/helper-function-name": ^7.10.4 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 706195378f4a032698749dd01a9073c399159e5899ab28c6933f4a61522c8101ce102a1a2502da903398d10df621f03a35980a3bcb3b9c1c47a30c4905f37f23 - languageName: node - linkType: hard - "@babel/plugin-transform-function-name@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-function-name@npm:7.14.5" @@ -1809,17 +1364,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-literals@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b5db2c5a700b8a288b9c80e1ead44d449ee109f674587592eaa1a91c8ae4384369bd55f2741216c3e0577ebd157c019b40483133657e74952952d75e3dff27f0 - languageName: node - linkType: hard - "@babel/plugin-transform-literals@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-literals@npm:7.14.5" @@ -1831,17 +1375,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a0c860a5cce79eb10f6463d36d9462705fdc600150d838f1b400435568ec4b8016b5e88f80262f243f7e6213ccd5b7e5b3ff58c6c2a6cb1ef155d647ee61d4ae - languageName: node - linkType: hard - "@babel/plugin-transform-member-expression-literals@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.14.5" @@ -1853,19 +1386,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.12.1" - dependencies: - "@babel/helper-module-transforms": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - babel-plugin-dynamic-import-node: ^2.3.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 66e5731ced7224057646c13aa5ed140d58d3a08c8b35e75644815b9ff7c514ad3337effcf368fd63395bca08e7299e9f041415e43a643a5124d813b8b1089263 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-amd@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-modules-amd@npm:7.14.5" @@ -1879,20 +1399,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.12.1" - dependencies: - "@babel/helper-module-transforms": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-simple-access": ^7.12.1 - babel-plugin-dynamic-import-node: ^2.3.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: b1b2712d1a62f64d72bfa90bb1f3b68bc72c9d4c7e7adffd46e6ffcc9e9a79d3f811d6e0aed7433ff0f7d868703d048f62fc64d4542a9d964776318f70ed97aa - languageName: node - linkType: hard - "@babel/plugin-transform-modules-commonjs@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.14.5" @@ -1907,21 +1413,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.12.1" - dependencies: - "@babel/helper-hoist-variables": ^7.10.4 - "@babel/helper-module-transforms": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-validator-identifier": ^7.10.4 - babel-plugin-dynamic-import-node: ^2.3.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cec526c8d8fee53cc102858c3a7ccf46ade74cabfda081129879bfbcbcf42093828ecaf0c05f8c90e7e99a8644f56ac6dca80272bbdf97a13519bb37b44c9296 - languageName: node - linkType: hard - "@babel/plugin-transform-modules-systemjs@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.14.5" @@ -1937,18 +1428,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.12.1" - dependencies: - "@babel/helper-module-transforms": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cc3bdc8503a04bd87b09009bb18b32a0bb3d1cbad857933a487b5ddcf643dd31e3116788fa49f484fb27985b33036cf107bf673633e06914a8c41172f25b127a - languageName: node - linkType: hard - "@babel/plugin-transform-modules-umd@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-modules-umd@npm:7.14.5" @@ -1961,17 +1440,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: da6645f5410fc23dea43afdaf04da89f210a8db1a96738ef4338a97f298fc7ad0295cec0b7d8506bd564b8df6e2e5b29ae1fc258d649eb5968e13f98f00d03ce - languageName: node - linkType: hard - "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.14.5" @@ -1983,37 +1451,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-new-target@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f8150606d23b427d82bd6add54e3ff0c7c9110b82e002ec23859f7787f1fdd475d8eb770e2253a2a98168134482d34b3b741d78fbc865941f0669aeffc147589 - languageName: node - linkType: hard - "@babel/plugin-transform-new-target@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-new-target@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 5b806c86926cd0b03fa2f22cf21a6d6a86e5831b80e8a1e898877acd3a03fd07078e45da33b671200ec98a5c7ac9be2f3592cd88933e262feffba248ca7ca4e7 - languageName: node - linkType: hard - -"@babel/plugin-transform-object-super@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-object-super@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-replace-supers": ^7.12.1 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e4524734aa47c0ab04eff6edd5cfd35c5af87afc5d7851699b8be40e3834024635c955dc046e173bf82af4561aa340844ca2387329056e5c099225a4cd80ce23 + checksum: 5b806c86926cd0b03fa2f22cf21a6d6a86e5831b80e8a1e898877acd3a03fd07078e45da33b671200ec98a5c7ac9be2f3592cd88933e262feffba248ca7ca4e7 languageName: node linkType: hard @@ -2029,17 +1474,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-parameters@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 204de6ef75ec45869d1e054489bacd9badaadf92d7c3560a4b2c6819990490b4fd5242307db3d3dd04b8ecb9da8a03ef76e57de9bd66b8299e26b04db4df5fbf - languageName: node - linkType: hard - "@babel/plugin-transform-parameters@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-parameters@npm:7.14.5" @@ -2051,17 +1485,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c66eecec27a00a7d1869e3f4aa627e5e4910042ad3059c830b16dde7bebc4621bedaf02069b5046ded0d963e7ebf0087461621f9ec8ce2a5a71f26cb949079e3 - languageName: node - linkType: hard - "@babel/plugin-transform-property-literals@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-property-literals@npm:7.14.5" @@ -2074,74 +1497,62 @@ __metadata: linkType: hard "@babel/plugin-transform-react-constant-elements@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-react-constant-elements@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fae40b681c7e3f369019f98f02b48ac838d3e21fc481933e51a17480d61e4d1d97e6ae2663bcfc348fe65bb6e2238599827b9a2d80cf0fcc61f50ab38ab8f238 - languageName: node - linkType: hard - -"@babel/plugin-transform-react-display-name@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-react-display-name@npm:7.12.1" + version: 7.14.5 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 53a4cc0b0ae0588c6a7d8745b5aedb04fd2e5848632f5bad2d4d864bcd3be8ffe67ba17b351676dbd807cfecaeb5c6f7cbf292eab3c47682d22bd1594479c8a2 + checksum: 7e4168535cd3ae1bae5acf8d7cc77a2bd885f8abed46672160631e23ded0c7e0be5152cefb1f87b123c4e3c38a542ca0ce06b3b0d8e7b7694f43687b63c0a9fb languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.12.7": - version: 7.12.11 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.12.11" +"@babel/plugin-transform-react-display-name@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-react-display-name@npm:7.14.5" dependencies: - "@babel/helper-builder-react-jsx-experimental": ^7.12.11 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-jsx": ^7.12.1 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 18fc74e10fbd05e49c4937fcc7125bb15b3768482a1e6ec342b199e152f49c891178560a6282be4d20b3fee7006754d64b3193bda46457beba2636f59f1002c4 + checksum: d7ca35d5e8d7d91ac82b17e1bd68dd4a7dcfae54da95b28d072907799503e2ec234f34dd869c9fee299a29e73e7b5ce3d4c748cf2a29c25d39f9523be130dba3 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.12.10": - version: 7.12.11 - resolution: "@babel/plugin-transform-react-jsx@npm:7.12.11" +"@babel/plugin-transform-react-jsx-development@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.14.5" dependencies: - "@babel/helper-builder-react-jsx": ^7.10.4 - "@babel/helper-builder-react-jsx-experimental": ^7.12.11 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-syntax-jsx": ^7.12.1 + "@babel/plugin-transform-react-jsx": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e2b47cd6f5b59904146a61c31fb5f2bc17e42b8705f1613b1986a0611a9e34ebfe149e090ced67100bfea7398af8eed3babd12feb68a71666eac14ac51cef341 + checksum: b49d6e703aeb4fbaacbb8449418dc3c599bcb3ce608cb900ed21a288c3bce42a33209524693b1978766b645aa2b751c15aa9da5337cc6ac2a79fd9b7c9ae9246 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.12.1" +"@babel/plugin-transform-react-jsx@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-react-jsx@npm:7.14.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.10.4 - "@babel/helper-plugin-utils": ^7.10.4 + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-module-imports": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-jsx": ^7.14.5 + "@babel/types": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7c42141c361b2524871e119b71d1fcbe871284bc4d2ab398ab549437af8dfb573c23c8b6044d8c70d37b25c159c25ec0d3d490c9303819bf6b81e1560cb1154c + checksum: 4be6ba0a0303691ce7e16363da1ae446a5cd6eb63ba5729cd7af21b0e7927c07bb8595482836cbda0f41b39fa979c37f4504ef7c23729085f84fac1659615542 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-regenerator@npm:7.12.1" +"@babel/plugin-transform-react-pure-annotations@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.14.5" dependencies: - regenerator-transform: ^0.14.2 + "@babel/helper-annotate-as-pure": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8673ae830a84a39e5bbdfaa95728ab6496b0c5a4bff11607cd5756d72709dd39cd9504666f57b8ba66d969876c2506b41d6c025ffc6315ae5221a82d3580ce8e + checksum: 3b62cc6af2c838eabc28c07473eab1392b41a5db2f0f326b1ba3ec52b95529e1c46098d6a259c7debb6a17489445828b89f7737a6fb85345ea5d27e4819a31fe languageName: node linkType: hard @@ -2156,17 +1567,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 718ac30f96ff8b13c713d3ca233746e188df651c58d39012fb4a99702a6e806b8c4a8ab48d5ad54a27b9009ddc6f394ae1c7265a2a0e84707336210c301f4757 - languageName: node - linkType: hard - "@babel/plugin-transform-reserved-words@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-reserved-words@npm:7.14.5" @@ -2178,17 +1578,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 90c70f2d644c8131f3e0a589cd8664f3666a1f75d0e45d7cdea8e27a30ff451d3012623cbda7e0c11766e8f73d984960233b1c668cf158505aa396f2f7835fef - languageName: node - linkType: hard - "@babel/plugin-transform-shorthand-properties@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.14.5" @@ -2200,18 +1589,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-spread@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 9e309c5ee6bceee59664cc26589a2fb7fa7f697831264b3475d08f3aa2e8775475ee8afcaed9b57533d3bd21a11281a93a1f2471809ae9d07c96f3ffcaeec956 - languageName: node - linkType: hard - "@babel/plugin-transform-spread@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-spread@npm:7.14.5" @@ -2224,18 +1601,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-regex": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: cd9d227dae07c5d7da94b2feb7aeab6dd00f543ca1195bcf18be01de6c9fa599f11db982e179a79d9753f8270bb8d9f31d8ee7ccbce4be4e4717a95b32c6d687 - languageName: node - linkType: hard - "@babel/plugin-transform-sticky-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-sticky-regex@npm:7.14.5" @@ -2258,17 +1623,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e25a3f351025577266e1a06dac93f30a43c5cd47e8cddb0238aa2b8e69cf51d3f52f39f19894cf14222ec411c2ba22b5adeae86fa262ec229e5d0d517b20fa04 - languageName: node - linkType: hard - "@babel/plugin-transform-template-literals@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-template-literals@npm:7.14.5" @@ -2280,17 +1634,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ced8cc35f034896233d95b8b4a07d0e4aaecfc7af1c55a97ba1907b4f3a2a950a869a1185ead0fa3f488207849d59c0025bf14561db738a685ec789d2e254b52 - languageName: node - linkType: hard - "@babel/plugin-transform-typeof-symbol@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.14.5" @@ -2302,17 +1645,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.12.1" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1dcb2b73bf9bea829da753a74cdc1405321d641465f19bdf4028d4153dd4c212bee950f7c6c591a11821418bcced2dadd6591720d6ed76ca44ec1f0acfc6bb6b - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-escapes@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.14.5" @@ -2324,18 +1656,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.12.1" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4737e20e5187ebf872ee572aea17d4b99eeb99731a2ec32d0390955a4f3246b277f5eb5ab950fabb767858b30bf330185e5a5d5b52124462e83537aa61ce2da5 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-unicode-regex@npm:7.14.5" @@ -2348,83 +1668,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.12.1": - version: 7.12.1 - resolution: "@babel/preset-env@npm:7.12.1" - dependencies: - "@babel/compat-data": ^7.12.1 - "@babel/helper-compilation-targets": ^7.12.1 - "@babel/helper-module-imports": ^7.12.1 - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/helper-validator-option": ^7.12.1 - "@babel/plugin-proposal-async-generator-functions": ^7.12.1 - "@babel/plugin-proposal-class-properties": ^7.12.1 - "@babel/plugin-proposal-dynamic-import": ^7.12.1 - "@babel/plugin-proposal-export-namespace-from": ^7.12.1 - "@babel/plugin-proposal-json-strings": ^7.12.1 - "@babel/plugin-proposal-logical-assignment-operators": ^7.12.1 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 - "@babel/plugin-proposal-numeric-separator": ^7.12.1 - "@babel/plugin-proposal-object-rest-spread": ^7.12.1 - "@babel/plugin-proposal-optional-catch-binding": ^7.12.1 - "@babel/plugin-proposal-optional-chaining": ^7.12.1 - "@babel/plugin-proposal-private-methods": ^7.12.1 - "@babel/plugin-proposal-unicode-property-regex": ^7.12.1 - "@babel/plugin-syntax-async-generators": ^7.8.0 - "@babel/plugin-syntax-class-properties": ^7.12.1 - "@babel/plugin-syntax-dynamic-import": ^7.8.0 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.0 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.0 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 - "@babel/plugin-syntax-optional-chaining": ^7.8.0 - "@babel/plugin-syntax-top-level-await": ^7.12.1 - "@babel/plugin-transform-arrow-functions": ^7.12.1 - "@babel/plugin-transform-async-to-generator": ^7.12.1 - "@babel/plugin-transform-block-scoped-functions": ^7.12.1 - "@babel/plugin-transform-block-scoping": ^7.12.1 - "@babel/plugin-transform-classes": ^7.12.1 - "@babel/plugin-transform-computed-properties": ^7.12.1 - "@babel/plugin-transform-destructuring": ^7.12.1 - "@babel/plugin-transform-dotall-regex": ^7.12.1 - "@babel/plugin-transform-duplicate-keys": ^7.12.1 - "@babel/plugin-transform-exponentiation-operator": ^7.12.1 - "@babel/plugin-transform-for-of": ^7.12.1 - "@babel/plugin-transform-function-name": ^7.12.1 - "@babel/plugin-transform-literals": ^7.12.1 - "@babel/plugin-transform-member-expression-literals": ^7.12.1 - "@babel/plugin-transform-modules-amd": ^7.12.1 - "@babel/plugin-transform-modules-commonjs": ^7.12.1 - "@babel/plugin-transform-modules-systemjs": ^7.12.1 - "@babel/plugin-transform-modules-umd": ^7.12.1 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.12.1 - "@babel/plugin-transform-new-target": ^7.12.1 - "@babel/plugin-transform-object-super": ^7.12.1 - "@babel/plugin-transform-parameters": ^7.12.1 - "@babel/plugin-transform-property-literals": ^7.12.1 - "@babel/plugin-transform-regenerator": ^7.12.1 - "@babel/plugin-transform-reserved-words": ^7.12.1 - "@babel/plugin-transform-shorthand-properties": ^7.12.1 - "@babel/plugin-transform-spread": ^7.12.1 - "@babel/plugin-transform-sticky-regex": ^7.12.1 - "@babel/plugin-transform-template-literals": ^7.12.1 - "@babel/plugin-transform-typeof-symbol": ^7.12.1 - "@babel/plugin-transform-unicode-escapes": ^7.12.1 - "@babel/plugin-transform-unicode-regex": ^7.12.1 - "@babel/preset-modules": ^0.1.3 - "@babel/types": ^7.12.1 - core-js-compat: ^3.6.2 - semver: ^5.5.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1a07935d95a2b36bfb7f462e9ce94c6c3d665ee36ddaf286f0ebc292006bd72841a9e67c4abcc878478b44b3c2cec2ad7af6a7b1cec9ac0a667054e1539859cf - languageName: node - linkType: hard - -"@babel/preset-env@npm:^7.14.5": +"@babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.14.5": version: 7.14.5 resolution: "@babel/preset-env@npm:7.14.5" dependencies: @@ -2507,7 +1751,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-modules@npm:^0.1.3, @babel/preset-modules@npm:^0.1.4": +"@babel/preset-modules@npm:^0.1.4": version: 0.1.4 resolution: "@babel/preset-modules@npm:0.1.4" dependencies: @@ -2523,17 +1767,18 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.12.5": - version: 7.12.10 - resolution: "@babel/preset-react@npm:7.12.10" + version: 7.14.5 + resolution: "@babel/preset-react@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - "@babel/plugin-transform-react-display-name": ^7.12.1 - "@babel/plugin-transform-react-jsx": ^7.12.10 - "@babel/plugin-transform-react-jsx-development": ^7.12.7 - "@babel/plugin-transform-react-pure-annotations": ^7.12.1 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-validator-option": ^7.14.5 + "@babel/plugin-transform-react-display-name": ^7.14.5 + "@babel/plugin-transform-react-jsx": ^7.14.5 + "@babel/plugin-transform-react-jsx-development": ^7.14.5 + "@babel/plugin-transform-react-pure-annotations": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f39ac96d94a856e605406da16622e2ef61c4ea2afb6b9da081ea9fc8d2521100bb19ed978a772e09618e2bb7e2ef8f69c2045ac01e83bf32a4162dd6b7c86e37 + checksum: 413c507f853b95c71ecb64f29ea7b0786464a237c54977b03a4410dd837b03bfa55df81d0e337f9792d9abc61f4bf3d616f857d00a36ff4ede79407c143ac865 languageName: node linkType: hard @@ -2565,12 +1810,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/runtime@npm:7.14.5" +"@babel/runtime@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/runtime@npm:7.14.6" dependencies: regenerator-runtime: ^0.13.4 - checksum: f609df5ca9e26a1f0f71f92754a5f6e1a4a9c22f982627e8c2c2b751ebbf45da10376501024a68c22d7a625331f40a26f9d1830c8c869512bef813f223d18ba1 + checksum: 927ffed7871f2ed29f967a8dad7a72aa10662f93b6735a89d664a161fa4dc2074b8947ca159a8a0a49cec9a71c8de473d7c2b22d3de0ee4d7dd06d24a7f98018 languageName: node linkType: hard @@ -2616,7 +1861,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.12.1": +"@babel/traverse@npm:^7.12.1": version: 7.12.1 resolution: "@babel/traverse@npm:7.12.1" dependencies: @@ -2677,7 +1922,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.10.4, @babel/types@npm:^7.10.5, @babel/types@npm:^7.11.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.11.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.4.4": version: 7.12.1 resolution: "@babel/types@npm:7.12.1" dependencies: @@ -2688,17 +1933,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.12.10, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.5, @babel/types@npm:^7.12.6": - version: 7.12.11 - resolution: "@babel/types@npm:7.12.11" - dependencies: - "@babel/helper-validator-identifier": ^7.12.11 - lodash: ^4.17.19 - to-fast-properties: ^2.0.0 - checksum: d3a19df22e177000c6017c9013f863fb8b861a71c3577547577e5f762837053eb008554bac40e0052ee54411becf1f414d802b8d276a8b0c9bf79ad5ec53288c - languageName: node - linkType: hard - "@babel/types@npm:^7.12.13, @babel/types@npm:^7.13.12, @babel/types@npm:^7.14.2": version: 7.14.2 resolution: "@babel/types@npm:7.14.2" @@ -2709,7 +1943,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.14.5": +"@babel/types@npm:^7.12.6, @babel/types@npm:^7.14.5": version: 7.14.5 resolution: "@babel/types@npm:7.14.5" dependencies: @@ -2781,12 +2015,12 @@ __metadata: languageName: node linkType: hard -"@fingerprintjs/fingerprintjs@npm:^3.1.2": - version: 3.1.2 - resolution: "@fingerprintjs/fingerprintjs@npm:3.1.2" +"@fingerprintjs/fingerprintjs@npm:^3.1.3": + version: 3.1.3 + resolution: "@fingerprintjs/fingerprintjs@npm:3.1.3" dependencies: tslib: ^2.0.1 - checksum: de1ab9b6b08983077e57a6f0b8c1c856ad490519ef6bef4102abc99cdb3335dc830b895d57ac43b0fc5c7d19baec3e95de84b201e6539f6815bc3cfa4ff4122c + checksum: 04faf5237ad85f05614e3e001d77d2eb0928f87f4e4dd964c48dede5e8b667c3a6070e8b9acbe854f442223ba0d3383f6017a7233bc06fd3b6dc96e38cd74b3c languageName: node linkType: hard @@ -2843,9 +2077,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:^2.4.0-canary.5": - version: 2.4.0-canary.5 - resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.5" +"@fuelrats/eslint-config-react@npm:^2.4.0-canary.6": + version: 2.4.0-canary.6 + resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.6" peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 @@ -2854,35 +2088,36 @@ __metadata: eslint-plugin-react: ^7.23 eslint-plugin-react-hooks: ^4.0.1 react: ^16.8 || ^17 - checksum: 76d523680dfcd2e7ec8f40a74e87b406635a176833bc21e71325fcc60d67361e9047bdadf1d1b3d02635427157fe77ce192f8dc8d5824a6dc9f664714b1a1953 + checksum: fbdaf7a95ff3a03ddfc225a18f2d88209b8e2ef09a95da90065951ef3b275c108f692ed8d6da0484f4f16079c407c796a133d39fa018afe2147dd8cb34644134 languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.4.0-canary.5": - version: 2.4.0-canary.5 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.5" +"@fuelrats/eslint-config@npm:^2.4.0-canary.6": + version: 2.4.0-canary.6 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.6" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 "@babel/eslint-plugin": ^7.11 + "@fuelrats/eslint-plugin": ^2.4.0-canary.6 eslint: ^7.24 eslint-plugin-import: ^2.23 eslint-plugin-jsdoc: ^35 - checksum: 627f9d5bd82738f92e339aa540f2e7d6d22ee20292df4b4485d2097061a9f7f3062b972c1593d7a3d2a06ea77b885de3257819736962bc12fc364c5d2416eede + checksum: 0499eb921b3ecccf3a8e51fc741384cb64343d43b8824af595fc86eae7794ee99811937a3ee0e85f3449cd902d563fbcc812c928db0fbe6890fcc79a877a868a languageName: node linkType: hard -"@fuelrats/eslint-plugin@npm:^2.4.0-canary.5": - version: 2.4.0-canary.5 - resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.5" +"@fuelrats/eslint-plugin@npm:^2.4.0-canary.8": + version: 2.4.0-canary.8 + resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.8" dependencies: requireindex: ~1.2.0 peerDependencies: "@babel/eslint-parser": ^7.11 eslint: ^7.5 - checksum: 2b72c197f1112c1182624e2c35552857e19f67f5177bb1374f60d2ca15811661e84e6a4ee117aee9ac7d996d28745fc29a734c48d3b21b6a6eb4d4d5654d45fd + checksum: fb51db308da5e3bf8c7011fafa6c5c149a072ae990cd5da9ed5eb14e54564222c9402ca6e7dc0f5061a607e420bfd4fc3bb9ad008f0e4e539ffd602e04a8f89e languageName: node linkType: hard @@ -2972,30 +2207,30 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:10.2.3": - version: 10.2.3 - resolution: "@next/env@npm:10.2.3" - checksum: f48e5148ec25b098c5663990775d98f4b8a747d6fa732fba0c1b25bf0cfa59aa1f341dac390ada5cad82c4a92aa8e50c8735870986878f7c052907d9c31d2a24 +"@next/env@npm:11.0.0": + version: 11.0.0 + resolution: "@next/env@npm:11.0.0" + checksum: 83eba2d84c57cd5bf8c45f1d25362d259fa7f67d0ced4ce8ae70c1dea63c7cb0613456c6fd00a74b0b28c7dcbb98f82b440a3cd055f0b131e36cea332bf31f7a languageName: node linkType: hard -"@next/eslint-plugin-next@npm:^10.2.3": - version: 10.2.3 - resolution: "@next/eslint-plugin-next@npm:10.2.3" - checksum: e4fec7acc2f1f560f1a0b811322f6077f04cd5ee4b5f789d8947bcbfe46b0c335ff12d47963b3c3b5a2a19f6afb37c543c01c3abfcb60dde823cab125d4a84ee +"@next/eslint-plugin-next@npm:^11.0.0": + version: 11.0.0 + resolution: "@next/eslint-plugin-next@npm:11.0.0" + checksum: 776c4b4dbe428aaa9568bf24efbf74a60e87b1b7d15c3e7595e832af26afdbb462fca25fd310daf0ca8fb6de77188cb41623c10f9aa39717262fd493e6da4b53 languageName: node linkType: hard -"@next/polyfill-module@npm:10.2.3": - version: 10.2.3 - resolution: "@next/polyfill-module@npm:10.2.3" - checksum: 4ef314ba95c0f53e9979a4c57e8ce444254591fe85315a60805b9dd26f670f38a3c594de87ba4b3d5b965c7225cf18553658990f27a6300ef42d6a07d36ec618 +"@next/polyfill-module@npm:11.0.0": + version: 11.0.0 + resolution: "@next/polyfill-module@npm:11.0.0" + checksum: 21dc5a8aee61c6604bd4eeb0ce1b8e9c2ec58375567aafe165ead1d73376ed9ee8ef8581972c561358af7be7511f15c6eef4f49306a90fe394fd7cff87ad854d languageName: node linkType: hard -"@next/react-dev-overlay@npm:10.2.3": - version: 10.2.3 - resolution: "@next/react-dev-overlay@npm:10.2.3" +"@next/react-dev-overlay@npm:11.0.0": + version: 11.0.0 + resolution: "@next/react-dev-overlay@npm:11.0.0" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -3009,22 +2244,22 @@ __metadata: stacktrace-parser: 0.1.10 strip-ansi: 6.0.0 peerDependencies: - react: ^16.9.0 || ^17 - react-dom: ^16.9.0 || ^17 - checksum: f387003701907fbe99499e75eb148422e199ff9c34daab119313d4dffa806ff5f890e42ca3268a7a2f40036c3824e9ae1f33e8af3d15f8fb2e0d046e8a338f04 + react: ^17.0.2 + react-dom: ^17.0.2 + checksum: 9a6f1bd3cc2fc6b81c95ebbbe3e484b047baa1cd32384fd4a4698411cff3d5a1cb0ef995f51e1e609e0ce8b86beabf6c1fe69845f91337bc177cf92c53afd64a languageName: node linkType: hard -"@next/react-refresh-utils@npm:10.2.3": - version: 10.2.3 - resolution: "@next/react-refresh-utils@npm:10.2.3" +"@next/react-refresh-utils@npm:11.0.0": + version: 11.0.0 + resolution: "@next/react-refresh-utils@npm:11.0.0" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: caf481fc81ed0a754b2c649c7ab6557c1da1cd22e0c0a8003025865973229b62a0950fbf6b0ad6fc473e69180012319f9e1ca699acfc7a977659e93a57a37657 + checksum: 4622231c7dddba46f00e1511cd7e76f4fa1f7cfd44be37ab32a3b494ee51ea085854e07be608298dc97326cb54c8f41528ac1c0b95a40e0dc2537607958f4ac7 languageName: node linkType: hard @@ -3055,22 +2290,6 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api@npm:0.14.0": - version: 0.14.0 - resolution: "@opentelemetry/api@npm:0.14.0" - dependencies: - "@opentelemetry/context-base": ^0.14.0 - checksum: 856f05b0f21b8714f063eeebf1994d1168b0b13f4999c575ebf1224e2059041565d99e09c3b30fd1d1331ac26aefd452f8fbfff14572038bd95f986287fbfb2d - languageName: node - linkType: hard - -"@opentelemetry/context-base@npm:^0.14.0": - version: 0.14.0 - resolution: "@opentelemetry/context-base@npm:0.14.0" - checksum: 4f3b4bd06d5fdffee46d3e6e59e3b49cbe8cc5c957e05e4464585102060709b7dd09008ca293481e3af6be917a646376034a59012a996a3a7601c577e5740083 - languageName: node - linkType: hard - "@rollup/plugin-babel@npm:^5.3.0": version: 5.3.0 resolution: "@rollup/plugin-babel@npm:5.3.0" @@ -4637,7 +3856,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.12.0, browserslist@npm:^4.6.4, browserslist@npm:^4.8.5": +"browserslist@npm:^4.12.0, browserslist@npm:^4.6.4": version: 4.14.5 resolution: "browserslist@npm:4.14.5" dependencies: @@ -5184,16 +4403,6 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.6.2": - version: 3.6.5 - resolution: "core-js-compat@npm:3.6.5" - dependencies: - browserslist: ^4.8.5 - semver: 7.0.0 - checksum: 16481135a61490d38731048ba41f966795d8f3929cc895a9a198678a42365967c0024b41670c0a84aff32a140b443ddd4adcdfc9f298777fc62a009750eda51f - languageName: node - linkType: hard - "core-js-compat@npm:^3.9.1": version: 3.12.1 resolution: "core-js-compat@npm:3.12.1" @@ -5361,13 +4570,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:1.0.0-alpha.39": - version: 1.0.0-alpha.39 - resolution: "css-tree@npm:1.0.0-alpha.39" +"css-tree@npm:^1.1.2": + version: 1.1.3 + resolution: "css-tree@npm:1.1.3" dependencies: - mdn-data: 2.0.6 + mdn-data: 2.0.14 source-map: ^0.6.1 - checksum: 3d440e8d0dfc61cadcf3fd7c8473bf7a1776d2e947e3b2d96658a58b14ddddaa06365e08948e6664749d561d894d61ac7690f66143617623175c5d52224cb9da + checksum: 79f9b81803991b6977b7fcb1588799270438274d89066ce08f117f5cdb5e20019b446d766c61506dd772c839df84caa16042d6076f20c97187f5abe3b50e7d1f languageName: node linkType: hard @@ -5433,11 +4642,11 @@ __metadata: linkType: hard "csso@npm:^4.0.2": - version: 4.0.3 - resolution: "csso@npm:4.0.3" + version: 4.2.0 + resolution: "csso@npm:4.2.0" dependencies: - css-tree: 1.0.0-alpha.39 - checksum: 685487adf1b5a223937c30b0b27fe36d02b97f373d8bd23b85170f6273032b560a43db3b63c25659b40d49ac708ae0dac40d6a0df205e98c5fc1b47731476e50 + css-tree: ^1.1.2 + checksum: 380ba9663da3bcea58dee358a0d8c4468bb6539be3c439dc266ac41c047217f52fd698fb7e4b6b6ccdfb8cf53ef4ceed8cc8ceccb8dfca2aa628319826b5b998 languageName: node linkType: hard @@ -5987,7 +5196,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.2, es-abstract@npm:^1.17.5": +"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.5": version: 1.17.7 resolution: "es-abstract@npm:1.17.7" dependencies: @@ -6006,6 +5215,30 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.17.2, es-abstract@npm:^1.18.2": + version: 1.18.3 + resolution: "es-abstract@npm:1.18.3" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.2 + is-callable: ^1.2.3 + is-negative-zero: ^2.0.1 + is-regex: ^1.1.3 + is-string: ^1.0.6 + object-inspect: ^1.10.3 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: 6bbf526b5a60cdbd390397644facbf654fc6616564614533a5ce223ecc185f7812a1f45c3ab6d0334b4ff2e8f554237539f4d05a0fceb036be24dd5d1ec022b0 + languageName: node + linkType: hard + "es-abstract@npm:^1.18.0-next.0": version: 1.18.0-next.1 resolution: "es-abstract@npm:1.18.0-next.1" @@ -6050,30 +5283,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.18.2": - version: 1.18.3 - resolution: "es-abstract@npm:1.18.3" - dependencies: - call-bind: ^1.0.2 - es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - get-intrinsic: ^1.1.1 - has: ^1.0.3 - has-symbols: ^1.0.2 - is-callable: ^1.2.3 - is-negative-zero: ^2.0.1 - is-regex: ^1.1.3 - is-string: ^1.0.6 - object-inspect: ^1.10.3 - object-keys: ^1.1.1 - object.assign: ^4.1.2 - string.prototype.trimend: ^1.0.4 - string.prototype.trimstart: ^1.0.4 - unbox-primitive: ^1.0.1 - checksum: 6bbf526b5a60cdbd390397644facbf654fc6616564614533a5ce223ecc185f7812a1f45c3ab6d0334b4ff2e8f554237539f4d05a0fceb036be24dd5d1ec022b0 - languageName: node - linkType: hard - "es-module-lexer@npm:^0.4.0": version: 0.4.1 resolution: "es-module-lexer@npm:0.4.1" @@ -6181,9 +5390,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.1.3": - version: 35.1.3 - resolution: "eslint-plugin-jsdoc@npm:35.1.3" +"eslint-plugin-jsdoc@npm:^35.3.0": + version: 35.3.0 + resolution: "eslint-plugin-jsdoc@npm:35.3.0" dependencies: "@es-joy/jsdoccomment": ^0.8.0-alpha.2 comment-parser: 1.1.5 @@ -6196,7 +5405,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: c360ab9363061bfe0f2a81613d16e49d4de0c456452261b082fcd00e4a81d10cc0f37c71518c4d505bf9f90078f0f830b712110ac09171e78a7965125428ef11 + checksum: 09141f74078bb7a4e814d98b42ab9dc5f72f406ca3eea3a622d19f2f8286339b1d219bb849502803d95a9beb43c0667b2635304e5d5750923ae420367e2fee8d languageName: node linkType: hard @@ -6769,7 +5978,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@~2.3.1#~builtin": +"fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=1cc4b2" dependencies: @@ -6778,7 +5987,7 @@ __metadata: languageName: node linkType: hard -fsevents@~2.3.1: +"fsevents@~2.3.1, fsevents@~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -6791,7 +6000,7 @@ fsevents@~2.3.1: version: 0.0.0-use.local resolution: "fuelrats.com@workspace:." dependencies: - "@babel/core": ^7.14.5 + "@babel/core": ^7.14.6 "@babel/eslint-parser": ^7.14.5 "@babel/eslint-plugin": ^7.14.5 "@babel/plugin-proposal-class-properties": ^7.14.5 @@ -6806,22 +6015,22 @@ fsevents@~2.3.1: "@babel/plugin-proposal-throw-expressions": ^7.14.5 "@babel/plugin-transform-strict-mode": ^7.14.5 "@babel/preset-env": ^7.14.5 - "@babel/runtime": ^7.14.5 - "@fingerprintjs/fingerprintjs": ^3.1.2 + "@babel/runtime": ^7.14.6 + "@fingerprintjs/fingerprintjs": ^3.1.3 "@fortawesome/fontawesome-svg-core": ^1.2.35 "@fortawesome/free-brands-svg-icons": ^5.15.3 "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.4.0-canary.5 - "@fuelrats/eslint-config-react": ^2.4.0-canary.5 - "@fuelrats/eslint-plugin": ^2.4.0-canary.5 + "@fuelrats/eslint-config": ^2.4.0-canary.6 + "@fuelrats/eslint-config-react": ^2.4.0-canary.6 + "@fuelrats/eslint-plugin": ^2.4.0-canary.8 "@fuelrats/koa-adorable-avatars": ^0.1.2 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 "@fuelrats/web-util": ^0.3.2 "@koa/router": ^10.0.0 - "@next/eslint-plugin-next": ^10.2.3 + "@next/eslint-plugin-next": ^11.0.0 "@rollup/plugin-babel": ^5.3.0 "@rollup/plugin-commonjs": ^19.0.0 "@rollup/plugin-node-resolve": ^13.0.0 @@ -6854,7 +6063,7 @@ fsevents@~2.3.1: eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.1.3 + eslint-plugin-jsdoc: ^35.3.0 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -6871,11 +6080,11 @@ fsevents@~2.3.1: koa-logger: ^3.2.1 koa-proxies: 0.12.1 lodash: ^4.17.21 - next: ^10.2.3 + next: ^11.0.0 next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 - postcss: ^8.3.2 + postcss: ^8.3.4 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 @@ -6893,17 +6102,17 @@ fsevents@~2.3.1: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.51.2 + rollup: ^2.52.0 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 - sass: ^1.34.1 - stripe: ^8.154.0 + sass: ^1.35.1 + stripe: ^8.155.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 ua-parser-js: ^0.7.28 use-immer: ^0.5.2 - webpack: ^5.38.1 + webpack: ^5.39.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -7441,6 +6650,17 @@ fsevents@~2.3.1: languageName: node linkType: hard +"image-size@npm:1.0.0": + version: 1.0.0 + resolution: "image-size@npm:1.0.0" + dependencies: + queue: 6.0.2 + bin: + image-size: bin/image-size.js + checksum: 2d9d1edc43c0fa8effd27c44cd2d1b02ecc963219e78a76ac80b9d363f69c5aa19990cc23a323959ea510742ff07667e231f0852fd57eba5dc5b55432b58106d + languageName: node + linkType: hard + "immer@npm:^7.0.9": version: 7.0.9 resolution: "immer@npm:7.0.9" @@ -8576,6 +7796,13 @@ fsevents@~2.3.1: languageName: node linkType: hard +"mdn-data@npm:2.0.14": + version: 2.0.14 + resolution: "mdn-data@npm:2.0.14" + checksum: 9d0128ed425a89f4cba8f787dca27ad9408b5cb1b220af2d938e2a0629d17d879a34d2cb19318bdb26c3f14c77dd5dfbae67211f5caaf07b61b1f2c5c8c7dc16 + languageName: node + linkType: hard + "mdn-data@npm:2.0.4": version: 2.0.4 resolution: "mdn-data@npm:2.0.4" @@ -8583,13 +7810,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"mdn-data@npm:2.0.6": - version: 2.0.6 - resolution: "mdn-data@npm:2.0.6" - checksum: adf1505687015a4791b3c4e1f213b627a7c0219fea68852e1c3c631dead8bc104e569f1800c87cf86b7279da023170e4586dff73f0efa05152754bbe7670f860 - languageName: node - linkType: hard - "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -8913,17 +8133,16 @@ fsevents@~2.3.1: languageName: node linkType: hard -"next@npm:^10.2.3": - version: 10.2.3 - resolution: "next@npm:10.2.3" +"next@npm:^11.0.0": + version: 11.0.0 + resolution: "next@npm:11.0.0" dependencies: "@babel/runtime": 7.12.5 "@hapi/accept": 5.0.2 - "@next/env": 10.2.3 - "@next/polyfill-module": 10.2.3 - "@next/react-dev-overlay": 10.2.3 - "@next/react-refresh-utils": 10.2.3 - "@opentelemetry/api": 0.14.0 + "@next/env": 11.0.0 + "@next/polyfill-module": 11.0.0 + "@next/react-dev-overlay": 11.0.0 + "@next/react-refresh-utils": 11.0.0 assert: 2.0.0 ast-types: 0.13.2 browserify-zlib: 0.2.0 @@ -8941,6 +8160,7 @@ fsevents@~2.3.1: find-cache-dir: 3.3.1 get-orientation: 1.1.2 https-browserify: 1.0.0 + image-size: 1.0.0 jest-worker: 27.0.0-next.5 native-url: 0.3.4 node-fetch: 2.6.1 @@ -8955,7 +8175,7 @@ fsevents@~2.3.1: prop-types: 15.7.2 querystring-es3: 0.2.1 raw-body: 2.4.1 - react-is: 16.13.1 + react-is: 17.0.2 react-refresh: 0.8.3 stream-browserify: 3.0.0 stream-http: 3.1.1 @@ -8970,8 +8190,8 @@ fsevents@~2.3.1: peerDependencies: fibers: ">= 3.1.0" node-sass: ^4.0.0 || ^5.0.0 - react: ^16.6.0 || ^17 - react-dom: ^16.6.0 || ^17 + react: ^17.0.2 + react-dom: ^17.0.2 sass: ^1.3.0 peerDependenciesMeta: fibers: @@ -8982,7 +8202,7 @@ fsevents@~2.3.1: optional: true bin: next: dist/bin/next - checksum: 715c83439fda55e64dcb39d0ac9cf2fe11337fd07227c257c957fc28b11b0a6036f17fce8b1a71d78d3eef0d5ec383721449169c60e3826ccd378a2b46a7744b + checksum: 4239947ccfedf74012155bcf7f696db1114468554697a13e5d9dba17148a68cab1f15ab8c64074d3096424b03a50caddf05901e03682a10f43d62c51234c73b4 languageName: node linkType: hard @@ -9290,24 +8510,24 @@ fsevents@~2.3.1: linkType: hard "object.getownpropertydescriptors@npm:^2.1.0": - version: 2.1.0 - resolution: "object.getownpropertydescriptors@npm:2.1.0" + version: 2.1.2 + resolution: "object.getownpropertydescriptors@npm:2.1.2" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0-next.1 - checksum: a3763085ce840b8f8de4df1e354303d21461454b91b6f6408871cb7be31af975fce45163e4c380c0704c3cfc9e06197d80a4b4a99fa83cc111d075311ae02cc7 + es-abstract: ^1.18.0-next.2 + checksum: 6c1c0162a2bea912f092dbf48699998d6f4b788a9884ee99ba41ddf25c3f0924ec56c6a55738c4ae3bd91d1203813a9a8e18e6fff1f477e2626cdbcd1a5f3ca8 languageName: node linkType: hard -"object.values@npm:^1.1.0": - version: 1.1.1 - resolution: "object.values@npm:1.1.1" +"object.values@npm:^1.1.0, object.values@npm:^1.1.4": + version: 1.1.4 + resolution: "object.values@npm:1.1.4" dependencies: + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.17.0-next.1 - function-bind: ^1.1.1 - has: ^1.0.3 - checksum: f1217c09fa3338698bf748514f9d5cd279744fd34e6593920faf2ad0c8eb339b3b783b6ac0b02d9285d6ead53bcf7b1ac0a5aee4717b7e38c451336796ecb8af + es-abstract: ^1.18.2 + checksum: 1a2f1e9d0bcfc299b8491170a50e6e7ca23392641d7781a8528e96c72f0013ba7ee731792ff8586c8eaec0328acda16c59622924c82c58bd0eb5c4ee67794856 languageName: node linkType: hard @@ -9323,17 +8543,6 @@ fsevents@~2.3.1: languageName: node linkType: hard -"object.values@npm:^1.1.4": - version: 1.1.4 - resolution: "object.values@npm:1.1.4" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.18.2 - checksum: 1a2f1e9d0bcfc299b8491170a50e6e7ca23392641d7781a8528e96c72f0013ba7ee731792ff8586c8eaec0328acda16c59622924c82c58bd0eb5c4ee67794856 - languageName: node - linkType: hard - "on-finished@npm:^2.3.0": version: 2.3.0 resolution: "on-finished@npm:2.3.0" @@ -10280,14 +9489,14 @@ fsevents@~2.3.1: languageName: node linkType: hard -"postcss@npm:^8.3.2": - version: 8.3.2 - resolution: "postcss@npm:8.3.2" +"postcss@npm:^8.3.4": + version: 8.3.4 + resolution: "postcss@npm:8.3.4" dependencies: colorette: ^1.2.2 nanoid: ^3.1.23 source-map-js: ^0.6.2 - checksum: 639170fd696c45238407f996c49a828dd57bf0d5b5b4aa4ef98ed568d1df52bdd8c1ad94784fa15da66ff2184f0d9debd2d08f2b037ff0886426687b21b8a292 + checksum: 86de06e3c4e3f35d41564e2aa94ebf54ceddeef13e2a799f33189c15e8ac3faab87ad6e2ba7999b108c6f432d6abb5ffd453219b20795a3635e47a81185b2a21 languageName: node linkType: hard @@ -10464,6 +9673,15 @@ fsevents@~2.3.1: languageName: node linkType: hard +"queue@npm:6.0.2": + version: 6.0.2 + resolution: "queue@npm:6.0.2" + dependencies: + inherits: ~2.0.3 + checksum: ebc23639248e4fe40a789f713c20548e513e053b3dc4924b6cb0ad741e3f264dcff948225c8737834dd4f9ec286dbc06a1a7c13858ea382d9379f4303bcc0916 + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -10550,7 +9768,14 @@ fsevents@~2.3.1: languageName: node linkType: hard -"react-is@npm:16.13.1, react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.1": +"react-is@npm:17.0.2": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -11124,17 +10349,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.51.2": - version: 2.51.2 - resolution: "rollup@npm:2.51.2" +"rollup@npm:^2.52.0": + version: 2.52.0 + resolution: "rollup@npm:2.52.0" dependencies: - fsevents: ~2.3.1 + fsevents: ~2.3.2 dependenciesMeta: fsevents: optional: true bin: rollup: dist/bin/rollup - checksum: 74fe48402478189a523275e57d23627743f9021b5e7b16f65a468eff006b97d2f6a1798ff8936e9b89c053010744fde1e6518336f02693870a317bbabb8bba52 + checksum: 5b2afeefafc717762f80e8f45c6f1f2982c0a7b0a98dc2b28644872d5e657549f48710aeedc5635372cd441a9e9f2fe73053bd1fd47561b742bd0f6aa3cb9333 languageName: node linkType: hard @@ -11166,14 +10391,14 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.34.1": - version: 1.34.1 - resolution: "sass@npm:1.34.1" +"sass@npm:^1.35.1": + version: 1.35.1 + resolution: "sass@npm:1.35.1" dependencies: chokidar: ">=3.0.0 <4.0.0" bin: sass: sass.js - checksum: 97b3816ab1bf8f59421b61ce84e4c45ad9c59890f960bdd7a23bc5058283070252dcc23f19559c12121c18d6da0b4cd2fddedb6ffe8f2509aad20662fd9ca087 + checksum: f49e738d637971f5985ab07aeda79629a9b555cca5e414ae2750b90bc9ce94703beada7f8cb5cbf972942e4c6ea941457846846618f2c6a8cd138087ee0502b2 languageName: node linkType: hard @@ -11216,7 +10441,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -11832,13 +11057,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.154.0": - version: 8.154.0 - resolution: "stripe@npm:8.154.0" +"stripe@npm:^8.155.0": + version: 8.155.0 + resolution: "stripe@npm:8.155.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: a85bd7502bb4c67fdb434d9dcae0078a225c61f6012c8b60e232dfd9d1d33673633114b79b7ae3b18c46f2c485946bb2f5fd104f13266a1bd890002fd8fde6e1 + checksum: 4cd87fb900428753221be6fade663712482480518012009a71fbc8ca4e484571a300ba8629ff92675141b6b0cd42f9beb641ac9bdf9d1223ec854fddd24b2459 languageName: node linkType: hard @@ -12930,9 +12155,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.38.1": - version: 5.38.1 - resolution: "webpack@npm:5.38.1" +"webpack@npm:^5.39.0": + version: 5.39.0 + resolution: "webpack@npm:5.39.0" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.47 @@ -12962,7 +12187,7 @@ resolve@^2.0.0-next.3: optional: true bin: webpack: bin/webpack.js - checksum: 631f0e838dd83f2f735f047a161daba2dd58b1550af5bcbe2df4ad25cfc3d836a48d038cf2ded3669ff2e1f6db58fa38866abe8c537b8fea32bda86e1223cb4f + checksum: 1acff2bcc06d6e47bc66708ea7970e72baa2f0fd866219ae0962e2dec38baeb2aaa4767b3622d9516bab4395153e3a53e799c15536d88d3ffae71be462d68a07 languageName: node linkType: hard From 7c55feba57125facc6be8be02f9cf6fd614820ea Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 22:33:03 +0000 Subject: [PATCH 043/300] refactor(NewPasswordFieldset): Use import() code splitting instead of next/dynamic for improved user experience --- .../ChangePasswordModal.js | 20 ++++--- .../NewPasswordFieldset.js | 53 +++++++++++++------ .../NewPasswordPlaceholder.js | 47 ---------------- .../Fieldsets/NewPasswordFieldset/index.js | 21 +------- src/components/Forms/PasswordResetForm.js | 25 +++++---- .../RegistrationForm/RegistrationForm.js | 18 +++---- src/hooks/useZxcvbn.js | 38 +++++++++++++ 7 files changed, 106 insertions(+), 116 deletions(-) delete mode 100644 src/components/Fieldsets/NewPasswordFieldset/NewPasswordPlaceholder.js create mode 100644 src/hooks/useZxcvbn.js diff --git a/src/components/ChangePasswordModal/ChangePasswordModal.js b/src/components/ChangePasswordModal/ChangePasswordModal.js index d103d560c..c63eff4de 100644 --- a/src/components/ChangePasswordModal/ChangePasswordModal.js +++ b/src/components/ChangePasswordModal/ChangePasswordModal.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import { useCallback, useMemo, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' -import dynamicNewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' +import NewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' import asModal, { ModalContent, ModalFooter } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' @@ -16,16 +16,8 @@ import ChangePasswordMessageBox from './ChangePasswordMessageBox' // Component Constants const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 -const passwordFieldProps = { - dark: true, - required: true, - 'aria-label': 'New Password', - id: 'NewPassword', - name: 'attributes.newPassword', - placeholder: 'New Password', -} -const NewPasswordFieldset = dynamicNewPasswordFieldset(passwordFieldProps) + function ChangePasswordModal (props) { @@ -96,7 +88,13 @@ function ChangePasswordModal (props) { name="attributes.password" placeholder="Current Password" /> - +
diff --git a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js index a6ef60da3..77c073857 100644 --- a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js +++ b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js @@ -1,18 +1,21 @@ +import _get from 'lodash/get' import PropTypes from 'prop-types' -import { useState } from 'react' -import zxcvbn from 'zxcvbn' +import { useEffect, useRef, useState } from 'react' -import { useValidationCallback } from '../InputFieldset' -import PasswordFieldset from '../PasswordFieldset' -import styles from './NewPasswordFieldset.module.scss' +import { useValidationCallback } from '~/components/Fieldsets/InputFieldset' +import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' +import { fieldPropTypes } from '~/hooks/useForm' +import { useFormContext } from '~/hooks/useForm/useFormComponent' +import useZxcvbn from '~/hooks/useZxcvbn' +import styles from './NewPasswordFieldset.module.scss' -const DEFAULT_MAX_LENGTH = 42 +const DEFAULT_MAX_LENGTH = 42 @@ -21,10 +24,17 @@ function NewPasswordFieldset (props) { onValidate: parentValidate, displayName = 'Password', maxLength = DEFAULT_MAX_LENGTH, + name, ...inputProps } = props + const nameRef = useRef(name) + + const ctxRef = useRef(null) + ctxRef.current = useFormContext() + const [passwordStrength, setPasswordStrength] = useState(0) + const [zxcvbn, zxcvbnLoading] = useZxcvbn() const handleValidate = useValidationCallback( (messages, value) => { @@ -36,27 +46,40 @@ function NewPasswordFieldset (props) { messages.errors.push(`${displayName} must be no more than ${maxLength} characters long due to limitations in IRC.`) } - const evaluation = zxcvbn(value) + if (zxcvbn) { + const evaluation = zxcvbn(value) - if (evaluation.feedback.warning) { - messages.errors.push(evaluation.feedback.warning) - } + if (evaluation.feedback.warning) { + messages.errors.push(evaluation.feedback.warning) + } - messages.warnings.push(...evaluation.feedback.suggestions) + messages.warnings.push(...evaluation.feedback.suggestions) - setPasswordStrength(evaluation.score) + setPasswordStrength(evaluation.score) + } else if (zxcvbnLoading) { + messages.errors.push('Password evaluation is loading...') + } }, - [displayName, maxLength], + [displayName, maxLength, zxcvbn, zxcvbnLoading], parentValidate, ) + useEffect(() => { + if (zxcvbn) { + ctxRef.current?.validateField( + nameRef.current, + _get(ctxRef.current?.ctx.state, nameRef.current), + ) + } + }, [zxcvbn]) + return ( @@ -75,7 +98,7 @@ function NewPasswordFieldset (props) { NewPasswordFieldset.propTypes = { displayName: PropTypes.string, maxLength: PropTypes.number, - onValidate: PropTypes.func, + ...fieldPropTypes, } diff --git a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordPlaceholder.js b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordPlaceholder.js deleted file mode 100644 index 744118232..000000000 --- a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordPlaceholder.js +++ /dev/null @@ -1,47 +0,0 @@ -import PropTypes from 'prop-types' - -import { useValidationCallback } from '../InputFieldset' -import PasswordFieldset from '../PasswordFieldset' -import styles from './NewPasswordFieldset.module.scss' - - - - - -function NewPasswordPlaceholder (props) { - const { - onValidate: parentValidate, - displayName = 'Password', - ...inputProps - } = props - - const handleValidate = useValidationCallback( - (messages) => { - messages.errors.push('Loading password checker...') - }, - [], - parentValidate, - ) - - return ( - - ) -} - -NewPasswordPlaceholder.propTypes = { - displayName: PropTypes.string, - onValidate: PropTypes.func, -} - - - - - -export default NewPasswordPlaceholder diff --git a/src/components/Fieldsets/NewPasswordFieldset/index.js b/src/components/Fieldsets/NewPasswordFieldset/index.js index ff8644dba..72390eaf6 100644 --- a/src/components/Fieldsets/NewPasswordFieldset/index.js +++ b/src/components/Fieldsets/NewPasswordFieldset/index.js @@ -1,20 +1 @@ -import dynamic from 'next/dynamic' - -import NewPasswordPlaceholder from './NewPasswordPlaceholder' - - - - - -export default function dynamicNewPasswordFieldset (props = {}) { - return dynamic({ - loader: () => { - return import('./NewPasswordFieldset') - }, - loading: () => { - return ( - - ) - }, - }) -} +export { default } from './NewPasswordFieldset' diff --git a/src/components/Forms/PasswordResetForm.js b/src/components/Forms/PasswordResetForm.js index bfddd6dc5..1a33f2791 100644 --- a/src/components/Forms/PasswordResetForm.js +++ b/src/components/Forms/PasswordResetForm.js @@ -1,17 +1,16 @@ -import dynamicNewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' +import NewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' import useForm from '~/hooks/useForm' -const passwordFieldProps = { - required: true, - id: 'Password', - label: (<>{'New Password '}{'This password will be used for both fuelrats.com and our IRC chat.'}), - name: 'attributes.password', -} - - -const NewPasswordFieldset = dynamicNewPasswordFieldset(passwordFieldProps) +const passwordLabel = ( + <> + {'New Password '} + + {'This password will be used for both fuelrats.com and our IRC chat.'} + + +) @@ -29,7 +28,11 @@ function PasswordResetForm ({ onSubmit }) { return (
- +
diff --git a/src/components/Forms/RegistrationForm/RegistrationForm.js b/src/components/Forms/RegistrationForm/RegistrationForm.js index 95b3b9b06..36406b616 100644 --- a/src/components/Forms/RegistrationForm/RegistrationForm.js +++ b/src/components/Forms/RegistrationForm/RegistrationForm.js @@ -1,7 +1,7 @@ import BooleanRadioFieldset from '~/components/Fieldsets/BooleanRadioFieldset' import CMDRFieldset from '~/components/Fieldsets/CMDRFieldset' import IRCNickFieldset from '~/components/Fieldsets/IRCNickFieldset' -import dynamicNewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' +import NewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset' import PlatformFieldset from '~/components/Fieldsets/PlatformFieldset' import NewEmailFieldset from '~/components/Fieldsets/RegistrationEmailFieldset' import TermsFieldset from '~/components/Fieldsets/TermsFieldset' @@ -49,16 +49,6 @@ const labels = { platform: 'What platform is your CMDR on?', } -const passwordFieldProps = { - required: true, - id: 'Password', - label: labels.password, - name: 'attributes.password', -} - -const NewPasswordFieldset = dynamicNewPasswordFieldset(passwordFieldProps) - - function RegistrationForm ({ onSubmit }) { const { Form, canSubmit, submitting, state } = useForm({ data, onSubmit }) @@ -72,7 +62,11 @@ function RegistrationForm ({ onSubmit }) { label={labels.email} name="attributes.email" /> - + { + let loaderTimeout = null + + const loadZxcvbn = async () => { + setLoadState(true) + loaderTimeout = setTimeout(() => { + setLoadState(false) + }, loadTimeoutTimer) + + zxcvbn = (await import(/* webpackChunkName: "zxcvbn-async" */ 'zxcvbn')).default + + clearTimeout(loaderTimeout) + setLoadState(false) + } + + if (!zxcvbn) { + loadZxcvbn() + } + + return () => { + clearTimeout(loaderTimeout) + } + }, []) + + return [zxcvbn, isLoading] +} From 1c0ea14da848f11c2a5589edeb7f492ba80f7f5a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 22:34:14 +0000 Subject: [PATCH 044/300] refactor(AuthenticatedPage): rename module to match export name --- .../AppLayout/{AuthenticatedPage.js => authenticated.js} | 0 src/components/AppLayout/index.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/components/AppLayout/{AuthenticatedPage.js => authenticated.js} (100%) diff --git a/src/components/AppLayout/AuthenticatedPage.js b/src/components/AppLayout/authenticated.js similarity index 100% rename from src/components/AppLayout/AuthenticatedPage.js rename to src/components/AppLayout/authenticated.js diff --git a/src/components/AppLayout/index.js b/src/components/AppLayout/index.js index 4755dc23d..c14052209 100644 --- a/src/components/AppLayout/index.js +++ b/src/components/AppLayout/index.js @@ -1,2 +1,2 @@ export { default as withStripe } from './withStripe' -export { default as authenticated } from './AuthenticatedPage' +export { default as authenticated } from './authenticated' From 9cd9391daa8350c1266a0d88dbbda0fc42d991b9 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 22:34:31 +0000 Subject: [PATCH 045/300] refacot(useField-hook): remove unused arg from func call --- src/hooks/useForm/useField.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useForm/useField.js b/src/hooks/useForm/useField.js index 5aa6b0ed0..d02653eeb 100644 --- a/src/hooks/useForm/useField.js +++ b/src/hooks/useForm/useField.js @@ -30,7 +30,7 @@ function useField (name = isRequired('name'), opts = {}) { const debouncedValidate = useDebouncedCallback( async (value) => { dirtyState.current = false - await ctxRef.current?.validateField(nameRef.current, value, ctxRef.current?.ctx.state) + await ctxRef.current?.validateField(nameRef.current, value) setValidatingState(false) }, [], From 7c1e8c19fb747a9fe6bc6f9b4681ec5be8534d47 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 22:34:44 +0000 Subject: [PATCH 046/300] chore: remove old workaround --- next.config.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/next.config.js b/next.config.js index d426ca575..25f1f4250 100644 --- a/next.config.js +++ b/next.config.js @@ -97,11 +97,6 @@ module.exports = { // Workaround to fix dev warning: https://github.com/vercel/next.js/issues/19865 config.output.hotUpdateMainFilename = 'static/webpack/[fullhash].[runtime].hot-update.json' - // Workaround to fix production builds with workers: https://github.com/vercel/next.js/issues/22813 - config.output.chunkFilename = opt.isServer - ? `${opt.dev ? '[name]' : '[name].[fullhash]'}.js` - : `static/chunks/${opt.dev ? '[name]' : '[name].[fullhash]'}.js` - /* SVGR */ config.module.rules.push({ exclude: /node_modules/u, From 92f1fe656bcf00bc2c33af29024380b2111f4dca Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 23:02:13 +0000 Subject: [PATCH 047/300] refactor(App): calculate page className at loadtime instead of every render --- src/helpers/gIPTools.js | 12 +++++++++--- src/pages/_app.js | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/helpers/gIPTools.js b/src/helpers/gIPTools.js index 36b98269c..65321b969 100644 --- a/src/helpers/gIPTools.js +++ b/src/helpers/gIPTools.js @@ -13,6 +13,10 @@ import frApi from '~/services/fuelrats' const MAX_TITLE_LENGTH = 50 const MAX_DESCR_LENGTH = 300 const validatePageMeta = (props) => { + if (!props.title?.length) { + console.error('Pages must contain a unique title') + } + if (props.title?.length > MAX_TITLE_LENGTH) { console.warn(`Page titles should be fewer than 60 characters, preferably closer to 50. This page's title is ${props.title.length} characters.`) } @@ -84,16 +88,18 @@ export const setError = (ctx, statusCode, message) => { export const resolvePageMeta = async (Component, ctx, pageProps) => { - const pageMeta = (await Component.getPageMeta?.(ctx, pageProps)) ?? {} + const pageMeta = { + description: 'The Fuel Rats are Elite: Dangerous\'s premier emergency refueling service. Fueling the galaxy, one ship at a time, since 3301.', + ...(await Component.getPageMeta?.(ctx, pageProps)) ?? {}, + } if ($IS_DEVELOPMENT) { validatePageMeta(pageMeta) } return { - title: 'Fuel Rats', - description: 'The Fuel Rats are Elite: Dangerous\'s premier emergency refueling service. Fueling the galaxy, one ship at a time, since 3301.', ...pageMeta, + className: `${(pageMeta.title ?? 'fuel-rats').toLowerCase().replace(/\s/gu, '-')} ${pageMeta.className}`, } } diff --git a/src/pages/_app.js b/src/pages/_app.js index 906839329..505e21845 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -121,7 +121,7 @@ class FuelRatsApp extends App { + className={['page', className]}> { !noHeader && (
From 35aadee0fb9da1942e7b6cc89cd1119c33fc1738 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 23:03:25 +0000 Subject: [PATCH 048/300] fix(authorize-page): hide page when the user is redirected --- src/pages/authorize.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/pages/authorize.js b/src/pages/authorize.js index c4760a961..f7560d1a6 100644 --- a/src/pages/authorize.js +++ b/src/pages/authorize.js @@ -68,7 +68,7 @@ class Authorize extends React.Component { if (payload.redirect) { pageRedirect(ctx, payload.redirect) - return {} + return { redirect: true } } if (res && meta.response.headers['set-cookie']) { @@ -81,14 +81,22 @@ class Authorize extends React.Component { return {} } - static getPageMeta () { - return { title: 'Authorize Application' } + static getPageMeta (_, pageProps) { + return { + title: 'Authorize Application', + className: pageProps.redirect ? 'hidden' : '', + } } render () { - const { client } = this.props + const { client, redirect } = this.props const { submitting } = this.state + + if (redirect) { + return null + } + return (
{ From 78d5c03b6b39ffe150b0f0b576eefd60e45b2f93 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 18 Jun 2021 23:07:39 +0000 Subject: [PATCH 049/300] fix(App): prevent 'undefined' from appearing in page className --- src/helpers/gIPTools.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/gIPTools.js b/src/helpers/gIPTools.js index 65321b969..f734ad1f4 100644 --- a/src/helpers/gIPTools.js +++ b/src/helpers/gIPTools.js @@ -99,7 +99,7 @@ export const resolvePageMeta = async (Component, ctx, pageProps) => { return { ...pageMeta, - className: `${(pageMeta.title ?? 'fuel-rats').toLowerCase().replace(/\s/gu, '-')} ${pageMeta.className}`, + className: `${(pageMeta.title ?? 'fuel-rats').toLowerCase().replace(/\s/gu, '-')} ${pageMeta.className ?? ''}`, } } From dd90c0b7463a371f44e47574d956a20707543139 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 19 Jun 2021 19:43:07 +0000 Subject: [PATCH 050/300] chore: comply with new lint rules --- package.json | 5 +- rollup.config.js | 4 +- .../AddNicknameForm/AddNicknameForm.js | 2 +- .../ChangePasswordModal.js | 2 +- .../DisableProfileModal.js | 2 +- .../Fieldsets/InputFieldset/InputFieldset.js | 4 +- .../SelectFieldset/SelectFieldset.js | 4 +- src/components/FirstLoginModal.js | 2 +- .../{infoBubble => InfoBubble}/InfoBubble.js | 0 .../InfoBubble.module.scss | 0 .../{infoBubble => InfoBubble}/index.js | 0 src/components/InlineEditSpan.js | 4 +- src/components/LoginModal/LoginModal.js | 2 +- src/components/LoginModal/LoginView.js | 2 +- src/components/LoginModal/ResetView.js | 2 +- src/components/LoginModal/VerifyView.js | 2 +- src/components/NProgress.js | 12 +- src/components/TagsInput.js | 22 +- src/components/TermsModal/TermsModal.js | 6 +- .../UserDecalPanel/UserDecalPanel.js | 4 +- .../{Modal => asModal}/ModalContent.js | 0 .../{Modal => asModal}/ModalFooter.js | 0 .../{Modal => asModal}/ModalHeader.js | 0 .../{Modal => asModal}/ModalPortal.js | 0 .../{Modal/Modal.js => asModal/asModal.js} | 0 src/components/{Modal => asModal}/index.js | 2 +- src/data/CountryList.js | 255 ------------------ src/data/{LanguageList.js => languageList.js} | 8 +- src/data/{PlatformList.js => platformList.js} | 8 +- src/helpers/extPropTypes.js | 2 +- src/helpers/gIPTools.js | 2 +- src/hooks/rescueHooks.js | 4 +- src/scss/_fonts.scss | 14 +- .../{environment.mjs => helpers/getEnv.mjs} | 0 .../middlewares/{csp.mjs => fuelratsCSP.mjs} | 4 +- .../{proxy.mjs => fuelratsProxy.mjs} | 4 +- .../{ua-redirect.mjs => uaRedirect.mjs} | 0 src/server/{router => ratRouter}/index.mjs | 8 +- .../{router => ratRouter}/stripeApi/error.mjs | 0 .../{router => ratRouter}/stripeApi/index.mjs | 16 +- .../stripeApi/middlewares}/authorization.mjs | 6 +- .../stripeApi/middlewares/rateLimiter.mjs} | 8 +- .../middlewares/responseDocument.mjs} | 6 +- src/server/server.mjs | 16 +- src/services/{fuelrats.js => frApi.js} | 0 src/services/imageLoader.js | 4 +- src/services/{stripe.js => stApi.js} | 0 src/services/{wordpress.js => wpApi.js} | 0 src/store/actions/authentication.js | 16 +- src/store/actions/services.js | 6 +- src/store/actions/session.js | 2 +- src/store/actions/wordpress.js | 2 +- .../reducers/{_debug_set.js => _debugSet.js} | 2 +- src/store/reducers/blogs.js | 8 +- src/store/reducers/dispatch.js | 3 +- src/store/reducers/flags.js | 8 +- src/store/reducers/images.js | 8 +- src/store/reducers/leaderboard.js | 8 +- src/store/reducers/pageViews.js | 8 +- src/store/reducers/session.js | 8 +- src/store/reducers/users.js | 5 +- src/store/reducers/wordpress.js | 8 +- 62 files changed, 123 insertions(+), 417 deletions(-) rename src/components/{infoBubble => InfoBubble}/InfoBubble.js (100%) rename src/components/{infoBubble => InfoBubble}/InfoBubble.module.scss (100%) rename src/components/{infoBubble => InfoBubble}/index.js (100%) rename src/components/{Modal => asModal}/ModalContent.js (100%) rename src/components/{Modal => asModal}/ModalFooter.js (100%) rename src/components/{Modal => asModal}/ModalHeader.js (100%) rename src/components/{Modal => asModal}/ModalPortal.js (100%) rename src/components/{Modal/Modal.js => asModal/asModal.js} (100%) rename src/components/{Modal => asModal}/index.js (73%) delete mode 100644 src/data/CountryList.js rename src/data/{LanguageList.js => languageList.js} (94%) rename src/data/{PlatformList.js => platformList.js} (71%) rename src/server/{environment.mjs => helpers/getEnv.mjs} (100%) rename src/server/middlewares/{csp.mjs => fuelratsCSP.mjs} (96%) rename src/server/middlewares/{proxy.mjs => fuelratsProxy.mjs} (96%) rename src/server/middlewares/{ua-redirect.mjs => uaRedirect.mjs} (100%) rename src/server/{router => ratRouter}/index.mjs (89%) rename src/server/{router => ratRouter}/stripeApi/error.mjs (100%) rename src/server/{router => ratRouter}/stripeApi/index.mjs (88%) rename src/server/{router/stripeApi => ratRouter/stripeApi/middlewares}/authorization.mjs (90%) rename src/server/{router/stripeApi/TrafficControl.mjs => ratRouter/stripeApi/middlewares/rateLimiter.mjs} (96%) rename src/server/{router/stripeApi/document.mjs => ratRouter/stripeApi/middlewares/responseDocument.mjs} (91%) rename src/services/{fuelrats.js => frApi.js} (100%) rename src/services/{stripe.js => stApi.js} (100%) rename src/services/{wordpress.js => wpApi.js} (100%) rename src/store/reducers/{_debug_set.js => _debugSet.js} (91%) diff --git a/package.json b/package.json index 8c461abc6..28faab5c7 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,9 @@ "start": "yarn node --inspect --harmony --trace-warnings dist/server.js", "dev": "yarn install && yarn build:server && yarn start", "utoc": "doctoc $(grep --include=\\*.md --exclude-dir=node_modules -Rwl . -e 'START doctoc')", - "eslint": "eslint .", - "stylelint": "stylelint \"src/**/*.scss\"" + "lint:js": "eslint .", + "lint:css": "stylelint \"src/**/*.scss\"", + "lint": "yarn lint:js; yarn lint:css" }, "dependencies": { "@fingerprintjs/fingerprintjs": "^3.1.3", diff --git a/rollup.config.js b/rollup.config.js index a0fbd5193..f1a727e30 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -57,7 +57,7 @@ const babelConfig = { -const config = { +const rollup = { input: path.resolve(__dirname, 'src', 'server', 'server.mjs'), output: { file: path.resolve(__dirname, 'dist', 'server.js'), @@ -74,4 +74,4 @@ const config = { ], } -export default config +export default rollup diff --git a/src/components/AddNicknameForm/AddNicknameForm.js b/src/components/AddNicknameForm/AddNicknameForm.js index 6c9089f77..453376db1 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.js +++ b/src/components/AddNicknameForm/AddNicknameForm.js @@ -3,7 +3,7 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import React from 'react' -import InfoBubble from '~/components/infoBubble' +import InfoBubble from '~/components/InfoBubble' import ValidatedFormInput from '~/components/ValidatedFormInput' import { ircNickPattern } from '~/data/RegExpr' import { connect } from '~/store' diff --git a/src/components/ChangePasswordModal/ChangePasswordModal.js b/src/components/ChangePasswordModal/ChangePasswordModal.js index c63eff4de..7cd8ec600 100644 --- a/src/components/ChangePasswordModal/ChangePasswordModal.js +++ b/src/components/ChangePasswordModal/ChangePasswordModal.js @@ -2,9 +2,9 @@ import PropTypes from 'prop-types' import { useCallback, useMemo, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import asModal, { ModalContent, ModalFooter } from '~/components/asModal' import NewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' -import asModal, { ModalContent, ModalFooter } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { changePassword } from '~/store/actions/authentication' diff --git a/src/components/DisableProfileModal/DisableProfileModal.js b/src/components/DisableProfileModal/DisableProfileModal.js index 2793bbb88..56adc57a4 100644 --- a/src/components/DisableProfileModal/DisableProfileModal.js +++ b/src/components/DisableProfileModal/DisableProfileModal.js @@ -2,8 +2,8 @@ import Router from 'next/router' import { useCallback, useMemo, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import asModal, { FooterPrimary, ModalContent, ModalFooter } from '~/components/asModal' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' -import asModal, { FooterPrimary, ModalContent, ModalFooter } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { logout } from '~/store/actions/session' diff --git a/src/components/Fieldsets/InputFieldset/InputFieldset.js b/src/components/Fieldsets/InputFieldset/InputFieldset.js index acf9f9297..dc0e6cddf 100644 --- a/src/components/Fieldsets/InputFieldset/InputFieldset.js +++ b/src/components/Fieldsets/InputFieldset/InputFieldset.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import React, { useCallback, useState } from 'react' import InputSuggestions from '~/components/InputMessages' -import extPropType from '~/helpers/extPropTypes' +import extPropTypes from '~/helpers/extPropTypes' import getValidityErrors from '~/helpers/getValidityErrors' import useFocusState from '~/hooks/useFocusState' import { useField, fieldPropTypes } from '~/hooks/useForm' @@ -126,7 +126,7 @@ const InputFieldset = React.forwardRef((props, forwardRef) => { InputFieldset.displayName = 'InputFieldset' InputFieldset.propTypes = { - 'aria-label': extPropType(PropTypes.string).isRequiredIf('label', 'undefined'), + 'aria-label': extPropTypes(PropTypes.string).isRequiredIf('label', 'undefined'), dark: PropTypes.bool, displayName: PropTypes.string, id: PropTypes.string.isRequired, diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js index 79dd2d215..43bc03c85 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js @@ -2,7 +2,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import PropTypes from 'prop-types' import { useCallback, useRef } from 'react' -import extPropType from '~/helpers/extPropTypes' +import extPropTypes from '~/helpers/extPropTypes' import { useField, fieldPropTypes } from '~/hooks/useForm' import inputStyles from '../InputFieldset/InputFieldset.module.scss' @@ -90,7 +90,7 @@ function SelectFieldset (props) { SelectFieldset.displayName = 'InputFieldset' SelectFieldset.propTypes = { - 'aria-label': extPropType(PropTypes.string).isRequiredIf('label', 'undefined'), + 'aria-label': extPropTypes(PropTypes.string).isRequiredIf('label', 'undefined'), dark: PropTypes.bool, id: PropTypes.string.isRequired, inputClassName: PropTypes.string, diff --git a/src/components/FirstLoginModal.js b/src/components/FirstLoginModal.js index 43fc30d4d..ff0e27ddb 100644 --- a/src/components/FirstLoginModal.js +++ b/src/components/FirstLoginModal.js @@ -1,4 +1,4 @@ -import asModal, { ModalContent, ModalFooter } from './Modal' +import asModal, { ModalContent, ModalFooter } from './asModal' diff --git a/src/components/infoBubble/InfoBubble.js b/src/components/InfoBubble/InfoBubble.js similarity index 100% rename from src/components/infoBubble/InfoBubble.js rename to src/components/InfoBubble/InfoBubble.js diff --git a/src/components/infoBubble/InfoBubble.module.scss b/src/components/InfoBubble/InfoBubble.module.scss similarity index 100% rename from src/components/infoBubble/InfoBubble.module.scss rename to src/components/InfoBubble/InfoBubble.module.scss diff --git a/src/components/infoBubble/index.js b/src/components/InfoBubble/index.js similarity index 100% rename from src/components/infoBubble/index.js rename to src/components/InfoBubble/index.js diff --git a/src/components/InlineEditSpan.js b/src/components/InlineEditSpan.js index a84d87464..1f1597dcc 100644 --- a/src/components/InlineEditSpan.js +++ b/src/components/InlineEditSpan.js @@ -1,4 +1,4 @@ -function InlineEditor ({ +function InlineEditSpan ({ canEdit, className, inputClassName, @@ -24,4 +24,4 @@ function InlineEditor ({ -export default InlineEditor +export default InlineEditSpan diff --git a/src/components/LoginModal/LoginModal.js b/src/components/LoginModal/LoginModal.js index 9479056c7..814ad8a36 100644 --- a/src/components/LoginModal/LoginModal.js +++ b/src/components/LoginModal/LoginModal.js @@ -1,4 +1,4 @@ -import asModal, { ModalContent, useModalContext } from '~/components/Modal' +import asModal, { ModalContent, useModalContext } from '~/components/asModal' import { connect } from '~/store' import { setFlag } from '~/store/actions/flags' import { selectFlagByName } from '~/store/selectors' diff --git a/src/components/LoginModal/LoginView.js b/src/components/LoginModal/LoginView.js index dd780eb9e..218ab9efe 100644 --- a/src/components/LoginModal/LoginView.js +++ b/src/components/LoginModal/LoginView.js @@ -2,10 +2,10 @@ import Router from 'next/router' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/asModal' import EmailFieldset from '~/components/Fieldsets/EmailFieldset' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' import SwitchFieldset from '~/components/Fieldsets/SwitchFieldset' -import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { login } from '~/store/actions/authentication' diff --git a/src/components/LoginModal/ResetView.js b/src/components/LoginModal/ResetView.js index 86a22fcc1..88e061ff9 100644 --- a/src/components/LoginModal/ResetView.js +++ b/src/components/LoginModal/ResetView.js @@ -2,9 +2,9 @@ import PropTypes from 'prop-types' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/asModal' import EmailFieldset from '~/components/Fieldsets/EmailFieldset' import MessageBox from '~/components/MessageBox' -import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' diff --git a/src/components/LoginModal/VerifyView.js b/src/components/LoginModal/VerifyView.js index e16d787ca..b0a3893ab 100644 --- a/src/components/LoginModal/VerifyView.js +++ b/src/components/LoginModal/VerifyView.js @@ -2,8 +2,8 @@ import PropTypes from 'prop-types' import { useCallback } from 'react' import { useDispatch } from 'react-redux' +import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/asModal' import LoginTokenFieldset from '~/components/Fieldsets/LoginTokenFieldset' -import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/Modal' import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' diff --git a/src/components/NProgress.js b/src/components/NProgress.js index c418d9795..0e5a5c4dc 100644 --- a/src/components/NProgress.js +++ b/src/components/NProgress.js @@ -1,5 +1,5 @@ import Router from 'next/router' -import NProgress from 'nprogress' +import NProgressLib from 'nprogress' import React from 'react' @@ -13,7 +13,7 @@ const minimumChangeTime = 250 -class NProgressReact extends React.Component { +class NProgress extends React.Component { /***************************************************************************\ Class Properties \***************************************************************************/ @@ -30,12 +30,12 @@ class NProgressReact extends React.Component { _handleRouteChangeStart = () => { clearTimeout(this.timer) - this.timer = setTimeout(NProgress.start, minimumChangeTime) + this.timer = setTimeout(NProgressLib.start, minimumChangeTime) } _handleRouteChangeDone = () => { clearTimeout(this.timer) - NProgress.done() + NProgressLib.done() } @@ -47,7 +47,7 @@ class NProgressReact extends React.Component { \***************************************************************************/ componentDidMount () { - NProgress.configure(this.props) + NProgressLib.configure(this.props) Router.events.on('routeChangeStart', this._handleRouteChangeStart) Router.events.on('routeChangeComplete', this._handleRouteChangeDone) @@ -79,4 +79,4 @@ class NProgressReact extends React.Component { -export default NProgressReact +export default NProgress diff --git a/src/components/TagsInput.js b/src/components/TagsInput.js index ea4a2ba49..8e9d1cc5d 100644 --- a/src/components/TagsInput.js +++ b/src/components/TagsInput.js @@ -19,7 +19,7 @@ import Key from './Key' -export default class TagsInputComponent extends React.Component { +export default class TagsInput extends React.Component { _bindMethods (methods) { methods.forEach((method) => this[method] = this[method].bind(this)) } @@ -27,7 +27,7 @@ export default class TagsInputComponent extends React.Component { static _renderLoader () { return (
- {TagsInputComponent.renderLoader()} + {TagsInput.renderLoader()}
) } @@ -35,7 +35,7 @@ export default class TagsInputComponent extends React.Component { static _renderNoResults () { return (
- {TagsInputComponent.renderNoResults()} + {TagsInput.renderNoResults()}
) } @@ -113,7 +113,7 @@ export default class TagsInputComponent extends React.Component { const newNextState = { ...nextState } if (this.state.tags !== nextState.tags) { - newNextState.tags = nextState.tags.map((tag) => TagsInputComponent.parseOption(tag)) + newNextState.tags = nextState.tags.map((tag) => TagsInput.parseOption(tag)) } } @@ -140,7 +140,7 @@ export default class TagsInputComponent extends React.Component { tags = [tags] } - tags = tags.map((tag) => TagsInputComponent.parseOption(tag)) + tags = tags.map((tag) => TagsInput.parseOption(tag)) this.state = { allowDuplicates: props['data-allowduplicates'], @@ -432,15 +432,15 @@ export default class TagsInputComponent extends React.Component { placeholder={placeholder} type="search" onBlur={this.onBlur} - onFocus={TagsInputComponent.onFocus} + onFocus={TagsInput.onFocus} onInput={this.onInput} onKeyDown={this.onKeyDown} /> {Boolean(allowNew) && this.renderReturnPrompt()} - {loading && TagsInputComponent._renderLoader()} + {loading && TagsInput._renderLoader()} - {(!loading && !newFocus && Boolean(currentValue) && !options.length) && TagsInputComponent._renderNoResults()} + {(!loading && !newFocus && Boolean(currentValue) && !options.length) && TagsInput._renderNoResults()} { (!loading && Boolean(options.length)) && ( @@ -472,10 +472,10 @@ export default class TagsInputComponent extends React.Component {
  • this.handleOptionMouseOver(event, index)} onMouseDown={() => this.addTag(option)} - onMouseOut={TagsInputComponent.handleOptionMouseOut} + onMouseOut={TagsInput.handleOptionMouseOut} onMouseOver={(event) => this.handleOptionMouseOver(event, index)}> {this.renderValue(option)}
  • @@ -553,7 +553,7 @@ export default class TagsInputComponent extends React.Component { } options.forEach((optionValue) => { - const option = TagsInputComponent.parseOption(optionValue) + const option = TagsInput.parseOption(optionValue) if (merge && this.findOption(option)) { return diff --git a/src/components/TermsModal/TermsModal.js b/src/components/TermsModal/TermsModal.js index d50903ba6..1b7c6d650 100644 --- a/src/components/TermsModal/TermsModal.js +++ b/src/components/TermsModal/TermsModal.js @@ -3,7 +3,7 @@ import React from 'react' import { connect } from '~/store' import { selectWordpressPageBySlug } from '~/store/selectors' -import asModal, { ModalContent, ModalFooter } from '../Modal' +import asModal, { ModalContent, ModalFooter } from '../asModal' import styles from './TermsModal.module.scss' @@ -12,7 +12,7 @@ import styles from './TermsModal.module.scss' @asModal({ className: 'terms-dialog' }) @connect -class WordpressTermsModal extends React.Component { +class TermsModal extends React.Component { /***************************************************************************\ Class Properties \***************************************************************************/ @@ -152,4 +152,4 @@ class WordpressTermsModal extends React.Component { -export default WordpressTermsModal +export default TermsModal diff --git a/src/components/UserDecalPanel/UserDecalPanel.js b/src/components/UserDecalPanel/UserDecalPanel.js index c57bed32d..f00f52d22 100644 --- a/src/components/UserDecalPanel/UserDecalPanel.js +++ b/src/components/UserDecalPanel/UserDecalPanel.js @@ -13,7 +13,7 @@ import DecalRow from './DecalRow' import styles from './UserDecalPanel.module.scss' -function UserDetailsPanel () { +function UserDecalPanel () { const [redeeming, setRedeeming] = useState(false) const decals = useSelector(withCurrentUserId(selectDecalsByUserId)) @@ -75,4 +75,4 @@ function UserDetailsPanel () { -export default UserDetailsPanel +export default UserDecalPanel diff --git a/src/components/Modal/ModalContent.js b/src/components/asModal/ModalContent.js similarity index 100% rename from src/components/Modal/ModalContent.js rename to src/components/asModal/ModalContent.js diff --git a/src/components/Modal/ModalFooter.js b/src/components/asModal/ModalFooter.js similarity index 100% rename from src/components/Modal/ModalFooter.js rename to src/components/asModal/ModalFooter.js diff --git a/src/components/Modal/ModalHeader.js b/src/components/asModal/ModalHeader.js similarity index 100% rename from src/components/Modal/ModalHeader.js rename to src/components/asModal/ModalHeader.js diff --git a/src/components/Modal/ModalPortal.js b/src/components/asModal/ModalPortal.js similarity index 100% rename from src/components/Modal/ModalPortal.js rename to src/components/asModal/ModalPortal.js diff --git a/src/components/Modal/Modal.js b/src/components/asModal/asModal.js similarity index 100% rename from src/components/Modal/Modal.js rename to src/components/asModal/asModal.js diff --git a/src/components/Modal/index.js b/src/components/asModal/index.js similarity index 73% rename from src/components/Modal/index.js rename to src/components/asModal/index.js index 30e7e1726..8450ffad7 100644 --- a/src/components/Modal/index.js +++ b/src/components/asModal/index.js @@ -1,4 +1,4 @@ -export { default, useModalContext } from './Modal' +export { default, useModalContext } from './asModal' export { default as ModalContent } from './ModalContent' export { default as ModalFooter, FooterPrimary, FooterSecondary } from './ModalFooter' diff --git a/src/data/CountryList.js b/src/data/CountryList.js deleted file mode 100644 index 31b2785c2..000000000 --- a/src/data/CountryList.js +++ /dev/null @@ -1,255 +0,0 @@ -// Country data from https://www.freeformatter.com/iso-country-list-html-select.html -const countryList = [ - 'Afghanistan', - 'Åland Islands', - 'Albania', - 'Algeria', - 'American Samoa', - 'Andorra', - 'Angola', - 'Anguilla', - 'Antarctica', - 'Antigua and Barbuda', - 'Argentina', - 'Armenia', - 'Aruba', - 'Australia', - 'Austria', - 'Azerbaijan', - 'Bahamas', - 'Bahrain', - 'Bangladesh', - 'Barbados', - 'Belarus', - 'Belgium', - 'Belize', - 'Benin', - 'Bermuda', - 'Bhutan', - 'Bolivia, Plurinational State of', - 'Bonaire, Sint Eustatius and Saba', - 'Bosnia and Herzegovina', - 'Botswana', - 'Bouvet Island', - 'Brazil', - 'British Indian Ocean Territory', - 'Brunei Darussalam', - 'Bulgaria', - 'Burkina Faso', - 'Burundi', - 'Cambodia', - 'Cameroon', - 'Canada', - 'Cape Verde', - 'Cayman Islands', - 'Central African Republic', - 'Chad', - 'Chile', - 'China', - 'Christmas Island', - 'Cocos (Keeling) Islands', - 'Colombia', - 'Comoros', - 'Congo', - 'Congo, the Democratic Republic of the', - 'Cook Islands', - 'Costa Rica', - "Côte d'Ivoire", - 'Croatia', - 'Cuba', - 'Curaçao', - 'Cyprus', - 'Czech Republic', - 'Denmark', - 'Djibouti', - 'Dominica', - 'Dominican Republic', - 'Ecuador', - 'Egypt', - 'El Salvador', - 'Equatorial Guinea', - 'Eritrea', - 'Estonia', - 'Ethiopia', - 'Falkland Islands (Malvinas)', - 'Faroe Islands', - 'Fiji', - 'Finland', - 'France', - 'French Guiana', - 'French Polynesia', - 'French Southern Territories', - 'Gabon', - 'Gambia', - 'Georgia', - 'Germany', - 'Ghana', - 'Gibraltar', - 'Greece', - 'Greenland', - 'Grenada', - 'Guadeloupe', - 'Guam', - 'Guatemala', - 'Guernsey', - 'Guinea', - 'Guinea-Bissau', - 'Guyana', - 'Haiti', - 'Heard Island and McDonald Islands', - 'Holy See (Vatican City State)', - 'Honduras', - 'Hong Kong', - 'Hungary', - 'Iceland', - 'India', - 'Indonesia', - 'Iran, Islamic Republic of', - 'Iraq', - 'Ireland', - 'Isle of Man', - 'Israel', - 'Italy', - 'Jamaica', - 'Japan', - 'Jersey', - 'Jordan', - 'Kazakhstan', - 'Kenya', - 'Kiribati', - "Korea, Democratic People's Republic of", - 'Korea, Republic of', - 'Kuwait', - 'Kyrgyzstan', - "Lao People's Democratic Republic", - 'Latvia', - 'Lebanon', - 'Lesotho', - 'Liberia', - 'Libya', - 'Liechtenstein', - 'Lithuania', - 'Luxembourg', - 'Macao', - 'Macedonia, the former Yugoslav Republic of', - 'Madagascar', - 'Malawi', - 'Malaysia', - 'Maldives', - 'Mali', - 'Malta', - 'Marshall Islands', - 'Martinique', - 'Mauritania', - 'Mauritius', - 'Mayotte', - 'Mexico', - 'Micronesia, Federated States of', - 'Moldova, Republic of', - 'Monaco', - 'Mongolia', - 'Montenegro', - 'Montserrat', - 'Morocco', - 'Mozambique', - 'Myanmar', - 'Namibia', - 'Nauru', - 'Nepal', - 'Netherlands', - 'New Caledonia', - 'New Zealand', - 'Nicaragua', - 'Niger', - 'Nigeria', - 'Niue', - 'Norfolk Island', - 'Northern Mariana Islands', - 'Norway', - 'Oman', - 'Pakistan', - 'Palau', - 'Palestinian Territory, Occupied', - 'Panama', - 'Papua New Guinea', - 'Paraguay', - 'Peru', - 'Philippines', - 'Pitcairn', - 'Poland', - 'Portugal', - 'Puerto Rico', - 'Qatar', - 'Réunion', - 'Romania', - 'Russian Federation', - 'Rwanda', - 'Saint Barthélemy', - 'Saint Helena, Ascension and Tristan da Cunha', - 'Saint Kitts and Nevis', - 'Saint Lucia', - 'Saint Martin (French part)', - 'Saint Pierre and Miquelon', - 'Saint Vincent and the Grenadines', - 'Samoa', - 'San Marino', - 'Sao Tome and Principe', - 'Saudi Arabia', - 'Senegal', - 'Serbia', - 'Seychelles', - 'Sierra Leone', - 'Singapore', - 'Sint Maarten (Dutch part)', - 'Slovakia', - 'Slovenia', - 'Solomon Islands', - 'Somalia', - 'South Africa', - 'South Georgia and the South Sandwich Islands', - 'South Sudan', - 'Spain', - 'Sri Lanka', - 'Sudan', - 'Suriname', - 'Svalbard and Jan Mayen', - 'Swaziland', - 'Sweden', - 'Switzerland', - 'Syrian Arab Republic', - 'Taiwan, Province of China', - 'Tajikistan', - 'Tanzania, United Republic of', - 'Thailand', - 'Timor-Leste', - 'Togo', - 'Tokelau', - 'Tonga', - 'Trinidad and Tobago', - 'Tunisia', - 'Turkey', - 'Turkmenistan', - 'Turks and Caicos Islands', - 'Tuvalu', - 'Uganda', - 'Ukraine', - 'United Arab Emirates', - 'United Kingdom', - 'United States', - 'United States Minor Outlying Islands', - 'Uruguay', - 'Uzbekistan', - 'Vanuatu', - 'Venezuela, Bolivarian Republic of', - 'Viet Nam', - 'Virgin Islands, British', - 'Virgin Islands, U.S.', - 'Wallis and Futuna', - 'Western Sahara', - 'Yemen', - 'Zambia', - 'Zimbabwe', -] - - -export default countryList diff --git a/src/data/LanguageList.js b/src/data/languageList.js similarity index 94% rename from src/data/LanguageList.js rename to src/data/languageList.js index ab4c0862e..e15ea1b9f 100644 --- a/src/data/LanguageList.js +++ b/src/data/languageList.js @@ -1,4 +1,4 @@ -const languages = { +const languageList = { bg: { short: 'BG', long: 'Bulgarian', @@ -142,15 +142,15 @@ const languages = { } -export default languages +export default languageList export function getLanguage (lang) { if (!lang) { - return languages.unknown + return languageList.unknown } const [langCode] = lang.split('-') - const langData = languages[langCode] + const langData = languageList[langCode] if (!langData) { return { diff --git a/src/data/PlatformList.js b/src/data/platformList.js similarity index 71% rename from src/data/PlatformList.js rename to src/data/platformList.js index 8308acce0..5d907b2bf 100644 --- a/src/data/PlatformList.js +++ b/src/data/platformList.js @@ -1,4 +1,4 @@ -const platforms = { +const platformList = { pc: { short: 'PC', long: 'PC', @@ -17,12 +17,12 @@ const platforms = { }, } -export default platforms +export default platformList export function getPlatform (platform) { if (!platform) { - return platforms.unknown + return platformList.unknown } - return platforms[platform] + return platformList[platform] } diff --git a/src/helpers/extPropTypes.js b/src/helpers/extPropTypes.js index fc8b8775f..df338fd27 100644 --- a/src/helpers/extPropTypes.js +++ b/src/helpers/extPropTypes.js @@ -1,4 +1,4 @@ -export default function extPropType (propType) { +export default function extPropTypes (propType) { function checkType (extTypeCheck, ...args) { const [, propName, componentName] = args if (typeof propType !== 'function') { diff --git a/src/helpers/gIPTools.js b/src/helpers/gIPTools.js index f734ad1f4..918856dc6 100644 --- a/src/helpers/gIPTools.js +++ b/src/helpers/gIPTools.js @@ -4,7 +4,7 @@ import jsCookie from 'js-cookie' import nextCookies from 'next-cookies' import Router from 'next/router' -import frApi from '~/services/fuelrats' +import frApi from '~/services/frApi' diff --git a/src/hooks/rescueHooks.js b/src/hooks/rescueHooks.js index d3ddac614..837ffa1ec 100644 --- a/src/hooks/rescueHooks.js +++ b/src/hooks/rescueHooks.js @@ -2,8 +2,8 @@ import { HttpStatus } from '@fuelrats/web-util/http' import axios from 'axios' import { useMemo, useState, useEffect } from 'react' -import { getLanguage } from '~/data/LanguageList' -import { getPlatform } from '~/data/PlatformList' +import { getLanguage } from '~/data/languageList' +import { getPlatform } from '~/data/platformList' import { formatAsEliteDateTime } from '~/helpers/formatTime' diff --git a/src/scss/_fonts.scss b/src/scss/_fonts.scss index 590059e53..fd7bb6c14 100644 --- a/src/scss/_fonts.scss +++ b/src/scss/_fonts.scss @@ -1,3 +1,15 @@ $paragraph-fonts: 'Open Sans', sans-serif; $title-fonts: 'Raleway', sans-serif; -$monospace-fonts: 'Operator Mono', 'SF Mono', 'Fira Code', 'Source Code Pro', menlo, monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', consolas, monospace, sans-serif; +$monospace-fonts: + 'Operator Mono', + 'SF Mono', + 'Fira Code', + 'Source Code Pro', + menlo, + monaco, + 'Lucida Console', + 'Liberation Mono', + 'DejaVu Sans Mono', + consolas, + monospace, + sans-serif; diff --git a/src/server/environment.mjs b/src/server/helpers/getEnv.mjs similarity index 100% rename from src/server/environment.mjs rename to src/server/helpers/getEnv.mjs diff --git a/src/server/middlewares/csp.mjs b/src/server/middlewares/fuelratsCSP.mjs similarity index 96% rename from src/server/middlewares/csp.mjs rename to src/server/middlewares/fuelratsCSP.mjs index 55f6a5911..04b5d1c5f 100644 --- a/src/server/middlewares/csp.mjs +++ b/src/server/middlewares/fuelratsCSP.mjs @@ -25,7 +25,7 @@ const domainWhitelist = [ -const configureCSP = () => { +const fuelratsCSP = () => { return async function koaCSP (ctx, next) { const { isDev, @@ -74,4 +74,4 @@ const configureCSP = () => { -export default configureCSP +export default fuelratsCSP diff --git a/src/server/middlewares/proxy.mjs b/src/server/middlewares/fuelratsProxy.mjs similarity index 96% rename from src/server/middlewares/proxy.mjs rename to src/server/middlewares/fuelratsProxy.mjs index 9e44e3e92..f80354692 100644 --- a/src/server/middlewares/proxy.mjs +++ b/src/server/middlewares/fuelratsProxy.mjs @@ -23,7 +23,7 @@ const createProxyWithDefaults = (path, opts) => { -const configureProxies = (koaServer, env) => { +const fuelratsProxy = (koaServer, env) => { /***************************************************************************\ Proxy Fuelrats API requests \***************************************************************************/ @@ -86,4 +86,4 @@ const configureProxies = (koaServer, env) => { -export default configureProxies +export default fuelratsProxy diff --git a/src/server/middlewares/ua-redirect.mjs b/src/server/middlewares/uaRedirect.mjs similarity index 100% rename from src/server/middlewares/ua-redirect.mjs rename to src/server/middlewares/uaRedirect.mjs diff --git a/src/server/router/index.mjs b/src/server/ratRouter/index.mjs similarity index 89% rename from src/server/router/index.mjs rename to src/server/ratRouter/index.mjs index 3fcfcdc59..92d04d716 100644 --- a/src/server/router/index.mjs +++ b/src/server/ratRouter/index.mjs @@ -1,14 +1,14 @@ import AvatarsRouter from '@fuelrats/koa-adorable-avatars' import Router from '@koa/router' -import redirects from './redirects' import stripeApi from './stripeApi' +import wpRedirect from './wpRedirect' -const configureRouter = (nextApp, koaServer) => { +const ratRouter = (nextApp, koaServer) => { const router = new Router() @@ -17,7 +17,7 @@ const configureRouter = (nextApp, koaServer) => { \***************************************************************************/ // Redirects - redirects(router) + wpRedirect(router) // Stripe Api stripeApi(router) @@ -56,4 +56,4 @@ const configureRouter = (nextApp, koaServer) => { -export default configureRouter +export default ratRouter diff --git a/src/server/router/stripeApi/error.mjs b/src/server/ratRouter/stripeApi/error.mjs similarity index 100% rename from src/server/router/stripeApi/error.mjs rename to src/server/ratRouter/stripeApi/error.mjs diff --git a/src/server/router/stripeApi/index.mjs b/src/server/ratRouter/stripeApi/index.mjs similarity index 88% rename from src/server/router/stripeApi/index.mjs rename to src/server/ratRouter/stripeApi/index.mjs index 543bcb578..d72e0e7f2 100644 --- a/src/server/router/stripeApi/index.mjs +++ b/src/server/ratRouter/stripeApi/index.mjs @@ -3,9 +3,9 @@ import Router from '@koa/router' import stripeJs from 'stripe' -import authorizeUser from './authorization' -import prepareResponse from './document' -import createControlTower from './TrafficControl' +import authorization from './middlewares/authorization' +import rateLimiter from './middlewares/rateLimiter' +import responseDocument from './middlewares/responseDocument' const getDonationItemInfo = (amount) => { if (amount >= 3500) { @@ -43,12 +43,12 @@ const getDonationItemInfo = (amount) => { } } -const configureStripeApi = (router) => { - const trafficControl = createControlTower() +const stripeApi = (router) => { + const trafficControl = rateLimiter() const stApiRouter = new Router() - stApiRouter.use(prepareResponse) + stApiRouter.use(responseDocument) stApiRouter.use(trafficControl) - stApiRouter.use(authorizeUser) + stApiRouter.use(authorization) stApiRouter.post('/checkout/donate', async (ctx) => { @@ -95,4 +95,4 @@ const configureStripeApi = (router) => { -export default configureStripeApi +export default stripeApi diff --git a/src/server/router/stripeApi/authorization.mjs b/src/server/ratRouter/stripeApi/middlewares/authorization.mjs similarity index 90% rename from src/server/router/stripeApi/authorization.mjs rename to src/server/ratRouter/stripeApi/middlewares/authorization.mjs index 1b68f6571..dfea589fe 100644 --- a/src/server/router/stripeApi/authorization.mjs +++ b/src/server/ratRouter/stripeApi/middlewares/authorization.mjs @@ -2,7 +2,7 @@ import ip6addr from 'ip6addr' import jsonfile from 'jsonfile' -import { UnauthorizedError } from './error' +import { UnauthorizedError } from '../error' const IPV4_PREFIX_LENGTH = 32 const IPV6_PREFIX_LENGTH = 56 @@ -31,7 +31,7 @@ const compareIps = (userIp) => { } } -const authorizeUser = async (ctx, next) => { +const authorization = async (ctx, next) => { // We only care about checking the file if it's actually configured if (ctx.state.env?.stripe?.bansFile) { // Load on every request since we don't want to @@ -53,4 +53,4 @@ const authorizeUser = async (ctx, next) => { -export default authorizeUser +export default authorization diff --git a/src/server/router/stripeApi/TrafficControl.mjs b/src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs similarity index 96% rename from src/server/router/stripeApi/TrafficControl.mjs rename to src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs index 48278a8a1..fb01705cc 100644 --- a/src/server/router/stripeApi/TrafficControl.mjs +++ b/src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs @@ -1,4 +1,4 @@ -import { TooManyRequestsError } from './error' +import { TooManyRequestsError } from '../error' const hourTimer = 60 * 60 * 1000 @@ -146,10 +146,10 @@ class RemoteAddressEntity { -const createControlTower = () => { +const rateLimiter = () => { const traffic = new TrafficControl() - return async function trafficControl (ctx, next) { + return async function trafficControlTower (ctx, next) { const rateLimit = traffic.validateRateLimit({ connection: ctx }) ctx.state.traffic = rateLimit ctx.set('X-Rate-Limit-Limit', rateLimit.total) @@ -165,4 +165,4 @@ const createControlTower = () => { } } -export default createControlTower +export default rateLimiter diff --git a/src/server/router/stripeApi/document.mjs b/src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs similarity index 91% rename from src/server/router/stripeApi/document.mjs rename to src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs index 12def266a..1b1af75eb 100644 --- a/src/server/router/stripeApi/document.mjs +++ b/src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs @@ -1,6 +1,6 @@ import { HttpStatus } from '@fuelrats/web-util/http' -import { ApiError, InternalServerError } from './error' +import { ApiError, InternalServerError } from '../error' class ResponseDocument { @@ -29,7 +29,7 @@ class ResponseDocument { } } -const prepareResponse = async (ctx, next) => { +const responseDocument = async (ctx, next) => { try { await next() @@ -71,4 +71,4 @@ const prepareResponse = async (ctx, next) => { -export default prepareResponse +export default responseDocument diff --git a/src/server/server.mjs b/src/server/server.mjs index 1d003be05..57f9e3f8e 100644 --- a/src/server/server.mjs +++ b/src/server/server.mjs @@ -7,11 +7,11 @@ import koaCompress from 'koa-compress' import koaLogger from 'koa-logger' import createNextServer from 'next' -import getEnv from './environment' -import configureCSP from './middlewares/csp' -import proxies from './middlewares/proxy' -import uaRedirect from './middlewares/ua-redirect' -import router from './router' +import getEnv from './helpers/getEnv' +import fuelratsCSP from './middlewares/fuelratsCSP' +import fuelratsProxy from './middlewares/fuelratsProxy' +import uaRedirect from './middlewares/uaRedirect' +import ratRouter from './ratRouter' @@ -48,10 +48,10 @@ const nextApp = createNextServer({ server.use(koaLogger()) // Add CSP - server.use(configureCSP()) + server.use(fuelratsCSP()) // Add proxies - proxies(server, env) + fuelratsProxy(server, env) // Compress responses server.use(koaCompress()) @@ -60,7 +60,7 @@ const nextApp = createNextServer({ server.use(koaBody()) // Add routes - router(nextApp, server) + ratRouter(nextApp, server) // Start the server server.listen(env.port) diff --git a/src/services/fuelrats.js b/src/services/frApi.js similarity index 100% rename from src/services/fuelrats.js rename to src/services/frApi.js diff --git a/src/services/imageLoader.js b/src/services/imageLoader.js index 10af1d390..6f0c36548 100644 --- a/src/services/imageLoader.js +++ b/src/services/imageLoader.js @@ -9,7 +9,7 @@ let worker = null -const getImageLoader = (dispatch) => { +const imageLoader = (dispatch) => { if (!worker) { worker = new Worker(new URL('../workers/image-loader.worker.js', import.meta.url)) worker.addEventListener('message', (event) => { @@ -34,4 +34,4 @@ const getImageLoader = (dispatch) => { -export default getImageLoader +export default imageLoader diff --git a/src/services/stripe.js b/src/services/stApi.js similarity index 100% rename from src/services/stripe.js rename to src/services/stApi.js diff --git a/src/services/wordpress.js b/src/services/wpApi.js similarity index 100% rename from src/services/wordpress.js rename to src/services/wpApi.js diff --git a/src/store/actions/authentication.js b/src/store/actions/authentication.js index 0825c653e..d62861f02 100644 --- a/src/store/actions/authentication.js +++ b/src/store/actions/authentication.js @@ -5,7 +5,7 @@ import Router from 'next/router' import getFingerprint from '~/helpers/getFingerprint' import { presentApiRequestBody } from '~/helpers/presenters' -import frApi from '~/services/fuelrats' +import frApi from '~/services/frApi' import actionTypes from '../actionTypes' import { frApiPlainRequest } from './services' @@ -65,21 +65,15 @@ export const login = (options) => { Cookies.set('access_token', token, { expires: remember ? SESSION_TOKEN_LENGTH : null }) - /* eslint-disable no-restricted-globals */ if (location && location.search) { - const searchParams = {} + const searchParams = new URLSearchParams(location.search) - location.search.replace(/^\?/u, '').split('&').forEach((searchParam) => { - const [key, value] = searchParam.split('=') - - searchParams[key] = value - }) - - const destination = searchParams.destination ? decodeURIComponent(searchParams.destination) : '/profile' + const destination = searchParams.has('destination') + ? decodeURIComponent(searchParams.get('destination')) + : '/profile' Router.push(destination) } - /* eslint-enable no-restricted-globals */ } return dispatch(action) diff --git a/src/store/actions/services.js b/src/store/actions/services.js index 8140c173a..2944dd20e 100644 --- a/src/store/actions/services.js +++ b/src/store/actions/services.js @@ -1,9 +1,9 @@ import { isRequired } from '@fuelrats/validation-util' import { axiosRequest, createAxiosFSA } from '@fuelrats/web-util/actions' -import frApi from '~/services/fuelrats' -import stApi from '~/services/stripe' -import wpApi from '~/services/wordpress' +import frApi from '~/services/frApi' +import stApi from '~/services/stApi' +import wpApi from '~/services/wpApi' import { updatesResources } from '../reducers/frAPIResources' import { selectSessionToken } from '../selectors' diff --git a/src/store/actions/session.js b/src/store/actions/session.js index 2741b692c..eb0615194 100644 --- a/src/store/actions/session.js +++ b/src/store/actions/session.js @@ -3,7 +3,7 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import { configureRequest, deleteCookie } from '~/helpers/gIPTools' -import frApi from '~/services/fuelrats' +import frApi from '~/services/frApi' import actionTypes from '../actionTypes' import { diff --git a/src/store/actions/wordpress.js b/src/store/actions/wordpress.js index 89234f399..a891aba8f 100644 --- a/src/store/actions/wordpress.js +++ b/src/store/actions/wordpress.js @@ -1,6 +1,6 @@ import { createAxiosFSA } from '@fuelrats/web-util/actions' -import wpApi from '~/services/wordpress' +import wpApi from '~/services/wpApi' import actionTypes from '../actionTypes' diff --git a/src/store/reducers/_debug_set.js b/src/store/reducers/_debugSet.js similarity index 91% rename from src/store/reducers/_debug_set.js rename to src/store/reducers/_debugSet.js index 46afc7cee..b56794093 100644 --- a/src/store/reducers/_debug_set.js +++ b/src/store/reducers/_debugSet.js @@ -9,7 +9,7 @@ import _set from 'lodash/set' * @param {[string, any]} action.payload lodash set path/value * @returns {object} next redux state */ -export default function unsafeSet (state, action) { +export default function _debugSet (state, action) { if (action.type === 'unsafe/set') { return produce(state, (draftState) => { _set(draftState, ...action.payload) diff --git a/src/store/reducers/blogs.js b/src/store/reducers/blogs.js index 304228743..ce707cee9 100644 --- a/src/store/reducers/blogs.js +++ b/src/store/reducers/blogs.js @@ -11,7 +11,7 @@ import initialState from '../initialState' -const blogsReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { payload, type, @@ -52,9 +52,3 @@ const blogsReducer = produce((draftState, action) => { break } }, initialState.blogs) - - - - - -export default blogsReducer diff --git a/src/store/reducers/dispatch.js b/src/store/reducers/dispatch.js index 83ad42867..af781b50d 100644 --- a/src/store/reducers/dispatch.js +++ b/src/store/reducers/dispatch.js @@ -7,7 +7,7 @@ import initialState from '../initialState' const DISPATCH_VIEW = '__dispatch_board' -const dispatchReducer = produce((draft, action) => { +export default produce((draft, action) => { switch (action.type) { case actionTypes.rescues.search: if (action.meta[DISPATCH_VIEW]) { @@ -22,7 +22,6 @@ const dispatchReducer = produce((draft, action) => { } }, initialState.dispatch) -export default dispatchReducer export { DISPATCH_VIEW, } diff --git a/src/store/reducers/flags.js b/src/store/reducers/flags.js index cf66a04ee..cf4e16577 100644 --- a/src/store/reducers/flags.js +++ b/src/store/reducers/flags.js @@ -12,7 +12,7 @@ import initialState from '../initialState' -const flagsReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { payload, type, @@ -29,9 +29,3 @@ const flagsReducer = produce((draftState, action) => { break } }, initialState.flags) - - - - - -export default flagsReducer diff --git a/src/store/reducers/images.js b/src/store/reducers/images.js index fa39b738e..bf73cb80b 100644 --- a/src/store/reducers/images.js +++ b/src/store/reducers/images.js @@ -12,7 +12,7 @@ import initialState from '../initialState' -const imageReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { payload, meta, @@ -37,9 +37,3 @@ const imageReducer = produce((draftState, action) => { break } }, initialState.images) - - - - - -export default imageReducer diff --git a/src/store/reducers/leaderboard.js b/src/store/reducers/leaderboard.js index a53dad302..c1ce8fda9 100644 --- a/src/store/reducers/leaderboard.js +++ b/src/store/reducers/leaderboard.js @@ -8,7 +8,7 @@ import initialState from '../initialState' -const leaderboardReducer = produce((draftState, action) => { +export default produce((draftState, action) => { if (isError(action)) { return } @@ -23,9 +23,3 @@ const leaderboardReducer = produce((draftState, action) => { break } }, initialState.leaderboard) - - - - - -export default leaderboardReducer diff --git a/src/store/reducers/pageViews.js b/src/store/reducers/pageViews.js index 2b30d03ce..2f743beed 100644 --- a/src/store/reducers/pageViews.js +++ b/src/store/reducers/pageViews.js @@ -25,7 +25,7 @@ const dataReducer = ({ data }, { reducer }) => { -const pageViewsReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { meta, payload } = action if (!isError(action) && meta?.pageView) { @@ -37,9 +37,3 @@ const pageViewsReducer = produce((draftState, action) => { } } }, initialState.pageViews) - - - - - -export default pageViewsReducer diff --git a/src/store/reducers/session.js b/src/store/reducers/session.js index 940c2ec2b..209106169 100644 --- a/src/store/reducers/session.js +++ b/src/store/reducers/session.js @@ -20,7 +20,7 @@ const clearLoginState = (draftState = initialState.session) => { } -const sessionReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { meta, payload, @@ -76,9 +76,3 @@ const sessionReducer = produce((draftState, action) => { break } }, initialState.session) - - - - - -export default sessionReducer diff --git a/src/store/reducers/users.js b/src/store/reducers/users.js index ea66fcbda..fca777a7f 100644 --- a/src/store/reducers/users.js +++ b/src/store/reducers/users.js @@ -8,7 +8,7 @@ import initialState from '../initialState' const metaKey = '__decals/decrement' -const usersReducer = produce((draftState, action) => { +export default produce((draftState, action) => { if (isError(action)) { return } @@ -35,6 +35,3 @@ export function decrementsEligibleDecals (id) { [metaKey]: id, } } - - -export default usersReducer diff --git a/src/store/reducers/wordpress.js b/src/store/reducers/wordpress.js index 1c754dc66..56a387295 100644 --- a/src/store/reducers/wordpress.js +++ b/src/store/reducers/wordpress.js @@ -12,7 +12,7 @@ import initialState from '../initialState' -const wordpressReducer = produce((draftState, action) => { +export default produce((draftState, action) => { const { payload, type, @@ -32,9 +32,3 @@ const wordpressReducer = produce((draftState, action) => { break } }, initialState.rescues) - - - - - -export default wordpressReducer From ed87743f32dc16fed55a511e1e155d05a072db3f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 19 Jun 2021 19:43:51 +0000 Subject: [PATCH 051/300] refactor(server): move most redirects to next config. --- next.config.js | 46 +++++++++++++++++++++ src/server/ratRouter/wpRedirect.mjs | 44 ++++++++++++++++++++ src/server/router/redirects.mjs | 64 ----------------------------- 3 files changed, 90 insertions(+), 64 deletions(-) create mode 100644 src/server/ratRouter/wpRedirect.mjs delete mode 100644 src/server/router/redirects.mjs diff --git a/next.config.js b/next.config.js index 25f1f4250..1a16941cc 100644 --- a/next.config.js +++ b/next.config.js @@ -74,10 +74,56 @@ module.exports = { redirects: () => { return [ { + // Temporary workaround so canceled donations return to donate screen source: '/donate/cancel', destination: '/donate', permanent: false, }, + { + // Profile page requires a tab name in the path + source: '/profile', + destination: '/profile/overview', + permanent: true, + }, + { + // Old blog used to exist at /blogs + source: '/blogs', + destination: '/blog', + permanent: true, + }, + { + // get-help was used at launch of the website, but has since been changed back. + source: '/get-help', + destination: '/i-need-fuel', + permanent: true, + }, + { + // Common endpoint for privacy policies + source: '/privacy', + destination: '/privacy-policy', + permanent: true, + }, + { + // Lexicon is no longer local + source: '/fuel-rats-lexicon', + destination: 'https://confluence.fuelrats.com/pages/viewpage.action?pageId=3637257', + permanent: true, + basePath: false, + }, + { + // statistics are no longer local + source: '/statistics', + destination: 'https://grafana.fuelrats.com', + permanent: true, + basePath: false, + }, + { + // People often type this one manually into their URL bar to get to the helpdesk + source: '/help', + destination: 'https://t.fuelr.at/help', + permanent: true, + basePath: false, + }, ] }, webpack: (config, opt) => { diff --git a/src/server/ratRouter/wpRedirect.mjs b/src/server/ratRouter/wpRedirect.mjs new file mode 100644 index 000000000..72f385ed7 --- /dev/null +++ b/src/server/ratRouter/wpRedirect.mjs @@ -0,0 +1,44 @@ +// Component constants + +/* eslint-disable no-magic-numbers */ +const validYearRange = [2015, 2017] +const validMonthRange = [1, 12] +const validDayRange = [1, 31] +/* eslint-enable no-magic-numbers */ + +const isValidInRange = (numStr, min, max) => { + const parsedNum = parseInt(numStr, 10) + + return !Number.isNaN(parsedNum) && parsedNum >= min && parsedNum <= max +} + +const wpRedirect = (router) => { + // Legacy Wordpress permalinks + // e.g. /2017/09/07/universal-service-a-fuel-rats-thargoid-cartoon + router.get('/:year/:month/:day/:slug', async (ctx, next) => { + const { + day, + month, + slug, + year, + } = ctx.params + + const yearIsValid = isValidInRange(year, ...validYearRange) + const monthIsValid = isValidInRange(month, ...validMonthRange) + const dayIsValid = isValidInRange(day, ...validDayRange) + + if (dayIsValid && monthIsValid && yearIsValid) { + ctx.status = 301 + ctx.redirect(`/blog/${slug}`) + return + } + + await next() + }) +} + + + + + +export default wpRedirect diff --git a/src/server/router/redirects.mjs b/src/server/router/redirects.mjs deleted file mode 100644 index f810bb988..000000000 --- a/src/server/router/redirects.mjs +++ /dev/null @@ -1,64 +0,0 @@ -import { HttpStatus } from '@fuelrats/web-util/http' - -// Component constants -const DAY_CHAR_LENGTH = 2 -const MONTH_CHAR_LENGTH = 2 -const YEAR_CHAR_LENGTH = 4 - -const redirects = [ - { from: '/blogs', to: '/blog' }, // Old blog used to exist at /blogs - { from: '/fuel-rats-lexicon', to: 'https://confluence.fuelrats.com/pages/viewpage.action?pageId=3637257' }, // Lexicon used to be local - { from: '/get-help', to: '/i-need-fuel' }, // get-help was used at launch of the website, but has since been changed back. - { from: '/help', to: 'https://t.fuelr.at/help' }, // People often type this one manually into their URL bar to get to the helpdesk - { from: '/privacy', to: '/privacy-policy' }, // Common endpoint for privacy policies - { from: '/statistics', to: 'https://grafana.fuelrats.com' }, // statistics page is no longer on the website - { from: '/profile', to: '/profile/overview' }, // Profile page requires a tab name in the path -] - - - -const configureRedirects = (router) => { - /***************************************************************************\ - Redirects - \***************************************************************************/ - - // Permanent Redirects - redirects.forEach(({ from, to, type = HttpStatus.MOVED_PERMANENTLY, method = 'get' }) => { - router[method](from, async (ctx) => { - ctx.status = type - await ctx.redirect(to) - }) - }) - - - - - // Legacy Wordpress permalinks - // e.g. /2017/09/07/universal-service-a-fuel-rats-thargoid-cartoon - router.get('/:year/:month/:day/:slug', async (ctx, next) => { - const { - day, - month, - slug, - year, - } = ctx.params - - const dayIsValid = parseInt(day, 10) && (day.length === DAY_CHAR_LENGTH) - const monthIsValid = parseInt(month, 10) && (month.length === MONTH_CHAR_LENGTH) - const yearIsValid = parseInt(year, 10) && (year.length === YEAR_CHAR_LENGTH) - - if (dayIsValid && monthIsValid && yearIsValid) { - ctx.status = 301 - ctx.redirect(`/blog/${slug}`) - return - } - - await next() - }) -} - - - - - -export default configureRedirects From 23d73d5327583e04081aff06e0533b728436b973 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 19 Jun 2021 22:04:25 +0000 Subject: [PATCH 052/300] chore: update deps --- package.json | 14 +++++------ yarn.lock | 70 ++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 28faab5c7..545ed808b 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", - "postcss": "^8.3.4", + "postcss": "^8.3.5", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", @@ -76,7 +76,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.155.0", + "stripe": "^8.156.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.5.2", "zxcvbn": "^4.4.2" @@ -117,7 +117,7 @@ "@types/koa__router": "^8.0.4", "@types/lodash": "^4.14.170", "@types/react": "^17.0.11", - "@types/react-dom": "^17.0.7", + "@types/react-dom": "^17.0.8", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", @@ -125,22 +125,22 @@ "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", "doctoc": "^2.0.1", - "eslint": "^7.28.0", + "eslint": "^7.29.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.3.0", + "eslint-plugin-jsdoc": "^35.3.2", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.52.0", + "rollup": "^2.52.1", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", "sass": "^1.35.1", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.39.0", + "webpack": "^5.39.1", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index c104b71b9..7e8f3bb81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2889,12 +2889,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^17.0.7": - version: 17.0.7 - resolution: "@types/react-dom@npm:17.0.7" +"@types/react-dom@npm:^17.0.8": + version: 17.0.8 + resolution: "@types/react-dom@npm:17.0.8" dependencies: "@types/react": "*" - checksum: 9b2eb0d86dd00bff5e4a9a4d1892f6ef3dd79434acb5d38a45a8bda8a383cff0a3d7bb58d662c2a5352ab7c92145d5736f56f1bd12e1e3a482727c274bf09434 + checksum: 9ad1220297bede365e0d2aae4bc4a2deee3247da9da62d45bcd770812d246d46c219b3f58755b08423a4339c3c654fddd6c2b16b27151d09213b527a7cde8910 languageName: node linkType: hard @@ -5390,9 +5390,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.3.0": - version: 35.3.0 - resolution: "eslint-plugin-jsdoc@npm:35.3.0" +"eslint-plugin-jsdoc@npm:^35.3.2": + version: 35.3.2 + resolution: "eslint-plugin-jsdoc@npm:35.3.2" dependencies: "@es-joy/jsdoccomment": ^0.8.0-alpha.2 comment-parser: 1.1.5 @@ -5405,7 +5405,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 09141f74078bb7a4e814d98b42ab9dc5f72f406ca3eea3a622d19f2f8286339b1d219bb849502803d95a9beb43c0667b2635304e5d5750923ae420367e2fee8d + checksum: b3aa29bca4fe11758ac32f84fd1e473fa74efe070faefd3d2d9c78b50d3c2d6f8fddb8a8e843afb05e39fa31e8e8c954a26798529846991ed6a9a9cd7cc9e298 languageName: node linkType: hard @@ -5508,9 +5508,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.28.0": - version: 7.28.0 - resolution: "eslint@npm:7.28.0" +"eslint@npm:^7.29.0": + version: 7.29.0 + resolution: "eslint@npm:7.29.0" dependencies: "@babel/code-frame": 7.12.11 "@eslint/eslintrc": ^0.4.2 @@ -5553,7 +5553,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 624ed594c909a8e54129b8e659c521de9e31f1f363c5f96f95af674c83887e0b27bf3e8b50ce4b57e6691658f6053be6d62849ab515fd62a54a3a2a85a0f1dfb + checksum: 8a18377c761560a29fb48b27458517f260f7854882e40cf7e2d38f0ba60ac1038f39404e0ea849abdda18699530fe055adc5bdbf1ef726ce91ac1482cac9d38c languageName: node linkType: hard @@ -6045,7 +6045,7 @@ __metadata: "@types/koa__router": ^8.0.4 "@types/lodash": ^4.14.170 "@types/react": ^17.0.11 - "@types/react-dom": ^17.0.7 + "@types/react-dom": ^17.0.8 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 @@ -6059,11 +6059,11 @@ __metadata: date-fns-tz: ^1.1.4 doctoc: ^2.0.1 dotenv: ^10.0.0 - eslint: ^7.28.0 + eslint: ^7.29.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.3.0 + eslint-plugin-jsdoc: ^35.3.2 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -6084,7 +6084,7 @@ __metadata: next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 - postcss: ^8.3.4 + postcss: ^8.3.5 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 @@ -6102,17 +6102,17 @@ __metadata: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.52.0 + rollup: ^2.52.1 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 sass: ^1.35.1 - stripe: ^8.155.0 + stripe: ^8.156.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 ua-parser-js: ^0.7.28 use-immer: ^0.5.2 - webpack: ^5.39.0 + webpack: ^5.39.1 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -9489,14 +9489,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.4": - version: 8.3.4 - resolution: "postcss@npm:8.3.4" +"postcss@npm:^8.3.5": + version: 8.3.5 + resolution: "postcss@npm:8.3.5" dependencies: colorette: ^1.2.2 nanoid: ^3.1.23 source-map-js: ^0.6.2 - checksum: 86de06e3c4e3f35d41564e2aa94ebf54ceddeef13e2a799f33189c15e8ac3faab87ad6e2ba7999b108c6f432d6abb5ffd453219b20795a3635e47a81185b2a21 + checksum: c73fc4825ed27396d453a942628cd8e34dd43c11b724f43f65f376d3900037736013b6446f1d9947ce5a847837cf96649e9a3f200ca2bd94a884e91e56ee1ceb languageName: node linkType: hard @@ -10349,9 +10349,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.52.0": - version: 2.52.0 - resolution: "rollup@npm:2.52.0" +"rollup@npm:^2.52.1": + version: 2.52.1 + resolution: "rollup@npm:2.52.1" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -10359,7 +10359,7 @@ resolve@^2.0.0-next.3: optional: true bin: rollup: dist/bin/rollup - checksum: 5b2afeefafc717762f80e8f45c6f1f2982c0a7b0a98dc2b28644872d5e657549f48710aeedc5635372cd441a9e9f2fe73053bd1fd47561b742bd0f6aa3cb9333 + checksum: 62d1eda5a8f5f732eb372aaa209b02f20002eab0fce246654b41de6c9821d4987d620816181b94ebb8fdb29a7aef419c104ab497de05df0dcde4e4b8f6182187 languageName: node linkType: hard @@ -11057,13 +11057,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.155.0": - version: 8.155.0 - resolution: "stripe@npm:8.155.0" +"stripe@npm:^8.156.0": + version: 8.156.0 + resolution: "stripe@npm:8.156.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 4cd87fb900428753221be6fade663712482480518012009a71fbc8ca4e484571a300ba8629ff92675141b6b0cd42f9beb641ac9bdf9d1223ec854fddd24b2459 + checksum: 8e03610148b33458fbde3f2a9ae37f3ccfa21dd1038f0395e590e7249ce2f6d02f0cfb31ec0a7778e3a34c9c3bcb9ea807e6cde3a3921d7046f7d4b99583877f languageName: node linkType: hard @@ -12155,9 +12155,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.39.0": - version: 5.39.0 - resolution: "webpack@npm:5.39.0" +"webpack@npm:^5.39.1": + version: 5.39.1 + resolution: "webpack@npm:5.39.1" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.47 @@ -12187,7 +12187,7 @@ resolve@^2.0.0-next.3: optional: true bin: webpack: bin/webpack.js - checksum: 1acff2bcc06d6e47bc66708ea7970e72baa2f0fd866219ae0962e2dec38baeb2aaa4767b3622d9516bab4395153e3a53e799c15536d88d3ffae71be462d68a07 + checksum: 28a3fa8dd1094bc9d43efa15e101b73f7c3c6ee753354c38ef428756faf8014ddfb93425e2f54beafc45b1cfc00b24d7a0a39bd60016294b0b2801d9665999d5 languageName: node linkType: hard From b77cc6400ce1e2c5e74fdc6b473961d61f885fa1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 19 Jun 2021 22:05:50 +0000 Subject: [PATCH 053/300] docs(CHANGELOG.md): add changes for #328 --- CHANGELOG.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b029f059a..cb6c5e252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,16 +12,25 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * ### ⚡ Changed -* +* Error readout for unknown API Errors has been improved. - [#328][] +* Reworded `Owns Odyssey` to `Using Odyssey` on rat cards to better convey the toggle's meaning. - [#328][] +* Canceled donations will now return you to the donation form. - [#328][] +* Optimized image loading and accessibility for images site-wide. - [#328][] +* Further optimized font loading. - [#328][] +* Moved raw version information to an API route (`/api/version`), and reworked version page to draw information from that route. - [#328][] +* Other smaller changes to sreamline development. - [#328][] -### 🐛 Fixed -* +### 🐛 Fixed +* Resolved form submitting issues that occured when password evaluation fails to load. - [#328][] +* Fixed authorization page displaying an `Invalid Authorize Request` error when redirecting users after login. - [#328][] ### ⚙ Tasks -* +* Update lint configs +* Add `@next/eslint-plugin-next` into linting config. +[#328]: https://github.com/fuelRats/fuelrats.com/pull/328 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From 5e18b5d88ef2b31d4983e9111cdc0e2a1d37dead Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 19 Jun 2021 22:14:19 +0000 Subject: [PATCH 054/300] chore: disable ESLint for next builds as this impedes our CI flow --- next.config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/next.config.js b/next.config.js index 1a16941cc..29179b3dc 100644 --- a/next.config.js +++ b/next.config.js @@ -50,6 +50,10 @@ module.exports = { 'static-cdn.jtvnw.net', ], }, + eslint: { + // Ignore ESLint in builds as our CI Takes care of this for us. + ignoreDuringBuilds: true, + }, publicRuntimeConfig: { appUrl: APP_URL, irc: { From ab3cc3a12436785a4e6b899e2824f33017574792 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 25 Jun 2021 18:48:47 +0000 Subject: [PATCH 055/300] chore: update yarn --- .yarn/releases/yarn-2.4.2.cjs | 55 +++ .yarn/releases/yarn-sources.cjs | 607 -------------------------------- .yarnrc.yml | 2 +- 3 files changed, 56 insertions(+), 608 deletions(-) create mode 100755 .yarn/releases/yarn-2.4.2.cjs delete mode 100755 .yarn/releases/yarn-sources.cjs diff --git a/.yarn/releases/yarn-2.4.2.cjs b/.yarn/releases/yarn-2.4.2.cjs new file mode 100755 index 000000000..a15be7f95 --- /dev/null +++ b/.yarn/releases/yarn-2.4.2.cjs @@ -0,0 +1,55 @@ +#!/usr/bin/env node +module.exports=(()=>{var e={25545:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=25545,e.exports=t},44692:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var A=r(54143);const n={optional:!0},o=[["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:n,zenObservable:n}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:n,zenObservable:n}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":n}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":n,"postcss-jsx":n,"postcss-less":n,"postcss-markdown":n,"postcss-scss":n}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:n}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4"},peerDependenciesMeta:{eslint:n}}],["rc-animate@*",{peerDependencies:{react:"^15.0.0 || ^16.0.0","react-dom":"^15.0.0 || ^16.0.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:n,"utf-8-validate":n}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}]];let i,s,a;const c=new Map([[A.makeIdent(null,"fsevents").identHash,function(){return void 0===i&&(i=r(78761).brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),i}],[A.makeIdent(null,"resolve").identHash,function(){return void 0===s&&(s=r(78761).brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),s}],[A.makeIdent(null,"typescript").identHash,function(){return void 0===a&&(a=r(78761).brotliDecompressSync(Buffer.from("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","base64")).toString()),a}]]),g={hooks:{registerPackageExtensions:async(e,t)=>{for(const[e,r]of o)t(A.parseDescriptor(e,!0),r)},getBuiltinPatch:async(e,t)=>{var r;if(!t.startsWith("compat/"))return;const n=A.parseIdent(t.slice("compat/".length)),o=null===(r=c.get(n.identHash))||void 0===r?void 0:r();return void 0!==o?o:null},reduceDependency:async(e,t,r,n)=>void 0===c.get(e.identHash)?e:A.makeDescriptor(e,A.makeRange({protocol:"patch:",source:A.stringifyDescriptor(e),selector:`builtin`,params:null}))}}},10189:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>p});var A=r(36370),n=r(25413),o=r(54143),i=r(40822);class s extends n.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){const e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");const t=o.parseIdent(this.command),r=o.makeIdent(t.scope,"create-"+t.name);return this.cli.run(["dlx",...e,o.stringifyIdent(r),...this.args])}}(0,A.gn)([i.Command.String("-p,--package",{description:"The package to run the provided command from"})],s.prototype,"pkg",void 0),(0,A.gn)([i.Command.Boolean("-q,--quiet",{description:"Only report critical errors instead of printing the full install logs"})],s.prototype,"quiet",void 0),(0,A.gn)([i.Command.String()],s.prototype,"command",void 0),(0,A.gn)([i.Command.Proxy()],s.prototype,"args",void 0),(0,A.gn)([i.Command.Path("create")],s.prototype,"execute",null);var a=r(39922),c=r(85824),g=r(63088),l=r(43896),u=r(46009);class h extends n.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){return a.VK.telemetry=null,await l.xfs.mktempPromise(async e=>{const t=u.y1.join(e,"dlx-"+process.pid);await l.xfs.mkdirPromise(t),await l.xfs.writeFilePromise(u.y1.join(t,"package.json"),"{}\n"),await l.xfs.writeFilePromise(u.y1.join(t,"yarn.lock"),"");const r=u.y1.join(t,".yarnrc.yml"),A=await a.VK.findProjectCwd(this.context.cwd,u.QS.lockfile),i=null!==A?u.y1.join(A,".yarnrc.yml"):null;null!==i&&l.xfs.existsSync(i)?(await l.xfs.copyFilePromise(i,r),await a.VK.updateConfiguration(t,e=>{const t={...e,enableGlobalCache:!0,enableTelemetry:!1};return Array.isArray(e.plugins)&&(t.plugins=e.plugins.map(e=>{const t="string"==typeof e?e:e.path,r=u.cS.isAbsolute(t)?t:u.cS.resolve(u.cS.fromPortablePath(A),t);return"string"==typeof e?r:{path:r,spec:e.spec}})),t})):await l.xfs.writeFilePromise(r,"enableGlobalCache: true\nenableTelemetry: false\n");const s=void 0!==this.pkg?[this.pkg]:[this.command],h=o.parseDescriptor(this.command).name,p=await this.cli.run(["add","--",...s],{cwd:t,quiet:this.quiet});if(0!==p)return p;this.quiet||this.context.stdout.write("\n");const d=await a.VK.find(t,this.context.plugins),{project:C,workspace:f}=await c.I.find(d,t);if(null===f)throw new n.WorkspaceRequiredError(C.cwd,t);return await C.restoreInstallState(),await g.executeWorkspaceAccessibleBinary(f,h,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}}h.usage=i.Command.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]}),(0,A.gn)([i.Command.String("-p,--package",{description:"The package to run the provided command from"})],h.prototype,"pkg",void 0),(0,A.gn)([i.Command.Boolean("-q,--quiet",{description:"Only report critical errors instead of printing the full install logs"})],h.prototype,"quiet",void 0),(0,A.gn)([i.Command.String()],h.prototype,"command",void 0),(0,A.gn)([i.Command.Proxy()],h.prototype,"args",void 0),(0,A.gn)([i.Command.Path("dlx")],h.prototype,"execute",null);const p={commands:[s,h]}},34777:(e,t,r)=>{"use strict";r.r(t),r.d(t,{dedupeUtils:()=>A,default:()=>We,suggestUtils:()=>A});var A={};r.r(A),r.d(A,{Modifier:()=>o,Strategy:()=>i,Target:()=>n,applyModifier:()=>S,extractDescriptorFromPath:()=>K,extractRangeModifier:()=>v,fetchDescriptorFrom:()=>N,findProjectDescriptors:()=>k,getModifier:()=>D,getSuggestedDescriptors:()=>F});var n,o,i,s=r(39922),a=r(36370),c=r(25413),g=r(28148),l=r(62152),u=r(92659),h=r(85824),p=r(15815),d=r(54143),C=r(40822),f=r(61899),I=r(33720),E=r(46611),B=r(71643),y=r(43896),m=r(46009),w=r(53887),Q=r.n(w);function D(e,t){return e.exact?o.EXACT:e.caret?o.CARET:e.tilde?o.TILDE:t.configuration.get("defaultSemverRangePrefix")}!function(e){e.REGULAR="dependencies",e.DEVELOPMENT="devDependencies",e.PEER="peerDependencies"}(n||(n={})),function(e){e.CARET="^",e.TILDE="~",e.EXACT=""}(o||(o={})),function(e){e.KEEP="keep",e.REUSE="reuse",e.PROJECT="project",e.LATEST="latest",e.CACHE="cache"}(i||(i={}));const b=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function v(e,{project:t}){const r=e.match(b);return r?r[1]:t.configuration.get("defaultSemverRangePrefix")}function S(e,t){let{protocol:r,source:A,params:n,selector:o}=d.parseRange(e.range);return Q().valid(o)&&(o=`${t}${e.range}`),d.makeDescriptor(e,d.makeRange({protocol:r,source:A,params:n,selector:o}))}async function k(e,{project:t,target:r}){const A=new Map,o=e=>{let t=A.get(e.descriptorHash);return t||A.set(e.descriptorHash,t={descriptor:e,locators:[]}),t};for(const A of t.workspaces)if(r===n.PEER){const t=A.manifest.peerDependencies.get(e.identHash);void 0!==t&&o(t).locators.push(A.locator)}else{const t=A.manifest.dependencies.get(e.identHash),i=A.manifest.devDependencies.get(e.identHash);r===n.DEVELOPMENT?void 0!==i?o(i).locators.push(A.locator):void 0!==t&&o(t).locators.push(A.locator):void 0!==t?o(t).locators.push(A.locator):void 0!==i&&o(i).locators.push(A.locator)}return A}async function K(e,{cwd:t,workspace:r}){return await async function(e){return await y.xfs.mktempPromise(async t=>{const r=s.VK.create(t);return r.useWithSource(t,{enableMirror:!1,compressionLevel:0},t,{overwrite:!0}),await e(new g.C(t,{configuration:r,check:!1,immutable:!1}))})}(async A=>{m.y1.isAbsolute(e)||(e=m.y1.relative(r.cwd,m.y1.resolve(t,e))).match(/^\.{0,2}\//)||(e="./"+e);const{project:n}=r,o=await N(d.makeIdent(null,"archive"),e,{project:r.project,cache:A,workspace:r});if(!o)throw new Error("Assertion failed: The descriptor should have been found");const i=new I.$,s=n.configuration.makeResolver(),a=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:A,fetcher:a,report:i,resolver:s},g=s.bindDescriptor(o,r.anchoredLocator,c),l=d.convertDescriptorToLocator(g),u=await a.fetch(l,c),h=await E.G.find(u.prefixPath,{baseFs:u.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return d.makeDescriptor(h.name,e)})}async function F(e,{project:t,workspace:r,cache:A,target:o,modifier:s,strategies:a,maxResults:c=1/0}){if(!(c>=0))throw new Error(`Invalid maxResults (${c})`);if("unknown"!==e.range)return{suggestions:[{descriptor:e,name:"Use "+d.prettyDescriptor(t.configuration,e),reason:"(unambiguous explicit request)"}],rejections:[]};const g=null!=r&&r.manifest[o].get(e.identHash)||null,l=[],u=[],h=async e=>{try{await e()}catch(e){u.push(e)}};for(const u of a){if(l.length>=c)break;switch(u){case i.KEEP:await h(async()=>{g&&l.push({descriptor:g,name:"Keep "+d.prettyDescriptor(t.configuration,g),reason:"(no changes)"})});break;case i.REUSE:await h(async()=>{for(const{descriptor:A,locators:n}of(await k(e,{project:t,target:o})).values()){if(1===n.length&&n[0].locatorHash===r.anchoredLocator.locatorHash&&a.includes(i.KEEP))continue;let e="(originally used by "+d.prettyLocator(t.configuration,n[0]);e+=n.length>1?` and ${n.length-1} other${n.length>2?"s":""})`:")",l.push({descriptor:A,name:"Reuse "+d.prettyDescriptor(t.configuration,A),reason:e})}});break;case i.CACHE:await h(async()=>{for(const r of t.storedDescriptors.values())r.identHash===e.identHash&&l.push({descriptor:r,name:"Reuse "+d.prettyDescriptor(t.configuration,r),reason:"(already used somewhere in the lockfile)"})});break;case i.PROJECT:await h(async()=>{if(null!==r.manifest.name&&e.identHash===r.manifest.name.identHash)return;const A=t.tryWorkspaceByIdent(e);null!==A&&l.push({descriptor:A.anchoredDescriptor,name:"Attach "+d.prettyWorkspace(t.configuration,A),reason:`(local workspace at ${A.cwd})`})});break;case i.LATEST:await h(async()=>{if("unknown"!==e.range)l.push({descriptor:e,name:"Use "+d.prettyRange(t.configuration,e.range),reason:"(explicit range requested)"});else if(o===n.PEER)l.push({descriptor:d.makeDescriptor(e,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(t.configuration.get("enableNetwork")){let n=await N(e,"latest",{project:t,cache:A,workspace:r,preserveModifier:!1});n&&(n=S(n,s),l.push({descriptor:n,name:"Use "+d.prettyDescriptor(t.configuration,n),reason:"(resolved from latest)"}))}else l.push({descriptor:null,name:"Resolve from latest",reason:B.pretty(t.configuration,"(unavailable because enableNetwork is toggled off)","grey")})})}}return{suggestions:l.slice(0,c),rejections:u.slice(0,c)}}async function N(e,t,{project:r,cache:A,workspace:n,preserveModifier:o=!0}){const i=d.makeDescriptor(e,t),s=new I.$,a=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),g={project:r,fetcher:a,cache:A,checksums:r.storedChecksums,report:s,skipIntegrityCheck:!0},l={...g,resolver:c,fetchOptions:g},u=c.bindDescriptor(i,n.anchoredLocator,l),h=await c.getCandidates(u,new Map,l);if(0===h.length)return null;const p=h[0];let{protocol:C,source:f,params:E,selector:B}=d.parseRange(d.convertToManifestRange(p.reference));if(C===r.configuration.get("defaultProtocol")&&(C=null),Q().valid(B)&&!1!==o){B=v("string"==typeof o?o:i.range,{project:r})+B}return d.makeDescriptor(p,d.makeRange({protocol:C,source:f,params:E,selector:B}))}class M extends c.BaseCommand{constructor(){super(...arguments),this.packages=[],this.json=!1,this.exact=!1,this.tilde=!1,this.caret=!1,this.dev=!1,this.peer=!1,this.optional=!1,this.preferDev=!1,this.interactive=null,this.cached=!1}async execute(){var e;const t=await s.VK.find(this.context.cwd,this.context.plugins),{project:r,workspace:A}=await h.I.find(t,this.context.cwd),o=await g.C.find(t);if(!A)throw new c.WorkspaceRequiredError(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});const a=null!==(e=this.interactive)&&void 0!==e?e:t.get("preferInteractive"),I=D(this,r),E=[...a?[i.REUSE]:[],i.PROJECT,...this.cached?[i.CACHE]:[],i.LATEST],B=a?1/0:1,y=await Promise.all(this.packages.map(async e=>{const t=e.match(/^\.{0,2}\//)?await K(e,{cwd:this.context.cwd,workspace:A}):d.parseDescriptor(e),i=function(e,t,{dev:r,peer:A,preferDev:o,optional:i}){const s=e.manifest[n.REGULAR].has(t.identHash),a=e.manifest[n.DEVELOPMENT].has(t.identHash),c=e.manifest[n.PEER].has(t.identHash);if((r||A)&&s)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!A&&c)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(i&&a)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(i&&!A&&c)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||o)&&i)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" cannot simultaneously be a dev dependency and an optional dependency`);return A?n.PEER:r||o?n.DEVELOPMENT:s?n.REGULAR:a?n.DEVELOPMENT:n.REGULAR}(A,t,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return[t,await F(t,{project:r,workspace:A,cache:o,target:i,modifier:I,strategies:E,maxResults:B}),i]})),m=await l.h.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async e=>{for(const[A,{suggestions:n,rejections:o}]of y){if(0===n.filter(e=>null!==e.descriptor).length){const[n]=o;if(void 0===n)throw new Error("Assertion failed: Expected an error to have been set");const i=this.cli.error(n);r.configuration.get("enableNetwork")?e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range:\n\n${i}`):e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range (note: network resolution has been disabled):\n\n${i}`)}}});if(m.hasErrors())return m.exitCode();let w=!1;const Q=[],b=[];for(const[,{suggestions:e},t]of y){let r;const n=e.filter(e=>null!==e.descriptor),o=n[0].descriptor,i=n.every(e=>d.areDescriptorsEqual(e.descriptor,o));1===n.length||i?r=o:(w=!0,({answer:r}=await(0,f.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:e.map(({descriptor:e,name:t,reason:r})=>e?{name:t,hint:r,descriptor:e}:{name:t,hint:r,disabled:!0}),onCancel:()=>process.exit(130),result(e){return this.find(e,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout})));const s=A.manifest[t].get(r.identHash);void 0!==s&&s.descriptorHash===r.descriptorHash||(A.manifest[t].set(r.identHash,r),this.optional&&("dependencies"===t?A.manifest.ensureDependencyMeta({...r,range:"unknown"}).optional=!0:"peerDependencies"===t&&(A.manifest.ensurePeerDependencyMeta({...r,range:"unknown"}).optional=!0)),void 0===s?Q.push([A,t,r,E]):b.push([A,t,s,r]))}await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyAddition,Q),await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,b),w&&this.context.stdout.write("\n");return(await p.Pk.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await r.install({cache:o,report:e})})).exitCode()}}M.usage=C.Command.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]}),(0,a.gn)([C.Command.Rest()],M.prototype,"packages",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],M.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("-E,--exact",{description:"Don't use any semver modifier on the resolved range"})],M.prototype,"exact",void 0),(0,a.gn)([C.Command.Boolean("-T,--tilde",{description:"Use the `~` semver modifier on the resolved range"})],M.prototype,"tilde",void 0),(0,a.gn)([C.Command.Boolean("-C,--caret",{description:"Use the `^` semver modifier on the resolved range"})],M.prototype,"caret",void 0),(0,a.gn)([C.Command.Boolean("-D,--dev",{description:"Add a package as a dev dependency"})],M.prototype,"dev",void 0),(0,a.gn)([C.Command.Boolean("-P,--peer",{description:"Add a package as a peer dependency"})],M.prototype,"peer",void 0),(0,a.gn)([C.Command.Boolean("-O,--optional",{description:"Add / upgrade a package to an optional regular / peer dependency"})],M.prototype,"optional",void 0),(0,a.gn)([C.Command.Boolean("--prefer-dev",{description:"Add / upgrade a package to a dev dependency"})],M.prototype,"preferDev",void 0),(0,a.gn)([C.Command.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"})],M.prototype,"interactive",void 0),(0,a.gn)([C.Command.Boolean("--cached",{description:"Reuse the highest version already used somewhere within the project"})],M.prototype,"cached",void 0),(0,a.gn)([C.Command.Path("add")],M.prototype,"execute",null);var R=r(63088);class x extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,locator:r}=await h.I.find(e,this.context.cwd);if(await t.restoreInstallState(),this.name){const A=(await R.getPackageAccessibleBinaries(r,{project:t})).get(this.name);if(!A)throw new C.UsageError(`Couldn't find a binary named "${this.name}" for package "${d.prettyLocator(e,r)}"`);const[,n]=A;return this.context.stdout.write(n+"\n"),0}return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async A=>{const n=await R.getPackageAccessibleBinaries(r,{project:t}),o=Array.from(n.keys()).reduce((e,t)=>Math.max(e,t.length),0);for(const[e,[t,r]]of n)A.reportJson({name:e,source:d.stringifyIdent(t),path:r});if(this.verbose)for(const[t,[r]]of n)A.reportInfo(null,`${t.padEnd(o," ")} ${d.prettyLocator(e,r)}`);else for(const e of n.keys())A.reportInfo(null,e)})).exitCode()}}x.usage=C.Command.Usage({description:"get the path to a binary script",details:"\n When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the `-v,--verbose` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n ",examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]}),(0,a.gn)([C.Command.String({required:!1})],x.prototype,"name",void 0),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Print both the binary name and the locator of the package that provides the binary"})],x.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],x.prototype,"json",void 0),(0,a.gn)([C.Command.Path("bin")],x.prototype,"execute",null);class L extends c.BaseCommand{constructor(){super(...arguments),this.mirror=!1,this.all=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=await g.C.find(e);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async()=>{const e=(this.all||this.mirror)&&null!==t.mirrorCwd,r=!this.mirror;e&&await y.xfs.removePromise(t.mirrorCwd),r&&await y.xfs.removePromise(t.cwd)})).exitCode()}}L.usage=C.Command.Usage({description:"remove the shared cache files",details:"\n This command will remove all the files from the cache.\n ",examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]}),(0,a.gn)([C.Command.Boolean("--mirror",{description:"Remove the global cache files instead of the local cache files"})],L.prototype,"mirror",void 0),(0,a.gn)([C.Command.Boolean("--all",{description:"Remove both the global cache files and the local cache files of the current project"})],L.prototype,"all",void 0),(0,a.gn)([C.Command.Path("cache","clean")],L.prototype,"execute",null);var P=r(73632),O=r(44674),U=r.n(O),T=r(31669);class j extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.unsafe=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=this.name.replace(/[.[].*$/,""),r=this.name.replace(/^[^.[]*/,"");if(void 0===e.settings.get(t))throw new C.UsageError(`Couldn't find a configuration settings named "${t}"`);const A=e.getSpecial(t,{hideSecrets:!this.unsafe,getNativePaths:!0}),n=P.convertMapsToIndexableObjects(A),o=r?U()(n,r):n,i=await p.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async e=>{e.reportJson(o)});if(!this.json){if("string"==typeof o)return this.context.stdout.write(o+"\n"),i.exitCode();T.inspect.styles.name="cyan",this.context.stdout.write((0,T.inspect)(o,{depth:1/0,colors:e.get("enableColors"),compact:!1})+"\n")}return i.exitCode()}}j.usage=C.Command.Usage({description:"read a configuration settings",details:"\n This command will print a configuration setting.\n\n Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the `--no-redacted` to get the untransformed value.\n ",examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration","yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'"],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]}),(0,a.gn)([C.Command.String()],j.prototype,"name",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],j.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--no-redacted",{description:"Don't redact secrets (such as tokens) from the output"})],j.prototype,"unsafe",void 0),(0,a.gn)([C.Command.Path("config","get")],j.prototype,"execute",null);var Y=r(82558),G=r.n(Y),H=r(81534),J=r.n(H);class q extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.home=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new C.UsageError("This command must be run from within a project folder");const t=this.name.replace(/[.[].*$/,""),r=this.name.replace(/^[^.[]*\.?/,"");if(void 0===e.settings.get(t))throw new C.UsageError(`Couldn't find a configuration settings named "${t}"`);const A=this.json?JSON.parse(this.value):this.value,n=this.home?e=>s.VK.updateHomeConfiguration(e):t=>s.VK.updateConfiguration(e.projectCwd,t);await n(e=>{if(r){const t=G()(e);return J()(t,this.name,A),t}return{...e,[t]:A}});const o=(await s.VK.find(this.context.cwd,this.context.plugins)).getSpecial(t,{hideSecrets:!0,getNativePaths:!0}),i=P.convertMapsToIndexableObjects(o),a=r?U()(i,r):i;return(await p.Pk.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async t=>{T.inspect.styles.name="cyan",t.reportInfo(u.b.UNNAMED,`Successfully set ${this.name} to ${(0,T.inspect)(a,{depth:1/0,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}}q.usage=C.Command.Usage({description:"change a configuration settings",details:"\n This command will set a configuration setting.\n\n When used without the `--json` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n When used with the `--json` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n ",examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",'yarn config set unsafeHttpWhitelist --json \'["*.example.com", "example.com"]\''],["Set a complex configuration setting (an Object) using the `--json` flag",'yarn config set packageExtensions --json \'{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }\''],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",'yarn config set \'npmRegistries["//npm.example.com"].npmAuthToken\' "ffffffff-ffff-ffff-ffff-ffffffffffff"']]}),(0,a.gn)([C.Command.String()],q.prototype,"name",void 0),(0,a.gn)([C.Command.String()],q.prototype,"value",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Set complex configuration settings to JSON values"})],q.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("-H,--home",{description:"Update the home configuration instead of the project configuration"})],q.prototype,"home",void 0),(0,a.gn)([C.Command.Path("config","set")],q.prototype,"execute",null);class z extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.why=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins,{strict:!1});return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{if(e.invalid.size>0&&!this.json){for(const[r,A]of e.invalid)t.reportError(u.b.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${r}" in ${A}`);t.reportSeparator()}if(this.json){const r=P.sortMap(e.settings.keys(),e=>e);for(const A of r){const r=e.settings.get(A),n=e.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),o=e.sources.get(A);this.verbose?t.reportJson({key:A,effective:n,source:o}):t.reportJson({key:A,effective:n,source:o,...r})}}else{const r=P.sortMap(e.settings.keys(),e=>e),A=r.reduce((e,t)=>Math.max(e,t.length),0),n={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){const o=r.map(t=>{const r=e.settings.get(t);if(!r)throw new Error(`Assertion failed: This settings ("${t}") should have been registered`);return[t,this.why?e.sources.get(t)||"":r.description]}),i=o.reduce((e,[,t])=>Math.max(e,t.length),0);for(const[r,s]of o)t.reportInfo(null,`${r.padEnd(A," ")} ${s.padEnd(i," ")} ${(0,T.inspect)(e.getSpecial(r,{hideSecrets:!0,getNativePaths:!0}),n)}`)}else for(const o of r)t.reportInfo(null,`${o.padEnd(A," ")} ${(0,T.inspect)(e.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),n)}`)}})).exitCode()}}z.usage=C.Command.Usage({description:"display the current configuration",details:"\n This command prints the current active configuration settings.\n ",examples:[["Print the active configuration settings","$0 config"]]}),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Print the setting description on top of the regular key/value information"})],z.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--why",{description:"Print the reason why a setting is set a particular way"})],z.prototype,"why",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],z.prototype,"json",void 0),(0,a.gn)([C.Command.Path("config")],z.prototype,"execute",null);var W,X=r(15966),V=r(35691),_=r(2401),Z=r.n(_);!function(e){e.HIGHEST="highest"}(W||(W={}));const $=new Set(Object.values(W)),ee={highest:async(e,t,{resolver:r,fetcher:A,resolveOptions:n,fetchOptions:o})=>{const i=new Map;for(const[t,r]of e.storedResolutions){const A=e.storedDescriptors.get(t);if(void 0===A)throw new Error(`Assertion failed: The descriptor (${t}) should have been registered`);P.getSetWithDefault(i,A.identHash).add(r)}return Array.from(e.storedDescriptors.values(),async A=>{if(t.length&&!Z().isMatch(d.stringifyIdent(A),t))return null;const o=e.storedResolutions.get(A.descriptorHash);if(void 0===o)throw new Error(`Assertion failed: The resolution (${A.descriptorHash}) should have been registered`);const s=e.originalPackages.get(o);if(void 0===s)return null;if(!r.shouldPersistResolution(s,n))return null;const a=i.get(A.identHash);if(void 0===a)throw new Error(`Assertion failed: The resolutions (${A.identHash}) should have been registered`);if(1===a.size)return null;const c=[...a].map(t=>{const r=e.originalPackages.get(t);if(void 0===r)throw new Error(`Assertion failed: The package (${t}) should have been registered`);return r.reference}),g=await r.getSatisfying(A,c,n),l=null==g?void 0:g[0];if(void 0===l)return null;const u=l.locatorHash,h=e.originalPackages.get(u);if(void 0===h)throw new Error(`Assertion failed: The package (${u}) should have been registered`);return u===o?null:{descriptor:A,currentPackage:s,updatedPackage:h}})}};class te extends c.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.strategy=W.HIGHEST,this.check=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd),r=await g.C.find(e);let A=0;const n=await p.Pk.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async e=>{A=await async function(e,{strategy:t,patterns:r,cache:A,report:n}){const{configuration:o}=e,i=new I.$,s=o.makeResolver(),a=o.makeFetcher(),c={cache:A,checksums:e.storedChecksums,fetcher:a,project:e,report:i,skipIntegrityCheck:!0},g={project:e,resolver:s,report:i,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{const A=ee[t],i=await A(e,r,{resolver:s,resolveOptions:g,fetcher:a,fetchOptions:c}),l=V.yG.progressViaCounter(i.length);n.reportProgress(l);let h,p=0;switch(await Promise.all(i.map(t=>t.then(t=>{if(null===t)return;p++;const{descriptor:r,currentPackage:A,updatedPackage:i}=t;n.reportInfo(u.b.UNNAMED,`${d.prettyDescriptor(o,r)} can be deduped from ${d.prettyLocator(o,A)} to ${d.prettyLocator(o,i)}`),n.reportJson({descriptor:d.stringifyDescriptor(r),currentResolution:d.stringifyLocator(A),updatedResolution:d.stringifyLocator(i)}),e.storedResolutions.set(r.descriptorHash,i.locatorHash)}).finally(()=>l.tick()))),p){case 0:h="No packages";break;case 1:h="One package";break;default:h=p+" packages"}const C=B.pretty(o,t,B.Type.CODE);return n.reportInfo(u.b.UNNAMED,`${h} can be deduped using the ${C} strategy`),p})}(t,{strategy:this.strategy,patterns:this.patterns,cache:r,report:e})});if(n.hasErrors())return n.exitCode();if(this.check)return A?1:0;return(await p.Pk.start({configuration:e,stdout:this.context.stdout,json:this.json},async e=>{await t.install({cache:r,report:e})})).exitCode()}}te.schema=X.object().shape({strategy:X.string().test({name:"strategy",message:"${path} must be one of ${strategies}",params:{strategies:[...$].join(", ")},test:e=>$.has(e)})}),te.usage=C.Command.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]}),(0,a.gn)([C.Command.Rest()],te.prototype,"patterns",void 0),(0,a.gn)([C.Command.String("-s,--strategy",{description:"The strategy to use when deduping dependencies"})],te.prototype,"strategy",void 0),(0,a.gn)([C.Command.Boolean("-c,--check",{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"})],te.prototype,"check",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],te.prototype,"json",void 0),(0,a.gn)([C.Command.Path("dedupe")],te.prototype,"execute",null);class re extends C.Command{async execute(){const{plugins:e}=await s.VK.find(this.context.cwd,this.context.plugins),t=[];for(const r of e){const{commands:e}=r[1];if(e){const A=C.Cli.from(e).definitions();t.push([r[0],A])}}const A=this.cli.definitions(),n=r(60306)["@yarnpkg/builder"].bundles.standard;for(const e of t){const t=e[1];for(const r of t)A.find(e=>{return t=e.path,A=r.path,t.split(" ").slice(1).join()===A.split(" ").slice(1).join();var t,A}).plugin={name:e[0],isDefault:n.includes(e[0])}}this.context.stdout.write(JSON.stringify({commands:A},null,2)+"\n")}}(0,a.gn)([C.Command.Path("--clipanion=definitions")],re.prototype,"execute",null);class Ae extends C.Command{async execute(){this.context.stdout.write(this.cli.usage(null))}}(0,a.gn)([C.Command.Path("help"),C.Command.Path("--help"),C.Command.Path("-h")],Ae.prototype,"execute",null);class ne extends C.Command{constructor(){super(...arguments),this.args=[]}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!d.tryParseIdent(this.leadingArgument)){const e=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}return await this.cli.run(["run",this.leadingArgument,...this.args])}}(0,a.gn)([C.Command.String()],ne.prototype,"leadingArgument",void 0),(0,a.gn)([C.Command.Proxy()],ne.prototype,"args",void 0);var oe=r(59355);class ie extends C.Command{async execute(){this.context.stdout.write((oe.o||"")+"\n")}}(0,a.gn)([C.Command.Path("-v"),C.Command.Path("--version")],ie.prototype,"execute",null);var se=r(6220);class ae extends c.BaseCommand{constructor(){super(...arguments),this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return await y.xfs.mktempPromise(async e=>{const{code:r}=await se.pipevp(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await R.makeScriptEnv({project:t,binFolder:e})});return r})}}ae.usage=C.Command.Usage({description:"execute a shell command",details:"\n This command simply executes a shell binary within the context of the root directory of the active workspace.\n\n It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n ",examples:[["Execute a shell command","$0 exec echo Hello World"]]}),(0,a.gn)([C.Command.String()],ae.prototype,"commandName",void 0),(0,a.gn)([C.Command.Proxy()],ae.prototype,"args",void 0),(0,a.gn)([C.Command.Path("exec")],ae.prototype,"execute",null);var ce=r(36545);class ge extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);if(await t.applyLightResolution(),void 0!==this.hash)return await async function(e,t,r){const{configuration:A}=t,n=t.peerRequirements.get(e);if(void 0===n)throw new Error(`No peerDependency requirements found for hash: "${e}"`);return(await p.Pk.start({configuration:A,stdout:r.stdout,includeFooter:!1},async e=>{var r,o;const i=t.storedPackages.get(n.subject);if(void 0===i)throw new Error("Assertion failed: Expected the subject package to have been registered");const s=t.storedPackages.get(n.rootRequester);if(void 0===s)throw new Error("Assertion failed: Expected the root package to have been registered");const a=null!==(r=i.dependencies.get(n.requested.identHash))&&void 0!==r?r:null,c=null!==a?t.storedResolutions.get(a.descriptorHash):null;if(void 0===c)throw new Error("Assertion failed: Expected the resolution to have been registered");const g=null!==c?t.storedPackages.get(c):null;if(void 0===g)throw new Error("Assertion failed: Expected the provided package to have been registered");const l=[...n.allRequesters.values()].map(e=>{const r=t.storedPackages.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the package to be registered");const A=d.devirtualizeLocator(r),o=t.storedPackages.get(A.locatorHash);if(void 0===o)throw new Error("Assertion failed: Expected the package to be registered");const i=o.peerDependencies.get(n.requested.identHash);if(void 0===i)throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:r,peerDependency:i}});if(null!==g){const t=l.every(({peerDependency:e})=>ce.satisfiesWithPrereleases(g.version,e.range));e.reportInfo(u.b.UNNAMED,`${d.prettyLocator(A,i)} provides ${d.prettyLocator(A,g)} with version ${d.prettyReference(A,null!==(o=g.version)&&void 0!==o?o:"")}, which ${t?"satisfies":"doesn't satisfy"} the following requirements:`)}else e.reportInfo(u.b.UNNAMED,`${d.prettyLocator(A,i)} doesn't provide ${d.prettyIdent(A,n.requested)}, breaking the following requirements:`);e.reportSeparator();const h=B.mark(A),p=[];for(const{pkg:e,peerDependency:t}of P.sortMap(l,e=>d.stringifyLocator(e.pkg))){const r=null!==g&&ce.satisfiesWithPrereleases(g.version,t.range)?h.Check:h.Cross;p.push({stringifiedLocator:d.stringifyLocator(e),prettyLocator:d.prettyLocator(A,e),prettyRange:d.prettyRange(A,t.range),mark:r})}const C=Math.max(...p.map(({stringifiedLocator:e})=>e.length)),f=Math.max(...p.map(({prettyRange:e})=>e.length));for(const{stringifiedLocator:t,prettyLocator:r,prettyRange:A,mark:n}of P.sortMap(p,({stringifiedLocator:e})=>e))e.reportInfo(null,`${r.padEnd(C+(r.length-t.length)," ")} → ${A.padEnd(f," ")} ${n}`);p.length>1&&(e.reportSeparator(),e.reportInfo(u.b.UNNAMED,"Note: these requirements start with "+d.prettyLocator(t.configuration,s)))})).exitCode()}(this.hash,t,{stdout:this.context.stdout});return(await p.Pk.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async r=>{var A;const n=[([,e])=>d.stringifyLocator(t.storedPackages.get(e.subject)),([,e])=>d.stringifyIdent(e.requested)];for(const[o,i]of P.sortMap(t.peerRequirements,n)){const n=t.storedPackages.get(i.subject);if(void 0===n)throw new Error("Assertion failed: Expected the subject package to have been registered");const s=t.storedPackages.get(i.rootRequester);if(void 0===s)throw new Error("Assertion failed: Expected the root package to have been registered");const a=null!==(A=n.dependencies.get(i.requested.identHash))&&void 0!==A?A:null,c=B.pretty(e,o,B.Type.CODE),g=d.prettyLocator(e,n),l=d.prettyIdent(e,i.requested),u=d.prettyIdent(e,s),h=i.allRequesters.length-1,p="descendant"+(1===h?"":"s"),C=h>0?` and ${h} ${p}`:"",f=null!==a?"provides":"doesn't provide";r.reportInfo(null,`${c} → ${g} ${f} ${l} to ${u}${C}`)}})).exitCode()}}ge.schema=X.object().shape({hash:X.string().matches(/^p[0-9a-f]{5}$/)}),ge.usage=C.Command.Usage({description:"explain a set of peer requirements",details:"\n A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.\n\n When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.\n\n When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.\n\n **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (`yarn explain peer-requirements`).\n ",examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]}),(0,a.gn)([C.Command.String({required:!1})],ge.prototype,"hash",void 0),(0,a.gn)([C.Command.Path("explain","peer-requirements")],ge.prototype,"execute",null);var le=r(85875);class ue extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.recursive=!1,this.extra=[],this.cache=!1,this.dependents=!1,this.manifest=!1,this.nameOnly=!1,this.virtuals=!1,this.json=!1,this.patterns=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r&&!this.all)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const n=new Set(this.extra);this.cache&&n.add("cache"),this.dependents&&n.add("dependents"),this.manifest&&n.add("manifest");const o=(e,{recursive:r})=>{const A=e.anchoredLocator.locatorHash,n=new Map,o=[A];for(;o.length>0;){const e=o.shift();if(n.has(e))continue;const i=t.storedPackages.get(e);if(void 0===i)throw new Error("Assertion failed: Expected the package to be registered");if(n.set(e,i),d.isVirtualLocator(i)&&o.push(d.devirtualizeLocator(i).locatorHash),r||e===A)for(const e of i.dependencies.values()){const r=t.storedResolutions.get(e.descriptorHash);if(void 0===r)throw new Error("Assertion failed: Expected the resolution to be registered");o.push(r)}}return n.values()},i=({all:e,recursive:A})=>e&&A?t.storedPackages.values():e?(({recursive:e})=>{const r=new Map;for(const A of t.workspaces)for(const t of o(A,{recursive:e}))r.set(t.locatorHash,t);return r.values()})({recursive:A}):o(r,{recursive:A}),{selection:a,sortedLookup:l}=(({all:e,recursive:t})=>{const r=i({all:e,recursive:t}),A=this.patterns.map(e=>{const t=d.parseLocator(e),r=Z().makeRe(d.stringifyIdent(t)),A=d.isVirtualLocator(t),n=A?d.devirtualizeLocator(t):t;return e=>{const o=d.stringifyIdent(e);if(!r.test(o))return!1;if("unknown"===t.reference)return!0;const i=d.isVirtualLocator(e),s=i?d.devirtualizeLocator(e):e;return(!A||!i||t.reference===e.reference)&&n.reference===s.reference}}),n=P.sortMap([...r],e=>d.stringifyLocator(e));return{selection:n.filter(e=>0===A.length||A.some(t=>t(e))),sortedLookup:n}})({all:this.all,recursive:this.recursive});if(0===a.length)throw new C.UsageError("No package matched your request");const u=new Map;if(this.dependents)for(const e of l)for(const r of e.dependencies.values()){const A=t.storedResolutions.get(r.descriptorHash);if(void 0===A)throw new Error("Assertion failed: Expected the resolution to be registered");P.getArrayWithDefault(u,A).push(e)}const p=new Map;for(const e of l){if(!d.isVirtualLocator(e))continue;const t=d.devirtualizeLocator(e);P.getArrayWithDefault(p,t.locatorHash).push(e)}const f={},m={children:f},w=e.makeFetcher(),Q={project:t,fetcher:w,cache:A,checksums:t.storedChecksums,report:new I.$,skipIntegrityCheck:!0},D=[async(e,t,r)=>{var A,n;if(!t.has("manifest"))return;const o=await w.fetch(e,Q);let i;try{i=await E.G.find(o.prefixPath,{baseFs:o.packageFs})}finally{null===(A=o.releaseFs)||void 0===A||A.call(o)}r("Manifest",{License:B.tuple(B.Type.NO_HINT,i.license),Homepage:B.tuple(B.Type.URL,null!==(n=i.raw.homepage)&&void 0!==n?n:null)})},async(e,r,n)=>{var o;if(!r.has("cache"))return;const i=null!==(o=t.storedChecksums.get(e.locatorHash))&&void 0!==o?o:null,s=A.getLocatorPath(e,i);let a;if(null!==s)try{a=y.xfs.statSync(s)}catch(e){}const c=void 0!==a?[a.size,B.Type.SIZE]:void 0;n("Cache",{Checksum:B.tuple(B.Type.NO_HINT,i),Path:B.tuple(B.Type.PATH,s),Size:c})}];for(const r of a){const A=d.isVirtualLocator(r);if(!this.virtuals&&A)continue;const o={},i={value:[r,B.Type.LOCATOR],children:o};if(f[d.stringifyLocator(r)]=i,this.nameOnly){delete i.children;continue}const s=p.get(r.locatorHash);void 0!==s&&(o.Instances={label:"Instances",value:B.tuple(B.Type.NUMBER,s.length)}),o.Version={label:"Version",value:B.tuple(B.Type.NO_HINT,r.version)};const a=(e,t)=>{const r={};if(o[e]=r,Array.isArray(t))r.children=t.map(e=>({value:e}));else{const e={};r.children=e;for(const[r,A]of Object.entries(t))void 0!==A&&(e[r]={label:r,value:A})}};if(!A){for(const e of D)await e(r,n,a);await e.triggerHook(e=>e.fetchPackageInfo,r,n,a)}r.bin.size>0&&!A&&a("Exported Binaries",[...r.bin.keys()].map(e=>B.tuple(B.Type.PATH,e)));const c=u.get(r.locatorHash);void 0!==c&&c.length>0&&a("Dependents",c.map(e=>B.tuple(B.Type.LOCATOR,e))),r.dependencies.size>0&&!A&&a("Dependencies",[...r.dependencies.values()].map(e=>{var r;const A=t.storedResolutions.get(e.descriptorHash),n=void 0!==A&&null!==(r=t.storedPackages.get(A))&&void 0!==r?r:null;return B.tuple(B.Type.RESOLUTION,{descriptor:e,locator:n})})),r.peerDependencies.size>0&&A&&a("Peer dependencies",[...r.peerDependencies.values()].map(e=>{var A,n;const o=r.dependencies.get(e.identHash),i=void 0!==o&&null!==(A=t.storedResolutions.get(o.descriptorHash))&&void 0!==A?A:null,s=null!==i&&null!==(n=t.storedPackages.get(i))&&void 0!==n?n:null;return B.tuple(B.Type.RESOLUTION,{descriptor:e,locator:s})}))}le.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}}ue.usage=C.Command.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]}),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Print versions of a package from the whole project"})],ue.prototype,"all",void 0),(0,a.gn)([C.Command.Boolean("-R,--recursive",{description:"Print information for all packages, including transitive dependencies"})],ue.prototype,"recursive",void 0),(0,a.gn)([C.Command.Array("-X,--extra",{description:"An array of requests of extra data provided by plugins"})],ue.prototype,"extra",void 0),(0,a.gn)([C.Command.Boolean("--cache",{description:"Print information about the cache entry of a package (path, size, checksum)"})],ue.prototype,"cache",void 0),(0,a.gn)([C.Command.Boolean("--dependents",{description:"Print all dependents for each matching package"})],ue.prototype,"dependents",void 0),(0,a.gn)([C.Command.Boolean("--manifest",{description:"Print data obtained by looking at the package archive (license, homepage, ...)"})],ue.prototype,"manifest",void 0),(0,a.gn)([C.Command.Boolean("--name-only",{description:"Only print the name for the matching packages"})],ue.prototype,"nameOnly",void 0),(0,a.gn)([C.Command.Boolean("--virtuals",{description:"Print each instance of the virtual packages"})],ue.prototype,"virtuals",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],ue.prototype,"json",void 0),(0,a.gn)([C.Command.Rest()],ue.prototype,"patterns",void 0),(0,a.gn)([C.Command.Path("info")],ue.prototype,"execute",null);var he=r(11640),pe=r(5864);class de extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.checkCache=!1,this.skipBuilds=!1,this.silent=!1}async execute(){var e,t,r;const A=await s.VK.find(this.context.cwd,this.context.plugins);void 0!==this.inlineBuilds&&A.useWithSource("",{enableInlineBuilds:this.inlineBuilds},A.startingCwd,{overwrite:!0});const n=!!process.env.NOW_BUILDER,o=!!process.env.NETLIFY,i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(e,{error:t})=>{const r=await p.Pk.start({configuration:A,stdout:this.context.stdout,includeFooter:!1},async r=>{t?r.reportError(u.b.DEPRECATED_CLI_SETTINGS,e):r.reportWarning(u.b.DEPRECATED_CLI_SETTINGS,e)});return r.hasErrors()?r.exitCode():null};if(void 0!==this.ignoreEngines){const e=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!n});if(null!==e)return e}if(void 0!==this.registry){const e=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(null!==e)return e}if(void 0!==this.preferOffline){const e=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!n});if(null!==e)return e}if(void 0!==this.production){const e=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(null!==e)return e}if(void 0!==this.nonInteractive){const e=await a("The --non-interactive option is deprecated",{error:!i});if(null!==e)return e}if(void 0!==this.frozenLockfile){const e=await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!i&&!pe.TRAVIS});if(null!==e)return e}if(void 0!==this.cacheFolder){const e=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!o});if(null!==e)return e}const l=void 0===this.immutable&&void 0===this.frozenLockfile?null!==(e=A.get("enableImmutableInstalls"))&&void 0!==e&&e:null!==(r=null!==(t=this.immutable)&&void 0!==t?t:this.frozenLockfile)&&void 0!==r&&r;if(null!==A.projectCwd){const e=await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeFooter:!1},async e=>{await async function(e,t){if(!e.projectCwd)return!1;const r=m.y1.join(e.projectCwd,e.get("lockfileFilename"));if(!await y.xfs.existsPromise(r))return!1;const A=await y.xfs.readFilePromise(r,"utf8");if(!A.includes("<<<<<<<"))return!1;if(t)throw new V.lk(u.b.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");const[n,o]=function(e){const t=[[],[]],r=e.split(/\r?\n/g);let A=!1;for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith("<<<<<<<")){for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if("======="===e){A=!1;break}A||e.startsWith("|||||||")?A=!0:t[0].push(e)}for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith(">>>>>>>"))break;t[1].push(e)}}else t[0].push(e),t[1].push(e)}return[t[0].join("\n"),t[1].join("\n")]}(A);let i,s;try{i=(0,he.parseSyml)(n),s=(0,he.parseSyml)(o)}catch(e){throw new V.lk(u.b.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}const a={...i,...s};for(const[e,t]of Object.entries(a))"string"==typeof t&&delete a[e];return await y.xfs.changeFilePromise(r,(0,he.stringifySyml)(a),{automaticNewlines:!0}),!0}(A,l)&&(e.reportInfo(u.b.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts 👍"),e.reportSeparator())});if(e.hasErrors())return e.exitCode()}if(null!==A.projectCwd){const e=await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeFooter:!1},async e=>{var t;(null===(t=s.VK.telemetry)||void 0===t?void 0:t.isNew)&&(e.reportInfo(u.b.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),e.reportInfo(u.b.TELEMETRY_NOTICE,`Run ${B.pretty(A,"yarn config set --home enableTelemetry 0",B.Type.CODE)} to disable`),e.reportSeparator())});if(e.hasErrors())return e.exitCode()}const{project:d,workspace:C}=await h.I.find(A,this.context.cwd),f=await g.C.find(A,{immutable:this.immutableCache,check:this.checkCache});if(!C)throw new c.WorkspaceRequiredError(d.cwd,this.context.cwd);await d.restoreInstallState({restoreResolutions:!1});return(await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeLogs:!0},async e=>{await d.install({cache:f,report:e,immutable:l,skipBuild:this.skipBuilds})})).exitCode()}}de.usage=C.Command.Usage({description:"install the project dependencies",details:"\n This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where are stored the cache files).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.js file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.js file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set, Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePaths` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--skip-builds` option is set, Yarn will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],de.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"})],de.prototype,"immutable",void 0),(0,a.gn)([C.Command.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"})],de.prototype,"immutableCache",void 0),(0,a.gn)([C.Command.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"})],de.prototype,"checkCache",void 0),(0,a.gn)([C.Command.Boolean("--production",{hidden:!0})],de.prototype,"production",void 0),(0,a.gn)([C.Command.Boolean("--non-interactive",{hidden:!0})],de.prototype,"nonInteractive",void 0),(0,a.gn)([C.Command.Boolean("--frozen-lockfile",{hidden:!0})],de.prototype,"frozenLockfile",void 0),(0,a.gn)([C.Command.Boolean("--prefer-offline",{hidden:!0})],de.prototype,"preferOffline",void 0),(0,a.gn)([C.Command.Boolean("--ignore-engines",{hidden:!0})],de.prototype,"ignoreEngines",void 0),(0,a.gn)([C.Command.String("--registry",{hidden:!0})],de.prototype,"registry",void 0),(0,a.gn)([C.Command.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"})],de.prototype,"inlineBuilds",void 0),(0,a.gn)([C.Command.Boolean("--skip-builds",{description:"Skip the build step altogether"})],de.prototype,"skipBuilds",void 0),(0,a.gn)([C.Command.String("--cache-folder",{hidden:!0})],de.prototype,"cacheFolder",void 0),(0,a.gn)([C.Command.Boolean("--silent",{hidden:!0})],de.prototype,"silent",void 0),(0,a.gn)([C.Command.Path(),C.Command.Path("install")],de.prototype,"execute",null);class Ce extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.private=!1,this.relative=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.destination)),o=await s.VK.find(n,this.context.plugins),{project:i,workspace:a}=await h.I.find(o,n);if(!a)throw new c.WorkspaceRequiredError(i.cwd,n);const l=t.topLevelWorkspace,u=[];if(this.all){for(const e of i.workspaces)!e.manifest.name||e.manifest.private&&!this.private||u.push(e);if(0===u.length)throw new C.UsageError("No workspace found to be linked in the target project")}else{if(!a.manifest.name)throw new C.UsageError("The target workspace doesn't have a name and thus cannot be linked");if(a.manifest.private&&!this.private)throw new C.UsageError("The target workspace is marked private - use the --private flag to link it anyway");u.push(a)}for(const e of u){const r=d.stringifyIdent(e.locator),A=this.relative?m.y1.relative(t.cwd,e.cwd):e.cwd;l.manifest.resolutions.push({pattern:{descriptor:{fullName:r}},reference:"portal:"+A})}return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ce.usage=C.Command.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n\n There is no `yarn unlink` command. To unlink the workspaces from the current project one must revert the changes made to the `resolutions` field.\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]}),(0,a.gn)([C.Command.String()],Ce.prototype,"destination",void 0),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Link all workspaces belonging to the target project to the current one"})],Ce.prototype,"all",void 0),(0,a.gn)([C.Command.Boolean("-p,--private",{description:"Also link private workspaces belonging to the target project to the current one"})],Ce.prototype,"private",void 0),(0,a.gn)([C.Command.Boolean("-r,--relative",{description:"Link workspaces using relative paths instead of absolute paths"})],Ce.prototype,"relative",void 0),(0,a.gn)([C.Command.Path("link")],Ce.prototype,"execute",null);class fe extends c.BaseCommand{constructor(){super(...arguments),this.args=[]}async execute(){return this.cli.run(["exec","node",...this.args])}}fe.usage=C.Command.Usage({description:"run node with the hook already setup",details:"\n This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n ",examples:[["Run a Node script","$0 node ./my-script.js"]]}),(0,a.gn)([C.Command.Proxy()],fe.prototype,"args",void 0),(0,a.gn)([C.Command.Path("node")],fe.prototype,"execute",null);var Ie=r(20624),Ee=r(12087),Be=r(85622),ye=r.n(Be),me=r(79669);class we extends c.BaseCommand{constructor(){super(...arguments),this.onlyIfNeeded=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let t;if("latest"===this.version||"berry"===this.version)t="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if("classic"===this.version)t="https://nightly.yarnpkg.com/latest.js";else if(ce.satisfiesWithPrereleases(this.version,">=2.0.0"))t=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else{if(!ce.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))throw Q().validRange(this.version)?new C.UsageError("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new C.UsageError(`Invalid version descriptor "${this.version}"`);t=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`}return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{r.reportInfo(u.b.UNNAMED,"Downloading "+B.pretty(e,t,"green"));const A=await me.get(t,{configuration:e});await Qe(e,null,A,{report:r})})).exitCode()}}async function Qe(e,t,r,{report:A}){const n=e.projectCwd?e.projectCwd:e.startingCwd;null===t&&await y.xfs.mktempPromise(async e=>{const A=m.y1.join(e,"yarn.cjs");await y.xfs.writeFilePromise(A,r);const{stdout:o}=await se.execvp(process.execPath,[m.cS.fromPortablePath(A),"--version"],{cwd:n,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(t=o.trim(),!Q().valid(t))throw new Error("Invalid semver version")});const o=m.y1.resolve(n,".yarn/releases"),i=m.y1.resolve(o,`yarn-${t}.cjs`),a=m.y1.relative(e.startingCwd,i),c=m.y1.relative(n,i),g=e.get("yarnPath"),l=null===g||g.startsWith(o+"/");A.reportInfo(u.b.UNNAMED,"Saving the new release in "+B.pretty(e,a,"magenta")),await y.xfs.removePromise(m.y1.dirname(i)),await y.xfs.mkdirPromise(m.y1.dirname(i),{recursive:!0}),await y.xfs.writeFilePromise(i,r),await y.xfs.chmodPromise(i,493),l&&await s.VK.updateConfiguration(n,{yarnPath:c})}we.usage=C.Command.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]}),(0,a.gn)([C.Command.Boolean("--only-if-needed",{description:"Only lock the Yarn version if it isn't already locked"})],we.prototype,"onlyIfNeeded",void 0),(0,a.gn)([C.Command.String()],we.prototype,"version",void 0),(0,a.gn)([C.Command.Path("policies","set-version"),C.Command.Path("set","version")],we.prototype,"execute",null);const De=/^[0-9]+$/;function be(e){return De.test(e)?`pull/${e}/head`:e}class ve extends c.BaseCommand{constructor(){super(...arguments),this.repository="https://github.com/yarnpkg/berry.git",this.branch="master",this.plugins=[],this.noMinify=!1,this.force=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=void 0!==this.installPath?m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.installPath)):m.y1.resolve(m.cS.toPortablePath((0,Ee.tmpdir)()),"yarnpkg-sources",Ie.makeHash(this.repository).slice(0,6));return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{await ke(this,{configuration:e,report:r,target:t}),r.reportSeparator(),r.reportInfo(u.b.UNNAMED,"Building a fresh bundle"),r.reportSeparator(),await Se((({plugins:e,noMinify:t},r)=>[["yarn","build:cli",...(new Array).concat(...e.map(e=>["--plugin",ye().resolve(r,e)])),...t?["--no-minify"]:[],"|"]])(this,t),{configuration:e,context:this.context,target:t}),r.reportSeparator();const A=m.y1.resolve(t,"packages/yarnpkg-cli/bundles/yarn.js"),n=await y.xfs.readFilePromise(A);await Qe(e,"sources",n,{report:r})})).exitCode()}}async function Se(e,{configuration:t,context:r,target:A}){for(const[n,...o]of e){const e="|"===o[o.length-1];if(e&&o.pop(),e)await se.pipevp(n,o,{cwd:A,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(B.pretty(t," $ "+[n,...o].join(" "),"grey")+"\n");try{await se.execvp(n,o,{cwd:A,strict:!0})}catch(e){throw r.stdout.write(e.stdout||e.stack),e}}}}async function ke(e,{configuration:t,report:r,target:A}){let n=!1;if(!e.force&&y.xfs.existsSync(m.y1.join(A,".git"))){r.reportInfo(u.b.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Se((({branch:e})=>[["git","fetch","origin",be(e),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]])(e),{configuration:t,context:e.context,target:A}),n=!0}catch(e){r.reportSeparator(),r.reportWarning(u.b.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(u.b.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await y.xfs.removePromise(A),await y.xfs.mkdirPromise(A,{recursive:!0}),await Se((({repository:e,branch:t},r)=>[["git","init",m.cS.fromPortablePath(r)],["git","remote","add","origin",e],["git","fetch","origin",be(t)],["git","reset","--hard","FETCH_HEAD"]])(e,A),{configuration:t,context:e.context,target:A}))}ve.usage=C.Command.Usage({description:"build Yarn from master",details:"\n This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n ",examples:[["Build Yarn from master","$0 set version from sources"]]}),(0,a.gn)([C.Command.String("--path",{description:"The path where the repository should be cloned to"})],ve.prototype,"installPath",void 0),(0,a.gn)([C.Command.String("--repository",{description:"The repository that should be cloned"})],ve.prototype,"repository",void 0),(0,a.gn)([C.Command.String("--branch",{description:"The branch of the repository that should be cloned"})],ve.prototype,"branch",void 0),(0,a.gn)([C.Command.Array("--plugin",{description:"An array of additional plugins that should be included in the bundle"})],ve.prototype,"plugins",void 0),(0,a.gn)([C.Command.Boolean("--no-minify",{description:"Build a bundle for development (debugging) - non-minified and non-mangled"})],ve.prototype,"noMinify",void 0),(0,a.gn)([C.Command.Boolean("-f,--force",{description:"Always clone the repository instead of trying to fetch the latest commits"})],ve.prototype,"force",void 0),(0,a.gn)([C.Command.Path("set","version","from","sources")],ve.prototype,"execute",null);var Ke=r(78835);const Fe=require("vm");async function Ne(e){const t=await me.get("https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml",{configuration:e});return(0,he.parseSyml)(t.toString())}class Me extends c.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{const r=await Ne(e);for(const[e,{experimental:A,...n}]of Object.entries(r)){let r=e;A&&(r+=" [experimental]"),t.reportJson({name:e,experimental:A,...n}),t.reportInfo(null,r)}})).exitCode()}}Me.usage=C.Command.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Me.prototype,"json",void 0),(0,a.gn)([C.Command.Path("plugin","list")],Me.prototype,"execute",null);class Re extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const{project:r}=await h.I.find(e,this.context.cwd);let A,n;if(this.name.match(/^\.{0,2}[\\/]/)||m.cS.isAbsolute(this.name)){const o=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.name));t.reportInfo(u.b.UNNAMED,"Reading "+B.pretty(e,o,B.Type.PATH)),A=m.y1.relative(r.cwd,o),n=await y.xfs.readFilePromise(o)}else{let r;if(this.name.match(/^https?:/)){try{new Ke.URL(this.name)}catch(e){throw new V.lk(u.b.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}A=this.name,r=this.name}else{const t=d.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),n=d.stringifyIdent(t),o=await Ne(e);if(!Object.prototype.hasOwnProperty.call(o,n))throw new V.lk(u.b.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${n}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);A=n,r=o[n].url}t.reportInfo(u.b.UNNAMED,"Downloading "+B.pretty(e,r,"green")),n=await me.get(r,{configuration:e})}await xe(A,n,{project:r,report:t})})).exitCode()}}async function xe(e,t,{project:r,report:A}){const{configuration:n}=r,o={},i={exports:o};(0,Fe.runInNewContext)(t.toString(),{module:i,exports:o});const a=i.exports.name,c=`.yarn/plugins/${a}.cjs`,g=m.y1.resolve(r.cwd,c);A.reportInfo(u.b.UNNAMED,"Saving the new plugin in "+B.pretty(n,c,"magenta")),await y.xfs.mkdirPromise(m.y1.dirname(g),{recursive:!0}),await y.xfs.writeFilePromise(g,t);const l={path:c,spec:e};await s.VK.updateConfiguration(r.cwd,e=>{const t=[];let A=!1;for(const n of e.plugins||[]){const e="string"!=typeof n?n.path:n,o=m.y1.resolve(r.cwd,m.cS.toPortablePath(e)),{name:i}=P.dynamicRequire(m.cS.fromPortablePath(o));i!==a?t.push(n):(t.push(l),A=!0)}return A||t.push(l),{...e,plugins:t}})}Re.usage=C.Command.Usage({category:"Plugin-related commands",description:"download a plugin",details:"\n This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n Three types of plugin references are accepted:\n\n - If the plugin is stored within the Yarn repository, it can be referenced by name.\n - Third-party plugins can be referenced directly through their public urls.\n - Local plugins can be referenced by their path on the disk.\n\n Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the `@yarnpkg/builder` package).\n ",examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]}),(0,a.gn)([C.Command.String()],Re.prototype,"name",void 0),(0,a.gn)([C.Command.Path("plugin","import")],Re.prototype,"execute",null);class Le extends c.BaseCommand{constructor(){super(...arguments),this.repository="https://github.com/yarnpkg/berry.git",this.branch="master",this.noMinify=!1,this.force=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=void 0!==this.installPath?m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.installPath)):m.y1.resolve(m.cS.toPortablePath((0,Ee.tmpdir)()),"yarnpkg-sources",Ie.makeHash(this.repository).slice(0,6));return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const{project:A}=await h.I.find(e,this.context.cwd),n=d.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),o=d.stringifyIdent(n),i=await Ne(e);if(!Object.prototype.hasOwnProperty.call(i,o))throw new V.lk(u.b.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${o}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);const s=o,a=s.replace(/@yarnpkg\//,"");await ke(this,{configuration:e,report:r,target:t}),r.reportSeparator(),r.reportInfo(u.b.UNNAMED,"Building a fresh "+a),r.reportSeparator(),await Se((({pluginName:e,noMinify:t},r)=>[["yarn","build:"+e,...t?["--no-minify"]:[],"|"]])({pluginName:a,noMinify:this.noMinify}),{configuration:e,context:this.context,target:t}),r.reportSeparator();const c=m.y1.resolve(t,`packages/${a}/bundles/${s}.js`),g=await y.xfs.readFilePromise(c);await xe(s,g,{project:A,report:r})})).exitCode()}}Le.usage=C.Command.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:"\n This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.\n\n The plugins can be referenced by their short name if sourced from the official Yarn repository.\n ",examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]}),(0,a.gn)([C.Command.String()],Le.prototype,"name",void 0),(0,a.gn)([C.Command.String("--path",{description:"The path where the repository should be cloned to"})],Le.prototype,"installPath",void 0),(0,a.gn)([C.Command.String("--repository",{description:"The repository that should be cloned"})],Le.prototype,"repository",void 0),(0,a.gn)([C.Command.String("--branch",{description:"The branch of the repository that should be cloned"})],Le.prototype,"branch",void 0),(0,a.gn)([C.Command.Boolean("--no-minify",{description:"Build a plugin for development (debugging) - non-minified and non-mangled"})],Le.prototype,"noMinify",void 0),(0,a.gn)([C.Command.Boolean("-f,--force",{description:"Always clone the repository instead of trying to fetch the latest commits"})],Le.prototype,"force",void 0),(0,a.gn)([C.Command.Path("plugin","import","from","sources")],Le.prototype,"execute",null);class Pe extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const A=this.name,n=d.parseIdent(A);if(!e.plugins.has(A))throw new C.UsageError(d.prettyIdent(e,n)+" isn't referenced by the current configuration");const o=`.yarn/plugins/${A}.cjs`,i=m.y1.resolve(t.cwd,o);y.xfs.existsSync(i)&&(r.reportInfo(u.b.UNNAMED,`Removing ${B.pretty(e,o,B.Type.PATH)}...`),await y.xfs.removePromise(i)),r.reportInfo(u.b.UNNAMED,"Updating the configuration..."),await s.VK.updateConfiguration(t.cwd,e=>{if(!Array.isArray(e.plugins))return e;const t=e.plugins.filter(e=>e.path!==o);return e.plugins.length===t.length?e:{...e,plugins:t}})})).exitCode()}}Pe.usage=C.Command.Usage({category:"Plugin-related commands",description:"remove a plugin",details:"\n This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.\n\n **Note:** The plugins have to be referenced by their name property, which can be obtained using the `yarn plugin runtime` command. Shorthands are not allowed.\n ",examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]}),(0,a.gn)([C.Command.String()],Pe.prototype,"name",void 0),(0,a.gn)([C.Command.Path("plugin","remove")],Pe.prototype,"execute",null);class Oe extends c.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{for(const r of e.plugins.keys()){const e=this.context.plugins.plugins.has(r);let A=r;e&&(A+=" [builtin]"),t.reportJson({name:r,builtin:e}),t.reportInfo(null,""+A)}})).exitCode()}}Oe.usage=C.Command.Usage({category:"Plugin-related commands",description:"list the active plugins",details:"\n This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n ",examples:[["List the currently active plugins","$0 plugin runtime"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Oe.prototype,"json",void 0),(0,a.gn)([C.Command.Path("plugin","runtime")],Oe.prototype,"execute",null);class Ue extends c.BaseCommand{constructor(){super(...arguments),this.idents=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=new Set;for(const e of this.idents)n.add(d.parseIdent(e).identHash);await t.resolveEverything({cache:A,report:new I.$});const o=e.get("bstatePath"),i=y.xfs.existsSync(o)?(0,he.parseSyml)(await y.xfs.readFilePromise(o,"utf8")):{},a=new Map;for(const e of t.storedPackages.values()){if(!Object.prototype.hasOwnProperty.call(i,e.locatorHash))continue;if(0===n.size||n.has(e.identHash))continue;const t=i[e.locatorHash];a.set(e.locatorHash,t)}if(a.size>0){const r=e.get("bstatePath"),A=h.I.generateBuildStateFile(a,t.storedPackages);await y.xfs.mkdirPromise(m.y1.dirname(r),{recursive:!0}),await y.xfs.changeFilePromise(r,A,{automaticNewlines:!0})}else await y.xfs.removePromise(o);return(await p.Pk.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ue.usage=C.Command.Usage({description:"rebuild the project's native packages",details:"\n This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n ",examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]}),(0,a.gn)([C.Command.Rest()],Ue.prototype,"idents",void 0),(0,a.gn)([C.Command.Path("rebuild")],Ue.prototype,"execute",null);class Te extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.patterns=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});const o=this.all?t.workspaces:[r],i=[n.REGULAR,n.DEVELOPMENT,n.PEER],a=[];let l=!1;const u=[];for(const e of this.patterns){let t=!1;const r=d.parseIdent(e);for(const A of o){const n=[...A.manifest.peerDependenciesMeta.keys()];for(const r of Z()(n,e))A.manifest.peerDependenciesMeta.delete(r),l=!0,t=!0;for(const e of i){const n=A.manifest.getForScope(e),o=[...n.values()].map(e=>d.stringifyIdent(e));for(const i of Z()(o,d.stringifyIdent(r))){const{identHash:r}=d.parseIdent(i),o=n.get(r);if(void 0===o)throw new Error("Assertion failed: Expected the descriptor to be registered");A.manifest[e].delete(r),u.push([A,e,o]),l=!0,t=!0}}}t||a.push(e)}const f=a.length>1?"Patterns":"Pattern",I=a.length>1?"don't":"doesn't",E=this.all?"any":"this";if(a.length>0)throw new C.UsageError(`${f} ${B.prettyList(e,a,s.a5.CODE)} ${I} match any packages referenced by ${E} workspace`);if(l){await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyRemoval,u);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}return 0}}Te.usage=C.Command.Usage({description:"remove dependencies from the project",details:"\n This command will remove the packages matching the specified patterns from the current workspace.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n ",examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]}),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Apply the operation to all workspaces from the current project"})],Te.prototype,"all",void 0),(0,a.gn)([C.Command.Rest()],Te.prototype,"patterns",void 0),(0,a.gn)([C.Command.Path("remove")],Te.prototype,"execute",null);class je extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const A=r.manifest.scripts,n=P.sortMap(A.keys(),e=>e),o={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},i=n.reduce((e,t)=>Math.max(e,t.length),0);for(const[e,r]of A.entries())t.reportInfo(null,`${e.padEnd(i," ")} ${(0,T.inspect)(r,o)}`)})).exitCode()}}(0,a.gn)([C.Command.Path("run")],je.prototype,"execute",null);class Ye extends c.BaseCommand{constructor(){super(...arguments),this.inspect=!1,this.inspectBrk=!1,this.topLevel=!1,this.binariesOnly=!1,this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r,locator:A}=await h.I.find(e,this.context.cwd);await t.restoreInstallState();const n=this.topLevel?t.topLevelWorkspace.anchoredLocator:A;if(!this.binariesOnly&&await R.hasPackageScript(n,this.scriptName,{project:t}))return await R.executePackageScript(n,this.scriptName,this.args,{project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if((await R.getPackageAccessibleBinaries(n,{project:t})).get(this.scriptName)){const e=[];return this.inspect&&("string"==typeof this.inspect?e.push("--inspect="+this.inspect):e.push("--inspect")),this.inspectBrk&&("string"==typeof this.inspectBrk?e.push("--inspect-brk="+this.inspectBrk):e.push("--inspect-brk")),await R.executePackageAccessibleBinary(n,this.scriptName,this.args,{cwd:this.context.cwd,project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:e})}if(!this.topLevel&&!this.binariesOnly&&r&&this.scriptName.includes(":")){const e=(await Promise.all(t.workspaces.map(async e=>e.manifest.scripts.has(this.scriptName)?e:null))).filter(e=>null!==e);if(1===e.length)return await R.executeWorkspaceScript(e[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw"node-gyp"===this.scriptName?new C.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${d.prettyLocator(e,A)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new C.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${d.prettyLocator(e,A)}).`);{if("global"===this.scriptName)throw new C.UsageError("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");const e=[this.scriptName].concat(this.args);for(const[t,r]of c.pluginCommands)for(const A of r)if(e.length>=A.length&&JSON.stringify(e.slice(0,A.length))===JSON.stringify(A))throw new C.UsageError(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${t} plugin. You can install it with "yarn plugin import ${t}".`);throw new C.UsageError(`Couldn't find a script named "${this.scriptName}".`)}}}Ye.usage=C.Command.Usage({description:"run a script defined in the package.json",details:"\n This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n - If the `scripts` field from your local package.json contains a matching script name, its definition will get executed.\n\n - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.\n\n - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n ",examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]}),(0,a.gn)([C.Command.String("--inspect",{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"})],Ye.prototype,"inspect",void 0),(0,a.gn)([C.Command.String("--inspect-brk",{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"})],Ye.prototype,"inspectBrk",void 0),(0,a.gn)([C.Command.Boolean("-T,--top-level",{hidden:!0})],Ye.prototype,"topLevel",void 0),(0,a.gn)([C.Command.Boolean("-B,--binaries-only",{hidden:!0})],Ye.prototype,"binariesOnly",void 0),(0,a.gn)([C.Command.Boolean("--silent",{hidden:!0})],Ye.prototype,"silent",void 0),(0,a.gn)([C.Command.String()],Ye.prototype,"scriptName",void 0),(0,a.gn)([C.Command.Proxy()],Ye.prototype,"args",void 0),(0,a.gn)([C.Command.Path("run")],Ye.prototype,"execute",null);class Ge extends c.BaseCommand{constructor(){super(...arguments),this.save=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=d.parseDescriptor(this.descriptor,!0),o=d.makeDescriptor(n,this.resolution);t.storedDescriptors.set(n.descriptorHash,n),t.storedDescriptors.set(o.descriptorHash,o),t.resolutionAliases.set(n.descriptorHash,o.descriptorHash);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ge.usage=C.Command.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]}),(0,a.gn)([C.Command.String()],Ge.prototype,"descriptor",void 0),(0,a.gn)([C.Command.String()],Ge.prototype,"resolution",void 0),(0,a.gn)([C.Command.Boolean("-s,--save",{description:"Persist the resolution inside the top-level manifest"})],Ge.prototype,"save",void 0),(0,a.gn)([C.Command.Path("set","resolution")],Ge.prototype,"execute",null);class He extends c.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.interactive=null,this.exact=!1,this.tilde=!1,this.caret=!1}async execute(){var e;const t=await s.VK.find(this.context.cwd,this.context.plugins),{project:r,workspace:A}=await h.I.find(t,this.context.cwd),o=await g.C.find(t);if(!A)throw new c.WorkspaceRequiredError(r.cwd,this.context.cwd);const a=null!==(e=this.interactive)&&void 0!==e?e:t.get("preferInteractive"),I=D(this,r),E=a?[i.KEEP,i.REUSE,i.PROJECT,i.LATEST]:[i.PROJECT,i.LATEST],y=[],m=[];for(const e of this.patterns){let t=!1;const A=d.parseDescriptor(e);for(const e of r.workspaces)for(const i of[n.REGULAR,n.DEVELOPMENT]){const n=[...e.manifest.getForScope(i).values()].map(e=>d.stringifyIdent(e));for(const s of Z()(n,d.stringifyIdent(A))){const n=d.parseIdent(s),a=e.manifest[i].get(n.identHash);if(void 0===a)throw new Error("Assertion failed: Expected the descriptor to be registered");const c=d.makeDescriptor(n,A.range);y.push(Promise.resolve().then(async()=>[e,i,a,await F(c,{project:r,workspace:e,cache:o,target:i,modifier:I,strategies:E})])),t=!0}}t||m.push(e)}if(m.length>1)throw new C.UsageError(`Patterns ${B.prettyList(t,m,s.a5.CODE)} don't match any packages referenced by any workspace`);if(m.length>0)throw new C.UsageError(`Pattern ${B.prettyList(t,m,s.a5.CODE)} doesn't match any packages referenced by any workspace`);const w=await Promise.all(y),Q=await l.h.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async e=>{for(const[,,A,{suggestions:n,rejections:o}]of w){const i=n.filter(e=>null!==e.descriptor);if(0===i.length){const[n]=o;if(void 0===n)throw new Error("Assertion failed: Expected an error to have been set");const i=this.cli.error(n);r.configuration.get("enableNetwork")?e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range\n\n${i}`):e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range (note: network resolution has been disabled)\n\n${i}`)}else i.length>1&&!a&&e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,d.prettyDescriptor(t,A)+" has multiple possible upgrade strategies; use -i to disambiguate manually")}});if(Q.hasErrors())return Q.exitCode();let b=!1;const v=[];for(const[e,A,,{suggestions:n}]of w){let o;const i=n.filter(e=>null!==e.descriptor),s=i[0].descriptor,a=i.every(e=>d.areDescriptorsEqual(e.descriptor,s));1===i.length||a?o=s:(b=!0,({answer:o}=await(0,f.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${d.prettyWorkspace(t,e)} ❯ ${A}?`,choices:n.map(({descriptor:e,name:t,reason:r})=>e?{name:t,hint:r,descriptor:e}:{name:t,hint:r,disabled:!0}),onCancel:()=>process.exit(130),result(e){return this.find(e,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout})));const c=e.manifest[A].get(o.identHash);if(void 0===c)throw new Error("Assertion failed: This descriptor should have a matching entry");if(c.descriptorHash!==o.descriptorHash)e.manifest[A].set(o.identHash,o),v.push([e,A,c,o]);else{const A=t.makeResolver(),n={project:r,resolver:A},o=A.bindDescriptor(c,e.anchoredLocator,n);r.forgetResolution(o)}}await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,v),b&&this.context.stdout.write("\n");return(await p.Pk.start({configuration:t,stdout:this.context.stdout},async e=>{await r.install({cache:o,report:e})})).exitCode()}}He.usage=C.Command.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),(0,a.gn)([C.Command.Rest()],He.prototype,"patterns",void 0),(0,a.gn)([C.Command.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"})],He.prototype,"interactive",void 0),(0,a.gn)([C.Command.Boolean("-E,--exact",{description:"Don't use any semver modifier on the resolved range"})],He.prototype,"exact",void 0),(0,a.gn)([C.Command.Boolean("-T,--tilde",{description:"Use the `~` semver modifier on the resolved range"})],He.prototype,"tilde",void 0),(0,a.gn)([C.Command.Boolean("-C,--caret",{description:"Use the `^` semver modifier on the resolved range"})],He.prototype,"caret",void 0),(0,a.gn)([C.Command.Path("up")],He.prototype,"execute",null);class Je extends c.BaseCommand{constructor(){super(...arguments),this.recursive=!1,this.json=!1,this.peers=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const A=d.parseIdent(this.package).identHash,n=this.recursive?function(e,t,{configuration:r,peers:A}){const n=P.sortMap(e.workspaces,e=>d.stringifyLocator(e.anchoredLocator)),o=new Set,i=new Set,s=r=>{if(o.has(r.locatorHash))return i.has(r.locatorHash);if(o.add(r.locatorHash),r.identHash===t)return i.add(r.locatorHash),!0;let n=!1;r.identHash===t&&(n=!0);for(const t of r.dependencies.values()){if(!A&&r.peerDependencies.has(t.identHash))continue;const o=e.storedResolutions.get(t.descriptorHash);if(!o)throw new Error("Assertion failed: The resolution should have been registered");const i=e.storedPackages.get(o);if(!i)throw new Error("Assertion failed: The package should have been registered");s(i)&&(n=!0)}return n&&i.add(r.locatorHash),n};for(const t of n){const r=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!r)throw new Error("Assertion failed: The package should have been registered");s(r)}const a=new Set,c={},g={children:c},l=(t,r,n)=>{if(!i.has(t.locatorHash))return;const o={},s={value:null!==n?B.tuple(B.Type.DEPENDENT,{locator:t,descriptor:n}):B.tuple(B.Type.LOCATOR,t),children:o};if(r[d.stringifyLocator(t)]=s,!a.has(t.locatorHash)&&(a.add(t.locatorHash),null===n||!e.tryWorkspaceByLocator(t)))for(const r of t.dependencies.values()){if(!A&&t.peerDependencies.has(r.identHash))continue;const n=e.storedResolutions.get(r.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");const i=e.storedPackages.get(n);if(!i)throw new Error("Assertion failed: The package should have been registered");l(i,o,r)}};for(const t of n){const r=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!r)throw new Error("Assertion failed: The package should have been registered");l(r,c,null)}return g}(t,A,{configuration:e,peers:this.peers}):function(e,t,{configuration:r,peers:A}){const n=P.sortMap(e.storedPackages.values(),e=>d.stringifyLocator(e)),o={},i={children:o};for(const r of n){const n={},i=null;for(const s of r.dependencies.values()){if(!A&&r.peerDependencies.has(s.identHash))continue;const a=e.storedResolutions.get(s.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");const c=e.storedPackages.get(a);if(!c)throw new Error("Assertion failed: The package should have been registered");if(c.identHash!==t)continue;if(null===i){const e=d.stringifyLocator(r);o[e]={value:[r,B.Type.LOCATOR],children:n}}const g=d.stringifyLocator(c);n[g]={value:[{descriptor:s,locator:c},B.Type.DEPENDENT]}}}return i}(t,A,{configuration:e,peers:this.peers});le.emitTree(n,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}}Je.usage=C.Command.Usage({description:"display the reason why a package is needed",details:'\n This command prints the exact reasons why a package appears in the dependency tree.\n\n If `-R,--recursive` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.\n ',examples:[["Explain why lodash is used in your project","$0 why lodash"]]}),(0,a.gn)([C.Command.String()],Je.prototype,"package",void 0),(0,a.gn)([C.Command.Boolean("-R,--recursive",{description:"List, for each workspace, what are all the paths that lead to the dependency"})],Je.prototype,"recursive",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Je.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--peers",{description:"Also print the peer dependencies that match the specified name"})],Je.prototype,"peers",void 0),(0,a.gn)([C.Command.Path("why")],Je.prototype,"execute",null);class qe extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async e=>{for(const r of t.workspaces){const{manifest:A}=r;let n;if(this.verbose){const e=new Set,r=new Set;for(const n of E.G.hardDependencies)for(const[o,i]of A.getForScope(n)){const A=t.tryWorkspaceByDescriptor(i);null===A?t.workspacesByIdent.has(o)&&r.add(i):e.add(A)}n={workspaceDependencies:Array.from(e).map(e=>e.relativeCwd),mismatchedWorkspaceDependencies:Array.from(r).map(e=>d.stringifyDescriptor(e))}}e.reportInfo(null,""+r.relativeCwd),e.reportJson({location:r.relativeCwd,name:A.name?d.stringifyIdent(A.name):null,...n})}})).exitCode()}}qe.usage=C.Command.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "}),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Also return the cross-dependencies between workspaces"})],qe.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],qe.prototype,"json",void 0),(0,a.gn)([C.Command.Path("workspaces","list")],qe.prototype,"execute",null);class ze extends C.Command{constructor(){super(...arguments),this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=t.workspaces,n=new Map(A.map(e=>{const t=d.convertToIdent(e.locator);return[d.stringifyIdent(t),e]})),o=n.get(this.workspaceName);if(void 0===o){const e=Array.from(n.keys()).sort();throw new C.UsageError(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n - ${e.join("\n - ")}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}}ze.usage=C.Command.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:"\n This command will run a given sub-command on a single workspace.\n ",examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]}),(0,a.gn)([C.Command.String()],ze.prototype,"workspaceName",void 0),(0,a.gn)([C.Command.String()],ze.prototype,"commandName",void 0),(0,a.gn)([C.Command.Proxy()],ze.prototype,"args",void 0),(0,a.gn)([C.Command.Path("workspace")],ze.prototype,"execute",null);const We={configuration:{enableImmutableInstalls:{description:"If true, prevents the install command from modifying the lockfile",type:s.a2.BOOLEAN,default:!1},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:s.a2.STRING,values:["^","~",""],default:o.CARET}},commands:[L,j,q,Ge,ve,we,qe,re,Ae,ne,ie,M,x,z,te,ae,ge,ue,de,Ce,fe,Le,Re,Pe,Me,Oe,Ue,Te,je,Ye,He,Je,ze]}},68023:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>E,fileUtils:()=>A});var A={};r.r(A),r.d(A,{makeArchiveFromLocator:()=>p,makeBufferFromLocator:()=>d,makeLocator:()=>h,makeSpec:()=>u,parseSpec:()=>l});var n=r(54143),o=r(46009);const i=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,s=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/;var a=r(73632),c=r(72785),g=r(75448);function l(e){const{params:t,selector:r}=n.parseRange(e),A=o.cS.toPortablePath(r);return{parentLocator:t&&"string"==typeof t.locator?n.parseLocator(t.locator):null,path:A}}function u({parentLocator:e,path:t,folderHash:r,protocol:A}){const o=null!==e?{locator:n.stringifyLocator(e)}:{},i=void 0!==r?{hash:r}:{};return n.makeRange({protocol:A,source:t,selector:t,params:{...i,...o}})}function h(e,{parentLocator:t,path:r,folderHash:A,protocol:o}){return n.makeLocator(e,u({parentLocator:t,path:r,folderHash:A,protocol:o}))}async function p(e,{protocol:t,fetchOptions:r,inMemory:A=!1}){const{parentLocator:i,path:s}=n.parseFileStyleRange(e.reference,{protocol:t}),l=o.y1.isAbsolute(s)?{packageFs:new g.M(o.LZ.root),prefixPath:o.LZ.dot,localPath:o.LZ.root}:await r.fetcher.fetch(i,r),u=l.localPath?{packageFs:new g.M(o.LZ.root),prefixPath:o.y1.relative(o.LZ.root,l.localPath)}:l;l!==u&&l.releaseFs&&l.releaseFs();const h=u.packageFs,p=o.y1.join(u.prefixPath,s);return await a.releaseAfterUseAsync(async()=>await c.makeArchiveFromDirectory(p,{baseFs:h,prefixPath:n.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:A}),u.releaseFs)}async function d(e,{protocol:t,fetchOptions:r}){return(await p(e,{protocol:t,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var C=r(20624),f=r(32485),I=r(46611);const E={fetchers:[class{supports(e,t){return!!s.test(e.reference)&&!!e.reference.startsWith("file:")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,n.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:o,prefixPath:n.getIdentVendorPath(e),checksum:i}}async fetchFromDisk(e,t){const{parentLocator:r,path:A}=n.parseFileStyleRange(e.reference,{protocol:"file:"}),i=o.y1.isAbsolute(A)?{packageFs:new g.M(o.LZ.root),prefixPath:o.LZ.dot,localPath:o.LZ.root}:await t.fetcher.fetch(r,t),s=i.localPath?{packageFs:new g.M(o.LZ.root),prefixPath:o.y1.relative(o.LZ.root,i.localPath)}:i;i!==s&&i.releaseFs&&i.releaseFs();const l=s.packageFs,u=o.y1.join(s.prefixPath,A),h=await l.readFilePromise(u);return await a.releaseAfterUseAsync(async()=>await c.convertToZip(h,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:n.getIdentVendorPath(e),stripComponents:1}),s.releaseFs)}},class{supports(e,t){return!!e.reference.startsWith("file:")}getLocalPath(e,t){const{parentLocator:r,path:A}=n.parseFileStyleRange(e.reference,{protocol:"file:"});if(o.y1.isAbsolute(A))return A;const i=t.fetcher.getLocalPath(r,t);return null===i?null:o.y1.resolve(i,A)}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,n.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:o,prefixPath:n.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:i}}async fetchFromDisk(e,t){return p(e,{protocol:"file:",fetchOptions:t})}}],resolvers:[class{supportsDescriptor(e,t){return!!s.test(e.range)&&(!!e.range.startsWith("file:")||!!i.test(e.range))}supportsLocator(e,t){return!!s.test(e.reference)&&!!e.reference.startsWith("file:")}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return i.test(e.range)&&(e=n.makeDescriptor(e,"file:"+e.range)),n.bindDescriptor(e,{locator:n.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){let A=e.range;return A.startsWith("file:")&&(A=A.slice("file:".length)),[n.makeLocator(e,"file:"+o.cS.toPortablePath(A))]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await a.releaseAfterUseAsync(async()=>await I.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:f.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}},class{supportsDescriptor(e,t){return!!e.range.match(i)||!!e.range.startsWith("file:")}supportsLocator(e,t){return!!e.reference.startsWith("file:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return i.test(e.range)&&(e=n.makeDescriptor(e,"file:"+e.range)),n.bindDescriptor(e,{locator:n.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const{path:A,parentLocator:o}=l(e.range);if(null===o)throw new Error("Assertion failed: The descriptor should have been bound");const i=await d(n.makeLocator(e,n.makeRange({protocol:"file:",source:A,selector:A,params:{locator:n.stringifyLocator(o)}})),{protocol:"file:",fetchOptions:r.fetchOptions});return[h(e,{parentLocator:o,path:A,folderHash:C.makeHash("1",i).slice(0,6),protocol:"file:"})]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await a.releaseAfterUseAsync(async()=>await I.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:f.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},75641:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>F,gitUtils:()=>A});var A={};r.r(A),r.d(A,{TreeishProtocols:()=>y,clone:()=>S,isGitUrl:()=>m,lsRemote:()=>b,normalizeLocator:()=>D,normalizeRepoUrl:()=>Q,resolveUrl:()=>v,splitRepoUrl:()=>w});var n=r(39922),o=r(54143),i=r(63088),s=r(73632),a=r(72785),c=r(43896),g=r(46009),l=r(79669),u=r(6220),h=r(71191),p=r.n(h),d=r(53887),C=r.n(d),f=r(78835),I=r.n(f);function E(){return{...process.env,GIT_SSH_COMMAND:"ssh -o BatchMode=yes"}}const B=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/];var y;function m(e){return!!e&&B.some(t=>!!e.match(t))}function w(e){const t=(e=Q(e)).indexOf("#");if(-1===t)return{repo:e,treeish:{protocol:y.Head,request:"master"},extra:{}};const r=e.slice(0,t),A=e.slice(t+1);if(A.match(/^[a-z]+=/)){const e=p().parse(A);for(const[t,r]of Object.entries(e))if("string"!=typeof r)throw new Error(`Assertion failed: The ${t} parameter must be a literal string`);const t=Object.values(y).find(t=>Object.prototype.hasOwnProperty.call(e,t));let n,o;void 0!==t?(n=t,o=e[t]):(n=y.Head,o="master");for(const t of Object.values(y))delete e[t];return{repo:r,treeish:{protocol:n,request:o},extra:e}}{const e=A.indexOf(":");let t,n;return-1===e?(t=null,n=A):(t=A.slice(0,e),n=A.slice(e+1)),{repo:r,treeish:{protocol:t,request:n},extra:{}}}}function Q(e,{git:t=!1}={}){var r;if(e=(e=(e=e.replace(/^git\+https:/,"https:")).replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3")).replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),t){let t;e=e.replace(/^git\+([^:]+):/,"$1:");try{t=I().parse(e)}catch(e){t=null}t&&"ssh:"===t.protocol&&(null===(r=t.path)||void 0===r?void 0:r.startsWith("/:"))&&(e=e.replace(/^ssh:\/\//,""))}return e}function D(e){return o.makeLocator(e,Q(e.reference))}async function b(e,t){const r=Q(e,{git:!0});if(!l.getNetworkSettings(r,{configuration:t}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let A;try{A=await u.execvp("git",["ls-remote","--refs",r],{cwd:t.startingCwd,env:E(),strict:!0})}catch(t){throw t.message=`Listing the refs for ${e} failed`,t}const n=new Map,o=/^([a-f0-9]{40})\t(refs\/[^\n]+)/gm;let i;for(;null!==(i=o.exec(A.stdout));)n.set(i[2],i[1]);return n}async function v(e,t){const{repo:r,treeish:{protocol:A,request:n},extra:o}=w(e),i=await b(r,t),s=(e,t)=>{switch(e){case y.Commit:if(!t.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return p().stringify({...o,commit:t});case y.Head:{const e=i.get("refs/heads/"+t);if(void 0===e)throw new Error(`Unknown head ("${t}")`);return p().stringify({...o,commit:e})}case y.Tag:{const e=i.get("refs/tags/"+t);if(void 0===e)throw new Error(`Unknown tag ("${t}")`);return p().stringify({...o,commit:e})}case y.Semver:{if(!C().validRange(t))throw new Error(`Invalid range ("${t}")`);const e=new Map([...i.entries()].filter(([e])=>e.startsWith("refs/tags/")).map(([e,t])=>[C().parse(e.slice(10)),t]).filter(e=>null!==e[0])),r=C().maxSatisfying([...e.keys()],t);if(null===r)throw new Error(`No matching range ("${t}")`);return p().stringify({...o,commit:e.get(r)})}case null:{let e;if(null!==(e=a(y.Commit,t)))return e;if(null!==(e=a(y.Tag,t)))return e;if(null!==(e=a(y.Head,t)))return e;throw t.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${e}")`)}},a=(e,t)=>{try{return s(e,t)}catch(e){return null}};return`${r}#${s(A,n)}`}async function S(e,t){return await t.getLimit("cloneConcurrency")(async()=>{const{repo:r,treeish:{protocol:A,request:n}}=w(e);if("commit"!==A)throw new Error("Invalid treeish protocol when cloning");const o=Q(r,{git:!0});if(!1===l.getNetworkSettings(o,{configuration:t}).enableNetwork)throw new Error(`Request to '${o}' has been blocked because of your configuration settings`);const i=await c.xfs.mktempPromise(),s={cwd:i,env:E(),strict:!0};try{await u.execvp("git",["clone","-c core.autocrlf=false",o,g.cS.fromPortablePath(i)],s),await u.execvp("git",["checkout",""+n],s)}catch(e){throw e.message="Repository clone failed: "+e.message,e}return i})}!function(e){e.Commit="commit",e.Head="head",e.Tag="tag",e.Semver="semver"}(y||(y={}));var k=r(32485),K=r(46611);const F={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:n.a2.NUMBER,default:2}},fetchers:[class{supports(e,t){return m(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,A=D(e),n=new Map(t.checksums);n.set(A.locatorHash,r);const i={...t,checksums:n},s=await this.downloadHosted(A,i);if(null!==s)return s;const[a,c,g]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,o.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote repository"),loader:()=>this.cloneFromRemote(A,i),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:a,releaseFs:c,prefixPath:o.getIdentVendorPath(e),checksum:g}}async downloadHosted(e,t){return t.project.configuration.reduceHook(e=>e.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){const r=await S(e.reference,t.project.configuration),A=w(e.reference),n=g.y1.join(r,"package.tgz");await i.prepareExternalProject(r,n,{configuration:t.project.configuration,report:t.report,workspace:A.extra.workspace});const l=await c.xfs.readFilePromise(n);return await s.releaseAfterUseAsync(async()=>await a.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:o.getIdentVendorPath(e),stripComponents:1}))}}],resolvers:[class{supportsDescriptor(e,t){return m(e.range)}supportsLocator(e,t){return m(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=await v(e.range,r.project.configuration);return[o.makeLocator(e,A)]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await s.releaseAfterUseAsync(async()=>await K.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:k.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},68126:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var A=r(54143),n=r(79669),o=r(72785),i=r(63088),s=r(43896),a=r(75448),c=r(46009),g=r(75641),l=r(71191),u=r.n(l);const h=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];class p{supports(e,t){return!(!(r=e.reference)||!h.some(e=>!!r.match(e)));var r}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[n,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,A.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from GitHub"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:n,releaseFs:o,prefixPath:A.getIdentVendorPath(e),checksum:i}}async fetchFromNetwork(e,t){const r=await n.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await s.xfs.mktempPromise(async n=>{const l=new a.M(n);await o.extractArchiveTo(r,l,{stripComponents:1});const u=g.gitUtils.splitRepoUrl(e.reference),h=c.y1.join(n,"package.tgz");await i.prepareExternalProject(n,h,{configuration:t.project.configuration,report:t.report,workspace:u.extra.workspace});const p=await s.xfs.readFilePromise(h);return await o.convertToZip(p,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){const{auth:r,username:A,reponame:n,treeish:o}=function(e){let t;for(const r of h)if(t=e.match(r),t)break;if(!t)throw new Error(`Input cannot be parsed as a valid GitHub URL ('${e}').`);let[,r,A,n,o="master"]=t;const{commit:i}=u().parse(o);return o=i||o.replace(/[^:]*:/,""),{auth:r,username:A,reponame:n,treeish:o}}(e.reference);return`https://${r?r+"@":""}github.com/${A}/${n}/archive/${o}.tar.gz`}}const d={hooks:{async fetchHostedRepository(e,t,r){if(null!==e)return e;const A=new p;if(!A.supports(t,r))return null;try{return await A.fetch(t,r)}catch(e){return null}}}}},99148:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>l});var A=r(54143),n=r(79669),o=r(72785);const i=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,s=/^https?:/;var a=r(46611),c=r(32485),g=r(73632);const l={fetchers:[class{supports(e,t){return!!i.test(e.reference)&&!!s.test(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[n,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,A.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote server"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:n,releaseFs:o,prefixPath:A.getIdentVendorPath(e),checksum:i}}async fetchFromNetwork(e,t){const r=await n.get(e.reference,{configuration:t.project.configuration});return await o.convertToZip(r,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.getIdentVendorPath(e),stripComponents:1})}}],resolvers:[class{supportsDescriptor(e,t){return!!i.test(e.range)&&!!s.test(e.range)}supportsLocator(e,t){return!!i.test(e.reference)&&!!s.test(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){return[A.convertDescriptorToLocator(e)]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await g.releaseAfterUseAsync(async()=>await a.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:c.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},64314:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>I});var A=r(39922),n=r(36370),o=r(25413),i=r(46611),s=r(85824),a=r(6220),c=r(63088),g=r(54143),l=r(43896),u=r(46009),h=r(40822),p=r(80305),d=r.n(p),C=r(31669);class f extends o.BaseCommand{constructor(){super(...arguments),this.usev2=!1,this.assumeFreshProject=!1,this.yes=!1,this.private=!1,this.workspace=!1,this.install=!1}async execute(){if(l.xfs.existsSync(u.y1.join(this.context.cwd,i.G.fileName)))throw new h.UsageError("A package.json already exists in the specified directory");const e=await A.VK.find(this.context.cwd,this.context.plugins),t=this.install?!0===this.install?"latest":this.install:null;return null!==t?await this.executeProxy(e,t):await this.executeRegular(e)}async executeProxy(e,t){if(null!==e.get("yarnPath"))throw new h.UsageError(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(null!==e.projectCwd)throw new h.UsageError("Cannot use the --install flag when the current directory is already part of a project");l.xfs.existsSync(this.context.cwd)||await l.xfs.mkdirPromise(this.context.cwd,{recursive:!0});const r=u.y1.join(this.context.cwd,e.get("lockfileFilename"));l.xfs.existsSync(r)||await l.xfs.writeFilePromise(r,"");const A=await this.cli.run(["set","version",t]);if(0!==A)return A;this.context.stdout.write("\n");const n=["--assume-fresh-project"];return this.private&&n.push("-p"),this.workspace&&n.push("-w"),this.yes&&n.push("-y"),await l.xfs.mktempPromise(async e=>{const{code:t}=await a.pipevp("yarn",["init",...n],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await c.makeScriptEnv({binFolder:e})});return t})}async executeRegular(e){let t=null;if(!this.assumeFreshProject)try{t=await s.I.find(e,this.context.cwd)}catch(e){t=null}l.xfs.existsSync(this.context.cwd)||await l.xfs.mkdirPromise(this.context.cwd,{recursive:!0});const r=new i.G,A=Object.fromEntries(e.get("initFields").entries());r.load(A),r.name=g.makeIdent(e.get("initScope"),u.y1.basename(this.context.cwd)),r.version=e.get("initVersion"),r.private=this.private||this.workspace,r.license=e.get("initLicense"),this.workspace&&(await l.xfs.mkdirPromise(u.y1.join(this.context.cwd,"packages"),{recursive:!0}),r.workspaceDefinitions=[{pattern:"packages/*"}]);const n={};r.exportTo(n),C.inspect.styles.name="cyan",this.context.stdout.write((0,C.inspect)(n,{depth:1/0,colors:!0,compact:!1})+"\n");const o=u.y1.join(this.context.cwd,i.G.fileName);await l.xfs.changeFilePromise(o,JSON.stringify(n,null,2)+"\n");const c=u.y1.join(this.context.cwd,"README.md");if(l.xfs.existsSync(c)||await l.xfs.writeFilePromise(c,`# ${g.stringifyIdent(r.name)}\n`),!t){const t=u.y1.join(this.context.cwd,u.QS.lockfile);await l.xfs.writeFilePromise(t,"");const r=["/.yarn/** linguist-vendored"].map(e=>e+"\n").join(""),A=u.y1.join(this.context.cwd,".gitattributes");l.xfs.existsSync(A)||await l.xfs.writeFilePromise(A,r);const n=["/.yarn/*","!/.yarn/releases","!/.yarn/plugins","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(e=>e+"\n").join(""),o=u.y1.join(this.context.cwd,".gitignore");l.xfs.existsSync(o)||await l.xfs.writeFilePromise(o,n);const i={"*":{endOfLine:"lf",insertFinalNewline:!0},"*.{js,json,.yml}":{charset:"utf-8",indentStyle:"space",indentSize:2}};d()(i,e.get("initEditorConfig"));let s="root = true\n";for(const[e,t]of Object.entries(i)){s+=`\n[${e}]\n`;for(const[e,r]of Object.entries(t)){s+=`${e.replace(/[A-Z]/g,e=>"_"+e.toLowerCase())} = ${r}\n`}}const c=u.y1.join(this.context.cwd,".editorconfig");l.xfs.existsSync(c)||await l.xfs.writeFilePromise(c,s),await a.execvp("git",["init"],{cwd:this.context.cwd})}}}f.usage=h.Command.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]}),(0,n.gn)([h.Command.Boolean("-2",{hidden:!0})],f.prototype,"usev2",void 0),(0,n.gn)([h.Command.Boolean("--assume-fresh-project",{hidden:!0})],f.prototype,"assumeFreshProject",void 0),(0,n.gn)([h.Command.Boolean("-y,--yes",{hidden:!0})],f.prototype,"yes",void 0),(0,n.gn)([h.Command.Boolean("-p,--private",{description:"Initialize a private package"})],f.prototype,"private",void 0),(0,n.gn)([h.Command.Boolean("-w,--workspace",{description:"Initialize a private workspace root with a `packages/` directory"})],f.prototype,"workspace",void 0),(0,n.gn)([h.Command.String("-i,--install",{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"})],f.prototype,"install",void 0),(0,n.gn)([h.Command.Path("init")],f.prototype,"execute",null);const I={configuration:{initLicense:{description:"License used when creating packages via the init command",type:A.a2.STRING,default:null},initScope:{description:"Scope used when creating packages via the init command",type:A.a2.STRING,default:null},initVersion:{description:"Version used when creating packages via the init command",type:A.a2.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:A.a2.MAP,valueDefinition:{description:"",type:A.a2.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:A.a2.MAP,valueDefinition:{description:"",type:A.a2.ANY}}},commands:[f]}},92994:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var A=r(54143),n=r(46009),o=r(75448),i=r(10489);var s=r(46611),a=r(32485),c=r(73632);const g={fetchers:[class{supports(e,t){return!!e.reference.startsWith("link:")}getLocalPath(e,t){const{parentLocator:r,path:o}=A.parseFileStyleRange(e.reference,{protocol:"link:"});if(n.y1.isAbsolute(o))return o;const i=t.fetcher.getLocalPath(r,t);return null===i?null:n.y1.resolve(i,o)}async fetch(e,t){const{parentLocator:r,path:s}=A.parseFileStyleRange(e.reference,{protocol:"link:"}),a=n.y1.isAbsolute(s)?{packageFs:new o.M(n.LZ.root),prefixPath:n.LZ.dot,localPath:n.LZ.root}:await t.fetcher.fetch(r,t),c=a.localPath?{packageFs:new o.M(n.LZ.root),prefixPath:n.y1.relative(n.LZ.root,a.localPath)}:a;a!==c&&a.releaseFs&&a.releaseFs();const g=c.packageFs,l=n.y1.join(c.prefixPath,s);return a.localPath?{packageFs:new o.M(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,discardFromLookup:!0,localPath:l}:{packageFs:new i.n(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,discardFromLookup:!0}}},class{supports(e,t){return!!e.reference.startsWith("portal:")}getLocalPath(e,t){const{parentLocator:r,path:o}=A.parseFileStyleRange(e.reference,{protocol:"portal:"});if(n.y1.isAbsolute(o))return o;const i=t.fetcher.getLocalPath(r,t);return null===i?null:n.y1.resolve(i,o)}async fetch(e,t){const{parentLocator:r,path:s}=A.parseFileStyleRange(e.reference,{protocol:"portal:"}),a=n.y1.isAbsolute(s)?{packageFs:new o.M(n.LZ.root),prefixPath:n.LZ.dot,localPath:n.LZ.root}:await t.fetcher.fetch(r,t),c=a.localPath?{packageFs:new o.M(n.LZ.root),prefixPath:n.y1.relative(n.LZ.root,a.localPath)}:a;a!==c&&a.releaseFs&&a.releaseFs();const g=c.packageFs,l=n.y1.join(c.prefixPath,s);return a.localPath?{packageFs:new o.M(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,localPath:l}:{packageFs:new i.n(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot}}}],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("link:")}supportsLocator(e,t){return!!e.reference.startsWith("link:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return A.bindDescriptor(e,{locator:A.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const o=e.range.slice("link:".length);return[A.makeLocator(e,"link:"+n.cS.toPortablePath(o))]}async getSatisfying(e,t,r){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:a.Un.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}},class{supportsDescriptor(e,t){return!!e.range.startsWith("portal:")}supportsLocator(e,t){return!!e.reference.startsWith("portal:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return A.bindDescriptor(e,{locator:A.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const o=e.range.slice("portal:".length);return[A.makeLocator(e,"portal:"+n.cS.toPortablePath(o))]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await c.releaseAfterUseAsync(async()=>await s.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:a.Un.SOFT,dependencies:new Map([...A.dependencies,...A.devDependencies]),peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},8375:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ne,getPnpPath:()=>Ae});var A,n=r(39922),o=r(46009),i=r(54143);!function(e){e[e.YES=0]="YES",e[e.NO=1]="NO",e[e.DEPENDS=2]="DEPENDS"}(A||(A={}));const s=(e,t)=>`${e}@${t}`,a=(e,t)=>{const r=t.indexOf("#"),A=r>=0?t.substring(r+1):t;return s(e,A)};var c;!function(e){e[e.NONE=-1]="NONE",e[e.PERF=0]="PERF",e[e.CHECK=1]="CHECK",e[e.REASONS=2]="REASONS",e[e.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"}(c||(c={}));const g=(e,t)=>{if(t.decoupled)return t;const{name:r,references:A,ident:n,locator:o,dependencies:i,originalDependencies:s,hoistedDependencies:a,peerNames:c,reasons:g,isHoistBorder:l}=t,u={name:r,references:new Set(A),ident:n,locator:o,dependencies:new Map(i),originalDependencies:new Map(s),hoistedDependencies:new Map(a),peerNames:new Set(c),reasons:new Map(g),decoupled:!0,isHoistBorder:l},h=u.dependencies.get(r);return h&&h.ident==u.ident&&u.dependencies.set(r,u),e.dependencies.set(u.name,u),u},l=e=>{const t=new Set,r=(A,n=new Set)=>{if(!n.has(A)){n.add(A);for(const o of A.peerNames)if(!e.peerNames.has(o)){const A=e.dependencies.get(o);A&&!t.has(A)&&r(A,n)}t.add(A)}};for(const t of e.dependencies.values())e.peerNames.has(t.name)||r(t);return t},u=(e,t,r,A,n=new Set)=>{const o=t[t.length-1];if(n.has(o))return;n.add(o);const i=((e,t)=>{const r=new Map([[e.name,[e.ident]]]);for(const t of e.dependencies.values())e.peerNames.has(t.name)||r.set(t.name,[t.ident]);const A=Array.from(t.keys());A.sort((e,r)=>{const A=t.get(e),n=t.get(r);return n.peerDependents.size!==A.peerDependents.size?n.peerDependents.size-A.peerDependents.size:n.dependents.size-A.dependents.size});for(const t of A){const A=t.substring(0,t.indexOf("@",1)),n=t.substring(A.length+1);if(!e.peerNames.has(A)){let e=r.get(A);e||(e=[],r.set(A,e)),e.indexOf(n)<0&&e.push(n)}}return r})(o,E(o)),s=new Map(Array.from(i.entries()).map(([e,t])=>[e,t[0]])),a=o===e?new Map:(e=>{const t=new Map,r=new Set,A=n=>{if(!r.has(n)){r.add(n);for(const r of n.hoistedDependencies.values())e.dependencies.has(r.name)||t.set(r.name,r);for(const e of n.dependencies.values())n.peerNames.has(e.name)||A(e)}};return A(e),t})(o);let c;do{p(e,t,r,a,s,i,A),c=!1;for(const[e,t]of i)t.length>1&&!o.dependencies.has(e)&&(s.delete(e),t.shift(),s.set(e,t[0]),c=!0)}while(c);for(const n of o.dependencies.values())o.peerNames.has(n.name)||r.has(n.locator)||(r.add(n.locator),u(e,[...t,n],r,A),r.delete(n.locator))},h=(e,t,r,n,o,i,{outputReason:s})=>{let a,c=null,g=new Set;s&&(a=""+Array.from(e).map(e=>B(e)).join("→"));const l=t[t.length-1],u=r.ident===l.ident,h=o.get(r.name);let p=h===r.ident&&!u;if(s&&!p&&h&&!u&&(c=`- filled by: ${B(i.get(r.name)[0])} at ${a}`),p){let e=!1;const A=n.get(r.name);if(e=!A||A.ident===r.ident,s&&!e&&(c=`- filled by: ${B(A.locator)} at ${a}`),e)for(let A=1;A=1;r--){const n=t[r];for(const o of A){if(n.peerNames.has(o)&&n.originalDependencies.has(o))continue;const i=n.dependencies.get(o);i&&(r===t.length-1?g.add(i):(g=null,e=!1,s&&(c=`- peer dependency ${B(i.locator)} from parent ${B(n.locator)} was not hoisted to ${a}`))),A.delete(o)}if(!e)break}p=e}return null!==g&&g.size>0?{isHoistable:A.DEPENDS,dependsOn:g,reason:c}:{isHoistable:p?A.YES:A.NO,reason:c}},p=(e,t,r,n,o,i,s)=>{const a=t[t.length-1],u=new Set,p=(t,C,I,E)=>{if(u.has(I))return;const m=[...C,I.locator],w=new Map,Q=new Map;for(const e of l(I)){let g=null;if(g||(g=h(r,[a,...t,I],e,n,o,i,{outputReason:s.debugLevel>=c.REASONS})),Q.set(e,g),g.isHoistable===A.DEPENDS)for(const t of g.dependsOn){const r=w.get(t.name)||new Set;r.add(e.name),w.set(t.name,r)}}const D=new Set,b=(e,t,r)=>{if(!D.has(e)){D.add(e),e.ident!==I.ident&&Q.set(e,{isHoistable:A.NO,reason:r});for(const A of w.get(e.name)||[])b(I.dependencies.get(A),t,r)}};let v;s.debugLevel>=c.REASONS&&(v=""+Array.from(r).map(e=>B(e)).join("→"));for(const[e,t]of Q)t.isHoistable===A.NO&&b(e,t,`- peer dependency ${B(e.locator)} from parent ${B(I.locator)} was not hoisted to ${v}`);for(const e of Q.keys())if(!D.has(e)){I.dependencies.delete(e.name),I.hoistedDependencies.set(e.name,e),I.reasons.delete(e.name);const t=a.dependencies.get(e.name);if(t)for(const r of e.references)t.references.add(r);else a.ident!==e.ident&&(a.dependencies.set(e.name,e),E.add(e))}if(s.check){const r=d(e);if(r)throw new Error(`${r}, after hoisting dependencies of ${[a,...t,I].map(e=>B(e.locator)).join("→")}:\n${y(e)}`)}const S=l(I);for(const e of S)if(D.has(e)&&m.indexOf(e.locator)<0){const r=Q.get(e);if(r.isHoistable!==A.YES&&I.reasons.set(e.name,r.reason),!e.isHoistBorder){u.add(I);const r=g(I,e);p([...t,I],[...C,I.locator],r,f),u.delete(I)}}};let C,f=new Set(l(a));do{C=f,f=new Set;for(const e of C){if(e.locator===a.locator||e.isHoistBorder)continue;const t=g(a,e);p([],Array.from(r),t,f)}}while(f.size>0)},d=e=>{const t=[],r=new Set,A=new Set,n=(e,o)=>{if(r.has(e))return;if(r.add(e),A.has(e))return;const i=new Map(o);for(const t of e.dependencies.values())e.peerNames.has(t.name)||i.set(t.name,t);for(const r of e.originalDependencies.values()){const n=i.get(r.name),s=()=>""+Array.from(A).concat([e]).map(e=>B(e.locator)).join("→");if(e.peerNames.has(r.name)){const e=o.get(r.name);e===n&&e&&e.ident===r.ident||t.push(`${s()} - broken peer promise: expected ${r.ident} but found ${e?e.ident:e}`)}else n?n.ident!==r.ident&&t.push(`${s()} - broken require promise for ${r.name}: expected ${r.ident}, but found: ${n.ident}`):t.push(`${s()} - broken require promise: no required dependency ${r.locator} found`)}A.add(e);for(const t of e.dependencies.values())e.peerNames.has(t.name)||n(t,i);A.delete(e)};return n(e,e.dependencies),t.join("\n")},C=(e,t)=>{const{identName:r,name:A,reference:n,peerNames:o}=e,i={name:A,references:new Set([n]),locator:s(r,n),ident:a(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(o),reasons:new Map,decoupled:!0,isHoistBorder:!0},c=new Map([[e,i]]),g=(e,r)=>{let A=c.get(e);const n=!!A;if(!A){const{name:n,identName:o,reference:i,peerNames:g}=e,l=t.hoistingLimits.get(r.locator);A={name:n,references:new Set([i]),locator:s(o,i),ident:a(o,i),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(g),reasons:new Map,decoupled:!0,isHoistBorder:!!l&&l.has(n)},c.set(e,A)}if(r.dependencies.set(e.name,A),r.originalDependencies.set(e.name,A),n){const e=new Set,t=r=>{if(!e.has(r)){e.add(r),r.decoupled=!1;for(const e of r.dependencies.values())r.peerNames.has(e.name)||t(e)}};t(A)}else for(const t of e.dependencies)g(t,A)};for(const t of e.dependencies)g(t,i);return i},f=e=>e.substring(0,e.indexOf("@",1)),I=e=>{const t={name:e.name,identName:f(e.locator),references:new Set(e.references),dependencies:new Set},r=new Set([e]),A=(e,t,n)=>{const o=r.has(e);let i;if(t===e)i=n;else{const{name:t,references:r,locator:A}=e;i={name:t,identName:f(A),references:r,dependencies:new Set}}if(n.dependencies.add(i),!o){r.add(e);for(const t of e.dependencies.values())e.peerNames.has(t.name)||A(t,e,i);r.delete(e)}};for(const r of e.dependencies.values())A(r,e,t);return t},E=e=>{const t=new Map,r=new Set([e]),A=e=>{const r=(e=>`${e.name}@${e.ident}`)(e);let A=t.get(r);return A||(A={dependents:new Set,peerDependents:new Set},t.set(r,A)),A},n=(e,t)=>{const o=!!r.has(t);if(A(t).dependents.add(e.ident),!o){r.add(t);for(const e of t.dependencies.values())if(t.peerNames.has(e.name)){A(e).peerDependents.add(t.ident)}else n(t,e)}};for(const t of e.dependencies.values())e.peerNames.has(t.name)||n(e,t);return t},B=e=>{const t=e.indexOf("@",1),r=e.substring(0,t),A=e.substring(t+1);if("workspace:."===A)return".";if(A){const e=(A.indexOf("#")>0?A.split("#")[1]:A).replace("npm:","");return A.startsWith("virtual")?`v:${r}@${e}`:`${r}@${e}`}return""+r},y=e=>{let t=0;const r=(e,A,n="")=>{if(t>5e4||A.has(e))return"";t++;const o=Array.from(e.dependencies.values());let i="";A.add(e);for(let t=0;t":"")+(c!==s.name?`a:${s.name}:`:"")+B(s.locator)+(a?" "+a:"")}\n`,i+=r(s,A,`${n}${t5e4?"\nTree is too large, part of the tree has been dunped\n":"")};var m,w;!function(e){e.HARD="HARD",e.SOFT="SOFT"}(m||(m={})),function(e){e.WORKSPACES="workspaces",e.DEPENDENCIES="dependencies",e.NONE="none"}(w||(w={}));const Q=(e,t)=>{const{packageTree:r,hoistingLimits:A}=b(e,t),n=((e,t={})=>{const r=t.debugLevel||Number(process.env.NM_DEBUG_LEVEL||c.NONE),A={check:t.check||r>=c.INTENSIVE_CHECK,debugLevel:r,hoistingLimits:t.hoistingLimits||new Map};A.debugLevel>=c.PERF&&console.time("hoist");const n=C(e,A);if(u(n,[n],new Set([n.locator]),A),A.debugLevel>=c.PERF&&console.timeEnd("hoist"),A.debugLevel>=c.CHECK){const e=d(n);if(e)throw new Error(`${e}, after hoisting finished:\n${y(n)}`)}return A.debugLevel>=c.REASONS&&console.log(y(n)),I(n)})(r,{hoistingLimits:A});return v(e,n,t)},D=e=>`${e.name}@${e.reference}`;const b=(e,t)=>{const r=e.getDependencyTreeRoots(),A=new Map,n=new Map,s=e.getPackageInformation(e.topLevel);if(null===s)throw new Error("Assertion failed: Expected the top-level package to have been registered");const a=e.findPackageLocator(s.packageLocation);if(null===a)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");const c=o.cS.toPortablePath(s.packageLocation),g=D(a);if(t.project){const e={children:new Map},r=t.project.cwd.split(o.y1.sep);for(const[A,n]of t.project.workspacesByCwd){const t=A.split(o.y1.sep).slice(r.length);let s=e;for(const e of t){let t=s.children.get(e);t||(t={children:new Map},s.children.set(e,t)),s=t}s.workspaceLocator={name:i.stringifyIdent(n.anchoredLocator),reference:n.anchoredLocator.reference}}const A=(e,t)=>{if(e.workspaceLocator){const r=D(t);let A=n.get(r);A||(A=new Set,n.set(r,A)),A.add(e.workspaceLocator)}for(const r of e.children.values())A(r,e.workspaceLocator||t)};for(const t of e.children.values())A(t,e.workspaceLocator)}else for(const e of r)if(e.name!==a.name||e.reference!==a.reference){let t=n.get(g);t||(t=new Set,n.set(g,t)),t.add(e)}const l={name:a.name,identName:a.name,reference:a.reference,peerNames:s.packagePeers,dependencies:new Set},u=new Map,h=(r,s,g,p,d,C,f)=>{var I,E;const B=((e,t)=>`${D(t)}:${e}`)(r,g);let y=u.get(B);const m=!!y;if(m||g.name!==a.name||g.reference!==a.reference||(y=l,u.set(B,l)),y||(y={name:r,identName:g.name,reference:g.reference,dependencies:new Set,peerNames:s.packagePeers},u.set(B,y)),f){const e=D({name:p.identName,reference:p.reference}),t=A.get(e)||new Set;A.set(e,t),t.add(y.name)}const Q=new Map(s.packageDependencies);if(t.project){const e=t.project.workspacesByCwd.get(o.cS.toPortablePath(s.packageLocation.slice(0,-1)));if(e){const t=new Set([...Array.from(e.manifest.peerDependencies.values(),e=>i.stringifyIdent(e)),...Array.from(e.manifest.peerDependenciesMeta.keys())]);for(const e of t)Q.has(e)||(Q.set(e,d.get(e)||null),y.peerNames.add(e))}}const b=D(g),v=n.get(b);if(v)for(const e of v)Q.set(e.name+"$wsroot$",e.reference);p.dependencies.add(y);const S=t.pnpifyFs||!function(e){let t=i.parseDescriptor(e);return i.isVirtualDescriptor(t)&&(t=i.devirtualizeDescriptor(t)),t.range.startsWith("portal:")}(B);if(!m&&S)for(const[r,A]of Q)if(null!==A){const n=e.getLocator(r,A),i=e.getLocator(r.replace("$wsroot$",""),A),s=e.getPackageInformation(i);if(null===s)throw new Error("Assertion failed: Expected the package to have been registered");const a=null===(I=t.hoistingLimitsByCwd)||void 0===I?void 0:I.get(C),g=o.y1.relative(c,o.cS.toPortablePath(s.packageLocation))||o.LZ.dot,l=null===(E=t.hoistingLimitsByCwd)||void 0===E?void 0:E.get(g),u=a===w.DEPENDENCIES||l===w.DEPENDENCIES||l===w.WORKSPACES;h(r,s,n,y,Q,g,u)}};return h(a.name,s,a,l,s.packageDependencies,o.LZ.dot,!1),{packageTree:l,hoistingLimits:A}};const v=(e,t,r)=>{const A=new Map,n=(t,A)=>{const{linkType:n,target:i}=function(e,t,r){const A=t.getLocator(e.name.replace("$wsroot$",""),e.reference),n=t.getPackageInformation(A);if(null===n)throw new Error("Assertion failed: Expected the package to be registered");let i,s;if(r.pnpifyFs)s=o.cS.toPortablePath(n.packageLocation),i=m.SOFT;else{const r=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(n.packageLocation):n.packageLocation;s=o.cS.toPortablePath(r||n.packageLocation),i=n.linkType}return{linkType:i,target:s}}(t,e,r);return{locator:D(t),target:i,linkType:n,aliases:A}},s=e=>{const[t,r]=e.split("/");return r?{scope:(0,o.Zu)(t),name:(0,o.Zu)(r)}:{scope:null,name:(0,o.Zu)(t)}},a=new Set,c=(e,t)=>{if(!a.has(e)){a.add(e);for(const r of e.dependencies){if(r===e||e.identName.endsWith("$wsroot$")&&r.identName===e.identName.replace("$wsroot$",""))continue;const a=Array.from(r.references).sort(),g={name:r.identName,reference:a[0]},{name:l,scope:u}=s(r.name),h=u?[u,l]:[l],p=o.y1.join(t,"node_modules"),d=o.y1.join(p,...h),C=n(g,a.slice(1));if(!r.name.endsWith("$wsroot$")){const e=A.get(d);if(e){if(e.dirList)throw new Error(`Assertion failed: ${d} cannot merge dir node with leaf node`);{const t=i.parseLocator(e.locator),r=i.parseLocator(C.locator);if(e.linkType!==C.linkType)throw new Error(`Assertion failed: ${d} cannot merge nodes with different link types`);if(t.identHash!==r.identHash)throw new Error(`Assertion failed: ${d} cannot merge nodes with different idents ${i.stringifyLocator(t)} and ${i.stringifyLocator(r)}`);C.aliases=[...C.aliases,...e.aliases,i.parseLocator(e.locator).reference]}}A.set(d,C);const t=d.split("/"),r=t.indexOf("node_modules");let n=t.length-1;for(;r>=0&&n>r;){const e=o.cS.toPortablePath(t.slice(0,n).join(o.y1.sep)),r=(0,o.Zu)(t[n]),i=A.get(e);if(i){if(i.dirList){if(i.dirList.has(r))break;i.dirList.add(r)}}else A.set(e,{dirList:new Set([r])});n--}}c(r,C.linkType===m.SOFT?C.target:d)}}},g=n({name:t.name,reference:Array.from(t.references)[0]},[]),l=g.target;return A.set(l,g),c(t,l),A};var S=r(92659),k=r(32485),K=r(73632),F=r(46611),N=r(35691),M=r(43896),R=r(17674),x=r(53660),L=r(65281),P=r(11640),O=r(83228),U=r(58069),T=r.n(U),j=r(40822),Y=r(35747),G=r.n(Y);const H="node_modules";class J{constructor(e){this.opts=e,this.localStore=new Map,this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,t){var r;const A=o.y1.resolve(t.packageFs.getRealPath(),t.prefixPath);let n=this.customData.store.get(e.locatorHash);if(void 0===n&&(n=await async function(e,t){var r;const A=null!==(r=await F.G.tryFind(t.prefixPath,{baseFs:t.packageFs}))&&void 0!==r?r:new F.G,n=new Set(["preinstall","install","postinstall"]);for(const e of A.scripts.keys())n.has(e)||A.scripts.delete(e);return{manifest:{bin:A.bin,os:A.os,cpu:A.cpu,scripts:A.scripts},misc:{extractHint:O.jsInstallUtils.getExtractHint(t),hasBindingGyp:O.jsInstallUtils.hasBindingGyp(t)}}}(0,t),e.linkType===k.Un.HARD&&this.customData.store.set(e.locatorHash,n)),!O.jsInstallUtils.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};const s=new Map,a=new Set;if(s.has(i.stringifyIdent(e))||s.set(i.stringifyIdent(e),e.reference),i.isVirtualLocator(e))for(const t of e.peerDependencies.values())s.set(i.stringifyIdent(t),null),a.add(i.stringifyIdent(t));const c={packageLocation:o.cS.fromPortablePath(A)+"/",packageDependencies:s,packagePeers:a,linkType:e.linkType,discardFromLookup:null!==(r=t.discardFromLookup)&&void 0!==r&&r};return this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:c}),{packageLocation:A,buildDirective:null}}async attachInternalDependencies(e,t){const r=this.localStore.get(e.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected information object to have been registered");for(const[e,A]of t){const t=i.areIdentsEqual(e,A)?A.reference:[i.requirableIdent(A),A.reference];r.pnpNode.packageDependencies.set(i.requirableIdent(e),t)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if("node-modules"!==this.opts.project.configuration.get("nodeLinker"))return;const e=new R.p({baseFs:new x.A({libzip:await(0,L.getLibzipPromise)(),maxOpenFiles:80,readOnlyArchives:!0})});let t=await q(this.opts.project);if(null===t){const e=this.opts.project.configuration.get("bstatePath");await M.xfs.existsPromise(e)&&await M.xfs.unlinkPromise(e),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map}}const r=new Map(this.opts.project.workspaces.map(e=>{var t,r;let A=this.opts.project.configuration.get("nmHoistingLimits");try{A=K.validateEnum(w,null!==(r=null===(t=e.manifest.installConfig)||void 0===t?void 0:t.hoistingLimits)&&void 0!==r?r:A)}catch(t){const r=i.prettyWorkspace(this.opts.project.configuration,e);this.opts.report.reportWarning(S.b.INVALID_MANIFEST,`${r}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(w).join(", ")}, using default: "${A}"`)}return[e.relativeCwd,A]})),A=(e=>{const t=new Map;for(const[r,A]of e.entries())if(!A.dirList){let e=t.get(A.locator);e||(e={target:A.target,linkType:A.linkType,locations:[],aliases:A.aliases},t.set(A.locator,e)),e.locations.push(r)}for(const e of t.values())e.locations=e.locations.sort((e,t)=>{const r=e.split(o.y1.delimiter).length,A=t.split(o.y1.delimiter).length;return r!==A?A-r:t.localeCompare(e)});return t})(Q({VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(e,t)=>Array.isArray(t)?{name:t[0],reference:t[1]}:{name:e,reference:t},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(e=>{const t=e.anchoredLocator;return{name:i.stringifyIdent(e.locator),reference:t.reference}}),getPackageInformation:e=>{const t=null===e.reference?this.opts.project.topLevelWorkspace.anchoredLocator:i.makeLocator(i.parseIdent(e.name),e.reference),r=this.localStore.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected the package reference to have been registered");return r.pnpNode},findPackageLocator:e=>{const t=this.opts.project.tryWorkspaceByCwd(o.cS.toPortablePath(e));if(null!==t){const e=t.anchoredLocator;return{name:i.stringifyIdent(e),reference:e.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:e=>o.cS.fromPortablePath(R.p.resolveVirtual(o.cS.toPortablePath(e)))},{pnpifyFs:!1,hoistingLimitsByCwd:r,project:this.opts.project}));await async function(e,t,{baseFs:r,project:A,report:n,loadManifest:s}){const a=o.y1.join(A.cwd,H),{locationTree:c,binSymlinks:g}=function(e,t){const r=new Map([...e]),A=new Map([...t]);for(const[t,r]of e){const e=o.y1.join(t,H);if(!M.xfs.existsSync(e)){r.children.delete(H);for(const t of A.keys())null!==o.y1.contains(e,t)&&A.delete(t)}}return{locationTree:r,binSymlinks:A}}(e.locationTree,e.binSymlinks),l=X(t,{skipPrefix:A.cwd}),u=[],h=async({srcDir:e,dstDir:t,linkType:A})=>{const n=(async()=>{try{A===k.Un.SOFT?(await M.xfs.mkdirPromise(o.y1.dirname(t),{recursive:!0}),await V(o.y1.resolve(e),t)):await _(t,e,{baseFs:r})}catch(r){throw r.message=`While persisting ${e} -> ${t} ${r.message}`,r}finally{I.tick()}})().then(()=>u.splice(u.indexOf(n),1));u.push(n),u.length>4&&await Promise.race(u)},p=async(e,t,r)=>{const A=(async()=>{const A=async(e,t,r)=>{try{r&&r.innerLoop||await M.xfs.mkdirPromise(t,{recursive:!0});const n=await M.xfs.readdirPromise(e,{withFileTypes:!0});for(const i of n){if(!(r&&r.innerLoop||".bin"!==i.name))continue;const n=o.y1.join(e,i.name),s=o.y1.join(t,i.name);i.isDirectory()?(i.name!==H||r&&r.innerLoop)&&(await M.xfs.mkdirPromise(s,{recursive:!0}),await A(n,s,{innerLoop:!0})):await M.xfs.copyFilePromise(n,s,G().constants.COPYFILE_FICLONE)}}catch(A){throw r&&r.innerLoop||(A.message=`While cloning ${e} -> ${t} ${A.message}`),A}finally{r&&r.innerLoop||I.tick()}};await A(e,t,r)})().then(()=>u.splice(u.indexOf(A),1));u.push(A),u.length>4&&await Promise.race(u)},d=async(e,t,r)=>{if(r)for(const[A,n]of t.children){const t=r.children.get(A);await d(o.y1.join(e,A),n,t)}else t.children.has(H)&&await z(o.y1.join(e,H),{contentsOnly:!1}),await z(e,{contentsOnly:e===a})};for(const[e,t]of c){const r=l.get(e);for(const[A,n]of t.children){if("."===A)continue;const t=r?r.children.get(A):r;await d(o.y1.join(e,A),n,t)}}const C=async(e,t,r)=>{if(r){$(t.locator,r.locator)||await z(e,{contentsOnly:t.linkType===k.Un.HARD});for(const[A,n]of t.children){const t=r.children.get(A);await C(o.y1.join(e,A),n,t)}}else t.children.has(H)&&await z(o.y1.join(e,H),{contentsOnly:!0}),await z(e,{contentsOnly:t.linkType===k.Un.HARD})};for(const[e,t]of l){const r=c.get(e);for(const[A,n]of t.children){if("."===A)continue;const t=r?r.children.get(A):r;await C(o.y1.join(e,A),n,t)}}const f=[];for(const[r,{locations:n}]of e.locatorMap.entries())for(const e of n){const{locationRoot:n,segments:i}=W(e,{skipPrefix:A.cwd});let s=l.get(n),a=n;if(s){for(const e of i)if(a=o.y1.join(a,e),s=s.children.get(e),!s)break;if(s&&!$(s.locator,r)){const e=t.get(s.locator),r=e.target,A=a,n=e.linkType;r!==A&&f.push({srcDir:r,dstDir:A,linkType:n})}}}for(const[e,{locations:r}]of t.entries())for(const n of r){const{locationRoot:r,segments:i}=W(n,{skipPrefix:A.cwd});let s=c.get(r),a=l.get(r),g=r;const u=t.get(e),h=u.target,p=n;if(h===p)continue;const d=u.linkType;for(const e of i)a=a.children.get(e);if(s){for(const e of i)if(g=o.y1.join(g,e),s=s.children.get(e),!s){f.push({srcDir:h,dstDir:p,linkType:d});break}}else f.push({srcDir:h,dstDir:p,linkType:d})}const I=N.yG.progressViaCounter(f.length),E=n.reportProgress(I);try{const e=new Map;for(const t of f)t.linkType!==k.Un.SOFT&&e.has(t.srcDir)||(e.set(t.srcDir,t.dstDir),await h({...t}));await Promise.all(u),u.length=0;for(const t of f){const r=e.get(t.srcDir);t.linkType!==k.Un.SOFT&&t.dstDir!==r&&await p(r,t.dstDir)}await Promise.all(u),await M.xfs.mkdirPromise(a,{recursive:!0});const r=await async function(e,t,r,{loadManifest:A}){const n=new Map;for(const[t,{locations:r}]of e){const e=Z(t)?null:await A(t,r[0]),i=new Map;if(e)for(const[t,A]of e.bin){const e=o.y1.join(r[0],A);""!==A&&M.xfs.existsSync(e)&&i.set(t,A)}n.set(t,i)}const i=new Map,s=(e,t,A)=>{const a=new Map,c=o.y1.contains(r,e);if(A.locator&&null!==c){const t=n.get(A.locator);for(const[r,A]of t){const t=o.y1.join(e,o.cS.toPortablePath(A));a.set((0,o.Zu)(r),t)}for(const[t,r]of A.children){const A=o.y1.join(e,t),n=s(A,A,r);n.size>0&&i.set(e,new Map([...i.get(e)||new Map,...n]))}}else for(const[r,n]of A.children){const A=s(o.y1.join(e,r),t,n);for(const[e,t]of A)a.set(e,t)}return a};for(const[e,r]of t){const t=s(e,e,r);t.size>0&&i.set(e,new Map([...i.get(e)||new Map,...t]))}return i}(t,l,A.cwd,{loadManifest:s});await async function(e,t){for(const r of e.keys())if(!t.has(r)){const e=o.y1.join(r,H,".bin");await M.xfs.removePromise(e)}for(const[r,A]of t){const t=o.y1.join(r,H,".bin"),n=e.get(r)||new Map;await M.xfs.mkdirPromise(t,{recursive:!0});for(const e of n.keys())A.has(e)||(await M.xfs.removePromise(o.y1.join(t,e)),"win32"===process.platform&&await M.xfs.removePromise(o.y1.join(t,(0,o.Zu)(e+".cmd"))));for(const[e,r]of A){const A=n.get(e),i=o.y1.join(t,e);A!==r&&("win32"===process.platform?await T()(o.cS.fromPortablePath(r),o.cS.fromPortablePath(i),{createPwshFile:!1}):(await M.xfs.removePromise(i),await V(r,i),await M.xfs.chmodPromise(r,493)))}}}(g,r),await async function(e,t,r){let A="";A+="# Warning: This file is automatically generated. Removing it is fine, but will\n",A+="# cause your node_modules installation to become invalidated.\n",A+="\n",A+="__metadata:\n",A+=" version: 1\n";const n=Array.from(t.keys()).sort(),s=i.stringifyLocator(e.topLevelWorkspace.anchoredLocator);for(const i of n){const n=t.get(i);A+="\n",A+=JSON.stringify(i)+":\n",A+=" locations:\n";for(const t of n.locations){const r=o.y1.contains(e.cwd,t);if(null===r)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);A+=` - ${JSON.stringify(r)}\n`}if(n.aliases.length>0){A+=" aliases:\n";for(const e of n.aliases)A+=` - ${JSON.stringify(e)}\n`}if(i===s&&r.size>0){A+=" bin:\n";for(const[t,n]of r){const r=o.y1.contains(e.cwd,t);if(null===r)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);A+=` ${JSON.stringify(r)}:\n`;for(const[e,r]of n){const n=o.y1.relative(o.y1.join(t,H),r);A+=` ${JSON.stringify(e)}: ${JSON.stringify(n)}\n`}}}}const a=e.cwd,c=o.y1.join(a,H,".yarn-state.yml");await M.xfs.changeFilePromise(c,A,{automaticNewlines:!0})}(A,t,r)}finally{E.stop()}}(t,A,{baseFs:e,project:this.opts.project,report:this.opts.report,loadManifest:async e=>{const t=i.parseLocator(e),r=this.localStore.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected the slot to exist");return r.customPackageData.manifest}});const n=[];for(const[e,t]of A.entries()){if(Z(e))continue;const r=i.parseLocator(e),A=this.localStore.get(r.locatorHash);if(void 0===A)throw new Error("Assertion failed: Expected the slot to exist");const o=O.jsInstallUtils.extractBuildScripts(A.pkg,A.customPackageData,A.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});0!==o.length&&n.push({buildLocations:t.locations,locatorHash:r.locatorHash,buildDirective:o})}return{customData:this.customData,records:n}}}async function q(e,{unrollAliases:t=!1}={}){const r=e.cwd,A=o.y1.join(r,H,".yarn-state.yml");if(!M.xfs.existsSync(A))return null;const n=(0,P.parseSyml)(await M.xfs.readFilePromise(A,"utf8"));if(n.__metadata.version>1)return null;const s=new Map,a=new Map;delete n.__metadata;for(const[e,A]of Object.entries(n)){const n=A.locations.map(e=>o.y1.join(r,e)),c=A.bin;if(c)for(const[e,t]of Object.entries(c)){const A=o.y1.join(r,o.cS.toPortablePath(e)),n=K.getMapWithDefault(a,A);for(const[e,r]of Object.entries(t))n.set((0,o.Zu)(e),o.cS.toPortablePath([A,H,r].join(o.y1.delimiter)))}if(s.set(e,{target:o.LZ.dot,linkType:k.Un.HARD,locations:n,aliases:A.aliases||[]}),t&&A.aliases)for(const t of A.aliases){const{scope:r,name:A}=i.parseLocator(e),a=i.makeLocator(i.makeIdent(r,A),t),c=i.stringifyLocator(a);s.set(c,{target:o.LZ.dot,linkType:k.Un.HARD,locations:n,aliases:[]})}}return{locatorMap:s,binSymlinks:a,locationTree:X(s,{skipPrefix:e.cwd})}}const z=async(e,t)=>{if(e.split(o.y1.sep).indexOf(H)<0)throw new Error("Assertion failed: trying to remove dir that doesn't contain node_modules: "+e);try{if(!t.innerLoop){if((await M.xfs.lstatPromise(e)).isSymbolicLink())return void await M.xfs.unlinkPromise(e)}const r=await M.xfs.readdirPromise(e,{withFileTypes:!0});for(const A of r){const r=o.y1.join(e,(0,o.Zu)(A.name));A.isDirectory()?(A.name!==H||t&&t.innerLoop)&&await z(r,{innerLoop:!0,contentsOnly:!1}):await M.xfs.unlinkPromise(r)}t.contentsOnly||await M.xfs.rmdirPromise(e)}catch(e){if("ENOENT"!==e.code&&"ENOTEMPTY"!==e.code)throw e}},W=(e,{skipPrefix:t})=>{const r=o.y1.contains(t,e);if(null===r)throw new Error(`Assertion failed: Cannot process a path that isn't part of the requested prefix (${e} isn't within ${t})`);const A=r.split(o.y1.sep).filter(e=>""!==e),n=A.indexOf(H),i=A.slice(0,n).join(o.y1.sep);return{locationRoot:o.y1.join(t,i),segments:A.slice(n)}},X=(e,{skipPrefix:t})=>{const r=new Map;if(null===e)return r;const A=()=>({children:new Map,linkType:k.Un.HARD});for(const[n,i]of e.entries()){if(i.linkType===k.Un.SOFT){if(null!==o.y1.contains(t,i.target)){const e=K.getFactoryWithDefault(r,i.target,A);e.locator=n,e.linkType=i.linkType}}for(const e of i.locations){const{locationRoot:o,segments:s}=W(e,{skipPrefix:t});let a=K.getFactoryWithDefault(r,o,A);for(let e=0;e{let r;try{"win32"===process.platform&&(r=M.xfs.lstatSync(e))}catch(e){}"win32"!=process.platform||r&&!r.isDirectory()?M.xfs.symlinkPromise(o.y1.relative(o.y1.dirname(t),e),t):M.xfs.symlinkPromise(e,t,"junction")},_=async(e,t,{baseFs:r,innerLoop:A})=>{await M.xfs.mkdirPromise(e,{recursive:!0});const n=await r.readdirPromise(t,{withFileTypes:!0}),i=async(e,t,A)=>{if(A.isFile()){const A=await r.lstatPromise(t);await r.copyFilePromise(t,e);const n=511&A.mode;420!==n&&await M.xfs.chmodPromise(e,n)}else{if(!A.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${await M.xfs.statSync(t).mode.toString(8).padStart(6,"0")})`);{const A=await r.readlinkPromise(t);await V(o.y1.resolve(o.y1.dirname(e),A),e)}}};for(const s of n){const n=o.y1.join(t,(0,o.Zu)(s.name)),a=o.y1.join(e,(0,o.Zu)(s.name));s.isDirectory()?(s.name!==H||A)&&await _(a,n,{baseFs:r,innerLoop:!0}):await i(a,n,s)}};function Z(e){let t=i.parseDescriptor(e);return i.isVirtualDescriptor(t)&&(t=i.devirtualizeDescriptor(t)),t.range.startsWith("link:")}const $=(e,t)=>{if(!e||!t)return e===t;let r=i.parseLocator(e);i.isVirtualLocator(r)&&(r=i.devirtualizeLocator(r));let A=i.parseLocator(t);return i.isVirtualLocator(A)&&(A=i.devirtualizeLocator(A)),i.areLocatorsEqual(r,A)};var ee=r(34432);class te extends O.PnpLinker{constructor(){super(...arguments),this.mode="loose"}makeInstaller(e){return new re(e)}}class re extends O.PnpInstaller{constructor(){super(...arguments),this.mode="loose"}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=new R.p({baseFs:new x.A({libzip:await(0,L.getLibzipPromise)(),maxOpenFiles:80,readOnlyArchives:!0})}),r=(0,ee.oC)(e,this.opts.project.cwd,t),A=Q(r,{pnpifyFs:!1,project:this.opts.project}),n=new Map;e.fallbackPool=n;const s=(e,t)=>{const r=i.parseLocator(t.locator),A=i.stringifyIdent(r);A===e?n.set(e,r.reference):n.set(e,[A,r.reference])},a=o.y1.join(this.opts.project.cwd,o.QS.nodeModules),c=A.get(a);if(void 0===c)throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(const e of c.dirList){const t=o.y1.join(a,e),r=A.get(t);if(void 0===r)throw new Error("Assertion failed: Expected the child to have been registered");if("target"in r)s(e,r);else for(const n of r.dirList){const r=o.y1.join(t,n),i=A.get(r);if(void 0===i)throw new Error("Assertion failed: Expected the subchild to have been registered");if(!("target"in i))throw new Error("Assertion failed: Expected the leaf junction to be a package");s(`${e}/${n}`,i)}}return super.finalizeInstallWithPnp(e)}}const Ae=e=>o.y1.join(e.cwd,".pnp.js"),ne={configuration:{nmHoistingLimits:{description:"Prevent packages can be hoisted past specific levels",type:n.a2.STRING,values:[w.WORKSPACES,w.DEPENDENCIES,w.NONE],default:"none"}},linkers:[class{supportsPackage(e,t){return"node-modules"===t.project.configuration.get("nodeLinker")}async findPackageLocation(e,t){const r=t.project.tryWorkspaceByLocator(e);if(r)return r.cwd;const A=await q(t.project,{unrollAliases:!0});if(null===A)throw new j.UsageError("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");const n=A.locatorMap.get(i.stringifyLocator(e));if(!n){const r=new j.UsageError(`Couldn't find ${i.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw r.code="LOCATOR_NOT_INSTALLED",r}return n.locations[0]}async findPackageLocator(e,t){const r=await q(t.project,{unrollAliases:!0});if(null===r)return null;const{locationRoot:A,segments:n}=W(o.y1.resolve(e),{skipPrefix:t.project.cwd});let s=r.locationTree.get(A);if(!s)return null;let a=s.locator;for(const e of n){if(s=s.children.get(e),!s)break;a=s.locator||a}return i.parseLocator(a)}makeInstaller(e){return new J(e)}},te]}},8190:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>V});var A,n,o=r(39922),i=r(36370),s=r(25413),a=r(85824),c=r(62152),g=r(35691),l=r(92659),u=r(85875),h=r(15815),p=r(14224),d=r(40822);!function(e){e.All="all",e.Production="production",e.Development="development"}(A||(A={})),function(e){e.Info="info",e.Low="low",e.Moderate="moderate",e.High="high",e.Critical="critical"}(n||(n={}));var C=r(54143),f=r(73632),I=r(71643);const E=[n.Info,n.Low,n.Moderate,n.High,n.Critical];function B(e,t){const r=[],A=new Set,n=e=>{A.has(e)||(A.add(e),r.push(e))};for(const e of t)n(e);const o=new Set;for(;r.length>0;){const t=r.shift(),A=e.storedResolutions.get(t);if(void 0===A)throw new Error("Assertion failed: Expected the resolution to have been registered");const i=e.storedPackages.get(A);if(i){o.add(t);for(const e of i.dependencies.values())n(e.descriptorHash)}}return o}function y(e,t,{all:r}){const A=r?e.workspaces:[t],n=A.map(e=>e.manifest),o=new Set(n.map(e=>[...e.dependencies].map(([e,t])=>e)).flat()),i=new Set(n.map(e=>[...e.devDependencies].map(([e,t])=>e)).flat()),s=A.map(e=>[...e.dependencies.values()]).flat(),a=s.filter(e=>o.has(e.identHash)).map(e=>e.descriptorHash),c=s.filter(e=>i.has(e.identHash)).map(e=>e.descriptorHash),g=B(e,a),l=B(e,c);return u=l,h=g,new Set([...u].filter(e=>!h.has(e)));var u,h}function m(e){const t={};for(const r of e)t[C.stringifyIdent(r)]=C.parseRange(r.range).selector;return t}function w(e){if(void 0===e)return new Set;const t=E.indexOf(e),r=E.slice(t);return new Set(r)}function Q(e,t){var r;const A=function(e,t){const r=w(t),A={};for(const t of r)A[t]=e[t];return A}(e,t);for(const e of Object.keys(A))if(null!==(r=A[e])&&void 0!==r&&r)return!0;return!1}class D extends s.BaseCommand{constructor(){super(...arguments),this.all=!1,this.recursive=!1,this.environment=A.All,this.json=!1,this.severity=n.Info}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const n=function(e,t,{all:r,environment:n}){const o=r?e.workspaces:[t],i=[];if([A.All,A.Production].includes(n))for(const e of o)for(const t of e.manifest.dependencies.values())i.push(t);const s=[];if([A.All,A.Development].includes(n))for(const e of o)for(const t of e.manifest.devDependencies.values())s.push(t);return m([...i,...s].filter(e=>null===C.parseRange(e.range).protocol))}(t,r,{all:this.all,environment:this.environment}),i=function(e,t,{all:r}){var A;const n=y(e,t,{all:r}),o={};for(const t of e.storedPackages.values())o[C.stringifyIdent(t)]={version:null!==(A=t.version)&&void 0!==A?A:"0.0.0",integrity:t.identHash,requires:m(t.dependencies.values()),dev:n.has(C.convertLocatorToDescriptor(t).descriptorHash)};return o}(t,r,{all:this.all});if(!this.recursive)for(const e of Object.keys(i))Object.prototype.hasOwnProperty.call(n,e)?i[e].requires={}:delete i[e];const d={requires:n,dependencies:i},E=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e});let B;const D=await c.h.start({configuration:e,stdout:this.context.stdout},async()=>{try{B=await p.npmHttpUtils.post("/-/npm/v1/security/audits/quick",d,{authType:p.npmHttpUtils.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:E})}catch(e){throw"HTTPError"!==e.name?e:new g.lk(l.b.EXCEPTION,e.toString())}});if(D.hasErrors())return D.exitCode();const b=Q(B.metadata.vulnerabilities,this.severity);if(!this.json&&b)return u.emitTree(function(e,t){const r={},A={children:r};let n=Object.values(e.advisories);if(null!=t){const e=w(t);n=n.filter(t=>e.has(t.severity))}for(const e of f.sortMap(n,e=>e.module_name))r[e.module_name]={label:e.module_name,value:I.tuple(I.Type.RANGE,e.findings.map(e=>e.version).join(", ")),children:{Issue:{label:"Issue",value:I.tuple(I.Type.NO_HINT,e.title)},URL:{label:"URL",value:I.tuple(I.Type.URL,e.url)},Severity:{label:"Severity",value:I.tuple(I.Type.NO_HINT,e.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:I.tuple(I.Type.RANGE,e.vulnerable_versions)},"Patched Versions":{label:"Patched Versions",value:I.tuple(I.Type.RANGE,e.patched_versions)},Via:{label:"Via",value:I.tuple(I.Type.NO_HINT,Array.from(new Set(e.findings.map(e=>e.paths).flat().map(e=>e.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:I.tuple(I.Type.NO_HINT,e.recommendation.replace(/\n/g," "))}}};return A}(B,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1;return(await h.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async e=>{e.reportJson(B),b||e.reportInfo(l.b.EXCEPTION,"No audit suggestions")})).exitCode()}}D.usage=d.Command.Usage({description:"perform a vulnerability audit against the installed packages",details:`\n This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).\n\n For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.\n\n Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${E.map(e=>`\`${e}\``).join(", ")}.\n\n If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.\n\n To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them.\n `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]}),(0,i.gn)([d.Command.Boolean("-A,--all")],D.prototype,"all",void 0),(0,i.gn)([d.Command.Boolean("-R,--recursive")],D.prototype,"recursive",void 0),(0,i.gn)([d.Command.String("--environment")],D.prototype,"environment",void 0),(0,i.gn)([d.Command.Boolean("--json")],D.prototype,"json",void 0),(0,i.gn)([d.Command.String("--severity")],D.prototype,"severity",void 0),(0,i.gn)([d.Command.Path("npm","audit")],D.prototype,"execute",null);var b=r(85622),v=r.n(b),S=r(53887),k=r.n(S),K=r(31669);class F extends s.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t}=await a.I.find(e,this.context.cwd),r=void 0!==this.fields?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,A=[];let n=!1;const i=await h.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async o=>{for(const i of this.packages){let s;if("."===i){const e=t.topLevelWorkspace;if(!e.manifest.name)throw new d.UsageError("Missing 'name' field in "+v().join(e.cwd,"package.json"));s=C.makeDescriptor(e.manifest.name,"unknown")}else s=C.parseDescriptor(i);const a=p.npmHttpUtils.getIdentUrl(s);let c;try{c=N(await p.npmHttpUtils.get(a,{configuration:e,ident:s,jsonResponse:!0}))}catch(e){throw"HTTPError"!==e.name?e:404===e.response.statusCode?new g.lk(l.b.EXCEPTION,"Package not found"):new g.lk(l.b.EXCEPTION,e.toString())}const u=Object.keys(c.versions).sort(k().compareLoose);let h=c["dist-tags"].latest||u[u.length-1];if(k().validRange(s.range)){const t=k().maxSatisfying(u,s.range);null!==t?h=t:(o.reportWarning(l.b.UNNAMED,`Unmet range ${C.prettyRange(e,s.range)}; falling back to the latest version`),n=!0)}else"unknown"!==s.range&&(o.reportWarning(l.b.UNNAMED,`Invalid range ${C.prettyRange(e,s.range)}; falling back to the latest version`),n=!0);const f=c.versions[h],I={...c,...f,version:h,versions:u};let E;if(null!==r){E={};for(const t of r){const r=I[t];void 0!==r?E[t]=r:(o.reportWarning(l.b.EXCEPTION,`The '${t}' field doesn't exist inside ${C.prettyIdent(e,s)}'s informations`),n=!0)}}else this.json||(delete I.dist,delete I.readme,delete I.users),E=I;o.reportJson(E),this.json||A.push(E)}});K.inspect.styles.name="cyan";for(const e of A)(e!==A[0]||n)&&this.context.stdout.write("\n"),this.context.stdout.write((0,K.inspect)(e,{depth:1/0,colors:!0,compact:!1})+"\n");return i.exitCode()}}function N(e){if(Array.isArray(e)){const t=[];for(let r of e)r=N(r),r&&t.push(r);return t}if("object"==typeof e&&null!==e){const t={};for(const r of Object.keys(e)){if(r.startsWith("_"))continue;const A=N(e[r]);A&&(t[r]=A)}return t}return e||null}F.usage=d.Command.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]}),(0,i.gn)([d.Command.Rest()],F.prototype,"packages",void 0),(0,i.gn)([d.Command.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"})],F.prototype,"fields",void 0),(0,i.gn)([d.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],F.prototype,"json",void 0),(0,i.gn)([d.Command.Path("npm","info")],F.prototype,"execute",null);var M=r(61899);class R extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),t=await x({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const A=await async function({registry:e,report:t,stdin:r,stdout:A}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};t.reportInfo(l.b.UNNAMED,"Logging in to "+e);let n=!1;e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(l.b.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0);t.reportSeparator();const{username:o,password:i}=await(0,M.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:A},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:A}]);return t.reportSeparator(),{name:o,password:i}}({registry:t,report:r,stdin:this.context.stdin,stdout:this.context.stdout}),n="/-/user/org.couchdb.user:"+encodeURIComponent(A.name),i=await p.npmHttpUtils.put(n,A,{attemptedAs:A.name,configuration:e,registry:t,jsonResponse:!0,authType:p.npmHttpUtils.AuthType.NO_AUTH});return await async function(e,t,{configuration:r,scope:A}){const n=e=>r=>{const A=f.isIndexableObject(r)?r:{},n=A[e],o=f.isIndexableObject(n)?n:{};return{...A,[e]:{...o,npmAuthToken:t}}},i=A?{npmScopes:n(A)}:{npmRegistries:n(e)};return await o.VK.updateHomeConfiguration(i)}(t,i.token,{configuration:e,scope:this.scope}),r.reportInfo(l.b.UNNAMED,"Successfully logged in")})).exitCode()}}async function x({scope:e,publish:t,configuration:r,cwd:A}){return e&&t?p.npmConfigUtils.getScopeRegistry(e,{configuration:r,type:p.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):e?p.npmConfigUtils.getScopeRegistry(e,{configuration:r}):t?p.npmConfigUtils.getPublishRegistry((await(0,s.openWorkspace)(r,A)).manifest,{configuration:r}):p.npmConfigUtils.getDefaultRegistry({configuration:r})}R.usage=d.Command.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Login to the registry configured for a given scope"})],R.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Login to the publish registry"})],R.prototype,"publish",void 0),(0,i.gn)([d.Command.Path("npm","login")],R.prototype,"execute",null);const L=new Set(["npmAuthIdent","npmAuthToken"]);class P extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1,this.all=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),t=async()=>{var t;const r=await x({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),A=await o.VK.find(this.context.cwd,this.context.plugins),n=C.makeIdent(null!==(t=this.scope)&&void 0!==t?t:null,"pkg");return!p.npmConfigUtils.getAuthConfiguration(r,{configuration:A,ident:n}).get("npmAuthToken")};return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{if(this.all&&(await async function(){const e=e=>{let t=!1;const r=f.isIndexableObject(e)?{...e}:{};r.npmAuthToken&&(delete r.npmAuthToken,t=!0);for(const e of Object.keys(r))O(r,e)&&(t=!0);if(0!==Object.keys(r).length)return t?r:e};return await o.VK.updateHomeConfiguration({npmRegistries:e,npmScopes:e})}(),r.reportInfo(l.b.UNNAMED,"Successfully logged out from everything")),this.scope)return await U("npmScopes",this.scope),void(await t()?r.reportInfo(l.b.UNNAMED,"Successfully logged out from "+this.scope):r.reportWarning(l.b.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it"));const A=await x({configuration:e,cwd:this.context.cwd,publish:this.publish});await U("npmRegistries",A),await t()?r.reportInfo(l.b.UNNAMED,"Successfully logged out from "+A):r.reportWarning(l.b.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}}function O(e,t){const r=e[t];if(!f.isIndexableObject(r))return!1;const A=new Set(Object.keys(r));if([...L].every(e=>!A.has(e)))return!1;for(const e of L)A.delete(e);if(0===A.size)return e[t]=void 0,!0;const n={...r};for(const e of L)delete n[e];return e[t]=n,!0}async function U(e,t){return await o.VK.updateHomeConfiguration({[e]:e=>{const r=f.isIndexableObject(e)?e:{};if(!Object.prototype.hasOwnProperty.call(r,t))return e;const A=r[t],n=f.isIndexableObject(A)?A:{},o=new Set(Object.keys(n));if([...L].every(e=>!o.has(e)))return e;for(const e of L)o.delete(e);if(0===o.size){if(1===Object.keys(r).length)return;return{...r,[t]:void 0}}const i={};for(const e of L)i[e]=void 0;return{...r,[t]:{...n,...i}}}})}P.usage=d.Command.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Logout of the registry configured for a given scope"})],P.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Logout of the publish registry"})],P.prototype,"publish",void 0),(0,i.gn)([d.Command.Boolean("-A,--all",{description:"Logout of all registries"})],P.prototype,"all",void 0),(0,i.gn)([d.Command.Path("npm","logout")],P.prototype,"execute",null);var T=r(63088),j=r(49881);class Y extends s.BaseCommand{constructor(){super(...arguments),this.tag="latest",this.tolerateRepublish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);if(r.manifest.private)throw new d.UsageError("Private workspaces cannot be published");if(null===r.manifest.name||null===r.manifest.version)throw new d.UsageError("Workspaces must have valid names and versions to be published on an external registry");await t.restoreInstallState();const A=r.manifest.name,n=r.manifest.version,i=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{if(this.tolerateRepublish)try{const r=await p.npmHttpUtils.get(p.npmHttpUtils.getIdentUrl(A),{configuration:e,registry:i,ident:A,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(r,"versions"))throw new g.lk(l.b.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(r.versions,n))return void t.reportWarning(l.b.UNNAMED,`Registry already knows about version ${n}; skipping.`)}catch(e){if("HTTPError"!==e.name)throw e;if(404!==e.response.statusCode)throw new g.lk(l.b.NETWORK_ERROR,`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`)}await T.maybeExecuteWorkspaceLifecycleScript(r,"prepublish",{report:t}),await j.packUtils.prepareForPack(r,{report:t},async()=>{const n=await j.packUtils.genPackList(r);for(const e of n)t.reportInfo(null,e);const o=await j.packUtils.genPackStream(r,n),s=await f.bufferStream(o),a=await p.npmPublishUtils.makePublishBody(r,s,{access:this.access,tag:this.tag,registry:i});try{await p.npmHttpUtils.put(p.npmHttpUtils.getIdentUrl(A),a,{configuration:e,registry:i,ident:A,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}}),t.hasErrors()||t.reportInfo(l.b.UNNAMED,"Package archive published")})).exitCode()}}Y.usage=d.Command.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]}),(0,i.gn)([d.Command.String("--access",{description:"The access for the published package (public or restricted)"})],Y.prototype,"access",void 0),(0,i.gn)([d.Command.String("--tag",{description:"The tag on the registry that the package should be attached to"})],Y.prototype,"tag",void 0),(0,i.gn)([d.Command.Boolean("--tolerate-republish",{description:"Warn and exit when republishing an already existing version of a package"})],Y.prototype,"tolerateRepublish",void 0),(0,i.gn)([d.Command.Path("npm","publish")],Y.prototype,"execute",null);var G=r(46009);class H extends s.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);let A;if(void 0!==this.package)A=C.parseIdent(this.package);else{if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);if(!r.manifest.name)throw new d.UsageError("Missing 'name' field in "+G.y1.join(r.cwd,G.QS.manifest));A=r.manifest.name}const n=await J(A,e),i={children:f.sortMap(Object.entries(n),([e])=>e).map(([e,t])=>({value:I.tuple(I.Type.RESOLUTION,{descriptor:C.makeDescriptor(A,e),locator:C.makeLocator(A,t)})}))};return u.emitTree(i,{configuration:e,json:this.json,stdout:this.context.stdout})}}async function J(e,t){const r=`/-/package${p.npmHttpUtils.getIdentUrl(e)}/dist-tags`;return p.npmHttpUtils.get(r,{configuration:t,ident:e,jsonResponse:!0}).catch(e=>{throw"HTTPError"!==e.name?e:404===e.response.statusCode?new g.lk(l.b.EXCEPTION,"Package not found"):new g.lk(l.b.EXCEPTION,e.toString())})}H.usage=d.Command.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:"\n This command will list all tags of a package from the npm registry.\n\n If the package is not specified, Yarn will default to the current workspace.\n ",examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]}),(0,i.gn)([d.Command.String({required:!1})],H.prototype,"package",void 0),(0,i.gn)([d.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],H.prototype,"json",void 0),(0,i.gn)([d.Command.Path("npm","tag","list")],H.prototype,"execute",null);class q extends s.BaseCommand{async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=C.parseDescriptor(this.package,!0),n=A.range;if(!k().valid(n))throw new d.UsageError(`The range ${I.pretty(e,A.range,I.Type.RANGE)} must be a valid semver version`);const i=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e}),c=I.pretty(e,A,I.Type.IDENT),g=I.pretty(e,n,I.Type.RANGE),u=I.pretty(e,this.tag,I.Type.CODE);return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const r=await J(A,e);Object.prototype.hasOwnProperty.call(r,this.tag)&&r[this.tag]===n&&t.reportWarning(l.b.UNNAMED,`Tag ${u} is already set to version ${g}`);try{const t=`/-/package${p.npmHttpUtils.getIdentUrl(A)}/dist-tags/${encodeURIComponent(this.tag)}`;await p.npmHttpUtils.put(t,n,{configuration:e,registry:i,ident:A,jsonRequest:!0,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}t.hasErrors()||t.reportInfo(l.b.UNNAMED,`Tag ${u} added to version ${g} of package ${c}`)})).exitCode()}}q.usage=d.Command.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:"\n This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.\n ",examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]}),(0,i.gn)([d.Command.String()],q.prototype,"package",void 0),(0,i.gn)([d.Command.String()],q.prototype,"tag",void 0),(0,i.gn)([d.Command.Path("npm","tag","add")],q.prototype,"execute",null);var z=r(15966);class W extends s.BaseCommand{async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=C.parseIdent(this.package),n=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e}),i=I.pretty(e,this.tag,I.Type.CODE),c=I.pretty(e,A,I.Type.IDENT),g=await J(A,e);if(!Object.prototype.hasOwnProperty.call(g,this.tag))throw new d.UsageError(`${i} is not a tag of package ${c}`);return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{try{const t=`/-/package${p.npmHttpUtils.getIdentUrl(A)}/dist-tags/${encodeURIComponent(this.tag)}`;await p.npmHttpUtils.del(t,{configuration:e,registry:n,ident:A,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}t.hasErrors()||t.reportInfo(l.b.UNNAMED,`Tag ${i} removed from package ${c}`)})).exitCode()}}W.schema=z.object().shape({tag:z.string().notOneOf(["latest"])}),W.usage=d.Command.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:"\n This command will remove a tag from a package from the npm registry.\n ",examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]}),(0,i.gn)([d.Command.String()],W.prototype,"package",void 0),(0,i.gn)([d.Command.String()],W.prototype,"tag",void 0),(0,i.gn)([d.Command.Path("npm","tag","remove")],W.prototype,"execute",null);class X extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins);let t;t=this.scope&&this.publish?p.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e,type:p.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):this.scope?p.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e}):this.publish?p.npmConfigUtils.getPublishRegistry((await(0,s.openWorkspace)(e,this.context.cwd)).manifest,{configuration:e}):p.npmConfigUtils.getDefaultRegistry({configuration:e});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{try{const A=await p.npmHttpUtils.get("/-/whoami",{configuration:e,registry:t,authType:p.npmHttpUtils.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?C.makeIdent(this.scope,""):void 0});r.reportInfo(l.b.UNNAMED,A.username)}catch(e){if("HTTPError"!==e.name)throw e;401===e.response.statusCode||403===e.response.statusCode?r.reportError(l.b.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired"):r.reportError(l.b.AUTHENTICATION_INVALID,e.toString())}})).exitCode()}}X.usage=d.Command.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Print username for the registry configured for a given scope"})],X.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Print username for the publish registry"})],X.prototype,"publish",void 0),(0,i.gn)([d.Command.Path("npm","whoami")],X.prototype,"execute",null);const V={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:o.a2.STRING,default:null}},commands:[D,F,R,P,Y,q,H,W,X]}},14224:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>W,npmConfigUtils:()=>A,npmHttpUtils:()=>n,npmPublishUtils:()=>o});var A={};r.r(A),r.d(A,{RegistryType:()=>l,getAuthConfiguration:()=>Q,getDefaultRegistry:()=>y,getPublishRegistry:()=>E,getRegistryConfiguration:()=>m,getScopeConfiguration:()=>w,getScopeRegistry:()=>B,normalizeRegistry:()=>I});var n={};r.r(n),r.d(n,{AuthType:()=>u,del:()=>K,get:()=>v,getIdentUrl:()=>b,handleInvalidAuthenticationError:()=>D,post:()=>S,put:()=>k});var o={};r.r(o),r.d(o,{makePublishBody:()=>J});var i=r(39922),s=r(54143),a=r(72785),c=r(53887),g=r.n(c);var l,u,h=r(79669),p=r(35691),d=r(92659),C=r(61899),f=r(78835);function I(e){return e.replace(/\/$/,"")}function E(e,{configuration:t}){return e.publishConfig&&e.publishConfig.registry?I(e.publishConfig.registry):e.name?B(e.name.scope,{configuration:t,type:l.PUBLISH_REGISTRY}):y({configuration:t,type:l.PUBLISH_REGISTRY})}function B(e,{configuration:t,type:r=l.FETCH_REGISTRY}){const A=w(e,{configuration:t});if(null===A)return y({configuration:t,type:r});const n=A.get(r);return null===n?y({configuration:t,type:r}):I(n)}function y({configuration:e,type:t=l.FETCH_REGISTRY}){const r=e.get(t);return I(null!==r?r:e.get(l.FETCH_REGISTRY))}function m(e,{configuration:t}){const r=t.get("npmRegistries"),A=r.get(e);if(void 0!==A)return A;const n=r.get(e.replace(/^[a-z]+:/,""));return void 0!==n?n:null}function w(e,{configuration:t}){if(null===e)return null;const r=t.get("npmScopes").get(e);return r||null}function Q(e,{configuration:t,ident:r}){const A=r&&w(r.scope,{configuration:t});if((null==A?void 0:A.get("npmAuthIdent"))||(null==A?void 0:A.get("npmAuthToken")))return A;return m(e,{configuration:t})||t}async function D(e,{attemptedAs:t,registry:r,headers:A,configuration:n}){if("HTTPError"===e.name&&401===e.response.statusCode)throw new p.lk(d.b.AUTHENTICATION_INVALID,`Invalid authentication (${"string"!=typeof t?"as "+await async function(e,t,{configuration:r}){var A;if(void 0===t||void 0===t.authorization)return"an anonymous user";try{const n=await h.get(new f.URL(e+"/-/whoami").href,{configuration:r,headers:t,jsonResponse:!0});return null!==(A=n.username)&&void 0!==A?A:"an unknown user"}catch(e){return"an unknown user"}}(r,A,{configuration:n}):"attempted as "+t})`)}function b(e){return e.scope?`/@${e.scope}%2f${e.name}`:"/"+e.name}async function v(e,{configuration:t,headers:r,ident:A,authType:n,registry:o,...i}){if(A&&void 0===o&&(o=B(A.scope,{configuration:t})),A&&A.scope&&void 0===n&&(n=u.BEST_EFFORT),"string"!=typeof o)throw new Error("Assertion failed: The registry should be a string");const s=F(o,{authType:n,configuration:t,ident:A});let a;s&&(r={...r,authorization:s});try{a=new f.URL(e)}catch(t){a=new f.URL(o+e)}try{return await h.get(a.href,{configuration:t,headers:r,...i})}catch(e){throw await D(e,{registry:o,configuration:t,headers:r}),e}}async function S(e,t,{attemptedAs:r,configuration:A,headers:n,ident:o,authType:i=u.ALWAYS_AUTH,registry:s,...a}){if(o&&void 0===s&&(s=B(o.scope,{configuration:A})),"string"!=typeof s)throw new Error("Assertion failed: The registry should be a string");const c=F(s,{authType:i,configuration:A,ident:o});c&&(n={...n,authorization:c});try{return await h.post(s+e,t,{configuration:A,headers:n,...a})}catch(o){if(!M(o))throw await D(o,{attemptedAs:r,registry:s,configuration:A,headers:n}),o;const i=await N(),c={...n,...R(i)};try{return await h.post(`${s}${e}`,t,{configuration:A,headers:c,...a})}catch(e){throw await D(e,{attemptedAs:r,registry:s,configuration:A,headers:n}),e}}}async function k(e,t,{attemptedAs:r,configuration:A,headers:n,ident:o,authType:i=u.ALWAYS_AUTH,registry:s,...a}){if(o&&void 0===s&&(s=B(o.scope,{configuration:A})),"string"!=typeof s)throw new Error("Assertion failed: The registry should be a string");const c=F(s,{authType:i,configuration:A,ident:o});c&&(n={...n,authorization:c});try{return await h.put(s+e,t,{configuration:A,headers:n,...a})}catch(o){if(!M(o))throw await D(o,{attemptedAs:r,registry:s,configuration:A,headers:n}),o;const i=await N(),c={...n,...R(i)};try{return await h.put(`${s}${e}`,t,{configuration:A,headers:c,...a})}catch(e){throw await D(e,{attemptedAs:r,registry:s,configuration:A,headers:n}),e}}}async function K(e,{attemptedAs:t,configuration:r,headers:A,ident:n,authType:o=u.ALWAYS_AUTH,registry:i,...s}){if(n&&void 0===i&&(i=B(n.scope,{configuration:r})),"string"!=typeof i)throw new Error("Assertion failed: The registry should be a string");const a=F(i,{authType:o,configuration:r,ident:n});a&&(A={...A,authorization:a});try{return await h.del(i+e,{configuration:r,headers:A,...s})}catch(n){if(!M(n))throw await D(n,{attemptedAs:t,registry:i,configuration:r,headers:A}),n;const o=await N(),a={...A,...R(o)};try{return await h.del(`${i}${e}`,{configuration:r,headers:a,...s})}catch(e){throw await D(e,{attemptedAs:t,registry:i,configuration:r,headers:A}),e}}}function F(e,{authType:t=u.CONFIGURATION,configuration:r,ident:A}){const n=Q(e,{configuration:r,ident:A}),o=function(e,t){switch(t){case u.CONFIGURATION:return e.get("npmAlwaysAuth");case u.BEST_EFFORT:case u.ALWAYS_AUTH:return!0;case u.NO_AUTH:return!1;default:throw new Error("Unreachable")}}(n,t);if(!o)return null;if(n.get("npmAuthToken"))return"Bearer "+n.get("npmAuthToken");if(n.get("npmAuthIdent"))return"Basic "+n.get("npmAuthIdent");if(o&&t!==u.BEST_EFFORT)throw new p.lk(d.b.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}async function N(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";const{otp:e}=await(0,C.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return e}function M(e){if("HTTPError"!==e.name)return!1;try{return e.response.headers["www-authenticate"].split(/,\s*/).map(e=>e.toLowerCase()).includes("otp")}catch(e){return!1}}function R(e){return{"npm-otp":e}}!function(e){e.FETCH_REGISTRY="npmRegistryServer",e.PUBLISH_REGISTRY="npmPublishRegistry"}(l||(l={})),function(e){e[e.NO_AUTH=0]="NO_AUTH",e[e.BEST_EFFORT=1]="BEST_EFFORT",e[e.CONFIGURATION=2]="CONFIGURATION",e[e.ALWAYS_AUTH=3]="ALWAYS_AUTH"}(u||(u={}));class x{supports(e,t){if(!e.reference.startsWith("npm:"))return!1;const r=new f.URL(e.reference);return!!g().valid(r.pathname)&&!r.searchParams.has("__archiveUrl")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote registry"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let r;try{r=await v(x.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch(A){r=await v(x.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await a.convertToZip(r,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:s.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:r}){let A=B(e.scope,{configuration:r});const n=x.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),A=A.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),(t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"))===A+n||t===A+n.replace(/%2f/g,"/")}static getLocatorUrl(e){const t=g().clean(e.reference.slice("npm:".length));if(null===t)throw new p.lk(d.b.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${b(e)}/-/${e.name}-${t}.tgz`}}var L=r(46611),P=r(36545),O=r(32485);const U=s.makeIdent(null,"node-gyp"),T=/\b(node-gyp|prebuild-install)\b/;var j=r(52779);var Y=r(49881),G=r(76417),H=r(10129);async function J(e,t,{access:r,tag:A,registry:n}){const o=e.project.configuration,i=e.manifest.name,a=e.manifest.version,c=s.stringifyIdent(i),g=(0,G.createHash)("sha1").update(t).digest("hex"),l=H.Sd(t).toString();void 0===r&&(r=e.manifest.publishConfig&&"string"==typeof e.manifest.publishConfig.access?e.manifest.publishConfig.access:null!==o.get("npmPublishAccess")?o.get("npmPublishAccess"):i.scope?"restricted":"public");const u=await Y.packUtils.genPackageManifest(e),h=`${c}-${a}.tgz`,p=new f.URL(`${c}/-/${h}`,n);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:t.toString("base64"),length:t.length}},name:c,access:r,"dist-tags":{[A]:a},versions:{[a]:{...u,_id:`${c}@${a}`,name:c,version:a,dist:{shasum:g,integrity:l,tarball:p.toString()}}}}}const q={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:i.a2.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:i.a2.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:i.a2.SECRET,default:null}},z={npmPublishRegistry:{description:"Registry to push packages to",type:i.a2.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:i.a2.STRING,default:"https://registry.yarnpkg.com"}},W={configuration:{...q,...z,npmScopes:{description:"Settings per package scope",type:i.a2.MAP,valueDefinition:{description:"",type:i.a2.SHAPE,properties:{...q,...z}}},npmRegistries:{description:"Settings per registry",type:i.a2.MAP,normalizeKeys:I,valueDefinition:{description:"",type:i.a2.SHAPE,properties:{...q}}}},fetchers:[class{supports(e,t){if(!e.reference.startsWith("npm:"))return!1;const{selector:r,params:A}=s.parseRange(e.reference);return!!g().valid(r)&&(null!==A&&"string"==typeof A.__archiveUrl)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote server"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){const{params:r}=s.parseRange(e.reference);if(null===r||"string"!=typeof r.__archiveUrl)throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");const A=await v(r.__archiveUrl,{configuration:t.project.configuration,ident:e});return await a.convertToZip(A,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:s.getIdentVendorPath(e),stripComponents:1})}},x],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!s.tryParseDescriptor(e.range.slice("npm:".length),!0)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){const r=s.parseDescriptor(e.range.slice("npm:".length),!0);return t.resolver.getResolutionDependencies(r,t)}async getCandidates(e,t,r){const A=s.parseDescriptor(e.range.slice("npm:".length),!0);return await r.resolver.getCandidates(A,t,r)}async getSatisfying(e,t,r){const A=s.parseDescriptor(e.range.slice("npm:".length),!0);return r.resolver.getSatisfying(A,t,r)}resolve(e,t){throw new Error("Unreachable")}},class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!P.validRange(e.range.slice("npm:".length))}supportsLocator(e,t){if(!e.reference.startsWith("npm:"))return!1;const{selector:r}=s.parseRange(e.reference);return!!g().valid(r)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=P.validRange(e.range.slice("npm:".length));if(null===A)throw new Error("Expected a valid range, got "+e.range.slice("npm:".length));const n=await v(b(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0}),o=Object.keys(n.versions).map(e=>new(g().SemVer)(e)).filter(e=>A.test(e)),i=o.filter(e=>!n.versions[e.raw].deprecated),a=i.length>0?i:o;return a.sort((e,t)=>-e.compare(t)),a.map(t=>{const A=s.makeLocator(e,"npm:"+t.raw),o=n.versions[t.raw].dist.tarball;return x.isConventionalTarballUrl(A,o,{configuration:r.project.configuration})?A:s.bindLocator(A,{__archiveUrl:o})})}async getSatisfying(e,t,r){const A=P.validRange(e.range.slice("npm:".length));if(null===A)throw new Error("Expected a valid range, got "+e.range.slice("npm:".length));return t.map(e=>{try{return new(g().SemVer)(e.slice("npm:".length))}catch(e){return null}}).filter(e=>null!==e).filter(e=>A.test(e)).sort((e,t)=>-e.compare(t)).map(t=>s.makeLocator(e,"npm:"+t.raw))}async resolve(e,t){const{selector:r}=s.parseRange(e.reference),A=g().clean(r);if(null===A)throw new p.lk(d.b.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");const n=await v(b(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new p.lk(d.b.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,A))throw new p.lk(d.b.REMOTE_NOT_FOUND,`Registry failed to return reference "${A}"`);const o=new L.G;if(o.load(n.versions[A]),!o.dependencies.has(U.identHash)&&!o.peerDependencies.has(U.identHash))for(const r of o.scripts.values())if(r.match(T)){o.dependencies.set(U.identHash,s.makeDescriptor(U,"latest")),t.report.reportWarning(d.b.NODE_GYP_INJECTED,s.prettyLocator(t.project.configuration,e)+": Implicit dependencies on node-gyp are discouraged");break}return"string"==typeof o.raw.deprecated&&t.report.reportWarning(d.b.DEPRECATED_PACKAGE,`${s.prettyLocator(t.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),{...e,version:A,languageName:"node",linkType:O.Un.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}},class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!j.c.test(e.range.slice("npm:".length))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=e.range.slice("npm:".length),n=await v(b(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new p.lk(d.b.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');const o=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,A))throw new p.lk(d.b.REMOTE_NOT_FOUND,`Registry failed to return tag "${A}"`);const i=o[A],a=s.makeLocator(e,"npm:"+i),c=n.versions[i].dist.tarball;return x.isConventionalTarballUrl(a,c,{configuration:r.project.configuration})?[a]:[s.bindLocator(a,{__archiveUrl:c})]}async getSatisfying(e,t,r){return null}async resolve(e,t){throw new Error("Unreachable")}}]}},49881:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>T,packUtils:()=>A});var A={};r.r(A),r.d(A,{genPackList:()=>N,genPackStream:()=>K,genPackageManifest:()=>F,hasPackScripts:()=>S,prepareForPack:()=>k});var n=r(54143),o=r(35691),i=r(92659),s=r(36370),a=r(40822);class c extends a.Command{}(0,s.gn)([a.Command.String("--cwd",{hidden:!0})],c.prototype,"cwd",void 0);var g=r(46611),l=r(46009);class u extends a.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${l.y1.relative(e,t)} isn't a workspace of ${l.y1.join(e,g.G.fileName)}).`)}}r(63129),r(5864),r(35747);new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);var h=r(71643),p=r(39922);(0,s.gn)([a.Command.Path("--welcome")],class extends c{async execute(){const e=await p.VK.find(this.context.cwd,this.context.plugins);this.context.stdout.write((e=>`\n${h.pretty(e,"Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${h.pretty(e,"https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${h.pretty(e,"https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${h.pretty(e,"https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${h.pretty(e,"find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${h.pretty(e,"yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${h.pretty(e,"yarn set version from sources","magenta")}\n\nSee you later 👋\n`)(e).trim()+"\n")}}.prototype,"execute",null);var d=r(85824),C=r(28148),f=r(33720),I=r(15815),E=r(43896),B=r(63088),y=r(10489),m=r(2401),w=r.n(m),Q=r(59938),D=r(78761);const b=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],v=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function S(e){return!!B.hasWorkspaceScript(e,"prepack")||!!B.hasWorkspaceScript(e,"postpack")}async function k(e,{report:t},r){await B.maybeExecuteWorkspaceLifecycleScript(e,"prepack",{report:t});try{await r()}finally{await B.maybeExecuteWorkspaceLifecycleScript(e,"postpack",{report:t})}}async function K(e,t){var r,A;void 0===t&&(t=await N(e));const n=new Set;for(const t of null!==(A=null===(r=e.manifest.publishConfig)||void 0===r?void 0:r.executableFiles)&&void 0!==A?A:new Set)n.add(l.y1.normalize(t));for(const t of e.manifest.bin.values())n.add(l.y1.normalize(t));const o=Q.pack();process.nextTick(async()=>{for(const r of t){const t=l.y1.normalize(r),A=l.y1.resolve(e.cwd,t),i=l.y1.join("package",t),s=await E.xfs.lstatPromise(A),a={name:i,mtime:new Date(3155328e5)},c=n.has(t)?493:420;let g,u;const h=new Promise((e,t)=>{g=e,u=t}),p=e=>{e?u(e):g()};if(s.isFile()){let r;r="package.json"===t?Buffer.from(JSON.stringify(await F(e),null,2)):await E.xfs.readFilePromise(A),o.entry({...a,mode:c,type:"file"},r,p)}else s.isSymbolicLink()?o.entry({...a,mode:c,type:"symlink",linkname:await E.xfs.readlinkPromise(A)},p):p(new Error(`Unsupported file type ${s.mode} for ${l.cS.fromPortablePath(t)}`));await h}o.finalize()});const i=(0,D.createGzip)();return o.pipe(i),i}async function F(e){const t=JSON.parse(JSON.stringify(e.manifest.raw));return await e.project.configuration.triggerHook(e=>e.beforeWorkspacePacking,e,t),t}async function N(e){var t,r,A,n,o,i,s,a;const c=e.project,g=c.configuration,u={accept:[],reject:[]};for(const e of v)u.reject.push(e);for(const e of b)u.accept.push(e);u.reject.push(g.get("rcFilename"));const h=t=>{if(null===t||!t.startsWith(e.cwd+"/"))return;const r=l.y1.relative(e.cwd,t),A=l.y1.resolve(l.LZ.root,r);u.reject.push(A)};h(l.y1.resolve(c.cwd,g.get("lockfileFilename"))),h(g.get("bstatePath")),h(g.get("cacheFolder")),h(g.get("globalFolder")),h(g.get("installStatePath")),h(g.get("virtualFolder")),h(g.get("yarnPath")),await g.triggerHook(e=>e.populateYarnPaths,c,e=>{h(e)});for(const t of c.workspaces){const r=l.y1.relative(e.cwd,t.cwd);""===r||r.match(/^(\.\.)?\//)||u.reject.push("/"+r)}const p={accept:[],reject:[]},d=null!==(r=null===(t=e.manifest.publishConfig)||void 0===t?void 0:t.main)&&void 0!==r?r:e.manifest.main,C=null!==(n=null===(A=e.manifest.publishConfig)||void 0===A?void 0:A.module)&&void 0!==n?n:e.manifest.module,f=null!==(i=null===(o=e.manifest.publishConfig)||void 0===o?void 0:o.browser)&&void 0!==i?i:e.manifest.browser,I=null!==(a=null===(s=e.manifest.publishConfig)||void 0===s?void 0:s.bin)&&void 0!==a?a:e.manifest.bin;null!=d&&p.accept.push(l.y1.resolve(l.LZ.root,d)),null!=C&&p.accept.push(l.y1.resolve(l.LZ.root,C)),"string"==typeof f&&p.accept.push(l.y1.resolve(l.LZ.root,f));for(const e of I.values())p.accept.push(l.y1.resolve(l.LZ.root,e));if(f instanceof Map)for(const[e,t]of f.entries())p.accept.push(l.y1.resolve(l.LZ.root,e)),"string"==typeof t&&p.accept.push(l.y1.resolve(l.LZ.root,t));const E=null!==e.manifest.files;if(E){p.reject.push("/*");for(const t of e.manifest.files)R(p.accept,t,{cwd:l.LZ.root})}return await async function(e,{hasExplicitFileList:t,globalList:r,ignoreList:A}){const n=[],o=new y.n(e),i=[[l.LZ.root,[A]]];for(;i.length>0;){const[e,A]=i.pop(),s=await o.lstatPromise(e);if(!x(e,{globalList:r,ignoreLists:s.isDirectory()?null:A}))if(s.isDirectory()){const n=await o.readdirPromise(e);let s=!1,a=!1;if(!t||e!==l.LZ.root)for(const e of n)s=s||".gitignore"===e,a=a||".npmignore"===e;const c=a?await M(o,e,".npmignore"):s?await M(o,e,".gitignore"):null;let g=null!==c?[c].concat(A):A;x(e,{globalList:r,ignoreLists:A})&&(g=[...A,{accept:[],reject:["**/*"]}]);for(const t of n)i.push([l.y1.resolve(e,t),g])}else(s.isFile()||s.isSymbolicLink())&&n.push(l.y1.relative(l.LZ.root,e))}return n.sort()}(e.cwd,{hasExplicitFileList:E,globalList:u,ignoreList:p})}async function M(e,t,r){const A={accept:[],reject:[]},n=await e.readFilePromise(l.y1.join(t,r),"utf8");for(const e of n.split(/\n/g))R(A.reject,e,{cwd:t});return A}function R(e,t,{cwd:r}){const A=t.trim();""!==A&&"#"!==A[0]&&e.push(function(e,{cwd:t}){const r="!"===e[0];return r&&(e=e.slice(1)),e.match(/\.{0,1}\//)&&(e=l.y1.resolve(t,e)),r&&(e="!"+e),e}(A,{cwd:r}))}function x(e,{globalList:t,ignoreLists:r}){if(L(e,t.accept))return!1;if(L(e,t.reject))return!0;if(null!==r)for(const t of r){if(L(e,t.accept))return!1;if(L(e,t.reject))return!0}return!1}function L(e,t){let r=t;const A=[];for(let e=0;e{await k(r,{report:t},async()=>{t.reportJson({base:r.cwd});const e=await N(r);for(const r of e)t.reportInfo(null,r),t.reportJson({location:r});if(!this.dryRun){const t=await K(r,e),n=E.xfs.createWriteStream(A);t.pipe(n),await new Promise(e=>{n.on("finish",e)})}}),this.dryRun||(t.reportInfo(i.b.UNNAMED,"Package archive generated in "+h.pretty(e,A,h.Type.PATH)),t.reportJson({output:A}))})).exitCode()}}O.usage=a.Command.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]}),(0,s.gn)([a.Command.Boolean("--install-if-needed",{description:"Run a preliminary `yarn install` if the package contains build scripts"})],O.prototype,"installIfNeeded",void 0),(0,s.gn)([a.Command.Boolean("-n,--dry-run",{description:"Print the file paths without actually generating the package archive"})],O.prototype,"dryRun",void 0),(0,s.gn)([a.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],O.prototype,"json",void 0),(0,s.gn)([a.Command.String("--filename",{hidden:!1,description:"Create the archive at the specified path"}),a.Command.String("-o,--out",{description:"Create the archive at the specified path"})],O.prototype,"out",void 0),(0,s.gn)([a.Command.Path("pack")],O.prototype,"execute",null);const U=["dependencies","devDependencies","peerDependencies"],T={hooks:{beforeWorkspacePacking:(e,t)=>{t.publishConfig&&(t.publishConfig.main&&(t.main=t.publishConfig.main),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.module&&(t.module=t.publishConfig.module),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.bin&&(t.bin=t.publishConfig.bin));const r=e.project;for(const A of U)for(const s of e.manifest.getForScope(A).values()){const e=r.tryWorkspaceByDescriptor(s),a=n.parseRange(s.range);if("workspace:"===a.protocol)if(null===e){if(null===r.tryWorkspaceByIdent(s))throw new o.lk(i.b.WORKSPACE_NOT_FOUND,n.prettyDescriptor(r.configuration,s)+": No local workspace found for this range")}else{let r;r=n.areDescriptorsEqual(s,e.anchoredDescriptor)||"*"===a.selector?e.manifest.version:a.selector,t[A][n.stringifyIdent(s)]=r}}}},commands:[O]}},29936:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>re,patchUtils:()=>A});var A={};r.r(A),r.d(A,{applyPatchFile:()=>S,diffFolders:()=>H,extractPackageToDisk:()=>G,isParentRequired:()=>j,loadPatchFiles:()=>Y,makeDescriptor:()=>O,makeLocator:()=>U,parseDescriptor:()=>x,parseLocator:()=>L,parsePatchFile:()=>D});var n=r(39922),o=r(35691),i=r(92659),s=r(54143),a=r(73632),c=r(43896),g=r(46009),l=r(90739),u=r(75448),h=r(65281),p=r(33720),d=r(6220),C=r(36545),f=r(78420);class I extends Error{constructor(e,t){super("Cannot apply hunk #"+(e+1)),this.hunk=t}}const E=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function B(e){return g.y1.relative(g.LZ.root,g.y1.resolve(g.LZ.root,g.cS.toPortablePath(e)))}function y(e){const t=e.trim().match(E);if(!t)throw new Error(`Bad header line: '${e}'`);return{original:{start:Math.max(Number(t[1]),1),length:Number(t[3]||1)},patched:{start:Math.max(Number(t[4]),1),length:Number(t[6]||1)}}}var m;!function(e){e.Context="context",e.Insertion="insertion",e.Deletion="deletion"}(m||(m={}));const w={"@":"header","-":m.Deletion,"+":m.Insertion," ":m.Context,"\\":"pragma",undefined:m.Context};function Q(e){const t=511&parseInt(e,8);if(420!==t&&493!==t)throw new Error("Unexpected file mode string: "+e);return t}function D(e){const t=e.split(/\n/g);return""===t[t.length-1]&&t.pop(),function(e){const t=[];for(const r of e){const{semverExclusivity:e,diffLineFromPath:A,diffLineToPath:n,oldMode:o,newMode:i,deletedFileMode:s,newFileMode:c,renameFrom:g,renameTo:l,beforeHash:u,afterHash:h,fromPath:p,toPath:d,hunks:C}=r,f=g?"rename":s?"file deletion":c?"file creation":C&&C.length>0?"patch":"mode change";let I=null;switch(f){case"rename":if(!g||!l)throw new Error("Bad parser state: rename from & to not given");t.push({type:"rename",semverExclusivity:e,fromPath:B(g),toPath:B(l)}),I=l;break;case"file deletion":{const r=A||p;if(!r)throw new Error("Bad parse state: no path given for file deletion");t.push({type:"file deletion",semverExclusivity:e,hunk:C&&C[0]||null,path:B(r),mode:Q(s),hash:u})}break;case"file creation":{const r=n||d;if(!r)throw new Error("Bad parse state: no path given for file creation");t.push({type:"file creation",semverExclusivity:e,hunk:C&&C[0]||null,path:B(r),mode:Q(c),hash:h})}break;case"patch":case"mode change":I=d||n;break;default:a.assertNever(f)}I&&o&&i&&o!==i&&t.push({type:"mode change",semverExclusivity:e,path:B(I),oldMode:Q(o),newMode:Q(i)}),I&&C&&C.length&&t.push({type:"patch",semverExclusivity:e,path:B(I),hunks:C,beforeHash:u,afterHash:h})}return t}(function(e){const t=[];let r={semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null},A="parsing header",n=null,o=null;function i(){n&&(o&&(n.parts.push(o),o=null),r.hunks.push(n),n=null)}function s(){i(),t.push(r),r={semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}}for(let t=0;te<0?e:"+"+e;throw new Error(`hunk header integrity check failed (expected @@ ${A(e.header.original.length)} ${A(e.header.patched.length)} @@, got @@ ${A(t)} ${A(r)} @@)`)}}async function v(e,t,r){const A=await e.lstatPromise(t),n=await r();if(void 0!==n&&(t=n),e.lutimesPromise)await e.lutimesPromise(t,A.atime,A.mtime);else{if(A.isSymbolicLink())throw new Error("Cannot preserve the time values of a symlink");await e.utimesPromise(t,A.atime,A.mtime)}}async function S(e,{baseFs:t=new f.S,dryRun:r=!1,version:A=null}={}){for(const n of e)if(null===n.semverExclusivity||null===A||C.satisfiesWithPrereleases(A,n.semverExclusivity))switch(n.type){case"file deletion":if(r){if(!t.existsSync(n.path))throw new Error("Trying to delete a file that doesn't exist: "+n.path)}else await v(t,g.y1.dirname(n.path),async()=>{await t.unlinkPromise(n.path)});break;case"rename":if(r){if(!t.existsSync(n.fromPath))throw new Error("Trying to move a file that doesn't exist: "+n.fromPath)}else await v(t,g.y1.dirname(n.fromPath),async()=>{await v(t,g.y1.dirname(n.toPath),async()=>{await v(t,n.fromPath,async()=>(await t.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(t.existsSync(n.path))throw new Error("Trying to create a file that already exists: "+n.path)}else{const e=n.hunk?n.hunk.parts[0].lines.join("\n")+(n.hunk.parts[0].noNewlineAtEndOfFile?"":"\n"):"";await t.mkdirpPromise(g.y1.dirname(n.path),{chmod:493,utimes:[315532800,315532800]}),await t.writeFilePromise(n.path,e,{mode:n.mode}),await t.utimesPromise(n.path,315532800,315532800)}break;case"patch":await v(t,n.path,async()=>{await F(n,{baseFs:t,dryRun:r})});break;case"mode change":{const e=(await t.statPromise(n.path)).mode;if(k(n.newMode)!==k(e))continue;await v(t,n.path,async()=>{await t.chmodPromise(n.path,n.newMode)})}break;default:a.assertNever(n)}}function k(e){return(64&e)>0}function K(e){return e.replace(/\s+$/,"")}async function F({hunks:e,path:t},{baseFs:r,dryRun:A=!1}){const n=await r.statSync(t).mode,o=(await r.readFileSync(t,"utf8")).split(/\n/),i=[];let s=0,c=0;for(const t of e){const r=Math.max(c,t.header.patched.start+s),A=Math.max(0,r-c),n=Math.max(0,o.length-r-t.header.original.length),a=Math.max(A,n);let g=0,l=0,u=null;for(;g<=a;){if(g<=A&&(l=r-g,u=N(t,o,l),null!==u)){g=-g;break}if(g<=n&&(l=r+g,u=N(t,o,l),null!==u))break;g+=1}if(null===u)throw new I(e.indexOf(t),t);i.push(u),s+=g,c=l+t.header.original.length}if(A)return;let g=0;for(const e of i)for(const t of e)switch(t.type){case"splice":{const e=t.index+g;o.splice(e,t.numToDelete,...t.linesToInsert),g+=t.linesToInsert.length-t.numToDelete}break;case"pop":o.pop();break;case"push":o.push(t.line);break;default:a.assertNever(t)}await r.writeFilePromise(t,o.join("\n"),{mode:n})}function N(e,t,r){const A=[];for(const o of e.parts)switch(o.type){case m.Context:case m.Deletion:for(const e of o.lines){const A=t[r];if(null==A||(n=e,K(A)!==K(n)))return null;r+=1}o.type===m.Deletion&&(A.push({type:"splice",index:r-o.lines.length,numToDelete:o.lines.length,linesToInsert:[]}),o.noNewlineAtEndOfFile&&A.push({type:"push",line:""}));break;case m.Insertion:A.push({type:"splice",index:r,numToDelete:0,linesToInsert:o.lines}),o.noNewlineAtEndOfFile&&A.push({type:"pop"});break;default:a.assertNever(o.type)}var n;return A}const M=/^builtin<([^>]+)>$/;function R(e,t){const{source:r,selector:A,params:n}=s.parseRange(e);if(null===r)throw new Error("Patch locators must explicitly define their source");const o=A?A.split(/&/).map(e=>g.cS.toPortablePath(e)):[],i=n&&"string"==typeof n.locator?s.parseLocator(n.locator):null,a=n&&"string"==typeof n.version?n.version:null;return{parentLocator:i,sourceItem:t(r),patchPaths:o,sourceVersion:a}}function x(e){const{sourceItem:t,...r}=R(e.range,s.parseDescriptor);return{...r,sourceDescriptor:t}}function L(e){const{sourceItem:t,...r}=R(e.reference,s.parseLocator);return{...r,sourceLocator:t}}function P({parentLocator:e,sourceItem:t,patchPaths:r,sourceVersion:A,patchHash:n},o){const i=null!==e?{locator:s.stringifyLocator(e)}:{},a=void 0!==A?{version:A}:{},c=void 0!==n?{hash:n}:{};return s.makeRange({protocol:"patch:",source:o(t),selector:r.join("&"),params:{...a,...c,...i}})}function O(e,{parentLocator:t,sourceDescriptor:r,patchPaths:A}){return s.makeLocator(e,P({parentLocator:t,sourceItem:r,patchPaths:A},s.stringifyDescriptor))}function U(e,{parentLocator:t,sourcePackage:r,patchPaths:A,patchHash:n}){return s.makeLocator(e,P({parentLocator:t,sourceItem:r,sourceVersion:r.version,patchPaths:A,patchHash:n},s.stringifyLocator))}function T({onAbsolute:e,onRelative:t,onBuiltin:r},A){const n=A.match(M);return null!==n?r(n[1]):g.y1.isAbsolute(A)?e(A):t(A)}function j(e){return T({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},e)}async function Y(e,t,r){const A=null!==e?await r.fetcher.fetch(e,r):null,n=A&&A.localPath?{packageFs:new u.M(g.LZ.root),prefixPath:g.y1.relative(g.LZ.root,A.localPath)}:A;A&&A!==n&&A.releaseFs&&A.releaseFs();return(await a.releaseAfterUseAsync(async()=>await Promise.all(t.map(async e=>T({onAbsolute:async()=>await c.xfs.readFilePromise(e,"utf8"),onRelative:async()=>{if(null===A)throw new Error("Assertion failed: The parent locator should have been fetched");return await A.packageFs.readFilePromise(e,"utf8")},onBuiltin:async e=>await r.project.configuration.firstHook(e=>e.getBuiltinPatch,r.project,e)},e))))).map(e=>"string"==typeof e?e.replace(/\r\n?/g,"\n"):e)}async function G(e,{cache:t,project:r}){const A=r.storedChecksums,n=new p.$,o=r.configuration.makeFetcher(),i=await o.fetch(e,{cache:t,project:r,fetcher:o,checksums:A,report:n}),a=await c.xfs.mktempPromise();return await c.xfs.copyPromise(a,i.prefixPath,{baseFs:i.packageFs}),await c.xfs.writeJsonPromise(g.y1.join(a,".yarn-patch.json"),{locator:s.stringifyLocator(e)}),c.xfs.detachTemp(a),a}async function H(e,t){const r=g.cS.fromPortablePath(e).replace(/\\/g,"/"),A=g.cS.fromPortablePath(t).replace(/\\/g,"/"),{stdout:n}=await d.execvp("git",["diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index",r,A],{cwd:g.cS.toPortablePath(process.cwd())}),o=r.startsWith("/")?e=>e.slice(1):e=>e;return n.replace(new RegExp(`(a|b)(${a.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp("(a|b)"+a.escapeRegExp(`/${o(A)}/`),"g"),"$1/").replace(new RegExp(a.escapeRegExp(r+"/"),"g"),"").replace(new RegExp(a.escapeRegExp(A+"/"),"g"),"")}var J=r(71643);function q(e,{configuration:t,report:r}){for(const A of e.parts)for(const e of A.lines)switch(A.type){case m.Context:r.reportInfo(null," "+J.pretty(t,e,"grey"));break;case m.Deletion:r.reportError(i.b.FROZEN_LOCKFILE_EXCEPTION,"- "+J.pretty(t,e,J.Type.REMOVED));break;case m.Insertion:r.reportError(i.b.FROZEN_LOCKFILE_EXCEPTION,"+ "+J.pretty(t,e,J.Type.ADDED));break;default:a.assertNever(A.type)}}var z=r(20624);var W=r(36370),X=r(25413),V=r(85824),_=r(28148),Z=r(40822);class $ extends X.BaseCommand{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await V.I.find(e,this.context.cwd),A=await _.C.find(e);if(!r)throw new X.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const o=g.y1.resolve(this.context.cwd,g.cS.toPortablePath(this.patchFolder)),i=g.y1.join(o,".yarn-patch.json");if(!c.xfs.existsSync(i))throw new Z.UsageError("The argument folder didn't get created by 'yarn patch'");const a=await c.xfs.readJsonPromise(i),l=s.parseLocator(a.locator,!0);if(!t.storedPackages.has(l.locatorHash))throw new Z.UsageError("No package found in the project for the given locator");const u=await G(l,{cache:A,project:t});this.context.stdout.write(await H(u,o))}}$.usage=Z.Command.Usage({description:"\n This will turn the folder passed in parameter into a patchfile suitable for consumption with the `patch:` protocol.\n\n Only folders generated through `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "}),(0,W.gn)([Z.Command.String()],$.prototype,"patchFolder",void 0),(0,W.gn)([Z.Command.Path("patch-commit")],$.prototype,"execute",null);var ee=r(15815);class te extends X.BaseCommand{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await V.I.find(e,this.context.cwd),A=await _.C.find(e);if(!r)throw new X.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();let o=s.parseLocator(this.package);if("unknown"===o.reference){const r=a.mapAndFilter([...t.storedPackages.values()],e=>e.identHash!==o.identHash||s.isVirtualLocator(e)?a.mapAndFilter.skip:e);if(0===r.length)throw new Z.UsageError("No package found in the project for the given locator");if(r.length>1)throw new Z.UsageError("Multiple candidate packages found; explicitly choose one of them (use `yarn why ` to get more information as to who depends on them):\n"+r.map(t=>"\n- "+s.prettyLocator(e,t)).join(""));o=r[0]}if(!t.storedPackages.has(o.locatorHash))throw new Z.UsageError("No package found in the project for the given locator");await ee.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const n=await G(o,{cache:A,project:t});r.reportInfo(i.b.UNNAMED,`Package ${s.prettyLocator(e,o)} got extracted with success!`),r.reportInfo(i.b.UNNAMED,"You can now edit the following folder: "+J.pretty(e,g.cS.fromPortablePath(n),"magenta")),r.reportInfo(i.b.UNNAMED,`Once you are done run ${J.pretty(e,"yarn patch-commit "+g.cS.fromPortablePath(n),"cyan")} and Yarn will store a patchfile based on your changes.`)})}}te.usage=Z.Command.Usage({description:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '}),(0,W.gn)([Z.Command.String()],te.prototype,"package",void 0),(0,W.gn)([Z.Command.Path("patch")],te.prototype,"execute",null);const re={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:n.a2.BOOLEAN,default:!1}},commands:[$,te],fetchers:[class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){const{parentLocator:r,sourceLocator:A,sourceVersion:n,patchPaths:p}=L(e),d=await Y(r,p,t),C=await c.xfs.mktempPromise(),f=g.y1.join(C,"patched.zip"),E=await t.fetcher.fetch(A,t),B=s.getIdentVendorPath(e),y=await(0,h.getLibzipPromise)(),m=new l.d(f,{libzip:y,create:!0,level:t.project.configuration.get("compressionLevel")});await m.mkdirpPromise(B),await a.releaseAfterUseAsync(async()=>{await m.copyPromise(B,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs);const w=new u.M(g.y1.resolve(g.LZ.root,B),{baseFs:m});for(const e of d)if(null!==e)try{await S(D(e),{baseFs:w,version:n})}catch(e){if(!(e instanceof I))throw e;const r=t.project.configuration.get("enableInlineHunks"),A=r?"":" (set enableInlineHunks for details)";throw new o.lk(i.b.PATCH_HUNK_FAILED,e.message+A,A=>{r&&q(e.hunk,{configuration:t.project.configuration,report:A})})}return m}}],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){const{patchPaths:A}=x(e);return A.every(e=>!j(e))?e:s.bindDescriptor(e,{locator:s.stringifyLocator(t)})}getResolutionDependencies(e,t){const{sourceDescriptor:r}=x(e);return[r]}async getCandidates(e,t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const{parentLocator:A,sourceDescriptor:n,patchPaths:o}=x(e),i=await Y(A,o,r.fetchOptions),s=t.get(n.descriptorHash);if(void 0===s)throw new Error("Assertion failed: The dependency should have been resolved");return[U(e,{parentLocator:A,sourcePackage:s,patchPaths:o,patchHash:z.makeHash("2",...i).slice(0,6)})]}async getSatisfying(e,t,r){return null}async resolve(e,t){const{sourceLocator:r}=L(e);return{...await t.resolver.resolve(r,t),...e}}}]}},83228:(e,t,r)=>{"use strict";r.r(t),r.d(t,{PnpInstaller:()=>k,PnpLinker:()=>S,default:()=>Y,getPnpPath:()=>T,jsInstallUtils:()=>A,pnpUtils:()=>n,quotePathIfNeeded:()=>j});var A={};r.r(A),r.d(A,{checkAndReportManifestCompatibility:()=>y,extractBuildScripts:()=>m,getExtractHint:()=>Q,hasBindingGyp:()=>D});var n={};r.r(n),r.d(n,{getUnpluggedPath:()=>b});var o=r(39922),i=r(43896),s=r(46009),a=r(53887),c=r.n(a),g=r(54143),l=r(71643),u=r(73632),h=r(32485),p=r(92659),d=r(46611),C=r(17674),f=r(75448),I=r(34432),E=r(40822),B=r(92409);function y(e,t,r,{configuration:A,report:n}){return d.G.isManifestFieldCompatible(t.manifest.os,process.platform)?!!d.G.isManifestFieldCompatible(t.manifest.cpu,process.arch)||(null==n||n.reportWarningOnce(p.b.INCOMPATIBLE_CPU,`${g.prettyLocator(A,e)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(null==n||n.reportWarningOnce(p.b.INCOMPATIBLE_OS,`${g.prettyLocator(A,e)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function m(e,t,r,{configuration:A,report:n}){const o=[];for(const e of["preinstall","install","postinstall"])t.manifest.scripts.has(e)&&o.push([B.k.SCRIPT,e]);if(!t.manifest.scripts.has("install")&&t.misc.hasBindingGyp&&o.push([B.k.SHELLCODE,"node-gyp rebuild"]),0===o.length)return[];if(!A.get("enableScripts")&&!r.built)return null==n||n.reportWarningOnce(p.b.DISABLED_BUILD_SCRIPTS,g.prettyLocator(A,e)+" lists build scripts, but all build scripts have been disabled."),[];if(e.linkType!==h.Un.HARD)return null==n||n.reportWarningOnce(p.b.SOFT_LINK_BUILD,g.prettyLocator(A,e)+" lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored."),[];if(r&&!1===r.built)return null==n||n.reportInfoOnce(p.b.BUILD_DISABLED,g.prettyLocator(A,e)+" lists build scripts, but its build has been explicitly disabled through configuration."),[];return y(e,t,"build",{configuration:A,report:n})?o:[]}const w=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function Q(e){return e.packageFs.getExtractHint({relevantExtensions:w})}function D(e){const t=s.y1.join(e.prefixPath,"binding.gyp");return e.packageFs.existsSync(t)}function b(e,{configuration:t}){return s.y1.resolve(t.get("pnpUnpluggedFolder"),g.slugifyLocator(e))}const v=new Set([g.makeIdent(null,"nan").identHash,g.makeIdent(null,"node-gyp").identHash,g.makeIdent(null,"node-pre-gyp").identHash,g.makeIdent(null,"node-addon-api").identHash,g.makeIdent(null,"fsevents").identHash]);class S{constructor(){this.mode="strict"}supportsPackage(e,t){return"pnp"===t.project.configuration.get("nodeLinker")&&t.project.configuration.get("pnpMode")===this.mode}async findPackageLocation(e,t){const r=T(t.project).main;if(!i.xfs.existsSync(r))throw new E.UsageError(`The project in ${l.pretty(t.project.configuration,t.project.cwd+"/package.json",l.Type.PATH)} doesn't seem to have been installed - running an install there might help`);const A=u.dynamicRequireNoCache(r),n={name:g.requirableIdent(e),reference:e.reference},o=A.getPackageInformation(n);if(!o)throw new E.UsageError(`Couldn't find ${g.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return s.cS.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){const A=T(t.project).main;if(!i.xfs.existsSync(A))return null;const n=s.cS.fromPortablePath(A),o=u.dynamicRequire(n);delete r.c[n];const a=o.findPackageLocator(s.cS.fromPortablePath(e));return a?g.makeLocator(g.parseIdent(a.name),a.reference):null}makeInstaller(e){return new k(e)}}class k{constructor(e){this.opts=e,this.mode="strict",this.packageRegistry=new Map,this.virtualTemplates=new Map,this.customData={store:new Map},this.unpluggedPaths=new Set,this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,t){const r=g.requirableIdent(e),A=e.reference,n=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!g.isVirtualLocator(e),i=!o&&!n,a=!o&&e.linkType!==h.Un.SOFT;let c=this.customData.store.get(e.locatorHash);void 0===c&&(c=await async function(e,t){var r;const A=null!==(r=await d.G.tryFind(t.prefixPath,{baseFs:t.packageFs}))&&void 0!==r?r:new d.G,n=new Set(["preinstall","install","postinstall"]);for(const e of A.scripts.keys())n.has(e)||A.scripts.delete(e);return{manifest:{os:A.os,cpu:A.cpu,scripts:A.scripts,preferUnplugged:A.preferUnplugged},misc:{extractHint:Q(t),hasBindingGyp:D(t)}}}(0,t),e.linkType===h.Un.HARD&&this.customData.store.set(e.locatorHash,c));const l=this.opts.project.getDependencyMeta(e,e.version),p=i?m(e,c,l,{configuration:this.opts.project.configuration,report:this.opts.report}):[],f=a?await this.unplugPackageIfNeeded(e,c,t,l):t.packageFs;if(s.y1.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);const I=s.y1.resolve(f.getRealPath(),t.prefixPath),E=K(this.opts.project.cwd,I),B=new Map,y=new Set;if(g.isVirtualLocator(e)){for(const t of e.peerDependencies.values())B.set(g.requirableIdent(t),null),y.add(g.stringifyIdent(t));if(!this.opts.project.tryWorkspaceByLocator(e)){const t=g.devirtualizeLocator(e);this.virtualTemplates.set(t.locatorHash,{location:K(this.opts.project.cwd,C.p.resolveVirtual(I)),locator:t})}}return u.getMapWithDefault(this.packageRegistry,r).set(A,{packageLocation:E,packageDependencies:B,packagePeers:y,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:I,buildDirective:p.length>0?p:null}}async attachInternalDependencies(e,t){const r=this.getPackageInformation(e);for(const[e,A]of t){const t=g.areIdentsEqual(e,A)?A.reference:[g.requirableIdent(A),A.reference];r.packageDependencies.set(g.requirableIdent(e),t)}}async attachExternalDependents(e,t){for(const r of t){this.getDiskInformation(r).packageDependencies.set(g.requirableIdent(e),e.reference)}}async finalizeInstall(){const e=new Set;for(const{locator:e,location:t}of this.virtualTemplates.values())u.getMapWithDefault(this.packageRegistry,g.stringifyIdent(e)).set(e.reference,{packageLocation:t,packageDependencies:new Map,packagePeers:new Set,linkType:h.Un.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));const t=this.opts.project.configuration.get("pnpFallbackMode"),r=e,A=this.opts.project.workspaces.map(({anchoredLocator:e})=>({name:g.requirableIdent(e),reference:e.reference})),n="none"!==t,o=[],i=new Map,s=u.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),a=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if("dependencies-only"===t)for(const e of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(e)&&o.push({name:g.requirableIdent(e),reference:e.reference});return await this.finalizeInstallWithPnp({blacklistedLocations:r,dependencyTreeRoots:A,enableTopLevelFallback:n,fallbackExclusionList:o,fallbackPool:i,ignorePattern:s,packageRegistry:a,shebang:c}),{customData:this.customData}}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=T(this.opts.project),r=this.opts.project.configuration.get("pnpDataPath");if(await i.xfs.removePromise(t.other),"pnp"!==this.opts.project.configuration.get("nodeLinker"))return await i.xfs.removePromise(t.main),void await i.xfs.removePromise(r);const A=await this.locateNodeModules(e.ignorePattern);if(A.length>0){this.opts.report.reportWarning(p.b.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(const e of A)await i.xfs.removePromise(e)}if(this.opts.project.configuration.get("pnpEnableInlining")){const A=(0,I.gY)(e);await i.xfs.changeFilePromise(t.main,A,{automaticNewlines:!0}),await i.xfs.chmodPromise(t.main,493),await i.xfs.removePromise(r)}else{const A=s.y1.relative(s.y1.dirname(t.main),r),{dataFile:n,loaderFile:o}=(0,I.Q$)({...e,dataLocation:A});await i.xfs.changeFilePromise(t.main,o,{automaticNewlines:!0}),await i.xfs.chmodPromise(t.main,493),await i.xfs.changeFilePromise(r,n,{automaticNewlines:!0}),await i.xfs.chmodPromise(r,420)}const n=this.opts.project.configuration.get("pnpUnpluggedFolder");if(0===this.unpluggedPaths.size)await i.xfs.removePromise(n);else for(const e of await i.xfs.readdirPromise(n)){const t=s.y1.resolve(n,e);this.unpluggedPaths.has(t)||await i.xfs.removePromise(t)}}async locateNodeModules(e){const t=[],r=e?new RegExp(e):null;for(const e of this.opts.project.workspaces){const A=s.y1.join(e.cwd,"node_modules");if(r&&r.test(s.y1.relative(this.opts.project.cwd,e.cwd))||!i.xfs.existsSync(A))continue;const n=await i.xfs.readdirPromise(A,{withFileTypes:!0}),o=n.filter(e=>!e.isDirectory()||".bin"===e.name||!e.name.startsWith("."));if(o.length===n.length)t.push(A);else for(const e of o)t.push(s.y1.join(A,e.name))}return t}async unplugPackageIfNeeded(e,t,r,A){return this.shouldBeUnplugged(e,t,A)?this.unplugPackage(e,r):r.packageFs}shouldBeUnplugged(e,t,r){return void 0!==r.unplugged?r.unplugged:!!v.has(e.identHash)||(null!==t.manifest.preferUnplugged?t.manifest.preferUnplugged:!!(m(e,t,r,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint))}async unplugPackage(e,t){const r=b(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(r);const A=s.y1.join(r,t.prefixPath,".ready");return await i.xfs.existsPromise(A)||(await i.xfs.mkdirPromise(r,{recursive:!0}),await i.xfs.copyPromise(r,s.LZ.dot,{baseFs:t.packageFs,overwrite:!1}),await i.xfs.writeFilePromise(A,"")),new f.M(r)}getPackageInformation(e){const t=g.requirableIdent(e),r=e.reference,A=this.packageRegistry.get(t);if(!A)throw new Error(`Assertion failed: The package information store should have been available (for ${g.prettyIdent(this.opts.project.configuration,e)})`);const n=A.get(r);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${g.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){const t=u.getMapWithDefault(this.packageRegistry,"@@disk"),r=K(this.opts.project.cwd,e);return u.getFactoryWithDefault(t,r,()=>({packageLocation:r,packageDependencies:new Map,packagePeers:new Set,linkType:h.Un.SOFT,discardFromLookup:!1}))}}function K(e,t){let r=s.y1.relative(e,t);return r.match(/^\.{0,2}\//)||(r="./"+r),r.replace(/\/?$/,"/")}var F=r(36370),N=r(25413),M=r(85824),R=r(28148),x=r(15815),L=r(36545),P=r(2401),O=r.n(P);class U extends N.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.all=!1,this.recursive=!1,this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await M.I.find(e,this.context.cwd),A=await R.C.find(e);if(!r)throw new N.WorkspaceRequiredError(t.cwd,this.context.cwd);if("pnp"!==e.get("nodeLinker"))throw new E.UsageError("This command can only be used if the `nodeLinker` option is set to `pnp`");await t.restoreInstallState();const n=new Set(this.patterns),i=this.patterns.map(t=>{const r=g.parseDescriptor(t),A="unknown"!==r.range?r:g.makeDescriptor(r,"*");if(!c().validRange(A.range))throw new E.UsageError(`The range of the descriptor patterns must be a valid semver range (${g.prettyDescriptor(e,A)})`);return e=>{const r=g.stringifyIdent(e);return!!O().isMatch(r,g.stringifyIdent(A))&&(!(e.version&&!L.satisfiesWithPrereleases(e.version,A.range))&&(n.delete(t),!0))}}),s=e=>{const r=new Set,A=[],n=(e,o)=>{if(!r.has(e.locatorHash)&&(r.add(e.locatorHash),!t.tryWorkspaceByLocator(e)&&i.some(t=>t(e))&&A.push(e),!(o>0)||this.recursive))for(const r of e.dependencies.values()){const e=t.storedResolutions.get(r.descriptorHash);if(!e)throw new Error("Assertion failed: The resolution should have been registered");const A=t.storedPackages.get(e);if(!A)throw new Error("Assertion failed: The package should have been registered");n(A,o+1)}};for(const r of e){const e=t.storedPackages.get(r.anchoredLocator.locatorHash);if(!e)throw new Error("Assertion failed: The package should have been registered");n(e,0)}return A};let a,h;if(this.all&&this.recursive?(a=(()=>{const e=[];for(const r of t.storedPackages.values())t.tryWorkspaceByLocator(r)||g.isVirtualLocator(r)||!i.some(e=>e(r))||e.push(r);return e})(),h="the project"):this.all?(a=s(t.workspaces),h="any workspace"):(a=s([r]),h="this workspace"),n.size>1)throw new E.UsageError(`Patterns ${l.prettyList(e,n,l.Type.CODE)} don't match any packages referenced by ${h}`);if(n.size>0)throw new E.UsageError(`Pattern ${l.prettyList(e,n,l.Type.CODE)} doesn't match any packages referenced by ${h}`);a=u.sortMap(a,e=>g.stringifyLocator(e));return(await x.Pk.start({configuration:e,stdout:this.context.stdout,json:this.json},async r=>{var n;for(const A of a){const o=null!==(n=A.version)&&void 0!==n?n:"unknown";t.topLevelWorkspace.manifest.ensureDependencyMeta(g.makeDescriptor(A,o)).unplugged=!0,r.reportInfo(p.b.UNNAMED,`Will unpack ${g.prettyLocator(e,A)} to ${l.pretty(e,b(A,{configuration:e}),l.Type.PATH)}`),r.reportJson({locator:g.stringifyLocator(A),version:o})}await t.topLevelWorkspace.persistManifest(),r.reportSeparator(),await t.install({cache:A,report:r})})).exitCode()}}U.usage=E.Command.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]}),(0,F.gn)([E.Command.Rest()],U.prototype,"patterns",void 0),(0,F.gn)([E.Command.Boolean("-A,--all",{description:"Unplug direct dependencies from the entire project"})],U.prototype,"all",void 0),(0,F.gn)([E.Command.Boolean("-R,--recursive",{description:"Unplug both direct and transitive dependencies"})],U.prototype,"recursive",void 0),(0,F.gn)([E.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],U.prototype,"json",void 0),(0,F.gn)([E.Command.Path("unplug")],U.prototype,"execute",null);const T=e=>{let t,r;return"module"===e.topLevelWorkspace.manifest.type?(t=".pnp.cjs",r=".pnp.js"):(t=".pnp.js",r=".pnp.cjs"),{main:s.y1.join(e.cwd,t),other:s.y1.join(e.cwd,r)}},j=e=>/\s/.test(e)?JSON.stringify(e):e;const Y={hooks:{populateYarnPaths:async function(e,t){t(T(e).main),t(T(e).other),t(e.configuration.get("pnpDataPath")),t(e.configuration.get("pnpUnpluggedFolder"))},setupScriptEnvironment:async function(e,t,r){const A=T(e).main,n="--require "+j(s.cS.fromPortablePath(A));if(A.includes(" ")&&c().lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(i.xfs.existsSync(A)){let e=t.NODE_OPTIONS||"";const r=/\s*--require\s+\S*\.pnp\.c?js\s*/g;e=e.replace(r," ").trim(),e=e?`${n} ${e}`:n,t.NODE_OPTIONS=e}}},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:o.a2.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:o.a2.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:o.a2.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:o.a2.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:o.a2.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:o.a2.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:o.a2.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:o.a2.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[S],commands:[U]}},43418:(e,t,r)=>{"use strict";r.r(t);var A=r(50683),n=r.n(A);Object.fromEntries||(Object.fromEntries=n());var o=r(59355),i=r(10419),s=r(45330);(0,i.D)({binaryVersion:o.o||"",pluginConfiguration:(0,s.e)()})},25413:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BaseCommand:()=>A.F,WorkspaceRequiredError:()=>s,getDynamicLibs:()=>c,getPluginConfiguration:()=>g.e,main:()=>h.D,openWorkspace:()=>u,pluginCommands:()=>p.f});var A=r(56087),n=r(46611),o=r(46009),i=r(40822);class s extends i.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${o.y1.relative(e,t)} isn't a workspace of ${o.y1.join(e,n.G.fileName)}).`)}}const a=["@yarnpkg/cli","@yarnpkg/core","@yarnpkg/fslib","@yarnpkg/libzip","@yarnpkg/parsers","@yarnpkg/shell","clipanion","semver","yup"],c=()=>new Map(a.map(e=>[e,r(98497)(e)]));var g=r(45330),l=r(85824);async function u(e,t){const{project:r,workspace:A}=await l.I.find(e,t);if(!A)throw new s(r.cwd,t);return A}var h=r(10419),p=r(15683)},10419:(e,t,r)=>{"use strict";r.d(t,{D:()=>f});var A=r(36545),n=r(39922),o=r(81832),i=r(43896),s=r(46009),a=r(63129),c=r(5864),g=r(40822),l=r(35747),u=r(15683),h=r(36370),p=r(71643),d=r(56087);class C extends d.F{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins);this.context.stdout.write((e=>`\n${p.pretty(e,"Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${p.pretty(e,"https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${p.pretty(e,"https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${p.pretty(e,"https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${p.pretty(e,"find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${p.pretty(e,"yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${p.pretty(e,"yarn set version from sources","magenta")}\n\nSee you later 👋\n`)(e).trim()+"\n")}}async function f({binaryVersion:e,pluginConfiguration:t}){async function r(){const h=new g.Cli({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:e});h.register(C);try{await async function h(p){var d,C,f,I,E;const B=process.versions.node,y=">=10.17 <14 || >14.1";if("1"!==process.env.YARN_IGNORE_NODE&&!A.satisfiesWithPrereleases(B,y))throw new g.UsageError(`This tool requires a Node version compatible with ${y} (got ${B}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);const m=await n.VK.find(s.cS.toPortablePath(process.cwd()),t,{usePath:!0,strict:!1}),w=m.get("yarnPath"),Q=m.get("ignorePath"),D=m.get("ignoreCwd");if(!Q&&!D&&w===s.cS.toPortablePath(s.cS.resolve(process.argv[1])))return process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",void await h(p);if(null===w||Q){Q&&delete process.env.YARN_IGNORE_PATH;m.get("enableTelemetry")&&!c.isCI&&process.stdout.isTTY&&(n.VK.telemetry=new o.E(m,"puba9cdc10ec5790a2cf4969dd413a47270")),null===(d=n.VK.telemetry)||void 0===d||d.reportVersion(e);for(const[e,t]of m.plugins.entries()){u.f.has(null!==(f=null===(C=e.match(/^@yarnpkg\/plugin-(.*)$/))||void 0===C?void 0:C[1])&&void 0!==f?f:"")&&(null===(I=n.VK.telemetry)||void 0===I||I.reportPluginName(e));for(const e of t.commands||[])p.register(e)}const A=p.process(process.argv.slice(2));A.help||null===(E=n.VK.telemetry)||void 0===E||E.reportCommandName(A.path.join(" "));const i=A.cwd;if(void 0!==i&&!D){const e=(0,l.realpathSync)(process.cwd()),t=(0,l.realpathSync)(i);if(e!==t)return process.chdir(i),void await r()}await p.runExit(A,{cwd:s.cS.toPortablePath(process.cwd()),plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}else if(i.xfs.existsSync(w))try{!function(e){const t=s.cS.fromPortablePath(e);process.on("SIGINT",()=>{}),t?(0,a.execFileSync)(process.execPath,[t,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,a.execFileSync)(t,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}(w)}catch(e){process.exitCode=e.code||1}else process.stdout.write(p.error(new Error(`The "yarn-path" option has been set (in ${m.sources.get("yarnPath")}), but the specified location doesn't exist (${w}).`))),process.exitCode=1}(h)}catch(e){process.stdout.write(h.error(e)),process.exitCode=1}}return r().catch(e=>{process.stdout.write(e.stack||e.message),process.exitCode=1}).finally(()=>i.xfs.rmtempPromise())}(0,h.gn)([g.Command.Path("--welcome")],C.prototype,"execute",null)},15683:(e,t,r)=>{"use strict";r.d(t,{f:()=>A});const A=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]])},56087:(e,t,r)=>{"use strict";r.d(t,{F:()=>o});var A=r(36370),n=r(40822);class o extends n.Command{}(0,A.gn)([n.Command.String("--cwd",{hidden:!0})],o.prototype,"cwd",void 0)},28148:(e,t,r)=>{"use strict";r.d(t,{C:()=>I});var A=r(78420),n=r(15037),o=r(90739),i=r(14626),s=r(46009),a=r(43896),c=r(65281),g=r(35747),l=r.n(g),u=r(92659),h=r(35691),p=r(20624),d=r(73632),C=r(54143);const f=7;class I{constructor(e,{configuration:t,immutable:r=t.get("enableImmutableCache"),check:A=!1}){this.markedFiles=new Set,this.mutexes=new Map,this.configuration=t,this.cwd=e,this.immutable=r,this.check=A;const n=t.get("cacheKeyOverride");if(null!==n)this.cacheKey=""+n;else{const e=t.get("compressionLevel"),r=e!==o.k?"c"+e:"";this.cacheKey=[f,r].join("")}}static async find(e,{immutable:t,check:r}={}){const A=new I(e.get("cacheFolder"),{configuration:e,immutable:t,check:r});return await A.setup(),A}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;const e=this.configuration.get("globalFolder")+"/cache";return e!==this.cwd?e:null}getVersionFilename(e){return`${C.slugifyLocator(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){const r=function(e){const t=e.indexOf("/");return-1!==t?e.slice(t+1):e}(t).slice(0,10);return`${C.slugifyLocator(e)}-${r}.zip`}getLocatorPath(e,t){if(null===this.mirrorCwd)return s.y1.resolve(this.cwd,this.getVersionFilename(e));if(null===t)return null;return E(t)!==this.cacheKey?null:s.y1.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){const t=this.mirrorCwd;return null!==t?s.y1.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache")){await a.xfs.mkdirPromise(this.cwd,{recursive:!0});const e=s.y1.resolve(this.cwd,".gitignore");await a.xfs.changeFilePromise(e,"/.gitignore\n*.flock\n")}}async fetchPackageFromCache(e,t,{onHit:r,onMiss:g,loader:f,skipIntegrityCheck:I}){const B=this.getLocatorMirrorPath(e),y=new A.S,m=async(e,r=null)=>{const A=I&&t?t:`${this.cacheKey}/${await p.checksumFile(e)}`;if(null!==r){if(A!==(I&&t?t:`${this.cacheKey}/${await p.checksumFile(r)}`))throw new h.lk(u.b.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(null!==t&&A!==t){let e;switch(e=this.check?"throw":E(t)!==E(A)?"update":this.configuration.get("checksumBehavior"),e){case"ignore":return t;case"update":return A;default:case"throw":throw new h.lk(u.b.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return A},w=async t=>{if(!f)throw new Error("Cache check required but no loader configured for "+C.prettyLocator(this.configuration,e));const r=await f(),A=r.getRealPath();return r.saveAndClose(),await a.xfs.chmodPromise(A,420),await m(t,A)},Q=async()=>{if(null===B||!await a.xfs.existsPromise(B)){const e=await f(),t=e.getRealPath();return e.saveAndClose(),t}const t=await a.xfs.mktempPromise(),r=s.y1.join(t,this.getVersionFilename(e));return await a.xfs.copyFilePromise(B,r,l().constants.COPYFILE_FICLONE),r},D=async()=>{if(!f)throw new Error("Cache entry required but missing for "+C.prettyLocator(this.configuration,e));if(this.immutable)throw new h.lk(u.b.IMMUTABLE_CACHE,"Cache entry required but missing for "+C.prettyLocator(this.configuration,e));const t=await Q();await a.xfs.chmodPromise(t,420);const r=await m(t),A=this.getLocatorPath(e,r);if(!A)throw new Error("Assertion failed: Expected the cache path to be available");return await this.writeFileWithLock(A,async()=>await this.writeFileWithLock(B,async()=>(await a.xfs.movePromise(t,A),null!==B&&await a.xfs.copyFilePromise(A,B,l().constants.COPYFILE_FICLONE),[A,r])))};for(let t;t=this.mutexes.get(e.locatorHash);)await t;const[b,v]=await(async()=>{const A=(async()=>{const A=this.getLocatorPath(e,t),n=null!==A&&await y.existsPromise(A),o=n?r:g;if(o&&o(),n){let e=null;const t=A;return e=this.check?await w(t):await m(t),[t,e]}return D()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}})();this.markedFiles.add(b);let S=null;const k=await(0,c.getLibzipPromise)(),K=new n.v(()=>d.prettifySyncErrors(()=>S=new o.d(b,{baseFs:y,libzip:k,readOnly:!0}),t=>`Failed to open the cache entry for ${C.prettyLocator(this.configuration,e)}: ${t}`),s.y1);return[new i.K(b,{baseFs:K,pathUtils:s.y1}),()=>{null!==S&&S.discardAndClose()},v]}async writeFileWithLock(e,t){return null===e?await t():(await a.xfs.mkdirPromise(s.y1.dirname(e),{recursive:!0}),await a.xfs.lockPromise(e,async()=>await t()))}}function E(e){const t=e.indexOf("/");return-1!==t?e.slice(0,t):null}},39922:(e,t,r)=>{"use strict";r.d(t,{VK:()=>W,nh:()=>U,tr:()=>O,a5:()=>j,EW:()=>z,a2:()=>T});var A=r(43896),n=r(46009),o=r(90739),i=r(11640),s=r(54738),a=r.n(s),c=r(5864),g=r(40822),l=r(61578),u=r.n(l),h=r(53887),p=r.n(h),d=r(92413),C=r(92659),f=r(54143);const I={hooks:{reduceDependency:(e,t,r,A,{resolver:n,resolveOptions:o})=>{for(const{pattern:A,reference:i}of t.topLevelWorkspace.manifest.resolutions){if(A.from&&A.from.fullName!==f.requirableIdent(r))continue;if(A.from&&A.from.description&&A.from.description!==r.reference)continue;if(A.descriptor.fullName!==f.requirableIdent(e))continue;if(A.descriptor.description&&A.descriptor.description!==e.range)continue;return n.bindDescriptor(f.makeDescriptor(e,i),t.topLevelWorkspace.anchoredLocator,o)}return e},validateProject:async(e,t)=>{for(const r of e.workspaces){const A=f.prettyWorkspace(e.configuration,r);await e.configuration.triggerHook(e=>e.validateWorkspace,r,{reportWarning:(e,r)=>t.reportWarning(e,`${A}: ${r}`),reportError:(e,r)=>t.reportError(e,`${A}: ${r}`)})}},validateWorkspace:async(e,t)=>{const{manifest:r}=e;r.resolutions.length&&e.cwd!==e.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(const e of r.errors)t.reportWarning(C.b.INVALID_MANIFEST,e.message)}}};var E=r(46611),B=r(35691);class y{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){const r=this.getFetcher(e,t);return await r.fetch(e,t)}tryFetcher(e,t){const r=this.fetchers.find(r=>r.supports(e,t));return r||null}getFetcher(e,t){const r=this.fetchers.find(r=>r.supports(e,t));if(!r)throw new B.lk(C.b.FETCHER_NOT_FOUND,f.prettyLocator(t.project.configuration,e)+" isn't supported by any available fetcher");return r}}var m=r(27092),w=r(52779),Q=r(60895);class D{static isVirtualDescriptor(e){return!!e.range.startsWith(D.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(D.protocol)}supportsDescriptor(e,t){return D.isVirtualDescriptor(e)}supportsLocator(e,t){return D.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,r){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,r){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}D.protocol="virtual:";var b=r(75448),v=r(94538);class S{supports(e){return!!e.reference.startsWith(v.d.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){const r=this.getWorkspace(e,t).cwd;return{packageFs:new b.M(r),prefixPath:n.LZ.dot,localPath:r}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(v.d.protocol.length))}}var k=r(81111),K=r(71643),F=r(73632),N=r(32282),M=r.n(N);function R(e){return("undefined"!=typeof require?require:r(32178))(e)}var x=r(36545),L=r(32485);const P=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput"]),O=".yarnrc.yml",U="yarn.lock";var T;!function(e){e.ANY="ANY",e.BOOLEAN="BOOLEAN",e.ABSOLUTE_PATH="ABSOLUTE_PATH",e.LOCATOR="LOCATOR",e.LOCATOR_LOOSE="LOCATOR_LOOSE",e.NUMBER="NUMBER",e.STRING="STRING",e.SECRET="SECRET",e.SHAPE="SHAPE",e.MAP="MAP"}(T||(T={}));const j=K.Type,Y={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:T.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:T.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:T.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:T.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:T.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:T.ABSOLUTE_PATH,default:k.getDefaultGlobalFolder()},cacheFolder:{description:"Folder where the cache files must be written",type:T.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:T.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:o.k},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named $$virtual)",type:T.ABSOLUTE_PATH,default:"./.yarn/$$virtual"},bstatePath:{description:"Path of the file where the current state of the built packages must be stored",type:T.ABSOLUTE_PATH,default:"./.yarn/build-state.yml"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:T.STRING,default:U},installStatePath:{description:"Path of the file where the install state will be persisted",type:T.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:T.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:T.STRING,default:q()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:T.BOOLEAN,default:!1},enableAbsoluteVirtuals:{description:"If true, the virtual symlinks will use absolute paths if required [non portable!!]",type:T.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:T.BOOLEAN,default:K.supportsColor,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:T.BOOLEAN,default:K.supportsHyperlinks,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:T.BOOLEAN,default:c.isCI,defaultText:""},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:T.BOOLEAN,default:!c.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:T.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:T.BOOLEAN,default:c.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:T.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:T.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:T.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:T.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:T.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:T.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:T.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:T.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:T.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:T.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:T.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:T.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:T.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:T.NUMBER,default:1/0},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:T.MAP,valueDefinition:{description:"",type:T.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:T.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:T.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:T.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:T.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:T.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:T.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:T.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:T.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:T.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:T.STRING,values:Object.values(K.LogLevel),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:T.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:T.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:T.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:T.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:T.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:T.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:T.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:T.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:T.MAP,valueDefinition:{description:"A range",type:T.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:T.MAP,valueDefinition:{description:"A semver range",type:T.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:T.MAP,valueDefinition:{description:"The peerDependency meta",type:T.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:T.BOOLEAN,default:!1}}}}}}}};function G(e,t,r,A,n){if(A.isArray)return Array.isArray(r)?r.map((r,o)=>H(e,`${t}[${o}]`,r,A,n)):String(r).split(/,/).map(r=>H(e,t,r,A,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${t}" cannot be an array`);return H(e,t,r,A,n)}function H(e,t,r,A,o){var i;switch(A.type){case T.ANY:return r;case T.SHAPE:return function(e,t,r,A,n){if("object"!=typeof r||Array.isArray(r))throw new g.UsageError(`Object configuration settings "${t}" must be an object`);const o=J(e,A,{ignoreArrays:!0});if(null===r)return o;for(const[i,s]of Object.entries(r)){const r=`${t}.${i}`;if(!A.properties[i])throw new g.UsageError(`Unrecognized configuration settings found: ${t}.${i} - run "yarn config -v" to see the list of settings supported in Yarn`);o.set(i,G(e,r,s,A.properties[i],n))}return o}(e,t,r,A,o);case T.MAP:return function(e,t,r,A,n){const o=new Map;if("object"!=typeof r||Array.isArray(r))throw new g.UsageError(`Map configuration settings "${t}" must be an object`);if(null===r)return o;for(const[i,s]of Object.entries(r)){const r=A.normalizeKeys?A.normalizeKeys(i):i,a=`${t}['${r}']`,c=A.valueDefinition;o.set(r,G(e,a,s,c,n))}return o}(e,t,r,A,o)}if(null===r&&!A.isNullable&&null!==A.default)throw new Error(`Non-nullable configuration settings "${t}" cannot be set to null`);if(null===(i=A.values)||void 0===i?void 0:i.includes(r))return r;const s=(()=>{if(A.type===T.BOOLEAN)return F.parseBoolean(r);if("string"!=typeof r)throw new Error(`Expected value (${r}) to be a string`);const e=F.replaceEnvVariables(r,{env:process.env});switch(A.type){case T.ABSOLUTE_PATH:return n.y1.resolve(o,n.cS.toPortablePath(e));case T.LOCATOR_LOOSE:return f.parseLocator(e,!1);case T.NUMBER:return parseInt(e);case T.LOCATOR:return f.parseLocator(e);default:return e}})();if(A.values&&!A.values.includes(s))throw new Error("Invalid value, expected one of "+A.values.join(", "));return s}function J(e,t,{ignoreArrays:r=!1}={}){switch(t.type){case T.SHAPE:{if(t.isArray&&!r)return[];const A=new Map;for(const[r,n]of Object.entries(t.properties))A.set(r,J(e,n));return A}case T.MAP:return t.isArray&&!r?[]:new Map;case T.ABSOLUTE_PATH:return null===t.default?null:null===e.projectCwd?n.y1.isAbsolute(t.default)?n.y1.normalize(t.default):t.isNullable?null:void 0:Array.isArray(t.default)?t.default.map(t=>n.y1.resolve(e.projectCwd,t)):n.y1.resolve(e.projectCwd,t.default);default:return t.default}}function q(){for(const[e,t]of Object.entries(process.env))if("yarn_rc_filename"===e.toLowerCase()&&"string"==typeof t)return t;return O}var z;!function(e){e[e.LOCKFILE=0]="LOCKFILE",e[e.MANIFEST=1]="MANIFEST",e[e.NONE=2]="NONE"}(z||(z={}));class W{constructor(e){this.projectCwd=null,this.plugins=new Map,this.settings=new Map,this.values=new Map,this.sources=new Map,this.invalid=new Map,this.packageExtensions=new Map,this.limits=new Map,this.startingCwd=e}static create(e,t,r){const A=new W(e);void 0===t||t instanceof Map||(A.projectCwd=t),A.importSettings(Y);const n=void 0!==r?r:t instanceof Map?t:new Map;for(const[e,t]of n)A.activatePlugin(e,t);return A}static async find(e,t,{lookup:r=z.LOCKFILE,strict:o=!0,usePath:i=!1,useRc:s=!0}={}){const c=function(){const e={};for(let[t,r]of Object.entries(process.env))t=t.toLowerCase(),t.startsWith("yarn_")&&(t=a()(t.slice("yarn_".length)),e[t]=r);return e}();delete c.rcFilename;const l=await W.findRcFiles(e),u=await W.findHomeRcFile(),h=({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A})=>({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A}),p=({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A,...n})=>n,d=new W(e);d.importSettings(h(Y)),d.useWithSource("",h(c),e,{strict:!1});for(const{path:e,cwd:t,data:r}of l)d.useWithSource(e,h(r),t,{strict:!1});if(u&&d.useWithSource(u.path,h(u.data),u.cwd,{strict:!1}),i){const e=d.get("yarnPath"),t=d.get("ignorePath");if(null!==e&&!t)return d}const C=d.get("lockfileFilename");let f;switch(r){case z.LOCKFILE:f=await W.findProjectCwd(e,C);break;case z.MANIFEST:f=await W.findProjectCwd(e,null);break;case z.NONE:f=A.xfs.existsSync(n.y1.join(e,"package.json"))?n.y1.resolve(e):null}d.startingCwd=e,d.projectCwd=f,d.importSettings(p(Y));const E=new Map([["@@core",I]]);if(null!==t){for(const e of t.plugins.keys())E.set(e,(B=t.modules.get(e)).__esModule?B.default:B);const r=new Map;for(const e of new Set(M().builtinModules||Object.keys(process.binding("natives"))))r.set(e,()=>R(e));for(const[e,A]of t.modules)r.set(e,()=>A);const A=new Set,o=e=>e.default||e,i=(e,t)=>{const{factory:i,name:s}=R(n.cS.fromPortablePath(e));if(A.has(s))return;const a=new Map(r),c=e=>{if(a.has(e))return a.get(e)();throw new g.UsageError(`This plugin cannot access the package referenced via ${e} which is neither a builtin, nor an exposed entry`)},l=F.prettifySyncErrors(()=>o(i(c)),e=>`${e} (when initializing ${s}, defined in ${t})`);r.set(s,()=>l),A.add(s),E.set(s,l)};if(c.plugins)for(const t of c.plugins.split(";")){i(n.y1.resolve(e,n.cS.toPortablePath(t)),"")}for(const{path:e,cwd:t,data:r}of l)if(s&&Array.isArray(r.plugins))for(const A of r.plugins){const r="string"!=typeof A?A.path:A;i(n.y1.resolve(t,n.cS.toPortablePath(r)),e)}}var B;for(const[e,t]of E)d.activatePlugin(e,t);d.useWithSource("",p(c),e,{strict:o});for(const{path:e,cwd:t,data:r}of l)d.useWithSource(e,p(r),t,{strict:o});return u&&d.useWithSource(u.path,p(u.data),u.cwd,{strict:!1}),d.get("enableGlobalCache")&&(d.values.set("cacheFolder",d.get("globalFolder")+"/cache"),d.sources.set("cacheFolder","")),await d.refreshPackageExtensions(),d}static async findRcFiles(e){const t=q(),r=[];let o=e,s=null;for(;o!==s;){s=o;const e=n.y1.join(s,t);if(A.xfs.existsSync(e)){const t=await A.xfs.readFilePromise(e,"utf8");let n;try{n=(0,i.parseSyml)(t)}catch(r){let A="";throw t.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(A=" (in particular, make sure you list the colons after each key name)"),new g.UsageError(`Parse error when loading ${e}; please check it's proper Yaml${A}`)}r.push({path:e,cwd:s,data:n})}o=n.y1.dirname(s)}return r}static async findHomeRcFile(){const e=q(),t=k.getHomeFolder(),r=n.y1.join(t,e);if(A.xfs.existsSync(r)){const e=await A.xfs.readFilePromise(r,"utf8");return{path:r,cwd:t,data:(0,i.parseSyml)(e)}}return null}static async findProjectCwd(e,t){let r=null,o=e,i=null;for(;o!==i;){if(i=o,A.xfs.existsSync(n.y1.join(i,"package.json"))&&(r=i),null!==t){if(A.xfs.existsSync(n.y1.join(i,t))){r=i;break}}else if(null!==r)break;o=n.y1.dirname(i)}return r}static async updateConfiguration(e,t){const r=q(),o=n.y1.join(e,r),s=A.xfs.existsSync(o)?(0,i.parseSyml)(await A.xfs.readFilePromise(o,"utf8")):{};let a,c=!1;if("function"==typeof t){try{a=t(s)}catch(e){a=t({})}if(a===s)return}else{a=s;for(const e of Object.keys(t)){const r=s[e],A=t[e];let n;if("function"==typeof A)try{n=A(r)}catch(e){n=A(void 0)}else n=A;r!==n&&(a[e]=n,c=!0)}if(!c)return}await A.xfs.changeFilePromise(o,(0,i.stringifySyml)(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){const t=k.getHomeFolder();return await W.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),void 0!==t.configuration&&this.importSettings(t.configuration)}importSettings(e){for(const[t,r]of Object.entries(e))if(null!=r){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,r),this.values.set(t,J(this,r))}}useWithSource(e,t,r,A){try{this.use(e,t,r,A)}catch(t){throw t.message+=` (in ${K.pretty(this,e,K.Type.PATH)})`,t}}use(e,t,r,{strict:A=!0,overwrite:n=!1}={}){for(const o of Object.keys(t)){if(void 0===t[o])continue;if("plugins"===o)continue;if(""===e&&P.has(o))continue;if("rcFilename"===o)throw new g.UsageError(`The rcFilename settings can only be set via ${"yarn_RC_FILENAME".toUpperCase()}, not via a rc file`);const i=this.settings.get(o);if(!i){if(A)throw new g.UsageError(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(n||i.type===T.MAP||i.isArray&&i.concatenateValues))continue;let s;try{s=G(this,o,t[o],i,r)}catch(t){throw t.message+=" in "+K.pretty(this,e,K.Type.PATH),t}if(i.type===T.MAP){const t=this.values.get(o);this.values.set(o,new Map(n?[...t,...s]:[...s,...t])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(i.isArray&&i.concatenateValues){const t=this.values.get(o);this.values.set(o,n?[...t,...s]:[...s,...t]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,s),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:r=!1}){const A=this.get(e),o=this.settings.get(e);if(void 0===o)throw new g.UsageError(`Couldn't find a configuration settings named "${e}"`);return function e(t,r,A){if(r.type===T.SECRET&&"string"==typeof t&&A.hideSecrets)return"********";if(r.type===T.ABSOLUTE_PATH&&"string"==typeof t&&A.getNativePaths)return n.cS.fromPortablePath(t);if(r.isArray&&Array.isArray(t)){const n=[];for(const o of t)n.push(e(o,r,A));return n}if(r.type===T.MAP&&t instanceof Map){const n=new Map;for(const[o,i]of t.entries())n.set(o,e(i,r.valueDefinition,A));return n}if(r.type===T.SHAPE&&t instanceof Map){const n=new Map;for(const[o,i]of t.entries()){const t=r.properties[o];n.set(o,e(i,t,A))}return n}return t}(A,o,{hideSecrets:t,getNativePaths:r})}getSubprocessStreams(e,{header:t,prefix:r,report:n}){let o,i;const s=A.xfs.createWriteStream(e);if(this.get("enableInlineBuilds")){const e=n.createStreamReporter(`${r} ${K.pretty(this,"STDOUT","green")}`),t=n.createStreamReporter(`${r} ${K.pretty(this,"STDERR","red")}`);o=new d.PassThrough,o.pipe(e),o.pipe(s),i=new d.PassThrough,i.pipe(t),i.pipe(s)}else o=s,i=s,void 0!==t&&o.write(t+"\n");return{stdout:o,stderr:i}}makeResolver(){const e=[];for(const t of this.plugins.values())for(const r of t.resolvers||[])e.push(new r);return new m.B([new D,new v.d,new w.O,...e])}makeFetcher(){const e=[];for(const t of this.plugins.values())for(const r of t.fetchers||[])e.push(new r);return new y([new Q.N,new S,...e])}getLinkers(){const e=[];for(const t of this.plugins.values())for(const r of t.linkers||[])e.push(new r);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;const e=this.packageExtensions,t=(t,r,{userProvided:A=!1}={})=>{if(!p().validRange(t.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");const n=new E.G;n.load(r,{yamlCompatibilityMode:!0});const o=[];F.getArrayWithDefault(e,t.identHash).push([t.range,o]);const i={status:L._u.Inactive,userProvided:A,parentDescriptor:t};for(const e of n.dependencies.values())o.push({...i,type:L.HN.Dependency,descriptor:e,description:`${f.stringifyIdent(t)} > ${f.stringifyIdent(e)}`});for(const e of n.peerDependencies.values())o.push({...i,type:L.HN.PeerDependency,descriptor:e,description:`${f.stringifyIdent(t)} >> ${f.stringifyIdent(e)}`});for(const[e,r]of n.peerDependenciesMeta)for(const[A,n]of Object.entries(r))o.push({...i,type:L.HN.PeerDependencyMeta,selector:e,key:A,value:n,description:`${f.stringifyIdent(t)} >> ${e} / ${A}`})};await this.triggerHook(e=>e.registerPackageExtensions,this,t);for(const[e,r]of this.get("packageExtensions"))t(f.parseDescriptor(e,!0),F.convertMapsToIndexableObjects(r),{userProvided:!0})}normalizePackage(e){const t=f.copyPackage(e);if(null==this.packageExtensions)throw new Error("refreshPackageExtensions has to be called before normalizing packages");const r=this.packageExtensions.get(e.identHash);if(void 0!==r){const A=e.version;if(null!==A)for(const[e,n]of r)if(x.satisfiesWithPrereleases(A,e))for(const e of n)switch(e.status===L._u.Inactive&&(e.status=L._u.Redundant),e.type){case L.HN.Dependency:void 0===t.dependencies.get(e.descriptor.identHash)&&(e.status=L._u.Active,t.dependencies.set(e.descriptor.identHash,e.descriptor));break;case L.HN.PeerDependency:void 0===t.peerDependencies.get(e.descriptor.identHash)&&(e.status=L._u.Active,t.peerDependencies.set(e.descriptor.identHash,e.descriptor));break;case L.HN.PeerDependencyMeta:{const r=t.peerDependenciesMeta.get(e.selector);void 0!==r&&Object.prototype.hasOwnProperty.call(r,e.key)&&r[e.key]===e.value||(e.status=L._u.Active,F.getFactoryWithDefault(t.peerDependenciesMeta,e.selector,()=>({}))[e.key]=e.value)}break;default:F.assertNever(e)}}const A=e=>e.scope?`${e.scope}__${e.name}`:""+e.name;for(const e of t.peerDependencies.values()){if("@types"===e.scope)continue;const r=A(e),n=f.makeIdent("types",r);t.peerDependencies.has(n.identHash)||t.peerDependenciesMeta.has(n.identHash)||t.peerDependenciesMeta.set(f.stringifyIdent(n),{optional:!0})}for(const e of t.peerDependenciesMeta.keys()){const r=f.parseIdent(e);t.peerDependencies.has(r.identHash)||t.peerDependencies.set(r.identHash,f.makeDescriptor(r,"*"))}return t.dependencies=new Map(F.sortMap(t.dependencies,([,e])=>f.stringifyDescriptor(e))),t.peerDependencies=new Map(F.sortMap(t.peerDependencies,([,e])=>f.stringifyDescriptor(e))),t}getLimit(e){return F.getFactoryWithDefault(this.limits,e,()=>u()(this.get(e)))}async triggerHook(e,...t){for(const r of this.plugins.values()){const A=r.hooks;if(!A)continue;const n=e(A);n&&await n(...t)}}async triggerMultipleHooks(e,t){for(const r of t)await this.triggerHook(e,...r)}async reduceHook(e,t,...r){let A=t;for(const t of this.plugins.values()){const n=t.hooks;if(!n)continue;const o=e(n);o&&(A=await o(A,...r))}return A}async firstHook(e,...t){for(const r of this.plugins.values()){const A=r.hooks;if(!A)continue;const n=e(A);if(!n)continue;const o=await n(...t);if(void 0!==o)return o}return null}format(e,t){return K.pretty(this,e,t)}}W.telemetry=null},92409:(e,t,r)=>{"use strict";var A;r.d(t,{k:()=>A}),function(e){e[e.SCRIPT=0]="SCRIPT",e[e.SHELLCODE=1]="SHELLCODE"}(A||(A={}))},62152:(e,t,r)=>{"use strict";r.d(t,{h:()=>i});var A=r(35691),n=r(15815),o=r(71643);class i extends A.yG{constructor({configuration:e,stdout:t,suggestInstall:r=!0}){super(),this.errorCount=0,o.addLogFilterSupport(this,{configuration:e}),this.configuration=e,this.stdout=t,this.suggestInstall=r}static async start(e,t){const r=new this(e);try{await t(r)}catch(e){r.reportExceptionOnce(e)}finally{await r.finalize()}return r}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t,r){return("function"==typeof t?t:r)()}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r;return await A()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){this.errorCount+=1,this.stdout.write(`${o.pretty(this.configuration,"➤","redBright")} ${this.formatNameWithHyperlink(e)}: ${t}\n`)}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(const{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(o.pretty(this.configuration,"➤","redBright")+" Errors happened when preparing the environment required to run this command.\n"),this.suggestInstall&&this.stdout.write(o.pretty(this.configuration,"➤","redBright")+' This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.\n'))}formatNameWithHyperlink(e){return(0,n.Qw)(e,{configuration:this.configuration,json:!1})}}},46611:(e,t,r)=>{"use strict";r.d(t,{G:()=>l});var A=r(78420),n=r(46009),o=r(11640),i=r(53887),s=r.n(i),a=r(73632),c=r(36545),g=r(54143);class l{constructor(){this.indent=" ",this.name=null,this.version=null,this.os=null,this.cpu=null,this.type=null,this.private=!1,this.license=null,this.main=null,this.module=null,this.browser=null,this.languageName=null,this.bin=new Map,this.scripts=new Map,this.dependencies=new Map,this.devDependencies=new Map,this.peerDependencies=new Map,this.workspaceDefinitions=[],this.dependenciesMeta=new Map,this.peerDependenciesMeta=new Map,this.resolutions=[],this.files=null,this.publishConfig=null,this.installConfig=null,this.preferUnplugged=null,this.raw={},this.errors=[]}static async tryFind(e,{baseFs:t=new A.S}={}){const r=n.y1.join(e,"package.json");return await t.existsPromise(r)?await l.fromFile(r,{baseFs:t}):null}static async find(e,{baseFs:t}={}){const r=await l.tryFind(e,{baseFs:t});if(null===r)throw new Error("Manifest not found");return r}static async fromFile(e,{baseFs:t=new A.S}={}){const r=new l;return await r.loadFile(e,{baseFs:t}),r}static fromText(e){const t=new l;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(null===e)return!0;let r=!0,A=!1;for(const n of e)if("!"===n[0]){if(A=!0,t===n.slice(1))return!1}else if(r=!1,n===t)return!0;return A&&r}loadFromText(e){let t;try{t=JSON.parse(h(e)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(t),this.indent=u(e)}async loadFile(e,{baseFs:t=new A.S}){const r=await t.readFilePromise(e,"utf8");let n;try{n=JSON.parse(h(r)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(n),this.indent=u(r)}load(e,{yamlCompatibilityMode:t=!1}={}){if("object"!=typeof e||null===e)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;const r=[];if("string"==typeof e.name)try{this.name=g.parseIdent(e.name)}catch(e){r.push(new Error("Parsing failed for the 'name' field"))}if("string"==typeof e.version&&(this.version=e.version),Array.isArray(e.os)){const t=[];this.os=t;for(const A of e.os)"string"!=typeof A?r.push(new Error("Parsing failed for the 'os' field")):t.push(A)}if(Array.isArray(e.cpu)){const t=[];this.cpu=t;for(const A of e.cpu)"string"!=typeof A?r.push(new Error("Parsing failed for the 'cpu' field")):t.push(A)}if("string"==typeof e.type&&(this.type=e.type),"boolean"==typeof e.private&&(this.private=e.private),"string"==typeof e.license&&(this.license=e.license),"string"==typeof e.languageName&&(this.languageName=e.languageName),"string"==typeof e.main&&(this.main=p(e.main)),"string"==typeof e.module&&(this.module=p(e.module)),null!=e.browser)if("string"==typeof e.browser)this.browser=p(e.browser);else{this.browser=new Map;for(const[t,r]of Object.entries(e.browser))this.browser.set(p(t),"string"==typeof r?p(r):r)}if("string"==typeof e.bin)null!==this.name?this.bin=new Map([[this.name.name,p(e.bin)]]):r.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.bin&&null!==e.bin)for(const[t,A]of Object.entries(e.bin))"string"==typeof A?this.bin.set(t,p(A)):r.push(new Error(`Invalid bin definition for '${t}'`));if("object"==typeof e.scripts&&null!==e.scripts)for(const[t,A]of Object.entries(e.scripts))"string"==typeof A?this.scripts.set(t,A):r.push(new Error(`Invalid script definition for '${t}'`));if("object"==typeof e.dependencies&&null!==e.dependencies)for(const[t,A]of Object.entries(e.dependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.dependencies.set(n.identHash,n)}if("object"==typeof e.devDependencies&&null!==e.devDependencies)for(const[t,A]of Object.entries(e.devDependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.devDependencies.set(n.identHash,n)}if("object"==typeof e.peerDependencies&&null!==e.peerDependencies)for(let[t,A]of Object.entries(e.peerDependencies)){let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}"string"==typeof A&&c.validRange(A)||(r.push(new Error(`Invalid dependency range for '${t}'`)),A="*");const n=g.makeDescriptor(e,A);this.peerDependencies.set(n.identHash,n)}"object"==typeof e.workspaces&&e.workspaces.nohoist&&r.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));const A=Array.isArray(e.workspaces)?e.workspaces:"object"==typeof e.workspaces&&null!==e.workspaces&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];for(const e of A)"string"==typeof e?this.workspaceDefinitions.push({pattern:e}):r.push(new Error(`Invalid workspace definition for '${e}'`));if("object"==typeof e.dependenciesMeta&&null!==e.dependenciesMeta)for(const[A,n]of Object.entries(e.dependenciesMeta)){if("object"!=typeof n||null===n){r.push(new Error("Invalid meta field for '"+A));continue}const e=g.parseDescriptor(A),o=this.ensureDependencyMeta(e),i=d(n.built,{yamlCompatibilityMode:t});if(null===i){r.push(new Error(`Invalid built meta field for '${A}'`));continue}const s=d(n.optional,{yamlCompatibilityMode:t});if(null===s){r.push(new Error(`Invalid optional meta field for '${A}'`));continue}const a=d(n.unplugged,{yamlCompatibilityMode:t});null!==a?Object.assign(o,{built:i,optional:s,unplugged:a}):r.push(new Error(`Invalid unplugged meta field for '${A}'`))}if("object"==typeof e.peerDependenciesMeta&&null!==e.peerDependenciesMeta)for(const[A,n]of Object.entries(e.peerDependenciesMeta)){if("object"!=typeof n||null===n){r.push(new Error(`Invalid meta field for '${A}'`));continue}const e=g.parseDescriptor(A),o=this.ensurePeerDependencyMeta(e),i=d(n.optional,{yamlCompatibilityMode:t});null!==i?Object.assign(o,{optional:i}):r.push(new Error(`Invalid optional meta field for '${A}'`))}if("object"==typeof e.resolutions&&null!==e.resolutions)for(const[t,A]of Object.entries(e.resolutions))if("string"==typeof A)try{this.resolutions.push({pattern:(0,o.parseResolution)(t),reference:A})}catch(e){r.push(e);continue}else r.push(new Error(`Invalid resolution entry for '${t}'`));if(Array.isArray(e.files)){this.files=new Set;for(const t of e.files)"string"==typeof t?this.files.add(t):r.push(new Error(`Invalid files entry for '${t}'`))}if("object"==typeof e.publishConfig&&null!==e.publishConfig){if(this.publishConfig={},"string"==typeof e.publishConfig.access&&(this.publishConfig.access=e.publishConfig.access),"string"==typeof e.publishConfig.main&&(this.publishConfig.main=p(e.publishConfig.main)),"string"==typeof e.publishConfig.module&&(this.publishConfig.module=p(e.publishConfig.module)),null!=e.publishConfig.browser)if("string"==typeof e.publishConfig.browser)this.publishConfig.browser=p(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(const[t,r]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(p(t),"string"==typeof r?p(r):r)}if("string"==typeof e.publishConfig.registry&&(this.publishConfig.registry=e.publishConfig.registry),"string"==typeof e.publishConfig.bin)null!==this.name?this.publishConfig.bin=new Map([[this.name.name,p(e.publishConfig.bin)]]):r.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.publishConfig.bin&&null!==e.publishConfig.bin){this.publishConfig.bin=new Map;for(const[t,A]of Object.entries(e.publishConfig.bin))"string"==typeof A?this.publishConfig.bin.set(t,p(A)):r.push(new Error(`Invalid bin definition for '${t}'`))}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(const t of e.publishConfig.executableFiles)"string"==typeof t?this.publishConfig.executableFiles.add(p(t)):r.push(new Error("Invalid executable file definition"))}}if("object"==typeof e.installConfig&&null!==e.installConfig){this.installConfig={};for(const t of Object.keys(e.installConfig))"hoistingLimits"===t?"string"==typeof e.installConfig.hoistingLimits?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:r.push(new Error("Invalid hoisting limits definition")):r.push(new Error("Unrecognized installConfig key: "+t))}if("object"==typeof e.optionalDependencies&&null!==e.optionalDependencies)for(const[t,A]of Object.entries(e.optionalDependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.dependencies.set(n.identHash,n);const o=g.makeDescriptor(e,"unknown"),i=this.ensureDependencyMeta(o);Object.assign(i,{optional:!0})}"boolean"==typeof e.preferUnplugged&&(this.preferUnplugged=e.preferUnplugged),this.errors=r}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!this.dependencies.has(e.identHash)||!!this.peerDependencies.has(e.identHash)}hasHardDependency(e){return!!this.dependencies.has(e.identHash)||!!this.devDependencies.has(e.identHash)}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!this.hasHardDependency(e)||!!this.hasSoftDependency(e)}isCompatibleWithOS(e){return l.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return l.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if("unknown"!==e.range&&!s().valid(e.range))throw new Error(`Invalid meta field range for '${g.stringifyDescriptor(e)}'`);const t=g.stringifyIdent(e),r="unknown"!==e.range?e.range:null;let A=this.dependenciesMeta.get(t);A||this.dependenciesMeta.set(t,A=new Map);let n=A.get(r);return n||A.set(r,n={}),n}ensurePeerDependencyMeta(e){if("unknown"!==e.range)throw new Error(`Invalid meta field range for '${g.stringifyDescriptor(e)}'`);const t=g.stringifyIdent(e);let r=this.peerDependenciesMeta.get(t);return r||this.peerDependenciesMeta.set(t,r={}),r}setRawField(e,t,{after:r=[]}={}){const A=new Set(r.filter(e=>Object.prototype.hasOwnProperty.call(this.raw,e)));if(0===A.size||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{const r=this.raw,n=this.raw={};let o=!1;for(const i of Object.keys(r))n[i]=r[i],o||(A.delete(i),0===A.size&&(n[e]=t,o=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){if(Object.assign(e,this.raw),null!==this.name?e.name=g.stringifyIdent(this.name):delete e.name,null!==this.version?e.version=this.version:delete e.version,null!==this.os?e.os=this.os:delete e.os,null!==this.cpu?e.cpu=this.cpu:delete e.cpu,null!==this.type?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,null!==this.license?e.license=this.license:delete e.license,null!==this.languageName?e.languageName=this.languageName:delete e.languageName,null!==this.main?e.main=this.main:delete e.main,null!==this.module?e.module=this.module:delete e.module,null!==this.browser){const t=this.browser;"string"==typeof t?e.browser=t:t instanceof Map&&(e.browser=Object.assign({},...Array.from(t.keys()).sort().map(e=>({[e]:t.get(e)}))))}else delete e.browser;1===this.bin.size&&null!==this.name&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(e=>({[e]:this.bin.get(e)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:e})=>e)}:e.workspaces=this.workspaceDefinitions.map(({pattern:e})=>e):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;const r=[],A=[];for(const e of this.dependencies.values()){const n=this.dependenciesMeta.get(g.stringifyIdent(e));let o=!1;if(t&&n){const e=n.get(null);e&&e.optional&&(o=!0)}o?A.push(e):r.push(e)}r.length>0?e.dependencies=Object.assign({},...g.sortDescriptors(r).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.dependencies,A.length>0?e.optionalDependencies=Object.assign({},...g.sortDescriptors(A).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...g.sortDescriptors(this.devDependencies.values()).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...g.sortDescriptors(this.peerDependencies.values()).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(const[r,A]of a.sortMap(this.dependenciesMeta.entries(),([e,t])=>e))for(const[n,o]of a.sortMap(A.entries(),([e,t])=>null!==e?"0"+e:"1")){const A=null!==n?g.stringifyDescriptor(g.makeDescriptor(g.parseIdent(r),n)):r,i={...o};t&&null===n&&delete i.optional,0!==Object.keys(i).length&&(e.dependenciesMeta[A]=i)}return 0===Object.keys(e.dependenciesMeta).length&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...a.sortMap(this.peerDependenciesMeta.entries(),([e,t])=>e).map(([e,t])=>({[e]:t}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:e,reference:t})=>({[(0,o.stringifyResolution)(e)]:t}))):delete e.resolutions,null!==this.files?e.files=Array.from(this.files):delete e.files,null!==this.preferUnplugged?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}}function u(e){const t=e.match(/^[ \t]+/m);return t?t[0]:" "}function h(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function p(e){return e.replace(/\\/g,"/")}function d(e,{yamlCompatibilityMode:t}){return t?a.tryParseOptionalBoolean(e):void 0===e||"boolean"==typeof e?e:null}l.fileName="package.json",l.allDependencies=["dependencies","devDependencies","peerDependencies"],l.hardDependencies=["dependencies","devDependencies"]},92659:(e,t,r)=>{"use strict";var A;function n(e){return"YN"+e.toString(10).padStart(4,"0")}r.d(t,{b:()=>A,i:()=>n}),function(e){e[e.UNNAMED=0]="UNNAMED",e[e.EXCEPTION=1]="EXCEPTION",e[e.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",e[e.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",e[e.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",e[e.BUILD_DISABLED=5]="BUILD_DISABLED",e[e.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",e[e.MUST_BUILD=7]="MUST_BUILD",e[e.MUST_REBUILD=8]="MUST_REBUILD",e[e.BUILD_FAILED=9]="BUILD_FAILED",e[e.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",e[e.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",e[e.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",e[e.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",e[e.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",e[e.REMOTE_INVALID=15]="REMOTE_INVALID",e[e.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",e[e.RESOLUTION_PACK=17]="RESOLUTION_PACK",e[e.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",e[e.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",e[e.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",e[e.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",e[e.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",e[e.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",e[e.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",e[e.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",e[e.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",e[e.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",e[e.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",e[e.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",e[e.FETCH_FAILED=30]="FETCH_FAILED",e[e.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",e[e.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",e[e.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",e[e.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",e[e.NETWORK_ERROR=35]="NETWORK_ERROR",e[e.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",e[e.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",e[e.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",e[e.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",e[e.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",e[e.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",e[e.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",e[e.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",e[e.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",e[e.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",e[e.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",e[e.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",e[e.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",e[e.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",e[e.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",e[e.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",e[e.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",e[e.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",e[e.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",e[e.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",e[e.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",e[e.INVALID_MANIFEST=57]="INVALID_MANIFEST",e[e.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",e[e.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",e[e.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",e[e.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",e[e.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",e[e.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",e[e.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",e[e.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",e[e.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",e[e.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",e[e.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",e[e.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION"}(A||(A={}))},27092:(e,t,r)=>{"use strict";r.d(t,{B:()=>n});var A=r(54143);class n{constructor(e){this.resolvers=e.filter(e=>e)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,r){return this.getResolverByDescriptor(e,r).bindDescriptor(e,t,r)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,r){const A=this.getResolverByDescriptor(e,r);return await A.getCandidates(e,t,r)}async getSatisfying(e,t,r){return this.getResolverByDescriptor(e,r).getSatisfying(e,t,r)}async resolve(e,t){const r=this.getResolverByLocator(e,t);return await r.resolve(e,t)}tryResolverByDescriptor(e,t){const r=this.resolvers.find(r=>r.supportsDescriptor(e,t));return r||null}getResolverByDescriptor(e,t){const r=this.resolvers.find(r=>r.supportsDescriptor(e,t));if(!r)throw new Error(A.prettyDescriptor(t.project.configuration,e)+" isn't supported by any available resolver");return r}tryResolverByLocator(e,t){const r=this.resolvers.find(r=>r.supportsLocator(e,t));return r||null}getResolverByLocator(e,t){const r=this.resolvers.find(r=>r.supportsLocator(e,t));if(!r)throw new Error(A.prettyLocator(t.project.configuration,e)+" isn't supported by any available resolver");return r}}},85824:(e,t,r)=>{"use strict";r.d(t,{I:()=>ie});var A=r(43896),n=r(46009),o=r(5944),i=r(11640),s=r(40822),a=r(76417);function c(){}function g(e,t,r,A,n){for(var o=0,i=t.length,s=0,a=0;oe.length?r:e})),c.value=e.join(l)}else c.value=e.join(r.slice(s,s+c.count));s+=c.count,c.added||(a+=c.count)}}var u=t[i-1];return i>1&&"string"==typeof u.value&&(u.added||u.removed)&&e.equals("",u.value)&&(t[i-2].value+=u.value,t.pop()),t}function l(e){return{newPos:e.newPos,components:e.components.slice(0)}}c.prototype={diff:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},A=r.callback;"function"==typeof r&&(A=r,r={}),this.options=r;var n=this;function o(e){return A?(setTimeout((function(){A(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var i=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,a=1,c=i+s,u=[{newPos:-1,components:[]}],h=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=i&&h+1>=s)return o([{value:this.join(t),count:t.length}]);function p(){for(var r=-1*a;r<=a;r+=2){var A=void 0,c=u[r-1],h=u[r+1],p=(h?h.newPos:0)-r;c&&(u[r-1]=void 0);var d=c&&c.newPos+1=i&&p+1>=s)return o(g(n,A.components,t,e,n.useLongestToken));u[r]=A}else u[r]=void 0}a++}if(A)!function e(){setTimeout((function(){if(a>c)return A();p()||e()}),0)}();else for(;a<=c;){var d=p();if(d)return d}},pushComponent:function(e,t,r){var A=e[e.length-1];A&&A.added===t&&A.removed===r?e[e.length-1]={count:A.count+1,added:t,removed:r}:e.push({count:1,added:t,removed:r})},extractCommon:function(e,t,r,A){for(var n=t.length,o=r.length,i=e.newPos,s=i-A,a=0;i+10?a(d.lines.slice(-i.context)):[],g-=u.length,l-=u.length)}(o=u).push.apply(o,E(n.map((function(e){return(t.added?"+":"-")+e})))),t.added?p+=n.length:h+=n.length}else{if(g)if(n.length<=2*i.context&&e=s.length-2&&n.length<=i.context){var y=/\n$/.test(r),m=/\n$/.test(A),w=0==n.length&&u.length>B.oldLines;!y&&w&&u.splice(B.oldLines,0,"\\ No newline at end of file"),(y||w)&&m||u.push("\\ No newline at end of file")}c.push(B),g=0,l=0,u=[]}h+=n.length,p+=n.length}},f=0;f`${r}#commit=${A}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(e,t,r="",A,n)=>`https://${r}github.com/${A}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(e,t,r="",A,n)=>`https://${r}github.com/${A}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@[^/]+\/)?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,e=>"npm:"+e],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,e=>"npm:"+e],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,e=>"npm:"+e],[/^[^/]+\.tgz#[0-9a-f]+$/,e=>"npm:"+e]];class T{constructor(){this.resolutions=null}async setup(e,{report:t}){const r=n.y1.join(e.cwd,e.configuration.get("lockfileFilename"));if(!A.xfs.existsSync(r))return;const o=await A.xfs.readFilePromise(r,"utf8"),s=(0,i.parseSyml)(o);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;const a=this.resolutions=new Map;for(const r of Object.keys(s)){let A=O.tryParseDescriptor(r);if(!A){t.reportWarning(P.b.YARN_IMPORT_FAILED,`Failed to parse the string "${r}" into a proper descriptor`);continue}k().validRange(A.range)&&(A=O.makeDescriptor(A,"npm:"+A.range));const{version:n,resolved:o}=s[r];if(!o)continue;let i;for(const[e,t]of U){const r=o.match(e);if(r){i=t(n,...r);break}}if(!i){t.reportWarning(P.b.YARN_IMPORT_FAILED,`${O.prettyDescriptor(e.configuration,A)}: Only some patterns can be imported from legacy lockfiles (not "${o}")`);continue}const c=O.makeLocator(A,i);a.set(A.descriptorHash,c)}}supportsDescriptor(e,t){return!!this.resolutions&&this.resolutions.has(e.descriptorHash)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");const A=this.resolutions.get(e.descriptorHash);if(!A)throw new Error("Assertion failed: The resolution should have been registered");return[A]}async getSatisfying(e,t,r){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}class j{supportsDescriptor(e,t){return!!t.project.storedResolutions.get(e.descriptorHash)||!!t.project.originalPackages.has(O.convertDescriptorToLocator(e).locatorHash)}supportsLocator(e,t){return!!t.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){let A=r.project.originalPackages.get(O.convertDescriptorToLocator(e).locatorHash);if(A)return[A];const n=r.project.storedResolutions.get(e.descriptorHash);if(!n)throw new Error("Expected the resolution to have been successful - resolution not found");if(A=r.project.originalPackages.get(n),!A)throw new Error("Expected the resolution to have been successful - package not found");return[A]}async getSatisfying(e,t,r){return null}async resolve(e,t){const r=t.project.originalPackages.get(e.locatorHash);if(!r)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return r}}var Y=r(46611),G=r(27092),H=r(35691);class J{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,r){return this.resolver.bindDescriptor(e,t,r)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,r){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}async getSatisfying(e,t,r){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}async resolve(e,t){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}}var q=r(33720),z=r(17722),W=r(81111),X=r(71643),V=r(20624),_=r(73632),Z=r(63088),$=r(36545),ee=r(32485);const te=/ *, */g,re=/\/$/,Ae=(0,K.promisify)(R().gzip),ne=(0,K.promisify)(R().gunzip),oe={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"]};class ie{constructor(e,{configuration:t}){this.resolutionAliases=new Map,this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map,this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.storedChecksums=new Map,this.accessibleLocators=new Set,this.originalPackages=new Map,this.optionalBuilds=new Set,this.peerRequirements=new Map,this.installersCustomData=new Map,this.lockFileChecksum=null,this.configuration=t,this.cwd=e}static async find(e,t){var r,o,i;if(!e.projectCwd)throw new s.UsageError("No project found in "+t);let a=e.projectCwd,c=t,g=null;for(;g!==e.projectCwd;){if(g=c,A.xfs.existsSync(n.y1.join(g,n.QS.manifest))){a=g;break}c=n.y1.dirname(g)}const l=new ie(e.projectCwd,{configuration:e});null===(r=x.VK.telemetry)||void 0===r||r.reportProject(l.cwd),await l.setupResolutions(),await l.setupWorkspaces(),null===(o=x.VK.telemetry)||void 0===o||o.reportWorkspaceCount(l.workspaces.length),null===(i=x.VK.telemetry)||void 0===i||i.reportDependencyCount(l.workspaces.reduce((e,t)=>e+t.manifest.dependencies.size+t.manifest.devDependencies.size,0));const u=l.tryWorkspaceByCwd(a);if(u)return{project:l,workspace:u,locator:u.anchoredLocator};const h=await l.findLocatorForLocation(a+"/",{strict:!0});if(h)return{project:l,locator:h,workspace:null};throw new s.UsageError(`The nearest package directory (${X.pretty(e,a,X.Type.PATH)}) doesn't seem to be part of the project declared in ${X.pretty(e,l.cwd,X.Type.PATH)}.\n\n- If the project directory is right, it might be that you forgot to list ${X.pretty(e,n.y1.relative(l.cwd,a),X.Type.PATH)} as a workspace.\n- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}static generateBuildStateFile(e,t){let r="# Warning: This file is automatically generated. Removing it is fine, but will\n# cause all your builds to become invalidated.\n";const A=[...e].map(([e,r])=>{const A=t.get(e);if(void 0===A)throw new Error("Assertion failed: The locator should have been registered");return[O.stringifyLocator(A),A.locatorHash,r]});for(const[e,t,n]of _.sortMap(A,[e=>e[0],e=>e[1]]))r+="\n",r+=`# ${e}\n`,r+=JSON.stringify(t)+":\n",r+=` ${n}\n`;return r}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;const e=n.y1.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(A.xfs.existsSync(e)){const r=await A.xfs.readFilePromise(e,"utf8");this.lockFileChecksum=V.makeHash("1",r);const n=(0,i.parseSyml)(r);if(n.__metadata){const e=n.__metadata.version,r=n.__metadata.cacheKey;for(const A of Object.keys(n)){if("__metadata"===A)continue;const o=n[A];if(void 0===o.resolution)throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);const i=O.parseLocator(o.resolution,!0),s=new Y.G;s.load(o,{yamlCompatibilityMode:!0});const a=s.version,c=s.languageName||t,g=o.linkType.toUpperCase(),l=s.dependencies,u=s.peerDependencies,h=s.dependenciesMeta,p=s.peerDependenciesMeta,d=s.bin;if(null!=o.checksum){const e=void 0===r||o.checksum.includes("/")?o.checksum:`${r}/${o.checksum}`;this.storedChecksums.set(i.locatorHash,e)}if(e>=4){const e={...i,version:a,languageName:c,linkType:g,dependencies:l,peerDependencies:u,dependenciesMeta:h,peerDependenciesMeta:p,bin:d};this.originalPackages.set(e.locatorHash,e)}for(const t of A.split(te)){const r=O.parseDescriptor(t);if(this.storedDescriptors.set(r.descriptorHash,r),e>=4)this.storedResolutions.set(r.descriptorHash,i.locatorHash);else{const e=O.convertLocatorToDescriptor(i);e.descriptorHash!==r.descriptorHash&&(this.storedDescriptors.set(e.descriptorHash,e),this.resolutionAliases.set(r.descriptorHash,e.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){const t=e;e=[];for(const r of t){if(this.workspacesByCwd.has(r))continue;const t=await this.addWorkspace(r),A=this.storedPackages.get(t.anchoredLocator.locatorHash);A&&(t.dependencies=A.dependencies);for(const r of t.workspacesCwds)e.push(r)}}}async addWorkspace(e){const t=new z.j(e,{project:this});await t.setup();const r=this.workspacesByIdent.get(t.locator.identHash);if(void 0!==r)throw new Error(`Duplicate workspace name ${O.prettyIdent(this.configuration,t.locator)}: ${e} conflicts with ${r.cwd}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){n.y1.isAbsolute(e)||(e=n.y1.resolve(this.cwd,e)),e=n.y1.normalize(e).replace(/\/+$/,"");const t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){const t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(const r of this.workspaces){n.y1.relative(r.cwd,e).startsWith("../")||(t&&t.cwd.length>=r.cwd.length||(t=r))}return t||null}getWorkspaceByFilePath(e){const t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){const t=this.workspacesByIdent.get(e.identHash);return void 0===t?null:t}getWorkspaceByIdent(e){const t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${O.prettyIdent(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){const t=this.tryWorkspaceByIdent(e);return null!==t&&t.accepts(e.range)?t:null}getWorkspaceByDescriptor(e){const t=this.tryWorkspaceByDescriptor(e);if(null===t)throw new Error(`Workspace not found (${O.prettyDescriptor(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){O.isVirtualLocator(e)&&(e=O.devirtualizeLocator(e));const t=this.tryWorkspaceByIdent(e);return null===t||t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash?null:t}getWorkspaceByLocator(e){const t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${O.prettyLocator(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(const e of this.workspaces){const t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error("Assertion failed: Expected workspace to have been resolved");e.dependencies=new Map(t.dependencies)}}forgetResolution(e){const t=e=>{this.storedResolutions.delete(e),this.storedDescriptors.delete(e)},r=e=>{this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)};if("descriptorHash"in e){const A=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);const n=new Set(this.storedResolutions.values());void 0===A||n.has(A)||r(A)}if("locatorHash"in e){r(e.locatorHash);for(const[r,A]of this.storedResolutions)A===e.locatorHash&&t(r)}}forgetTransientResolutions(){const e=this.configuration.makeResolver();for(const t of this.originalPackages.values()){let r;try{r=e.shouldPersistResolution(t,{project:this,resolver:e})}catch(e){r=!1}r||this.forgetResolution(t)}}forgetVirtualResolutions(){for(const e of this.storedPackages.values())for(const[t,r]of e.dependencies)O.isVirtualDescriptor(r)&&e.dependencies.set(t,O.devirtualizeDescriptor(r))}getDependencyMeta(e,t){const r={},A=this.topLevelWorkspace.manifest.dependenciesMeta.get(O.stringifyIdent(e));if(!A)return r;const n=A.get(null);if(n&&Object.assign(r,n),null===t||!k().valid(t))return r;for(const[e,n]of A)null!==e&&e===t&&Object.assign(r,n);return r}async findLocatorForLocation(e,{strict:t=!1}={}){const r=new q.$,A=this.configuration.getLinkers(),n={project:this,report:r};for(const r of A){const A=await r.findPackageLocator(e,n);if(A){if(t){if((await r.findPackageLocation(A,n)).replace(re,"")!==e.replace(re,""))continue}return A}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();const t=e.resolver||this.configuration.makeResolver(),r=new T;await r.setup(this,{report:e.report});const o=e.lockfileOnly?new G.B([new j,new J(t)]):new G.B([new j,r,t]),i=this.configuration.makeFetcher(),s=e.lockfileOnly?{project:this,report:e.report,resolver:o}:{project:this,report:e.report,resolver:o,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:i}},a=new Map,c=new Map,g=new Map,l=new Map,u=new Map,h=new Map,p=[],d=async e=>{const t=await _.prettifyAsyncErrors(async()=>await o.resolve(e,s),t=>`${O.prettyLocator(this.configuration,e)}: ${t}`);if(!O.areLocatorsEqual(e,t))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${O.prettyLocator(this.configuration,e)} to ${O.prettyLocator(this.configuration,t)})`);l.set(t.locatorHash,t);const r=this.configuration.normalizePackage(t);for(const[t,A]of r.dependencies){const n=await this.configuration.reduceHook(e=>e.reduceDependency,A,this,r,A,{resolver:o,resolveOptions:s});if(!O.areIdentsEqual(A,n))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");const i=o.bindDescriptor(n,e,s);r.dependencies.set(t,i)}return p.push(Promise.all([...r.dependencies.values()].map(e=>f(e)))),c.set(r.locatorHash,r),r},C=async e=>{const t=this.resolutionAliases.get(e.descriptorHash);if(void 0!==t)return(async(e,t)=>{const r=await f(t);return a.set(e.descriptorHash,e),g.set(e.descriptorHash,r.locatorHash),r})(e,this.storedDescriptors.get(t));const r=o.getResolutionDependencies(e,s),A=new Map(await Promise.all(r.map(async e=>[e.descriptorHash,await f(e)]))),n=(await _.prettifyAsyncErrors(async()=>await o.getCandidates(e,A,s),t=>`${O.prettyDescriptor(this.configuration,e)}: ${t}`))[0];if(void 0===n)throw new Error(O.prettyDescriptor(this.configuration,e)+": No candidates found");return a.set(e.descriptorHash,e),g.set(e.descriptorHash,n.locatorHash),(async e=>{const t=u.get(e.locatorHash);if(void 0!==t)return t;const r=Promise.resolve().then(()=>d(e));return u.set(e.locatorHash,r),r})(n)},f=e=>{const t=h.get(e.descriptorHash);if(void 0!==t)return t;a.set(e.descriptorHash,e);const r=Promise.resolve().then(()=>C(e));return h.set(e.descriptorHash,r),r};for(const e of this.workspaces){const t=e.anchoredDescriptor;p.push(f(t))}for(;p.length>0;){const e=[...p];p.length=0,await Promise.all(e)}const I=new Set(this.resolutionAliases.values()),E=new Set(c.keys()),B=new Set,y=new Map;!function({project:e,allDescriptors:t,allResolutions:r,allPackages:o,accessibleLocators:i=new Set,optionalBuilds:s=new Set,volatileDescriptors:a=new Set,peerRequirements:c=new Map,report:g,tolerateMissingPackages:l=!1}){var u;const h=new Map,p=[],d=new Map,C=new Map,f=new Map,I=new Map,E=new Map,B=new Map(e.workspaces.map(e=>{const t=e.anchoredLocator.locatorHash,r=o.get(t);if(void 0===r){if(l)return[t,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[t,O.copyPackage(r)]})),y=()=>{const e=A.xfs.mktempSync(),t=n.y1.join(e,"stacktrace.log"),r=String(p.length+1).length,o=p.map((e,t)=>`${(t+1+".").padStart(r," ")} ${O.stringifyLocator(e)}\n`).join("");throw A.xfs.writeFileSync(t,o),new H.lk(P.b.STACK_OVERFLOW_RESOLUTION,"Encountered a stack overflow when resolving peer dependencies; cf "+t)},m=e=>{const t=r.get(e.descriptorHash);if(void 0===t)throw new Error("Assertion failed: The resolution should have been registered");const A=o.get(t);if(!A)throw new Error("Assertion failed: The package could not be found");return A},w=(e,t,{first:r,optional:A})=>{p.length>1e3&&y(),p.push(e);const n=Q(e,t,{first:r,optional:A});return p.pop(),n},Q=(A,n,{first:c,optional:g})=>{if(i.has(A.locatorHash))return;i.add(A.locatorHash),g||s.delete(A.locatorHash);const u=o.get(A.locatorHash);if(!u){if(l)return;throw new Error(`Assertion failed: The package (${O.prettyLocator(e.configuration,A)}) should have been registered`)}const p=[],m=[],Q=[],D=[],b=[];for(const i of Array.from(u.dependencies.values())){if(u.peerDependencies.has(i.identHash)&&!c)continue;if(O.isVirtualDescriptor(i))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(i.descriptorHash);let s=g;if(!s){const e=u.dependenciesMeta.get(O.stringifyIdent(i));if(void 0!==e){const t=e.get(null);void 0!==t&&t.optional&&(s=!0)}}const C=r.get(i.descriptorHash);if(!C){if(l)continue;throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(e.configuration,i)}) should have been registered`)}const v=B.get(C)||o.get(C);if(!v)throw new Error(`Assertion failed: The package (${C}, resolved from ${O.prettyDescriptor(e.configuration,i)}) should have been registered`);if(0===v.peerDependencies.size){w(v,new Map,{first:!1,optional:s});continue}const S=h.get(v.locatorHash);let k,K;"number"==typeof S&&S>=2&&y();const F=new Set;let N;m.push(()=>{k=O.virtualizeDescriptor(i,A.locatorHash),K=O.virtualizePackage(v,A.locatorHash),u.dependencies.delete(i.identHash),u.dependencies.set(k.identHash,k),r.set(k.descriptorHash,K.locatorHash),t.set(k.descriptorHash,k),o.set(K.locatorHash,K),p.push([v,k,K])}),Q.push(()=>{var e;N=new Map;for(const o of K.peerDependencies.values()){let i=u.dependencies.get(o.identHash);if(!i&&O.areIdentsEqual(A,o)&&(i=O.convertLocatorToDescriptor(A),t.set(i.descriptorHash,i),r.set(i.descriptorHash,A.locatorHash),a.delete(i.descriptorHash)),i||!K.dependencies.has(o.identHash)){if(i||(i=O.makeDescriptor(o,"missing:")),K.dependencies.set(i.identHash,i),O.isVirtualDescriptor(i)){_.getSetWithDefault(f,i.descriptorHash).add(K.locatorHash)}d.set(i.identHash,i),"missing:"===i.range&&F.add(i.identHash),N.set(o.identHash,null!==(e=n.get(o.identHash))&&void 0!==e?e:K.locatorHash)}else K.peerDependencies.delete(o.identHash)}K.dependencies=new Map(_.sortMap(K.dependencies,([e,t])=>O.stringifyIdent(t)))}),D.push(()=>{if(!o.has(K.locatorHash))return;const e=h.get(v.locatorHash),t=void 0!==e?e+1:1;h.set(v.locatorHash,t),w(K,N,{first:!1,optional:s}),h.set(v.locatorHash,t-1)}),b.push(()=>{const e=u.dependencies.get(i.identHash);if(void 0===e)throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");const t=r.get(e.descriptorHash);if(void 0===t)throw new Error("Assertion failed: Expected the descriptor to be registered");if(_.getSetWithDefault(E,t).add(A.locatorHash),o.has(K.locatorHash)){for(const e of K.peerDependencies.values()){const t=N.get(e.identHash);if(void 0===t)throw new Error("Assertion failed: Expected the peer dependency ident to be registered");_.getArrayWithDefault(_.getMapWithDefault(I,t),O.stringifyIdent(e)).push(K.locatorHash)}for(const e of F)K.dependencies.delete(e)}})}for(const e of[...m,...Q])e();let v;do{v=!0;for(const[A,n,s]of p){if(!o.has(s.locatorHash))continue;const a=_.getMapWithDefault(C,A.locatorHash),c=V.makeHash(...[...s.dependencies.values()].map(t=>{const A="missing:"!==t.range?r.get(t.descriptorHash):"missing:";if(void 0===A)throw new Error(`Assertion failed: Expected the resolution for ${O.prettyDescriptor(e.configuration,t)} to have been registered`);return A}),n.identHash),g=a.get(c);if(void 0===g){a.set(c,n);continue}if(g===n)continue;v=!1,o.delete(s.locatorHash),t.delete(n.descriptorHash),r.delete(n.descriptorHash),i.delete(s.locatorHash);const l=f.get(n.descriptorHash)||[],h=[u.locatorHash,...l];f.delete(n.descriptorHash);for(const e of h){const t=o.get(e);void 0!==t&&t.dependencies.set(n.identHash,g)}}}while(!v);for(const e of[...D,...b])e()};for(const t of e.workspaces)a.delete(t.anchoredDescriptor.descriptorHash),w(t.anchoredLocator,new Map,{first:!0,optional:!1});let D;!function(e){e[e.NotProvided=0]="NotProvided",e[e.NotCompatible=1]="NotCompatible"}(D||(D={}));const b=[];for(const[e,t]of E){const r=o.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the root to be registered");const A=I.get(e);if(void 0!==A)for(const n of t){const t=o.get(n);if(void 0!==t)for(const[i,s]of A){const A=O.parseIdent(i);if(t.peerDependencies.has(A.identHash))continue;const a="p"+V.makeHash(n,i,e).slice(0,5);c.set(a,{subject:n,requested:A,rootRequester:e,allRequesters:s});const g=r.dependencies.get(A.identHash);if(void 0!==g){const e=m(g),n=null!==(u=e.version)&&void 0!==u?u:"0.0.0",i=new Set;for(const e of s){const t=o.get(e);if(void 0===t)throw new Error("Assertion failed: Expected the link to be registered");const r=t.peerDependencies.get(A.identHash);if(void 0===r)throw new Error("Assertion failed: Expected the ident to be registered");i.add(r.range)}[...i].every(e=>$.satisfiesWithPrereleases(n,e))||b.push({type:D.NotCompatible,subject:t,requested:A,requester:r,version:n,hash:a,requirementCount:s.length})}else{const e=r.peerDependenciesMeta.get(i);(null==e?void 0:e.optional)||b.push({type:D.NotProvided,subject:t,requested:A,requester:r,hash:a})}}}}const v=[e=>O.prettyLocatorNoColors(e.subject),e=>O.stringifyIdent(e.requested),e=>""+e.type];for(const t of _.sortMap(b,v))switch(t.type){case D.NotProvided:null==g||g.reportWarning(P.b.MISSING_PEER_DEPENDENCY,`${O.prettyLocator(e.configuration,t.subject)} doesn't provide ${O.prettyIdent(e.configuration,t.requested)} (${X.pretty(e.configuration,t.hash,X.Type.CODE)}), requested by ${O.prettyIdent(e.configuration,t.requester)}`);break;case D.NotCompatible:{const r=t.requirementCount>1?"and some of its descendants request":"requests";null==g||g.reportWarning(P.b.INCOMPATIBLE_PEER_DEPENDENCY,`${O.prettyLocator(e.configuration,t.subject)} provides ${O.prettyIdent(e.configuration,t.requested)} (${X.pretty(e.configuration,t.hash,X.Type.CODE)}) with version ${O.prettyReference(e.configuration,t.version)}, which doesn't satisfy what ${O.prettyIdent(e.configuration,t.requester)} ${r}`)}}b.length>0&&(null==g||g.reportWarning(P.b.UNNAMED,`Some peer dependencies are incorrectly met; run ${X.pretty(e.configuration,"yarn explain peer-requirements ",X.Type.CODE)} for details, where ${X.pretty(e.configuration,"",X.Type.CODE)} is the six-letter p-prefixed code`))}({project:this,report:e.report,accessibleLocators:B,volatileDescriptors:I,optionalBuilds:E,peerRequirements:y,allDescriptors:a,allResolutions:g,allPackages:c});for(const e of I)a.delete(e),g.delete(e);this.storedResolutions=g,this.storedDescriptors=a,this.storedPackages=c,this.accessibleLocators=B,this.originalPackages=l,this.optionalBuilds=E,this.peerRequirements=y,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:r}){const A=r||this.configuration.makeFetcher(),n={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:t},o=Array.from(new Set(_.sortMap(this.storedResolutions.values(),[e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");return O.stringifyLocator(t)}])));let i=!1;const s=H.yG.progressViaCounter(o.length);t.reportProgress(s);const a=v()(32);if(await t.startCacheReport(async()=>{await Promise.all(o.map(e=>a(async()=>{const r=this.storedPackages.get(e);if(!r)throw new Error("Assertion failed: The locator should have been registered");if(O.isVirtualLocator(r))return;let o;try{o=await A.fetch(r,n)}catch(e){return e.message=`${O.prettyLocator(this.configuration,r)}: ${e.message}`,t.reportExceptionOnce(e),void(i=e)}o.checksum?this.storedChecksums.set(r.locatorHash,o.checksum):this.storedChecksums.delete(r.locatorHash),o.releaseFs&&o.releaseFs()}).finally(()=>{s.tick()})))}),i)throw i}async linkEverything({cache:e,report:t,fetcher:r,skipBuild:o}){var s;const c=r||this.configuration.makeFetcher(),g={checksums:this.storedChecksums,project:this,cache:e,fetcher:c,report:t,skipIntegrityCheck:!0},l=this.configuration.getLinkers(),u={project:this,report:t},h=new Map(l.map(e=>{const t=e.makeInstaller(u),r=t.getCustomDataKey(),A=this.installersCustomData.get(r);return void 0!==A&&t.attachCustomData(A),[e,t]})),p=new Map,d=new Map,C=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");return[e,await c.fetch(t,g)]})));for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(void 0===t)throw new Error("Assertion failed: The locator should have been registered");const r=f.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: The fetch result should have been registered");const A=this.tryWorkspaceByLocator(t);if(null!==A){const e=[],{scripts:o}=A.manifest;for(const t of["preinstall","install","postinstall"])o.has(t)&&e.push([L.k.SCRIPT,t]);try{for(const e of h.values()){if(null!==(await e.installPackage(t,r)).buildDirective)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}}finally{r.releaseFs&&r.releaseFs()}const i=n.y1.join(r.packageFs.getRealPath(),r.prefixPath);d.set(t.locatorHash,i),e.length>0&&C.set(t.locatorHash,{directives:e,buildLocations:[i]})}else{const e=l.find(e=>e.supportsPackage(t,u));if(!e)throw new H.lk(P.b.LINKER_NOT_FOUND,O.prettyLocator(this.configuration,t)+" isn't supported by any available linker");const A=h.get(e);if(!A)throw new Error("Assertion failed: The installer should have been registered");let n;try{n=await A.installPackage(t,r)}finally{r.releaseFs&&r.releaseFs()}p.set(t.locatorHash,e),d.set(t.locatorHash,n.packageLocation),n.buildDirective&&n.packageLocation&&C.set(t.locatorHash,{directives:n.buildDirective,buildLocations:[n.packageLocation]})}}const I=new Map;for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");const r=null!==this.tryWorkspaceByLocator(t),A=async(e,A)=>{const n=d.get(t.locatorHash);if(void 0===n)throw new Error(`Assertion failed: The package (${O.prettyLocator(this.configuration,t)}) should have been registered`);const o=[];for(const A of t.dependencies.values()){const i=this.storedResolutions.get(A.descriptorHash);if(void 0===i)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,A)}, from ${O.prettyLocator(this.configuration,t)})should have been registered`);const s=this.storedPackages.get(i);if(void 0===s)throw new Error(`Assertion failed: The package (${i}, resolved from ${O.prettyDescriptor(this.configuration,A)}) should have been registered`);const a=null===this.tryWorkspaceByLocator(s)?p.get(i):null;if(void 0===a)throw new Error(`Assertion failed: The package (${i}, resolved from ${O.prettyDescriptor(this.configuration,A)}) should have been registered`);const c=null===a;if(a===e||r||c)null!==d.get(s.locatorHash)&&o.push([A,s]);else if(null!==n){_.getArrayWithDefault(I,i).push(n)}}null!==n&&await A.attachInternalDependencies(t,o)};if(r)for(const[e,t]of h)await A(e,t);else{const e=p.get(t.locatorHash);if(!e)throw new Error("Assertion failed: The linker should have been found");const r=h.get(e);if(!r)throw new Error("Assertion failed: The installer should have been registered");await A(e,r)}}for(const[e,t]of I){const r=this.storedPackages.get(e);if(!r)throw new Error("Assertion failed: The package should have been registered");const A=p.get(r.locatorHash);if(!A)throw new Error("Assertion failed: The linker should have been found");const n=h.get(A);if(!n)throw new Error("Assertion failed: The installer should have been registered");await n.attachExternalDependents(r,t)}const E=new Map;for(const e of h.values()){const t=await e.finalizeInstall();for(const e of null!==(s=null==t?void 0:t.records)&&void 0!==s?s:[])C.set(e.locatorHash,{directives:e.buildDirective,buildLocations:e.buildLocations});void 0!==(null==t?void 0:t.customData)&&E.set(e.getCustomDataKey(),t.customData)}if(this.installersCustomData=E,await this.persistInstallStateFile(),o)return;const B=new Set(this.storedPackages.keys()),y=new Set(C.keys());for(const e of y)B.delete(e);const m=(0,a.createHash)("sha512");m.update(process.versions.node),this.configuration.triggerHook(e=>e.globalHashGeneration,this,e=>{m.update("\0"),m.update(e)});const w=m.digest("hex"),Q=new Map,D=e=>{let t=Q.get(e.locatorHash);if(void 0!==t)return t;const r=this.storedPackages.get(e.locatorHash);if(void 0===r)throw new Error("Assertion failed: The package should have been registered");const A=(0,a.createHash)("sha512");A.update(e.locatorHash),Q.set(e.locatorHash,"");for(const e of r.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(void 0===t)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,e)}) should have been registered`);const r=this.storedPackages.get(t);if(void 0===r)throw new Error("Assertion failed: The package should have been registered");A.update(D(r))}return t=A.digest("hex"),Q.set(e.locatorHash,t),t},b=(e,t)=>{const r=(0,a.createHash)("sha512");r.update(w),r.update(D(e));for(const e of t)r.update(e);return r.digest("hex")},v=this.configuration.get("bstatePath"),S=A.xfs.existsSync(v)?(0,i.parseSyml)(await A.xfs.readFilePromise(v,"utf8")):{},k=new Map;for(;y.size>0;){const e=y.size,r=[];for(const e of y){const o=this.storedPackages.get(e);if(!o)throw new Error("Assertion failed: The package should have been registered");let i=!0;for(const e of o.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(!t)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,e)}) should have been registered`);if(y.has(t)){i=!1;break}}if(!i)continue;y.delete(e);const s=C.get(o.locatorHash);if(!s)throw new Error("Assertion failed: The build directive should have been registered");const a=b(o,s.buildLocations);if(Object.prototype.hasOwnProperty.call(S,o.locatorHash)&&S[o.locatorHash]===a)k.set(o.locatorHash,a);else{Object.prototype.hasOwnProperty.call(S,o.locatorHash)?t.reportInfo(P.b.MUST_REBUILD,O.prettyLocator(this.configuration,o)+" must be rebuilt because its dependency tree changed"):t.reportInfo(P.b.MUST_BUILD,O.prettyLocator(this.configuration,o)+" must be built because it never did before or the last one failed");for(const e of s.buildLocations){if(!n.y1.isAbsolute(e))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${e})`);r.push((async()=>{for(const[r,i]of s.directives){let s=`# This file contains the result of Yarn building a package (${O.stringifyLocator(o)})\n`;switch(r){case L.k.SCRIPT:s+=`# Script name: ${i}\n`;break;case L.k.SHELLCODE:s+=`# Script code: ${i}\n`}const c=null;await A.xfs.mktempPromise(async g=>{const l=n.y1.join(g,"build.log"),{stdout:u,stderr:h}=this.configuration.getSubprocessStreams(l,{header:s,prefix:O.prettyLocator(this.configuration,o),report:t});let p;try{switch(r){case L.k.SCRIPT:p=await Z.executePackageScript(o,i,[],{cwd:e,project:this,stdin:c,stdout:u,stderr:h});break;case L.k.SHELLCODE:p=await Z.executePackageShellcode(o,i,[],{cwd:e,project:this,stdin:c,stdout:u,stderr:h})}}catch(e){h.write(e.stack),p=1}if(u.end(),h.end(),0===p)return k.set(o.locatorHash,a),!0;A.xfs.detachTemp(g);const d=`${O.prettyLocator(this.configuration,o)} couldn't be built successfully (exit code ${X.pretty(this.configuration,p,X.Type.NUMBER)}, logs can be found here: ${X.pretty(this.configuration,l,X.Type.PATH)})`;return t.reportInfo(P.b.BUILD_FAILED,d),this.optionalBuilds.has(o.locatorHash)?(k.set(o.locatorHash,a),!0):(t.reportError(P.b.BUILD_FAILED,d),!1)})}})())}}}if(await Promise.all(r),e===y.size){const e=Array.from(y).map(e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The package should have been registered");return O.prettyLocator(this.configuration,t)}).join(", ");t.reportError(P.b.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${e})`);break}}if(k.size>0){const e=this.configuration.get("bstatePath"),t=ie.generateBuildStateFile(k,this.storedPackages);await A.xfs.mkdirPromise(n.y1.dirname(e),{recursive:!0}),await A.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}else await A.xfs.removePromise(v)}async install(e){var t,r;const i=this.configuration.get("nodeLinker");null===(t=x.VK.telemetry)||void 0===t||t.reportInstall(i),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(e=>e.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(const e of this.configuration.packageExtensions.values())for(const[,t]of e)for(const e of t)e.status=ee._u.Inactive;const s=n.y1.join(this.cwd,this.configuration.get("lockfileFilename"));let a=null;if(e.immutable)try{a=await A.xfs.readFilePromise(s,"utf8")}catch(e){throw"ENOENT"===e.code?new H.lk(P.b.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):e}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(const[,t]of this.configuration.packageExtensions)for(const[,r]of t)for(const t of r)if(t.userProvided){const r=X.pretty(this.configuration,t,X.Type.PACKAGE_EXTENSION);switch(t.status){case ee._u.Inactive:e.report.reportWarning(P.b.UNUSED_PACKAGE_EXTENSION,r+": No matching package in the dependency tree; you may not need this rule anymore.");break;case ee._u.Redundant:e.report.reportWarning(P.b.REDUNDANT_PACKAGE_EXTENSION,r+": This rule seems redundant when applied on the original package; the extension may have been applied upstream.")}}if(null!==a){const t=(0,o.qH)(a,this.generateLockfile());if(t!==a){const r=w(s,s,a,t);e.report.reportSeparator();for(const t of r.hunks){e.report.reportInfo(null,`@@ -${t.oldStart},${t.oldLines} +${t.newStart},${t.newLines} @@`);for(const r of t.lines)r.startsWith("+")?e.report.reportError(P.b.FROZEN_LOCKFILE_EXCEPTION,X.pretty(this.configuration,r,X.Type.ADDED)):r.startsWith("-")?e.report.reportError(P.b.FROZEN_LOCKFILE_EXCEPTION,X.pretty(this.configuration,r,X.Type.REMOVED)):e.report.reportInfo(null,X.pretty(this.configuration,r,"grey"))}throw e.report.reportSeparator(),new H.lk(P.b.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(const e of this.configuration.packageExtensions.values())for(const[,t]of e)for(const e of t)e.userProvided&&e.status===ee._u.Active&&(null===(r=x.VK.telemetry)||void 0===r||r.reportPackageExtension(X.json(e,X.Type.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(void 0===e.persistProject||e.persistProject)&&await this.cacheCleanup(e)}),(void 0===e.persistProject||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{const t=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],r=await Promise.all(t.map(async e=>V.checksumPattern(e,{cwd:this.cwd})));await this.linkEverything(e);const A=await Promise.all(t.map(async e=>V.checksumPattern(e,{cwd:this.cwd})));for(let n=0;ne.afterAllInstalled,this,e)}generateLockfile(){const e=new Map;for(const[t,r]of this.storedResolutions.entries()){let A=e.get(r);A||e.set(r,A=new Set),A.add(t)}const t={__metadata:{version:4}};for(const[r,A]of e.entries()){const e=this.originalPackages.get(r);if(!e)continue;const n=[];for(const e of A){const t=this.storedDescriptors.get(e);if(!t)throw new Error("Assertion failed: The descriptor should have been registered");n.push(t)}const o=n.map(e=>O.stringifyDescriptor(e)).sort().join(", "),i=new Y.G;let s;i.version=e.linkType===ee.Un.HARD?e.version:"0.0.0-use.local",i.languageName=e.languageName,i.dependencies=new Map(e.dependencies),i.peerDependencies=new Map(e.peerDependencies),i.dependenciesMeta=new Map(e.dependenciesMeta),i.peerDependenciesMeta=new Map(e.peerDependenciesMeta),i.bin=new Map(e.bin);const a=this.storedChecksums.get(e.locatorHash);if(void 0!==a){const e=a.indexOf("/");if(-1===e)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");const r=a.slice(0,e),A=a.slice(e+1);void 0===t.__metadata.cacheKey&&(t.__metadata.cacheKey=r),s=r===t.__metadata.cacheKey?A:a}t[o]={...i.exportTo({},{compatibilityMode:!1}),linkType:e.linkType.toLowerCase(),resolution:O.stringifyLocator(e),checksum:s}}return['# This file is generated by running "yarn install" inside your project.\n',"# Manual changes might be lost - proceed with caution!\n"].join("")+"\n"+(0,i.stringifySyml)(t)}async persistLockfile(){const e=n.y1.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.generateLockfile();await A.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}async persistInstallStateFile(){const e=[];for(const t of Object.values(oe))e.push(...t);const t=D()(this,e),r=await Ae(N().serialize(t)),o=this.configuration.get("installStatePath");await A.xfs.mkdirPromise(n.y1.dirname(o),{recursive:!0}),await A.xfs.changeFilePromise(o,r)}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0}={}){const r=this.configuration.get("installStatePath");if(!A.xfs.existsSync(r))return void(t&&await this.applyLightResolution());const n=await A.xfs.readFilePromise(r),o=N().deserialize(await ne(n));e&&void 0!==o.installersCustomData&&(this.installersCustomData=o.installersCustomData),t&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,D()(o,oe.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new q.$}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(const e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){const r=new Set([".gitignore"]);if(A.xfs.existsSync(e.cwd)&&(0,W.isFolderInside)(e.cwd,this.cwd)){for(const o of await A.xfs.readdirPromise(e.cwd)){if(r.has(o))continue;const i=n.y1.resolve(e.cwd,o);e.markedFiles.has(i)||(e.immutable?t.reportError(P.b.IMMUTABLE_CACHE,X.pretty(this.configuration,n.y1.basename(i),"magenta")+" appears to be unused and would marked for deletion, but the cache is immutable"):(t.reportInfo(P.b.UNUSED_CACHE_ENTRY,X.pretty(this.configuration,n.y1.basename(i),"magenta")+" appears to be unused - removing"),await A.xfs.removePromise(i)))}e.markedFiles.clear()}}}},52779:(e,t,r)=>{"use strict";r.d(t,{c:()=>s,O:()=>a});var A=r(53887),n=r.n(A),o=r(36545),i=r(54143);const s=/^(?!v)[a-z0-9-.]+$/i;class a{supportsDescriptor(e,t){return!!o.validRange(e.range)||!!s.test(e.range)}supportsLocator(e,t){return!!n().valid(e.reference)||!!s.test(e.reference)}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,r){return r.resolver.bindDescriptor(this.forwardDescriptor(e,r),t,r)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,r){return await r.resolver.getCandidates(this.forwardDescriptor(e,r),t,r)}async getSatisfying(e,t,r){return await r.resolver.getSatisfying(this.forwardDescriptor(e,r),t,r)}async resolve(e,t){const r=await t.resolver.resolve(this.forwardLocator(e,t),t);return i.renamePackage(r,e)}forwardDescriptor(e,t){return i.makeDescriptor(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return i.makeLocator(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}}},35691:(e,t,r)=>{"use strict";r.d(t,{lk:()=>i,yG:()=>s});var A=r(92413),n=r(24304),o=r(92659);class i extends Error{constructor(e,t,r){super(t),this.reportExtra=r,this.reportCode=e}}class s{constructor(){this.reportedInfos=new Set,this.reportedWarnings=new Set,this.reportedErrors=new Set}static progressViaCounter(e){let t,r=0,A=new Promise(e=>{t=e});const n=e=>{const n=t;A=new Promise(e=>{t=e}),r=e,n()},o=async function*(){for(;ro,set:n,tick:(e=0)=>{n(r+1)}}}reportInfoOnce(e,t,r){const A=r&&r.key?r.key:t;this.reportedInfos.has(A)||(this.reportedInfos.add(A),this.reportInfo(e,t))}reportWarningOnce(e,t,r){const A=r&&r.key?r.key:t;this.reportedWarnings.has(A)||(this.reportedWarnings.add(A),this.reportWarning(e,t))}reportErrorOnce(e,t,r){var A;const n=r&&r.key?r.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),null===(A=null==r?void 0:r.reportExtra)||void 0===A||A.call(r,this))}reportExceptionOnce(e){!function(e){return void 0!==e.reportCode}(e)?this.reportErrorOnce(o.b.EXCEPTION,e.stack||e.message,{key:e}):this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra})}createStreamReporter(e=null){const t=new A.PassThrough,r=new n.StringDecoder;let o="";return t.on("data",t=>{let A,n=r.write(t);do{if(A=n.indexOf("\n"),-1!==A){const t=o+n.substr(0,A);n=n.substr(A+1),o="",null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t)}}while(-1!==A);o+=n}),t.on("end",()=>{const t=r.end();""!==t&&(null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t))}),t}}},15815:(e,t,r)=>{"use strict";r.d(t,{Qw:()=>C,Pk:()=>f});var A=r(29148),n=r.n(A),o=r(92659),i=r(35691),s=r(71643);const a=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],c=new Set([o.b.FETCH_NOT_CACHED,o.b.UNUSED_CACHE_ENTRY]),g=process.env.GITHUB_ACTIONS?{start:e=>`::group::${e}\n`,end:e=>"::endgroup::\n"}:process.env.TRAVIS?{start:e=>`travis_fold:start:${e}\n`,end:e=>`travis_fold:end:${e}\n`}:process.env.GITLAB_CI?{start:e=>`section_start:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r${e}\n`,end:e=>`section_end:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r`}:null,l=new Date,u=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,h={patrick:{date:[17,3],chars:["🍀","🌱"],size:40},simba:{date:[19,7],chars:["🦁","🌴"],size:40},jack:{date:[31,10],chars:["🎃","🦇"],size:40},hogsfather:{date:[31,12],chars:["🎉","🎄"],size:40},default:{chars:["=","-"],size:80}},p=u&&Object.keys(h).find(e=>{const t=h[e];return!t.date||t.date[0]===l.getDate()&&t.date[1]===l.getMonth()+1})||"default";function d(e,{configuration:t,json:r}){const A=null===e?0:e,n=(0,o.i)(A);return r||null!==e?n:s.pretty(t,n,"grey")}function C(e,{configuration:t,json:r}){const A=d(e,{configuration:t,json:r});if(!t.get("enableHyperlinks"))return A;if(null===e||e===o.b.UNNAMED)return A;return`]8;;${`https://yarnpkg.com/advanced/error-codes#${A}---${o.b[e]}`.toLowerCase()}${A}]8;;`}class f extends i.yG{constructor({configuration:e,stdout:t,json:r=!1,includeFooter:A=!0,includeLogs:n=!r,includeInfos:o=n,includeWarnings:i=n,forgettableBufferSize:a=5,forgettableNames:g=new Set}){super(),this.uncommitted=new Set,this.cacheHitCount=0,this.cacheMissCount=0,this.warningCount=0,this.errorCount=0,this.startTime=Date.now(),this.indent=0,this.progress=new Map,this.progressTime=0,this.progressFrame=0,this.progressTimeout=null,this.forgettableLines=[],s.addLogFilterSupport(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=a,this.forgettableNames=new Set([...g,...c]),this.includeFooter=A,this.includeInfos=o,this.includeWarnings=i,this.json=r,this.stdout=t;const l=this.configuration.get("progressBarStyle")||p;if(!Object.prototype.hasOwnProperty.call(h,l))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=h[l];const u="➤ YN0000: ┌ ".length,d=Math.max(0,Math.min(process.stdout.columns-u,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*d/80)}static async start(e,t){const r=new this(e),A=process.emitWarning;process.emitWarning=(e,t)=>{if("string"!=typeof e){const r=e;e=r.message,t=null!=t?t:r.name}const A=void 0!==t?`${t}: ${e}`:e;r.reportWarning(o.b.UNNAMED,A)};try{await t(r)}catch(e){r.reportExceptionOnce(e)}finally{await r.finalize(),process.emitWarning=A}return r}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,t){this.cacheMissCount+=1,void 0===t||this.configuration.get("preferAggregateCacheInfo")||this.reportInfo(o.b.FETCH_NOT_CACHED,t)}startTimerSync(e,t,r){const A="function"==typeof t?t:r,n={committed:!1,action:()=>{this.reportInfo(null,"┌ "+e),this.indent+=1,null!==g&&this.stdout.write(g.start(e))}};("function"==typeof t?{}:t).skipIfEmpty?this.uncommitted.add(n):(n.action(),n.committed=!0);const o=Date.now();try{return A()}catch(e){throw this.reportExceptionOnce(e),e}finally{const t=Date.now();this.uncommitted.delete(n),n.committed&&(this.indent-=1,null!==g&&this.stdout.write(g.end(e)),this.configuration.get("enableTimers")&&t-o>200?this.reportInfo(null,"└ Completed in "+s.pretty(this.configuration,t-o,s.Type.DURATION)):this.reportInfo(null,"└ Completed"))}}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r,n={committed:!1,action:()=>{this.reportInfo(null,"┌ "+e),this.indent+=1,null!==g&&this.stdout.write(g.start(e))}};("function"==typeof t?{}:t).skipIfEmpty?this.uncommitted.add(n):(n.action(),n.committed=!0);const o=Date.now();try{return await A()}catch(e){throw this.reportExceptionOnce(e),e}finally{const t=Date.now();this.uncommitted.delete(n),n.committed&&(this.indent-=1,null!==g&&this.stdout.write(g.end(e)),this.configuration.get("enableTimers")&&t-o>200?this.reportInfo(null,"└ Completed in "+s.pretty(this.configuration,t-o,s.Type.DURATION)):this.reportInfo(null,"└ Completed"))}}async startCacheReport(e){const t=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(e){throw this.reportExceptionOnce(e),e}finally{null!==t&&this.reportCacheChanges(t)}}reportSeparator(){0===this.indent?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,t){if(!this.includeInfos)return;this.commit();const r=`${s.pretty(this.configuration,"➤","blueBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(r),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(r,{truncate:!0});else this.writeLineWithForgettableReset(r)}reportWarning(e,t){this.warningCount+=1,this.includeWarnings&&(this.commit(),this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${s.pretty(this.configuration,"➤","yellowBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`))}reportError(e,t){this.errorCount+=1,this.commit(),this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${s.pretty(this.configuration,"➤","redBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`,{truncate:!1})}reportProgress(e){let t=!1;const r=Promise.resolve().then(async()=>{const r={progress:0,title:void 0};this.progress.set(e,{definition:r,lastScaledSize:-1}),this.refreshProgress(-1);for await(const{progress:A,title:n}of e)t||r.progress===A&&r.title===n||(r.progress=A,r.title=n,this.refreshProgress());A()}),A=()=>{t||(t=!0,this.progress.delete(e),this.refreshProgress(1))};return{...r,stop:A}}reportJson(e){this.json&&this.writeLineWithForgettableReset(""+JSON.stringify(e))}async finalize(){if(!this.includeFooter)return;let e="";e=this.errorCount>0?"Failed with errors":this.warningCount>0?"Done with warnings":"Done";const t=s.pretty(this.configuration,Date.now()-this.startTime,s.Type.DURATION),r=this.configuration.get("enableTimers")?`${e} in ${t}`:e;this.errorCount>0?this.reportError(o.b.UNNAMED,r):this.warningCount>0?this.reportWarning(o.b.UNNAMED,r):this.reportInfo(o.b.UNNAMED,r)}writeLine(e,{truncate:t}={}){this.clearProgress({clear:!0}),this.stdout.write(this.truncate(e,{truncate:t})+"\n"),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:t}={}){this.forgettableLines=[],this.writeLine(e,{truncate:t})}writeLines(e,{truncate:t}={}){this.clearProgress({delta:e.length});for(const r of e)this.stdout.write(this.truncate(r,{truncate:t})+"\n");this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:t}){const r=this.cacheHitCount-e,A=this.cacheMissCount-t;if(0===r&&0===A)return;let n="";this.cacheHitCount>1?n+=this.cacheHitCount+" packages were already cached":1===this.cacheHitCount?n+=" - one package was already cached":n+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?n+=`, ${this.cacheMissCount} had to be fetched`:1===this.cacheMissCount&&(n+=", one had to be fetched"):this.cacheMissCount>1?n+=` - ${this.cacheMissCount} packages had to be fetched`:1===this.cacheMissCount&&(n+=" - one package had to be fetched"),this.reportInfo(o.b.FETCH_NOT_CACHED,n)}commit(){const e=this.uncommitted;this.uncommitted=new Set;for(const t of e)t.committed=!0,t.action()}clearProgress({delta:e=0,clear:t=!1}){this.configuration.get("enableProgressBars")&&!this.json&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||t)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json)return;if(null!==this.progressTimeout&&clearTimeout(this.progressTimeout),this.progressTimeout=null,0===this.progress.size)return;const e=Date.now();e-this.progressTime>80&&(this.progressFrame=(this.progressFrame+1)%a.length,this.progressTime=e);const t=a[this.progressFrame];for(const e of this.progress.values()){const r=this.progressStyle.chars[0].repeat(e.lastScaledSize),A=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-e.lastScaledSize);this.stdout.write(`${s.pretty(this.configuration,"➤","blueBright")} ${this.formatName(null)}: ${t} ${r}${A}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},80)}refreshProgress(e=0){let t=!1;if(0===this.progress.size)t=!0;else for(const e of this.progress.values()){const r=Math.trunc(this.progressMaxScaledSize*e.definition.progress),A=e.lastScaledSize;if(e.lastScaledSize=r,r!==A){t=!0;break}}t&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:t}={}){return this.configuration.get("enableProgressBars")||(t=!1),void 0===t&&(t=this.configuration.get("preferTruncatedLines")),t&&(e=n()(e,0,process.stdout.columns-1)),e}formatName(e){return d(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return C(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"│ ".repeat(this.indent)}}},81832:(e,t,r)=>{"use strict";r.d(t,{E:()=>a});var A,n=r(43896),o=r(46009),i=r(79669),s=r(73632);!function(e){e.VERSION="version",e.COMMAND_NAME="commandName",e.PLUGIN_NAME="pluginName",e.INSTALL_COUNT="installCount",e.PROJECT_COUNT="projectCount",e.WORKSPACE_COUNT="workspaceCount",e.DEPENDENCY_COUNT="dependencyCount",e.EXTENSION="packageExtension"}(A||(A={}));class a{constructor(e,t){this.values=new Map,this.hits=new Map,this.enumerators=new Map,this.configuration=e;const r=this.getRegistryPath();this.isNew=!n.xfs.existsSync(r),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(A.VERSION,e)}reportCommandName(e){this.reportValue(A.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(A.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(A.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(A.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(A.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(A.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(A.DEPENDENCY_COUNT,String(e))}reportValue(e,t){s.getSetWithDefault(this.values,e).add(t)}reportEnumerator(e,t){s.getSetWithDefault(this.enumerators,e).add(t)}reportHit(e,t="*"){const r=s.getMapWithDefault(this.hits,e),A=s.getFactoryWithDefault(r,t,()=>0);r.set(t,A+1)}getRegistryPath(){const e=this.configuration.get("globalFolder");return o.y1.join(e,"telemetry.json")}sendReport(e){var t,r,A;const s=this.getRegistryPath();let a;try{a=n.xfs.readJsonSync(s)}catch(e){a={}}const c=Date.now(),g=24*this.configuration.get("telemetryInterval")*60*60*1e3,l=(null!==(t=a.lastUpdate)&&void 0!==t?t:c+g+Math.floor(g*Math.random()))+g;if(!(l>c&&null!=a.lastUpdate)){try{n.xfs.mkdirSync(o.y1.dirname(s),{recursive:!0}),n.xfs.writeJsonSync(s,{lastUpdate:c})}catch(e){return}if(!(l>c)&&a.blocks)for(const[t,n]of Object.entries(null!==(r=a.blocks)&&void 0!==r?r:{})){if(0===Object.keys(n).length)continue;const r=n;r.userId=t;for(const e of Object.keys(null!==(A=r.enumerators)&&void 0!==A?A:{}))r.enumerators[e]=r.enumerators[e].length;const o=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`;i.post(o,r,{configuration:this.configuration}).catch(()=>{})}}}applyChanges(){var e,t,r,A,i,s,a,c,g;const l=this.getRegistryPath();let u;try{u=n.xfs.readJsonSync(l)}catch(e){u={}}const h=null!==(e=this.configuration.get("telemetryUserId"))&&void 0!==e?e:"*",p=u.blocks=null!==(t=u.blocks)&&void 0!==t?t:{},d=p[h]=null!==(r=p[h])&&void 0!==r?r:{};for(const e of this.hits.keys()){const t=d.hits=null!==(A=d.hits)&&void 0!==A?A:{},r=t[e]=null!==(i=t[e])&&void 0!==i?i:{};for(const[t,A]of this.hits.get(e))r[t]=(null!==(s=r[t])&&void 0!==s?s:0)+A}for(const e of["values","enumerators"])for(const t of this[e].keys()){const r=d[e]=null!==(a=d[e])&&void 0!==a?a:{};r[t]=[...new Set([...null!==(c=r[t])&&void 0!==c?c:[],...null!==(g=this[e].get(t))&&void 0!==g?g:[]])]}n.xfs.mkdirSync(o.y1.dirname(l),{recursive:!0}),n.xfs.writeJsonSync(l,u)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch(e){}})}}},33720:(e,t,r)=>{"use strict";r.d(t,{$:()=>n});var A=r(35691);class n extends A.yG{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t,r){return("function"==typeof t?t:r)()}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r;return await A()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(const{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}},60895:(e,t,r)=>{"use strict";r.d(t,{N:()=>s});var A=r(17674),n=r(14626),o=r(46009),i=r(54143);class s{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){const r=e.reference.indexOf("#");if(-1===r)throw new Error("Invalid virtual package reference");const A=e.reference.slice(r+1),n=i.makeLocator(e,A);return t.fetcher.getLocalPath(n,t)}async fetch(e,t){const r=e.reference.indexOf("#");if(-1===r)throw new Error("Invalid virtual package reference");const A=e.reference.slice(r+1),n=i.makeLocator(e,A),o=await t.fetcher.fetch(n,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return i.slugifyLocator(e)}async ensureVirtualLink(e,t,r){const i=t.packageFs.getRealPath(),s=r.project.configuration.get("virtualFolder"),a=this.getLocatorFilename(e),c=A.p.makeVirtualPath(s,a,i),g=new n.K(c,{baseFs:t.packageFs,pathUtils:o.y1});return{...t,packageFs:g}}}},17722:(e,t,r)=>{"use strict";r.d(t,{j:()=>h});var A=r(43896),n=r(46009),o=r(58592),i=r.n(o),s=r(53887),a=r.n(s),c=r(46611),g=r(94538),l=r(20624),u=r(54143);class h{constructor(e,{project:t}){this.workspacesCwds=new Set,this.dependencies=new Map,this.project=t,this.cwd=e}async setup(){this.manifest=A.xfs.existsSync(n.y1.join(this.cwd,c.G.fileName))?await c.G.find(this.cwd):new c.G,this.relativeCwd=n.y1.relative(this.project.cwd,this.cwd)||n.LZ.dot;const e=this.manifest.name?this.manifest.name:u.makeIdent(null,`${this.computeCandidateName()}-${l.makeHash(this.relativeCwd).substr(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=u.makeLocator(e,t),this.anchoredDescriptor=u.makeDescriptor(this.locator,`${g.d.protocol}${this.relativeCwd}`),this.anchoredLocator=u.makeLocator(this.locator,`${g.d.protocol}${this.relativeCwd}`);const r=this.manifest.workspaceDefinitions.map(({pattern:e})=>e),o=await i()(r,{absolute:!0,cwd:n.cS.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort();for(const e of o){const t=n.y1.resolve(this.cwd,n.cS.toPortablePath(e));A.xfs.existsSync(n.y1.join(t,"package.json"))&&this.workspacesCwds.add(t)}}accepts(e){const t=e.indexOf(":"),r=-1!==t?e.slice(0,t+1):null,A=-1!==t?e.slice(t+1):e;return r===g.d.protocol&&n.y1.normalize(A)===this.relativeCwd||(r===g.d.protocol&&"*"===A||!!a().validRange(A)&&(r===g.d.protocol?a().satisfies(null!==this.manifest.version?this.manifest.version:"0.0.0",A):!!this.project.configuration.get("enableTransparentWorkspaces")&&(null!==this.manifest.version&&a().satisfies(this.manifest.version,A))))}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":""+n.y1.basename(this.cwd)||"unnamed-workspace"}async persistManifest(){const e={};this.manifest.exportTo(e);const t=n.y1.join(this.cwd,c.G.fileName),r=JSON.stringify(e,null,this.manifest.indent)+"\n";await A.xfs.changeFilePromise(t,r,{automaticNewlines:!0})}}},94538:(e,t,r)=>{"use strict";r.d(t,{d:()=>n});var A=r(32485);class n{supportsDescriptor(e,t){if(e.range.startsWith(n.protocol))return!0;return null!==t.project.tryWorkspaceByDescriptor(e)}supportsLocator(e,t){return!!e.reference.startsWith(n.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){return[r.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,r){return null}async resolve(e,t){const r=t.project.getWorkspaceByCwd(e.reference.slice(n.protocol.length));return{...e,version:r.manifest.version||"0.0.0",languageName:"unknown",linkType:A.Un.SOFT,dependencies:new Map([...r.manifest.dependencies,...r.manifest.devDependencies]),peerDependencies:new Map([...r.manifest.peerDependencies]),dependenciesMeta:r.manifest.dependenciesMeta,peerDependenciesMeta:r.manifest.peerDependenciesMeta,bin:r.manifest.bin}}}n.protocol="workspace:"},59355:(e,t,r)=>{"use strict";r.d(t,{o:()=>A});const A="2.4.2"},6220:(e,t,r)=>{"use strict";r.r(t),r.d(t,{EndStrategy:()=>A,pipevp:()=>g,execvp:()=>l});var A,n=r(46009),o=r(67566),i=r.n(o);function s(e){return null!==e&&"number"==typeof e.fd}function a(){}!function(e){e[e.Never=0]="Never",e[e.ErrorCode=1]="ErrorCode",e[e.Always=2]="Always"}(A||(A={}));let c=0;async function g(e,t,{cwd:r,env:o=process.env,strict:g=!1,stdin:l=null,stdout:u,stderr:p,end:d=A.Always}){const C=["pipe","pipe","pipe"];null===l?C[0]="ignore":s(l)&&(C[0]=l),s(u)&&(C[1]=u),s(p)&&(C[2]=p),0==c++&&process.on("SIGINT",a);const f=i()(e,t,{cwd:n.cS.fromPortablePath(r),env:{...o,PWD:n.cS.fromPortablePath(r)},stdio:C});s(l)||null===l||l.pipe(f.stdin),s(u)||f.stdout.pipe(u,{end:!1}),s(p)||f.stderr.pipe(p,{end:!1});const I=()=>{for(const e of new Set([u,p]))s(e)||e.end()};return new Promise((t,r)=>{f.on("error",e=>{0==--c&&process.off("SIGINT",a),d!==A.Always&&d!==A.ErrorCode||I(),r(e)}),f.on("close",(n,o)=>{0==--c&&process.off("SIGINT",a),(d===A.Always||d===A.ErrorCode&&n>0)&&I(),0!==n&&g?r(null!==n?new Error(`Child "${e}" exited with exit code ${n}`):new Error(`Child "${e}" exited with signal ${o}`)):t({code:h(n,o)})})})}async function l(e,t,{cwd:r,env:A=process.env,encoding:o="utf8",strict:s=!1}){const a=["ignore","pipe","pipe"],c=[],g=[],l=n.cS.fromPortablePath(r);void 0!==A.PWD&&(A={...A,PWD:l});const u=i()(e,t,{cwd:l,env:A,stdio:a});return u.stdout.on("data",e=>{c.push(e)}),u.stderr.on("data",e=>{g.push(e)}),await new Promise((t,r)=>{u.on("error",r),u.on("close",(A,n)=>{const i="buffer"===o?Buffer.concat(c):Buffer.concat(c).toString(o),a="buffer"===o?Buffer.concat(g):Buffer.concat(g).toString(o);0!==A&&s?r(Object.assign(new Error(`Child "${e}" exited with exit code ${A}\n\n${a}`),{code:h(A,n),stdout:i,stderr:a})):t({code:h(A,n),stdout:i,stderr:a})})})}const u=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function h(e,t){const r=u.get(t);return void 0!==r?128+r:null!=e?e:1}},81111:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getDefaultGlobalFolder:()=>o,getHomeFolder:()=>i,isFolderInside:()=>s});var A=r(46009),n=r(12087);function o(){if("win32"===process.platform){const e=A.cS.toPortablePath(process.env.LOCALAPPDATA||A.cS.join((0,n.homedir)(),"AppData","Local"));return A.y1.resolve(e,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){const e=A.cS.toPortablePath(process.env.XDG_DATA_HOME);return A.y1.resolve(e,"yarn/berry")}return A.y1.resolve(i(),".yarn/berry")}function i(){return A.cS.toPortablePath((0,n.homedir)()||"/usr/local/share")}function s(e,t){const r=A.y1.relative(t,e);return r&&!r.startsWith("..")&&!A.y1.isAbsolute(r)}},71643:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Type:()=>A,Style:()=>n,supportsColor:()=>h,supportsHyperlinks:()=>p,tuple:()=>I,applyStyle:()=>E,applyColor:()=>B,pretty:()=>y,prettyList:()=>m,json:()=>w,mark:()=>Q,LogLevel:()=>D,addLogFilterSupport:()=>b});var A,n,o=r(46009),i=r(95882),s=r.n(i),a=r(92659),c=r(73632),g=r(54143),l=r(32485);!function(e){e.NO_HINT="NO_HINT",e.NULL="NULL",e.SCOPE="SCOPE",e.NAME="NAME",e.RANGE="RANGE",e.REFERENCE="REFERENCE",e.NUMBER="NUMBER",e.PATH="PATH",e.URL="URL",e.ADDED="ADDED",e.REMOVED="REMOVED",e.CODE="CODE",e.DURATION="DURATION",e.SIZE="SIZE",e.IDENT="IDENT",e.DESCRIPTOR="DESCRIPTOR",e.LOCATOR="LOCATOR",e.RESOLUTION="RESOLUTION",e.DEPENDENT="DEPENDENT",e.PACKAGE_EXTENSION="PACKAGE_EXTENSION"}(A||(A={})),function(e){e[e.BOLD=2]="BOLD"}(n||(n={}));const u=process.env.GITHUB_ACTIONS?{level:2}:s().supportsColor?{level:s().supportsColor.level}:{level:0},h=0!==u.level,p=h&&!process.env.GITHUB_ACTIONS,d=new(s().Instance)(u),C=new Map([[A.NO_HINT,null],[A.NULL,["#a853b5",129]],[A.SCOPE,["#d75f00",166]],[A.NAME,["#d7875f",173]],[A.RANGE,["#00afaf",37]],[A.REFERENCE,["#87afff",111]],[A.NUMBER,["#ffd700",220]],[A.PATH,["#d75fd7",170]],[A.URL,["#d75fd7",170]],[A.ADDED,["#5faf00",70]],[A.REMOVED,["#d70000",160]],[A.CODE,["#87afff",111]],[A.SIZE,["#ffd700",220]]]),f={[A.NUMBER]:{pretty:(e,t)=>""+t,json:e=>e},[A.IDENT]:{pretty:(e,t)=>g.prettyIdent(e,t),json:e=>g.stringifyIdent(e)},[A.LOCATOR]:{pretty:(e,t)=>g.prettyLocator(e,t),json:e=>g.stringifyLocator(e)},[A.DESCRIPTOR]:{pretty:(e,t)=>g.prettyDescriptor(e,t),json:e=>g.stringifyDescriptor(e)},[A.RESOLUTION]:{pretty:(e,{descriptor:t,locator:r})=>g.prettyResolution(e,t,r),json:({descriptor:e,locator:t})=>({descriptor:g.stringifyDescriptor(e),locator:null!==t?g.stringifyLocator(t):null})},[A.DEPENDENT]:{pretty:(e,{locator:t,descriptor:r})=>g.prettyDependent(e,t,r),json:({locator:e,descriptor:t})=>({locator:g.stringifyLocator(e),descriptor:g.stringifyDescriptor(t)})},[A.PACKAGE_EXTENSION]:{pretty:(e,t)=>{switch(t.type){case l.HN.Dependency:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"dependencies",A.CODE)} ➤ ${g.prettyIdent(e,t.descriptor)}`;case l.HN.PeerDependency:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"peerDependencies",A.CODE)} ➤ ${g.prettyIdent(e,t.descriptor)}`;case l.HN.PeerDependencyMeta:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"peerDependenciesMeta",A.CODE)} ➤ ${g.prettyIdent(e,g.parseIdent(t.selector))} ➤ ${B(e,t.key,A.CODE)}`;default:throw new Error("Assertion failed: Unsupported package extension type: "+t.type)}},json:e=>{switch(e.type){case l.HN.Dependency:return`${g.stringifyIdent(e.parentDescriptor)} > ${g.stringifyIdent(e.descriptor)}`;case l.HN.PeerDependency:return`${g.stringifyIdent(e.parentDescriptor)} >> ${g.stringifyIdent(e.descriptor)}`;case l.HN.PeerDependencyMeta:return`${g.stringifyIdent(e.parentDescriptor)} >> ${e.selector} / ${e.key}`;default:throw new Error("Assertion failed: Unsupported package extension type: "+e.type)}}},[A.DURATION]:{pretty:(e,t)=>{if(t>6e4){const e=Math.floor(t/1e3/60),r=Math.ceil((t-60*e*1e3)/1e3);return 0===r?e+"m":`${e}m ${r}s`}{const e=Math.floor(t/1e3),r=t-1e3*e;return 0===r?e+"s":`${e}s ${r}ms`}},json:e=>e},[A.SIZE]:{pretty:(e,t)=>{const r=["KB","MB","GB","TB"];let n=r.length;for(;n>1&&t<1024**n;)n-=1;const o=1024**n;return B(e,`${Math.floor(100*t/o)/100} ${r[n-1]}`,A.NUMBER)},json:e=>e},[A.PATH]:{pretty:(e,t)=>B(e,o.cS.fromPortablePath(t),A.PATH),json:e=>o.cS.fromPortablePath(e)}};function I(e,t){return[t,e]}function E(e,t,r){return e.get("enableColors")?(r&n.BOLD&&(t=s().bold(t)),t):t}function B(e,t,r){if(!e.get("enableColors"))return t;const A=C.get(r);if(null===A)return t;const n=void 0===A?r:u.level>=3?A[0]:A[1],o="number"==typeof n?d.ansi256(n):n.startsWith("#")?d.hex(n):d[n];if("function"!=typeof o)throw new Error("Invalid format type "+n);return o(t)}function y(e,t,r){if(null===t)return B(e,"null",A.NULL);if(Object.prototype.hasOwnProperty.call(f,r)){return f[r].pretty(e,t)}if("string"!=typeof t)throw new Error("Assertion failed: Expected the value to be a string, got "+typeof t);return B(e,t,r)}function m(e,t,r,{separator:A=", "}={}){return[...t].map(t=>y(e,t,r)).join(A)}function w(e,t){if(null===e)return null;if(Object.prototype.hasOwnProperty.call(f,t))return c.overrideType(t),f[t].json(e);if("string"!=typeof e)throw new Error("Assertion failed: Expected the value to be a string, got "+typeof e);return e}function Q(e){return{Check:B(e,"✓","green"),Cross:B(e,"✘","red"),Question:B(e,"?","cyan")}}var D;function b(e,{configuration:t}){const r=t.get("logFilters"),A=new Map,n=new Map;for(const e of r){const t=e.get("level");if(void 0===t)continue;const r=e.get("code");void 0!==r&&A.set(r,t);const o=e.get("text");void 0!==o&&n.set(o,t)}const o=e.reportInfo,i=e.reportWarning,c=e.reportError,g=function(e,t,r,g){switch(((e,t,r)=>{if(null===e||e===a.b.UNNAMED)return r;if(n.size>0){const e=n.get(s().reset(t));if(void 0!==e)return null!=e?e:r}if(A.size>0){const t=A.get((0,a.i)(e));if(void 0!==t)return null!=t?t:r}return r})(t,r,g)){case D.Info:o.call(e,t,r);break;case D.Warning:i.call(e,null!=t?t:a.b.UNNAMED,r);break;case D.Error:c.call(e,null!=t?t:a.b.UNNAMED,r)}};e.reportInfo=function(...e){return g(this,...e,D.Info)},e.reportWarning=function(...e){return g(this,...e,D.Warning)},e.reportError=function(...e){return g(this,...e,D.Error)}}!function(e){e.Error="error",e.Warning="warning",e.Info="info",e.Discard="discard"}(D||(D={}))},20624:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeHash:()=>a,checksumFile:()=>c,checksumPattern:()=>g});var A=r(43896),n=r(46009),o=r(76417),i=r(58592),s=r.n(i);function a(...e){const t=(0,o.createHash)("sha512");for(const r of e)t.update(r||"");return t.digest("hex")}function c(e){return new Promise((t,r)=>{const n=(0,o.createHash)("sha512"),i=A.xfs.createReadStream(e);i.on("data",e=>{n.update(e)}),i.on("error",e=>{r(e)}),i.on("end",()=>{t(n.digest("hex"))})})}async function g(e,{cwd:t}){const r=(await s()(e,{cwd:n.cS.fromPortablePath(t),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(e=>e+"/**/*"),i=await s()([e,...r],{cwd:n.cS.fromPortablePath(t),expandDirectories:!1,onlyFiles:!1,unique:!0});i.sort();const a=await Promise.all(i.map(async e=>{const t=[Buffer.from(e)],r=n.cS.toPortablePath(e),o=await A.xfs.lstatPromise(r);return o.isSymbolicLink()?t.push(Buffer.from(await A.xfs.readlinkPromise(r))):o.isFile()&&t.push(await A.xfs.readFilePromise(r)),t.join("\0")})),c=(0,o.createHash)("sha512");for(const e of a)c.update(e);return c.digest("hex")}},79669:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getNetworkSettings:()=>d,Method:()=>C,request:()=>f,get:()=>I,put:()=>E,post:()=>B,del:()=>y});var A=r(43896),n=r(57211),o=r(98605),i=r(2401),s=r.n(i),a=r(98161),c=r(78835);const g=new Map,l=new Map,u=new o.Agent({keepAlive:!0}),h=new n.Agent({keepAlive:!0});function p(e){const t=new c.URL(e),r={host:t.hostname,headers:{}};return t.port&&(r.port=Number(t.port)),{proxy:r}}function d(e,t){const r=[...t.configuration.get("networkSettings")].sort(([e],[t])=>t.length-e.length),A={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(A),o=new c.URL(e);for(const[e,t]of r)if(s().isMatch(o.hostname,e))for(const e of n){const r=t.get(e);null!==r&&void 0===A[e]&&(A[e]=r)}for(const e of n)void 0===A[e]&&(A[e]=t.configuration.get(e));return A}var C;async function f(e,t,{configuration:n,headers:o,json:i,jsonRequest:g=i,jsonResponse:f=i,method:I=C.GET}){const E=d(e,{configuration:n});if(!1===E.enableNetwork)throw new Error(`Request to '${e}' has been blocked because of your configuration settings`);const B=new c.URL(e);if("http:"===B.protocol&&!s().isMatch(B.hostname,n.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${B.hostname})`);const y={agent:{http:E.httpProxy?a.httpOverHttp(p(E.httpProxy)):u,https:E.httpsProxy?a.httpsOverHttp(p(E.httpsProxy)):h},headers:o,method:I};y.responseType=f?"json":"buffer",null!==t&&(Buffer.isBuffer(t)||!g&&"string"==typeof t?y.body=t:y.json=t);const m=n.get("httpTimeout"),w=n.get("httpRetry"),Q=n.get("enableStrictSsl"),D=E.caFilePath,{default:b}=await Promise.resolve().then(r.t.bind(r,48722,7)),v=D?await async function(e){let t=l.get(e);return t||(t=A.xfs.readFilePromise(e).then(t=>(l.set(e,t),t)),l.set(e,t)),t}(D):void 0,S=b.extend({timeout:{socket:m},retry:w,https:{rejectUnauthorized:Q,certificateAuthority:v},...y});return n.getLimit("networkConcurrency")(()=>S(e))}async function I(e,{configuration:t,json:r,jsonResponse:A=r,...n}){let o=g.get(e);return o||(o=f(e,null,{configuration:t,...n}).then(t=>(g.set(e,t.body),t.body)),g.set(e,o)),!1===Buffer.isBuffer(o)&&(o=await o),A?JSON.parse(o.toString()):o}async function E(e,t,r){return(await f(e,t,{...r,method:C.PUT})).body}async function B(e,t,r){return(await f(e,t,{...r,method:C.POST})).body}async function y(e,t){return(await f(e,null,{...t,method:C.DELETE})).body}!function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.DELETE="DELETE"}(C||(C={}))},53836:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Cache:()=>p.C,DEFAULT_RC_FILENAME:()=>d.tr,DEFAULT_LOCK_FILENAME:()=>d.nh,Configuration:()=>d.VK,FormatType:()=>d.a5,ProjectLookup:()=>d.EW,SettingsType:()=>d.a2,BuildType:()=>C.k,LightReport:()=>f.h,Manifest:()=>I.G,MessageName:()=>E.b,Project:()=>B.I,TAG_REGEXP:()=>y.c,ReportError:()=>m.lk,Report:()=>m.yG,StreamReport:()=>w.Pk,TelemetryManager:()=>Q.E,ThrowReport:()=>D.$,VirtualFetcher:()=>b.N,WorkspaceResolver:()=>v.d,Workspace:()=>S.j,YarnVersion:()=>k.o,LinkType:()=>K.Un,PackageExtensionType:()=>K.HN,PackageExtensionStatus:()=>K._u,hashUtils:()=>i,httpUtils:()=>s,execUtils:()=>A,folderUtils:()=>n,formatUtils:()=>o,miscUtils:()=>a,scriptUtils:()=>c,semverUtils:()=>g,structUtils:()=>l,tgzUtils:()=>u,treeUtils:()=>h});var A=r(6220),n=r(81111),o=r(71643),i=r(20624),s=r(79669),a=r(73632),c=r(63088),g=r(36545),l=r(54143),u=r(72785),h=r(85875),p=r(28148),d=r(39922),C=r(92409),f=r(62152),I=r(46611),E=r(92659),B=r(85824),y=r(52779),m=r(35691),w=r(15815),Q=r(81832),D=r(33720),b=r(60895),v=r(94538),S=r(17722),k=r(59355),K=r(32485)},73632:(e,t,r)=>{"use strict";r.r(t),r.d(t,{escapeRegExp:()=>a,overrideType:()=>c,assertNever:()=>g,validateEnum:()=>l,mapAndFilter:()=>u,mapAndFind:()=>p,isIndexableObject:()=>C,convertMapsToIndexableObjects:()=>f,getFactoryWithDefault:()=>I,getArrayWithDefault:()=>E,getSetWithDefault:()=>B,getMapWithDefault:()=>y,releaseAfterUseAsync:()=>m,prettifyAsyncErrors:()=>w,prettifySyncErrors:()=>Q,bufferStream:()=>D,BufferStream:()=>b,DefaultStream:()=>v,dynamicRequire:()=>S,dynamicRequireNoCache:()=>k,sortMap:()=>K,buildIgnorePattern:()=>F,replaceEnvVariables:()=>N,parseBoolean:()=>M,parseOptionalBoolean:()=>R,tryParseOptionalBoolean:()=>x});var A=r(46009),n=r(40822),o=r(2401),i=r.n(o),s=r(92413);function a(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c(e){}function g(e){throw new Error(`Assertion failed: Unexpected object '${e}'`)}function l(e,t){if(!Object.values(e).includes(t))throw new Error("Assertion failed: Invalid value for enumeration");return t}function u(e,t){const r=[];for(const A of e){const e=t(A);e!==h&&r.push(e)}return r}e=r.hmd(e);const h=Symbol();function p(e,t){for(const r of e){const e=t(r);if(e!==d)return e}}u.skip=h;const d=Symbol();function C(e){return"object"==typeof e&&null!==e}function f(e){if(e instanceof Map&&(e=Object.fromEntries(e)),C(e))for(const t of Object.keys(e)){const r=e[t];C(r)&&(e[t]=f(r))}return e}function I(e,t,r){let A=e.get(t);return void 0===A&&e.set(t,A=r()),A}function E(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=[]),r}function B(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=new Set),r}function y(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=new Map),r}async function m(e,t){if(null==t)return await e();try{return await e()}finally{await t()}}async function w(e,t){try{return await e()}catch(e){throw e.message=t(e.message),e}}function Q(e,t){try{return e()}catch(e){throw e.message=t(e.message),e}}async function D(e){return await new Promise((t,r)=>{const A=[];e.on("error",e=>{r(e)}),e.on("data",e=>{A.push(e)}),e.on("end",()=>{t(Buffer.concat(A))})})}p.skip=d;class b extends s.Transform{constructor(){super(...arguments),this.chunks=[]}_transform(e,t,r){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),r(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}}class v extends s.Transform{constructor(e=Buffer.alloc(0)){super(),this.active=!0,this.ifEmpty=e}_transform(e,t,r){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,r(null,e)}_flush(e){this.active&&this.ifEmpty.length>0&&e(null,this.ifEmpty)}}function S(e){return"undefined"!=typeof require?require(e):r(32178)(e)}function k(t){const n=A.cS.fromPortablePath(t),o=r.c[n];let i;delete r.c[n];try{i=S(n);const t=r.c[n],A=e.children.indexOf(t);-1!==A&&e.children.splice(A,1)}finally{r.c[n]=o}return i}function K(e,t){const r=Array.from(e);Array.isArray(t)||(t=[t]);const A=[];for(const e of t)A.push(r.map(t=>e(t)));const n=r.map((e,t)=>t);return n.sort((e,t)=>{for(const r of A){const A=r[e]r[t]?1:0;if(0!==A)return A}return 0}),n.map(e=>r[e])}function F(e){return 0===e.length?null:e.map(e=>`(${i().makeRe(e,{windows:!1}).source})`).join("|")}function N(e,{env:t}){return e.replace(/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g,(...e)=>{const{variableName:r,colon:A,fallback:o}=e[e.length-1],i=Object.prototype.hasOwnProperty.call(t,r),s=t[r];if(s)return s;if(i&&!A)return s;if(null!=o)return o;throw new n.UsageError(`Environment variable not found (${r})`)})}function M(e){switch(e){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${e}" as a boolean`)}}function R(e){return void 0===e?e:M(e)}function x(e){try{return R(e)}catch(e){return null}}},63088:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeScriptEnv:()=>b,prepareExternalProject:()=>S,hasPackageScript:()=>k,executePackageScript:()=>K,executePackageShellcode:()=>F,executeWorkspaceScript:()=>M,hasWorkspaceScript:()=>R,executeWorkspaceLifecycleScript:()=>x,maybeExecuteWorkspaceLifecycleScript:()=>L,getPackageAccessibleBinaries:()=>P,getWorkspaceAccessibleBinaries:()=>O,executePackageAccessibleBinary:()=>U,executeWorkspaceAccessibleBinary:()=>T});var A,n=r(46009),o=r(53660),i=r(75448),s=r(43896),a=r(65281),c=r(76756),g=r(50730),l=r(61814),u=r.n(l),h=r(61578),p=r.n(h),d=r(92413),C=r(46611),f=r(92659),I=r(35691),E=r(15815),B=r(59355),y=r(6220),m=r(71643),w=r(73632),Q=r(54143);async function D(e,t,r,A=[]){"win32"===process.platform&&await Promise.all([s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".exe"}),(0,g.O9)()),s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".exe.info"}),[r,...A].join("\n")),s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".cmd"}),`@"${r}" ${A.map(e=>`"${e.replace('"','""')}"`).join(" ")} %*\n`)]),await s.xfs.writeFilePromise(n.y1.join(e,t),`#!/bin/sh\nexec "${r}" ${A.map(e=>`'${e.replace(/'/g,"'\"'\"'")}'`).join(" ")} "$@"\n`),await s.xfs.chmodPromise(n.y1.join(e,t),493)}async function b({project:e,binFolder:t,lifecycleScript:r}){const A={};for(const[e,t]of Object.entries(process.env))void 0!==t&&(A["path"!==e.toLowerCase()?e:"PATH"]=t);const o=n.cS.fromPortablePath(t);A.BERRY_BIN_FOLDER=n.cS.fromPortablePath(o),await D(t,"node",process.execPath),null!==B.o&&(await D(t,"run",process.execPath,[process.argv[1],"run"]),await D(t,"yarn",process.execPath,[process.argv[1]]),await D(t,"yarnpkg",process.execPath,[process.argv[1]]),await D(t,"node-gyp",process.execPath,[process.argv[1],"run","--top-level","node-gyp"])),e&&(A.INIT_CWD=n.cS.fromPortablePath(e.configuration.startingCwd)),A.PATH=A.PATH?`${o}${n.cS.delimiter}${A.PATH}`:""+o,A.npm_execpath=`${o}${n.cS.sep}yarn`,A.npm_node_execpath=`${o}${n.cS.sep}node`;const i=null!==B.o?"yarn/"+B.o:`yarn/${w.dynamicRequire("@yarnpkg/core").version}-core`;return A.npm_config_user_agent=`${i} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,r&&(A.npm_lifecycle_event=r),e&&await e.configuration.triggerHook(e=>e.setupScriptEnvironment,e,A,async(e,r,A)=>await D(t,(0,n.Zu)(e),r,A)),A}!function(e){e.Yarn1="Yarn Classic",e.Yarn2="Yarn",e.Npm="npm",e.Pnpm="pnpm"}(A||(A={}));const v=p()(2);async function S(e,t,{configuration:r,report:o,workspace:i=null}){await v(async()=>{await s.xfs.mktempPromise(async a=>{const c=n.y1.join(a,"pack.log"),{stdout:g,stderr:l}=r.getSubprocessStreams(c,{prefix:e,report:o}),u=await async function(e){let t=null;try{t=await s.xfs.readFilePromise(n.y1.join(e,n.QS.lockfile),"utf8")}catch(e){}return null!==t?t.match(/^__metadata:$/m)?A.Yarn2:A.Yarn1:s.xfs.existsSync(n.y1.join(e,"package-lock.json"))?A.Npm:s.xfs.existsSync(n.y1.join(e,"pnpm-lock.yaml"))?A.Pnpm:null}(e);let h;null!==u?(g.write(`Installing the project using ${u}\n\n`),h=u):(g.write("No package manager detected; defaulting to Yarn\n\n"),h=A.Yarn2),await s.xfs.mktempPromise(async r=>{const o=await b({binFolder:r}),u=new Map([[A.Yarn1,async()=>{const r=null!==i?["workspace",i]:[],A=await y.pipevp("yarn",["set","version","classic","--only-if-needed"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==A.code)return A.code;await s.xfs.appendFilePromise(n.y1.join(e,".npmignore"),"/.yarn\n"),g.write("\n");const a=await y.pipevp("yarn",["install"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==a.code)return a.code;g.write("\n");const c=await y.pipevp("yarn",[...r,"pack","--filename",n.cS.fromPortablePath(t)],{cwd:e,env:o,stdin:null,stdout:g,stderr:l});return 0!==c.code?c.code:0}],[A.Yarn2,async()=>{const r=null!==i?["workspace",i]:[];o.YARN_ENABLE_INLINE_BUILDS="1";const A=n.y1.join(e,n.QS.lockfile);await s.xfs.existsPromise(A)||await s.xfs.writeFilePromise(A,"");const a=await y.pipevp("yarn",[...r,"pack","--install-if-needed","--filename",n.cS.fromPortablePath(t)],{cwd:e,env:o,stdin:null,stdout:g,stderr:l});return 0!==a.code?a.code:0}],[A.Npm,async()=>{if(null!==i)throw new Error("Workspaces aren't supported by npm, which has been detected as the primary package manager for "+e);delete o.npm_config_user_agent;const r=await y.pipevp("npm",["install"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==r.code)return r.code;const A=new d.PassThrough,a=w.bufferStream(A);A.pipe(g);const c=await y.pipevp("npm",["pack","--silent"],{cwd:e,env:o,stdin:null,stdout:A,stderr:l});if(0!==c.code)return c.code;const u=(await a).toString().trim(),h=n.y1.resolve(e,n.cS.toPortablePath(u));return await s.xfs.renamePromise(h,t),0}]]).get(h);if(void 0===u)throw new Error("Assertion failed: Unsupported workflow");const p=await u();if(0!==p&&void 0!==p)throw s.xfs.detachTemp(a),new I.lk(f.b.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${p}, logs can be found here: ${c})`)})})})}async function k(e,t,{project:r}){const A=r.storedPackages.get(e.locatorHash);if(!A)throw new Error(`Package for ${Q.prettyLocator(r.configuration,e)} not found in the project`);return await o.A.openPromise(async e=>{const o=r.configuration,s=r.configuration.getLinkers(),a={project:r,report:new E.Pk({stdout:new d.PassThrough,configuration:o})},c=s.find(e=>e.supportsPackage(A,a));if(!c)throw new Error(`The package ${Q.prettyLocator(r.configuration,A)} isn't supported by any of the available linkers`);const g=await c.findPackageLocation(A,a),l=new i.M(g,{baseFs:e});return(await C.G.find(n.LZ.dot,{baseFs:l})).scripts.has(t)},{libzip:await(0,a.getLibzipPromise)()})}async function K(e,t,r,{cwd:A,project:n,stdin:o,stdout:i,stderr:a}){return await s.xfs.mktempPromise(async s=>{const{manifest:g,env:l,cwd:u}=await N(e,{project:n,binFolder:s,cwd:A,lifecycleScript:t}),h=g.scripts.get(t);if(void 0===h)return 1;const p=await n.configuration.reduceHook(e=>e.wrapScriptExecution,async()=>await(0,c.execute)(h,r,{cwd:u,env:l,stdin:o,stdout:i,stderr:a}),n,e,t,{script:h,args:r,cwd:u,env:l,stdin:o,stdout:i,stderr:a});return await p()})}async function F(e,t,r,{cwd:A,project:n,stdin:o,stdout:i,stderr:a}){return await s.xfs.mktempPromise(async s=>{const{env:g,cwd:l}=await N(e,{project:n,binFolder:s,cwd:A});return await(0,c.execute)(t,r,{cwd:l,env:g,stdin:o,stdout:i,stderr:a})})}async function N(e,{project:t,binFolder:r,cwd:A,lifecycleScript:s}){const c=t.storedPackages.get(e.locatorHash);if(!c)throw new Error(`Package for ${Q.prettyLocator(t.configuration,e)} not found in the project`);return await o.A.openPromise(async o=>{const a=t.configuration,g=t.configuration.getLinkers(),l={project:t,report:new E.Pk({stdout:new d.PassThrough,configuration:a})},u=g.find(e=>e.supportsPackage(c,l));if(!u)throw new Error(`The package ${Q.prettyLocator(t.configuration,c)} isn't supported by any of the available linkers`);const h=await b({project:t,binFolder:r,lifecycleScript:s});await Promise.all(Array.from(await P(e,{project:t}),([e,[,t]])=>D(r,(0,n.Zu)(e),process.execPath,[t])));const p=await u.findPackageLocation(c,l),f=new i.M(p,{baseFs:o}),I=await C.G.find(n.LZ.dot,{baseFs:f});return void 0===A&&(A=p),{manifest:I,binFolder:r,env:h,cwd:A}},{libzip:await(0,a.getLibzipPromise)()})}async function M(e,t,r,{cwd:A,stdin:n,stdout:o,stderr:i}){return await K(e.anchoredLocator,t,r,{cwd:A,project:e.project,stdin:n,stdout:o,stderr:i})}function R(e,t){return e.manifest.scripts.has(t)}async function x(e,t,{cwd:r,report:A}){const{configuration:o}=e.project;await s.xfs.mktempPromise(async i=>{const a=n.y1.join(i,t+".log"),c=`# This file contains the result of Yarn calling the "${t}" lifecycle script inside a workspace ("${e.cwd}")\n`,{stdout:g,stderr:l}=o.getSubprocessStreams(a,{report:A,prefix:Q.prettyLocator(o,e.anchoredLocator),header:c});A.reportInfo(f.b.LIFECYCLE_SCRIPT,`Calling the "${t}" lifecycle script`);const h=await M(e,t,[],{cwd:r,stdin:null,stdout:g,stderr:l});if(g.end(),l.end(),0!==h)throw s.xfs.detachTemp(i),new I.lk(f.b.LIFECYCLE_SCRIPT,`${u()(t)} script failed (exit code ${m.pretty(o,h,m.Type.NUMBER)}, logs can be found here: ${m.pretty(o,a,m.Type.PATH)}); run ${m.pretty(o,"yarn "+t,m.Type.CODE)} to investigate`)})}async function L(e,t,r){R(e,t)&&await x(e,t,r)}async function P(e,{project:t}){const r=t.configuration,A=new Map,o=t.storedPackages.get(e.locatorHash);if(!o)throw new Error(`Package for ${Q.prettyLocator(r,e)} not found in the project`);const i=new d.Writable,s=r.getLinkers(),a={project:t,report:new E.Pk({configuration:r,stdout:i})},c=new Set([e.locatorHash]);for(const e of o.dependencies.values()){const A=t.storedResolutions.get(e.descriptorHash);if(!A)throw new Error(`Assertion failed: The resolution (${Q.prettyDescriptor(r,e)}) should have been registered`);c.add(A)}for(const e of c){const r=t.storedPackages.get(e);if(!r)throw new Error(`Assertion failed: The package (${e}) should have been registered`);if(0===r.bin.size)continue;const o=s.find(e=>e.supportsPackage(r,a));if(!o)continue;let i=null;try{i=await o.findPackageLocation(r,a)}catch(e){if("LOCATOR_NOT_INSTALLED"===e.code)continue;throw e}for(const[e,t]of r.bin)A.set(e,[r,n.cS.fromPortablePath(n.y1.resolve(i,t))])}return A}async function O(e){return await P(e.anchoredLocator,{project:e.project})}async function U(e,t,r,{cwd:A,project:o,stdin:i,stdout:a,stderr:c,nodeArgs:g=[]}){const l=await P(e,{project:o}),u=l.get(t);if(!u)throw new Error(`Binary not found (${t}) for ${Q.prettyLocator(o.configuration,e)}`);return await s.xfs.mktempPromise(async e=>{const[,t]=u,h=await b({project:o,binFolder:e});let p;await Promise.all(Array.from(l,([e,[,t]])=>D(h.BERRY_BIN_FOLDER,(0,n.Zu)(e),process.execPath,[t])));try{p=await y.pipevp(process.execPath,[...g,t,...r],{cwd:A,env:h,stdin:i,stdout:a,stderr:c})}finally{await s.xfs.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function T(e,t,r,{cwd:A,stdin:n,stdout:o,stderr:i}){return await U(e.anchoredLocator,t,r,{project:e.project,cwd:A,stdin:n,stdout:o,stderr:i})}},36545:(e,t,r)=>{"use strict";r.r(t),r.d(t,{satisfiesWithPrereleases:()=>o,validRange:()=>s});var A=r(53887),n=r.n(A);function o(e,t,r=!1){let A,o;try{A=new(n().Range)(t,{includePrerelease:!0,loose:r})}catch(e){return!1}if(!e)return!1;try{o=new(n().SemVer)(e,A),o.prerelease&&(o.prerelease=[])}catch(e){return!1}return A.set.some(e=>{for(const t of e)t.semver.prerelease&&(t.semver.prerelease=[]);return e.every(e=>e.test(o))})}const i=new Map;function s(e){if(-1!==e.indexOf(":"))return null;let t=i.get(e);if(void 0!==t)return t;try{t=new(n().Range)(e)}catch(e){t=null}return i.set(e,t),t}},54143:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeIdent:()=>u,makeDescriptor:()=>h,makeLocator:()=>p,convertToIdent:()=>d,convertDescriptorToLocator:()=>C,convertLocatorToDescriptor:()=>f,convertPackageToLocator:()=>I,renamePackage:()=>E,copyPackage:()=>B,virtualizeDescriptor:()=>y,virtualizePackage:()=>m,isVirtualDescriptor:()=>w,isVirtualLocator:()=>Q,devirtualizeDescriptor:()=>D,devirtualizeLocator:()=>b,bindDescriptor:()=>v,bindLocator:()=>S,areIdentsEqual:()=>k,areDescriptorsEqual:()=>K,areLocatorsEqual:()=>F,areVirtualPackagesEquivalent:()=>N,parseIdent:()=>M,tryParseIdent:()=>R,parseDescriptor:()=>x,tryParseDescriptor:()=>L,parseLocator:()=>P,tryParseLocator:()=>O,parseRange:()=>U,parseFileStyleRange:()=>T,makeRange:()=>Y,convertToManifestRange:()=>G,requirableIdent:()=>H,stringifyIdent:()=>J,stringifyDescriptor:()=>q,stringifyLocator:()=>z,slugifyIdent:()=>W,slugifyLocator:()=>X,prettyIdent:()=>V,prettyRange:()=>Z,prettyDescriptor:()=>$,prettyReference:()=>ee,prettyLocator:()=>te,prettyLocatorNoColors:()=>re,sortDescriptors:()=>Ae,prettyWorkspace:()=>ne,prettyResolution:()=>oe,prettyDependent:()=>ie,getIdentVendorPath:()=>se});var A=r(46009),n=r(71191),o=r.n(n),i=r(53887),s=r.n(i),a=r(71643),c=r(20624),g=r(73632),l=r(54143);function u(e,t){if(null==e?void 0:e.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:c.makeHash(e,t),scope:e,name:t}}function h(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:c.makeHash(e.identHash,t),range:t}}function p(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:c.makeHash(e.identHash,t),reference:t}}function d(e){return{identHash:e.identHash,scope:e.scope,name:e.name}}function C(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.descriptorHash,reference:e.range}}function f(e){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:e.locatorHash,range:e.reference}}function I(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference}}function E(e,t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference,version:e.version,languageName:e.languageName,linkType:e.linkType,dependencies:new Map(e.dependencies),peerDependencies:new Map(e.peerDependencies),dependenciesMeta:new Map(e.dependenciesMeta),peerDependenciesMeta:new Map(e.peerDependenciesMeta),bin:new Map(e.bin)}}function B(e){return E(e,e)}function y(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return h(e,`virtual:${t}#${e.range}`)}function m(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return E(e,p(e,`virtual:${t}#${e.reference}`))}function w(e){return e.range.startsWith("virtual:")}function Q(e){return e.reference.startsWith("virtual:")}function D(e){if(!w(e))throw new Error("Not a virtual descriptor");return h(e,e.range.replace(/^[^#]*#/,""))}function b(e){if(!Q(e))throw new Error("Not a virtual descriptor");return p(e,e.reference.replace(/^[^#]*#/,""))}function v(e,t){return e.range.includes("::")?e:h(e,`${e.range}::${o().stringify(t)}`)}function S(e,t){return e.reference.includes("::")?e:p(e,`${e.reference}::${o().stringify(t)}`)}function k(e,t){return e.identHash===t.identHash}function K(e,t){return e.descriptorHash===t.descriptorHash}function F(e,t){return e.locatorHash===t.locatorHash}function N(e,t){if(!Q(e))throw new Error("Invalid package type");if(!Q(t))throw new Error("Invalid package type");if(!k(e,t))return!1;if(e.dependencies.size!==t.dependencies.size)return!1;for(const r of e.dependencies.values()){const e=t.dependencies.get(r.identHash);if(!e)return!1;if(!K(r,e))return!1}return!0}function M(e){const t=R(e);if(!t)throw new Error(`Invalid ident (${e})`);return t}function R(e){const t=e.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!t)return null;const[,r,A]=t;return u(void 0!==r?r:null,A)}function x(e,t=!1){const r=L(e,t);if(!r)throw new Error(`Invalid descriptor (${e})`);return r}function L(e,t=!1){const r=t?e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;const[,A,n,o]=r;if("unknown"===o)throw new Error(`Invalid range (${e})`);const i=void 0!==o?o:"unknown";return h(u(void 0!==A?A:null,n),i)}function P(e,t=!1){const r=O(e,t);if(!r)throw new Error(`Invalid locator (${e})`);return r}function O(e,t=!1){const r=t?e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;const[,A,n,o]=r;if("unknown"===o)throw new Error(`Invalid reference (${e})`);const i=void 0!==o?o:"unknown";return p(u(void 0!==A?A:null,n),i)}function U(e,t){const r=e.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(null===r)throw new Error(`Invalid range (${e})`);const A=void 0!==r[1]?r[1]:null;if("string"==typeof(null==t?void 0:t.requireProtocol)&&A!==t.requireProtocol)throw new Error(`Invalid protocol (${A})`);if((null==t?void 0:t.requireProtocol)&&null===A)throw new Error(`Missing protocol (${A})`);const n=void 0!==r[3]?decodeURIComponent(r[2]):null;if((null==t?void 0:t.requireSource)&&null===n)throw new Error(`Missing source (${e})`);const i=void 0!==r[3]?decodeURIComponent(r[3]):decodeURIComponent(r[2]);return{protocol:A,source:n,selector:(null==t?void 0:t.parseSelector)?o().parse(i):i,params:void 0!==r[4]?o().parse(r[4]):null}}function T(e,{protocol:t}){const{selector:r,params:A}=U(e,{requireProtocol:t,requireBindings:!0});if("string"!=typeof A.locator)throw new Error("Assertion failed: Invalid bindings for "+e);return{parentLocator:P(A.locator,!0),path:r}}function j(e){return e=(e=(e=e.replace(/%/g,"%25")).replace(/:/g,"%3A")).replace(/#/g,"%23")}function Y({protocol:e,source:t,selector:r,params:A}){let n="";return null!==e&&(n+=""+e),null!==t&&(n+=j(t)+"#"),n+=j(r),function(e){return null!==e&&Object.entries(e).length>0}(A)&&(n+="::"+o().stringify(A)),n}function G(e){const{params:t,protocol:r,source:A,selector:n}=U(e);for(const e in t)e.startsWith("__")&&delete t[e];return Y({protocol:r,source:A,params:t,selector:n})}function H(e){return e.scope?`@${e.scope}/${e.name}`:""+e.name}function J(e){return e.scope?`@${e.scope}/${e.name}`:""+e.name}function q(e){return e.scope?`@${e.scope}/${e.name}@${e.range}`:`${e.name}@${e.range}`}function z(e){return e.scope?`@${e.scope}/${e.name}@${e.reference}`:`${e.name}@${e.reference}`}function W(e){return null!==e.scope?`@${e.scope}-${e.name}`:e.name}function X(e){const{protocol:t,selector:r}=U(e.reference),n=null!==t?t.replace(/:$/,""):"exotic",o=s().valid(r),i=null!==o?`${n}-${o}`:""+n,a=(e.scope,`${W(e)}-${i}-${e.locatorHash.slice(0,10)}`);return(0,A.Zu)(a)}function V(e,t){return t.scope?`${a.pretty(e,`@${t.scope}/`,a.Type.SCOPE)}${a.pretty(e,t.name,a.Type.NAME)}`:""+a.pretty(e,t.name,a.Type.NAME)}function _(e){if(e.startsWith("virtual:")){return`${_(e.substr(e.indexOf("#")+1))} [${e.substr("virtual:".length,5)}]`}return e.replace(/\?.*/,"?[...]")}function Z(e,t){return""+a.pretty(e,_(t),a.Type.RANGE)}function $(e,t){return`${V(e,t)}${a.pretty(e,"@",a.Type.RANGE)}${Z(e,t.range)}`}function ee(e,t){return""+a.pretty(e,_(t),a.Type.REFERENCE)}function te(e,t){return`${V(e,t)}${a.pretty(e,"@",a.Type.REFERENCE)}${ee(e,t.reference)}`}function re(e){return`${J(e)}@${_(e.reference)}`}function Ae(e){return g.sortMap(e,[e=>J(e),e=>e.range])}function ne(e,t){return V(e,t.locator)}function oe(e,t,r){const A=w(t)?D(t):t;return null===r?`${l.prettyDescriptor(e,A)} → ${a.mark(e).Cross}`:A.identHash===r.identHash?`${l.prettyDescriptor(e,A)} → ${ee(e,r.reference)}`:`${l.prettyDescriptor(e,A)} → ${te(e,r)}`}function ie(e,t,r){return null===r?""+te(e,t):`${te(e,t)} (via ${l.prettyRange(e,r.range)})`}function se(e){return"node_modules/"+H(e)}},72785:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeArchiveFromDirectory:()=>h,convertToZip:()=>p,extractArchiveTo:()=>d});var A=r(78420),n=r(46009),o=r(90739),i=r(43896),s=r(65281),a=r(59938),c=r(31669),g=r(78761),l=r.n(g);const u=(0,c.promisify)(l().gunzip);async function h(e,{baseFs:t=new A.S,prefixPath:r=n.LZ.root,compressionLevel:a,inMemory:c=!1}={}){const g=await(0,s.getLibzipPromise)();let l;if(c)l=new o.d(null,{libzip:g,level:a});else{const e=await i.xfs.mktempPromise(),t=n.y1.join(e,"archive.zip");l=new o.d(t,{create:!0,libzip:g,level:a})}const u=n.y1.resolve(n.LZ.root,r);return await l.copyPromise(u,e,{baseFs:t,stableTime:!0,stableSort:!0}),l}async function p(e,t){const r=await i.xfs.mktempPromise(),A=n.y1.join(r,"archive.zip"),{compressionLevel:a,...c}=t;return await d(e,new o.d(A,{create:!0,libzip:await(0,s.getLibzipPromise)(),level:a}),c)}async function d(e,t,{stripComponents:r=0,prefixPath:A=n.LZ.dot}={}){const o=a.extract();o.on("entry",(e,o,i)=>{var s,a;if(function(e){if("/"===e.name[0])return!0;const t=e.name.split(/\//g);return!!t.some(e=>".."===e)||t.length<=r}(e))return void i();const c=n.y1.normalize(n.cS.toPortablePath(e.name)).replace(/\/$/,"").split(/\//g);if(c.length<=r)return o.resume(),void i();const g=c.slice(r).join("/"),l=n.y1.join(A,g);let u=420;switch("directory"!==e.type&&0==(73&(null!==(s=e.mode)&&void 0!==s?s:0))||(u|=73),e.type){case"directory":t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]}),t.mkdirSync(l),t.chmodSync(l,u),t.utimesSync(l,315532800,315532800),i();break;case"file":{t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]});const e=[];o.on("data",t=>e.push(t)),o.on("end",()=>{t.writeFileSync(l,Buffer.concat(e)),t.chmodSync(l,u),t.utimesSync(l,315532800,315532800),i()})}break;case"symlink":t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]}),t.symlinkSync(e.linkname,l),null===(a=t.lutimesSync)||void 0===a||a.call(t,l,315532800,315532800),i();break;default:o.resume(),i()}});const i=await u(e);return await new Promise((e,r)=>{o.on("error",e=>{r(e)}),o.on("finish",()=>{e(t)}),o.end(i)})}},85875:(e,t,r)=>{"use strict";r.r(t),r.d(t,{treeNodeToTreeify:()=>o,treeNodeToJson:()=>i,emitList:()=>s,emitTree:()=>a});var A=r(94682),n=r(71643);function o(e,{configuration:t}){const r={},A=(e,r)=>{const o=Array.isArray(e)?e.entries():Object.entries(e);for(const[e,{label:i,value:s,children:a}]of o){const o=[];void 0!==i&&o.push(n.applyStyle(t,i,n.Style.BOLD)),void 0!==s&&o.push(n.pretty(t,s[0],s[1])),0===o.length&&o.push(n.applyStyle(t,""+e,n.Style.BOLD));const c=r[o.join(": ")]={};void 0!==a&&A(a,c)}};if(void 0===e.children)throw new Error("The root node must only contain children");return A(e.children,r),r}function i(e){const t=e=>{var r;if(void 0===e.children){if(void 0===e.value)throw new Error("Assertion failed: Expected a value to be set if the children are missing");return n.json(e.value[0],e.value[1])}const A=Array.isArray(e.children)?e.children.entries():Object.entries(null!==(r=e.children)&&void 0!==r?r:{}),o=Array.isArray(e.children)?[]:{};for(const[e,r]of A)o[e]=t(r);return void 0===e.value?o:{value:n.json(e.value[0],e.value[1]),children:o}};return t(e)}function s(e,{configuration:t,stdout:r,json:A}){a({children:e.map(e=>({value:e}))},{configuration:t,stdout:r,json:A})}function a(e,{configuration:t,stdout:r,json:n,separators:s=0}){var a;if(n){const t=Array.isArray(e.children)?e.children.values():Object.values(null!==(a=e.children)&&void 0!==a?a:{});for(const e of t)r.write(JSON.stringify(i(e))+"\n");return}let c=(0,A.asTree)(o(e,{configuration:t}),!1,!1);if(s>=1&&(c=c.replace(/^([├└]─)/gm,"│\n$1").replace(/^│\n/,"")),s>=2)for(let e=0;e<2;++e)c=c.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,"$1$3 │\n$2").replace(/^│\n/,"");if(s>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(c)}},32485:(e,t,r)=>{"use strict";var A,n,o;r.d(t,{Un:()=>A,HN:()=>n,_u:()=>o}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(A||(A={})),function(e){e.Dependency="Dependency",e.PeerDependency="PeerDependency",e.PeerDependencyMeta="PeerDependencyMeta"}(n||(n={})),function(e){e.Inactive="inactive",e.Redundant="redundant",e.Active="active"}(o||(o={}))},14626:(e,t,r)=>{"use strict";r.d(t,{K:()=>n});var A=r(42096);class n extends A.p{constructor(e,{baseFs:t,pathUtils:r}){super(r),this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}},75448:(e,t,r)=>{"use strict";r.d(t,{M:()=>i});var A=r(78420),n=r(42096),o=r(46009);class i extends n.p{constructor(e,{baseFs:t=new A.S}={}){super(o.y1),this.target=this.pathUtils.normalize(e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?o.y1.normalize(e):this.baseFs.resolve(o.y1.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}},5944:(e,t,r)=>{"use strict";r.d(t,{fS:()=>g,uY:()=>c,qH:()=>l});var A=r(12087),n=r(35747),o=r.n(n),i=r(46009);const s=new Date(3155328e5);async function a(e,t,r,A,n,c,g,l){var u,h;const p=await async function(e,t){try{return await e.lstatPromise(t)}catch(e){return null}}(A,n),d=await c.lstatPromise(g),C=l.stableTime?{mtime:s,atime:s}:d;let f;switch(!0){case d.isDirectory():f=await async function(e,t,r,A,n,o,i,s,c,g){if(null!==o&&!o.isDirectory()){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),o=null}let l=!1;null===o&&(e.push(async()=>A.mkdirPromise(n,{mode:c.mode})),l=!0);const u=await i.readdirPromise(s);if(g.stableSort)for(const o of u.sort())await a(e,t,r,A,A.pathUtils.join(n,o),i,i.pathUtils.join(s,o),g)&&(l=!0);else{(await Promise.all(u.map(async o=>{await a(e,t,r,A,A.pathUtils.join(n,o),i,i.pathUtils.join(s,o),g)}))).some(e=>e)&&(l=!0)}return l}(e,t,r,A,n,p,c,g,d,l);break;case d.isFile():f=await async function(e,t,r,A,n,i,s,a,c,g){if(null!==i){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),i=null}const l=A===s?async()=>A.copyFilePromise(a,n,o().constants.COPYFILE_FICLONE):async()=>A.writeFilePromise(n,await s.readFilePromise(a));return e.push(async()=>l()),!0}(e,0,0,A,n,p,c,g,0,l);break;case d.isSymbolicLink():f=await async function(e,t,r,A,n,o,s,a,c,g){if(null!==o){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),o=null}return e.push(async()=>{await A.symlinkPromise((0,i.CI)(A.pathUtils,await s.readlinkPromise(a)),n)}),!0}(e,0,0,A,n,p,c,g,0,l);break;default:throw new Error(`Unsupported file type (${d.mode})`)}return(f||(null===(u=null==p?void 0:p.mtime)||void 0===u?void 0:u.getTime())!==C.mtime.getTime()||(null===(h=null==p?void 0:p.atime)||void 0===h?void 0:h.getTime())!==C.atime.getTime())&&(t.push(()=>r(n,C.atime,C.mtime)),f=!0),null!==p&&(511&p.mode)==(511&d.mode)||(t.push(()=>A.chmodPromise(n,511&d.mode)),f=!0),f}class c{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){const r=[e];for(;r.length>0;){const e=r.shift();if((await this.lstatPromise(e)).isDirectory()){const A=await this.readdirPromise(e);if(!t)throw new Error("Not supported");for(const t of A.sort())r.push(this.pathUtils.join(e,t))}else yield e}}async removePromise(e,{recursive:t=!0,maxRetries:r=5}={}){let A;try{A=await this.lstatPromise(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(A.isDirectory()){if(t)for(const t of await this.readdirPromise(e))await this.removePromise(this.pathUtils.resolve(e,t));let A=0;do{try{await this.rmdirPromise(e);break}catch(e){if("EBUSY"===e.code||"ENOTEMPTY"===e.code){if(0===r)break;await new Promise(e=>setTimeout(e,100*A));continue}throw e}}while(A++e()))}(this,e,r,t,{overwrite:A,stableSort:n,stableTime:o})}copySync(e,t,{baseFs:r=this,overwrite:A=!0}={}){const n=r.lstatSync(t),o=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);const n=r.readdirSync(t);for(const o of n)this.copySync(this.pathUtils.join(e,o),r.pathUtils.join(t,o),{baseFs:r,overwrite:A})}else if(n.isFile()){if(!o||A){o&&this.removeSync(e);const A=r.readFileSync(t);this.writeFileSync(e,A)}}else{if(!n.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);if(!o||A){o&&this.removeSync(e);const A=r.readlinkSync(t);this.symlinkSync((0,i.CI)(this.pathUtils,A),e)}}const s=511&n.mode;this.chmodSync(e,s)}async changeFilePromise(e,t,r={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t):this.changeFileTextPromise(e,t,r)}async changeFileBufferPromise(e,t){let r=Buffer.alloc(0);try{r=await this.readFilePromise(e)}catch(e){}0!==Buffer.compare(r,t)&&await this.writeFilePromise(e,t)}async changeFileTextPromise(e,t,{automaticNewlines:r}={}){let A="";try{A=await this.readFilePromise(e,"utf8")}catch(e){}const n=r?l(A,t):t;A!==n&&await this.writeFilePromise(e,n)}changeFileSync(e,t,r={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t):this.changeFileTextSync(e,t,r)}changeFileBufferSync(e,t){let r=Buffer.alloc(0);try{r=this.readFileSync(e)}catch(e){}0!==Buffer.compare(r,t)&&this.writeFileSync(e,t)}changeFileTextSync(e,t,{automaticNewlines:r=!1}={}){let A="";try{A=this.readFileSync(e,"utf8")}catch(e){}const n=r?l(A,t):t;A!==n&&this.writeFileSync(e,n)}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(r){if("EXDEV"!==r.code)throw r;await this.copyPromise(t,e),await this.removePromise(e)}}moveSync(e,t){try{this.renameSync(e,t)}catch(r){if("EXDEV"!==r.code)throw r;this.copySync(t,e),this.removeSync(e)}}async lockPromise(e,t){const r=e+".flock",A=Date.now();let n=null;const o=async()=>{let e;try{[e]=await this.readJsonPromise(r)}catch(e){return Date.now()-A<500}try{return process.kill(e,0),!0}catch(e){return!1}};for(;null===n;)try{n=await this.openPromise(r,"wx")}catch(e){if("EEXIST"!==e.code)throw e;if(!await o())try{await this.unlinkPromise(r);continue}catch(e){}if(!(Date.now()-A<6e4))throw new Error(`Couldn't acquire a lock in a reasonable time (via ${r})`);await new Promise(e=>setTimeout(e,1e3/60))}await this.writePromise(n,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(n),await this.unlinkPromise(r)}catch(e){}}}async readJsonPromise(e){const t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}readJsonSync(e){const t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,JSON.stringify(t,null,2)+"\n")}writeJsonSync(e,t){return this.writeFileSync(e,JSON.stringify(t,null,2)+"\n")}async preserveTimePromise(e,t){const r=await this.lstatPromise(e),A=await t();void 0!==A&&(e=A),this.lutimesPromise?await this.lutimesPromise(e,r.atime,r.mtime):r.isSymbolicLink()||await this.utimesPromise(e,r.atime,r.mtime)}async preserveTimeSync(e,t){const r=this.lstatSync(e),A=t();void 0!==A&&(e=A),this.lutimesSync?this.lutimesSync(e,r.atime,r.mtime):r.isSymbolicLink()||this.utimesSync(e,r.atime,r.mtime)}}c.DEFAULT_TIME=315532800;class g extends c{constructor(){super(i.y1)}}function l(e,t){return t.replace(/\r?\n/g,function(e){const t=e.match(/\r?\n/g);if(null===t)return A.EOL;const r=t.filter(e=>"\r\n"===e).length;return r>t.length-r?"\r\n":"\n"}(e))}},10489:(e,t,r)=>{"use strict";r.d(t,{n:()=>s});var A=r(78420),n=r(42096),o=r(46009);const i=o.LZ.root;class s extends n.p{constructor(e,{baseFs:t=new A.S}={}){super(o.y1),this.target=this.pathUtils.resolve(o.LZ.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(o.LZ.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){const t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(i,e));if(t.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(i,this.pathUtils.relative(this.target,e))}}},15037:(e,t,r)=>{"use strict";r.d(t,{v:()=>n});var A=r(42096);class n extends A.p{constructor(e,t){super(t),this.instance=null,this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}}},78420:(e,t,r)=>{"use strict";r.d(t,{S:()=>a});var A=r(35747),n=r.n(A),o=r(5944),i=r(26984),s=r(46009);class a extends o.fS{constructor(e=n()){super(),this.realFs=e,void 0!==this.realFs.lutimes&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return s.LZ.root}resolve(e){return s.y1.resolve(e)}async openPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.open(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}openSync(e,t,r){return this.realFs.openSync(s.cS.fromPortablePath(e),t,r)}async opendirPromise(e,t){return await new Promise((r,A)=>{void 0!==t?this.realFs.opendir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A)):this.realFs.opendir(s.cS.fromPortablePath(e),this.makeCallback(r,A))}).then(t=>Object.defineProperty(t,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,t){const r=void 0!==t?this.realFs.opendirSync(s.cS.fromPortablePath(e),t):this.realFs.opendirSync(s.cS.fromPortablePath(e));return Object.defineProperty(r,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,t,r=0,A=0,n=-1){return await new Promise((o,i)=>{this.realFs.read(e,t,r,A,n,(e,t)=>{e?i(e):o(t)})})}readSync(e,t,r,A,n){return this.realFs.readSync(e,t,r,A,n)}async writePromise(e,t,r,A,n){return await new Promise((o,i)=>"string"==typeof t?this.realFs.write(e,t,r,this.makeCallback(o,i)):this.realFs.write(e,t,r,A,n,this.makeCallback(o,i)))}writeSync(e,t,r,A,n){return"string"==typeof t?this.realFs.writeSync(e,t,r):this.realFs.writeSync(e,t,r,A,n)}async closePromise(e){await new Promise((t,r)=>{this.realFs.close(e,this.makeCallback(t,r))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){const r=null!==e?s.cS.fromPortablePath(e):e;return this.realFs.createReadStream(r,t)}createWriteStream(e,t){const r=null!==e?s.cS.fromPortablePath(e):e;return this.realFs.createWriteStream(r,t)}async realpathPromise(e){return await new Promise((t,r)=>{this.realFs.realpath(s.cS.fromPortablePath(e),{},this.makeCallback(t,r))}).then(e=>s.cS.toPortablePath(e))}realpathSync(e){return s.cS.toPortablePath(this.realFs.realpathSync(s.cS.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(t=>{this.realFs.exists(s.cS.fromPortablePath(e),t)})}accessSync(e,t){return this.realFs.accessSync(s.cS.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise((r,A)=>{this.realFs.access(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}existsSync(e){return this.realFs.existsSync(s.cS.fromPortablePath(e))}async statPromise(e){return await new Promise((t,r)=>{this.realFs.stat(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}statSync(e){return this.realFs.statSync(s.cS.fromPortablePath(e))}async lstatPromise(e){return await new Promise((t,r)=>{this.realFs.lstat(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}lstatSync(e){return this.realFs.lstatSync(s.cS.fromPortablePath(e))}async chmodPromise(e,t){return await new Promise((r,A)=>{this.realFs.chmod(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}chmodSync(e,t){return this.realFs.chmodSync(s.cS.fromPortablePath(e),t)}async chownPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.chown(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}chownSync(e,t,r){return this.realFs.chownSync(s.cS.fromPortablePath(e),t,r)}async renamePromise(e,t){return await new Promise((r,A)=>{this.realFs.rename(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),this.makeCallback(r,A))})}renameSync(e,t){return this.realFs.renameSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t))}async copyFilePromise(e,t,r=0){return await new Promise((A,n)=>{this.realFs.copyFile(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),r,this.makeCallback(A,n))})}copyFileSync(e,t,r=0){return this.realFs.copyFileSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),r)}async appendFilePromise(e,t,r){return await new Promise((A,n)=>{const o="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.appendFile(o,t,r,this.makeCallback(A,n)):this.realFs.appendFile(o,t,this.makeCallback(A,n))})}appendFileSync(e,t,r){const A="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.appendFileSync(A,t,r):this.realFs.appendFileSync(A,t)}async writeFilePromise(e,t,r){return await new Promise((A,n)=>{const o="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.writeFile(o,t,r,this.makeCallback(A,n)):this.realFs.writeFile(o,t,this.makeCallback(A,n))})}writeFileSync(e,t,r){const A="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.writeFileSync(A,t,r):this.realFs.writeFileSync(A,t)}async unlinkPromise(e){return await new Promise((t,r)=>{this.realFs.unlink(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}unlinkSync(e){return this.realFs.unlinkSync(s.cS.fromPortablePath(e))}async utimesPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.utimes(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}utimesSync(e,t,r){this.realFs.utimesSync(s.cS.fromPortablePath(e),t,r)}async lutimesPromiseImpl(e,t,r){const A=this.realFs.lutimes;if(void 0===A)throw(0,i.bk)("unavailable Node binding",`lutimes '${e}'`);return await new Promise((n,o)=>{A.call(this.realFs,s.cS.fromPortablePath(e),t,r,this.makeCallback(n,o))})}lutimesSyncImpl(e,t,r){const A=this.realFs.lutimesSync;if(void 0===A)throw(0,i.bk)("unavailable Node binding",`lutimes '${e}'`);A.call(this.realFs,s.cS.fromPortablePath(e),t,r)}async mkdirPromise(e,t){return await new Promise((r,A)=>{this.realFs.mkdir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}mkdirSync(e,t){return this.realFs.mkdirSync(s.cS.fromPortablePath(e),t)}async rmdirPromise(e,t){return await new Promise((r,A)=>{t?this.realFs.rmdir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A)):this.realFs.rmdir(s.cS.fromPortablePath(e),this.makeCallback(r,A))})}rmdirSync(e,t){return this.realFs.rmdirSync(s.cS.fromPortablePath(e),t)}async linkPromise(e,t){return await new Promise((r,A)=>{this.realFs.link(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),this.makeCallback(r,A))})}linkSync(e,t){return this.realFs.linkSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t))}async symlinkPromise(e,t,r){const A=r||(e.endsWith("/")?"dir":"file");return await new Promise((r,n)=>{this.realFs.symlink(s.cS.fromPortablePath(e.replace(/\/+$/,"")),s.cS.fromPortablePath(t),A,this.makeCallback(r,n))})}symlinkSync(e,t,r){const A=r||(e.endsWith("/")?"dir":"file");return this.realFs.symlinkSync(s.cS.fromPortablePath(e.replace(/\/+$/,"")),s.cS.fromPortablePath(t),A)}async readFilePromise(e,t){return await new Promise((r,A)=>{const n="string"==typeof e?s.cS.fromPortablePath(e):e;this.realFs.readFile(n,t,this.makeCallback(r,A))})}readFileSync(e,t){const r="string"==typeof e?s.cS.fromPortablePath(e):e;return this.realFs.readFileSync(r,t)}async readdirPromise(e,{withFileTypes:t}={}){return await new Promise((r,A)=>{t?this.realFs.readdir(s.cS.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(r,A)):this.realFs.readdir(s.cS.fromPortablePath(e),this.makeCallback(e=>r(e),A))})}readdirSync(e,{withFileTypes:t}={}){return t?this.realFs.readdirSync(s.cS.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(s.cS.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((t,r)=>{this.realFs.readlink(s.cS.fromPortablePath(e),this.makeCallback(t,r))}).then(e=>s.cS.toPortablePath(e))}readlinkSync(e){return s.cS.toPortablePath(this.realFs.readlinkSync(s.cS.fromPortablePath(e)))}async truncatePromise(e,t){return await new Promise((r,A)=>{this.realFs.truncate(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}truncateSync(e,t){return this.realFs.truncateSync(s.cS.fromPortablePath(e),t)}watch(e,t,r){return this.realFs.watch(s.cS.fromPortablePath(e),t,r)}watchFile(e,t,r){return this.realFs.watchFile(s.cS.fromPortablePath(e),t,r)}unwatchFile(e,t){return this.realFs.unwatchFile(s.cS.fromPortablePath(e),t)}makeCallback(e,t){return(r,A)=>{r?t(r):e(A)}}}},39725:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var A=r(42096),n=r(46009);class o extends A.p{constructor(e){super(n.cS),this.baseFs=e}mapFromBase(e){return n.cS.fromPortablePath(e)}mapToBase(e){return n.cS.toPortablePath(e)}}},42096:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var A=r(5944);class n extends A.uY{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,r){return this.baseFs.openPromise(this.mapToBase(e),t,r)}openSync(e,t,r){return this.baseFs.openSync(this.mapToBase(e),t,r)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,r,A,n){return await this.baseFs.readPromise(e,t,r,A,n)}readSync(e,t,r,A,n){return this.baseFs.readSync(e,t,r,A,n)}async writePromise(e,t,r,A,n){return"string"==typeof t?await this.baseFs.writePromise(e,t,r):await this.baseFs.writePromise(e,t,r,A,n)}writeSync(e,t,r,A,n){return"string"==typeof t?this.baseFs.writeSync(e,t,r):this.baseFs.writeSync(e,t,r,A,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(null!==e?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(null!==e?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e){return this.baseFs.statPromise(this.mapToBase(e))}statSync(e){return this.baseFs.statSync(this.mapToBase(e))}async lstatPromise(e){return this.baseFs.lstatPromise(this.mapToBase(e))}lstatSync(e){return this.baseFs.lstatSync(this.mapToBase(e))}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async chownPromise(e,t,r){return this.baseFs.chownPromise(this.mapToBase(e),t,r)}chownSync(e,t,r){return this.baseFs.chownSync(this.mapToBase(e),t,r)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,r=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),r)}copyFileSync(e,t,r=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),r)}async appendFilePromise(e,t,r){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,r)}appendFileSync(e,t,r){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,r)}async writeFilePromise(e,t,r){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,r)}writeFileSync(e,t,r){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,r)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,r){return this.baseFs.utimesPromise(this.mapToBase(e),t,r)}utimesSync(e,t,r){return this.baseFs.utimesSync(this.mapToBase(e),t,r)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,r){return this.baseFs.symlinkPromise(this.mapToBase(e),this.mapToBase(t),r)}symlinkSync(e,t,r){return this.baseFs.symlinkSync(this.mapToBase(e),this.mapToBase(t),r)}async readFilePromise(e,t){return this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,{withFileTypes:t}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:t})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}watch(e,t,r){return this.baseFs.watch(this.mapToBase(e),t,r)}watchFile(e,t,r){return this.baseFs.watchFile(this.mapToBase(e),t,r)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return"number"==typeof e?e:this.mapToBase(e)}}},17674:(e,t,r)=>{"use strict";r.d(t,{p:()=>c});var A=r(78420),n=r(42096),o=r(46009);const i=/^[0-9]+$/,s=/^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,a=/^([^/]+-)?[a-f0-9]+$/;class c extends n.p{constructor({baseFs:e=new A.S}={}){super(o.y1),this.baseFs=e}static makeVirtualPath(e,t,r){if("$$virtual"!==o.y1.basename(e))throw new Error('Assertion failed: Virtual folders must be named "$$virtual"');if(!o.y1.basename(t).match(a))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");const A=o.y1.relative(o.y1.dirname(e),r).split("/");let n=0;for(;n{"use strict";r.d(t,{k:()=>C,d:()=>f});var A=r(35747),n=r(92413),o=r(31669),i=r(78761),s=r.n(i),a=r(5944),c=r(78420),g=r(19697),l=r(38783),u=r(22004),h=r(26984),p=r(46009),d=r(65760);const C="mixed";class f extends a.fS{constructor(e,t){super(),this.lzSource=null,this.listings=new Map,this.entries=new Map,this.fileSources=new Map,this.fds=new Map,this.nextFd=0,this.ready=!1,this.readOnly=!1,this.libzip=t.libzip;const r=t;if(this.level=void 0!==r.level?r.level:C,null===e&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),"string"==typeof e){const{baseFs:t=new c.S}=r;this.baseFs=t,this.path=e}else this.path=null,this.baseFs=null;if(t.stats)this.stats=t.stats;else if("string"==typeof e)try{this.stats=this.baseFs.statSync(e)}catch(e){if("ENOENT"!==e.code||!r.create)throw e;this.stats=d.makeDefaultStats()}else this.stats=d.makeDefaultStats();const A=this.libzip.malloc(4);try{let n=0;if("string"==typeof e&&r.create&&(n|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),t.readOnly&&(n|=this.libzip.ZIP_RDONLY,this.readOnly=!0),"string"==typeof e)this.zip=this.libzip.open(p.cS.fromPortablePath(e),n,A);else{const t=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(t,n,A),this.lzSource=t}catch(e){throw this.libzip.source.free(t),e}}if(0===this.zip){const e=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(e,this.libzip.getValue(A,"i32")),this.makeLibzipError(e)}}finally{this.libzip.free(A)}this.listings.set(p.LZ.root,new Set);const n=this.libzip.getNumEntries(this.zip,0);for(let e=0;ee)throw new Error("Overread");const A=this.libzip.HEAPU8.subarray(t,t+e);return Buffer.from(A)}finally{this.libzip.free(t)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw h.Vw("archive closed, close");(0,l.L)(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly)return void this.discardAndClose();const e=this.baseFs.existsSync(this.path)?511&this.baseFs.statSync(this.path).mode:null;if(-1===this.libzip.close(this.zip))throw this.makeLibzipError(this.libzip.getError(this.zip));null===e?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(511&this.baseFs.statSync(this.path).mode)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return p.y1.resolve(p.LZ.root,e)}async openPromise(e,t,r){return this.openSync(e,t,r)}openSync(e,t,r){const A=this.nextFd++;return this.fds.set(A,{cursor:0,p:e}),A}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,t){return this.opendirSync(e,t)}opendirSync(e,t={}){const r=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`opendir '${e}'`);const A=this.listings.get(r);if(!A)throw h.Ab(`opendir '${e}'`);const n=[...A],o=this.openSync(r,"r");return(0,g.a)(this,r,n,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,t,r,A,n){return this.readSync(e,t,r,A,n)}readSync(e,t,r=0,A=0,n=-1){const o=this.fds.get(e);if(void 0===o)throw h.Ch("read");let i;i=-1===n||null===n?o.cursor:n;const s=this.readFileSync(o.p);s.copy(t,r,i,i+A);const a=Math.max(0,Math.min(s.length-i,A));return-1!==n&&null!==n||(o.cursor+=a),a}async writePromise(e,t,r,A,n){return"string"==typeof t?this.writeSync(e,t,n):this.writeSync(e,t,r,A,n)}writeSync(e,t,r,A,n){if(void 0===this.fds.get(e))throw h.Ch("read");throw new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(void 0===this.fds.get(e))throw h.Ch("read");this.fds.delete(e)}createReadStream(e,{encoding:t}={}){if(null===e)throw new Error("Unimplemented");const r=this.openSync(e,"r"),A=Object.assign(new n.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(e,t)=>{clearImmediate(o),this.closeSync(r),t(e)}}),{close(){A.destroy()},bytesRead:0,path:e}),o=setImmediate(async()=>{try{const r=await this.readFilePromise(e,t);A.bytesRead=r.length,A.end(r)}catch(e){A.destroy(e)}});return A}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw h.YW(`open '${e}'`);if(null===e)throw new Error("Unimplemented");const r=[],A=this.openSync(e,"w"),o=Object.assign(new n.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(n,o)=>{try{n?o(n):(this.writeFileSync(e,Buffer.concat(r),t),o(null))}catch(e){o(e)}finally{this.closeSync(A)}}}),{bytesWritten:0,path:e,close(){o.destroy()}});return o.on("data",e=>{const t=Buffer.from(e);o.bytesWritten+=t.length,r.push(t)}),o}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){const t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw h.Vw(`archive closed, existsSync '${e}'`);if(0===this.symlinkCount){const t=p.y1.resolve(p.LZ.root,e);return this.entries.has(t)||this.listings.has(t)}let t;try{t=this.resolveFilename(`stat '${e}'`,e)}catch(e){return!1}return this.entries.has(t)||this.listings.has(t)}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=A.constants.F_OK){const r=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`access '${e}'`);if(this.readOnly&&t&A.constants.W_OK)throw h.YW(`access '${e}'`)}async statPromise(e){return this.statSync(e)}statSync(e){const t=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`stat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`stat '${e}'`);return this.statImpl(`stat '${e}'`,t)}async lstatPromise(e){return this.lstatSync(e)}lstatSync(e){const t=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`lstat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,t)}statImpl(e,t){const r=this.entries.get(t);if(void 0!==r){const e=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,r,0,0,e))throw this.makeLibzipError(this.libzip.getError(this.zip));const A=this.stats.uid,n=this.stats.gid,o=this.libzip.struct.statSize(e)>>>0,i=512,s=Math.ceil(o/i),a=1e3*(this.libzip.struct.statMtime(e)>>>0),c=a,g=a,l=a,h=new Date(c),p=new Date(g),C=new Date(l),f=new Date(a),I=this.listings.has(t)?u.QB:this.isSymbolicLink(r)?u.Zv:u.Pe,E=I===u.QB?493:420,B=I|511&this.getUnixMode(r,E);return Object.assign(new d.StatEntry,{uid:A,gid:n,size:o,blksize:i,blocks:s,atime:h,birthtime:p,ctime:C,mtime:f,atimeMs:c,birthtimeMs:g,ctimeMs:l,mtimeMs:a,mode:B})}if(this.listings.has(t)){const e=this.stats.uid,t=this.stats.gid,r=0,A=512,n=0,o=this.stats.mtimeMs,i=this.stats.mtimeMs,s=this.stats.mtimeMs,a=this.stats.mtimeMs,c=new Date(o),g=new Date(i),l=new Date(s),h=new Date(a),p=493|u.QB;return Object.assign(new d.StatEntry,{uid:e,gid:t,size:r,blksize:A,blocks:n,atime:c,birthtime:g,ctime:l,mtime:h,atimeMs:o,birthtimeMs:i,ctimeMs:s,mtimeMs:a,mode:p})}throw new Error("Unreachable")}getUnixMode(e,t){if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let t=this.listings.get(e);if(t)return t;const r=this.registerListing(p.y1.dirname(e));return t=new Set,r.add(p.y1.basename(e)),this.listings.set(e,t),t}registerEntry(e,t){this.registerListing(p.y1.dirname(e)).add(p.y1.basename(e)),this.entries.set(e,t)}unregisterListing(e){this.listings.delete(e);const t=this.listings.get(p.y1.dirname(e));null==t||t.delete(p.y1.basename(e))}unregisterEntry(e){this.unregisterListing(e);const t=this.entries.get(e);this.entries.delete(e),void 0!==t&&(this.fileSources.delete(t),this.isSymbolicLink(t)&&this.symlinkCount--)}deleteEntry(e,t){this.unregisterEntry(e);if(-1===this.libzip.delete(this.zip,t))throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,t,r=!0){if(!this.ready)throw h.Vw("archive closed, "+e);let A=p.y1.resolve(p.LZ.root,t);if("/"===A)return p.LZ.root;const n=this.entries.get(A);if(r&&void 0!==n){if(0!==this.symlinkCount&&this.isSymbolicLink(n)){const t=this.getFileSource(n).toString();return this.resolveFilename(e,p.y1.resolve(p.y1.dirname(A),t),!0)}return A}for(;;){const t=this.resolveFilename(e,p.y1.dirname(A),!0),n=this.listings.has(t),o=this.entries.has(t);if(!n&&!o)throw h.z6(e);if(!n)throw h.Ab(e);if(A=p.y1.resolve(t,p.y1.basename(A)),!r||0===this.symlinkCount)break;const i=this.libzip.name.locate(this.zip,A.slice(1));if(-1===i)break;if(!this.isSymbolicLink(i))break;{const e=this.getFileSource(i).toString();A=p.y1.resolve(p.y1.dirname(A),e)}}return A}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));const t=this.libzip.malloc(e.byteLength);if(!t)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){const t=this.libzip.struct.errorS(),{buffer:r,byteLength:A}=this.allocateBuffer(e),n=this.libzip.source.fromUnattachedBuffer(r,A,0,!0,t);if(0===n)throw this.libzip.free(t),this.makeLibzipError(t);return n}allocateSource(e){const{buffer:t,byteLength:r}=this.allocateBuffer(e),A=this.libzip.source.fromBuffer(this.zip,t,r,0,!0);if(0===A)throw this.libzip.free(t),this.makeLibzipError(this.libzip.getError(this.zip));return A}setFileSource(e,t){const r=Buffer.isBuffer(t)?t:Buffer.from(t),A=p.y1.relative(p.LZ.root,e),n=this.allocateSource(t);try{const e=this.libzip.file.add(this.zip,A,n,this.libzip.ZIP_FL_OVERWRITE);if(-1===e)throw this.makeLibzipError(this.libzip.getError(this.zip));if("mixed"!==this.level){let t;t=0===this.level?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(-1===this.libzip.file.setCompression(this.zip,e,0,t,this.level))throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(e,r),e}catch(e){throw this.libzip.source.free(n),e}}isSymbolicLink(e){if(0===this.symlinkCount)return!1;if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX)return!1;return(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&u.wK)===u.Zv}getFileSource(e,t={asyncDecompress:!1}){const r=this.fileSources.get(e);if(void 0!==r)return r;const A=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,e,0,0,A))throw this.makeLibzipError(this.libzip.getError(this.zip));const n=this.libzip.struct.statCompSize(A),o=this.libzip.struct.statCompMethod(A),i=this.libzip.malloc(n);try{const r=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(0===r)throw this.makeLibzipError(this.libzip.getError(this.zip));try{const A=this.libzip.fread(r,i,n,0);if(-1===A)throw this.makeLibzipError(this.libzip.file.getError(r));if(An)throw new Error("Overread");const a=this.libzip.HEAPU8.subarray(i,i+n),c=Buffer.from(a);if(0===o)return this.fileSources.set(e,c),c;if(t.asyncDecompress)return new Promise((t,r)=>{s().inflateRaw(c,(A,n)=>{A?r(A):(this.fileSources.set(e,n),t(n))})});{const t=s().inflateRawSync(c);return this.fileSources.set(e,t),t}}finally{this.libzip.fclose(r)}}finally{this.libzip.free(i)}}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw h.YW(`chmod '${e}'`);t&=493;const r=this.resolveFilename(`chmod '${e}'`,e,!1),A=this.entries.get(r);if(void 0===A)throw new Error(`Assertion failed: The entry should have been registered (${r})`);const n=-512&this.getUnixMode(A,0|u.Pe)|t;if(-1===this.libzip.file.setExternalAttributes(this.zip,A,0,0,this.libzip.ZIP_OPSYS_UNIX,n<<16))throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,t,r){return this.chownSync(e,t,r)}chownSync(e,t,r){throw new Error("Unimplemented")}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error("Unimplemented")}async copyFilePromise(e,t,r){const{indexSource:A,indexDest:n,resolvedDestP:o}=this.prepareCopyFile(e,t,r),i=await this.getFileSource(A,{asyncDecompress:!0}),s=this.setFileSource(o,i);s!==n&&this.registerEntry(o,s)}copyFileSync(e,t,r=0){const{indexSource:A,indexDest:n,resolvedDestP:o}=this.prepareCopyFile(e,t,r),i=this.getFileSource(A),s=this.setFileSource(o,i);s!==n&&this.registerEntry(o,s)}prepareCopyFile(e,t,r=0){if(this.readOnly)throw h.YW(`copyfile '${e} -> '${t}'`);if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw h.bk("unsupported clone operation",`copyfile '${e}' -> ${t}'`);const n=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),o=this.entries.get(n);if(void 0===o)throw h.hq(`copyfile '${e}' -> '${t}'`);const i=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),s=this.entries.get(i);if(0!=(r&(A.constants.COPYFILE_EXCL|A.constants.COPYFILE_FICLONE_FORCE))&&void 0!==s)throw h.cT(`copyfile '${e}' -> '${t}'`);return{indexSource:o,resolvedDestP:i,indexDest:s}}async appendFilePromise(e,t,r){if(this.readOnly)throw h.YW(`open '${e}'`);return void 0===r?r={flag:"a"}:"string"==typeof r?r={flag:"a",encoding:r}:void 0===r.flag&&(r={flag:"a",...r}),this.writeFilePromise(e,t,r)}appendFileSync(e,t,r={}){if(this.readOnly)throw h.YW(`open '${e}'`);return void 0===r?r={flag:"a"}:"string"==typeof r?r={flag:"a",encoding:r}:void 0===r.flag&&(r={flag:"a",...r}),this.writeFileSync(e,t,r)}async writeFilePromise(e,t,r){const{encoding:A,index:n,resolvedP:o}=this.prepareWriteFile(e,r);void 0!==n&&"object"==typeof r&&r.flag&&r.flag.includes("a")&&(t=Buffer.concat([await this.getFileSource(n,{asyncDecompress:!0}),Buffer.from(t)])),null!==A&&(t=t.toString(A));const i=this.setFileSource(o,t);i!==n&&this.registerEntry(o,i)}writeFileSync(e,t,r){const{encoding:A,index:n,resolvedP:o}=this.prepareWriteFile(e,r);void 0!==n&&"object"==typeof r&&r.flag&&r.flag.includes("a")&&(t=Buffer.concat([this.getFileSource(n),Buffer.from(t)])),null!==A&&(t=t.toString(A));const i=this.setFileSource(o,t);i!==n&&this.registerEntry(o,i)}prepareWriteFile(e,t){if("string"!=typeof e)throw h.Ch("read");if(this.readOnly)throw h.YW(`open '${e}'`);const r=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(r))throw h.GA(`open '${e}'`);let A=null;"string"==typeof t?A=t:"object"==typeof t&&t.encoding&&(A=t.encoding);return{encoding:A,resolvedP:r,index:this.entries.get(r)}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw h.YW(`unlink '${e}'`);const t=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(t))throw h.GA(`unlink '${e}'`);const r=this.entries.get(t);if(void 0===r)throw h.hq(`unlink '${e}'`);this.deleteEntry(t,r)}async utimesPromise(e,t,r){return this.utimesSync(e,t,r)}utimesSync(e,t,r){if(this.readOnly)throw h.YW(`utimes '${e}'`);const A=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(A,r)}async lutimesPromise(e,t,r){return this.lutimesSync(e,t,r)}lutimesSync(e,t,r){if(this.readOnly)throw h.YW(`lutimes '${e}'`);const A=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(A,r)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));const r=this.entries.get(e);if(void 0===r)throw new Error("Unreachable");if(-1===this.libzip.file.setMtime(this.zip,r,0,function(e){if("string"==typeof e&&String(+e)===e)return+e;if(Number.isFinite(e))return e<0?Date.now()/1e3:e;if((0,o.isDate)(e))return e.getTime()/1e3;throw new Error("Invalid time")}(t),0))throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:r=!1}={}){if(r)return void this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw h.YW(`mkdir '${e}'`);const A=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(A)||this.listings.has(A))throw h.cT(`mkdir '${e}'`);this.hydrateDirectory(A),this.chmodSync(A,t)}async rmdirPromise(e,t){return this.rmdirSync(e,t)}rmdirSync(e,{recursive:t=!1}={}){if(this.readOnly)throw h.YW(`rmdir '${e}'`);if(t)return void this.removeSync(e);const r=this.resolveFilename(`rmdir '${e}'`,e),A=this.listings.get(r);if(!A)throw h.Ab(`rmdir '${e}'`);if(A.size>0)throw h.re(`rmdir '${e}'`);const n=this.entries.get(r);if(void 0===n)throw h.hq(`rmdir '${e}'`);this.deleteEntry(e,n)}hydrateDirectory(e){const t=this.libzip.dir.add(this.zip,p.y1.relative(p.LZ.root,e));if(-1===t)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,t),t}async linkPromise(e,t){return this.linkSync(e,t)}linkSync(e,t){throw h.Hs(`link '${e}' -> '${t}'`)}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw h.YW(`symlink '${e}' -> '${t}'`);const r=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(r))throw h.GA(`symlink '${e}' -> '${t}'`);if(this.entries.has(r))throw h.cT(`symlink '${e}' -> '${t}'`);const A=this.setFileSource(r,e);this.registerEntry(r,A);if(-1===this.libzip.file.setExternalAttributes(this.zip,A,0,0,this.libzip.ZIP_OPSYS_UNIX,(511|u.Zv)<<16))throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const r=await this.readFileBuffer(e,{asyncDecompress:!0});return t?r.toString(t):r}readFileSync(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const r=this.readFileBuffer(e);return t?r.toString(t):r}readFileBuffer(e,t={asyncDecompress:!1}){if("string"!=typeof e)throw h.Ch("read");const r=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`open '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(r))throw h.Ab(`open '${e}'`);if(this.listings.has(r))throw h.GA("read");const A=this.entries.get(r);if(void 0===A)throw new Error("Unreachable");return this.getFileSource(A,t)}async readdirPromise(e,{withFileTypes:t}={}){return this.readdirSync(e,{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){const r=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`scandir '${e}'`);const A=this.listings.get(r);if(!A)throw h.Ab(`scandir '${e}'`);const n=[...A];return t?n.map(t=>Object.assign(this.statImpl("lstat",p.y1.join(e,t)),{name:t})):n}async readlinkPromise(e){const t=this.prepareReadlink(e);return(await this.getFileSource(t,{asyncDecompress:!0})).toString()}readlinkSync(e){const t=this.prepareReadlink(e);return this.getFileSource(t).toString()}prepareReadlink(e){const t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`readlink '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`open '${e}'`);if(this.listings.has(t))throw h.hq(`readlink '${e}'`);const r=this.entries.get(t);if(void 0===r)throw new Error("Unreachable");if(!this.isSymbolicLink(r))throw h.hq(`readlink '${e}'`);return r}async truncatePromise(e,t=0){const r=this.resolveFilename(`open '${e}'`,e),A=this.entries.get(r);if(void 0===A)throw h.hq(`open '${e}'`);const n=await this.getFileSource(A,{asyncDecompress:!0}),o=Buffer.alloc(t,0);return n.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,t=0){const r=this.resolveFilename(`open '${e}'`,e),A=this.entries.get(r);if(void 0===A)throw h.hq(`open '${e}'`);const n=this.getFileSource(A),o=Buffer.alloc(t,0);return n.copy(o),this.writeFileSync(e,o)}watch(e,t,r){let A;switch(typeof t){case"function":case"string":case"undefined":A=!0;break;default:({persistent:A=!0}=t)}if(!A)return{on:()=>{},close:()=>{}};const n=setInterval(()=>{},864e5);return{on:()=>{},close:()=>{clearInterval(n)}}}watchFile(e,t,r){const A=this.resolveFilename(`open '${e}'`,e);return(0,l._x)(this,A,t,r)}unwatchFile(e,t){const r=this.resolveFilename(`open '${e}'`,e);return(0,l.nd)(this,r,t)}}},53660:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var A=r(35747),n=r(5944),o=r(78420),i=r(90739),s=r(38783),a=r(46009);const c=2147483648,g=/.*?(?await this.baseFs.openPromise(e,t,r),async(e,{subPath:A})=>this.remapFd(e,await e.openPromise(A,t,r)))}openSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.openSync(e,t,r),(e,{subPath:A})=>this.remapFd(e,e.openSync(A,t,r)))}async opendirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,t),async(e,{subPath:r})=>await e.opendirPromise(r,t),{requireSubpath:!1})}opendirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,t),(e,{subPath:r})=>e.opendirSync(r,t),{requireSubpath:!1})}async readPromise(e,t,r,A,n){if(0==(e&c))return await this.baseFs.readPromise(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[i,s]=o;return await i.readPromise(s,t,r,A,n)}readSync(e,t,r,A,n){if(0==(e&c))return this.baseFs.readSync(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[i,s]=o;return i.readSync(s,t,r,A,n)}async writePromise(e,t,r,A,n){if(0==(e&c))return"string"==typeof t?await this.baseFs.writePromise(e,t,r):await this.baseFs.writePromise(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[i,s]=o;return"string"==typeof t?await i.writePromise(s,t,r):await i.writePromise(s,t,r,A,n)}writeSync(e,t,r,A,n){if(0==(e&c))return"string"==typeof t?this.baseFs.writeSync(e,t,r):this.baseFs.writeSync(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[i,s]=o;return"string"==typeof t?i.writeSync(s,t,r):i.writeSync(s,t,r,A,n)}async closePromise(e){if(0==(e&c))return await this.baseFs.closePromise(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[r,A]=t;return await r.closePromise(A)}closeSync(e){if(0==(e&c))return this.baseFs.closeSync(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[r,A]=t;return r.closeSync(A)}createReadStream(e,t){return null===e?this.baseFs.createReadStream(e,t):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,t),(e,{subPath:r})=>e.createReadStream(r,t))}createWriteStream(e,t){return null===e?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,t),(e,{subPath:r})=>e.createWriteStream(r,t))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(e,{archivePath:t,subPath:r})=>{let A=this.realPaths.get(t);return void 0===A&&(A=await this.baseFs.realpathPromise(t),this.realPaths.set(t,A)),this.pathUtils.join(A,this.pathUtils.relative(a.LZ.root,await e.realpathPromise(r)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(e,{archivePath:t,subPath:r})=>{let A=this.realPaths.get(t);return void 0===A&&(A=this.baseFs.realpathSync(t),this.realPaths.set(t,A)),this.pathUtils.join(A,this.pathUtils.relative(a.LZ.root,e.realpathSync(r)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(e,{subPath:t})=>await e.existsPromise(t))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(e,{subPath:t})=>e.existsSync(t))}async accessPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,t),async(e,{subPath:r})=>await e.accessPromise(r,t))}accessSync(e,t){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,t),(e,{subPath:r})=>e.accessSync(r,t))}async statPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e),async(e,{subPath:t})=>await e.statPromise(t))}statSync(e){return this.makeCallSync(e,()=>this.baseFs.statSync(e),(e,{subPath:t})=>e.statSync(t))}async lstatPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e),async(e,{subPath:t})=>await e.lstatPromise(t))}lstatSync(e){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e),(e,{subPath:t})=>e.lstatSync(t))}async chmodPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,t),async(e,{subPath:r})=>await e.chmodPromise(r,t))}chmodSync(e,t){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,t),(e,{subPath:r})=>e.chmodSync(r,t))}async chownPromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,t,r),async(e,{subPath:A})=>await e.chownPromise(A,t,r))}chownSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,t,r),(e,{subPath:A})=>e.chownSync(A,t,r))}async renamePromise(e,t){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.renamePromise(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(e,{subPath:r})=>await this.makeCallPromise(t,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(t,{subPath:A})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await e.renamePromise(r,A)}))}renameSync(e,t){return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.renameSync(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(e,{subPath:r})=>this.makeCallSync(t,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(t,{subPath:A})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return e.renameSync(r,A)}))}async copyFilePromise(e,t,r=0){const n=async(e,t,n,o)=>{if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${o}'`),{code:"EXDEV"});if(r&A.constants.COPYFILE_EXCL&&await this.existsPromise(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${o}'`),{code:"EEXIST"});let i;try{i=await e.readFilePromise(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${o}'`),{code:"EINVAL"})}await n.writeFilePromise(o,i)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.copyFilePromise(e,t,r),async(t,{subPath:r})=>await n(this.baseFs,e,t,r)),async(e,{subPath:A})=>await this.makeCallPromise(t,async()=>await n(e,A,this.baseFs,t),async(t,{subPath:o})=>e!==t?await n(e,A,t,o):await e.copyFilePromise(A,o,r)))}copyFileSync(e,t,r=0){const n=(e,t,n,o)=>{if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${o}'`),{code:"EXDEV"});if(r&A.constants.COPYFILE_EXCL&&this.existsSync(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${o}'`),{code:"EEXIST"});let i;try{i=e.readFileSync(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${o}'`),{code:"EINVAL"})}n.writeFileSync(o,i)};return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.copyFileSync(e,t,r),(t,{subPath:r})=>n(this.baseFs,e,t,r)),(e,{subPath:A})=>this.makeCallSync(t,()=>n(e,A,this.baseFs,t),(t,{subPath:o})=>e!==t?n(e,A,t,o):e.copyFileSync(A,o,r)))}async appendFilePromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,t,r),async(e,{subPath:A})=>await e.appendFilePromise(A,t,r))}appendFileSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,t,r),(e,{subPath:A})=>e.appendFileSync(A,t,r))}async writeFilePromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,t,r),async(e,{subPath:A})=>await e.writeFilePromise(A,t,r))}writeFileSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,t,r),(e,{subPath:A})=>e.writeFileSync(A,t,r))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(e,{subPath:t})=>await e.unlinkPromise(t))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(e,{subPath:t})=>e.unlinkSync(t))}async utimesPromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,t,r),async(e,{subPath:A})=>await e.utimesPromise(A,t,r))}utimesSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,t,r),(e,{subPath:A})=>e.utimesSync(A,t,r))}async mkdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,t),async(e,{subPath:r})=>await e.mkdirPromise(r,t))}mkdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,t),(e,{subPath:r})=>e.mkdirSync(r,t))}async rmdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,t),async(e,{subPath:r})=>await e.rmdirPromise(r,t))}rmdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,t),(e,{subPath:r})=>e.rmdirSync(r,t))}async linkPromise(e,t){return await this.makeCallPromise(t,async()=>await this.baseFs.linkPromise(e,t),async(t,{subPath:r})=>await t.linkPromise(e,r))}linkSync(e,t){return this.makeCallSync(t,()=>this.baseFs.linkSync(e,t),(t,{subPath:r})=>t.linkSync(e,r))}async symlinkPromise(e,t,r){return await this.makeCallPromise(t,async()=>await this.baseFs.symlinkPromise(e,t,r),async(t,{subPath:r})=>await t.symlinkPromise(e,r))}symlinkSync(e,t,r){return this.makeCallSync(t,()=>this.baseFs.symlinkSync(e,t,r),(t,{subPath:r})=>t.symlinkSync(e,r))}async readFilePromise(e,t){return this.makeCallPromise(e,async()=>{switch(t){case"utf8":default:return await this.baseFs.readFilePromise(e,t)}},async(e,{subPath:r})=>await e.readFilePromise(r,t))}readFileSync(e,t){return this.makeCallSync(e,()=>{switch(t){case"utf8":default:return this.baseFs.readFileSync(e,t)}},(e,{subPath:r})=>e.readFileSync(r,t))}async readdirPromise(e,{withFileTypes:t}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:t}),async(e,{subPath:r})=>await e.readdirPromise(r,{withFileTypes:t}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:t}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:t}),(e,{subPath:r})=>e.readdirSync(r,{withFileTypes:t}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(e,{subPath:t})=>await e.readlinkPromise(t))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(e,{subPath:t})=>e.readlinkSync(t))}async truncatePromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,t),async(e,{subPath:r})=>await e.truncatePromise(r,t))}truncateSync(e,t){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,t),(e,{subPath:r})=>e.truncateSync(r,t))}watch(e,t,r){return this.makeCallSync(e,()=>this.baseFs.watch(e,t,r),(e,{subPath:A})=>e.watch(A,t,r))}watchFile(e,t,r){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,t,r),()=>(0,s._x)(this,e,t,r))}unwatchFile(e,t){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,t),()=>(0,s.nd)(this,e,t))}async makeCallPromise(e,t,r,{requireSubpath:A=!0}={}){if("string"!=typeof e)return await t();const n=this.resolve(e),o=this.findZip(n);return o?A&&"/"===o.subPath?await t():await this.getZipPromise(o.archivePath,async e=>await r(e,o)):await t()}makeCallSync(e,t,r,{requireSubpath:A=!0}={}){if("string"!=typeof e)return t();const n=this.resolve(e),o=this.findZip(n);return o?A&&"/"===o.subPath?t():this.getZipSync(o.archivePath,e=>r(e,o)):t()}findZip(e){if(this.filter&&!this.filter.test(e))return null;let t="";for(;;){const r=g.exec(e.substr(t.length));if(!r)return null;if(t=this.pathUtils.join(t,r[0]),!1===this.isZip.has(t)){if(this.notZip.has(t))continue;try{if(!this.baseFs.lstatSync(t).isFile()){this.notZip.add(t);continue}}catch(e){return null}this.isZip.add(t)}return{archivePath:t,subPath:this.pathUtils.join(a.LZ.root,e.substr(t.length))}}}limitOpenFiles(e){if(null===this.zipInstances)return;const t=Date.now();let r=t+this.maxAge,A=null===e?0:this.zipInstances.size-e;for(const[n,{zipFs:o,expiresAt:i,refCount:s}]of this.zipInstances.entries())if(0===s&&!o.hasOpenFileHandles())if(t>=i)o.saveAndClose(),this.zipInstances.delete(n),A-=1;else{if(null===e||A<=0){r=i;break}o.saveAndClose(),this.zipInstances.delete(n),A-=1}null===this.limitOpenFilesTimeout&&(null===e&&this.zipInstances.size>0||null!==e)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},r-t).unref())}async getZipPromise(e,t){const r=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let A=this.zipInstances.get(e);if(!A){const t=await r();A=this.zipInstances.get(e),A||(A={zipFs:new i.d(e,t),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,A),A.expiresAt=Date.now()+this.maxAge,A.refCount+=1;try{return await t(A.zipFs)}finally{A.refCount-=1}}else{const A=new i.d(e,await r());try{return await t(A)}finally{A.saveAndClose()}}}getZipSync(e,t){const r=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let A=this.zipInstances.get(e);return A||(A={zipFs:new i.d(e,r()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,A),A.expiresAt=Date.now()+this.maxAge,t(A.zipFs)}{const A=new i.d(e,r());try{return t(A)}finally{A.saveAndClose()}}}}},19697:(e,t,r)=>{"use strict";r.d(t,{a:()=>o});var A=r(26984);class n{constructor(e,t,r={}){this.path=e,this.nextDirent=t,this.opts=r,this.closed=!1}throwIfClosed(){if(this.closed)throw A.Xh()}async*[Symbol.asyncIterator](){try{let e;for(;null!==(e=await this.read());)yield e}finally{await this.close()}}read(e){const t=this.readSync();return void 0!==e?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),void 0!==e?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),null===(t=(e=this.opts).onClose)||void 0===t||t.call(e),this.closed=!0}}function o(e,t,r,A){return new n(t,()=>{const A=r.shift();return void 0===A?null:Object.assign(e.statSync(e.pathUtils.join(t,A)),{name:A})},A)}},38783:(e,t,r)=>{"use strict";r.d(t,{L:()=>u,nd:()=>l,_x:()=>g});var A,n,o=r(28614),i=r(65760);function s(e,t){if(e!==t)throw new Error(`Invalid StatWatcher status: expected '${t}', got '${e}'`)}!function(e){e.Change="change",e.Stop="stop"}(A||(A={})),function(e){e.Ready="ready",e.Running="running",e.Stopped="stopped"}(n||(n={}));class a extends o.EventEmitter{constructor(e,t,{bigint:r=!1}={}){super(),this.status=n.Ready,this.changeListeners=new Map,this.startTimeout=null,this.fakeFs=e,this.path=t,this.bigint=r,this.lastStats=this.stat()}static create(e,t,r){const A=new a(e,t,r);return A.start(),A}start(){s(this.status,n.Ready),this.status=n.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(A.Change,this.lastStats,this.lastStats)},3)}stop(){s(this.status,n.Running),this.status=n.Stopped,null!==this.startTimeout&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(A.Stop)}stat(){try{return this.fakeFs.statSync(this.path)}catch(e){if("ENOENT"===e.code)return i.makeEmptyStats();throw e}}makeInterval(e){const t=setInterval(()=>{const e=this.stat(),t=this.lastStats;i.areStatsEqual(e,t)||(this.lastStats=e,this.emit(A.Change,e,t))},e.interval);return e.persistent?t:t.unref()}registerChangeListener(e,t){this.addListener(A.Change,e),this.changeListeners.set(e,this.makeInterval(t))}unregisterChangeListener(e){this.removeListener(A.Change,e);const t=this.changeListeners.get(e);void 0!==t&&clearInterval(t),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(const e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(const e of this.changeListeners.values())e.ref();return this}unref(){for(const e of this.changeListeners.values())e.unref();return this}}const c=new WeakMap;function g(e,t,r,A){let n,o,i,s;switch(typeof r){case"function":n=!1,o=!0,i=5007,s=r;break;default:({bigint:n=!1,persistent:o=!0,interval:i=5007}=r),s=A}let g=c.get(e);void 0===g&&c.set(e,g=new Map);let l=g.get(t);return void 0===l&&(l=a.create(e,t,{bigint:n}),g.set(t,l)),l.registerChangeListener(s,{persistent:o,interval:i}),l}function l(e,t,r){const A=c.get(e);if(void 0===A)return;const n=A.get(t);void 0!==n&&(void 0===r?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),A.delete(t)))}function u(e){const t=c.get(e);if(void 0!==t)for(const r of t.keys())l(e,r)}},22004:(e,t,r)=>{"use strict";r.d(t,{wK:()=>A,QB:()=>n,Pe:()=>o,Zv:()=>i});const A=61440,n=16384,o=32768,i=40960},26984:(e,t,r)=>{"use strict";function A(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}function n(e){return A("EBUSY",e)}function o(e,t){return A("ENOSYS",`${e}, ${t}`)}function i(e){return A("EINVAL","invalid argument, "+e)}function s(e){return A("EBADF","bad file descriptor, "+e)}function a(e){return A("ENOENT","no such file or directory, "+e)}function c(e){return A("ENOTDIR","not a directory, "+e)}function g(e){return A("EISDIR","illegal operation on a directory, "+e)}function l(e){return A("EEXIST","file already exists, "+e)}function u(e){return A("EROFS","read-only filesystem, "+e)}function h(e){return A("ENOTEMPTY","directory not empty, "+e)}function p(e){return A("EOPNOTSUPP","operation not supported, "+e)}function d(){return A("ERR_DIR_CLOSED","Directory handle was closed")}r.d(t,{Vw:()=>n,bk:()=>o,hq:()=>i,Ch:()=>s,z6:()=>a,Ab:()=>c,GA:()=>g,cT:()=>l,YW:()=>u,re:()=>h,Hs:()=>p,Xh:()=>d,Yn:()=>C});class C extends Error{constructor(e,t){super(e),this.name="Libzip Error",this.code=t}}},43896:(e,t,r)=>{"use strict";r.r(t),r.d(t,{AliasFS:()=>u.K,CwdFS:()=>h.M,DEFAULT_COMPRESSION_LEVEL:()=>l.k,FakeFS:()=>g.uY,Filename:()=>s.QS,JailFS:()=>p.n,LazyFS:()=>d.v,NoFS:()=>f,NodeFS:()=>i.S,PortablePath:()=>s.LZ,PosixFS:()=>I.i,ProxiedFS:()=>E.p,VirtualFS:()=>B.p,ZipFS:()=>l.d,ZipOpenFS:()=>y.A,extendFs:()=>Q,normalizeLineEndings:()=>g.qH,npath:()=>s.cS,opendir:()=>c.a,patchFs:()=>w,ppath:()=>s.y1,statUtils:()=>a,toFilename:()=>s.Zu,xfs:()=>S});var A=r(12087),n=r.n(A),o=r(31669),i=r(78420),s=r(46009),a=r(65760),c=r(19697),g=r(5944),l=r(90739),u=r(14626),h=r(75448),p=r(10489),d=r(15037);const C=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"});class f extends g.uY{constructor(){super(s.y1)}getExtractHint(){throw C()}getRealPath(){throw C()}resolve(){throw C()}async openPromise(){throw C()}openSync(){throw C()}async opendirPromise(){throw C()}opendirSync(){throw C()}async readPromise(){throw C()}readSync(){throw C()}async writePromise(){throw C()}writeSync(){throw C()}async closePromise(){throw C()}closeSync(){throw C()}createWriteStream(){throw C()}createReadStream(){throw C()}async realpathPromise(){throw C()}realpathSync(){throw C()}async readdirPromise(){throw C()}readdirSync(){throw C()}async existsPromise(e){throw C()}existsSync(e){throw C()}async accessPromise(){throw C()}accessSync(){throw C()}async statPromise(){throw C()}statSync(){throw C()}async lstatPromise(e){throw C()}lstatSync(e){throw C()}async chmodPromise(){throw C()}chmodSync(){throw C()}async chownPromise(){throw C()}chownSync(){throw C()}async mkdirPromise(){throw C()}mkdirSync(){throw C()}async rmdirPromise(){throw C()}rmdirSync(){throw C()}async linkPromise(){throw C()}linkSync(){throw C()}async symlinkPromise(){throw C()}symlinkSync(){throw C()}async renamePromise(){throw C()}renameSync(){throw C()}async copyFilePromise(){throw C()}copyFileSync(){throw C()}async appendFilePromise(){throw C()}appendFileSync(){throw C()}async writeFilePromise(){throw C()}writeFileSync(){throw C()}async unlinkPromise(){throw C()}unlinkSync(){throw C()}async utimesPromise(){throw C()}utimesSync(){throw C()}async readFilePromise(){throw C()}readFileSync(){throw C()}async readlinkPromise(){throw C()}readlinkSync(){throw C()}async truncatePromise(){throw C()}truncateSync(){throw C()}watch(){throw C()}watchFile(){throw C()}unwatchFile(){throw C()}}f.instance=new f;var I=r(39725),E=r(42096),B=r(17674),y=r(53660);function m(e){const t=s.cS.toPortablePath(n().tmpdir()),r=Math.ceil(4294967296*Math.random()).toString(16).padStart(8,"0");return s.y1.join(t,`${e}${r}`)}function w(e,t){const r=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),A=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),n=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]),i=(e,t,r)=>{const A=e[t];e[t]=r,void 0!==(null==A?void 0:A[o.promisify.custom])&&(r[o.promisify.custom]=A[o.promisify.custom])};i(e,"exists",(e,...r)=>{const A="function"==typeof r[r.length-1]?r.pop():()=>{};process.nextTick(()=>{t.existsPromise(e).then(e=>{A(e)},()=>{A(!1)})})}),i(e,"read",(e,r,...A)=>{const n="function"==typeof A[A.length-1]?A.pop():()=>{};process.nextTick(()=>{t.readPromise(e,r,...A).then(e=>{n(null,e,r)},e=>{n(e)})})});for(const r of A){const A=r.replace(/Promise$/,"");if(void 0===e[A])continue;const n=t[r];if(void 0===n)continue;i(e,A,(...e)=>{const r="function"==typeof e[e.length-1]?e.pop():()=>{};process.nextTick(()=>{n.apply(t,e).then(e=>{r(null,e)},e=>{r(e)})})})}e.realpath.native=e.realpath,i(e,"existsSync",e=>{try{return t.existsSync(e)}catch(e){return!1}});for(const A of r){const r=A;if(void 0===e[r])continue;const n=t[A];void 0!==n&&i(e,r,n.bind(t))}e.realpathSync.native=e.realpathSync;{const r=process.emitWarning;let o;process.emitWarning=()=>{};try{o=e.promises}finally{process.emitWarning=r}if(void 0!==o){for(const e of A){const r=e.replace(/Promise$/,"");if(void 0===o[r])continue;const A=t[e];void 0!==A&&("open"!==e&&i(o,r,A.bind(t)))}class e{constructor(e){this.fd=e}}for(const r of n){const A=r.replace(/Promise$/,""),n=t[r];void 0!==n&&i(e.prototype,A,(function(...e){return n.call(t,this.fd,...e)}))}i(o,"open",async(...r)=>{const A=await t.openPromise(...r);return new e(A)})}}e.read[o.promisify.custom]=async(e,r,...A)=>{const n=t.readPromise(e,r,...A);return{bytesRead:await n,buffer:r}}}function Q(e,t){const r=Object.create(e);return w(r,t),r}const D=new Set;let b=!1;function v(){b||(b=!0,process.once("exit",()=>{S.rmtempSync()}))}const S=Object.assign(new i.S,{detachTemp(e){D.delete(e)},mktempSync(e){for(v();;){const t=m("xfs-");try{this.mkdirSync(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const r=this.realpathSync(t);if(D.add(r),void 0===e)return t;try{return e(r)}finally{if(D.has(r)){D.delete(r);try{this.removeSync(r)}catch(e){}}}}},async mktempPromise(e){for(v();;){const t=m("xfs-");try{await this.mkdirPromise(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const r=await this.realpathPromise(t);if(D.add(r),void 0===e)return r;try{return await e(r)}finally{if(D.has(r)){D.delete(r);try{await this.removePromise(r)}catch(e){}}}}},async rmtempPromise(){await Promise.all(Array.from(D.values()).map(async e=>{try{await S.removePromise(e,{maxRetries:0}),D.delete(e)}catch(e){}}))},rmtempSync(){for(const e of D)try{S.removeSync(e),D.delete(e)}catch(e){}}})},46009:(e,t,r)=>{"use strict";r.d(t,{LZ:()=>i,QS:()=>s,cS:()=>a,y1:()=>c,CI:()=>f,Zu:()=>I});var A,n=r(85622),o=r.n(n);!function(e){e[e.File=0]="File",e[e.Portable=1]="Portable",e[e.Native=2]="Native"}(A||(A={}));const i={root:"/",dot:"."},s={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",pnpJs:".pnp.js",rc:".yarnrc.yml"},a=Object.create(o()),c=Object.create(o().posix);a.cwd=()=>process.cwd(),c.cwd=()=>C(process.cwd()),c.resolve=(...e)=>e.length>0&&c.isAbsolute(e[0])?o().posix.resolve(...e):o().posix.resolve(c.cwd(),...e);const g=function(e,t,r){return(t=e.normalize(t))===(r=e.normalize(r))?".":(t.endsWith(e.sep)||(t+=e.sep),r.startsWith(t)?r.slice(t.length):null)};a.fromPortablePath=d,a.toPortablePath=C,a.contains=(e,t)=>g(a,e,t),c.contains=(e,t)=>g(c,e,t);const l=/^([a-zA-Z]:.*)$/,u=/^\\\\(\.\\)?(.*)$/,h=/^\/([a-zA-Z]:.*)$/,p=/^\/unc\/(\.dot\/)?(.*)$/;function d(e){if("win32"!==process.platform)return e;if(e.match(h))e=e.replace(h,"$1");else{if(!e.match(p))return e;e=e.replace(p,(e,t,r)=>`\\\\${t?".\\":""}${r}`)}return e.replace(/\//g,"\\")}function C(e){return"win32"!==process.platform?e:(e.match(l)?e=e.replace(l,"/$1"):e.match(u)&&(e=e.replace(u,(e,t,r)=>`/unc/${t?".dot/":""}${r}`)),e.replace(/\\/g,"/"))}function f(e,t){return e===a?d(t):C(t)}function I(e){if(""!==a.parse(e).dir||""!==c.parse(e).dir)throw new Error(`Invalid filename: "${e}"`);return e}},65760:(e,t,r)=>{"use strict";r.r(t),r.d(t,{DirEntry:()=>n,StatEntry:()=>o,makeDefaultStats:()=>i,makeEmptyStats:()=>s,areStatsEqual:()=>a});var A=r(22004);class n{constructor(){this.name="",this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&A.wK)===A.QB}isFIFO(){return!1}isFile(){return(this.mode&A.wK)===A.Pe}isSocket(){return!1}isSymbolicLink(){return(this.mode&A.wK)===A.Zv}}class o{constructor(){this.dev=0,this.ino=0,this.mode=0,this.nlink=1,this.rdev=0,this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&A.wK)===A.QB}isFIFO(){return!1}isFile(){return(this.mode&A.wK)===A.Pe}isSocket(){return!1}isSymbolicLink(){return(this.mode&A.wK)===A.Zv}}function i(){return Object.assign(new o,{uid:0,gid:0,size:0,blksize:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date(0),mtime:new Date(0),ctime:new Date(0),birthtime:new Date(0),mode:420|A.Pe})}function s(){return Object.assign(i(),{nlink:0,blocks:0,mode:0})}function a(e,t){return e.atimeMs===t.atimeMs&&(e.birthtimeMs===t.birthtimeMs&&(e.blksize===t.blksize&&(e.blocks===t.blocks&&(e.ctimeMs===t.ctimeMs&&(e.dev===t.dev&&(e.gid===t.gid&&(e.ino===t.ino&&(e.isBlockDevice()===t.isBlockDevice()&&(e.isCharacterDevice()===t.isCharacterDevice()&&(e.isDirectory()===t.isDirectory()&&(e.isFIFO()===t.isFIFO()&&(e.isFile()===t.isFile()&&(e.isSocket()===t.isSocket()&&(e.isSymbolicLink()===t.isSymbolicLink()&&(e.mode===t.mode&&(e.mtimeMs===t.mtimeMs&&(e.nlink===t.nlink&&(e.rdev===t.rdev&&(e.size===t.size&&e.uid===t.uid)))))))))))))))))))}},65281:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getLibzipPromise:()=>s,getLibzipSync:()=>i});const A=["number","number"];var n;!function(e){e[e.ZIP_ER_OK=0]="ZIP_ER_OK",e[e.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",e[e.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",e[e.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",e[e.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",e[e.ZIP_ER_READ=5]="ZIP_ER_READ",e[e.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",e[e.ZIP_ER_CRC=7]="ZIP_ER_CRC",e[e.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",e[e.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",e[e.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",e[e.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",e[e.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",e[e.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",e[e.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",e[e.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",e[e.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",e[e.ZIP_ER_EOF=17]="ZIP_ER_EOF",e[e.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",e[e.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",e[e.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",e[e.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",e[e.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",e[e.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",e[e.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",e[e.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",e[e.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",e[e.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",e[e.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",e[e.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",e[e.ZIP_ER_TELL=30]="ZIP_ER_TELL",e[e.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"}(n||(n={}));let o=null;function i(){var e;return null===o&&(e=r(3368),o={get HEAP8(){return e.HEAP8},get HEAPU8(){return e.HEAPU8},errors:n,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint16S:e._malloc(2),uint32S:e._malloc(4),uint64S:e._malloc(8),malloc:e._malloc,free:e._free,getValue:e.getValue,open:e.cwrap("zip_open","number",["string","number","number"]),openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),delete:e.cwrap("zip_delete","number",["number","number"]),stat:e.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...A,"number","number"]),fopen:e.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...A,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...A,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...A,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...A,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...A,"number","number"])},ext:{countSymlinks:e.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...A,"number"]),free:e.cwrap("zip_source_free",null,["number"]),keep:e.cwrap("zip_source_keep",null,["number"]),open:e.cwrap("zip_source_open","number",["number"]),close:e.cwrap("zip_source_close","number",["number"]),seek:e.cwrap("zip_source_seek","number",["number",...A,"number"]),tell:e.cwrap("zip_source_tell","number",["number"]),read:e.cwrap("zip_source_read","number",["number","number","number"]),error:e.cwrap("zip_source_error","number",["number"]),setMtime:e.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:e.cwrap("zipstruct_stat","number",[]),statS:e.cwrap("zipstruct_statS","number",[]),statName:e.cwrap("zipstruct_stat_name","string",["number"]),statIndex:e.cwrap("zipstruct_stat_index","number",["number"]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:e.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:e.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),error:e.cwrap("zipstruct_error","number",[]),errorS:e.cwrap("zipstruct_errorS","number",[]),errorCodeZip:e.cwrap("zipstruct_error_code_zip","number",["number"])}}),o}async function s(){return i()}},11640:(e,t,r)=>{"use strict";r.r(t),r.d(t,{parseResolution:()=>i,parseShell:()=>n,parseSyml:()=>I,stringifyResolution:()=>s,stringifySyml:()=>d});var A=r(92962);function n(e,t={isGlobPattern:()=>!1}){try{return(0,A.parse)(e,t)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}var o=r(98261);function i(e){const t=e.match(/^\*{1,2}\/(.*)/);if(t)throw new Error(`The override for '${e}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${t[1]}' instead.`);try{return(0,o.parse)(e)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function s(e){let t="";return e.from&&(t+=e.from.fullName,e.from.description&&(t+="@"+e.from.description),t+="/"),t+=e.descriptor.fullName,e.descriptor.description&&(t+="@"+e.descriptor.description),t}var a=r(21194),c=r(85443);const g=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,l=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"];class u{constructor(e){this.data=e}}function h(e){return e.match(g)?e:JSON.stringify(e)}function p(e,t,r){if(null===e)return"null\n";if("number"==typeof e||"boolean"==typeof e)return e.toString()+"\n";if("string"==typeof e)return h(e)+"\n";if(Array.isArray(e)){if(0===e.length)return"[]\n";const r=" ".repeat(t);return"\n"+e.map(e=>`${r}- ${p(e,t+1,!1)}`).join("")}if("object"==typeof e&&e){let A,n;e instanceof u?(A=e.data,n=!1):(A=e,n=!0);const o=" ".repeat(t),i=Object.keys(A);n&&i.sort((e,t)=>{const r=l.indexOf(e),A=l.indexOf(t);return-1===r&&-1===A?et?1:0:-1!==r&&-1===A?-1:-1===r&&-1!==A?1:r-A});const s=i.filter(e=>!function e(t){return void 0===t||"object"==typeof t&&null!==t&&Object.keys(t).every(r=>e(t[r]))}(A[e])).map((e,n)=>{const i=A[e],s=h(e),a=p(i,t+1,!0),c=n>0||r?o:"";return a.startsWith("\n")?`${c}${s}:${a}`:`${c}${s}: ${a}`}).join(0===t?"\n":"")||"\n";return r?"\n"+s:""+s}throw new Error(`Unsupported value type (${e})`)}function d(e){try{const t=p(e,0,!1);return"\n"!==t?t:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}d.PreserveOrdering=u;const C=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function f(e){if(C.test(e))return function(e){return e.endsWith("\n")||(e+="\n"),(0,c.parse)(e)}(e);const t=(0,a.safeLoad)(e,{schema:a.FAILSAFE_SCHEMA});if(null==t)return{};if("object"!=typeof t)throw new Error(`Expected an indexed object, got a ${typeof t} instead. Does your file follow Yaml's rules?`);if(Array.isArray(t))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return t}function I(e){return f(e)}},34432:(e,t,r)=>{"use strict";var A,n;r.d(t,{gY:()=>E,Q$:()=>B,oC:()=>F}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(A||(A={})),function(e){e.DEFAULT="DEFAULT",e.TOP_LEVEL="TOP_LEVEL",e.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",e.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",e.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",e.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",e.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",e.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",e.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",e.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",e.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",e.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"}(n||(n={}));const o={[n.DEFAULT]:{collapsed:!1,next:{"*":n.DEFAULT}},[n.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:n.FALLBACK_EXCLUSION_LIST,packageRegistryData:n.PACKAGE_REGISTRY_DATA,"*":n.DEFAULT}},[n.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{"*":n.FALLBACK_EXCLUSION_ENTRIES}},[n.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{"*":n.FALLBACK_EXCLUSION_DATA}},[n.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{"*":n.DEFAULT}},[n.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{"*":n.PACKAGE_REGISTRY_ENTRIES}},[n.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{"*":n.PACKAGE_STORE_DATA}},[n.PACKAGE_STORE_DATA]:{collapsed:!1,next:{"*":n.PACKAGE_STORE_ENTRIES}},[n.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{"*":n.PACKAGE_INFORMATION_DATA}},[n.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:n.PACKAGE_DEPENDENCIES,"*":n.DEFAULT}},[n.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{"*":n.PACKAGE_DEPENDENCY}},[n.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{"*":n.DEFAULT}}};function i(e,t,r,A){const{next:n}=o[r];return s(t,n[e]||n["*"],A)}function s(e,t,r){const{collapsed:A}=o[t];return Array.isArray(e)?A?function(e,t,r){let A="";A+="[";for(let n=0,o=e.length;ne(t)));const n=r.map((e,t)=>t);return n.sort((e,t)=>{for(const r of A){const A=r[e]r[t]?1:0;if(0!==A)return A}return 0}),n.map(e=>r[e])}function g(e){const t=new Map,r=c(e.fallbackExclusionList||[],[({name:e,reference:t})=>e,({name:e,reference:t})=>t]);for(const{name:e,reference:A}of r){let r=t.get(e);void 0===r&&t.set(e,r=new Set),r.add(A)}return Array.from(t).map(([e,t])=>[e,Array.from(t)])}function l(e){return c(e.fallbackPool||[],([e])=>e)}function u(e){const t=[];for(const[r,A]of c(e.packageRegistry,([e])=>null===e?"0":"1"+e)){const e=[];t.push([r,e]);for(const[t,{packageLocation:n,packageDependencies:o,packagePeers:i,linkType:s,discardFromLookup:a}]of c(A,([e])=>null===e?"0":"1"+e)){const A=[];null===r||null===t||o.has(r)||A.push([r,t]);for(const[e,t]of c(o.entries(),([e])=>e))A.push([e,t]);const g=i&&i.size>0?Array.from(i):void 0,l=a||void 0;e.push([t,{packageLocation:n,packageDependencies:A,packagePeers:g,linkType:s,discardFromLookup:l}])}}return t}function h(e){return c(e.blacklistedLocations||[],e=>e)}function p(e){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback||!1,ignorePatternData:e.ignorePattern||null,fallbackExclusionList:g(e),fallbackPool:l(e),locationBlacklistData:h(e),packageRegistryData:u(e)}}var d=r(20103),C=r.n(d);function f(e,t){return[e?e+"\n":"","/* eslint-disable */\n\n","try {\n"," Object.freeze({}).detectStrictMode = true;\n","} catch (error) {\n"," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n","}\n","\n","var __non_webpack_module__ = module;\n","\n","function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n",t.replace(/^/gm," "),"}\n","\n",C()()].join("")}function I(e){return JSON.stringify(e,null,2)}function E(e){const t=function(e){return[`return hydrateRuntimeState(${a(e)}, {basePath: basePath || __dirname});\n`].join("")}(p(e));return f(e.shebang,t)}function B(e){const t=p(e),r=(A=e.dataLocation,["var path = require('path');\n",`var dataLocation = path.resolve(__dirname, ${JSON.stringify(A)});\n`,"return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n"].join(""));var A;const n=f(e.shebang,r);return{dataFile:I(t),loaderFile:n}}var y=r(35747),m=(r(85622),r(31669)),w=r(46009);var Q,D=r(17674),b=r(32282);!function(e){e.API_ERROR="API_ERROR",e.BLACKLISTED="BLACKLISTED",e.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",e.MISSING_DEPENDENCY="MISSING_DEPENDENCY",e.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",e.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",e.INTERNAL="INTERNAL",e.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",e.UNSUPPORTED="UNSUPPORTED"}(Q||(Q={}));const v=new Set([Q.BLACKLISTED,Q.BUILTIN_NODE_RESOLUTION_FAILED,Q.MISSING_DEPENDENCY,Q.MISSING_PEER_DEPENDENCY,Q.QUALIFIED_PATH_RESOLUTION_FAILED,Q.UNDECLARED_DEPENDENCY]);function S(e,t,r={}){const A=v.has(e)?"MODULE_NOT_FOUND":e,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(t),{code:{...n,value:A},pnpCode:{...n,value:e},data:{...n,value:r}})}function k(e){return w.cS.normalize(w.cS.fromPortablePath(e))}function K(e,t){const r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,A=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(b.Module.builtinModules||Object.keys(process.binding("natives"))),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/,i=/^(\/|\.{1,2}(\/|$))/,s=/\/$/,a={name:null,reference:null},c=[],g=new Set;if(!0===e.enableTopLevelFallback&&c.push(a),!1!==t.compatibilityMode)for(const t of["react-scripts","gatsby"]){const r=e.packageRegistry.get(t);if(r)for(const e of r.keys()){if(null===e)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:t,reference:e})}}const{ignorePattern:l,packageRegistry:u,packageLocatorsByLocations:h,packageLocationLengths:p}=e;function d(e,t){return{fn:e,args:t,error:null,result:null}}function C(e,r){if(!1===t.allowDebug)return r;if(Number.isFinite(A)){if(A>=2)return(...t)=>{const A=d(e,t);try{return A.result=r(...t)}catch(e){throw A.error=e}finally{console.trace(A)}};if(A>=1)return(...t)=>{try{return r(...t)}catch(r){const A=d(e,t);throw A.error=r,console.trace(A),r}}}return r}function f(e){const t=y(e);if(!t)throw S(Q.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return t}function I(t){if(null===t.name)return!0;for(const r of e.dependencyTreeRoots)if(r.name===t.name&&r.reference===t.reference)return!0;return!1}function E(e,t){return t.endsWith("/")&&(t=w.y1.join(t,"internal.js")),b.Module._resolveFilename(w.cS.fromPortablePath(e),function(e){const t=new b.Module(e,null);return t.filename=e,t.paths=b.Module._nodeModulePaths(e),t}(w.cS.fromPortablePath(t)),!1,{plugnplay:!1})}function B(t){if(null===l)return!1;const r=w.y1.contains(e.basePath,t);return null!==r&&!!l.test(r.replace(/\/$/,""))}function y({name:e,reference:t}){const r=u.get(e);if(!r)return null;const A=r.get(t);return A||null}function m(e,t){const r=new Map,A=new Set,n=t=>{const o=JSON.stringify(t.name);if(A.has(o))return;A.add(o);const i=function({name:e,reference:t}){const r=[];for(const[A,n]of u)if(null!==A)for(const[o,i]of n){if(null===o)continue;i.packageDependencies.get(e)===t&&(A===e&&o===t||r.push({name:A,reference:o}))}return r}(t);for(const t of i){if(f(t).packagePeers.has(e))n(t);else{let e=r.get(t.name);void 0===e&&r.set(t.name,e=new Set),e.add(t.reference)}}};n(t);const o=[];for(const e of[...r.keys()].sort())for(const t of[...r.get(e)].sort())o.push({name:e,reference:t});return o}function v(t){if(B(t))return null;let r=(A=w.y1.relative(e.basePath,t),w.cS.toPortablePath(A));var A;r.match(i)||(r="./"+r),t.match(s)&&!r.endsWith("/")&&(r+="/");let n=0;for(;nr.length;)n+=1;for(let e=n;eI(e))?S(Q.MISSING_PEER_DEPENDENCY,`${s.name} tried to access ${t} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n${e.map(e=>`Ancestor breaking the chain: ${e.name}@${e.reference}\n`).join("")}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t,brokenAncestors:e}):S(Q.MISSING_PEER_DEPENDENCY,`${s.name} tried to access ${t} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n${e.map(e=>`Ancestor breaking the chain: ${e.name}@${e.reference}\n`).join("")}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t,brokenAncestors:e})}else void 0===d&&(B=!a&&n.has(A)?I(s)?S(Q.UNDECLARED_DEPENDENCY,`Your application tried to access ${t}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${t} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,dependencyName:t}):S(Q.UNDECLARED_DEPENDENCY,`${s.name} tried to access ${t}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${t} isn't otherwise declared in ${s.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t}):I(s)?S(Q.UNDECLARED_DEPENDENCY,`Your application tried to access ${t}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,dependencyName:t}):S(Q.UNDECLARED_DEPENDENCY,`${s.name} tried to access ${t}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t}));if(null==d){if(null===C||null===B)throw B||new Error("Assertion failed: Expected an error to have been set");d=C;const e=B.message.replace(/\n.*/g,"");B.message=e,g.has(e)||(g.add(e),process.emitWarning(B))}const y=Array.isArray(d)?{name:d[0],reference:d[1]}:{name:t,reference:d},D=f(y);if(!D.packageLocation)throw S(Q.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${y.name}@${y.reference} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n`,{request:l,issuer:u,dependencyLocator:Object.assign({},y)});const b=D.packageLocation;h=o?w.y1.join(b,o):b}else{if(w.y1.isAbsolute(A))h=w.y1.normalize(A);else{if(!i)throw S(Q.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:l,issuer:u});const e=w.y1.resolve(i);h=i.match(s)?w.y1.normalize(w.y1.join(e,A)):w.y1.normalize(w.y1.join(w.y1.dirname(e),A))}v(h)}return w.y1.normalize(h)}function F(e,{extensions:r=Object.keys(b.Module._extensions)}={}){const A=[],n=function e(r,A,{extensions:n}){let o;try{A.push(r),o=t.fakeFs.statSync(r)}catch(e){}if(o&&!o.isDirectory())return t.fakeFs.realpathSync(r);if(o&&o.isDirectory()){let o,i;try{o=JSON.parse(t.fakeFs.readFileSync(w.y1.join(r,"package.json"),"utf8"))}catch(e){}if(o&&o.main&&(i=w.y1.resolve(r,o.main)),i&&i!==r){const t=e(i,A,{extensions:n});if(null!==t)return t}}for(let e=0,o=n.length;e`Rejected candidate: ${k(e)}\n`).join("")}`,{unqualifiedPath:t})}}return{VERSIONS:{std:3,resolveVirtual:1,getAllLocators:1},topLevel:a,getLocator:(e,t)=>Array.isArray(t)?{name:t[0],reference:t[1]}:{name:e,reference:t},getDependencyTreeRoots:()=>[...e.dependencyTreeRoots],getAllLocators(){const e=[];for(const[t,r]of u)for(const A of r.keys())null!==t&&null!==A&&e.push({name:t,reference:A});return e},getPackageInformation:e=>{const t=y(e);if(null===t)return null;const r=w.cS.fromPortablePath(t.packageLocation);return{...t,packageLocation:r}},findPackageLocator:e=>v(w.cS.toPortablePath(e)),resolveToUnqualified:C("resolveToUnqualified",(e,t,r)=>{const A=null!==t?w.cS.toPortablePath(t):null,n=K(w.cS.toPortablePath(e),A,r);return null===n?null:w.cS.fromPortablePath(n)}),resolveUnqualified:C("resolveUnqualified",(e,t)=>w.cS.fromPortablePath(F(w.cS.toPortablePath(e),t))),resolveRequest:C("resolveRequest",(e,t,r)=>{const A=null!==t?w.cS.toPortablePath(t):null,n=function(e,t,{considerBuiltins:r,extensions:A}={}){const n=K(e,t,{considerBuiltins:r});if(null===n)return null;try{return F(n,{extensions:A})}catch(r){throw"QUALIFIED_PATH_RESOLUTION_FAILED"===r.pnpCode&&Object.assign(r.data,{request:k(e),issuer:t&&k(t)}),r}}(w.cS.toPortablePath(e),A,r);return null===n?null:w.cS.fromPortablePath(n)}),resolveVirtual:C("resolveVirtual",e=>{const t=function(e){const t=w.y1.normalize(e),r=D.p.resolveVirtual(t);return r!==t?r:null}(w.cS.toPortablePath(e));return null!==t?w.cS.fromPortablePath(t):null})}}(0,m.promisify)(y.readFile);const F=(e,t,r)=>K(function(e,{basePath:t}){const r=w.cS.toPortablePath(t),A=w.y1.resolve(r),n=null!==e.ignorePatternData?new RegExp(e.ignorePatternData):null,o=new Map(e.packageRegistryData.map(([e,t])=>[e,new Map(t.map(([e,t])=>[e,{packageLocation:w.y1.join(A,t.packageLocation),packageDependencies:new Map(t.packageDependencies),packagePeers:new Set(t.packagePeers),linkType:t.linkType,discardFromLookup:t.discardFromLookup||!1}]))])),i=new Map,s=new Set;for(const[t,r]of e.packageRegistryData)for(const[e,A]of r){if(null===t!=(null===e))throw new Error("Assertion failed: The name and reference should be null, or neither should");if(A.discardFromLookup)continue;const r={name:t,reference:e};i.set(A.packageLocation,r),s.add(A.packageLocation.length)}for(const t of e.locationBlacklistData)i.set(t,null);const a=new Map(e.fallbackExclusionList.map(([e,t])=>[e,new Set(t)])),c=new Map(e.fallbackPool);return{basePath:r,dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback,fallbackExclusionList:a,fallbackPool:c,ignorePattern:n,packageLocationLengths:[...s].sort((e,t)=>t-e),packageLocatorsByLocations:i,packageRegistry:o}}(p(e),{basePath:t}),{fakeFs:r,pnpapiResolution:w.cS.join(t,".pnp.js")})},76756:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ShellError:()=>c,execute:()=>Z,globUtils:()=>A});var A={};r.r(A),r.d(A,{fastGlobOptions:()=>E,isBraceExpansion:()=>m,isGlobPattern:()=>B,match:()=>y,micromatchOptions:()=>I});var n=r(46009),o=r(78420),i=r(11640),s=r(12087),a=r(92413);class c extends Error{constructor(e){super(e),this.name="ShellError"}}var g=r(43896),l=r(39725),u=r(19347),h=r.n(u),p=r(35747),d=r.n(p),C=r(2401),f=r.n(C);const I={strictBrackets:!0},E={onlyDirectories:!1,onlyFiles:!1};function B(e){if(!f().scan(e,I).isGlob)return!1;try{f().parse(e,I)}catch(e){return!1}return!0}function y(e,{cwd:t,baseFs:r}){return h()(e,{...E,cwd:n.cS.fromPortablePath(t),fs:(0,g.extendFs)(d(),new l.i(r))})}function m(e){return f().scan(e,I).isBrace}var w,Q=r(67566),D=r.n(Q);function b(){}!function(e){e[e.STDIN=0]="STDIN",e[e.STDOUT=1]="STDOUT",e[e.STDERR=2]="STDERR"}(w||(w={}));let v=0;class S{constructor(e){this.stream=e}close(){}get(){return this.stream}}class k{constructor(){this.stream=null}close(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");return this.stream}}class K{constructor(e,t){this.stdin=null,this.stdout=null,this.stderr=null,this.pipe=null,this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:r,stderr:A}){const n=new K(null,e);return n.stdin=t,n.stdout=r,n.stderr=A,n}pipeTo(e,t=w.STDOUT){const r=new K(this,e),A=new k;return r.pipe=A,r.stdout=this.stdout,r.stderr=this.stderr,(t&w.STDOUT)===w.STDOUT?this.stdout=A:null!==this.ancestor&&(this.stderr=this.ancestor.stdout),(t&w.STDERR)===w.STDERR?this.stderr=A:null!==this.ancestor&&(this.stderr=this.ancestor.stderr),r}async exec(){const e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(null===this.stdin)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t,r;if(null===this.stdout)throw new Error("Assertion failed: No output stream registered");if(t=this.stdout,e[1]=t.get(),null===this.stderr)throw new Error("Assertion failed: No error stream registered");r=this.stderr,e[2]=r.get();const A=this.implementation(e);return this.pipe&&this.pipe.attach(A.stdin),await A.promise.then(e=>(t.close(),r.close(),e))}async run(){const e=[];for(let t=this;t;t=t.ancestor)e.push(t.exec());return(await Promise.all(e))[0]}}function F(e,t){return K.start(e,t)}var N;function M(e,t,r){const A=new a.PassThrough({autoDestroy:!0});switch(e){case w.STDIN:(t&N.Readable)===N.Readable&&r.stdin.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&r.stdin instanceof a.Writable&&A.pipe(r.stdin,{end:!1});break;case w.STDOUT:(t&N.Readable)===N.Readable&&r.stdout.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&A.pipe(r.stdout,{end:!1});break;case w.STDERR:(t&N.Readable)===N.Readable&&r.stderr.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&A.pipe(r.stderr,{end:!1});break;default:throw new c(`Bad file descriptor: "${e}"`)}return A}function R(e,t={}){const r={...e,...t};return r.environment={...e.environment,...t.environment},r.variables={...e.variables,...t.variables},r}!function(e){e[e.Readable=1]="Readable",e[e.Writable=2]="Writable"}(N||(N={}));const x=new Map([["cd",async([e=(0,s.homedir)(),...t],r,A)=>{const o=n.y1.resolve(A.cwd,n.cS.toPortablePath(e));return(await r.baseFs.statPromise(o)).isDirectory()?(A.cwd=o,0):(A.stderr.write("cd: not a directory\n"),1)}],["pwd",async(e,t,r)=>(r.stdout.write(n.cS.fromPortablePath(r.cwd)+"\n"),0)],[":",async(e,t,r)=>0],["true",async(e,t,r)=>0],["false",async(e,t,r)=>1],["exit",async([e,...t],r,A)=>A.exitCode=parseInt(null!=e?e:A.variables["?"],10)],["echo",async(e,t,r)=>(r.stdout.write(e.join(" ")+"\n"),0)],["__ysh_run_procedure",async(e,t,r)=>{const A=r.procedures[e[0]];return await F(A,{stdin:new S(r.stdin),stdout:new S(r.stdout),stderr:new S(r.stderr)}).run()}],["__ysh_set_redirects",async(e,t,r)=>{let A=r.stdin,o=r.stdout;const i=r.stderr,s=[],c=[];let g=0;for(;"--"!==e[g];){const A=e[g++],o=Number(e[g++]),i=g+o;for(let o=g;ot.baseFs.createReadStream(n.y1.resolve(r.cwd,n.cS.toPortablePath(e[o]))));break;case"<<<":s.push(()=>{const t=new a.PassThrough;return process.nextTick(()=>{t.write(e[o]+"\n"),t.end()}),t});break;case"<&":s.push(()=>M(Number(e[o]),N.Readable,r));break;case">":case">>":{const i=n.y1.resolve(r.cwd,n.cS.toPortablePath(e[o]));"/dev/null"===i?c.push(new a.Writable({autoDestroy:!0,emitClose:!0,write(e,t,r){setImmediate(r)}})):c.push(t.baseFs.createWriteStream(i,">>"===A?{flags:"a"}:void 0))}break;case">&":c.push(M(Number(e[o]),N.Writable,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${A}"`)}}if(s.length>0){const e=new a.PassThrough;A=e;const t=r=>{if(r===s.length)e.end();else{const A=s[r]();A.pipe(e,{end:!1}),A.on("end",()=>{t(r+1)})}};t(0)}if(c.length>0){const e=new a.PassThrough;o=e;for(const t of c)e.pipe(t)}const l=await F(G(e.slice(g+1),t,r),{stdin:new S(A),stdout:new S(o),stderr:new S(i)}).run();return await Promise.all(c.map(e=>new Promise(t=>{e.on("close",()=>{t()}),e.end()}))),l}]]);async function L(e,t,r){const A=[],n=new a.PassThrough;return n.on("data",e=>A.push(e)),await W(e,t,R(r,{stdout:n})),Buffer.concat(A).toString().replace(/[\r\n]+$/,"")}async function P(e,t,r){const A=e.map(async e=>{const A=await Y(e.args,t,r);return{name:e.name,value:A.join(" ")}});return(await Promise.all(A)).reduce((e,t)=>(e[t.name]=t.value,e),{})}function O(e){return e.match(/[^ \r\n\t]+/g)||[]}async function U(e,t,r,A,n=A){switch(e.name){case"$":A(String(process.pid));break;case"#":A(String(t.args.length));break;case"@":if(e.quoted)for(const e of t.args)n(e);else for(const e of t.args){const t=O(e);for(let e=0;e=0&&ne+t,subtraction:(e,t)=>e-t,multiplication:(e,t)=>e*t,division:(e,t)=>Math.trunc(e/t)};async function j(e,t,r){if("number"===e.type){if(Number.isInteger(e.value))return e.value;throw new Error(`Invalid number: "${e.value}", only integers are allowed`)}if("variable"===e.type){const A=[];await U({...e,quoted:!0},t,r,e=>A.push(e));const n=Number(A.join(" "));return Number.isNaN(n)?j({type:"variable",name:A.join(" ")},t,r):j({type:"number",value:n},t,r)}return T[e.type](await j(e.left,t,r),await j(e.right,t,r))}async function Y(e,t,r){const A=new Map,n=[];let o=[];const i=e=>{o.push(e)},s=()=>{o.length>0&&n.push(o.join("")),o=[]},a=e=>{i(e),s()},g=(e,t)=>{let r=A.get(e);void 0===r&&A.set(e,r=[]),r.push(t)};for(const A of e){let e=!1;switch(A.type){case"redirection":{const e=await Y(A.args,t,r);for(const t of e)g(A.subtype,t)}break;case"argument":for(const n of A.segments)switch(n.type){case"text":i(n.text);break;case"glob":i(n.pattern),e=!0;break;case"shell":{const e=await L(n.shell,t,r);if(n.quoted)i(e);else{const t=O(e);for(let e=0;e0){const e=[];for(const[t,r]of A.entries())e.splice(e.length,0,t,String(r.length),...r);n.splice(0,0,"__ysh_set_redirects",...e,"--")}return n}function G(e,t,r){t.builtins.has(e[0])||(e=["command",...e]);const A=n.cS.fromPortablePath(r.cwd);let o=r.environment;void 0!==o.PWD&&(o={...o,PWD:A});const[i,...s]=e;if("command"===i)return function(e,t,r,A){return r=>{const n=r[0]instanceof a.Transform?"pipe":r[0],o=r[1]instanceof a.Transform?"pipe":r[1],i=r[2]instanceof a.Transform?"pipe":r[2],s=D()(e,t,{...A,stdio:[n,o,i]});return 0==v++&&process.on("SIGINT",b),r[0]instanceof a.Transform&&r[0].pipe(s.stdin),r[1]instanceof a.Transform&&s.stdout.pipe(r[1],{end:!1}),r[2]instanceof a.Transform&&s.stderr.pipe(r[2],{end:!1}),{stdin:s.stdin,promise:new Promise(t=>{s.on("error",A=>{switch(0==--v&&process.off("SIGINT",b),A.code){case"ENOENT":r[2].write(`command not found: ${e}\n`),t(127);break;case"EACCES":r[2].write(`permission denied: ${e}\n`),t(128);break;default:r[2].write(`uncaught error: ${A.message}\n`),t(1)}}),s.on("exit",e=>{0==--v&&process.off("SIGINT",b),t(null!==e?e:129)})})}}}(s[0],s.slice(1),0,{cwd:A,env:o});const c=t.builtins.get(i);if(void 0===c)throw new Error(`Assertion failed: A builtin should exist for "${i}"`);return function(e){return t=>{const r="pipe"===t[0]?new a.PassThrough:t[0];return{stdin:r,promise:Promise.resolve().then(()=>e({stdin:r,stdout:t[1],stderr:t[2]}))}}}(async({stdin:e,stdout:A,stderr:n})=>(r.stdin=e,r.stdout=A,r.stderr=n,await c(s,t,r)))}function H(e,t,r){return A=>{const n=new a.PassThrough;return{stdin:n,promise:W(e,t,R(r,{stdin:n}))}}}function J(e,t,r){return A=>({stdin:new a.PassThrough,promise:W(e,t,r)})}function q(e,t,r,A){if(0===t.length)return e;{let n;do{n=String(Math.random())}while(Object.prototype.hasOwnProperty.call(A.procedures,n));return A.procedures={...A.procedures},A.procedures[n]=e,G([...t,"__ysh_run_procedure",n],r,A)}}async function z(e,t,r){let A;const n=e=>{A=e,r.variables["?"]=String(e)},o=async e=>{try{return await async function(e,t,r){let A=e,n=null,o=null;for(;A;){const e=A.then?{...r}:r;let i;switch(A.type){case"command":{const n=await Y(A.args,t,r),o=await P(A.envs,t,r);i=A.envs.length?G(n,t,R(e,{environment:o})):G(n,t,e)}break;case"subshell":{const n=await Y(A.args,t,r);i=q(H(A.subshell,t,e),n,t,e)}break;case"group":{const n=await Y(A.args,t,r);i=q(J(A.group,t,e),n,t,e)}break;case"envs":{const n=await P(A.envs,t,r);e.environment={...e.environment,...n},i=G(["true"],t,e)}}if(void 0===i)throw new Error("Assertion failed: An action should have been generated");if(null===n)o=F(i,{stdin:new S(e.stdin),stdout:new S(e.stdout),stderr:new S(e.stderr)});else{if(null===o)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":o=o.pipeTo(i,w.STDOUT);break;case"|&":o=o.pipeTo(i,w.STDOUT|w.STDERR)}}A.then?(n=A.then.type,A=A.then.chain):A=null}if(null===o)throw new Error("Assertion failed: The execution pipeline should have been setup");return await o.run()}(e,t,r)}catch(e){if(!(e instanceof c))throw e;return r.stderr.write(e.message+"\n"),1}};for(n(await o(e.chain));e.then;){if(null!==r.exitCode)return r.exitCode;switch(e.then.type){case"&&":0===A&&n(await o(e.then.line.chain));break;case"||":0!==A&&n(await o(e.then.line.chain));break;default:throw new Error(`Assertion failed: Unsupported command type: "${e.then.type}"`)}e=e.then.line}return A}async function W(e,t,r){let A=0;for(const n of e){if(A=await z(n,t,r),null!==r.exitCode)return r.exitCode;r.variables["?"]=String(A)}return A}function X(e){switch(e.type){case"variable":return"@"===e.name||"#"===e.name||"*"===e.name||Number.isFinite(parseInt(e.name,10))||"defaultValue"in e&&!!e.defaultValue&&e.defaultValue.some(e=>V(e));case"arithmetic":return function e(t){switch(t.type){case"variable":return X(t);case"number":return!1;default:return e(t.left)||e(t.right)}}(e.arithmetic);case"shell":return _(e.shell);default:return!1}}function V(e){switch(e.type){case"redirection":return e.args.some(e=>V(e));case"argument":return e.segments.some(e=>X(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${e.type}"`)}}function _(e){return e.some(e=>{for(;e;){let t=e.chain;for(;t;){let e;switch(t.type){case"subshell":e=_(t.subshell);break;case"command":e=t.envs.some(e=>e.args.some(e=>V(e)))||t.args.some(e=>V(e))}if(e)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Z(e,t=[],{baseFs:r=new o.S,builtins:s={},cwd:c=n.cS.toPortablePath(process.cwd()),env:g=process.env,stdin:l=process.stdin,stdout:u=process.stdout,stderr:h=process.stderr,variables:p={},glob:d=A}={}){const C={};for(const[e,t]of Object.entries(g))void 0!==t&&(C[e]=t);const f=new Map(x);for(const[e,t]of Object.entries(s))f.set(e,t);null===l&&(l=new a.PassThrough).end();const I=(0,i.parseShell)(e,d);if(!_(I)&&I.length>0&&t.length>0){let e=I[I.length-1];for(;e.then;)e=e.then.line;let r=e.chain;for(;r.then;)r=r.then.chain;"command"===r.type&&(r.args=r.args.concat(t.map(e=>({type:"argument",segments:[{type:"text",text:e}]}))))}return await W(I,{args:t,baseFs:r,builtins:f,initialStdin:l,initialStdout:u,initialStderr:h,glob:d},{cwd:c,environment:C,exitCode:null,procedures:{},stdin:l,stdout:u,stderr:h,variables:Object.assign({},p,{"?":0})})}},45330:(e,t,r)=>{t.e=()=>({modules:new Map([["@yarnpkg/cli",r(25413)],["@yarnpkg/core",r(53836)],["@yarnpkg/fslib",r(43896)],["@yarnpkg/libzip",r(65281)],["@yarnpkg/parsers",r(11640)],["@yarnpkg/shell",r(76756)],["clipanion",r(40822)],["semver",r(53887)],["yup",r(15966)],["@yarnpkg/plugin-essentials",r(34777)],["@yarnpkg/plugin-compat",r(44692)],["@yarnpkg/plugin-dlx",r(10189)],["@yarnpkg/plugin-file",r(68023)],["@yarnpkg/plugin-git",r(75641)],["@yarnpkg/plugin-github",r(68126)],["@yarnpkg/plugin-http",r(99148)],["@yarnpkg/plugin-init",r(64314)],["@yarnpkg/plugin-link",r(92994)],["@yarnpkg/plugin-node-modules",r(8375)],["@yarnpkg/plugin-npm",r(14224)],["@yarnpkg/plugin-npm-cli",r(8190)],["@yarnpkg/plugin-pack",r(49881)],["@yarnpkg/plugin-patch",r(29936)],["@yarnpkg/plugin-pnp",r(83228)]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])})},29148:(e,t,r)=>{const A=r(74988),n=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,o=new A;e.exports=(e,t=0,r=e.length)=>{if(t<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");const A=r-t;let i="",s=0,a=0;for(;e.length>0;){const r=e.match(n)||[e,e,void 0];let c=o.splitGraphemes(r[1]);const g=Math.min(t-s,c.length);c=c.slice(g);const l=Math.min(A-a,c.length);i+=c.slice(0,l).join(""),s+=g,a+=l,void 0!==r[2]&&(i+=r[2]),e=e.slice(r[0].length)}return i}},72912:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},19228:(e,t,r)=>{var A=r(54694);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==A(e)&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}},74943:e=>{e.exports=function(e,t){if(null==e)return{};var r,A,n={},o=Object.keys(e);for(A=0;A=0||(n[r]=e[r]);return n}},62407:e=>{e.exports=function(e,t){return t||(t=e.slice(0)),e.raw=t,e}},54694:e=>{function t(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(r)}e.exports=t},96117:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747);t.FILE_SYSTEM_ADAPTER={lstat:A.lstat,stat:A.stat,lstatSync:A.lstatSync,statSync:A.statSync,readdir:A.readdir,readdirSync:A.readdirSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},79774:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=process.versions.node.split("."),A=parseInt(r[0],10),n=parseInt(r[1],10),o=A>10,i=10===A&&n>=10;t.IS_SUPPORT_READDIR_WITH_FILE_TYPES=o||i},85670:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(31020),n=r(35516),o=r(38844);function i(e={}){return e instanceof o.default?e:new o.default(e)}t.Settings=o.default,t.scandir=function(e,t,r){if("function"==typeof t)return A.read(e,i(),t);A.read(e,i(t),r)},t.scandirSync=function(e,t){const r=i(t);return n.read(e,r)}},31020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(69078),o=r(79774),i=r(65225);function s(e,t,r){t.fs.readdir(e,{withFileTypes:!0},(A,o)=>{if(null!==A)return c(r,A);const s=o.map(r=>({dirent:r,name:r.name,path:`${e}${t.pathSegmentSeparator}${r.name}`}));if(!t.followSymbolicLinks)return g(r,s);const a=s.map(e=>function(e,t){return r=>{if(!e.dirent.isSymbolicLink())return r(null,e);t.fs.stat(e.path,(A,n)=>null!==A?t.throwErrorOnBrokenSymbolicLink?r(A):r(null,e):(e.dirent=i.fs.createDirentFromStats(e.name,n),r(null,e)))}}(e,t));n(a,(e,t)=>{if(null!==e)return c(r,e);g(r,t)})})}function a(e,t,r){t.fs.readdir(e,(o,s)=>{if(null!==o)return c(r,o);const a=s.map(r=>`${e}${t.pathSegmentSeparator}${r}`),l=a.map(e=>r=>A.stat(e,t.fsStatSettings,r));n(l,(e,A)=>{if(null!==e)return c(r,e);const n=[];s.forEach((e,r)=>{const o=A[r],s={name:e,path:a[r],dirent:i.fs.createDirentFromStats(e,o)};t.stats&&(s.stats=o),n.push(s)}),g(r,n)})})}function c(e,t){e(t)}function g(e,t){e(null,t)}t.read=function(e,t,r){return!t.stats&&o.IS_SUPPORT_READDIR_WITH_FILE_TYPES?s(e,t,r):a(e,t,r)},t.readdirWithFileTypes=s,t.readdir=a},35516:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(79774),o=r(65225);function i(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(r=>{const A={dirent:r,name:r.name,path:`${e}${t.pathSegmentSeparator}${r.name}`};if(A.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{const e=t.fs.statSync(A.path);A.dirent=o.fs.createDirentFromStats(A.name,e)}catch(e){if(t.throwErrorOnBrokenSymbolicLink)throw e}return A})}function s(e,t){return t.fs.readdirSync(e).map(r=>{const n=`${e}${t.pathSegmentSeparator}${r}`,i=A.statSync(n,t.fsStatSettings),s={name:r,path:n,dirent:o.fs.createDirentFromStats(r,i)};return t.stats&&(s.stats=i),s})}t.read=function(e,t){return!t.stats&&n.IS_SUPPORT_READDIR_WITH_FILE_TYPES?i(e,t):s(e,t)},t.readdirWithFileTypes=i,t.readdir=s},38844:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(53403),o=r(96117);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=o.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,A.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new n.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},72156:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},65225:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(72156);t.fs=A},71208:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747);t.FILE_SYSTEM_ADAPTER={lstat:A.lstat,stat:A.stat,lstatSync:A.lstatSync,statSync:A.statSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},53403:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(17790),n=r(34846),o=r(92687);function i(e={}){return e instanceof o.default?e:new o.default(e)}t.Settings=o.default,t.stat=function(e,t,r){if("function"==typeof t)return A.read(e,i(),t);A.read(e,i(t),r)},t.statSync=function(e,t){const r=i(t);return n.read(e,r)}},17790:(e,t)=>{"use strict";function r(e,t){e(t)}function A(e,t){e(null,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t,n){t.fs.lstat(e,(o,i)=>null!==o?r(n,o):i.isSymbolicLink()&&t.followSymbolicLink?void t.fs.stat(e,(e,o)=>{if(null!==e)return t.throwErrorOnBrokenSymbolicLink?r(n,e):A(n,i);t.markSymbolicLink&&(o.isSymbolicLink=()=>!0),A(n,o)}):A(n,i))}},34846:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t){const r=t.fs.lstatSync(e);if(!r.isSymbolicLink()||!t.followSymbolicLink)return r;try{const r=t.fs.statSync(e);return t.markSymbolicLink&&(r.isSymbolicLink=()=>!0),r}catch(e){if(!t.throwErrorOnBrokenSymbolicLink)return r;throw e}}},92687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(71208);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=A.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return void 0===e?t:e}}},72897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(42369),n=r(27696),o=r(22111),i=r(14954);function s(e={}){return e instanceof i.default?e:new i.default(e)}t.Settings=i.default,t.walk=function(e,t,r){if("function"==typeof t)return new A.default(e,s()).read(t);new A.default(e,s(t)).read(r)},t.walkSync=function(e,t){const r=s(t);return new o.default(e,r).read()},t.walkStream=function(e,t){const r=s(t);return new n.default(e,r).read()}},42369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(98566);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new A.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{!function(e,t){e(t)}(e,t)}),this._reader.onEntry(e=>{this._storage.add(e)}),this._reader.onEnd(()=>{!function(e,t){e(null,t)}(e,[...this._storage])}),this._reader.read()}}},27696:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(98566);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new n.default(this._root,this._settings),this._stream=new A.Readable({objectMode:!0,read:()=>{},destroy:this._reader.destroy.bind(this._reader)})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}}},22111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(97835);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new A.default(this._root,this._settings)}read(){return this._reader.read()}}},98566:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(28614),n=r(85670),o=r(98360),i=r(10750),s=r(75504);class a extends s.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=n.scandir,this._emitter=new A.EventEmitter,this._queue=o(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){const r={directory:e,base:t};this._queue.push(r,e=>{null!==e&&this._handleError(e)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(r,A)=>{if(null!==r)return t(r,void 0);for(const t of A)this._handleEntry(t,e.base);t(null,void 0)})}_handleError(e){i.isFatalError(this._settings,e)&&(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;const r=e.path;void 0!==t&&(e.path=i.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),i.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&i.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(r,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}}t.default=a},10750:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFatalError=function(e,t){return null===e.errorFilter||!e.errorFilter(t)},t.isAppliedFilter=function(e,t){return null===e||e(t)},t.replacePathSegmentSeparator=function(e,t){return e.split(/[\\/]/).join(t)},t.joinPathSegments=function(e,t,r){return""===e?t:e+r+t}},75504:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(10750);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._root=A.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}}},97835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85670),n=r(10750),o=r(75504);class i extends o.default{constructor(){super(...arguments),this._scandir=A.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(const e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{const r=this._scandir(e,this._settings.fsScandirSettings);for(const e of r)this._handleEntry(e,t)}catch(e){this._handleError(e)}}_handleError(e){if(n.isFatalError(this._settings,e))throw e}_handleEntry(e,t){const r=e.path;void 0!==t&&(e.path=n.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),n.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&n.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(r,e.path)}_pushToStorage(e){this._storage.add(e)}}t.default=i},14954:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(85670);t.default=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,1/0),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,A.sep),this.fsScandirSettings=new n.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},7966:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];const A=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...r];const n=["null","undefined","string","number","bigint","boolean","symbol"];function o(e){return t=>typeof t===e}const{toString:i}=Object.prototype,s=e=>{const t=i.call(e).slice(8,-1);return/HTML\w+Element/.test(t)&&c.domElement(e)?"HTMLElement":(r=t,A.includes(r)?t:void 0);var r},a=e=>t=>s(t)===e;function c(e){if(null===e)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol"}if(c.observable(e))return"Observable";if(c.array(e))return"Array";if(c.buffer(e))return"Buffer";const t=s(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}c.undefined=o("undefined"),c.string=o("string");const g=o("number");c.number=e=>g(e)&&!c.nan(e),c.bigint=o("bigint"),c.function_=o("function"),c.null_=e=>null===e,c.class_=e=>c.function_(e)&&e.toString().startsWith("class "),c.boolean=e=>!0===e||!1===e,c.symbol=o("symbol"),c.numericString=e=>c.string(e)&&!c.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e)),c.array=(e,t)=>!!Array.isArray(e)&&(!c.function_(t)||e.every(t)),c.buffer=e=>{var t,r,A,n;return null!==(n=null===(A=null===(r=null===(t=e)||void 0===t?void 0:t.constructor)||void 0===r?void 0:r.isBuffer)||void 0===A?void 0:A.call(r,e))&&void 0!==n&&n},c.nullOrUndefined=e=>c.null_(e)||c.undefined(e),c.object=e=>!c.null_(e)&&("object"==typeof e||c.function_(e)),c.iterable=e=>{var t;return c.function_(null===(t=e)||void 0===t?void 0:t[Symbol.iterator])},c.asyncIterable=e=>{var t;return c.function_(null===(t=e)||void 0===t?void 0:t[Symbol.asyncIterator])},c.generator=e=>c.iterable(e)&&c.function_(e.next)&&c.function_(e.throw),c.asyncGenerator=e=>c.asyncIterable(e)&&c.function_(e.next)&&c.function_(e.throw),c.nativePromise=e=>a("Promise")(e);c.promise=e=>c.nativePromise(e)||(e=>{var t,r;return c.function_(null===(t=e)||void 0===t?void 0:t.then)&&c.function_(null===(r=e)||void 0===r?void 0:r.catch)})(e),c.generatorFunction=a("GeneratorFunction"),c.asyncGeneratorFunction=e=>"AsyncGeneratorFunction"===s(e),c.asyncFunction=e=>"AsyncFunction"===s(e),c.boundFunction=e=>c.function_(e)&&!e.hasOwnProperty("prototype"),c.regExp=a("RegExp"),c.date=a("Date"),c.error=a("Error"),c.map=e=>a("Map")(e),c.set=e=>a("Set")(e),c.weakMap=e=>a("WeakMap")(e),c.weakSet=e=>a("WeakSet")(e),c.int8Array=a("Int8Array"),c.uint8Array=a("Uint8Array"),c.uint8ClampedArray=a("Uint8ClampedArray"),c.int16Array=a("Int16Array"),c.uint16Array=a("Uint16Array"),c.int32Array=a("Int32Array"),c.uint32Array=a("Uint32Array"),c.float32Array=a("Float32Array"),c.float64Array=a("Float64Array"),c.bigInt64Array=a("BigInt64Array"),c.bigUint64Array=a("BigUint64Array"),c.arrayBuffer=a("ArrayBuffer"),c.sharedArrayBuffer=a("SharedArrayBuffer"),c.dataView=a("DataView"),c.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,c.urlInstance=e=>a("URL")(e),c.urlString=e=>{if(!c.string(e))return!1;try{return new URL(e),!0}catch(e){return!1}},c.truthy=e=>Boolean(e),c.falsy=e=>!e,c.nan=e=>Number.isNaN(e),c.primitive=e=>{return c.null_(e)||(t=typeof e,n.includes(t));var t},c.integer=e=>Number.isInteger(e),c.safeInteger=e=>Number.isSafeInteger(e),c.plainObject=e=>{if("[object Object]"!==i.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.getPrototypeOf({})},c.typedArray=e=>{return t=s(e),r.includes(t);var t};c.arrayLike=e=>!c.nullOrUndefined(e)&&!c.function_(e)&&(e=>c.safeInteger(e)&&e>=0)(e.length),c.inRange=(e,t)=>{if(c.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(c.array(t)&&2===t.length)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError("Invalid range: "+JSON.stringify(t))};const l=["innerHTML","ownerDocument","style","attributes","nodeValue"];c.domElement=e=>c.object(e)&&1===e.nodeType&&c.string(e.nodeName)&&!c.plainObject(e)&&l.every(t=>t in e),c.observable=e=>{var t,r,A,n;return!!e&&(e===(null===(r=(t=e)[Symbol.observable])||void 0===r?void 0:r.call(t))||e===(null===(n=(A=e)["@@observable"])||void 0===n?void 0:n.call(A)))},c.nodeStream=e=>c.object(e)&&c.function_(e.pipe)&&!c.observable(e),c.infinite=e=>e===1/0||e===-1/0;const u=e=>t=>c.integer(t)&&Math.abs(t%2)===e;c.evenInteger=u(0),c.oddInteger=u(1),c.emptyArray=e=>c.array(e)&&0===e.length,c.nonEmptyArray=e=>c.array(e)&&e.length>0,c.emptyString=e=>c.string(e)&&0===e.length,c.nonEmptyString=e=>c.string(e)&&e.length>0;c.emptyStringOrWhitespace=e=>c.emptyString(e)||(e=>c.string(e)&&!/\S/.test(e))(e),c.emptyObject=e=>c.object(e)&&!c.map(e)&&!c.set(e)&&0===Object.keys(e).length,c.nonEmptyObject=e=>c.object(e)&&!c.map(e)&&!c.set(e)&&Object.keys(e).length>0,c.emptySet=e=>c.set(e)&&0===e.size,c.nonEmptySet=e=>c.set(e)&&e.size>0,c.emptyMap=e=>c.map(e)&&0===e.size,c.nonEmptyMap=e=>c.map(e)&&e.size>0;const h=(e,t,r)=>{if(!c.function_(t))throw new TypeError("Invalid predicate: "+JSON.stringify(t));if(0===r.length)throw new TypeError("Invalid number of values");return e.call(r,t)};c.any=(e,...t)=>(c.array(e)?e:[e]).some(e=>h(Array.prototype.some,e,t)),c.all=(e,...t)=>h(Array.prototype.every,e,t);const p=(e,t,r)=>{if(!e)throw new TypeError(`Expected value which is \`${t}\`, received value of type \`${c(r)}\`.`)};t.assert={undefined:e=>p(c.undefined(e),"undefined",e),string:e=>p(c.string(e),"string",e),number:e=>p(c.number(e),"number",e),bigint:e=>p(c.bigint(e),"bigint",e),function_:e=>p(c.function_(e),"Function",e),null_:e=>p(c.null_(e),"null",e),class_:e=>p(c.class_(e),"Class",e),boolean:e=>p(c.boolean(e),"boolean",e),symbol:e=>p(c.symbol(e),"symbol",e),numericString:e=>p(c.numericString(e),"string with a number",e),array:(e,t)=>{p(c.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>p(c.buffer(e),"Buffer",e),nullOrUndefined:e=>p(c.nullOrUndefined(e),"null or undefined",e),object:e=>p(c.object(e),"Object",e),iterable:e=>p(c.iterable(e),"Iterable",e),asyncIterable:e=>p(c.asyncIterable(e),"AsyncIterable",e),generator:e=>p(c.generator(e),"Generator",e),asyncGenerator:e=>p(c.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>p(c.nativePromise(e),"native Promise",e),promise:e=>p(c.promise(e),"Promise",e),generatorFunction:e=>p(c.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>p(c.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>p(c.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>p(c.boundFunction(e),"Function",e),regExp:e=>p(c.regExp(e),"RegExp",e),date:e=>p(c.date(e),"Date",e),error:e=>p(c.error(e),"Error",e),map:e=>p(c.map(e),"Map",e),set:e=>p(c.set(e),"Set",e),weakMap:e=>p(c.weakMap(e),"WeakMap",e),weakSet:e=>p(c.weakSet(e),"WeakSet",e),int8Array:e=>p(c.int8Array(e),"Int8Array",e),uint8Array:e=>p(c.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>p(c.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>p(c.int16Array(e),"Int16Array",e),uint16Array:e=>p(c.uint16Array(e),"Uint16Array",e),int32Array:e=>p(c.int32Array(e),"Int32Array",e),uint32Array:e=>p(c.uint32Array(e),"Uint32Array",e),float32Array:e=>p(c.float32Array(e),"Float32Array",e),float64Array:e=>p(c.float64Array(e),"Float64Array",e),bigInt64Array:e=>p(c.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>p(c.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>p(c.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>p(c.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>p(c.dataView(e),"DataView",e),urlInstance:e=>p(c.urlInstance(e),"URL",e),urlString:e=>p(c.urlString(e),"string with a URL",e),truthy:e=>p(c.truthy(e),"truthy",e),falsy:e=>p(c.falsy(e),"falsy",e),nan:e=>p(c.nan(e),"NaN",e),primitive:e=>p(c.primitive(e),"primitive",e),integer:e=>p(c.integer(e),"integer",e),safeInteger:e=>p(c.safeInteger(e),"integer",e),plainObject:e=>p(c.plainObject(e),"plain object",e),typedArray:e=>p(c.typedArray(e),"TypedArray",e),arrayLike:e=>p(c.arrayLike(e),"array-like",e),domElement:e=>p(c.domElement(e),"HTMLElement",e),observable:e=>p(c.observable(e),"Observable",e),nodeStream:e=>p(c.nodeStream(e),"Node.js Stream",e),infinite:e=>p(c.infinite(e),"infinite number",e),emptyArray:e=>p(c.emptyArray(e),"empty array",e),nonEmptyArray:e=>p(c.nonEmptyArray(e),"non-empty array",e),emptyString:e=>p(c.emptyString(e),"empty string",e),nonEmptyString:e=>p(c.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>p(c.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>p(c.emptyObject(e),"empty object",e),nonEmptyObject:e=>p(c.nonEmptyObject(e),"non-empty object",e),emptySet:e=>p(c.emptySet(e),"empty set",e),nonEmptySet:e=>p(c.nonEmptySet(e),"non-empty set",e),emptyMap:e=>p(c.emptyMap(e),"empty map",e),nonEmptyMap:e=>p(c.nonEmptyMap(e),"non-empty map",e),evenInteger:e=>p(c.evenInteger(e),"even integer",e),oddInteger:e=>p(c.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>p(c.directInstanceOf(e,t),"T",e),inRange:(e,t)=>p(c.inRange(e,t),"in range",e),any:(e,...t)=>p(c.any(e,...t),"predicate returns truthy for any value",t),all:(e,...t)=>p(c.all(e,...t),"predicate returns truthy for all values",t)},Object.defineProperties(c,{class:{value:c.class_},function:{value:c.function_},null:{value:c.null_}}),Object.defineProperties(t.assert,{class:{value:t.assert.class_},function:{value:t.assert.function_},null:{value:t.assert.null_}}),t.default=c,e.exports=c,e.exports.default=c,e.exports.assert=t.assert},98298:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(93121),n=Number(process.versions.node.split(".")[0]),o=e=>{const t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;const r=e=>{const r=e.emit.bind(e);e.emit=(A,...n)=>("error"===A&&(t.error=Date.now(),t.phases.total=t.error-t.start,e.emit=r),r(A,...n))};r(e),e.prependOnceListener("abort",()=>{t.abort=Date.now(),(!t.response||n>=13)&&(t.phases.total=Date.now()-t.start)});const o=e=>{t.socket=Date.now(),t.phases.wait=t.socket-t.start;const r=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};e.prependOnceListener("lookup",r),A.default(e,{connect:()=>{t.connect=Date.now(),void 0===t.lookup&&(e.removeListener("lookup",r),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?o(e.socket):e.prependOnceListener("socket",o);const i=()=>{var e;t.upload=Date.now(),t.phases.request=t.upload-(null!=(e=t.secureConnect)?e:t.connect)};return("boolean"==typeof e.writableFinished?!e.writableFinished:!e.finished||0!==e.outputSize||e.socket&&0!==e.socket.writableLength)?e.prependOnceListener("finish",i):i(),e.prependOnceListener("response",e=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,e.timings=t,r(e),e.prependOnceListener("end",()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start})}),t};t.default=o,e.exports=o,e.exports.default=o},58069:(e,t,r)=>{"use strict";l.ifExists=function(e,t,r){return l(e,t,r).catch(()=>{})};const A=r(31669),n=r(46227),o=r(85622),i=r(97369),s=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,a={createPwshFile:!0,createCmdFile:i(),fs:r(35747)},c=new Map([[".js","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function g(e){const t={...a,...e},r=t.fs;return t.fs_={chmod:r.chmod?A.promisify(r.chmod):async()=>{},stat:A.promisify(r.stat),unlink:A.promisify(r.unlink),readFile:A.promisify(r.readFile),writeFile:A.promisify(r.writeFile)},t}async function l(e,t,r){const A=g(r);await A.fs_.stat(e),await async function(e,t,r){const A=await async function(e,t){const r=await t.fs_.readFile(e,"utf8"),A=r.trim().split(/\r*\n/)[0].match(s);if(!A){const t=o.extname(e).toLowerCase();return{program:c.get(t)||null,additionalArgs:""}}return{program:A[1],additionalArgs:A[2]}}(e,r);return await function(e,t){return n(o.dirname(e),{fs:t.fs})}(t,r),function(e,t,r,A){const n=g(A),o=[{generator:h,extension:""}];n.createCmdFile&&o.push({generator:u,extension:".cmd"});n.createPwshFile&&o.push({generator:p,extension:".ps1"});return Promise.all(o.map(A=>async function(e,t,r,A,n){const o=n.preserveSymlinks?"--preserve-symlinks":"",i=[r.additionalArgs,o].filter(e=>e).join(" ");return n=Object.assign({},n,{prog:r.program,args:i}),await function(e,t){return function(e,t){return t.fs_.unlink(e).catch(()=>{})}(e,t)}(t,n),await n.fs_.writeFile(t,A(e,t,n),"utf8"),function(e,t){return function(e,t){return t.fs_.chmod(e,493)}(e,t)}(t,n)}(e,t+A.extension,r,A.generator,n)))}(e,t,A,r)}(e,t,A)}function u(e,t,r){let A=o.relative(o.dirname(t),e).split("/").join("\\");const n=o.isAbsolute(A)?`"${A}"`:`"%~dp0\\${A}"`;let i,s=r.prog,a=r.args||"";const c=d(r.nodePath).win32;s?(i=`"%~dp0\\${s}.exe"`,A=n):(s=n,a="",A="");let g=r.progArgs?r.progArgs.join(" ")+" ":"",l=c?`@SET NODE_PATH=${c}\r\n`:"";return l+=i?`@IF EXIST ${i} (\r\n ${i} ${a} ${A} ${g}%*\r\n) ELSE (\r\n @SETLOCAL\r\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r\n ${s} ${a} ${A} ${g}%*\r\n)`:`@${s} ${a} ${A} ${g}%*\r\n`,l}function h(e,t,r){let A,n=o.relative(o.dirname(t),e),i=r.prog&&r.prog.split("\\").join("/");n=n.split("\\").join("/");const s=o.isAbsolute(n)?`"${n}"`:`"$basedir/${n}"`;let a=r.args||"";const c=d(r.nodePath).posix;i?(A=`"$basedir/${r.prog}"`,n=s):(i=s,a="",n="");let g=r.progArgs?r.progArgs.join(" ")+" ":"",l="#!/bin/sh\n";l+='basedir=$(dirname "$(echo "$0" | sed -e \'s,\\\\,/,g\')")\n\ncase `uname` in\n *CYGWIN*) basedir=`cygpath -w "$basedir"`;;\nesac\n\n';const u=r.nodePath?`export NODE_PATH="${c}"\n`:"";return l+=A?u+`if [ -x ${A} ]; then\n`+` exec ${A} ${a} ${n} ${g}"$@"\nelse \n`+` exec ${i} ${a} ${n} ${g}"$@"\nfi\n`:`${u}${i} ${a} ${n} ${g}"$@"\nexit $?\n`,l}function p(e,t,r){let A=o.relative(o.dirname(t),e);const n=r.prog&&r.prog.split("\\").join("/");let i,s=n&&`"${n}$exe"`;A=A.split("\\").join("/");const a=o.isAbsolute(A)?`"${A}"`:`"$basedir/${A}"`;let c=r.args||"",g=d(r.nodePath);const l=g.win32,u=g.posix;s?(i=`"$basedir/${r.prog}$exe"`,A=a):(s=a,c="",A="");let h=r.progArgs?r.progArgs.join(" ")+" ":"",p='#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=""\n'+(r.nodePath?`$env_node_path=$env:NODE_PATH\n$env:NODE_PATH="${l}"\n`:"")+'if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {\n # Fix case when both the Windows and Linux builds of Node\n # are installed in the same directory\n $exe=".exe"\n}';return r.nodePath&&(p=p+" else {\n"+` $env:NODE_PATH="${u}"\n}`),p+="\n",p=i?p+"$ret=0\n"+`if (Test-Path ${i}) {\n # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n`+` $input | & ${i} ${c} ${A} ${h}$args\n } else {\n`+` & ${i} ${c} ${A} ${h}$args\n }\n $ret=$LASTEXITCODE\n} else {\n # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n`+` $input | & ${s} ${c} ${A} ${h}$args\n } else {\n`+` & ${s} ${c} ${A} ${h}$args\n }\n $ret=$LASTEXITCODE\n}\n`+(r.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $ret\n":p+"# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n"+` $input | & ${s} ${c} ${A} ${h}$args\n} else {\n`+` & ${s} ${c} ${A} ${h}$args\n}\n`+(r.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $LASTEXITCODE\n",p}function d(e){if(!e)return{win32:"",posix:""};let t="string"==typeof e?e.split(o.delimiter):Array.from(e),r={};for(let e=0;e"/mnt/"+t.toLowerCase()):t[e];r.win32=r.win32?`${r.win32};${A}`:A,r.posix=r.posix?`${r.posix}:${n}`:n,r[e]={win32:A,posix:n}}return r}e.exports=l},97991:(e,t,r)=>{"use strict";const A=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,n=()=>{const e={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(e.enabled="0"!==process.env.FORCE_COLOR);const t=(e,t,r)=>"function"==typeof e?e(t):e.wrap(t,r),n=(r,A)=>{if(""===r||null==r)return"";if(!1===e.enabled)return r;if(!1===e.visible)return"";let n=""+r,o=n.includes("\n"),i=A.length;for(i>0&&A.includes("unstyle")&&(A=[...new Set(["unstyle",...A])].reverse());i-- >0;)n=t(e.styles[A[i]],n,o);return n},o=(t,r,A)=>{e.styles[t]=(e=>{let t=e.open=`[${e.codes[0]}m`,r=e.close=`[${e.codes[1]}m`,A=e.regex=new RegExp(`\\u001b\\[${e.codes[1]}m`,"g");return e.wrap=(e,n)=>{e.includes(r)&&(e=e.replace(A,r+t));let o=t+e+r;return n?o.replace(/\r*\n/g,`${r}$&${t}`):o},e})({name:t,codes:r}),(e.keys[A]||(e.keys[A]=[])).push(t),Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,set(r){e.alias(t,r)},get(){let r=e=>n(e,r.stack);return Reflect.setPrototypeOf(r,e),r.stack=this.stack?this.stack.concat(t):[t],r}})};return o("reset",[0,0],"modifier"),o("bold",[1,22],"modifier"),o("dim",[2,22],"modifier"),o("italic",[3,23],"modifier"),o("underline",[4,24],"modifier"),o("inverse",[7,27],"modifier"),o("hidden",[8,28],"modifier"),o("strikethrough",[9,29],"modifier"),o("black",[30,39],"color"),o("red",[31,39],"color"),o("green",[32,39],"color"),o("yellow",[33,39],"color"),o("blue",[34,39],"color"),o("magenta",[35,39],"color"),o("cyan",[36,39],"color"),o("white",[37,39],"color"),o("gray",[90,39],"color"),o("grey",[90,39],"color"),o("bgBlack",[40,49],"bg"),o("bgRed",[41,49],"bg"),o("bgGreen",[42,49],"bg"),o("bgYellow",[43,49],"bg"),o("bgBlue",[44,49],"bg"),o("bgMagenta",[45,49],"bg"),o("bgCyan",[46,49],"bg"),o("bgWhite",[47,49],"bg"),o("blackBright",[90,39],"bright"),o("redBright",[91,39],"bright"),o("greenBright",[92,39],"bright"),o("yellowBright",[93,39],"bright"),o("blueBright",[94,39],"bright"),o("magentaBright",[95,39],"bright"),o("cyanBright",[96,39],"bright"),o("whiteBright",[97,39],"bright"),o("bgBlackBright",[100,49],"bgBright"),o("bgRedBright",[101,49],"bgBright"),o("bgGreenBright",[102,49],"bgBright"),o("bgYellowBright",[103,49],"bgBright"),o("bgBlueBright",[104,49],"bgBright"),o("bgMagentaBright",[105,49],"bgBright"),o("bgCyanBright",[106,49],"bgBright"),o("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=A,e.hasColor=e.hasAnsi=t=>(e.ansiRegex.lastIndex=0,"string"==typeof t&&""!==t&&e.ansiRegex.test(t)),e.alias=(t,r)=>{let A="string"==typeof r?e[r]:r;if("function"!=typeof A)throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:t}),e.styles[t]=A,A.stack=[t]),Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,set(r){e.alias(t,r)},get(){let t=e=>n(e,t.stack);return Reflect.setPrototypeOf(t,e),t.stack=this.stack?this.stack.concat(A.stack):A.stack,t}})},e.theme=t=>{if(null===(r=t)||"object"!=typeof r||Array.isArray(r))throw new TypeError("Expected theme to be an object");var r;for(let r of Object.keys(t))e.alias(r,t[r]);return e},e.alias("unstyle",t=>"string"==typeof t&&""!==t?(e.ansiRegex.lastIndex=0,t.replace(e.ansiRegex,"")):""),e.alias("noop",e=>e),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=r(31283),e.define=o,e};e.exports=n(),e.exports.create=n},31283:e=>{"use strict";const t="Hyper"===process.env.TERM_PROGRAM,r="win32"===process.platform,A="linux"===process.platform,n={ballotDisabled:"☒",ballotOff:"☐",ballotOn:"☑",bullet:"•",bulletWhite:"◦",fullBlock:"█",heart:"❤",identicalTo:"≡",line:"─",mark:"※",middot:"·",minus:"-",multiplication:"×",obelus:"÷",pencilDownRight:"✎",pencilRight:"✏",pencilUpRight:"✐",percent:"%",pilcrow2:"❡",pilcrow:"¶",plusMinus:"±",section:"§",starsOff:"☆",starsOn:"★",upDownArrow:"↕"},o=Object.assign({},n,{check:"√",cross:"×",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"»",radioOff:"( )",radioOn:"(*)",warning:"‼"}),i=Object.assign({},n,{ballotCross:"✘",check:"✔",cross:"✖",ellipsisLarge:"⋯",ellipsis:"…",info:"ℹ",question:"?",questionFull:"?",questionSmall:"﹖",pointer:A?"▸":"❯",pointerSmall:A?"‣":"›",radioOff:"◯",radioOn:"◉",warning:"⚠"});e.exports=r&&!t?o:i,Reflect.defineProperty(e.exports,"common",{enumerable:!1,value:n}),Reflect.defineProperty(e.exports,"windows",{enumerable:!1,value:o}),Reflect.defineProperty(e.exports,"other",{enumerable:!1,value:i})},18483:(e,t,r)=>{"use strict";e=r.nmd(e);const A=(e,t)=>(...r)=>`[${e(...r)+t}m`,n=(e,t)=>(...r)=>{const A=e(...r);return`[${38+t};5;${A}m`},o=(e,t)=>(...r)=>{const A=e(...r);return`[${38+t};2;${A[0]};${A[1]};${A[2]}m`},i=e=>e,s=(e,t,r)=>[e,t,r],a=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{const A=r();return Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0}),A},enumerable:!0,configurable:!0})};let c;const g=(e,t,A,n)=>{void 0===c&&(c=r(2744));const o=n?10:0,i={};for(const[r,n]of Object.entries(c)){const s="ansi16"===r?"ansi":r;r===t?i[s]=e(A,o):"object"==typeof n&&(i[s]=e(n[t],o))}return i};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(const[r,A]of Object.entries(t)){for(const[r,n]of Object.entries(A))t[r]={open:`[${n[0]}m`,close:`[${n[1]}m`},A[r]=t[r],e.set(n[0],n[1]);Object.defineProperty(t,r,{value:A,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="",t.bgColor.close="",a(t.color,"ansi",()=>g(A,"ansi16",i,!1)),a(t.color,"ansi256",()=>g(n,"ansi256",i,!1)),a(t.color,"ansi16m",()=>g(o,"rgb",s,!1)),a(t.bgColor,"ansi",()=>g(A,"ansi16",i,!0)),a(t.bgColor,"ansi256",()=>g(n,"ansi256",i,!0)),a(t.bgColor,"ansi16m",()=>g(o,"rgb",s,!0)),t}})},39920:e=>{"use strict";e.exports=(...e)=>[...new Set([].concat(...e))]},67648:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBinjumper=void 0;const A=r(78761);let n=null;t.getBinjumper=function(){return n||(n=A.gunzipSync(Buffer.from("H4sIAAAAAAAACu18DXgU1dXwzOwkLMmaWTUgYtQlXRRKCASwJRh0Q7IBJdHwE0BJCCHZhejmx91ZCELM4uxqpuPWaG1rW3wV0YqVT7GlCf4U80cSLNKIgAhUUWmdZdFGsCEhkP3OuXM32fBT+/Tp+3zv99bNc/f+nb977rnnnntnsjn31jE6hmF4SKEQw+xgtI+F+faPB1LcjW/GMduHvzdmB5v93piFq0pdpkpnxUpnUZmpuKi8vEI0rbCZnO5yU2m5KfPuBaayihJb8hVXxJgpjVwrw2Szw5lP214sDNM9xgi6WJYzMdOgsgQSxzCdV0FuRAQqnVFrR7lZKj/5dGqVxVNYMi6GMWmw+GXUQIyRg6hjmFHDIG8EVPafGPQFH34b4F+iffkTwOcf0EsWbVUi5OapVKBpkYOgNJjc5cklRWIRlOOxAccOY2amD4WzMJMbk50aYOYwgsgwekgzLoKzJNtWFdphdipjoaESkgHSrEvArXC5sFyFX55Lj8GDfEs1vkSHdZTvXZeQL2P+QiwTXT1Hx7HoEnCig/A14dc2CrfkUuN1OYsZOmeNFO7ei+EuLfl3n/BHOpmgZJpNCqMwM38CmhSvW5M983ooCN490L26JsoVCt2esk/q4dfc3J5pJibazptxmtWlyUCghxW8B6HmaxR8/ZCn7JM7pdaEZp7xizcxM58CWu61F2KO0TDd72IHG9Ghh443Q/AJvoHodTOjEP+VCHw0XPXTiZTzs4Sz+CPaEeokyIG18KXh/wzH4lsJ9QgamKvPaDTEdSC5NwsBtI4wjVvgq+5C+VZNJGWkoz4nUFkDMciuPmKAYRpf92t82QjZxyLfd0OBA0P7iEzDad8b/VT+BdLJUZu2FFlwkAkArSdMAItjBgQJdUonDVg2Whj1NaRwkldbohlmE59rYWTerHbHAe0rwR9uMnuQlPtO9W6AU0boEcCo/hW8gHS8S70NyKszsYeRgdcmBqChwG/iPRqhAPTJLWoMZglm9bcIen3XExrUZqSmZBgRsDGJMsMOJWMytm0d2paLbU9DW6AC1bf9Js0e0/yZ5iQyVxqkcZMJCqggyKRjLHQlISR0GQB0HAqqPgFNUmtaSx3YM4CiSkMjjoJc6lv9A7RRoVo/N9j/q6H9obGGJy1MuGE11M8BVN3AJ0/+yyKYEyOqezmgr0oi6obZcdMmUM9UrXGziILDSK7GZlCX1q6X27BxPG28ARo3M6A56PF1i1din14bcUelhQkdhMKxq4FVEWrJ1rN0WUHLoHztUYiKn534FfxDuEvLUF60IAQCGYeHiXZuEokhiLE4CX+cQOTd3ULGt3iR/w/HQSsLNpxMAkXK6808Gh7aadjyHyQIBrnFb4kOmzASevP7GjyU5Tb2tPr97xM7QZBM1NZoqPtt38hdS5cVFrQQXgvmK9Z4Jc8gW7sUq/FHBV0K4z3i5tt4LlFx6y0/ivP0xohjPL2J4lTvbn8V677NU93FUACrUZ6+hNACnDhsasvkWBN8cYlSoy54HTQPh+Z8bIYWLjgcWnS1Bk7uyQpurqPjhQnN7o5CM+Pccera86jnbwjZOvUlHIKtEUfUos4fD/JnMlc2qXzTMV792ziGGd+q2af1OGpG2HmrXzQbxzKZgOXukDqMsrXVn8HKfbJ1vy+kOdV26x5iwF0p+9qtnRGzBfPp6btdeHwx2Kenb4zw+DJQrH+a0bdP8O7jSL/UyLZZQvmpXe6/Kzmdvt2CrxkQN3WCkUrTWcH3GNYYMGGF6earLIIXnDqT6u4QHt4HBSVvD9DytQ8VIvAIFpqJv0nN63AOU6x7wDTMfuuhNo6ss7DjUaytZO1aO3C2u0Zjy9HNuDAV67HNuGAVW2NYd4QeTj3ap5xmVt8ep+0SZWDIUmi44C0ZXPe1N/izWNhmrPtZpXq/sLMmJPeBvnwnwRBx+AUAyjbb68Lj73T/PZCL6CBj9FAZ3a2yCDJWd0h7WWR7x2ici1a5B9VNBh18mnK11/nnfuzpvV549GfAR6jfHTL7N4Kh+p0gYI3wVJP8J03LP20a3otiLMAJWTiZHcCPkEc+6N0teKeCUG1cjd/JBsZBUTMro+C9BRjI77/fK3ivBxpsU9jfUfwO99+l6s5Ecbj0Gexq70NPG3uzP50lMuPyCnw6QOAAQwjUX4x/s7gG8N1Oyd2ZKHcM4r7YH96fPH33Cj9+GS187oueXrPw6DPnwwOPh12G0JgrNbMBJ6I4qfwmbSLeQGJoQL0oS3MgfnD+2tjEIdJOpRtYG5MPIgbMUAWhbo4UyohE2gK3nCe0dmKtKfDDEMm6oEb87caNS+TmWzAezH1m45JnUjpfxrLgDQCFBSmNwvO4eR+Byg6kKTyf0tjdxoo6qYPt3mUSo67A0LW7zYMt3JlmjFmxyGORYcUyqUMPHmDDSQwfYQMUXuXNykZzB3Ru2E6yjxuvZoRXDWZZa0WAR8NFg3mqVty9oQ/h3DcQshxyMJIij0VTdxORyLJ5HKgSD1ge4fmZmK0ei1J7UGrfvrVRO/AkQ/AsIDmKNDwKUZaebhnYfzYZcI9Fzz0WHLC9Djw5tvhzecXCyyMMxM+7A1KrQVt/LRfsBxhPKNcbM2Cq+0LieN8R8UoCF4p/hjQGWfc34OW3XQveuqsHJq111NIW8DspjZr9yC0wnUq8D4F9+9xdF244m5K0fWVYC42HorAB5yboRfm1eNMs9ejEeAAzkmnDcNFAtt864l4WmsdhUCovNOvRz8zh6PRSOMqQ0EffHS/NXIW+GwmLMe1RpILgPZx4DUZ486XWeEJg6bIwnx3xz1mYifgltzX1c77Gh46kHIFxKvwz2AiicRBWtbCpH9ecHIqtcQde4wZ2PvA8RF6QdSOLYl4MH9Z/SuPgXOKHyA8KnwMyq/ebMZyyYJwDIcURcaK9TtEh1X3fIxu03KbqzehD3QaIFPRKBi9PM4c6laV63xH3gTCVP2jAIMXSZS2bMrWALzwfOP8ot0ELH1FMlf8ezisM2YKjoGRkHapTzuDVA9C9CYWSw6KFQTL0ai50pjQSdmAoUkco2D1kfkj8ijIo+WYTyCEAXErj0rBZ1oWFrgwz0YKpcSm7gwacKLnJt08cLXcqxtTDSq7e/TffbnGCPI/YxXM8GQPB70iMlGNwP5VHINFgZ5jfgP2xYjwaYSEwmxA2rhZ7HdWXWNMelUkNd6AX5QnrczYp4BGmmYqgIZDw6JVEMgPBlwbpbVSvApc2SCq8f6h94P7CtASfE08+r2JcR8fVM4aQCuCeOWAvmzDixv3uGhykaDb7l1gGjDHfjGeBreDM1T4TMVQT7Id6CMNwbak10KaOHhOen7zF8oeL5L0LYF2TyDseySZoRs1jeDqbCGBAN/sCtXupB/wTHAjdiWCFRnDC9YZhtQYdOIbULucpCMO17b+erhOT32E2IlkSBzjMBrLGgRWJIUxI3qhkm8cRYvuEev6aWv5q2IJSTwGxXov4qtTLiy8DgpEia4stgsgrGpEwZ1CBHtWRoNl4K6qile5Hm5Zf6J+Wh6c5cyV4BPySeoY9dIxEhSZlhNYQKzz+JMC8hTXcAGcABiw/jGYmkaKeTF8VG9ar1GLY0IfQrmxFp8zlhfoFev8OvJPwv47fige/pbMQGcgIftbkLhnfo4t+g9eQYXgJ/oXmBLlLvQdE12g5t0utJhhihH2jMFvQ786Bfrk9dmY25ILvL6j6EblQfgu/AnPC52HprF6cC44V13DSCmJFCcRmN2NMsJoRGp5AweywH0VveBfvBMeffQOdKdtJxMkkIrUBcOBaNEmhPs67G0B3A2RofC/CsB1vUK+IoL9C0K8G4g+iQW00gpQ8GD8oC3hFRwev1z1MFPVb8j3INff8gCI6qSLqCL2AiMFDJhlUD872wXM0fKDr3QTDNHhuxC3hvJgt9ZwTJ4ENLJB6QuIcqadfnPCRSWiwIB9DN9lyjWKU8OpCswFcCq5WPGcZYWvtx0P9CBVWX/DDsP1gOzYf+TyI/gOrwV8P+HfpZJIfLVezVnIM/sVoclgKjSiBMF1qTRqyIeQRu0sTdo6TceCwLOSgdH6iFuPIzdL5AsHbSdfhWLwHlXEtqPIB+bDcEoytkw9OEM0JsJRK/NWs/LHUR+GlPqDRgOHbEcH7Djb0TxK89aSQL3j/DwY0O2+Uz8unUF3g4OrleDOIYFYXgX3IbQpOAe7FUIP92Ty+zdft3ih/BG59nHxC+tzkn8V6egvEUk9vjXiNd7e4TKi/k4VDhdY8H5rdAWwC/r4b8Szj5ORmuSu4X9OjUD+H9eeytzrMCYL3JRalCQSuGbQPYWcB6+krEK8Rdp4GziacmEg/I59/cyIGlbdRQ/dXc+AtzKCX9eYk+Ywimk1BI+4HwQn55gRpF8gh3px6vroGiAXlJDO0qI7rcB8Mj3QZ1Ma3wMb6EY4XHZQCpIT6+Zz0qck/m/WcBdWuAXaeszXijV44HKwKYSi9mJXbw91LtG73p9iMh7U/4Kot5OR2+VBwD9nf+uUTSFdBYddDOiMfBMGxbgoK9jr5NJH3K5R3Qmq/8OMgzuGX7i9g54dWdcfoSJl/M5rKfABkTqIymy+QuaU/Qubt/RfK/EL/BTLLkTLL7QFmcFYgPoH5H5h9wbsSkXuRNhyFlhDag1YgeOdo3UgbLcF9ZdgKBvZnuTn4O6KX5sBvYLnXyf04gsBd56n/Av7TIvnnybsWL5IPwpqBqZkh7DTCSbvT05cseKegLy5g8dTWiwbyJ+kLE2g4Xj6Tdrvg/Qaa0pYK3o2Yf19c2t1kcg+XztYI3lnE+KK9jaIbb5+6d1kEH95v4nrIBjUvNI9SZ10L9V1kSwKtT4Ma6DoBdD5q/C7fl9qt5ISFZmNwCoSQQr0OOHSn7AOSifLeDXvxiYX8tXxWPqTOhLHgvYzUznpqQoxbhSXemiR3DhyghZ0jcQQ4GE81O0askQ+BFEZ1fx94vF24K+tQ3noUwCjs7IQRS204aF88scYaVu6B5jOHgy8R/Xlug8PTYbLgdPKfg+/JB8bvCtwxqFHP2WRx6ZkmFBGsFU9tJ5IDpYP9/gIO+YPo80ECZCo3C/VWDqK0JPnPgQfD+4ywM4+o/rfo+Qu4wG/o/gvyBR6AclqB2wB4On+BjsD772fTCsQRaTXi9aCmKUJ9BisHSaM7iJWAKUT2J9BxPNbh7DHcv4CTg/KB4F45GHznzQJc/u8A6Tdvx9LvsbQUS6/0R9jLYv8cdhFEO8JOjAKKmk5EpYTkg1I3K/2VDX4PzvM93xfvl3puF+1Sz1L5j8JTEN00yu3CTp3UxALGJKmnxh0tn/Lucyf5QmKnFGIfglioQPyB/EepZ4x4ELJ2FmABA7zo+2S3hgF61rGMfy4njgKkF4OHB+RZSkJCAEppDH4A4wNjblsgf4Ah0SyDbhbv5316Go0ps0jUO3oEufG+CYIKZYEBYnD/WpZ9nz0rr4PTQG07X0fCj1aIy5A3FOhZRJMD1wrGevHkDBmlngS1QvQCZR484RgS04jD5FPqB3gQh/jv1l48BOJRQlt/p9R7MEY9SEeA4iI1i8G/hPXzzxBfDFJWjYQ8C+mOac8i1+6+Iw/FgX6DbDv/NNbd36APR8I78EFd8DShH76Pc8jWVjmvU87p8PyVF3wzMciqbpVtb+ONzh9BBbBZSI1GehFnH4EXcbDRGsiZUbuBVI+P0GTZMpwJ38/JVphMv/WQmonDs+7HAG4DsIdZuUoBdj3qkfO4IgVfbxReJTXKn4OjVe8dgTctYW498chNPuVfD/x6YVvBe+UmVj5Vmx4C471OqOf8Tjatxn1CqJ+FtiA1c6TL/ReU/st4FGc/iZGO4grGB5X+vEMqhhcgk5KzH93uCdgklYJWNPY02KqnAlAa7NQTdHjp1uiZngz7KJQ9VbhSR0Cp29ppFHyvRTNMm/XZ/HYrefYVuEunnYNsO+Q2VMbj8ZFDmRiPnuAG0B2Opfpt/12wy9aIiZ6+dWJm7Y2wJ3ghXvgFh1DLWHkvKI9AuD/GetuwGu8Rt8GfxYHNQ2dTcE9tIfgfDkhK7VzwdXsdQTslgyJz9oNStMjwULt1D97hp60TJ1A7qvmBFzRxA3SnJYEj7mUF75WE6ywOFA3aXOc+ihWi5+BXA+snrVrwjcIzd4B175Oq96yDOQMFUpddvV+p7lSs+99EtiC24H2aoc8B2li5ydNXLZZ7+pIE3+9JDA4R/FZEO/UWS8HqYOeC7ZPF/TIh8Ddm4CAv1OdyUiMH7YLvEKNNg/tEGxueWcW2A/gOXIUOxOvSCRgZ3r+2sdX+dBbVg3L5HMRbL+PamBr/HK52CehdvB8adFKbLrAwIk7O2d82bJ28FxQeuBsdWzrgr3Pr29h1cGQKvlZ7LczIy8Fp4f00DWg3kH14Focafo1c68EEzdLJpwKbB+LyNgsXFj1gGWRX5zm7TlznOVsteJ+HKkYMo0Lkvu7zfuKP5S449uG5od6Iht7I1s4LgW/sUqx6+az0JxZMTsnpUKxvq4kQk+Ox+xee20DhT1KTCizT6ICyFNvbl9BXC4QPgdUDcuI4wHrWkWkKfA6LFTQd+LQv3A/+RfCWaiJaAAuWCom5ryT+Q8lr9ScMg60v9RPXNWR+0yaJCWn5YgziQfNh91fQEgMt0biIglcT/riDTxK/gdau2rxnlepjoCk8EynDcPn+ABdqTqdcsEPu2/ApPiyXc1qD2Zo8sCjhnKxUd4CHSVTfvZI+WuPJvU7oQ/CPBu2enJqNTmohvqv1NMiuQ/JfoHVX72fFo+QZWgw6MbyefxGG1m7dTlxro3iFdlH0uhG7tyvW7e3WbUQfjZxsfW5Qn4p1D8LZDBjUI/nJmmcF8aKlh/RG98f+hwwwGsW6Qz6r/lc3OkP3u0LDXdGK9TnZttWfyQrUd3wtoIfcDr4DDkpy3ha509ct+G5HcWGR5r0AcYLmir9AjouN+PjhBYiiVIMx0gX9hpDZQt239QWIAEdGzH8zOJbaWdSvRoP30fxqFjhV9DSky/0XBfCAyZNASz6nDWw6Tkv1fthkQhxs45LKjmkHhwATYhG8n6Gu8/QYJ+EzFsW2NfCZ5n0Ds86Rpwq4G1DbbfTs9ajFvVr3srNoVESJ+A6FYt2GzDLR1PL0UFN/2QMH3mlIDDYOVtCcvGgm3MTrIVNH9SCJYxBQw25w5Gs04bcDe/toYzAASoXZzHkaI068ucGbmLwX1BECmn/mtFhQo5LzNG4KrzPapvAyQ6YCAqpna/kp/swpbKAKJarehs+cQthrBQPdop0YW4I3Dt4/PR4HnYKyGPb9Gk5+F2S8Rv5Qma0H6ZExBOlH1akAEzysFGyRrVvgiI13h+rPES9vCw6eXN1X6tst2uN1hpjkvofGyLP5wPOaYuD0nngG9PITsiS3s52BQ3jtPyzwMBGzVdt7C7vppizqYecL3IIqTzPLn6uHr4i0mKoryP7b6xfBYE4FjXIv2AIxBMH7KPF1LMREYCd/FerTYf/lgp+Epf70ClwfZMr0RJRtFwoe6ALBYDViTBI4fn4w8NWycHySpLjjlQK9Uk1uYs+0ozsQZ2y4bckKCyNeAcP9HMbSHo1V0KSSYyTh/g1n8OkG3kvfiI9BOyKek2WhfIPPb6UvjLDgrUdl23GMwj4yRCpgjQE9zlGyZHgZjKY5eHUYD9ZL38B60fnX0fWSQdZLy+B6OSbnEIdSiLRsx4EcKsWOnvOUnHNcdf0d1JNzPHLvQUHJ4I14nKZjjYMIM+JKSnmIV5YZfKGHrmM/QXglS6/wT6MXBV5/+yoUSv3EHYRGvLbQMAMffRW+rIl4HpsU8bYG6lY9E0svqWOQ0sukhjCOFZYBmA9wQebofbvBfqx6z3TGXRX5ykS5BopVsnb9lSw+KdzkoC83NEKcuJlURO0CERGwIyOW3KvyYT73x2qvP9wIkiu3IMbgQ22qB9l2dPChqZ5yJRewi2LJw9bBp8gvxxBzhsAVIEkclqZd1SbF4ts0sGfK1kN2OX620DBs9e1yk122fiY0zObk6uN2qRe8gB6EghL4gX4WSz0z3BC5gWEcBzAewYNCeD/HGkGs/oxxX6XYjgYOR7wAgfsDIOV9BqHctVq832aXzuaL3xMaFmG8Ywf/MA1aJsHaajCSgvb8CPpog/gNwfgKMAF4GFDC+7PUnOPCw4/jBt5g/QxEnCReCd/5YiwwfCMZXZEMwz+ess8u53JhzZFXD+iEvTOcxPx4dalNWN5xnBqDHt3QcW3a2iKj/x8PHzpp9cO1SbvvJDrco4E7YNz2OrlDCnAonJSD5+gGlsgWILJ9ntJol9NhXMPkXtJ8FTYLvvcG3UGd0DAPYlKODPw0GfiX8rvjz0pneeHHL+IQeu24rjAWlwuOy+8GzTSOabgXDgkcIej9OQmK5VMEFO+ZkaKc3o9M3QeEhtF2qS9fNMiHIJ/k/ojcCzRALNzMEbFOE2m/DDaCnu2pYBy+63FsUg0PJwN87BCphtf0mhqKg6AGt568oWRPnc0JvnkYgjawgbmR9yvgXx8m67jguGI9lNJtl1PwBh6VjCEe6PkmnAG3XuqBneYxINbGRzMBCd2w7238bnDDfPdDUGXHm0bflnBb6gPA85ekNo9H/WnoqEPB+7D2NHhdf4RroM/L5A82nFxIHsOT2xc0CHX0cPpiDd7oiimN/rkGu5wRDbulOa02wwDO8GY4Xw8j99sZ0RClYq99Js8KDXC+z+TTpPeZWhYc4zG80zEvkXqMa0bA0XpDK3LClR1e1+0ZenyFMbKDzKdaoSdvRqnDIBsl9elEs3oUyhumxwIgVP4EFWk6J25Vdw3DvWYkevtn1R2kgjMTfFJ9hVTwVc+gL3y+vuR4E/V0vPje0aWGOw6Gq9fs5L9pvDU4np6rxD3q36PDQ7gYndxna+8RKV6zhSUvgHhfw9us6YzgfYQlz68Swu8XkVAHwqZfAknPenMCxPhijhIjNfP+DaH+/v4z74/pGOuBj3jiZQ8E2oJ3GmK1MC3SYd34U0J9dvx1fn6kp3eSaPH05ou3vpGvuRZ/5kg2OBH92z8i9iGjEZM7pUM6fJeJkU/bZaMCpwDe/zDB2TemMxLHHd2kGmFblZuYJumIbvxpv5TAarcOq6PwjpBE8Ogv5rJ+Dzmo9vLO+cpCw6imIF6pLtSfkz86/aJ8Qk3EgMiH7wyTpbQZkHZgrd1K4pJ2Xzx9nRhcOL+hlbyapQ4EELDnvSXUj6w1djdx4utCw8K4fjsQ7w++qM0XitnMBW4I38/RelP4PUN1Eoib8mV4HiOpa/Mt0H5it55B/5BkTvlSHfkFxHZ4/a2q+EyWvFQcwMtvfN8AH9cZwVCnKXXxZLb8d7JyLRYhSBypeHCQ8mH1qvPkfHht45nOMS1Sq14+tLQF4tOfA8GUI+3McOSrau8v4KPkIxBSS0aq68So8Ft4Avq2R/8aCuHl0qilLepiIhBi7yCvlQaGxnMR9EYM0tvHU3rua9SRAwSGPFqWRmli348XsRKdNvFouxSeJgJdJ5000OHHKJ548nKAoUVt1g0V6sSAPsnzXQivzESo7qq7cTyL8Za4W/yh9BbyCbmvCyaF1xeV+bD6QR+5Sb5aIQLAkpdJIbVr/VF6fafN42xd2PtozUPdK33+hFOWgKYrYfxySyU+M+0W1/oX6VOb1zj9ueeU9RC+fXZOuUr+QH5f+lwnfXpOLuRlIXXvmgX+yp7Ur9dkw/GP725mYf2myuf9a4ad+TPYCj7WkKv10mecGOtfwDad4JT4J9j3SXOeAdymW+dfE6skmdmvx7w3/kCq6sbHZjyYA7FFO74vAKen0E44CzHvYJAQ3DpEfvrYNt88GZQ4DWZ1BkRURnz4DTuWiuaf2iLeBIO5IRX8jnOy+kNuUB8m7c6U7Hf5gCWSR+ChEavIgzrywJEcyNZrj8aNGhJ5DjlUfwnIXIlGU3oHXd8ivdyuZPH+e4dJx3RSD47y3lgY2HT2ELkMiCbPA5GNMjK1Gfwig4sNpvMeJRtGMhEnYPz7vi/dSzZjUSnndcsMbMvwXWyHnKyU68/8eUxwwjKD/GcYXMKEhebJ7Ie3rjdPX5MCourDT/IxbFGipSAvfX5O1kmtCRHuoy511+qXg8/b62Bipwd3R8SDDvNkAF26TFbxdci6ebkz8d8V/Nlmg3PEhgCWpeHMRMxJx5rg+CZoWHIPwIbGtpJ3Z0NjG2m+/Ektz6f5EpovpHkuzbNpPofmmTS30DyN5tNpPo3mk2meRPNxNDfT3ETzBJqPonk8zY0019Ocp3kPlf8bmp+k+XGaH6P5IZrvp/kemu+g+Xaab6P5VppvofkLNH+O5htp/jTNn6J5Hc0fo3ktzb0099B8Pc2raC7SvJLmDpqvonlJeJ5IDpPMS8e7Qg+c005l8zacxFcNFFZZC4cLr2o8POQFdhJe4hM+teEDrePO5eT8JFs9ah25B/CAR70Cr4BSoRq4miPnMjy+0MMcCfoB4afrcS/J7tceQaRpeeRRjgAC2fFINscTlsKfTs6ZU7VWua2N1zPkGiqfvB868J7y2fOEor+gVg3hFSLhh3LlHMNLAS/EIPjGAH2fRj9nkGWtmvUBfY/nVqu3elwkWBhKiX8UZENyoz9Ach5L8APFWhsWwIIS1JFbhscI0RbobON1jN/6GImtNeaMRpVXD+wjd0k7ybtaWz9Bio/d6vZWTwAcExyJAG0APpOMlVf4hiw57zFk9HPADr6n5NWmNovXox4IjPYCSDa+k/3rczAVtai8vC0QSrpfeAP9mvyhP++pdusLmVA+/Yr8IXk1AwoLzXgnZQq/NgL5KJrH09xIcwPN9eGBhE9yP8WN/uQ4MIUENfU8+beLmuXaPwWo156jyg1mK9anUGO4P+I4GqAnN9dv1d4QtD6FbTqcO+tT8+djJYtUnp6H5RlQXoSmU/0xNtb5bV33oK/zF50Dv2SP+AtM6BxyxEB2TIb2Hhcp/wd8zuM4YcimDMt/zJi/+2gfR+mKlcXFha7CkjVTJqYklzgcTGGh07ay1CXanOQ/BW2FpeX2CmgtsV2qHT7JpOBkcoucrtLylSZ7UanDVpJkslVV2opFW4lpLFRWVoiQxySZEMpWMsN081jXzUyG01Yk2nKdFcU2l4simsaNLRmfHMMwr15jYZ4fMTQtj2gbec3Q/N+RkNb1oyyMMOrfR/NfkeHCvHG0hckB5a7Bf6YVS8tsRFlup21GDGMyLSp1iu4ixzy3zbk2rEV7hRMUblqxVrS5TEWiqaikxIlKHov/9Qk4eeX3l1esKTdVumzukgqT0+aoKC4SSyvK8R94xYriCodptQ0mFBrGluB0/EOcFaWiyVX6oC0Mu9JRsQLsafLEMhR66hTN2pLJ9+yMjBmmcTCa2YuTK5wrTRnOCpdrIrSaZrlLHSUTp0yeMnnyLVNTJqaMN6UmT0me/G/CiYAeAPp/Jct3ON/hfIfzvwPn/+dPPM3ZB+cz7Ho9e52B52tZ7f/0McI/9mwo9CsMyDPiTNyimDh+diwzjtF+gqBkE5wcEDk9Ti9xALAiLh6+s+MSEPi+mLiEWEK/BNK450MhfC8P6FjWxfHkJw/WQ8qF9hFauwnb8O21/Ava8P8OVkFbNJUV2/DfqEoi2i43jnF0HHMAdhOV1cfNuiLK+ohO4rl1MS3pbem7AHhurAYHaQ/AJkfC3ocAl+eRRHm0Ap4jEm/Wo7pH+BwpiluEXNrTNTIEPhvhNodCGyLhMxEewNNjBuHTY8lvcaCuKveGQgfxsJwJR87ZxijOzWQJOndltHEY515vjObcVUYd5xZ1f+CaACKdEslArpeTPY3K3gOy/0oXIUuWJsv8CFFmxep+yEbUs2IvrxMzpWv5dSg0DO2nAG2Em2OIMvh0HKLrucKWOP5y+PEU3/hSKJSCAHfFGfPBbvB3IfCnMqZD+/xI26uIidOnA8HMWGIf+JMRIsAkfIt9JFA+qwA2g9pcHpj5nNjlcThXeP5FHT390qD9PMKlxxkkHUCWxMQZslqAcRtiVETU7owtHKxQm/Ui/pZQSPctMk2nMh0Hnssv4gnL6444Uy5ZZPeR74w4Q3qYUxIdux74kB/SmEf144pLuCvOdHdcghUQqK7AtpAXHv6XAHxtpD5zASYDYO6IBYZz4kxVQzDn4i8ZoO9rhbQVcN+mursXdJcRuxS+rbGlRDpsuTO2hJS/fR5ML4dCd140Zs2H4DzkQv/JgTUD/Y9Cv/ERPiMuXoqyxuUuicvMiMsti4mLBzGNoBJDejuIvAsdV0mcBfq4WSTLuAQI6APXP/qbQ8DnBNrtfXH6R5HPI7r0OKMEfCZzP4kBtBZAawO0dlQG13dB06zYfzC/Yd9a8kootIbqDdY8sd1vWw/bAMes4UxGC/22dY3wN+uG6Csd9ZWO+gI16G5iL6krxMdnZ8+9CvhcGD9jAD9Dw7dw7wJ6xgXo1ljCH9+tr9sWCj1D5+tRLnNAj9z9MRHqssbeg9UsWoV5wHV3FFIX4OcP4JN5yEB8sEXOAkrPiKCSHgtdWRENjOb/8b8c9a+HQncM2FUG2pWVOI2BpZMVi7C56M8Bdu5QWJihByNg04l+1gNsLsA+qWcu8pu63VyEp5wbq0tkh9Rxnb4N+NveCIX+zlyMz2UNdbS4B5zEx6ZvhkKLh+qD2qXp7gtsEBzS0IZv27+8QPsq/hKybI+QZc7lbdRC6eTvHIwL6BqeE3eMy407BMo8xnGLQZMZA14zJ6I2Oxb3RfLzRe+EQjv+RRpLBysM/ugQvghZ9Q7+gMBl1kFWXCOnW8Be0pK5BZdonh2L+5Ae6JmaQqG7I/ymcTX1mxlanIQPUrMBZlakb11EnOG8QS+szcESgK0E2MKLYedT2DmxNq2APgR1/hzA36z5AyMQJMRwf3wB+rZD3wMX+VJufoQhz469a7Dybb7kOND7HXMZHWbEJXBPXsKVZFzeXhZSutnN1A9eZNOTqy5Y4tbYhRdYeXrsgqENl/e7uWH7BH4fX34ck7kXLzHlWbChDwwugzZqfC7Hz0j5bWwPhaKY/5mf3LrB8pyfab9bti2ibTn+fhK0vR3RZvg5xMhPXJpe5ZMM8xCkOkhbIDVC2gvpMKSTkM5BivkJ6AXSFEizIC2B5ID0EKRfQvotpGZIxyB9hb9f8hTo8imN/k2QT6blNMizIeVDckB6ENJjkH4G6TlIWyHtwN+fgrQH0kFIxyCdgNQNqR+S/qcMcxWkBEhmSEmQpkFKg5QFKRdSPiQ7pEpID0LyQqqD9EtIL0B6FdIOSM2Q9kI6DOmzn36nj0vpYwGT4ahw2eYUlZc4bBBpDbkATsef78u0OWyiLcNZKpYWFzkW2IrxfpH5krGWizbnhc3MKNZaVSpSfGYim1VaXkI4MCmknFXqdIlZpQ4b0J5FWu6yVdGGIjbLabNll65wFjnXMj52tk3MqCgrA9GyS8uh/2NsQfIZFSVhERkmhK3ZRS7R6nRWOGEmOKjnVJS4HTYke1dRGfK6arBVGyvyxzakk65dxTLMJ9wd5TCgIkfpgxeNeJIu21a0+qJmZoouu6KohEoNVB38ApuYV76KcCmxVhXbKhEQZAF9MX5+ocMFbBcVOdw25vc8vSkGKUQgyDANfOTdMcO8wy8uKhWzKpwLSstXOmx3r7gPweYxhS7RWeKuhPnDUmlxhcPB3MMUFq60iWVFpeVFzpUupgrqZSsKi93OwrKiKjzvFBZWFhbayleXOlHyR7S6HX8DEqwFai6bWFhUWVkorq2Elg+ZwmIbqBtntdDmdJZXMMztbKG9EpRlg9Z7oOx2OCqLxFXMRrawtGIFw2yC3FWs4b/MFZbhHTRYOldYUU5I/Z4rrNS6T3LITuP9A75oRYVTZG7jwfgIRysPOnZUFDPMfN5eTAyIKeDtFZW2csbG28FKS0DTdpfNdj9TzttFG4z/Ad6+BmYHIP+LL6PYL/JlK1xixZpimN3f8GW2suJK0OpWLJVVrLYxr/OVNs1ufsdXOkvLRTvDtPEgGN6kw4ro4F2lK8uLHAxzgAdFEz0fJCWkcxRLDhCJ6eHFCkfFGpjhEL/aHqY0LgoYixUgAqxQlNqGMwrCa8KhD/9vSnOt8++yZk+dQp4gwSe+TktlrtXFTlFrHVf3PztFyvqf9MFnS5Wj/5lffP3u87/xw26zMAmQ0jwWhn/uOzv4z/2w5G5q1EW/+MuSX8iZfIn24bx2Z76kkWEeYAd70m6vKht4gDwzMSV5cqLJVl5cUQJhxczEvIVZE6cnmlwiBC1FDtiqZyautbkSb78tJq3I5bKVrXCsNQF+uWtmottZPsNVvMpWVuSaWFZa7KxwVdjFicUVZTOKXGXJq1MSTRCwldptLnFRJLPbYkymNNHpdol3lNsr/kliUwkaILpsEMSUimu1KjQ4bQ+4gYWtJNdZuhqivJU2V7gvstdaBYgYfWXbVtscJgd+z0wsct1Rvrrifpsz0eQuTS/GMHJmor3I4bIlThrgMOmyLNImRYqTNmlgVKCtSWF13fYvzvj/BUaIzSoAXAAA","base64"))),n}},50730:(e,t,r)=>{"use strict";t.O9=void 0;const A=r(85622),n=r(35747),o=r(31669),i=r(67648);Object.defineProperty(t,"O9",{enumerable:!0,get:function(){return i.getBinjumper}})},73975:(e,t,r)=>{"use strict";var A=r(86897).Duplex;function n(e){if(!(this instanceof n))return new n(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var t=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",(function(e){e.on("error",t)})),this.on("unpipe",(function(e){e.removeListener("error",t)}))}else this.append(e);A.call(this)}r(31669).inherits(n,A),n.prototype._offset=function(e){var t,r=0,A=0;if(0===e)return[0,0];for(;Athis.length||e<0)){var t=this._offset(e);return this._bufs[t[0]][t[1]]}},n.prototype.slice=function(e,t){return"number"==typeof e&&e<0&&(e+=this.length),"number"==typeof t&&t<0&&(t+=this.length),this.copy(null,0,e,t)},n.prototype.copy=function(e,t,r,A){if(("number"!=typeof r||r<0)&&(r=0),("number"!=typeof A||A>this.length)&&(A=this.length),r>=this.length)return e||Buffer.alloc(0);if(A<=0)return e||Buffer.alloc(0);var n,o,i=!!e,s=this._offset(r),a=A-r,c=a,g=i&&t||0,l=s[1];if(0===r&&A==this.length){if(!i)return 1===this._bufs.length?this._bufs[0]:Buffer.concat(this._bufs,this.length);for(o=0;o(n=this._bufs[o].length-l))){this._bufs[o].copy(e,g,l,l+c);break}this._bufs[o].copy(e,g,l),g+=n,c-=n,l&&(l=0)}return e},n.prototype.shallowSlice=function(e,t){if(e=e||0,t="number"!=typeof t?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return new n;var r=this._offset(e),A=this._offset(t),o=this._bufs.slice(r[0],A[0]+1);return 0==A[1]?o.pop():o[o.length-1]=o[o.length-1].slice(0,A[1]),0!=r[1]&&(o[0]=o[0].slice(r[1])),new n(o)},n.prototype.toString=function(e,t,r){return this.slice(t,r).toString(e)},n.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},n.prototype.duplicate=function(){for(var e=0,t=new n;ethis.length?this.length:t;for(var A=this._offset(t),o=A[0],i=A[1];o=e.length){var a=s.indexOf(e,i);if(-1!==a)return this._reverseOffset([o,a]);i=s.length-e.length+1}else{var c=this._reverseOffset([o,i]);if(this._match(c,e))return c;i++}}i=0}return-1},n.prototype._match=function(e,t){if(this.length-e{"use strict";const A=r(54900),n=r(44617),o=r(1495),i=r(425),s=(e,t={})=>{let r=[];if(Array.isArray(e))for(let A of e){let e=s.create(A,t);Array.isArray(e)?r.push(...e):r.push(e)}else r=[].concat(s.create(e,t));return t&&!0===t.expand&&!0===t.nodupes&&(r=[...new Set(r)]),r};s.parse=(e,t={})=>i(e,t),s.stringify=(e,t={})=>A("string"==typeof e?s.parse(e,t):e,t),s.compile=(e,t={})=>("string"==typeof e&&(e=s.parse(e,t)),n(e,t)),s.expand=(e,t={})=>{"string"==typeof e&&(e=s.parse(e,t));let r=o(e,t);return!0===t.noempty&&(r=r.filter(Boolean)),!0===t.nodupes&&(r=[...new Set(r)]),r},s.create=(e,t={})=>""===e||e.length<3?[e]:!0!==t.expand?s.compile(e,t):s.expand(e,t),e.exports=s},44617:(e,t,r)=>{"use strict";const A=r(52169),n=r(4542);e.exports=(e,t={})=>{let r=(e,o={})=>{let i=n.isInvalidBrace(o),s=!0===e.invalid&&!0===t.escapeInvalid,a=!0===i||!0===s,c=!0===t.escapeInvalid?"\\":"",g="";if(!0===e.isOpen)return c+e.value;if(!0===e.isClose)return c+e.value;if("open"===e.type)return a?c+e.value:"(";if("close"===e.type)return a?c+e.value:")";if("comma"===e.type)return"comma"===e.prev.type?"":a?e.value:"|";if(e.value)return e.value;if(e.nodes&&e.ranges>0){let r=n.reduce(e.nodes),o=A(...r,{...t,wrap:!1,toRegex:!0});if(0!==o.length)return r.length>1&&o.length>1?`(${o})`:o}if(e.nodes)for(let t of e.nodes)g+=r(t,e);return g};return r(e)}},5384:e=>{"use strict";e.exports={MAX_LENGTH:65536,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:"\n",CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"}},1495:(e,t,r)=>{"use strict";const A=r(52169),n=r(54900),o=r(4542),i=(e="",t="",r=!1)=>{let A=[];if(e=[].concat(e),!(t=[].concat(t)).length)return e;if(!e.length)return r?o.flatten(t).map(e=>`{${e}}`):t;for(let n of e)if(Array.isArray(n))for(let e of n)A.push(i(e,t,r));else for(let e of t)!0===r&&"string"==typeof e&&(e=`{${e}}`),A.push(Array.isArray(e)?i(n,e,r):n+e);return o.flatten(A)};e.exports=(e,t={})=>{let r=void 0===t.rangeLimit?1e3:t.rangeLimit,s=(e,a={})=>{e.queue=[];let c=a,g=a.queue;for(;"brace"!==c.type&&"root"!==c.type&&c.parent;)c=c.parent,g=c.queue;if(e.invalid||e.dollar)return void g.push(i(g.pop(),n(e,t)));if("brace"===e.type&&!0!==e.invalid&&2===e.nodes.length)return void g.push(i(g.pop(),["{}"]));if(e.nodes&&e.ranges>0){let s=o.reduce(e.nodes);if(o.exceedsLimit(...s,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let a=A(...s,t);return 0===a.length&&(a=n(e,t)),g.push(i(g.pop(),a)),void(e.nodes=[])}let l=o.encloseBrace(e),u=e.queue,h=e;for(;"brace"!==h.type&&"root"!==h.type&&h.parent;)h=h.parent,u=h.queue;for(let t=0;t{"use strict";const A=r(54900),{MAX_LENGTH:n,CHAR_BACKSLASH:o,CHAR_BACKTICK:i,CHAR_COMMA:s,CHAR_DOT:a,CHAR_LEFT_PARENTHESES:c,CHAR_RIGHT_PARENTHESES:g,CHAR_LEFT_CURLY_BRACE:l,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_RIGHT_SQUARE_BRACKET:p,CHAR_DOUBLE_QUOTE:d,CHAR_SINGLE_QUOTE:C,CHAR_NO_BREAK_SPACE:f,CHAR_ZERO_WIDTH_NOBREAK_SPACE:I}=r(5384);e.exports=(e,t={})=>{if("string"!=typeof e)throw new TypeError("Expected a string");let r=t||{},E="number"==typeof r.maxLength?Math.min(n,r.maxLength):n;if(e.length>E)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${E})`);let B,y={type:"root",input:e,nodes:[]},m=[y],w=y,Q=y,D=0,b=e.length,v=0,S=0;const k=()=>e[v++],K=e=>{if("text"===e.type&&"dot"===Q.type&&(Q.type="text"),!Q||"text"!==Q.type||"text"!==e.type)return w.nodes.push(e),e.parent=w,e.prev=Q,Q=e,e;Q.value+=e.value};for(K({type:"bos"});v0){if(w.ranges>0){w.ranges=0;let e=w.nodes.shift();w.nodes=[e,{type:"text",value:A(w)}]}K({type:"comma",value:B}),w.commas++}else if(B===a&&S>0&&0===w.commas){let e=w.nodes;if(0===S||0===e.length){K({type:"text",value:B});continue}if("dot"===Q.type){if(w.range=[],Q.value+=B,Q.type="range",3!==w.nodes.length&&5!==w.nodes.length){w.invalid=!0,w.ranges=0,Q.type="text";continue}w.ranges++,w.args=[];continue}if("range"===Q.type){e.pop();let t=e[e.length-1];t.value+=Q.value+B,Q=t,w.ranges--;continue}K({type:"dot",value:B})}else K({type:"text",value:B});else{if("brace"!==w.type){K({type:"text",value:B});continue}let e="close";w=m.pop(),w.close=!0,K({type:e,value:B}),S--,w=m[m.length-1]}else{S++;let e=Q.value&&"$"===Q.value.slice(-1)||!0===w.dollar;w=K({type:"brace",open:!0,close:!1,dollar:e,depth:S,commas:0,ranges:0,nodes:[]}),m.push(w),K({type:"open",value:B})}else{let e,r=B;for(!0!==t.keepQuotes&&(B="");v{e.nodes||("open"===e.type&&(e.isOpen=!0),"close"===e.type&&(e.isClose=!0),e.nodes||(e.type="text"),e.invalid=!0)});let e=m[m.length-1],t=e.nodes.indexOf(w);e.nodes.splice(t,1,...w.nodes)}}while(m.length>0);return K({type:"eos"}),y}},54900:(e,t,r)=>{"use strict";const A=r(4542);e.exports=(e,t={})=>{let r=(e,n={})=>{let o=t.escapeInvalid&&A.isInvalidBrace(n),i=!0===e.invalid&&!0===t.escapeInvalid,s="";if(e.value)return(o||i)&&A.isOpenOrClose(e)?"\\"+e.value:e.value;if(e.value)return e.value;if(e.nodes)for(let t of e.nodes)s+=r(t);return s};return r(e)}},4542:(e,t)=>{"use strict";t.isInteger=e=>"number"==typeof e?Number.isInteger(e):"string"==typeof e&&""!==e.trim()&&Number.isInteger(Number(e)),t.find=(e,t)=>e.nodes.find(e=>e.type===t),t.exceedsLimit=(e,r,A=1,n)=>!1!==n&&(!(!t.isInteger(e)||!t.isInteger(r))&&(Number(r)-Number(e))/Number(A)>=n),t.escapeNode=(e,t=0,r)=>{let A=e.nodes[t];A&&(r&&A.type===r||"open"===A.type||"close"===A.type)&&!0!==A.escaped&&(A.value="\\"+A.value,A.escaped=!0)},t.encloseBrace=e=>"brace"===e.type&&(e.commas>>0+e.ranges>>0==0&&(e.invalid=!0,!0)),t.isInvalidBrace=e=>"brace"===e.type&&(!(!0!==e.invalid&&!e.dollar)||(e.commas>>0+e.ranges>>0==0||!0!==e.open||!0!==e.close)&&(e.invalid=!0,!0)),t.isOpenOrClose=e=>"open"===e.type||"close"===e.type||(!0===e.open||!0===e.close),t.reduce=e=>e.reduce((e,t)=>("text"===t.type&&e.push(t.value),"range"===t.type&&(t.type="text"),e),[]),t.flatten=(...e)=>{const t=[],r=e=>{for(let A=0;A{"use strict";const{V4MAPPED:A,ADDRCONFIG:n,ALL:o,promises:{Resolver:i},lookup:s}=r(40881),{promisify:a}=r(31669),c=r(12087),g=Symbol("cacheableLookupCreateConnection"),l=Symbol("cacheableLookupInstance"),u=Symbol("expires"),h="number"==typeof o,p=e=>{if(!e||"function"!=typeof e.createConnection)throw new Error("Expected an Agent instance as the first argument")},d=()=>{let e=!1,t=!1;for(const r of Object.values(c.networkInterfaces()))for(const A of r)if(!A.internal&&("IPv6"===A.family?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},C={ttl:!0},f={all:!0};class I{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:r=3600,errorTtl:A=.15,resolver:n=new i,lookup:o=s}={}){if(this.maxTtl=t,this.errorTtl=A,this._cache=e,this._resolver=n,this._dnsLookup=a(o),this._resolver instanceof i?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=a(this._resolver.resolve4.bind(this._resolver)),this._resolve6=a(this._resolver.resolve6.bind(this._resolver))),this._iface=d(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,r<1)this._fallback=!1;else{this._fallback=!0;const e=setInterval(()=>{this._hostnamesToFallback.clear()},1e3*r);e.unref&&e.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,r){if("function"==typeof t?(r=t,t={}):"number"==typeof t&&(t={family:t}),!r)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(e=>{t.all?r(null,e):r(null,e.address,e.family,e.expires,e.ttl)},r)}async lookupAsync(e,t={}){"number"==typeof t&&(t={family:t});let r=await this.query(e);if(6===t.family){const e=r.filter(e=>6===e.family);t.hints&A&&(h&&t.hints&o||0===e.length)?(e=>{for(const t of e)6!==t.family&&(t.address="::ffff:"+t.address,t.family=6)})(r):r=e}else 4===t.family&&(r=r.filter(e=>4===e.family));if(t.hints&n){const{_iface:e}=this;r=r.filter(t=>6===t.family?e.has6:e.has4)}if(0===r.length){const t=new Error("cacheableLookup ENOTFOUND "+e);throw t.code="ENOTFOUND",t.hostname=e,t}return t.all?r:r[0]}async query(e){let t=await this._cache.get(e);if(!t){const r=this._pending[e];if(r)t=await r;else{const r=this.queryAndCache(e);this._pending[e]=r,t=await r}}return t=t.map(e=>({...e})),t}async _resolve(e){const[t,r]=await Promise.all([this._resolve4(e,C),this._resolve6(e,C)].map(e=>(async e=>{try{return await e}catch(e){if("ENODATA"===e.code||"ENOTFOUND"===e.code)return[];throw e}})(e)));let A=0,n=0,o=0;const i=Date.now();for(const e of t)e.family=4,e.expires=i+1e3*e.ttl,A=Math.max(A,e.ttl);for(const e of r)e.family=6,e.expires=i+1e3*e.ttl,n=Math.max(n,e.ttl);return o=t.length>0?r.length>0?Math.min(A,n):A:n,{entries:[...t,...r],cacheTtl:o}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(e){return{entries:[],cacheTtl:0}}}async _set(e,t,r){if(this.maxTtl>0&&r>0){r=1e3*Math.min(r,this.maxTtl),t[u]=Date.now()+r;try{await this._cache.set(e,t,r)}catch(e){this.lookupAsync=async()=>{const t=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw t.cause=e,t}}A=this._cache,Symbol.iterator in A&&this._tick(r)}var A}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,f);try{let t=await this._resolve(e);0===t.entries.length&&this._fallback&&(t=await this._lookup(e),0!==t.entries.length&&this._hostnamesToFallback.add(e));const r=0===t.entries.length?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,r),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){const t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let e=1/0;const t=Date.now();for(const[r,A]of this._cache){const n=A[u];t>=n?this._cache.delete(r):n("lookup"in t||(t.lookup=this.lookup),e[g](t,r))}uninstall(e){if(p(e),e[g]){if(e[l]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[g],delete e[g],delete e[l]}}updateInterfaceInfo(){const{_iface:e}=this;this._iface=d(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){e?this._cache.delete(e):this._cache.clear()}}e.exports=I,e.exports.default=I},11200:(e,t,r)=>{"use strict";const A=r(28614),n=r(78835),o=r(19793),i=r(58764),s=r(86834),a=r(48491),c=r(55737),g=r(15751),l=r(72515);class u{constructor(e,t){if("function"!=typeof e)throw new TypeError("Parameter `request` must be a function");return this.cache=new l({uri:"string"==typeof t&&t,store:"string"!=typeof t&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,r)=>{let l;if("string"==typeof t)l=p(n.parse(t)),t={};else if(t instanceof n.URL)l=p(n.parse(t.toString())),t={};else{const[e,...r]=(t.path||"").split("?"),A=r.length>0?"?"+r.join("?"):"";l=p({...t,pathname:e,search:A})}(t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...h(l)}).headers=c(t.headers);const d=new A,C=o(n.format(l),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),f=`${t.method}:${C}`;let I=!1,E=!1;const B=t=>{E=!0;let A,n=!1;const o=new Promise(e=>{A=()=>{n||(n=!0,e())}}),c=e=>{if(I&&!t.forceRefresh){e.status=e.statusCode;const r=s.fromObject(I.cachePolicy).revalidatedPolicy(t,e);if(!r.modified){const t=r.policy.responseHeaders();(e=new a(I.statusCode,t,I.body,I.url)).cachePolicy=r.policy,e.fromCache=!0}}let A;e.fromCache||(e.cachePolicy=new s(t,e,t),e.fromCache=!1),t.cache&&e.cachePolicy.storable()?(A=g(e),(async()=>{try{const r=i.buffer(e);if(await Promise.race([o,new Promise(t=>e.once("end",t))]),n)return;const A=await r,s={cachePolicy:e.cachePolicy.toObject(),url:e.url,statusCode:e.fromCache?I.statusCode:e.statusCode,body:A};let a=t.strictTtl?e.cachePolicy.timeToLive():void 0;t.maxTtl&&(a=a?Math.min(a,t.maxTtl):t.maxTtl),await this.cache.set(f,s,a)}catch(e){d.emit("error",new u.CacheError(e))}})()):t.cache&&I&&(async()=>{try{await this.cache.delete(f)}catch(e){d.emit("error",new u.CacheError(e))}})(),d.emit("response",A||e),"function"==typeof r&&r(A||e)};try{const r=e(t,c);r.once("error",A),r.once("abort",A),d.emit("request",r)}catch(e){d.emit("error",new u.RequestError(e))}};return(async()=>{const e=async e=>{await Promise.resolve();const t=e.cache?await this.cache.get(f):void 0;if(void 0===t)return B(e);const A=s.fromObject(t.cachePolicy);if(A.satisfiesWithoutRevalidation(e)&&!e.forceRefresh){const e=A.responseHeaders(),n=new a(t.statusCode,e,t.body,t.url);n.cachePolicy=A,n.fromCache=!0,d.emit("response",n),"function"==typeof r&&r(n)}else I=t,e.headers=A.revalidationHeaders(e),B(e)},A=e=>d.emit("error",new u.CacheError(e));this.cache.once("error",A),d.on("response",()=>this.cache.removeListener("error",A));try{await e(t)}catch(e){t.automaticFailover&&!E&&B(t),d.emit("error",new u.CacheError(e))}})(),d}}}function h(e){const t={...e};return t.path=`${e.pathname||"/"}${e.search||""}`,delete t.pathname,delete t.search,t}function p(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||"localhost",port:e.port,pathname:e.pathname,search:e.search}}u.RequestError=class extends Error{constructor(e){super(e.message),this.name="RequestError",Object.assign(this,e)}},u.CacheError=class extends Error{constructor(e){super(e.message),this.name="CacheError",Object.assign(this,e)}},e.exports=u},54738:e=>{"use strict";const t=(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);if(0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length)return"";if(1===e.length)return t.pascalCase?e.toUpperCase():e.toLowerCase();return e!==e.toLowerCase()&&(e=(e=>{let t=!1,r=!1,A=!1;for(let n=0;nt.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),r=e,t.pascalCase?r.charAt(0).toUpperCase()+r.slice(1):r;var r};e.exports=t,e.exports.default=t},95882:(e,t,r)=>{"use strict";const A=r(18483),{stdout:n,stderr:o}=r(59428),{stringReplaceAll:i,stringEncaseCRLFWithFirstIndex:s}=r(73327),a=["ansi","ansi","ansi256","ansi16m"],c=Object.create(null);class g{constructor(e){return l(e)}}const l=e=>{const t={};return((e,t={})=>{if(t.level>3||t.level<0)throw new Error("The `level` option should be an integer from 0 to 3");const r=n?n.level:0;e.level=void 0===t.level?r:t.level})(t,e),t.template=(...e)=>E(t.template,...e),Object.setPrototypeOf(t,u.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=g,t.template};function u(e){return l(e)}for(const[e,t]of Object.entries(A))c[e]={get(){const r=C(this,d(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};c.visible={get(){const e=C(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const h=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of h)c[e]={get(){const{level:t}=this;return function(...r){const n=d(A.color[a[t]][e](...r),A.color.close,this._styler);return C(this,n,this._isEmpty)}}};for(const e of h){c["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...r){const n=d(A.bgColor[a[t]][e](...r),A.bgColor.close,this._styler);return C(this,n,this._isEmpty)}}}}const p=Object.defineProperties(()=>{},{...c,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),d=(e,t,r)=>{let A,n;return void 0===r?(A=e,n=t):(A=r.openAll+e,n=t+r.closeAll),{open:e,close:t,openAll:A,closeAll:n,parent:r}},C=(e,t,r)=>{const A=(...e)=>f(A,1===e.length?""+e[0]:e.join(" "));return A.__proto__=p,A._generator=e,A._styler=t,A._isEmpty=r,A},f=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(void 0===r)return t;const{openAll:A,closeAll:n}=r;if(-1!==t.indexOf(""))for(;void 0!==r;)t=i(t,r.close,r.open),r=r.parent;const o=t.indexOf("\n");return-1!==o&&(t=s(t,n,A,o)),A+t+n};let I;const E=(e,...t)=>{const[A]=t;if(!Array.isArray(A))return t.join(" ");const n=t.slice(1),o=[A.raw[0]];for(let e=1;e{"use strict";const t=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,A=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,n=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function i(e){const t="u"===e[0],r="{"===e[1];return t&&!r&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function s(e,t){const r=[],o=t.trim().split(/\s*,\s*/g);let s;for(const t of o){const o=Number(t);if(Number.isNaN(o)){if(!(s=t.match(A)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);r.push(s[2].replace(n,(e,t,r)=>t?i(t):r))}else r.push(o)}return r}function a(e){r.lastIndex=0;const t=[];let A;for(;null!==(A=r.exec(e));){const e=A[1];if(A[2]){const r=s(e,A[2]);t.push([e].concat(r))}else t.push([e])}return t}function c(e,t){const r={};for(const e of t)for(const t of e.styles)r[t[0]]=e.inverse?null:t.slice(1);let A=e;for(const[e,t]of Object.entries(r))if(Array.isArray(t)){if(!(e in A))throw new Error("Unknown Chalk style: "+e);A=t.length>0?A[e](...t):A[e]}return A}e.exports=(e,r)=>{const A=[],n=[];let o=[];if(r.replace(t,(t,r,s,g,l,u)=>{if(r)o.push(i(r));else if(g){const t=o.join("");o=[],n.push(0===A.length?t:c(e,A)(t)),A.push({inverse:s,styles:a(g)})}else if(l){if(0===A.length)throw new Error("Found extraneous } in Chalk template literal");n.push(c(e,A)(o.join(""))),o=[],A.pop()}else o.push(u)}),n.push(o.join("")),A.length>0){const e=`Chalk template literal is missing ${A.length} closing bracket${1===A.length?"":"s"} (\`}\`)`;throw new Error(e)}return n.join("")}},73327:e=>{"use strict";e.exports={stringReplaceAll:(e,t,r)=>{let A=e.indexOf(t);if(-1===A)return e;const n=t.length;let o=0,i="";do{i+=e.substr(o,A-o)+t+r,o=A+n,A=e.indexOf(t,o)}while(-1!==A);return i+=e.substr(o),i},stringEncaseCRLFWithFirstIndex:(e,t,r,A)=>{let n=0,o="";do{const i="\r"===e[A-1];o+=e.substr(n,(i?A-1:A)-n)+t+(i?"\r\n":"\n")+r,n=A+1,A=e.indexOf("\n",n)}while(-1!==A);return o+=e.substr(n),o}}},5864:(e,t,r)=>{"use strict";var A=r(85832),n=process.env;function o(e){return"string"==typeof e?!!n[e]:Object.keys(e).every((function(t){return n[t]===e[t]}))}Object.defineProperty(t,"_vendors",{value:A.map((function(e){return e.constant}))}),t.name=null,t.isPR=null,A.forEach((function(e){var r=(Array.isArray(e.env)?e.env:[e.env]).every((function(e){return o(e)}));if(t[e.constant]=r,r)switch(t.name=e.name,typeof e.pr){case"string":t.isPR=!!n[e.pr];break;case"object":"env"in e.pr?t.isPR=e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?t.isPR=e.pr.any.some((function(e){return!!n[e]})):t.isPR=o(e.pr);break;default:t.isPR=null}})),t.isCI=!!(n.CI||n.CONTINUOUS_INTEGRATION||n.BUILD_NUMBER||n.RUN_ID||t.name)},85832:e=>{"use strict";e.exports=JSON.parse('[{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI","pr":"SYSTEM_PULLREQUEST_PULLREQUESTID"},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY_BUILD_BASE","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}}]')},40822:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Cli:()=>Y,Command:()=>M,UsageError:()=>a});const A=/^(-h|--help)(?:=([0-9]+))?$/,n=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,o=/^-[a-zA-Z]{2,}$/,i=/^([^=]+)=([\s\S]*)$/,s="1"===process.env.DEBUG_CLI;class a extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}}class c extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",0===this.candidates.length)this.message="Command not found, but we're not sure what's the alternative.";else if(1===this.candidates.length&&null!==this.candidates[0].reason){const[{usage:e,reason:t}]=this.candidates;this.message=`${t}\n\n$ ${e}`}else if(1===this.candidates.length){const[{usage:t}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${t}\n${l(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:e},t)=>`${(t+".").padStart(4)} ${e}`).join("\n")}\n\n${l(e)}`}}class g extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find who to pick amongst the following alternatives:\n\n${this.usages.map((e,t)=>`${(t+".").padStart(4)} ${e}`).join("\n")}\n\n${l(e)}`}}const l=e=>"While running "+e.filter(e=>"\0"!==e).map(e=>{const t=JSON.stringify(e);return e.match(/\s/)||0===e.length||t!==`"${e}"`?t:e}).join(" ");function u(e){s&&console.log(e)}const h={candidateUsage:null,errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function p(e,t){return e.nodes.push(t),e.nodes.length-1}function d(e,t,r=!1){u("Running a vm on "+JSON.stringify(t));let A=[{node:0,state:{candidateUsage:null,errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];!function(e,{prefix:t=""}={}){u(t+"Nodes are:");for(let r=0;r2!==e).map(({state:e})=>({usage:e.candidateUsage,reason:null})));if(s.every(({node:e})=>2===e))throw new c(t,s.map(({state:e})=>({usage:e.candidateUsage,reason:e.errorMessage})));A=I(s)}if(A.length>0){u(" Results:");for(const e of A)u(` - ${e.node} -> ${JSON.stringify(e.state)}`)}else u(" No results");return A}function C(e,t){if(null!==t.selectedIndex)return!0;if(Object.prototype.hasOwnProperty.call(e.statics,"\0"))for(const{to:t}of e.statics["\0"])if(1===t)return!0;return!1}function f(e,t){return function(e,t){const r=t.filter(e=>null!==e.selectedIndex);if(0===r.length)throw new Error;let A=0;for(const e of r)e.path.length>A&&(A=e.path.length);const n=r.filter(e=>e.path.length===A),o=e=>e.positionals.filter(({extra:e})=>!e).length+e.options.length,i=n.map(e=>({state:e,positionalCount:o(e)}));let s=0;for(const{positionalCount:e}of i)e>s&&(s=e);const a=function(e){const t=[],r=[];for(const A of e)-1===A.selectedIndex?r.push(A):t.push(A);r.length>0&&t.push(Object.assign(Object.assign({},h),{path:E(...r.map(e=>e.path)),options:r.reduce((e,t)=>e.concat(t.options),[])}));return t}(i.filter(({positionalCount:e})=>e===s).map(({state:e})=>e));if(a.length>1)throw new g(e,a.map(e=>e.candidateUsage));return a[0]}(t,d(e,[...t,"\0"]).map(({state:e})=>e))}function I(e){let t=0;for(const{state:r}of e)r.path.length>t&&(t=r.path.length);return e.filter(({state:e})=>e.path.length===t)}function E(e,t,...r){return void 0===t?Array.from(e):E(e.filter((e,r)=>e===t[r]),...r)}function B(e){return 1===e||2===e}function y(e,t=0){return{to:B(e.to)?e.to:e.to>2?e.to+t-2:e.to+t,reducer:e.reducer}}function m(e,t=0){const r={dynamics:[],shortcuts:[],statics:{}};for(const[A,n]of e.dynamics)r.dynamics.push([A,y(n,t)]);for(const A of e.shortcuts)r.shortcuts.push(y(A,t));for(const[A,n]of Object.entries(e.statics))r.statics[A]=n.map(e=>y(e,t));return r}function w(e,t,r,A,n){e.nodes[t].dynamics.push([r,{to:A,reducer:n}])}function Q(e,t,r,A){e.nodes[t].shortcuts.push({to:r,reducer:A})}function D(e,t,r,A,n){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,r)?e.nodes[t].statics[r]:e.nodes[t].statics[r]=[]).push({to:A,reducer:n})}function b(e,t,r,A){if(Array.isArray(t)){const[n,...o]=t;return e[n](r,A,...o)}return e[t](r,A)}function v(e,t){const r=Array.isArray(e)?S[e[0]]:S[e];if(void 0===r.suggest)return null;const A=Array.isArray(e)?e.slice(1):[];return r.suggest(t,...A)}const S={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||!t.startsWith("-"),isOption:(e,t,r,A)=>!e.ignoreOptions&&t===r,isBatchOption:(e,t,r)=>!e.ignoreOptions&&o.test(t)&&[...t.slice(1)].every(e=>r.includes("-"+e)),isBoundOption:(e,t,r,A)=>{const o=t.match(i);return!e.ignoreOptions&&!!o&&n.test(o[1])&&r.includes(o[1])&&A.filter(e=>e.names.includes(o[1])).every(e=>e.allowBinding)},isNegatedOption:(e,t,r)=>!e.ignoreOptions&&t==="--no-"+r.slice(2),isHelp:(e,t)=>!e.ignoreOptions&&A.test(t),isUnsupportedOption:(e,t,r)=>!e.ignoreOptions&&t.startsWith("-")&&n.test(t)&&!r.includes(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!n.test(t)};S.isOption.suggest=(e,t,r=!0)=>r?null:[t];const k={setCandidateUsage:(e,t,r)=>Object.assign(Object.assign({},e),{candidateUsage:r}),setSelectedIndex:(e,t,r)=>Object.assign(Object.assign({},e),{selectedIndex:r}),pushBatch:(e,t)=>Object.assign(Object.assign({},e),{options:e.options.concat([...t.slice(1)].map(e=>({name:"-"+e,value:!0})))}),pushBound:(e,t)=>{const[,r,A]=t.match(i);return Object.assign(Object.assign({},e),{options:e.options.concat({name:r,value:A})})},pushPath:(e,t)=>Object.assign(Object.assign({},e),{path:e.path.concat(t)}),pushPositional:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:!1})}),pushExtra:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:!0})}),pushExtraNoLimits:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:K})}),pushTrue:(e,t,r=t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:t,value:!0})}),pushFalse:(e,t,r=t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:r,value:!1})}),pushUndefined:(e,t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:t,value:void 0})}),pushStringValue:(e,t)=>{var r;const A=Object.assign(Object.assign({},e),{options:[...e.options]}),n=e.options[e.options.length-1];return n.value=(null!==(r=n.value)&&void 0!==r?r:[]).concat([t]),A},setStringValue:(e,t)=>{const r=Object.assign(Object.assign({},e),{options:[...e.options]});return e.options[e.options.length-1].value=t,r},inhibateOptions:e=>Object.assign(Object.assign({},e),{ignoreOptions:!0}),useHelp:(e,t,r)=>{const[,n,o]=t.match(A);return void 0!==o?Object.assign(Object.assign({},e),{options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}):Object.assign(Object.assign({},e),{options:[{name:"-c",value:String(r)}]})},setError:(e,t,r)=>"\0"===t?Object.assign(Object.assign({},e),{errorMessage:r+"."}):Object.assign(Object.assign({},e),{errorMessage:`${r} ("${t}").`}),setOptionArityError:(e,t)=>{const r=e.options[e.options.length-1];return Object.assign(Object.assign({},e),{errorMessage:`Not enough arguments to option ${r.name}.`})}},K=Symbol();class F{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:r=this.arity.extra,proxy:A=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:r,proxy:A})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===K)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");t||this.arity.extra===K?this.arity.extra!==K&&0===this.arity.extra.length?this.arity.leading.push(e):this.arity.trailing.push(e):this.arity.extra.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===K)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let r=0;r1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(r))throw new Error("The arity must be an integer, got "+r);if(r<0)throw new Error("The arity must be positive, got "+r);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:r,hidden:A,allowBinding:n})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){const r=[this.cliOpts.binaryName],A=[];if(this.paths.length>0&&r.push(...this.paths[0]),e){for(const{names:e,arity:n,hidden:o,description:i}of this.options){if(o)continue;const s=[];for(let e=0;e`<${e}>`)),this.arity.extra===K?r.push("..."):r.push(...this.arity.extra.map(e=>`[${e}]`)),r.push(...this.arity.trailing.map(e=>`<${e}>`))}return{usage:r.join(" "),options:A}}compile(){if(void 0===this.context)throw new Error("Assertion failed: No context attached");const e={nodes:[{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}}]};let t=0;t=p(e,{dynamics:[],shortcuts:[],statics:{}}),D(e,0,"",t,["setCandidateUsage",this.usage().usage]);const r=this.arity.proxy?"always":"isNotOptionLike",A=this.paths.length>0?this.paths:[[]];for(const n of A){let A=t;if(n.length>0){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});Q(e,A,t),this.registerOptions(e,t),A=t}for(let t=0;t0||!this.arity.proxy){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});w(e,A,"isHelp",t,["useHelp",this.cliIndex]),D(e,t,"\0",1,["setSelectedIndex",-1]),this.registerOptions(e,A)}this.arity.leading.length>0&&D(e,A,"\0",2,["setError","Not enough positional arguments"]);let o=A;for(let t=0;t0||t+1!==this.arity.leading.length)&&D(e,r,"\0",2,["setError","Not enough positional arguments"]),w(e,o,"isNotOptionLike",r,"pushPositional"),o=r}let i=o;if(this.arity.extra===K||this.arity.extra.length>0){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});if(Q(e,o,t),this.arity.extra===K){const A=p(e,{dynamics:[],shortcuts:[],statics:{}});this.arity.proxy||this.registerOptions(e,A),w(e,o,r,A,"pushExtraNoLimits"),w(e,A,r,A,"pushExtraNoLimits"),Q(e,A,t)}else for(let A=0;A0&&D(e,i,"\0",2,["setError","Not enough positional arguments"]);let s=i;for(let t=0;tt.length>e.length?t:e,"");if(0===r.arity)for(const n of r.names)w(e,t,["isOption",n,r.hidden||n!==A],t,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&w(e,t,["isNegatedOption",n],t,["pushFalse",n]);else{let n=p(e,{dynamics:[],shortcuts:[],statics:{}});for(const o of r.names)w(e,t,["isOption",o,r.hidden||o!==A],n,"pushUndefined");for(let t=0;t=0&&e{if(t.has(A))return;t.add(A);const n=e.nodes[A];for(const e of Object.values(n.statics))for(const{to:t}of e)r(t);for(const[,{to:e}]of n.dynamics)r(e);for(const{to:e}of n.shortcuts)r(e);const o=new Set(n.shortcuts.map(({to:e})=>e));for(;n.shortcuts.length>0;){const{to:t}=n.shortcuts.shift(),r=e.nodes[t];for(const[e,t]of Object.entries(r.statics)){let r=Object.prototype.hasOwnProperty.call(n.statics,e)?n.statics[e]:n.statics[e]=[];for(const e of t)r.some(({to:t})=>e.to===t)||r.push(e)}for(const[e,t]of r.dynamics)n.dynamics.some(([r,{to:A}])=>e===r&&t.to===A)||n.dynamics.push([e,t]);for(const e of r.shortcuts)o.has(e.to)||(n.shortcuts.push(e),o.add(e.to))}};r(0)}(r),{machine:r,contexts:t,process:e=>f(r,e),suggest:(e,t)=>function(e,t,r){const A=r&&t.length>0?[""]:[],n=d(e,t,r),o=[],i=new Set,s=(t,r,A=!0)=>{let n=[r];for(;n.length>0;){const r=n;n=[];for(const o of r){const r=e.nodes[o],i=Object.keys(r.statics);for(const e of Object.keys(r.statics)){const e=i[0];for(const{to:o,reducer:i}of r.statics[e])"pushPath"===i&&(A||t.push(e),n.push(o))}}A=!1}const s=JSON.stringify(t);i.has(s)||(o.push(t),i.add(s))};for(const{node:t,state:r}of n){if(null!==r.remainder){s([r.remainder],t);continue}const n=e.nodes[t],o=C(n,r);for(const[e,r]of Object.entries(n.statics))(o&&"\0"!==e||!e.startsWith("-")&&r.some(({reducer:e})=>"pushPath"===e))&&s([...A,e],t);if(o)for(const[e,{to:o}]of n.dynamics){if(2===o)continue;const n=v(e,r);if(null!==n)for(const e of n)s([...A,e],t)}}return[...o].sort()}(r,e,t)}}}class M{constructor(){this.help=!1}static getMeta(e){const t=e.constructor;return t.meta=Object.prototype.hasOwnProperty.call(t,"meta")?t.meta:{definitions:[],transformers:[(e,t)=>{for(const{name:r,value:A}of e.options)"-h"!==r&&"--help"!==r||(t.help=A)}]}}static resolveMeta(e){const t=[],r=[];for(let A=e;A instanceof M;A=A.__proto__){const e=this.getMeta(A);for(const r of e.definitions)t.push(r);for(const t of e.transformers)r.push(t)}return{definitions:t,transformers:r}}static registerDefinition(e,t){this.getMeta(e).definitions.push(t)}static registerTransformer(e,t){this.getMeta(e).transformers.push(t)}static addPath(...e){this.Path(...e)(this.prototype,"execute")}static addOption(e,t){t(this.prototype,e)}static Path(...e){return(t,r)=>{this.registerDefinition(t,t=>{t.addPath(e)})}}static Boolean(e,{hidden:t=!1,description:r}={}){return(A,n)=>{const o=e.split(",");this.registerDefinition(A,e=>{e.addOption({names:o,arity:0,hidden:t,allowBinding:!1,description:r})}),this.registerTransformer(A,(e,t)=>{for(const{name:r,value:A}of e.options)o.includes(r)&&(t[n]=A)})}}static Counter(e,{hidden:t=!1,description:r}={}){return(A,n)=>{const o=e.split(",");this.registerDefinition(A,e=>{e.addOption({names:o,arity:0,hidden:t,allowBinding:!1,description:r})}),this.registerTransformer(A,(e,t)=>{var r;for(const{name:A,value:i}of e.options)o.includes(A)&&(null!==(r=t[n])&&void 0!==r||(t[n]=0),i?t[n]++:t[n]=0)})}}static String(e={},{arity:t=1,tolerateBoolean:r=!1,hidden:A=!1,description:n}={}){return(o,i)=>{if("string"==typeof e){const s=e.split(",");this.registerDefinition(o,e=>{e.addOption({names:s,arity:r?0:t,hidden:A,description:n})}),this.registerTransformer(o,(e,t)=>{for(const{name:r,value:A}of e.options)s.includes(r)&&(t[i]=A)})}else{const{name:t=i,required:r=!0}=e;this.registerDefinition(o,e=>{e.addPositional({name:t,required:r})}),this.registerTransformer(o,(e,t)=>{for(let A=0;A{if(0===t)throw new Error("Array options are expected to have at least an arity of 1");const i=e.split(",");this.registerDefinition(n,e=>{e.addOption({names:i,arity:t,hidden:r,description:A})}),this.registerTransformer(n,(e,t)=>{for(const{name:r,value:A}of e.options)i.includes(r)&&(t[o]=t[o]||[],t[o].push(A))})}}static Rest({required:e=0}={}){return(t,r)=>{this.registerDefinition(t,t=>{t.addRest({name:r,required:e})}),this.registerTransformer(t,(e,t,A)=>{const n=t=>{const r=e.positionals[t];return r.extra===K||!1===r.extra&&te)})}}static Proxy({required:e=0}={}){return(t,r)=>{this.registerDefinition(t,t=>{t.addProxy({required:e})}),this.registerTransformer(t,(e,t)=>{t[r]=e.positionals.map(({value:e})=>e)})}}static Usage(e){return e}static Schema(e){return e}async catch(e){throw e}async validateAndExecute(){const e=this.constructor.schema;if(void 0!==e)try{await e.validate(this)}catch(e){throw"ValidationError"===e.name&&(e.clipanion={type:"usage"}),e}const t=await this.execute();return void 0!==t?t:0}} +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +function R(e,t,r,A){var n,o=arguments.length,i=o<3?t:null===A?A=Object.getOwnPropertyDescriptor(t,r):A;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,A);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}M.Entries={};class x extends M{async execute(){this.context.stdout.write(this.cli.usage(null))}}R([M.Path("--help"),M.Path("-h")],x.prototype,"execute",null);class L extends M{async execute(){var e;this.context.stdout.write((null!==(e=this.cli.binaryVersion)&&void 0!==e?e:"")+"\n")}}R([M.Path("--version"),M.Path("-v")],L.prototype,"execute",null);const P={bold:e=>`${e}`,error:e=>`${e}`,code:e=>`${e}`},O={bold:e=>e,error:e=>e,code:e=>e};function U(e,{format:t,paragraphs:r}){return e=(e=(e=(e=(e=e.replace(/\r\n?/g,"\n")).replace(/^[\t ]+|[\t ]+$/gm,"")).replace(/^\n+|\n+$/g,"")).replace(/^-([^\n]*?)\n+/gm,"-$1\n\n")).replace(/\n(\n)?\n*/g,"$1"),r&&(e=e.split(/\n/).map((function(e){let t=e.match(/^[*-][\t ]+(.*)/);return t?t[1].match(/(.{1,78})(?: |$)/g).map((e,t)=>(0===t?"- ":" ")+e).join("\n"):e.match(/(.{1,80})(?: |$)/g).join("\n")})).join("\n\n")),(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(function(e,r,A){return t.code(r+A+r)})))?e+"\n":""}class T extends M{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){const r=new T(t);r.path=e.path;for(const t of e.options)switch(t.name){case"-c":r.commands.push(Number(t.value));break;case"-i":r.index=Number(t.value)}return r}async execute(){let e=this.commands;if(void 0!==this.index&&this.index>=0&&this.index1){this.context.stdout.write("Multiple commands match your selection:\n"),this.context.stdout.write("\n");let e=0;for(const t of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[t].commandClass,{prefix:(e+++". ").padStart(5)}));this.context.stdout.write("\n"),this.context.stdout.write("Run again with -h= to see the longer details of any of those commands.\n")}}}function j(){return"0"!==process.env.FORCE_COLOR&&("1"===process.env.FORCE_COLOR||!(void 0===process.stdout||!process.stdout.isTTY))}class Y{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:r,enableColors:A=j()}={}){this.registrations=new Map,this.builder=new N({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=r,this.enableColors=A}static from(e,t={}){const r=new Y(t);for(const t of e)r.register(t);return r}register(e){const t=this.builder.command();this.registrations.set(e,t.cliIndex);const{definitions:r}=e.resolveMeta(e.prototype);for(const e of r)e(t);t.setContext({commandClass:e})}process(e){const{contexts:t,process:r}=this.builder.compile(),A=r(e);switch(A.selectedIndex){case-1:return T.from(A,t);default:{const{commandClass:e}=t[A.selectedIndex],r=this.registrations.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the command class to have been registered.");const n=this.builder.getBuilderByIndex(r),o=new e;o.path=A.path;const{transformers:i}=e.resolveMeta(e.prototype);for(const e of i)e(A,o,n);return o}}}async run(e,t){let r,A;if(Array.isArray(e))try{r=this.process(e)}catch(e){return t.stdout.write(this.error(e)),1}else r=e;if(r.help)return t.stdout.write(this.usage(r,{detailed:!0})),0;r.context=t,r.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(e,t)=>this.error(e,t),process:e=>this.process(e),run:(e,r)=>this.run(e,Object.assign(Object.assign({},t),r)),usage:(e,t)=>this.usage(e,t)};try{A=await r.validateAndExecute().catch(e=>r.catch(e).then(()=>0))}catch(e){return t.stdout.write(this.error(e,{command:r})),1}return A}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){const{contexts:r,process:A,suggest:n}=this.builder.compile();return n(e,t)}definitions({colored:e=!1}={}){const t=[];for(const[r,A]of this.registrations){if(void 0===r.usage)continue;const{usage:n}=this.getUsageByIndex(A,{detailed:!1}),{usage:o,options:i}=this.getUsageByIndex(A,{detailed:!0,inlineOptions:!1}),s=void 0!==r.usage.category?U(r.usage.category,{format:this.format(e),paragraphs:!1}):void 0,a=void 0!==r.usage.description?U(r.usage.description,{format:this.format(e),paragraphs:!1}):void 0,c=void 0!==r.usage.details?U(r.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=void 0!==r.usage.examples?r.usage.examples.map(([t,r])=>[U(t,{format:this.format(e),paragraphs:!1}),r.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:n,usage:o,category:s,description:a,details:c,examples:g,options:i})}return t}usage(e=null,{colored:t,detailed:r=!1,prefix:A="$ "}={}){const n=null!==e&&void 0===e.getMeta?e.constructor:e;let o="";if(n)if(r){const{description:e="",details:r="",examples:i=[]}=n.usage||{};""!==e&&(o+=U(e,{format:this.format(t),paragraphs:!1}).replace(/^./,e=>e.toUpperCase()),o+="\n"),(""!==r||i.length>0)&&(o+=this.format(t).bold("Usage:")+"\n",o+="\n");const{usage:s,options:a}=this.getUsageByRegistration(n,{inlineOptions:!1});if(o+=`${this.format(t).bold(A)}${s}\n`,a.length>0){o+="\n",o+=P.bold("Options:")+"\n";const e=a.reduce((e,t)=>Math.max(e,t.definition.length),0);o+="\n";for(const{definition:r,description:A}of a)o+=` ${r.padEnd(e)} ${U(A,{format:this.format(t),paragraphs:!1})}`}if(""!==r&&(o+="\n",o+=this.format(t).bold("Details:")+"\n",o+="\n",o+=U(r,{format:this.format(t),paragraphs:!0})),i.length>0){o+="\n",o+=this.format(t).bold("Examples:")+"\n";for(let[e,r]of i)o+="\n",o+=U(e,{format:this.format(t),paragraphs:!1}),o+=r.replace(/^/m," "+this.format(t).bold(A)).replace(/\$0/g,this.binaryName)+"\n"}}else{const{usage:e}=this.getUsageByRegistration(n);o+=`${this.format(t).bold(A)}${e}\n`}else{const e=new Map;for(const[r,A]of this.registrations.entries()){if(void 0===r.usage)continue;const n=void 0!==r.usage.category?U(r.usage.category,{format:this.format(t),paragraphs:!1}):null;let o=e.get(n);void 0===o&&e.set(n,o=[]);const{usage:i}=this.getUsageByIndex(A);o.push({commandClass:r,usage:i})}const r=Array.from(e.keys()).sort((e,t)=>null===e?-1:null===t?1:e.localeCompare(t,"en",{usage:"sort",caseFirst:"upper"})),n=void 0!==this.binaryLabel,i=void 0!==this.binaryVersion;n||i?(o+=n&&i?this.format(t).bold(`${this.binaryLabel} - ${this.binaryVersion}`)+"\n\n":n?this.format(t).bold(""+this.binaryLabel)+"\n":this.format(t).bold(""+this.binaryVersion)+"\n",o+=` ${this.format(t).bold(A)}${this.binaryName} \n`):o+=`${this.format(t).bold(A)}${this.binaryName} \n`;for(let A of r){const r=e.get(A).slice().sort((e,t)=>e.usage.localeCompare(t.usage,"en",{usage:"sort",caseFirst:"upper"})),n=null!==A?A.trim():"Where is one of";o+="\n",o+=this.format(t).bold(n+":")+"\n";for(let{commandClass:e,usage:A}of r){const r=e.usage.description||"undocumented";o+="\n",o+=` ${this.format(t).bold(A)}\n`,o+=" "+U(r,{format:this.format(t),paragraphs:!1})}}o+="\n",o+=U("You can also print more details about any of these commands by calling them after adding the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return o}error(e,{colored:t,command:r=null}={}){e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let A="",n=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");"Error"===n&&(n="Internal Error"),A+=`${this.format(t).error(n)}: ${e.message}\n`;const o=e.clipanion;return void 0!==o?"usage"===o.type&&(A+="\n",A+=this.usage(r)):e.stack&&(A+=e.stack.replace(/^.*\n/,"")+"\n"),A}getUsageByRegistration(e,t){const r=this.registrations.get(e);if(void 0===r)throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(r,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}format(e=this.enableColors){return e?P:O}}Y.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},M.Entries.Help=x,M.Entries.Version=L},15751:(e,t,r)=>{"use strict";const A=r(92413).PassThrough,n=r(65007);e.exports=e=>{if(!e||!e.pipe)throw new TypeError("Parameter `response` must be a response stream.");const t=new A;return n(e,t),e.pipe(t)}},15311:(e,t,r)=>{const A=r(93300),n={};for(const e of Object.keys(A))n[A[e]]=e;const o={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=o;for(const e of Object.keys(o)){if(!("channels"in o[e]))throw new Error("missing channels property: "+e);if(!("labels"in o[e]))throw new Error("missing channel labels property: "+e);if(o[e].labels.length!==o[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:r}=o[e];delete o[e].channels,delete o[e].labels,Object.defineProperty(o[e],"channels",{value:t}),Object.defineProperty(o[e],"labels",{value:r})}o.rgb.hsl=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.min(t,r,A),o=Math.max(t,r,A),i=o-n;let s,a;o===n?s=0:t===o?s=(r-A)/i:r===o?s=2+(A-t)/i:A===o&&(s=4+(t-r)/i),s=Math.min(60*s,360),s<0&&(s+=360);const c=(n+o)/2;return a=o===n?0:c<=.5?i/(o+n):i/(2-o-n),[s,100*a,100*c]},o.rgb.hsv=function(e){let t,r,A,n,o;const i=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(i,s,a),g=c-Math.min(i,s,a),l=function(e){return(c-e)/6/g+.5};return 0===g?(n=0,o=0):(o=g/c,t=l(i),r=l(s),A=l(a),i===c?n=A-r:s===c?n=1/3+t-A:a===c&&(n=2/3+r-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*o,100*c]},o.rgb.hwb=function(e){const t=e[0],r=e[1];let A=e[2];const n=o.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,A));return A=1-1/255*Math.max(t,Math.max(r,A)),[n,100*i,100*A]},o.rgb.cmyk=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.min(1-t,1-r,1-A);return[100*((1-t-n)/(1-n)||0),100*((1-r-n)/(1-n)||0),100*((1-A-n)/(1-n)||0),100*n]},o.rgb.keyword=function(e){const t=n[e];if(t)return t;let r,o=1/0;for(const t of Object.keys(A)){const n=A[t],a=(s=n,((i=e)[0]-s[0])**2+(i[1]-s[1])**2+(i[2]-s[2])**2);a.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,A=A>.04045?((A+.055)/1.055)**2.4:A/12.92;return[100*(.4124*t+.3576*r+.1805*A),100*(.2126*t+.7152*r+.0722*A),100*(.0193*t+.1192*r+.9505*A)]},o.rgb.lab=function(e){const t=o.rgb.xyz(e);let r=t[0],A=t[1],n=t[2];r/=95.047,A/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,A=A>.008856?A**(1/3):7.787*A+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;return[116*A-16,500*(r-A),200*(A-n)]},o.hsl.rgb=function(e){const t=e[0]/360,r=e[1]/100,A=e[2]/100;let n,o,i;if(0===r)return i=255*A,[i,i,i];n=A<.5?A*(1+r):A+r-A*r;const s=2*A-n,a=[0,0,0];for(let e=0;e<3;e++)o=t+1/3*-(e-1),o<0&&o++,o>1&&o--,i=6*o<1?s+6*(n-s)*o:2*o<1?n:3*o<2?s+(n-s)*(2/3-o)*6:s,a[e]=255*i;return a},o.hsl.hsv=function(e){const t=e[0];let r=e[1]/100,A=e[2]/100,n=r;const o=Math.max(A,.01);A*=2,r*=A<=1?A:2-A,n*=o<=1?o:2-o;return[t,100*(0===A?2*n/(o+n):2*r/(A+r)),100*((A+r)/2)]},o.hsv.rgb=function(e){const t=e[0]/60,r=e[1]/100;let A=e[2]/100;const n=Math.floor(t)%6,o=t-Math.floor(t),i=255*A*(1-r),s=255*A*(1-r*o),a=255*A*(1-r*(1-o));switch(A*=255,n){case 0:return[A,a,i];case 1:return[s,A,i];case 2:return[i,A,a];case 3:return[i,s,A];case 4:return[a,i,A];case 5:return[A,i,s]}},o.hsv.hsl=function(e){const t=e[0],r=e[1]/100,A=e[2]/100,n=Math.max(A,.01);let o,i;i=(2-r)*A;const s=(2-r)*n;return o=r*n,o/=s<=1?s:2-s,o=o||0,i/=2,[t,100*o,100*i]},o.hwb.rgb=function(e){const t=e[0]/360;let r=e[1]/100,A=e[2]/100;const n=r+A;let o;n>1&&(r/=n,A/=n);const i=Math.floor(6*t),s=1-A;o=6*t-i,0!=(1&i)&&(o=1-o);const a=r+o*(s-r);let c,g,l;switch(i){default:case 6:case 0:c=s,g=a,l=r;break;case 1:c=a,g=s,l=r;break;case 2:c=r,g=s,l=a;break;case 3:c=r,g=a,l=s;break;case 4:c=a,g=r,l=s;break;case 5:c=s,g=r,l=a}return[255*c,255*g,255*l]},o.cmyk.rgb=function(e){const t=e[0]/100,r=e[1]/100,A=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n)),255*(1-Math.min(1,A*(1-n)+n))]},o.xyz.rgb=function(e){const t=e[0]/100,r=e[1]/100,A=e[2]/100;let n,o,i;return n=3.2406*t+-1.5372*r+-.4986*A,o=-.9689*t+1.8758*r+.0415*A,i=.0557*t+-.204*r+1.057*A,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,n=Math.min(Math.max(0,n),1),o=Math.min(Math.max(0,o),1),i=Math.min(Math.max(0,i),1),[255*n,255*o,255*i]},o.xyz.lab=function(e){let t=e[0],r=e[1],A=e[2];t/=95.047,r/=100,A/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,A=A>.008856?A**(1/3):7.787*A+16/116;return[116*r-16,500*(t-r),200*(r-A)]},o.lab.xyz=function(e){let t,r,A;r=(e[0]+16)/116,t=e[1]/500+r,A=r-e[2]/200;const n=r**3,o=t**3,i=A**3;return r=n>.008856?n:(r-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,A=i>.008856?i:(A-16/116)/7.787,t*=95.047,r*=100,A*=108.883,[t,r,A]},o.lab.lch=function(e){const t=e[0],r=e[1],A=e[2];let n;n=360*Math.atan2(A,r)/2/Math.PI,n<0&&(n+=360);return[t,Math.sqrt(r*r+A*A),n]},o.lch.lab=function(e){const t=e[0],r=e[1],A=e[2]/360*2*Math.PI;return[t,r*Math.cos(A),r*Math.sin(A)]},o.rgb.ansi16=function(e,t=null){const[r,A,n]=e;let i=null===t?o.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),0===i)return 30;let s=30+(Math.round(n/255)<<2|Math.round(A/255)<<1|Math.round(r/255));return 2===i&&(s+=60),s},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){const t=e[0],r=e[1],A=e[2];if(t===r&&r===A)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(A/255*5)},o.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},o.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},o.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];3===t[0].length&&(r=r.split("").map(e=>e+e).join(""));const A=parseInt(r,16);return[A>>16&255,A>>8&255,255&A]},o.rgb.hcg=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.max(Math.max(t,r),A),o=Math.min(Math.min(t,r),A),i=n-o;let s,a;return s=i<1?o/(1-i):0,a=i<=0?0:n===t?(r-A)/i%6:n===r?2+(A-t)/i:4+(t-r)/i,a/=6,a%=1,[360*a,100*i,100*s]},o.hsl.hcg=function(e){const t=e[1]/100,r=e[2]/100,A=r<.5?2*t*r:2*t*(1-r);let n=0;return A<1&&(n=(r-.5*A)/(1-A)),[e[0],100*A,100*n]},o.hsv.hcg=function(e){const t=e[1]/100,r=e[2]/100,A=t*r;let n=0;return A<1&&(n=(r-A)/(1-A)),[e[0],100*A,100*n]},o.hcg.rgb=function(e){const t=e[0]/360,r=e[1]/100,A=e[2]/100;if(0===r)return[255*A,255*A,255*A];const n=[0,0,0],o=t%1*6,i=o%1,s=1-i;let a=0;switch(Math.floor(o)){case 0:n[0]=1,n[1]=i,n[2]=0;break;case 1:n[0]=s,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=i;break;case 3:n[0]=0,n[1]=s,n[2]=1;break;case 4:n[0]=i,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=s}return a=(1-r)*A,[255*(r*n[0]+a),255*(r*n[1]+a),255*(r*n[2]+a)]},o.hcg.hsv=function(e){const t=e[1]/100,r=t+e[2]/100*(1-t);let A=0;return r>0&&(A=t/r),[e[0],100*A,100*r]},o.hcg.hsl=function(e){const t=e[1]/100,r=e[2]/100*(1-t)+.5*t;let A=0;return r>0&&r<.5?A=t/(2*r):r>=.5&&r<1&&(A=t/(2*(1-r))),[e[0],100*A,100*r]},o.hcg.hwb=function(e){const t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},o.hwb.hcg=function(e){const t=e[1]/100,r=1-e[2]/100,A=r-t;let n=0;return A<1&&(n=(r-A)/(1-A)),[e[0],100*A,100*n]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=function(e){return[0,0,e[0]]},o.gray.hsv=o.gray.hsl,o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2744:(e,t,r)=>{const A=r(15311),n=r(78577),o={};Object.keys(A).forEach(e=>{o[e]={},Object.defineProperty(o[e],"channels",{value:A[e].channels}),Object.defineProperty(o[e],"labels",{value:A[e].labels});const t=n(e);Object.keys(t).forEach(r=>{const A=t[r];o[e][r]=function(e){const t=function(...t){const r=t[0];if(null==r)return r;r.length>1&&(t=r);const A=e(t);if("object"==typeof A)for(let e=A.length,t=0;t1&&(t=r),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(A)})}),e.exports=o},78577:(e,t,r)=>{const A=r(15311);function n(e){const t=function(){const e={},t=Object.keys(A);for(let r=t.length,A=0;A{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},67566:(e,t,r)=>{"use strict";const A=r(63129),n=r(14951),o=r(10779);function i(e,t,r){const i=n(e,t,r),s=A.spawn(i.command,i.args,i.options);return o.hookChildProcess(s,i),s}e.exports=i,e.exports.spawn=i,e.exports.sync=function(e,t,r){const i=n(e,t,r),s=A.spawnSync(i.command,i.args,i.options);return s.error=s.error||o.verifyENOENTSync(s.status,i),s},e.exports._parse=n,e.exports._enoent=o},10779:e=>{"use strict";const t="win32"===process.platform;function r(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function A(e,A){return t&&1===e&&!A.file?r(A.original,"spawn"):null}e.exports={hookChildProcess:function(e,r){if(!t)return;const n=e.emit;e.emit=function(t,o){if("exit"===t){const t=A(o,r);if(t)return n.call(e,"error",t)}return n.apply(e,arguments)}},verifyENOENT:A,verifyENOENTSync:function(e,A){return t&&1===e&&!A.file?r(A.original,"spawnSync"):null},notFoundError:r}},14951:(e,t,r)=>{"use strict";const A=r(85622),n=r(47447),o=r(27066),i=r(35187),s="win32"===process.platform,a=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function g(e){if(!s)return e;const t=function(e){e.file=n(e);const t=e.file&&i(e.file);return t?(e.args.unshift(e.file),e.command=t,n(e)):e.file}(e),r=!a.test(t);if(e.options.forceShell||r){const r=c.test(t);e.command=A.normalize(e.command),e.command=o.command(e.command),e.args=e.args.map(e=>o.argument(e,r));const n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}e.exports=function(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null);const A={command:e,args:t=t?t.slice(0):[],options:r=Object.assign({},r),file:void 0,original:{command:e,args:t}};return r.shell?A:g(A)}},27066:e=>{"use strict";const t=/([()\][%!^"`<>&|;, *?])/g;e.exports.command=function(e){return e=e.replace(t,"^$1")},e.exports.argument=function(e,r){return e=(e=`"${e=(e=(e=""+e).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(t,"^$1"),r&&(e=e.replace(t,"^$1")),e}},35187:(e,t,r)=>{"use strict";const A=r(35747),n=r(91470);e.exports=function(e){const t=Buffer.alloc(150);let r;try{r=A.openSync(e,"r"),A.readSync(r,t,0,150,0),A.closeSync(r)}catch(e){}return n(t.toString())}},47447:(e,t,r)=>{"use strict";const A=r(85622),n=r(87945),o=r(37127);function i(e,t){const r=e.options.env||process.env,i=process.cwd(),s=null!=e.options.cwd,a=s&&void 0!==process.chdir&&!process.chdir.disabled;if(a)try{process.chdir(e.options.cwd)}catch(e){}let c;try{c=n.sync(e.command,{path:r[o({env:r})],pathExt:t?A.delimiter:void 0})}catch(e){}finally{a&&process.chdir(i)}return c&&(c=A.resolve(s?e.options.cwd:"",c)),c}e.exports=function(e){return i(e)||i(e,!0)}},93868:(e,t,r)=>{"use strict";const{Transform:A,PassThrough:n}=r(92413),o=r(78761),i=r(33527);e.exports=e=>{const t=(e.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(t))return e;const r="br"===t;if(r&&"function"!=typeof o.createBrotliDecompress)return e.destroy(new Error("Brotli is not supported on Node.js < 12")),e;let s=!0;const a=new A({transform(e,t,r){s=!1,r(null,e)},flush(e){e()}}),c=new n({autoDestroy:!1,destroy(t,r){e.destroy(),r(t)}}),g=r?o.createBrotliDecompress():o.createUnzip();return g.once("error",t=>{!s||e.readable?c.destroy(t):c.end()}),i(e,c),e.pipe(a).pipe(g).pipe(c),c}},93121:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(4016),n=(e,t)=>{let r;if("function"==typeof t){r={connect:t}}else r=t;const n="function"==typeof r.connect,o="function"==typeof r.secureConnect,i="function"==typeof r.close,s=()=>{n&&r.connect(),e instanceof A.TLSSocket&&o&&(e.authorized?r.secureConnect():e.authorizationError||e.once("secureConnect",r.secureConnect)),i&&e.once("close",r.close)};e.writable&&!e.connecting?s():e.connecting?e.once("connect",s):e.destroyed&&i&&r.close(e._hadError)};t.default=n,e.exports=n,e.exports.default=n},66241:(e,t,r)=>{"use strict";const A=r(85622),n=r(5763),o=e=>e.length>1?`{${e.join(",")}}`:e[0],i=(e,t)=>{const r="!"===e[0]?e.slice(1):e;return A.isAbsolute(r)?r:A.join(t,r)},s=(e,t)=>{if(t.files&&!Array.isArray(t.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof t.files}\``);if(t.extensions&&!Array.isArray(t.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof t.extensions}\``);return t.files&&t.extensions?t.files.map(r=>{return A.posix.join(e,(n=r,i=t.extensions,A.extname(n)?"**/"+n:`**/${n}.${o(i)}`));var n,i}):t.files?t.files.map(t=>A.posix.join(e,"**/"+t)):t.extensions?[A.posix.join(e,"**/*."+o(t.extensions))]:[A.posix.join(e,"**")]};e.exports=async(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const r=await Promise.all([].concat(e).map(async e=>await n.isDirectory(i(e,t.cwd))?s(e,t):e));return[].concat.apply([],r)},e.exports.sync=(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const r=[].concat(e).map(e=>n.isDirectorySync(i(e,t.cwd))?s(e,t):e);return[].concat.apply([],r)}},97681:(e,t,r)=>{var A=r(91162),n=function(){},o=function(e,t,r){if("function"==typeof t)return o(e,null,t);t||(t={}),r=A(r||n);var i=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,g=function(){e.writable||l()},l=function(){c=!1,a||r()},u=function(){a=!1,c||r()},h=function(e){r(e?new Error("exited with error code: "+e):null)},p=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:r(new Error("premature close"))},d=function(){e.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!i&&(e.on("end",g),e.on("close",g)):(e.on("complete",l),e.on("abort",p),e.req?d():e.on("request",d)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",u),e.on("finish",l),!1!==t.error&&e.on("error",r),e.on("close",p),function(){e.removeListener("complete",l),e.removeListener("abort",p),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",g),e.removeListener("close",g),e.removeListener("finish",l),e.removeListener("exit",h),e.removeListener("end",u),e.removeListener("error",r),e.removeListener("close",p)}};e.exports=o},17067:(e,t,r)=>{var A=r(27180),n=function(){},o=function(e,t,r){if("function"==typeof t)return o(e,null,t);t||(t={}),r=A(r||n);var i=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,g=function(){e.writable||l()},l=function(){c=!1,a||r.call(e)},u=function(){a=!1,c||r.call(e)},h=function(t){r.call(e,t?new Error("exited with error code: "+t):null)},p=function(t){r.call(e,t)},d=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:r.call(e,new Error("premature close"))},C=function(){e.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!i&&(e.on("end",g),e.on("close",g)):(e.on("complete",l),e.on("abort",d),e.req?C():e.on("request",C)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",u),e.on("finish",l),!1!==t.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",l),e.removeListener("abort",d),e.removeListener("request",C),e.req&&e.req.removeListener("finish",l),e.removeListener("end",g),e.removeListener("close",g),e.removeListener("finish",l),e.removeListener("exit",h),e.removeListener("end",u),e.removeListener("error",p),e.removeListener("close",d)}};e.exports=o},61899:(e,t,r)=>{"use strict";const A=r(42357),n=r(28614),o=r(10278);class i extends n{constructor(e,t){super(),this.options=o.merge({},e),this.answers={...t}}register(e,t){if(o.isObject(e)){for(let t of Object.keys(e))this.register(t,e[t]);return this}A.equal(typeof t,"function","expected a function");let r=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[r]=t:this.prompts[r]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{"function"==typeof t&&(t=await t.call(this)),await this.ask(o.merge({},this.options,t))}catch(e){return Promise.reject(e)}return this.answers}async ask(e){"function"==typeof e&&(e=await e.call(this));let t=o.merge({},this.options,e),{type:r,name:n}=e,{set:i,get:s}=o;if("function"==typeof r&&(r=await r.call(this,e,this.answers)),!r)return this.answers[n];A(this.prompts[r],`Prompt "${r}" is not registered`);let a=new this.prompts[r](t),c=s(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",e=>{this.emit("answer",n,e,a),i(this.answers,n,e)});let g=a.emit.bind(a);return a.emit=(...e)=>(this.emit.call(this,...e),g(...e)),this.emit("prompt",a,this),t.autofill&&null!=c?(a.value=a.input=c,"show"===t.autofill&&await a.submit()):c=a.value=await a.run(),c}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||r(58386)}static get prompts(){return r(53609)}static get types(){return r(13235)}static get prompt(){const e=(t,...r)=>{let A=new this(...r),n=A.emit.bind(A);return A.emit=(...t)=>(e.emit(...t),n(...t)),A.prompt(t)};return o.mixinEmitter(e,new n),e}}o.mixinEmitter(i,new n);const s=i.prompts;for(let e of Object.keys(s)){let t=e.toLowerCase(),r=t=>new s[e](t).run();i.prompt[t]=r,i[t]=r,i[e]||Reflect.defineProperty(i,e,{get:()=>s[e]})}const a=e=>{o.defineExport(i,e,()=>i.types[e])};a("ArrayPrompt"),a("AuthPrompt"),a("BooleanPrompt"),a("NumberPrompt"),a("StringPrompt"),e.exports=i},72380:(e,t,r)=>{"use strict";const A="Apple_Terminal"===process.env.TERM_PROGRAM,n=r(97991),o=r(10278),i=e.exports=t,s="[";let a=!1;const c=i.code={bell:"",beep:"",beginning:"",down:"",esc:s,getPosition:"",hide:"[?25l",line:"",lineEnd:"",lineStart:"",restorePosition:s+(A?"8":"u"),savePosition:s+(A?"7":"s"),screen:"",show:"[?25h",up:""},g=i.cursor={get hidden(){return a},hide:()=>(a=!0,c.hide),show:()=>(a=!1,c.show),forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>"".repeat(e),prevLine:(e=1)=>"".repeat(e),up:(e=1)=>e?`[${e}A`:"",down:(e=1)=>e?`[${e}B`:"",right:(e=1)=>e?`[${e}C`:"",left:(e=1)=>e?`[${e}D`:"",to:(e,t)=>t?`[${t+1};${e+1}H`:`[${e+1}G`,move(e=0,t=0){let r="";return r+=e<0?g.left(-e):e>0?g.right(e):"",r+=t<0?g.up(-t):t>0?g.down(t):"",r},restore(e={}){let{after:t,cursor:r,initial:A,input:n,prompt:s,size:a,value:c}=e;if(A=o.isPrimitive(A)?String(A):"",n=o.isPrimitive(n)?String(n):"",c=o.isPrimitive(c)?String(c):"",a){let e=i.cursor.up(a)+i.cursor.to(s.length),t=n.length-r;return t>0&&(e+=i.cursor.left(t)),e}if(c||t){let e=!n&&A?-A.length:-n.length+r;return t&&(e-=t.length),""===n&&A&&!s.includes(A)&&(e+=A.length),i.cursor.move(e)}}},l=i.erase={screen:c.screen,up:c.up,down:c.down,line:c.line,lineEnd:c.lineEnd,lineStart:c.lineStart,lines(e){let t="";for(let r=0;r{if(!t)return l.line+g.to(0);let r=e.split(/\r?\n/),A=0;for(let e of r)A+=1+Math.floor(Math.max((o=e,[...n.unstyle(o)].length-1),0)/t);var o;return(l.line+g.prevLine()).repeat(A-1)+l.line+g.to(0)}},62475:(e,t)=>{"use strict";t.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"},t.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"},t.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"},t.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"},t.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}},64083:e=>{"use strict";const t=e=>(e=>e.filter((t,r)=>e.lastIndexOf(t)===r))(e).filter(Boolean);e.exports=(e,r={},A="")=>{let n,o,{past:i=[],present:s=""}=r;switch(e){case"prev":case"undo":return n=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:t([A,...n]),present:o};case"next":case"redo":return n=i.slice(1),o=i[0]||"",{past:t([...n,A]),present:o};case"save":return{past:t([...i,A]),present:""};case"remove":return o=t(i.filter(e=>e!==A)),s="",o.length&&(s=o.pop()),{past:o,present:s};default:throw new Error(`Invalid action: "${e}"`)}}},84368:(e,t,r)=>{"use strict";const A=r(97991);class n{constructor(e){this.name=e.key,this.field=e.field||{},this.value=((e="")=>"string"==typeof e?e.replace(/^['"]|['"]$/g,""):"")(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}}function o(e,t,r,A){return(r,n,o,i)=>"function"==typeof o.field[e]?o.field[e].call(t,r,n,o,i):[A,r].find(e=>t.isValue(e))}e.exports=async e=>{let t=e.options,r=new Set(!0===t.required?[]:t.required||[]),i={...t.values,...t.initial},{tabstops:s,items:a,keys:c}=await(async(e={},t={},r=(e=>e))=>{let A=new Set,o=e.fields||[],i=e.template,s=[],a=[],c=[],g=1;"function"==typeof i&&(i=await i());let l=-1,u=()=>i[++l],h=()=>i[l+1],p=e=>{e.line=g,s.push(e)};for(p({type:"bos",value:""});le.name===s.key);s.field=o.find(e=>e.name===s.key),g||(g=new n(s),a.push(g)),g.lines.push(s.line-1);continue}let i=s[s.length-1];"text"===i.type&&i.line===g?i.value+=e:p({type:"text",value:e})}return p({type:"eos",value:""}),{input:i,tabstops:s,unique:A,keys:c,items:a}})(t,i),g=o("result",e,t),l=o("format",e,t),u=o("validate",e,t,!0),h=e.isValue.bind(e);return async(n={},o=!1)=>{let i=0;n.required=r,n.items=a,n.keys=c,n.output="";let p=async(e,t,r,A)=>{let n=await u(e,t,r,A);return!1===n?"Invalid field "+r.name:n};for(let r of s){let s=r.value,c=r.key;if("template"===r.type){if("template"===r.type){let u=a.find(e=>e.name===c);!0===t.required&&n.required.add(u.name);let d=[u.input,n.values[u.value],u.value,s].find(h),C=(u.field||{}).message||r.inner;if(o){let e=await p(n.values[c],n,u,i);if(e&&"string"==typeof e||!1===e){n.invalid.set(c,e);continue}n.invalid.delete(c);let t=await g(n.values[c],n,u,i);n.output+=A.unstyle(t);continue}u.placeholder=!1;let f=s;s=await l(s,n,u,i),d!==s?(n.values[c]=d,s=e.styles.typing(d),n.missing.delete(C)):(n.values[c]=void 0,d=`<${C}>`,s=e.styles.primary(d),u.placeholder=!0,n.required.has(c)&&n.missing.add(C)),n.missing.has(C)&&n.validating&&(s=e.styles.warning(d)),n.invalid.has(c)&&n.validating&&(s=e.styles.danger(d)),i===n.index&&(s=f!==s?e.styles.underline(s):e.styles.heading(A.unstyle(s))),i++}s&&(n.output+=s)}else s&&(n.output+=s)}let d=n.output.split("\n").map(e=>" "+e),C=a.length,f=0;for(let t of a)n.invalid.has(t.name)&&t.lines.forEach(e=>{" "===d[e][0]&&(d[e]=n.styles.danger(n.symbols.bullet)+d[e].slice(1))}),e.isValue(n.values[t.name])&&f++;return n.completed=(f/C*100).toFixed(0),n.output=d.join("\n"),n.output}}},30650:(e,t,r)=>{"use strict";const A=r(51058),n=r(62475),o=/^(?:\x1b)([a-zA-Z0-9])$/,i=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,s={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};const a=(e="",t={})=>{let r,A={name:t.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e,...t};if(Buffer.isBuffer(e)?e[0]>127&&void 0===e[1]?(e[0]-=128,e=""+String(e)):e=String(e):void 0!==e&&"string"!=typeof e?e=String(e):e||(e=A.sequence||""),A.sequence=A.sequence||e||A.name,"\r"===e)A.raw=void 0,A.name="return";else if("\n"===e)A.name="enter";else if("\t"===e)A.name="tab";else if("\b"===e||""===e||""===e||"\b"===e)A.name="backspace",A.meta=""===e.charAt(0);else if(""===e||""===e)A.name="escape",A.meta=2===e.length;else if(" "===e||" "===e)A.name="space",A.meta=2===e.length;else if(e<="")A.name=String.fromCharCode(e.charCodeAt(0)+"a".charCodeAt(0)-1),A.ctrl=!0;else if(1===e.length&&e>="0"&&e<="9")A.name="number";else if(1===e.length&&e>="a"&&e<="z")A.name=e;else if(1===e.length&&e>="A"&&e<="Z")A.name=e.toLowerCase(),A.shift=!0;else if(r=o.exec(e))A.meta=!0,A.shift=/^[A-Z]$/.test(r[1]);else if(r=i.exec(e)){let t=[...e];""===t[0]&&""===t[1]&&(A.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;A.ctrl=!!(4&o),A.meta=!!(10&o),A.shift=!!(1&o),A.code=n,A.name=s[n],A.shift=function(e){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e)}(n)||A.shift,A.ctrl=function(e){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e)}(n)||A.ctrl}return A};a.listen=(e={},t)=>{let{stdin:r}=e;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let n=A.createInterface({terminal:!0,input:r});A.emitKeypressEvents(r,n);let o=(e,r)=>t(e,a(e,r),n),i=r.isRaw;r.isTTY&&r.setRawMode(!0),r.on("keypress",o),n.resume();return()=>{r.isTTY&&r.setRawMode(i),r.removeListener("keypress",o),n.pause(),n.close()}},a.action=(e,t,r)=>{let A={...n,...r};return t.ctrl?(t.action=A.ctrl[t.name],t):t.option&&A.option?(t.action=A.option[t.name],t):t.shift?(t.action=A.shift[t.name],t):(t.action=A.keys[t.name],t)},e.exports=a},96496:(e,t,r)=>{"use strict";const A=r(10278);e.exports=(e,t={})=>{e.cursorHide();let{input:r="",initial:n="",pos:o,showCursor:i=!0,color:s}=t,a=s||e.styles.placeholder,c=A.inverse(e.styles.primary),g=t=>c(e.styles.black(t)),l=r,u=g(" ");if(e.blink&&!0===e.blink.off&&(g=e=>e,u=""),i&&0===o&&""===n&&""===r)return g(" ");if(i&&0===o&&(r===n||""===r))return g(n[0])+a(n.slice(1));n=A.isPrimitive(n)?""+n:"",r=A.isPrimitive(r)?""+r:"";let h=n&&n.startsWith(r)&&n!==r,p=h?g(n[r.length]):u;if(o!==r.length&&!0===i&&(l=r.slice(0,o)+g(r[o])+r.slice(o+1),p=""),!1===i&&(p=""),h){let t=e.styles.unstyle(l+p);return l+p+a(n.slice(t.length))}return l+p}},58386:(e,t,r)=>{"use strict";const A=r(28614),n=r(97991),o=r(30650),i=r(47159),s=r(61807),a=r(26205),c=r(10278),g=r(72380);class l extends A{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,a(this),i(this),this.state=new s(this),this.initial=[e.initial,e.default].find(e=>null!=e),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=function(e){"number"==typeof e&&(e=[e,e,e,e]);let t=[].concat(e||[]),r=e=>e%2==0?"\n":" ",A=[];for(let e=0;e<4;e++){let n=r(e);t[e]?A.push(n.repeat(t[e])):A.push("")}return A}(this.options.margin),this.setMaxListeners(0),function(e){let t=t=>void 0===e[t]||"function"==typeof e[t],r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],A=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(e.options)){if(r.includes(n))continue;if(/^on[A-Z]/.test(n))continue;let o=e.options[n];"function"==typeof o&&t(n)?A.includes(n)||(e[n]=o.bind(e)):"function"!=typeof e[n]&&(e[n]=o)}}(this)}async keypress(e,t={}){this.keypressed=!0;let r=o.action(e,o(e,t),this.options.actions);this.state.keypress=r,this.emit("keypress",e,r),this.emit("state",this.state.clone());let A=this.options[r.action]||this[r.action]||this.dispatch;if("function"==typeof A)return await A.call(this,e,r);this.alert()}alert(){delete this.state.alert,!1===this.options.show?this.emit("alert"):this.stdout.write(g.code.beep)}cursorHide(){this.stdout.write(g.cursor.hide()),c.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(g.cursor.show())}write(e){e&&(this.stdout&&!1!==this.state.show&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",(t||e)&&!1!==this.options.show&&this.stdout.write(g.cursor.down(e)+g.clear(t,this.width))}restore(){if(this.state.closed||!1===this.options.show)return;let{prompt:e,after:t,rest:r}=this.sections(),{cursor:A,initial:n="",input:o="",value:i=""}=this,s={after:t,cursor:A,initial:n,input:o,prompt:e,size:this.state.size=r.length,value:i},a=g.cursor.restore(s);a&&this.stdout.write(a)}sections(){let{buffer:e,input:t,prompt:r}=this.state;r=n.unstyle(r);let A=n.unstyle(e),o=A.indexOf(r),i=A.slice(0,o),s=A.slice(o).split("\n"),a=s[0],c=s[s.length-1],g=(r+(t?" "+t:"")).length,l=ge.call(this,this.value),this.result=()=>r.call(this,this.value),"function"==typeof t.initial&&(this.initial=await t.initial.call(this,this)),"function"==typeof t.onRun&&await t.onRun.call(this,this),"function"==typeof t.onSubmit){let e=t.onSubmit.bind(this),r=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await e(this.name,this.value,this),r())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,r){let{options:A,state:n,symbols:o,timers:i}=this,s=i&&i[e];n.timer=s;let a=A[e]||n[e]||o[e],c=t&&null!=t[e]?t[e]:await a;if(""===c)return c;let g=await this.resolve(c,n,t,r);return!g&&t&&t[e]?this.resolve(a,n,t,r):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,r=this.state;if(r.timer=t,c.isObject(e)&&(e=e[r.status]||e.pending),!c.hasColor(e)){return(this.styles[r.status]||this.styles.pending)(e)}return e}async message(){let e=await this.element("message");return c.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,r=this.state;r.timer=t;let A=e[r.status]||e.pending||r.separator,n=await this.resolve(A,r);return c.isObject(n)&&(n=n[r.status]||n.pending),c.hasColor(n)?n:this.styles.muted(n)}async pointer(e,t){let r=await this.element("pointer",e,t);if("string"==typeof r&&c.hasColor(r))return r;if(r){let e=this.styles,A=this.index===t,n=A?e.primary:e=>e,o=await this.resolve(r[A?"on":"off"]||r,this.state),i=c.hasColor(o)?o:n(o);return A?i:" ".repeat(o.length)}}async indicator(e,t){let r=await this.element("indicator",e,t);if("string"==typeof r&&c.hasColor(r))return r;if(r){let t=this.styles,A=!0===e.enabled,n=A?t.success:t.dark,o=r[A?"on":"off"]||r;return c.hasColor(o)?o:n(o)}return""}body(){return null}footer(){if("pending"===this.state.status)return this.element("footer")}header(){if("pending"===this.state.status)return this.element("header")}async hint(){if("pending"===this.state.status&&!this.isValue(this.state.input)){let e=await this.element("hint");return c.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return!0!==this.options.required||this.isValue(e)}isValue(e){return null!=e&&""!==e}resolve(e,...t){return c.resolve(this,e,...t)}get base(){return l.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||c.height(this.stdout,25)}get width(){return this.options.columns||c.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,r=[t,e].find(this.isValue.bind(this));return this.isValue(r)?r:this.initial}static get prompt(){return e=>new this(e).run()}}e.exports=l},63310:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:r}=this.state;return this.input=r.slice(0,t)+e+r.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return void 0===t[e]?this.alert():(this.input=(""+t).slice(0,e)+(""+t).slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if("function"==typeof this.options.suggest)return this.options.suggest.call(this,e,t);let r=e.toLowerCase();return t.filter(e=>e.message.toLowerCase().includes(r))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if("pending"!==this.state.status)return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=((e,t)=>{let r=e.toLowerCase();return e=>{let A=e.toLowerCase().indexOf(r),n=t(e.slice(A,A+r.length));return A>=0?e.slice(0,A)+n+e.slice(A+r.length):e}})(this.input,e),r=this.choices;this.choices=r.map(e=>({...e,message:t(e.message)})),await super.render(),this.choices=r}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}}},52810:(e,t,r)=>{"use strict";const A=r(46614);function n(e,t){return e.username===this.options.username&&e.password===this.options.password}const o=(e=n)=>{const t=[{name:"username",message:"username"},{name:"password",message:"password",format(e){if(this.options.showPassword)return e;return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length))}}];class r extends(A.create(e)){constructor(e){super({...e,choices:t})}static create(e){return o(e)}}return r};e.exports=o()},65742:(e,t,r)=>{"use strict";const A=r(82710);e.exports=class extends A{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}}},24570:(e,t,r)=>{"use strict";const A=r(31557),n=r(71447).prototype;e.exports=class extends A{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(e=>null!=e),this.emptyError="",this.values={}}dispatch(e,t){let r=this.focused,A=r.parent||{};return r.editable||A.editable||"a"!==e&&"i"!==e?n.dispatch.call(this,e,t):super[e]()}append(e,t){return n.append.call(this,e,t)}delete(e,t){return n.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?n.next.call(this):super.next()}prev(){return this.focused.editable?n.prev.call(this):super.prev()}async indicator(e,t){let r=e.indicator||"",A=e.editable?r:super.indicator(e,t);return await this.resolve(A,this.state,e,t)||""}indent(e){return"heading"===e.role?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?n.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if("function"!=typeof t.validate)continue;if("heading"===t.role)continue;let r=t.parent?this.value[t.parent.name]:this.value;if(t.editable?r=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(r=!0===t.enabled),e=await t.validate(r,this.state),!0!==e)break}return!0!==e&&(this.state.error="string"==typeof e?e:"Invalid Input"),e}submit(){if(!0===this.focused.newChoice)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;"heading"!==e.role?e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=!0===e.enabled):this.value[e.name]={}}return this.base.submit.call(this)}}},71447:(e,t,r)=>{"use strict";const A=r(97991),n=r(31557),o=r(96496);e.exports=class extends n{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(e=>null!=e),this.emptyError="",this.values={}}async reset(e){return await super.reset(),!0===e&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(e=>e.reset&&e.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:r,input:A}=t;return t.value=t.input=A.slice(0,r)+e+A.slice(r),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:r}=e;return e.value=e.input=r.slice(0,t-1)+r.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:r}=e;if(void 0===r[t])return this.alert();let A=(""+r).slice(0,t)+(""+r).slice(t+1);return e.value=e.input=A,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:r}=e;return t&&t.startsWith(r)&&r!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?0===e.cursor?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"⦿":"⊙"}async choiceSeparator(e,t){let r=await this.resolve(e.separator,this.state,e,t)||":";return r?" "+this.styles.disabled(r):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:r,styles:n}=this,{cursor:i,initial:s="",name:a,hint:c,input:g=""}=e,{muted:l,submitted:u,primary:h,danger:p}=n,d=c,C=this.index===t,f=e.validate||(()=>!0),I=await this.choiceSeparator(e,t),E=e.message;"right"===this.align&&(E=E.padStart(this.longest+1," ")),"left"===this.align&&(E=E.padEnd(this.longest+1," "));let B=this.values[a]=g||s,y=g?"success":"dark";!0!==await f.call(e,B,this.state)&&(y="danger");let m=(0,n[y])(await this.indicator(e,t))+(e.pad||""),w=this.indent(e),Q=()=>[w,m,E+I,g,d].filter(Boolean).join(" ");if(r.submitted)return E=A.unstyle(E),g=u(g),d="",Q();if(e.format)g=await e.format.call(this,g,e,t);else{let e=this.styles.muted;g=o(this,{input:g,initial:s,pos:i,showCursor:C,color:e})}return this.isValue(g)||(g=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,B,e,t)),C&&(E=h(E)),e.error?g+=(g?" ":"")+p(e.error.trim()):e.hint&&(g+=(g?" ":"")+l(e.hint.trim())),Q()}async submit(){return this.value=this.values,super.base.submit.call(this)}}},53609:(e,t,r)=>{"use strict";const A=r(10278),n=(e,r)=>{A.defineExport(t,e,r),A.defineExport(t,e.toLowerCase(),r)};n("AutoComplete",()=>r(63310)),n("BasicAuth",()=>r(52810)),n("Confirm",()=>r(65742)),n("Editable",()=>r(24570)),n("Form",()=>r(71447)),n("Input",()=>r(12372)),n("Invisible",()=>r(32684)),n("List",()=>r(40876)),n("MultiSelect",()=>r(42293)),n("Numeral",()=>r(42126)),n("Password",()=>r(84697)),n("Scale",()=>r(99580)),n("Select",()=>r(31557)),n("Snippet",()=>r(98094)),n("Sort",()=>r(60042)),n("Survey",()=>r(25223)),n("Text",()=>r(97298)),n("Toggle",()=>r(41817)),n("Quiz",()=>r(88677))},12372:(e,t,r)=>{"use strict";const A=r(45853),n=r(64083);e.exports=class extends A{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let e=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:e},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=n(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=n("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&!0===this.autosave&&this.save(),super.submit()}}},32684:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{format(){return""}}},40876:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:e=>e;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return!0!==t?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}}},42293:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){super({...e,multiple:!0})}}},42126:(e,t,r)=>{e.exports=r(64987)},84697:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e){super(e),this.cursorShow()}format(e=this.input){if(!this.keypressed)return"";return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length))}}},88677:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){if(super(e),"number"!=typeof this.options.correctChoice||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let r=await super.toChoices(e,t);if(r.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>r.length)throw new Error("Please specify the index of the correct answer from the list of choices");return r}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}}},99580:(e,t,r)=>{"use strict";const A=r(97991),n=r(14723),o=r(10278);e.exports=class extends n{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||"\n ";let t=e.startNumber||1;"number"==typeof this.scale&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((e,r)=>({name:r+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(!0===this.tableized)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let e=0;e=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){if(this.state.submitted){return this.choices.map(e=>this.styles.info(e.index)).join(", ")}return""}pointer(){return""}renderScaleKey(){if(!1===this.scaleKey)return"";if(this.state.submitted)return"";return["",...this.scale.map(e=>` ${e.name} - ${e.message}`)].map(e=>this.styles.muted(e)).join("\n")}renderScaleHeading(e){let t=this.scale.map(e=>e.name);"function"==typeof this.options.renderScaleHeading&&(t=this.options.renderScaleHeading.call(this,e));let r=this.scaleLength-t.join("").length,A=Math.round(r/(t.length-1)),n=t.map(e=>this.styles.strong(e)).join(" ".repeat(A)),o=" ".repeat(this.widths[0]);return this.margin[3]+o+this.margin[1]+n}scaleIndicator(e,t,r){if("function"==typeof this.options.scaleIndicator)return this.options.scaleIndicator.call(this,e,t,r);let A=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):A?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let r=e.scale.map(r=>this.scaleIndicator(e,r,t)),A="Hyper"===this.term?"":" ";return r.join(A+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,n=await this.pointer(e,t),i=await e.hint;i&&!o.hasColor(i)&&(i=this.styles.muted(i));let s=e=>this.margin[3]+e.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,c=this.indent(e),g=await this.resolve(e.message,this.state,e,t),l=await this.renderScale(e,t),u=this.margin[1]+this.margin[3];this.scaleLength=A.unstyle(l).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-u.length);let h=o.wordWrap(g,{width:this.widths[0],newline:a}).split("\n").map(e=>s(e)+this.margin[1]);return r&&(l=this.styles.info(l),h=h.map(e=>this.styles.info(e))),h[0]+=l,this.linebreak&&h.push(""),[c+n,h.join("\n")].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e),r=await this.renderScaleHeading();return this.margin[0]+[r,...t.map(e=>e.join(" "))].join("\n")}async render(){let{submitted:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=await this.message(),o="";!1!==this.options.promptLine&&(o=[r,n,A,""].join(" "),this.state.prompt=o);let i=await this.header(),s=await this.format(),a=await this.renderScaleKey(),c=await this.error()||await this.hint(),g=await this.renderChoices(),l=await this.footer(),u=this.emptyError;s&&(o+=s),c&&!o.includes(c)&&(o+=" "+c),e&&!s&&!g.trim()&&this.multiple&&null!=u&&(o+=this.styles.danger(u)),this.clear(t),this.write([i,o,a,g,l].filter(Boolean).join("\n")),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}}},31557:(e,t,r)=>{"use strict";const A=r(14723),n=r(10278);e.exports=class extends A{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let r=this.resolve(e.message,this.state,e,t);return"heading"!==e.role||n.hasColor(r)||(r=this.styles.strong(r)),this.resolve(r,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,A=await this.pointer(e,t),o=await this.indicator(e,t)+(e.pad||""),i=await this.resolve(e.hint,this.state,e,t);i&&!n.hasColor(i)&&(i=this.styles.muted(i));let s=this.indent(e),a=await this.choiceMessage(e,t),c=()=>[this.margin[3],s+A+o,a,this.margin[1],i].filter(Boolean).join(" ");return"heading"===e.role?c():e.disabled?(n.hasColor(a)||(a=this.styles.disabled(a)),c()):(r&&(a=this.styles.em(a)),c())}async renderChoices(){if("choices"===this.state.loading)return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let r,A=this.margin[0]+t.join("\n");return this.options.choicesHeader&&(r=await this.resolve(this.options.choicesHeader,this.state)),[r,A].filter(Boolean).join("\n")}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,r="",A=await this.header(),n=await this.prefix(),o=await this.separator(),i=await this.message();!1!==this.options.promptLine&&(r=[n,i,o,""].join(" "),this.state.prompt=r);let s=await this.format(),a=await this.error()||await this.hint(),c=await this.renderChoices(),g=await this.footer();s&&(r+=s),a&&!r.includes(a)&&(r+=" "+a),e&&!s&&!c.trim()&&this.multiple&&null!=this.emptyError&&(r+=this.styles.danger(this.emptyError)),this.clear(t),this.write([A,r,c,g].filter(Boolean).join("\n")),this.write(this.margin[2]),this.restore()}}},98094:(e,t,r)=>{"use strict";const A=r(97991),n=r(84368),o=r(58386);e.exports=class extends o{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await n(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},!0!==e&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){t.code||t.ctrl||null==e||!this.getItem()?this.alert():this.append(e,t)}append(e,t){let r=this.getItem(),A=r.input.slice(0,this.cursor),n=r.input.slice(this.cursor);this.input=r.input=`${A}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),r=e.input.slice(0,this.cursor-1);this.input=e.input=`${r}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return!0===this.state.submitted&&100!==this.state.completed&&(t=this.styles.danger),t(this.state.completed+"% completed")}async render(){let{index:e,keys:t=[],submitted:r,size:A}=this.state,n=[this.options.newline,"\n"].find(e=>null!=e),o=await this.prefix(),i=await this.separator(),s=[o,await this.message(),i].filter(Boolean).join(" ");this.state.prompt=s;let a=await this.header(),c=await this.error()||"",g=await this.hint()||"",l=r?"":await this.interpolate(this.state),u=this.state.key=t[e]||"",h=await this.format(u),p=await this.footer();h&&(s+=" "+h),g&&!h&&0===this.state.completed&&(s+=" "+g),this.clear(A);let d=[a,s,l,p,c.trim()];this.write(d.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:t,keys:r,index:A}=this.state,n=t.find(e=>e.name===r[A]);return n&&null!=n.input&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){"function"!=typeof this.interpolate&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:r,values:n}=this.state;if(e.size){let t="";for(let[r,A]of e)t+=`Invalid ${r}: ${A}\n`;return this.state.error=t,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=A.unstyle(r).split("\n").map(e=>e.slice(1)).join("\n");return this.value={values:n,result:o},super.submit()}}},60042:(e,t,r)=>{"use strict";const A="(Use + to sort)",n=r(31557);e.exports=class extends n{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,A].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let r=await super.renderChoice(e,t),A=this.symbols.identicalTo+" ",n=this.index===t&&this.sorting?this.styles.muted(A):" ";return!1===this.options.drag&&(n=""),!0===this.options.numbered?n+(t+1+" - ")+r:n+r}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}}},25223:(e,t,r)=>{"use strict";const A=r(14723);function n(e,t={}){if(Array.isArray(t.scale))return t.scale.map(e=>({...e}));let r=[];for(let t=1;tthis.styles.muted(e)),this.state.header=e.join("\n ")}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let e of t)e.scale=n(5,this.options),e.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],r=t.selected;return e.scale.forEach(e=>e.selected=!1),t.selected=!r,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,A="Hyper"===this.term,n=A?9:8,o=A?"":" ",i=this.symbols.line.repeat(n),s=" ".repeat(n+(A?0:1)),a=e=>(e?this.styles.success("◉"):"◯")+o,c=t+1+".",g=r?this.styles.heading:this.styles.noop,l=await this.resolve(e.message,this.state,e,t),u=this.indent(e),h=u+e.scale.map((t,r)=>a(r===e.scaleIdx)).join(i),p=u+e.scale.map((t,r)=>(t=>t===e.scaleIdx?g(t):t)(r)).join(s);return r&&(h=this.styles.cyan(h),p=this.styles.cyan(p)),[[c,l].filter(Boolean).join(" "),h,p," "].filter(Boolean).join("\n")}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join("\n")}format(){if(this.state.submitted){return this.choices.map(e=>this.styles.info(e.scaleIdx)).join(", ")}return""}async render(){let{submitted:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=[r,await this.message(),A].filter(Boolean).join(" ");this.state.prompt=n;let o=await this.header(),i=await this.format(),s=await this.error()||await this.hint(),a=await this.renderChoices(),c=await this.footer();!i&&s||(n+=" "+i),s&&!n.includes(s)&&(n+=" "+s),e&&!i&&!a&&this.multiple&&"form"!==this.type&&(n+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,o,a,c].filter(Boolean).join("\n")),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}}},97298:(e,t,r)=>{e.exports=r(12372)},41817:(e,t,r)=>{"use strict";const A=r(82710);e.exports=class extends A{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(!0===this.value)return this.alert();this.value=!0,this.render()}disable(){if(!1===this.value)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=e=>this.styles.primary.underline(e);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),r=await this.prefix(),A=await this.separator(),n=await this.message(),o=await this.format(),i=await this.error()||await this.hint(),s=await this.footer(),a=[r,n,A,o].join(" ");this.state.prompt=a,i&&!a.includes(i)&&(a+=" "+i),this.clear(e),this.write([t,a,s].filter(Boolean).join("\n")),this.write(this.margin[2]),this.restore()}}},27011:(e,t,r)=>{"use strict";const A=r(10278),n={default:(e,t)=>t,checkbox(e,t){throw new Error("checkbox role is not implemented yet")},editable(e,t){throw new Error("editable role is not implemented yet")},expandable(e,t){throw new Error("expandable role is not implemented yet")},heading:(e,t)=>(t.disabled="",t.indicator=[t.indicator," "].find(e=>null!=e),t.message=t.message||"",t),input(e,t){throw new Error("input role is not implemented yet")},option:(e,t)=>n.default(e,t),radio(e,t){throw new Error("radio role is not implemented yet")},separator:(e,t)=>(t.disabled="",t.indicator=[t.indicator," "].find(e=>null!=e),t.message=t.message||e.symbols.line.repeat(5),t),spacer:(e,t)=>t};e.exports=(e,t={})=>{let r=A.merge({},n,t.roles);return r[e]||r.default}},61807:(e,t,r)=>{"use strict";const{define:A,width:n}=r(10278);e.exports=class{constructor(e){let t=e.options;A(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=n(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return"function"==typeof t?t:e.pending}set loading(e){this._loading=e}get loading(){return"boolean"==typeof this._loading?this._loading:!!this.loadingChoices&&"choices"}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}}},64402:(e,t,r)=>{"use strict";const A=r(10278),n=r(97991),o={default:n.noop,noop:n.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||A.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||A.complement(this.primary)},primary:n.cyan,success:n.green,danger:n.magenta,strong:n.bold,warning:n.yellow,muted:n.dim,disabled:n.gray,dark:n.dim.gray,underline:n.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse},merge:(e={})=>{e.styles&&"boolean"==typeof e.styles.enabled&&(n.enabled=e.styles.enabled),e.styles&&"boolean"==typeof e.styles.visible&&(n.visible=e.styles.visible);let t=A.merge({},o,e.styles);delete t.merge;for(let e of Object.keys(n))t.hasOwnProperty(e)||Reflect.defineProperty(t,e,{get:()=>n[e]});for(let e of Object.keys(n.styles))t.hasOwnProperty(e)||Reflect.defineProperty(t,e,{get:()=>n[e]});return t}};e.exports=o},50511:(e,t,r)=>{"use strict";const A="win32"===process.platform,n=r(97991),o=r(10278),i={...n.symbols,upDownDoubleArrow:"⇕",upDownDoubleArrow2:"⬍",upDownArrow:"↕",asterisk:"*",asterism:"⁂",bulletWhite:"◦",electricArrow:"⌁",ellipsisLarge:"⋯",ellipsisSmall:"…",fullBlock:"█",identicalTo:"≡",indicator:n.symbols.check,leftAngle:"‹",mark:"※",minus:"−",multiplication:"×",obelus:"÷",percent:"%",pilcrow:"¶",pilcrow2:"❡",pencilUpRight:"✐",pencilDownRight:"✎",pencilRight:"✏",plus:"+",plusMinus:"±",pointRight:"☞",rightAngle:"›",section:"§",hexagon:{off:"⬡",on:"⬢",disabled:"⬢"},ballot:{on:"☑",off:"☐",disabled:"☒"},stars:{on:"★",off:"☆",disabled:"☆"},folder:{on:"▼",off:"▶",disabled:"▶"},prefix:{pending:n.symbols.question,submitted:n.symbols.check,cancelled:n.symbols.cross},separator:{pending:n.symbols.pointerSmall,submitted:n.symbols.middot,cancelled:n.symbols.middot},radio:{off:A?"( )":"◯",on:A?"(*)":"◉",disabled:A?"(|)":"Ⓘ"},numbers:["⓪","①","②","③","④","⑤","⑥","⑦","⑧","⑨","⑩","⑪","⑫","⑬","⑭","⑮","⑯","⑰","⑱","⑲","⑳","㉑","㉒","㉓","㉔","㉕","㉖","㉗","㉘","㉙","㉚","㉛","㉜","㉝","㉞","㉟","㊱","㊲","㊳","㊴","㊵","㊶","㊷","㊸","㊹","㊺","㊻","㊼","㊽","㊾","㊿"]};i.merge=e=>{let t=o.merge({},n.symbols,i,e.symbols);return delete t.merge,t},e.exports=i},26205:(e,t,r)=>{"use strict";const A=r(64402),n=r(50511),o=r(10278);e.exports=e=>{e.options=o.merge({},e.options.theme,e.options),e.symbols=n.merge(e.options),e.styles=A.merge(e.options)}},47159:e=>{"use strict";function t(e,t,r={}){let A=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},n=r.interval||120;A.frames=r.frames||[],A.loading=!0;let o=setInterval(()=>{A.ms=Date.now()-A.start,A.tick++,e.render()},n);return A.stop=()=>{A.loading=!1,clearInterval(o)},Reflect.defineProperty(A,"interval",{value:o}),e.once("close",()=>A.stop()),A.stop}e.exports=e=>{e.timers=e.timers||{};let r=e.options.timers;if(r)for(let A of Object.keys(r)){let n=r[A];"number"==typeof n&&(n={interval:n}),t(e,A,n)}}},14723:(e,t,r)=>{"use strict";const A=r(97991),n=r(58386),o=r(27011),i=r(10278),{reorder:s,scrollUp:a,scrollDown:c,isObject:g,swap:l}=i;function u(e,t){if(t instanceof Promise)return t;if("function"==typeof t){if(i.isAsyncFn(t))return t;t=t.call(e,e)}for(let r of t){if(Array.isArray(r.choices)){let t=r.choices.filter(t=>!e.isDisabled(t));r.enabled=t.every(e=>!0===e.enabled)}!0===e.isDisabled(r)&&delete r.enabled}return t}e.exports=class extends n{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){"function"==typeof this.options.initial&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:r,suggest:A}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(e=>e.enabled=!1),"function"!=typeof A&&0===this.selectable.length)throw new Error("At least one choice must be selectable");g(t)&&(t=Object.keys(t)),Array.isArray(t)?(null!=r&&(this.index=this.findIndex(r)),t.forEach(e=>this.enable(this.find(e))),await this.render()):(null!=r&&(t=r),"string"==typeof t&&(t=this.findIndex(t)),"number"==typeof t&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let r=[],A=0,n=async(e,t)=>{"function"==typeof e&&(e=await e.call(this)),e instanceof Promise&&(e=await e);for(let o=0;o(this.state.loadingChoices=!1,e))}async toChoice(e,t,r){if("function"==typeof e&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),"string"==typeof e&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value,s=o(e.role,this.options);if("string"!=typeof(e=s(this,e)).disabled||e.hint||(e.hint=e.disabled,e.disabled=!0),!0===e.disabled&&null==e.hint&&(e.hint="(disabled)"),null!=e.index)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,i.define(e,"parent",r),e.level=r?r.level+1:1,null==e.indent&&(e.indent=r?r.indent+" ":e.indent||""),e.path=r?r.path+"."+e.name:e.name,e.enabled=!(!this.multiple||this.isDisabled(e)||!e.enabled&&!this.isSelected(e)),this.isDisabled(e)||(this.longest=Math.max(this.longest,A.unstyle(e.message).length));let a={...e};return e.reset=(t=a.input,r=a.value)=>{for(let t of Object.keys(a))e[t]=a[t];e.input=t,e.value=r},null==n&&"function"==typeof e.initial&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),"function"==typeof e.onChoice&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,r){let A=await this.toChoice(e,t,r);return this.choices.push(A),this.index=this.choices.length-1,this.limit=this.choices.length,A}async newItem(e,t,r){let A={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(A,t,r);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return null==e.indent?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return"boolean"!=typeof t&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectede.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(e=>!!e.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();"boolean"!=typeof t&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(e=>this.toggle(e,t));let r=e.parent;for(;r;){let e=r.choices.filter(e=>this.isDisabled(e));r.enabled=e.every(e=>!0===e.enabled),r=r.parent}return u(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=e=>{let t=Number(e);if(t>this.choices.length-1)return this.alert();let r=this.focused,A=this.choices.find(e=>t===e.index);if(!A.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(-1===this.visible.indexOf(A)){let e=s(this.choices),t=e.indexOf(A);if(r.index>t){let r=e.slice(t,t+this.limit),A=e.filter(e=>!r.includes(e));this.choices=r.concat(A)}else{let r=t-this.limit+1;this.choices=e.slice(r).concat(e.slice(0,r))}}return this.index=this.choices.indexOf(A),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(e=>{let r=this.choices.length,A=this.num,n=(r=!1,n)=>{clearTimeout(this.numberTimeout),r&&(n=t(A)),this.num="",e(n)};return"0"===A||1===A.length&&Number(A+"0")>r?n(!0):Number(A)>r?n(!1,this.alert()):void(this.numberTimeout=setTimeout(()=>n(!0),this.delay))})}home(){return this.choices=s(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=s(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,r=this.index;return!1===this.options.scroll&&0===r?this.alert():e>t&&0===r?this.scrollUp():(this.index=(r-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,r=this.index;return!1===this.options.scroll&&r===t-1?this.alert():e>t&&r===t-1?this.scrollDown():(this.index=(r+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=a(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=c(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){return!0===this.options.sort?(this.sorting=!0,this.swap(this.index-1),await this.up(),void(this.sorting=!1)):this.scrollUp(this.index)}async shiftDown(){return!0===this.options.sort?(this.sorting=!0,this.swap(this.index+1),await this.down(),void(this.sorting=!1)):this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){l(this.choices,this.index,e)}isDisabled(e=this.focused){return!(!e||!["disabled","collapsed","hidden","completing","readonly"].some(t=>!0===e[t]))||e&&"heading"===e.role}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(e=>this.isEnabled(e));if(e.choices){let t=e.choices.filter(e=>!this.isDisabled(e));return e.enabled&&t.every(e=>this.isEnabled(e))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((e,r)=>(e[r]=this.find(r,t),e),{})}filter(e,t){let r="function"==typeof e?e:(t,r)=>[t.name,r].includes(e),A=(this.options.multiple?this.state._choices:this.choices).filter(r);return t?A.map(e=>e[t]):A}find(e,t){if(g(e))return t?e[t]:e;let r="function"==typeof e?e:(t,r)=>[t.name,r].includes(e),A=this.choices.find(r);return A?t?A[t]:A:void 0}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(e=>e.newChoice))return this.alert();let{reorder:t,sort:r}=this.options,A=!0===this.multiple,n=this.selected;return void 0===n?this.alert():(Array.isArray(n)&&!1!==t&&!0!==r&&(n=i.reorder(n)),this.value=A?n.map(e=>e.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(e=>e.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let e=this.initial;if("string"==typeof e||"number"==typeof e){let t=this.find(e);t&&(this.initial=t.index,this.focus(t,!0))}}}get choices(){return u(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:r}=this,A=e.limit||this._limit||t.limit||r.length;return Math.min(A,this.height)}set value(e){super.value=e}get value(){return"string"!=typeof super.value&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&!0!==this.multiple&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}}},46614:(e,t,r)=>{"use strict";const A=r(71447),n=()=>{throw new Error("expected prompt to have a custom authenticate method")},o=(e=n)=>class extends A{constructor(e){super(e)}async submit(){this.value=await e.call(this,this.values,this.state),super.base.submit.call(this)}static create(e){return o(e)}};e.exports=o()},82710:(e,t,r)=>{"use strict";const A=r(58386),{isPrimitive:n,hasColor:o}=r(10278);e.exports=class extends A{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:r}=this;return r.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return n(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if("pending"===this.state.status){let e=await this.element("hint");return o(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=[r,await this.message(),this.styles.muted(this.default),A].filter(Boolean).join(" ");this.state.prompt=n;let o=await this.header(),i=this.value=this.cast(e),s=await this.format(i),a=await this.error()||await this.hint(),c=await this.footer();a&&!n.includes(a)&&(s+=" "+a),n+=" "+s,this.clear(t),this.write([o,n,c].filter(Boolean).join("\n")),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}}},13235:(e,t,r)=>{e.exports={ArrayPrompt:r(14723),AuthPrompt:r(46614),BooleanPrompt:r(82710),NumberPrompt:r(64987),StringPrompt:r(45853)}},64987:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=null!=e.delay?e.delay:1e3,this.float=!1!==e.float,this.round=!0===e.round||!1===e.float,this.major=e.major||10,this.minor=e.minor||1,this.initial=null!=e.initial?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||"."===e&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,r=this.toNumber(this.input);return r>this.max+t?this.alert():(this.input=""+(r+t),this.render())}down(e){let t=e||this.minor,r=this.toNumber(this.input);return rthis.isValue(e));return this.value=this.toNumber(e||0),super.submit()}}},45853:(e,t,r)=>{"use strict";const A=r(58386),n=r(96496),{isPrimitive:o}=r(10278);e.exports=class extends A{constructor(e){super(e),this.initial=o(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let r=this.state.prevKeypress;return this.state.prevKeypress=t,!0!==this.options.multiline||"return"!==t.name||r&&"return"===r.name?super.keypress(e,t):this.append("\n",t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:r}=this.state;this.input=(""+r).slice(0,t)+e+(""+r).slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=(""+t).slice(0,e-1)+(""+t).slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(void 0===t[e])return this.alert();this.input=(""+t).slice(0,e)+(""+t).slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(0===e)return this.alert();let t=this.input.slice(0,e),r=this.input.slice(e),A=t.split(" ");this.state.clipboard.push(A.pop()),this.input=A.join(" "),this.cursor=this.input.length,this.input+=r,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=null!=this.initial?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):n(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),r=await this.separator(),A=[t,await this.message(),r].filter(Boolean).join(" ");this.state.prompt=A;let n=await this.header(),o=await this.format(),i=await this.error()||await this.hint(),s=await this.footer();i&&!o.includes(i)&&(o+=" "+i),A+=" "+o,this.clear(e),this.write([n,A,s].filter(Boolean).join("\n")),this.restore()}}},10278:(e,t,r)=>{"use strict";const A=Object.prototype.toString,n=r(97991);let o=!1,i=[];const s={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};t.longest=(e,t)=>e.reduce((e,r)=>Math.max(e,t?r[t].length:r.length),0),t.hasColor=e=>!!e&&n.hasColor(e);const a=t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e);t.nativeType=e=>A.call(e).slice(8,-1).toLowerCase().replace(/\s/g,""),t.isAsyncFn=e=>"asyncfunction"===t.nativeType(e),t.isPrimitive=e=>null!=e&&"object"!=typeof e&&"function"!=typeof e,t.resolve=(e,t,...r)=>"function"==typeof t?t.call(e,...r):t,t.scrollDown=(e=[])=>[...e.slice(1),e[0]],t.scrollUp=(e=[])=>[e.pop(),...e],t.reorder=(e=[])=>{let t=e.slice();return t.sort((e,t)=>e.index>t.index?1:e.index{let A=e.length,n=r===A?0:r<0?A-1:r,o=e[t];e[t]=e[n],e[n]=o},t.width=(e,t=80)=>{let r=e&&e.columns?e.columns:t;return e&&"function"==typeof e.getWindowSize&&(r=e.getWindowSize()[0]),"win32"===process.platform?r-1:r},t.height=(e,t=20)=>{let r=e&&e.rows?e.rows:t;return e&&"function"==typeof e.getWindowSize&&(r=e.getWindowSize()[1]),r},t.wordWrap=(e,t={})=>{if(!e)return e;"number"==typeof t&&(t={width:t});let{indent:r="",newline:A="\n"+r,width:n=80}=t,o=(A+r).match(/[^\S\n]/g)||[];n-=o.length;let i=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,s=e.trim(),a=new RegExp(i,"g"),c=s.match(a)||[];return c=c.map(e=>e.replace(/\n$/,"")),t.padEnd&&(c=c.map(e=>e.padEnd(n," "))),t.padStart&&(c=c.map(e=>e.padStart(n," "))),r+c.join(A)},t.unmute=e=>{let t=e.stack.find(e=>n.keys.color.includes(e));return t?n[t]:e.stack.find(e=>"bg"===e.slice(2))?n[t.slice(2)]:e=>e},t.pascal=e=>e?e[0].toUpperCase()+e.slice(1):"",t.inverse=e=>{if(!e||!e.stack)return e;let r=e.stack.find(e=>n.keys.color.includes(e));if(r){let A=n["bg"+t.pascal(r)];return A?A.black:e}let A=e.stack.find(e=>"bg"===e.slice(0,2));return A?n[A.slice(2).toLowerCase()]||e:n.none},t.complement=e=>{if(!e||!e.stack)return e;let r=e.stack.find(e=>n.keys.color.includes(e)),A=e.stack.find(e=>"bg"===e.slice(0,2));if(r&&!A)return n[s[r]||r];if(A){let r=A.slice(2).toLowerCase(),o=s[r];return o&&n["bg"+t.pascal(o)]||e}return n.none},t.meridiem=e=>{let t=e.getHours(),r=e.getMinutes(),A=t>=12?"pm":"am";return t%=12,(0===t?12:t)+":"+(r<10?"0"+r:r)+" "+A},t.set=(e={},r="",A)=>r.split(".").reduce((e,r,n,o)=>{let i=o.length-1>n?e[r]||{}:A;return!t.isObject(i)&&n{let A=null==e[t]?t.split(".").reduce((e,t)=>e&&e[t],e):e[t];return null==A?r:A},t.mixin=(e,r)=>{if(!a(e))return r;if(!a(r))return e;for(let A of Object.keys(r)){let n=Object.getOwnPropertyDescriptor(r,A);if(n.hasOwnProperty("value"))if(e.hasOwnProperty(A)&&a(n.value)){let o=Object.getOwnPropertyDescriptor(e,A);a(o.value)?e[A]=t.merge({},e[A],r[A]):Reflect.defineProperty(e,A,n)}else Reflect.defineProperty(e,A,n);else Reflect.defineProperty(e,A,n)}return e},t.merge=(...e)=>{let r={};for(let A of e)t.mixin(r,A);return r},t.mixinEmitter=(e,r)=>{let A=r.constructor.prototype;for(let n of Object.keys(A)){let o=A[n];"function"==typeof o?t.define(e,n,o.bind(r)):t.define(e,n,o)}},t.onExit=e=>{const t=(e,t)=>{o||(o=!0,i.forEach(e=>e()),!0===e&&process.exit(128+t))};0===i.length&&(process.once("SIGTERM",t.bind(null,!0,15)),process.once("SIGINT",t.bind(null,!0,2)),process.once("exit",t)),i.push(e)},t.define=(e,t,r)=>{Reflect.defineProperty(e,t,{value:r})},t.defineExport=(e,t,r)=>{let A;Reflect.defineProperty(e,t,{enumerable:!0,configurable:!0,set(e){A=e},get:()=>A?A():r()})}},19347:(e,t,r)=>{"use strict";const A=r(80598),n=r(58182),o=r(67652),i=r(81340),s=r(43754),a=r(16777);async function c(e,t){l(e);const r=g(e,n.default,t),A=await Promise.all(r);return a.array.flatten(A)}function g(e,t,r){const n=[].concat(e),o=new s.default(r),i=A.generate(n,o),a=new t(o);return i.map(a.read,a)}function l(e){if(![].concat(e).every(e=>a.string.isString(e)&&!a.string.isEmpty(e)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}!function(e){e.sync=function(e,t){l(e);const r=g(e,i.default,t);return a.array.flatten(r)},e.stream=function(e,t){l(e);const r=g(e,o.default,t);return a.stream.merge(r)},e.generateTasks=function(e,t){l(e);const r=[].concat(e),n=new s.default(t);return A.generate(r,n)},e.isDynamicPattern=function(e,t){l(e);const r=new s.default(t);return a.pattern.isDynamicPattern(e,r)},e.escapePath=function(e){return l(e),a.path.escape(e)}}(c||(c={})),e.exports=c},80598:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);function n(e,t,r){const A=s(e);if("."in A){return[c(".",e,t,r)]}return a(A,t,r)}function o(e){return A.pattern.getPositivePatterns(e)}function i(e,t){return A.pattern.getNegativePatterns(e).concat(t).map(A.pattern.convertToPositivePattern)}function s(e){return e.reduce((e,t)=>{const r=A.pattern.getBaseDirectory(t);return r in e?e[r].push(t):e[r]=[t],e},{})}function a(e,t,r){return Object.keys(e).map(A=>c(A,e[A],t,r))}function c(e,t,r,n){return{dynamic:n,positive:t,negative:r,base:e,patterns:[].concat(t,r.map(A.pattern.convertToNegativePattern))}}t.generate=function(e,t){const r=o(e),s=i(e,t.ignore),a=r.filter(e=>A.pattern.isStaticPattern(e,t)),c=r.filter(e=>A.pattern.isDynamicPattern(e,t)),g=n(a,s,!1),l=n(c,s,!0);return g.concat(l)},t.convertPatternsToTasks=n,t.getPositivePatterns=o,t.getNegativePatternsAsPositive=i,t.groupPatternsByBaseDirectory=s,t.convertPatternGroupsToTasks=a,t.convertPatternGroupToTask=c},58182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(82774),n=r(40545);class o extends n.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e),A=[];return new Promise((n,o)=>{const i=this.api(t,e,r);i.once("error",o),i.on("data",e=>A.push(r.transform(e))),i.once("end",()=>n(A))})}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=o},65989:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777),n=r(42585);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,r){const A=this._getMatcher(t),n=this._getNegativePatternsRe(r);return t=>this._filter(e,t,A,n)}_getMatcher(e){return new n.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){const t=e.filter(A.pattern.isAffectDepthOfReadingPattern);return A.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,r,n){const o=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(o))return!1;if(this._isSkippedSymbolicLink(t))return!1;const i=A.path.removeLeadingDotSegment(t.path);return!this._isSkippedByPositivePatterns(i,r)&&this._isSkippedByNegativePatterns(i,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){const r=e.split("/").length;return t.split("/").length-(""===e?0:r)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!A.pattern.matchAny(e,t)}}},37338:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){const r=A.pattern.convertPatternsToRe(e,this._micromatchOptions),n=A.pattern.convertPatternsToRe(t,this._micromatchOptions);return e=>this._filter(e,r,n)}_filter(e,t,r){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e))return!1;if(this._isSkippedByAbsoluteNegativePatterns(e,r))return!1;const A=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(A,t)&&!this._isMatchToPatterns(e.path,r)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;const r=A.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(r,t)}_isMatchToPatterns(e,t){const r=A.path.removeLeadingDotSegment(e);return A.pattern.matchAny(r,t)}}},54345:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return A.errno.isEnoentCodeError(e)||this._settings.suppressErrors}}},34789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e,t,r){this._patterns=e,this._settings=t,this._micromatchOptions=r,this._storage=[],this._fillStorage()}_fillStorage(){const e=A.pattern.expandPatternsWithBraceExpansion(this._patterns);for(const t of e){const e=this._getPatternSegments(t),r=this._splitSegmentsIntoSections(e);this._storage.push({complete:r.length<=1,pattern:t,segments:e,sections:r})}}_getPatternSegments(e){return A.pattern.getPatternParts(e,this._micromatchOptions).map(e=>A.pattern.isDynamicPattern(e,this._settings)?{dynamic:!0,pattern:e,patternRe:A.pattern.makeRe(e,this._micromatchOptions)}:{dynamic:!1,pattern:e})}_splitSegmentsIntoSections(e){return A.array.splitWhen(e,e=>e.dynamic&&A.pattern.hasGlobStar(e.pattern))}}},42585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(34789);class n extends A.default{match(e){const t=e.split("/"),r=t.length,A=this._storage.filter(e=>!e.complete||e.segments.length>r);for(const e of A){const A=e.sections[0];if(!e.complete&&r>A.length)return!0;if(t.every((t,r)=>{const A=e.segments[r];return!(!A.dynamic||!A.patternRe.test(t))||!A.dynamic&&A.pattern===t}))return!0}return!1}}t.default=n},40545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(65989),o=r(37338),i=r(54345),s=r(77541);t.default=class{constructor(e){this._settings=e,this.errorFilter=new i.default(this._settings),this.entryFilter=new o.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new n.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new s.default(this._settings)}_getRootDirectory(e){return A.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){const t="."===e.base?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}}},67652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(82774),o=r(40545);class i extends o.default{constructor(){super(...arguments),this._reader=new n.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e),n=this.api(t,e,r),o=new A.Readable({objectMode:!0,read:()=>{}});return n.once("error",e=>o.emit("error",e)).on("data",e=>o.emit("data",r.transform(e))).once("end",()=>o.emit("end")),o.once("close",()=>n.destroy()),o}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=i},81340:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(29543),n=r(40545);class o extends n.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e);return this.api(t,e,r).map(r.transform)}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=o},77541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=A.path.makeAbsolute(this._settings.cwd,t),t=A.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}}},99458:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(53403),o=r(16777);t.default=class{constructor(e){this._settings=e,this._fsStatSettings=new n.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return A.resolve(this._settings.cwd,e)}_makeEntry(e,t){const r={name:t,path:t,dirent:o.fs.createDirentFromStats(t,e)};return this._settings.stats&&(r.stats=e),r}_isFatalError(e){return!o.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}}},82774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(53403),o=r(72897),i=r(99458);class s extends i.default{constructor(){super(...arguments),this._walkStream=o.walkStream,this._stat=n.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){const r=e.map(this._getFullEntryPath,this),n=new A.PassThrough({objectMode:!0});n._write=(A,o,i)=>this._getEntry(r[A],e[A],t).then(e=>{null!==e&&t.entryFilter(e)&&n.push(e),A===r.length-1&&n.end(),i()}).catch(i);for(let e=0;ethis._makeEntry(e,t)).catch(e=>{if(r.errorFilter(e))return null;throw e})}_getStat(e){return new Promise((t,r)=>{this._stat(e,this._fsStatSettings,(e,A)=>null===e?t(A):r(e))})}}t.default=s},29543:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(72897),o=r(99458);class i extends o.default{constructor(){super(...arguments),this._walkSync=n.walkSync,this._statSync=A.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){const r=[];for(const A of e){const e=this._getFullEntryPath(A),n=this._getEntry(e,A,t);null!==n&&t.entryFilter(n)&&r.push(n)}return r}_getEntry(e,t,r){try{const r=this._getStat(e);return this._makeEntry(r,t)}catch(e){if(r.errorFilter(e))return null;throw e}}_getStat(e){return this._statSync(e,this._fsStatSettings)}}t.default=i},43754:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747),n=r(12087).cpus().length;t.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:A.lstat,lstatSync:A.lstatSync,stat:A.stat,statSync:A.statSync,readdir:A.readdir,readdirSync:A.readdirSync};t.default=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,n),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return void 0===e?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},t.DEFAULT_FILE_SYSTEM_ADAPTER),e)}}},60919:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flatten=function(e){return e.reduce((e,t)=>[].concat(e,t),[])},t.splitWhen=function(e,t){const r=[[]];let A=0;for(const n of e)t(n)?(A++,r[A]=[]):r[A].push(n);return r}},35525:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEnoentCodeError=function(e){return"ENOENT"===e.code}},62524:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},16777:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(60919);t.array=A;const n=r(35525);t.errno=n;const o=r(62524);t.fs=o;const i=r(71462);t.path=i;const s=r(14659);t.pattern=s;const a=r(2042);t.stream=a;const c=r(10217);t.string=c},71462:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;t.unixify=function(e){return e.replace(/\\/g,"/")},t.makeAbsolute=function(e,t){return A.resolve(e,t)},t.escape=function(e){return e.replace(n,"\\$2")},t.removeLeadingDotSegment=function(e){if("."===e.charAt(0)){const t=e.charAt(1);if("/"===t||"\\"===t)return e.slice(2)}return e}},14659:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(97098),o=r(2401),i=r(54722),s=/[*?]|^!/,a=/\[.*]/,c=/(?:^|[^!*+?@])\(.*\|.*\)/,g=/[!*+?@]\(.*\)/,l=/{.*(?:,|\.\.).*}/;function u(e,t={}){return!h(e,t)}function h(e,t={}){return!(!1!==t.caseSensitiveMatch&&!e.includes("\\"))||(!!(s.test(e)||a.test(e)||c.test(e))||(!(!1===t.extglob||!g.test(e))||!(!1===t.braceExpansion||!l.test(e))))}function p(e){return e.startsWith("!")&&"("!==e[1]}function d(e){return!p(e)}function C(e){return e.endsWith("/**")}function f(e){return o.braces(e,{expand:!0,nodupes:!0})}function I(e,t){return o.makeRe(e,t)}t.isStaticPattern=u,t.isDynamicPattern=h,t.convertToPositivePattern=function(e){return p(e)?e.slice(1):e},t.convertToNegativePattern=function(e){return"!"+e},t.isNegativePattern=p,t.isPositivePattern=d,t.getNegativePatterns=function(e){return e.filter(p)},t.getPositivePatterns=function(e){return e.filter(d)},t.getBaseDirectory=function(e){return n(e,{flipBackslashes:!1})},t.hasGlobStar=function(e){return e.includes("**")},t.endsWithSlashGlobStar=C,t.isAffectDepthOfReadingPattern=function(e){const t=A.basename(e);return C(e)||u(t)},t.expandPatternsWithBraceExpansion=function(e){return e.reduce((e,t)=>e.concat(f(t)),[])},t.expandBraceExpansion=f,t.getPatternParts=function(e,t){const r=i.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return 0===r.parts.length?[e]:r.parts},t.makeRe=I,t.convertPatternsToRe=function(e,t){return e.map(e=>I(e,t))},t.matchAny=function(e,t){return t.some(t=>t.test(e))}},2042:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(55598);function n(e){e.forEach(e=>e.emit("close"))}t.merge=function(e){const t=A(e);return e.forEach(e=>{e.once("error",e=>t.emit("error",e))}),t.once("close",()=>n(e)),t.once("end",()=>n(e)),t}},10217:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isString=function(e){return"string"==typeof e},t.isEmpty=function(e){return""===e}},98360:(e,t,r)=>{"use strict";var A=r(2383);function n(){}function o(){this.value=null,this.callback=n,this.next=null,this.release=n,this.context=null;var e=this;this.worked=function(t,r){var A=e.callback;e.value=null,e.callback=n,A.call(e.context,t,r),e.release(e)}}e.exports=function(e,t,r){"function"==typeof e&&(r=t,t=e,e=null);var i=A(o),s=null,a=null,c=0,g={push:function(r,A){var o=i.get();o.context=e,o.release=l,o.value=r,o.callback=A||n,c===g.concurrency||g.paused?a?(a.next=o,a=o):(s=o,a=o,g.saturated()):(c++,t.call(e,o.value,o.worked))},drain:n,saturated:n,pause:function(){g.paused=!0},paused:!1,concurrency:r,running:function(){return c},resume:function(){if(!g.paused)return;g.paused=!1;for(var e=0;e{"use strict";class A{constructor(e,t,r){this.__specs=e||{},Object.keys(this.__specs).forEach(e=>{if("string"==typeof this.__specs[e]){const t=this.__specs[e],r=this.__specs[t];if(!r)throw new Error(`Alias refers to invalid key: ${t} -> ${e}`);{const A=r.aliases||[];A.push(e,t),r.aliases=[...new Set(A)],this.__specs[e]=r}}}),this.__opts=t||{},this.__providers=s(r.filter(e=>null!=e&&"object"==typeof e)),this.__isFiggyPudding=!0}get(e){return n(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[r,A]of this.entries())e.call(t,A,r,this)}toJSON(){const e={};return this.forEach((t,r)=>{e[r]=t}),e}*entries(e){for(let e of Object.keys(this.__specs))yield[e,this.get(e)];const t=e||this.__opts.other;if(t){const e=new Set;for(let r of this.__providers){const A=r.entries?r.entries(t):a(r);for(let[r,n]of A)t(r)&&!e.has(r)&&(e.add(r),yield[r,n])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new A(this.__specs,this.__opts,s(this.__providers).concat(e)),i)}}try{const e=r(31669);A.prototype[e.inspect.custom]=function(t,r){return this[Symbol.toStringTag]+" "+e.inspect(this.toJSON(),r)}}catch(e){}function n(e,t,r){let A=e.__specs[t];if(!r||A||e.__opts.other&&e.__opts.other(t)){let r;A||(A={});for(let n of e.__providers){if(r=o(t,n),void 0===r&&A.aliases&&A.aliases.length)for(let e of A.aliases)if(e!==t&&(r=o(e,n),void 0!==r))break;if(void 0!==r)break}return void 0===r&&void 0!==A.default?"function"==typeof A.default?A.default(e):A.default:r}!function(e){throw Object.assign(new Error("invalid config key requested: "+e),{code:"EBADKEY"})}(t)}function o(e,t){let r;return r=t.__isFiggyPudding?n(t,e,!1):"function"==typeof t.get?t.get(e):t[e],r}const i={has:(e,t)=>t in e.__specs&&void 0!==n(e,t,!1),ownKeys:e=>Object.keys(e.__specs),get:(e,t)=>"symbol"==typeof t||"__"===t.slice(0,2)||t in A.prototype?e[t]:e.get(t),set(e,t,r){if("symbol"==typeof t||"__"===t.slice(0,2))return e[t]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};function s(e){const t=[];return e.forEach(e=>t.unshift(e)),t}function a(e){return Object.keys(e).map(t=>[t,e[t]])}e.exports=function(e,t){return function(...r){return new Proxy(new A(e,t,r),i)}}},52169:(e,t,r)=>{"use strict"; +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */const A=r(31669),n=r(84615),o=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),i=e=>"number"==typeof e||"string"==typeof e&&""!==e,s=e=>Number.isInteger(+e),a=e=>{let t=""+e,r=-1;if("-"===t[0]&&(t=t.slice(1)),"0"===t)return!1;for(;"0"===t[++r];);return r>0},c=(e,t,r)=>{if(t>0){let r="-"===e[0]?"-":"";r&&(e=e.slice(1)),e=r+e.padStart(r?t-1:t,"0")}return!1===r?String(e):e},g=(e,t)=>{let r="-"===e[0]?"-":"";for(r&&(e=e.slice(1),t--);e.length{if(r)return n(e,t,{wrap:!1,...A});let o=String.fromCharCode(e);return e===t?o:`[${o}-${String.fromCharCode(t)}]`},u=(e,t,r)=>{if(Array.isArray(e)){let t=!0===r.wrap,A=r.capture?"":"?:";return t?`(${A}${e.join("|")})`:e.join("|")}return n(e,t,r)},h=(...e)=>new RangeError("Invalid range arguments: "+A.inspect(...e)),p=(e,t,r)=>{if(!0===r.strictRanges)throw h([e,t]);return[]},d=(e,t,r=1,A={})=>{let n=Number(e),o=Number(t);if(!Number.isInteger(n)||!Number.isInteger(o)){if(!0===A.strictRanges)throw h([e,t]);return[]}0===n&&(n=0),0===o&&(o=0);let i=n>o,s=String(e),p=String(t),d=String(r);r=Math.max(Math.abs(r),1);let C=a(s)||a(p)||a(d),f=C?Math.max(s.length,p.length,d.length):0,I=!1===C&&!1===((e,t,r)=>"string"==typeof e||"string"==typeof t||!0===r.stringify)(e,t,A),E=A.transform||(e=>t=>!0===e?Number(t):String(t))(I);if(A.toRegex&&1===r)return l(g(e,f),g(t,f),!0,A);let B={negatives:[],positives:[]},y=[],m=0;for(;i?n>=o:n<=o;)!0===A.toRegex&&r>1?B[(w=n)<0?"negatives":"positives"].push(Math.abs(w)):y.push(c(E(n,m),f,I)),n=i?n-r:n+r,m++;var w;return!0===A.toRegex?r>1?((e,t)=>{e.negatives.sort((e,t)=>et?1:0),e.positives.sort((e,t)=>et?1:0);let r,A=t.capture?"":"?:",n="",o="";return e.positives.length&&(n=e.positives.join("|")),e.negatives.length&&(o=`-(${A}${e.negatives.join("|")})`),r=n&&o?`${n}|${o}`:n||o,t.wrap?`(${A}${r})`:r})(B,A):u(y,null,{wrap:!1,...A}):y},C=(e,t,r,A={})=>{if(null==t&&i(e))return[e];if(!i(e)||!i(t))return p(e,t,A);if("function"==typeof r)return C(e,t,1,{transform:r});if(o(r))return C(e,t,0,r);let n={...A};return!0===n.capture&&(n.wrap=!0),r=r||n.step||1,s(r)?s(e)&&s(t)?d(e,t,r,n):((e,t,r=1,A={})=>{if(!s(e)&&e.length>1||!s(t)&&t.length>1)return p(e,t,A);let n=A.transform||(e=>String.fromCharCode(e)),o=(""+e).charCodeAt(0),i=(""+t).charCodeAt(0),a=o>i,c=Math.min(o,i),g=Math.max(o,i);if(A.toRegex&&1===r)return l(c,g,!1,A);let h=[],d=0;for(;a?o>=i:o<=i;)h.push(n(o,d)),o=a?o-r:o+r,d++;return!0===A.toRegex?u(h,null,{wrap:!1,options:A}):h})(e,t,Math.max(Math.abs(r),1),n):null==r||o(r)?C(e,t,1,r):((e,t)=>{if(!0===t.strictRanges)throw new TypeError(`Expected step "${e}" to be a number`);return[]})(r,n)};e.exports=C},50683:e=>{e.exports=function(e){return[...e].reduce((e,[t,r])=>(e[t]=r,e),{})}},13302:(e,t,r)=>{e.exports=r(35747).constants||r(27619)},72137:(e,t,r)=>{"use strict";const{PassThrough:A}=r(92413);e.exports=e=>{e={...e};const{array:t}=e;let{encoding:r}=e;const n="buffer"===r;let o=!1;t?o=!(r||n):r=r||"utf8",n&&(r=null);const i=new A({objectMode:o});r&&i.setEncoding(r);let s=0;const a=[];return i.on("data",e=>{a.push(e),o?s=a.length:s+=e.length}),i.getBufferedValue=()=>t?a:n?Buffer.concat(a,s):a.join(""),i.getBufferedLength=()=>s,i}},58764:(e,t,r)=>{"use strict";const A=r(50372),n=r(72137);class o extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function i(e,t){if(!e)return Promise.reject(new Error("Expected a stream"));t={maxBuffer:1/0,...t};const{maxBuffer:r}=t;let i;return await new Promise((s,a)=>{const c=e=>{e&&(e.bufferedData=i.getBufferedValue()),a(e)};i=A(e,n(t),e=>{e?c(e):s()}),i.on("data",()=>{i.getBufferedLength()>r&&c(new o)})}),i.getBufferedValue()}e.exports=i,e.exports.default=i,e.exports.buffer=(e,t)=>i(e,{...t,encoding:"buffer"}),e.exports.array=(e,t)=>i(e,{...t,array:!0}),e.exports.MaxBufferError=o},97098:(e,t,r)=>{"use strict";var A=r(18193),n=r(85622).posix.dirname,o="win32"===r(12087).platform(),i=/\\/g,s=/[\{\[].*[\/]*.*[\}\]]$/,a=/(^|[^\\])([\{\[]|\([^\)]+$)/,c=/\\([\*\?\|\[\]\(\)\{\}])/g;e.exports=function(e,t){Object.assign({flipBackslashes:!0},t).flipBackslashes&&o&&e.indexOf("/")<0&&(e=e.replace(i,"/")),s.test(e)&&(e+="/"),e+="a";do{e=n(e)}while(A(e)||a.test(e));return e.replace(c,"$1")}},90734:(e,t,r)=>{"use strict";const{promisify:A}=r(31669),n=r(35747),o=r(85622),i=r(19347),s=r(46458),a=r(17234),c=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],g=A(n.readFile),l=(e,t)=>{const r=a(o.relative(t.cwd,o.dirname(t.fileName)));return e.split(/\r?\n/).filter(Boolean).filter(e=>!e.startsWith("#")).map((e=>t=>t.startsWith("!")?"!"+o.posix.join(e,t.slice(1)):o.posix.join(e,t))(r))},u=e=>e.reduce((e,t)=>(e.add(l(t.content,{cwd:t.cwd,fileName:t.filePath})),e),s()),h=(e,t)=>r=>e.ignores(a(o.relative(t,((e,t)=>{if(e=a(e),o.isAbsolute(t)){if(t.startsWith(e))return t;throw new Error(`Path ${t} is not in cwd ${e}`)}return o.join(e,t)})(t,r)))),p=({ignore:e=[],cwd:t=a(process.cwd())}={})=>({ignore:e,cwd:t});e.exports=async e=>{e=p(e);const t=await i("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}),r=await Promise.all(t.map(t=>(async(e,t)=>{const r=o.join(t,e);return{cwd:t,filePath:r,content:await g(r,"utf8")}})(t,e.cwd))),A=u(r);return h(A,e.cwd)},e.exports.sync=e=>{e=p(e);const t=i.sync("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}).map(t=>((e,t)=>{const r=o.join(t,e);return{cwd:t,filePath:r,content:n.readFileSync(r,"utf8")}})(t,e.cwd)),r=u(t);return h(r,e.cwd)}},58592:(e,t,r)=>{"use strict";const A=r(35747),n=r(39920),o=r(55598),i=r(19347),s=r(66241),a=r(90734),{FilterStream:c,UniqueStream:g}=r(66160),l=()=>!1,u=e=>"!"===e[0],h=(e,t)=>{(e=>{if(!e.every(e=>"string"==typeof e))throw new TypeError("Patterns must be a string or an array of strings")})(e=n([].concat(e))),((e={})=>{if(!e.cwd)return;let t;try{t=A.statSync(e.cwd)}catch(e){return}if(!t.isDirectory())throw new Error("The `cwd` option must be a path to a directory")})(t);const r=[];t={ignore:[],expandDirectories:!0,...t};for(const[A,n]of e.entries()){if(u(n))continue;const o=e.slice(A).filter(u).map(e=>e.slice(1)),i={...t,ignore:t.ignore.concat(o)};r.push({pattern:n,options:i})}return r},p=(e,t)=>e.options.expandDirectories?((e,t)=>{let r={};return e.options.cwd&&(r.cwd=e.options.cwd),Array.isArray(e.options.expandDirectories)?r={...r,files:e.options.expandDirectories}:"object"==typeof e.options.expandDirectories&&(r={...r,...e.options.expandDirectories}),t(e.pattern,r)})(e,t):[e.pattern],d=e=>e&&e.gitignore?a.sync({cwd:e.cwd,ignore:e.ignore}):l,C=e=>t=>{const{options:r}=e;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=s.sync(r.ignore)),{pattern:t,options:r}};e.exports=async(e,t)=>{const r=h(e,t),[o,c]=await Promise.all([(async()=>t&&t.gitignore?a({cwd:t.cwd,ignore:t.ignore}):l)(),(async()=>{const e=await Promise.all(r.map(async e=>{const t=await p(e,s);return Promise.all(t.map(C(e)))}));return n(...e)})()]),g=await Promise.all(c.map(e=>i(e.pattern,e.options)));return n(...g).filter(e=>{return!o((t=e,t.stats instanceof A.Stats?t.path:t));var t})},e.exports.sync=(e,t)=>{const r=h(e,t).reduce((e,t)=>{const r=p(t,s.sync).map(C(t));return e.concat(r)},[]),A=d(t);return r.reduce((e,t)=>n(e,i.sync(t.pattern,t.options)),[]).filter(e=>!A(e))},e.exports.stream=(e,t)=>{const r=h(e,t).reduce((e,t)=>{const r=p(t,s.sync).map(C(t));return e.concat(r)},[]),A=d(t),n=new c(e=>!A(e)),a=new g;return o(r.map(e=>i.stream(e.pattern,e.options))).pipe(n).pipe(a)},e.exports.generateGlobTasks=h,e.exports.hasMagic=(e,t)=>[].concat(e).some(e=>i.isDynamicPattern(e,t)),e.exports.gitignore=a},66160:(e,t,r)=>{"use strict";const{Transform:A}=r(92413);class n extends A{constructor(){super({objectMode:!0})}}e.exports={FilterStream:class extends n{constructor(e){super(),this._filter=e}_transform(e,t,r){this._filter(e)&&this.push(e),r()}},UniqueStream:class extends n{constructor(){super(),this._pushed=new Set}_transform(e,t,r){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),r()}}}},93576:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(14756);t.default=function(e,...t){const r=(async()=>{if(e instanceof A.RequestError)try{for(const r of t)if(r)for(const t of r)e=await t(e)}catch(t){e=t}throw e})(),n=()=>r;return r.json=n,r.text=n,r.buffer=n,r.on=n,r}},81588:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0});const o=r(28614),i=r(7966),s=r(59351),a=r(14756),c=r(54718),g=r(9048),l=r(51743),u=r(57854),h=r(38206),p=["request","response","redirect","uploadProgress","downloadProgress"];t.default=function e(t){let r,A;const n=new o.EventEmitter,d=new s((o,s,C)=>{const f=I=>{const E=new g.default(void 0,t);E.retryCount=I,E._noPipe=!0,C(()=>E.destroy()),C.shouldReject=!1,C(()=>s(new a.CancelError(E))),r=E,E.once("response",async t=>{var r;if(t.retryCount=I,t.request.aborted)return;let n;try{n=await u.default(E),t.rawBody=n}catch(e){return}if(E._isAboutToError)return;const i=(null!==(r=t.headers["content-encoding"])&&void 0!==r?r:"").toLowerCase(),s=["gzip","deflate","br"].includes(i),{options:l}=E;if(s&&!l.decompress)t.body=n;else try{t.body=c.default(t,l.responseType,l.parseJson,l.encoding)}catch(e){if(t.body=n.toString(),h.isResponseOk(t))return void E._beforeError(e)}try{for(const[r,A]of l.hooks.afterResponse.entries())t=await A(t,async t=>{const A=g.default.normalizeArguments(void 0,{...t,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},l);A.hooks.afterResponse=A.hooks.afterResponse.slice(0,r);for(const e of A.hooks.beforeRetry)await e(A);const n=e(A);return C(()=>{n.catch(()=>{}),n.cancel()}),n})}catch(e){return void E._beforeError(new a.RequestError(e.message,e,E))}h.isResponseOk(t)?(A=t,o(E.options.resolveBodyOnly?t.body:t)):E._beforeError(new a.HTTPError(t))});const B=e=>{if(d.isCanceled)return;const{options:t}=E;if(e instanceof a.HTTPError&&!t.throwHttpErrors){const{response:t}=e;o(E.options.resolveBodyOnly?t.body:t)}else s(e)};E.once("error",B),E.once("retry",(e,t)=>{var r;i.default.nodeStream(null===(r=t.request)||void 0===r?void 0:r.options.body)?B(t):f(e)}),l.default(E,n,p)};f(0)});d.on=(e,t)=>(n.on(e,t),d);const C=e=>{const t=(async()=>{await d;const{options:t}=A.request;return c.default(A,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(d)),t};return d.json=()=>{const{headers:e}=r.options;return r.writableFinished||void 0!==e.accept||(e.accept="application/json"),C("json")},d.buffer=()=>C("buffer"),d.text=()=>C("text"),d},n(r(14756),t)},41514:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=(e,t)=>{if(A.default.null_(e.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");A.assert.any([A.default.string,A.default.undefined],e.encoding),A.assert.any([A.default.boolean,A.default.undefined],e.resolveBodyOnly),A.assert.any([A.default.boolean,A.default.undefined],e.methodRewriting),A.assert.any([A.default.boolean,A.default.undefined],e.isStream),A.assert.any([A.default.string,A.default.undefined],e.responseType),void 0===e.responseType&&(e.responseType="text");const{retry:r}=e;if(e.retry=t?{...t.retry}:{calculateDelay:e=>e.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},A.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(e=>e.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):A.default.number(r)&&(e.retry.limit=r),A.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(A.default.number))),A.default.object(e.pagination)){t&&(e.pagination={...t.pagination,...e.pagination});const{pagination:r}=e;if(!A.default.function_(r.transform))throw new Error("`options.pagination.transform` must be implemented");if(!A.default.function_(r.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!A.default.function_(r.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!A.default.function_(r.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return"json"===e.responseType&&void 0===e.headers.accept&&(e.headers.accept="application/json"),e}},54718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(14756);t.default=(e,t,r,n)=>{const{rawBody:o}=e;try{if("text"===t)return o.toString(n);if("json"===t)return 0===o.length?"":r(o.toString());if("buffer"===t)return o;throw new A.ParseError({message:`Unknown body type '${t}'`,name:"Error"},e)}catch(t){throw new A.ParseError(t,e)}}},14756:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.CancelError=t.ParseError=void 0;const o=r(9048);class i extends o.RequestError{constructor(e,t){const{options:r}=t.request;super(`${e.message} in "${r.url.toString()}"`,e,t.request),this.name="ParseError"}}t.ParseError=i;class s extends o.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}}t.CancelError=s,n(r(9048),t)},53843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.retryAfterStatusCodes=void 0,t.retryAfterStatusCodes=new Set([413,429,503]);t.default=({attemptCount:e,retryOptions:t,error:r,retryAfter:A})=>{if(e>t.limit)return 0;const n=t.methods.includes(r.options.method),o=t.errorCodes.includes(r.code),i=r.response&&t.statusCodes.includes(r.response.statusCode);if(!n||!o&&!i)return 0;if(r.response){if(A)return void 0===t.maxRetryAfter||A>t.maxRetryAfter?0:A;if(413===r.response.statusCode)return 0}return 2**(e-1)*1e3+100*Math.random()}},9048:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedProtocolError=t.ReadError=t.TimeoutError=t.UploadError=t.CacheError=t.HTTPError=t.MaxRedirectsError=t.RequestError=t.setNonEnumerableProperties=t.knownHookEvents=t.withoutBody=t.kIsNormalizedAlready=void 0;const A=r(31669),n=r(92413),o=r(35747),i=r(78835),s=r(98605),a=r(98605),c=r(57211),g=r(98298),l=r(30093),u=r(11200),h=r(93868),p=r(92353),d=r(55737),C=r(7966),f=r(78586),I=r(2920),E=r(51743),B=r(44947),y=r(50116),m=r(82524),w=r(85551),Q=r(57854),D=r(11338),b=r(38206),v=r(54595),S=r(41514),k=r(53843),K=new l.default,F=Symbol("request"),N=Symbol("response"),M=Symbol("responseSize"),R=Symbol("downloadedSize"),x=Symbol("bodySize"),L=Symbol("uploadedSize"),P=Symbol("serverResponsesPiped"),O=Symbol("unproxyEvents"),U=Symbol("isFromCache"),T=Symbol("cancelTimeouts"),j=Symbol("startedReading"),Y=Symbol("stopReading"),G=Symbol("triggerRead"),H=Symbol("body"),J=Symbol("jobs"),q=Symbol("originalResponse"),z=Symbol("retryTimeout");t.kIsNormalizedAlready=Symbol("isNormalizedAlready");const W=C.default.string(process.versions.brotli);t.withoutBody=new Set(["GET","HEAD"]),t.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];const X=new w.default,V=new Set([300,301,302,303,304,307,308]),_=["context","body","json","form"];t.setNonEnumerableProperties=(e,t)=>{const r={};for(const t of e)if(t)for(const e of _)e in t&&(r[e]={writable:!0,configurable:!0,enumerable:!1,value:t[e]});Object.defineProperties(t,r)};class Z extends Error{constructor(e,t,r){var A;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,r instanceof se?(Object.defineProperty(this,"request",{enumerable:!1,value:r}),Object.defineProperty(this,"response",{enumerable:!1,value:r[N]}),Object.defineProperty(this,"options",{enumerable:!1,value:r.options})):Object.defineProperty(this,"options",{enumerable:!1,value:r}),this.timings=null===(A=this.request)||void 0===A?void 0:A.timings,!C.default.undefined(t.stack)){const e=this.stack.indexOf(this.message)+this.message.length,r=this.stack.slice(e).split("\n").reverse(),A=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split("\n").reverse();for(;0!==A.length&&A[0]===r[0];)r.shift();this.stack=`${this.stack.slice(0,e)}${r.reverse().join("\n")}${A.reverse().join("\n")}`}}}t.RequestError=Z;class $ extends Z{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}}t.MaxRedirectsError=$;class ee extends Z{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}}t.HTTPError=ee;class te extends Z{constructor(e,t){super(e.message,e,t),this.name="CacheError"}}t.CacheError=te;class re extends Z{constructor(e,t){super(e.message,e,t),this.name="UploadError"}}t.UploadError=re;class Ae extends Z{constructor(e,t,r){super(e.message,e,r),this.name="TimeoutError",this.event=e.event,this.timings=t}}t.TimeoutError=Ae;class ne extends Z{constructor(e,t){super(e.message,e,t),this.name="ReadError"}}t.ReadError=ne;class oe extends Z{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}}t.UnsupportedProtocolError=oe;const ie=["socket","connect","continue","information","upgrade","timeout"];class se extends n.Duplex{constructor(e,r={},A){super({autoDestroy:!1,highWaterMark:0}),this[R]=0,this[L]=0,this.requestInitialized=!1,this[P]=new Set,this.redirects=[],this[Y]=!1,this[G]=!1,this[J]=[],this.retryCount=0,this._progressCallbacks=[];const n=()=>this._unlockWrite(),i=()=>this._lockWrite();this.on("pipe",e=>{e.prependListener("data",n),e.on("data",i),e.prependListener("end",n),e.on("end",i)}),this.on("unpipe",e=>{e.off("data",n),e.off("data",i),e.off("end",n),e.off("end",i)}),this.on("pipe",e=>{e instanceof a.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});const{json:s,body:c,form:g}=r;if((s||c||g)&&this._lockWrite(),t.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,A)}catch(e){return C.default.nodeStream(r.body)&&r.body.destroy(),void this.destroy(e)}(async()=>{var e;try{this.options.body instanceof o.ReadStream&&await(async e=>new Promise((t,r)=>{const A=e=>{r(e)};e.pending||t(),e.once("error",A),e.once("ready",()=>{e.off("error",A),t()})}))(this.options.body);const{url:t}=this.options;if(!t)throw new TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed)return void(null===(e=this[F])||void 0===e||e.destroy());for(const e of this[J])e();this[J].length=0,this.requestInitialized=!0}catch(e){if(e instanceof Z)return void this._beforeError(e);this.destroyed||this.destroy(e)}})()}static normalizeArguments(e,r,n){var o,s,a,c,g;const l=r;if(C.default.object(e)&&!C.default.urlInstance(e))r={...n,...e,...r};else{if(e&&r&&void 0!==r.url)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...n,...r},void 0!==e&&(r.url=e),C.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(!1===r.cache&&(r.cache=void 0),!1===r.dnsCache&&(r.dnsCache=void 0),C.assert.any([C.default.string,C.default.undefined],r.method),C.assert.any([C.default.object,C.default.undefined],r.headers),C.assert.any([C.default.string,C.default.urlInstance,C.default.undefined],r.prefixUrl),C.assert.any([C.default.object,C.default.undefined],r.cookieJar),C.assert.any([C.default.object,C.default.string,C.default.undefined],r.searchParams),C.assert.any([C.default.object,C.default.string,C.default.undefined],r.cache),C.assert.any([C.default.object,C.default.number,C.default.undefined],r.timeout),C.assert.any([C.default.object,C.default.undefined],r.context),C.assert.any([C.default.object,C.default.undefined],r.hooks),C.assert.any([C.default.boolean,C.default.undefined],r.decompress),C.assert.any([C.default.boolean,C.default.undefined],r.ignoreInvalidCookies),C.assert.any([C.default.boolean,C.default.undefined],r.followRedirect),C.assert.any([C.default.number,C.default.undefined],r.maxRedirects),C.assert.any([C.default.boolean,C.default.undefined],r.throwHttpErrors),C.assert.any([C.default.boolean,C.default.undefined],r.http2),C.assert.any([C.default.boolean,C.default.undefined],r.allowGetBody),C.assert.any([C.default.string,C.default.undefined],r.localAddress),C.assert.any([D.isDnsLookupIpVersion,C.default.undefined],r.dnsLookupIpVersion),C.assert.any([C.default.object,C.default.undefined],r.https),C.assert.any([C.default.boolean,C.default.undefined],r.rejectUnauthorized),r.https&&(C.assert.any([C.default.boolean,C.default.undefined],r.https.rejectUnauthorized),C.assert.any([C.default.function_,C.default.undefined],r.https.checkServerIdentity),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.certificateAuthority),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.key),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.certificate),C.assert.any([C.default.string,C.default.undefined],r.https.passphrase),C.assert.any([C.default.string,C.default.buffer,C.default.array,C.default.undefined],r.https.pfx)),C.assert.any([C.default.object,C.default.undefined],r.cacheOptions),C.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(null==n?void 0:n.headers)?r.headers={...r.headers}:r.headers=d({...null==n?void 0:n.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(null==n?void 0:n.searchParams)){let e;if(C.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else{!function(e){for(const t in e){const r=e[t];if(!(C.default.string(r)||C.default.number(r)||C.default.boolean(r)||C.default.null_(r)||C.default.undefined(r)))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}(r.searchParams),e=new i.URLSearchParams;for(const t in r.searchParams){const A=r.searchParams[t];null===A?e.append(t,""):void 0!==A&&e.append(t,A)}}null===(o=null==n?void 0:n.searchParams)||void 0===o||o.forEach((t,r)=>{e.has(r)||e.append(r,t)}),r.searchParams=e}if(r.username=null!==(s=r.username)&&void 0!==s?s:"",r.password=null!==(a=r.password)&&void 0!==a?a:"",C.default.undefined(r.prefixUrl)?r.prefixUrl=null!==(c=null==n?void 0:n.prefixUrl)&&void 0!==c?c:"":(r.prefixUrl=r.prefixUrl.toString(),""===r.prefixUrl||r.prefixUrl.endsWith("/")||(r.prefixUrl+="/")),C.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=m.default(r.prefixUrl+r.url,r)}else(C.default.undefined(r.url)&&""!==r.prefixUrl||r.protocol)&&(r.url=m.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,"prefixUrl",{set:t=>{const A=r.url;if(!A.href.startsWith(t))throw new Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${A.href}`);r.url=new i.URL(t+A.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if("unix:"===t&&(t="http:",r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),"http:"!==t&&"https:"!==t)throw new oe(r);""===r.username?r.username=r.url.username:r.url.username=r.username,""===r.password?r.password=r.url.password:r.url.password=r.password}const{cookieJar:h}=r;if(h){let{setCookie:e,getCookieString:t}=h;C.assert.function_(e),C.assert.function_(t),4===e.length&&0===t.length&&(e=A.promisify(e.bind(r.cookieJar)),t=A.promisify(t.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:t})}const{cache:p}=r;if(p&&(X.has(p)||X.set(p,new u((e,t)=>{const r=e[F](e,t);return C.default.promise(r)&&(r.once=(e,t)=>{if("error"===e)r.catch(t);else{if("abort"!==e)throw new Error("Unknown HTTP2 promise event: "+e);(async()=>{try{(await r).once("abort",t)}catch(e){}})()}return r}),r},p))),r.cacheOptions={...r.cacheOptions},!0===r.dnsCache)r.dnsCache=K;else if(!C.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError("Parameter `dnsCache` must be a CacheableLookup instance or a boolean, got "+C.default(r.dnsCache));C.default.number(r.timeout)?r.timeout={request:r.timeout}:n&&r.timeout!==n.timeout?r.timeout={...n.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});const f=r.hooks===(null==n?void 0:n.hooks);r.hooks={...r.hooks};for(const e of t.knownHookEvents)if(e in r.hooks){if(!C.default.array(r.hooks[e]))throw new TypeError(`Parameter \`${e}\` must be an Array, got ${C.default(r.hooks[e])}`);r.hooks[e]=[...r.hooks[e]]}else r.hooks[e]=[];if(n&&!f)for(const e of t.knownHookEvents){0!==n.hooks[e].length&&(r.hooks[e]=[...n.hooks[e],...r.hooks[e]])}if("family"in r&&v.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(null==n?void 0:n.https)&&(r.https={...n.https,...r.https}),"rejectUnauthorized"in r&&v.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&v.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&v.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&v.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&v.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&v.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&v.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent)for(const e in r.agent)if("http"!==e&&"https"!==e&&"http2"!==e)throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``);return r.maxRedirects=null!==(g=r.maxRedirects)&&void 0!==g?g:0,t.setNonEnumerableProperties([n,l],r),S.default(r,n)}_lockWrite(){const e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){const{options:e}=this,{headers:r}=e,A=!C.default.undefined(e.form),o=!C.default.undefined(e.json),s=!C.default.undefined(e.body),a=A||o||s,c=t.withoutBody.has(e.method)&&!("GET"===e.method&&e.allowGetBody);if(this._cannotHaveBody=c,a){if(c)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,A,o].filter(e=>e).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n.Readable)&&!C.default.string(e.body)&&!C.default.buffer(e.body)&&!I.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(A&&!C.default.object(e.form))throw new TypeError("The `form` option must be an Object");{const t=!C.default.string(r["content-type"]);s?(I.default(e.body)&&t&&(r["content-type"]="multipart/form-data; boundary="+e.body.getBoundary()),this[H]=e.body):A?(t&&(r["content-type"]="application/x-www-form-urlencoded"),this[H]=new i.URLSearchParams(e.form).toString()):(t&&(r["content-type"]="application/json"),this[H]=e.stringifyJson(e.json));const n=await f.default(this[H],e.headers);C.default.undefined(r["content-length"])&&C.default.undefined(r["transfer-encoding"])&&(c||C.default.undefined(n)||(r["content-length"]=String(n)))}}else c?this._lockWrite():this._unlockWrite();this[x]=Number(r["content-length"])||void 0}async _onResponseBase(e){const{options:t}=this,{url:r}=t;this[q]=e,t.decompress&&(e=h(e));const A=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:s.STATUS_CODES[A],n.url=t.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[U]=n.isFromCache,this[M]=Number(e.headers["content-length"])||void 0,this[N]=e,e.once("end",()=>{this[M]=this[R],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",t=>{e.destroy(),this._beforeError(new ne(t,this))}),e.once("aborted",()=>{this._beforeError(new ne({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);const o=e.headers["set-cookie"];if(C.default.object(t.cookieJar)&&o){let e=o.map(async e=>t.cookieJar.setCookie(e,r.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){return void this._beforeError(e)}}if(t.followRedirect&&e.headers.location&&V.has(A)){e.resume(),this[F]&&(this[T](),delete this[F],this[O]());if(!(303===A&&"GET"!==t.method&&"HEAD"!==t.method)&&t.methodRewriting||(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[H]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects)return void this._beforeError(new $(this));try{const A=Buffer.from(e.headers.location,"binary").toString(),o=new i.URL(A,r),s=o.toString();decodeURI(s),o.hostname!==r.hostname||o.port!==r.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(o.username=t.username,o.password=t.password),this.redirects.push(s),t.url=o;for(const e of t.hooks.beforeRedirect)await e(t,n);this.emit("redirect",n,t),await this._makeRequest()}catch(e){return void this._beforeError(e)}}else if(t.isStream&&t.throwHttpErrors&&!b.isResponseOk(n))this._beforeError(new ee(n));else{e.on("readable",()=>{this[G]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(const r of this[P])if(!r.headersSent){for(const A in e.headers){const n=!t.decompress||"content-encoding"!==A,o=e.headers[A];n&&r.setHeader(A,o)}r.statusCode=A}}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){const{options:t}=this,{timeout:r,url:A}=t;g.default(e),this[T]=B.default(e,r,A);const n=t.cache?"cacheableResponse":"response";e.once(n,e=>{this._onResponse(e)}),e.once("error",t=>{var r;e.destroy(),null===(r=e.res)||void 0===r||r.removeAllListeners("end"),t=t instanceof B.TimeoutError?new Ae(t,this.timings,this):new Z(t.message,t,this),this._beforeError(t)}),this[O]=E.default(e,this,ie),this[F]=e,this.emit("uploadProgress",this.uploadProgress);const o=this[H],i=0===this.redirects.length?this:e;C.default.nodeStream(o)?(o.pipe(i),o.once("error",e=>{this._beforeError(new re(e,this))})):(this._unlockWrite(),C.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(i.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),i.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((r,A)=>{let n;Object.assign(t,y.default(e)),delete t.url;const o=X.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",e),r(e)});t.url=e,o.once("error",A),o.once("request",async e=>{n=e,r(n)})})}async _makeRequest(){var e,t,r,A,n;const{options:o}=this,{headers:i}=o;for(const e in i)if(C.default.undefined(i[e]))delete i[e];else if(C.default.null_(i[e]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(o.decompress&&C.default.undefined(i["accept-encoding"])&&(i["accept-encoding"]=W?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){const e=await o.cookieJar.getCookieString(o.url.toString());C.default.nonEmptyString(e)&&(o.headers.cookie=e)}for(const e of o.hooks.beforeRequest){const t=await e(o);if(!C.default.undefined(t)){o.request=()=>t;break}}o.body&&this[H]!==o.body&&(this[H]=o.body);const{agent:a,request:g,timeout:l,url:h}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),"unix"===h.hostname){const e=/(?.+?):(?.+)/.exec(`${h.pathname}${h.search}`);if(null==e?void 0:e.groups){const{socketPath:t,path:r}=e.groups;Object.assign(o,{socketPath:t,path:r,host:""})}}const d="https:"===h.protocol;let f;f=o.http2?p.auto:d?c.request:s.request;const I=null!==(e=o.request)&&void 0!==e?e:f,E=o.cache?this._createCacheableRequest:I;a&&!o.http2&&(o.agent=a[d?"https":"http"]),o[F]=I,delete o.request,delete o.timeout;const B=o;if(B.shared=null===(t=o.cacheOptions)||void 0===t?void 0:t.shared,B.cacheHeuristic=null===(r=o.cacheOptions)||void 0===r?void 0:r.cacheHeuristic,B.immutableMinTimeToLive=null===(A=o.cacheOptions)||void 0===A?void 0:A.immutableMinTimeToLive,B.ignoreCargoCult=null===(n=o.cacheOptions)||void 0===n?void 0:n.ignoreCargoCult,void 0!==o.dnsLookupIpVersion)try{B.family=D.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(e){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(B.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(B.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(B.ca=o.https.certificateAuthority),o.https.certificate&&(B.cert=o.https.certificate),o.https.key&&(B.key=o.https.key),o.https.passphrase&&(B.passphrase=o.https.passphrase),o.https.pfx&&(B.pfx=o.https.pfx));try{let e=await E(h,B);C.default.undefined(e)&&(e=f(h,B)),o.request=g,o.timeout=l,o.agent=a,o.https&&("rejectUnauthorized"in o.https&&delete B.rejectUnauthorized,o.https.checkServerIdentity&&delete B.checkServerIdentity,o.https.certificateAuthority&&delete B.ca,o.https.certificate&&delete B.cert,o.https.key&&delete B.key,o.https.passphrase&&delete B.passphrase,o.https.pfx&&delete B.pfx),y=e,C.default.object(y)&&!("statusCode"in y)?this._onRequest(e):this.writable?(this.once("finish",()=>{this._onResponse(e)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(e)}catch(e){if(e instanceof u.CacheError)throw new te(e,this);throw new Z(e.message,e,this)}var y}async _error(e){try{for(const t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new Z(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Y])return;const{options:t}=this,r=this.retryCount+1;this[Y]=!0,e instanceof Z||(e=new Z(e.message,e,this));const A=e,{response:n}=A;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Q.default(n),n.body=n.rawBody.toString()}catch(e){}}if(0!==this.listenerCount("retry")){let o;try{let e;n&&"retry-after"in n.headers&&(e=Number(n.headers["retry-after"]),Number.isNaN(e)?(e=Date.parse(n.headers["retry-after"])-Date.now(),e<=0&&(e=1)):e*=1e3),o=await t.retry.calculateDelay({attemptCount:r,retryOptions:t.retry,error:A,retryAfter:e,computedValue:k.default({attemptCount:r,retryOptions:t.retry,error:A,retryAfter:e,computedValue:0})})}catch(e){return void this._error(new Z(e.message,e,this))}if(o){const t=async()=>{try{for(const e of this.options.hooks.beforeRetry)await e(this.options,A,r)}catch(t){return void this._error(new Z(t.message,e,this))}this.destroyed||(this.destroy(),this.emit("retry",r,e))};return void(this[z]=setTimeout(t,o))}}this._error(A)})()}_read(){this[G]=!0;const e=this[N];if(e&&!this[Y]){let t;for(e.readableLength&&(this[G]=!1);null!==(t=e.read());){this[R]+=t.length,this[j]=!0;const e=this.downloadProgress;e.percent<1&&this.emit("downloadProgress",e),this.push(t)}}}_write(e,t,r){const A=()=>{this._writeRequest(e,t,r)};this.requestInitialized?A():this[J].push(A)}_writeRequest(e,t,r){this[F].destroyed||(this._progressCallbacks.push(()=>{this[L]+=Buffer.byteLength(e,t);const r=this.uploadProgress;r.percent<1&&this.emit("uploadProgress",r)}),this[F].write(e,t,e=>{e||0===this._progressCallbacks.length||this._progressCallbacks.shift()(),r(e)}))}_final(e){const t=()=>{for(;0!==this._progressCallbacks.length;)this._progressCallbacks.shift()();F in this?this[F].destroyed?e():this[F].end(t=>{t||(this[x]=this[L],this.emit("uploadProgress",this.uploadProgress),this[F].emit("upload-complete")),e(t)}):e()};this.requestInitialized?t():this[J].push(t)}_destroy(e,t){var r;this[Y]=!0,clearTimeout(this[z]),F in this&&(this[T](),(null===(r=this[N])||void 0===r?void 0:r.complete)||this[F].destroy()),null===e||C.default.undefined(e)||e instanceof Z||(e=new Z(e.message,e,this)),t(e)}get _isAboutToError(){return this[Y]}get ip(){var e;return null===(e=this[F])||void 0===e?void 0:e.socket.remoteAddress}get aborted(){var e,t,r;return(null!==(t=null===(e=this[F])||void 0===e?void 0:e.destroyed)&&void 0!==t?t:this.destroyed)&&!(null===(r=this[q])||void 0===r?void 0:r.complete)}get socket(){var e;return null===(e=this[F])||void 0===e?void 0:e.socket}get downloadProgress(){let e;return e=this[M]?this[R]/this[M]:this[M]===this[R]?1:0,{percent:e,transferred:this[R],total:this[M]}}get uploadProgress(){let e;return e=this[x]?this[L]/this[x]:this[x]===this[L]?1:0,{percent:e,transferred:this[L],total:this[x]}}get timings(){var e;return null===(e=this[F])||void 0===e?void 0:e.timings}get isFromCache(){return this[U]}pipe(e,t){if(this[j])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof a.ServerResponse&&this[P].add(e),super.pipe(e,t)}unpipe(e){return e instanceof a.ServerResponse&&this[P].delete(e),super.unpipe(e),this}}t.default=se},11338:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dnsLookupIpVersionToFamily=t.isDnsLookupIpVersion=void 0;const r={auto:0,ipv4:4,ipv6:6};t.isDnsLookupIpVersion=e=>e in r,t.dnsLookupIpVersionToFamily=e=>{if(t.isDnsLookupIpVersion(e))return r[e];throw new Error("Invalid DNS lookup IP version")}},78586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747),n=r(31669),o=r(7966),i=r(2920),s=n.promisify(A.stat);t.default=async(e,t)=>{if(t&&"content-length"in t)return Number(t["content-length"]);if(!e)return 0;if(o.default.string(e))return Buffer.byteLength(e);if(o.default.buffer(e))return e.length;if(i.default(e))return n.promisify(e.getLength.bind(e))();if(e instanceof A.ReadStream){const{size:t}=await s(e.path);return t}}},57854:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=async e=>{const t=[];let r=0;for await(const A of e)t.push(A),r+=Buffer.byteLength(A);return Buffer.isBuffer(t[0])?Buffer.concat(t,r):Buffer.from(t.join(""))}},2920:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=e=>A.default.nodeStream(e)&&A.default.function_(e.getBoundary)},38206:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseOk=void 0,t.isResponseOk=e=>{const{statusCode:t}=e,r=e.request.options.followRedirect?299:399;return t>=200&&t<=r||304===t}},82524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(78835),n=["protocol","host","hostname","port","pathname","search"];t.default=(e,t)=>{var r,o;if(t.path){if(t.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(t.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(t.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(t.search&&t.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!t.protocol)throw new TypeError("No URL protocol specified");e=`${t.protocol}//${null!==(o=null!==(r=t.hostname)&&void 0!==r?r:t.host)&&void 0!==o?o:""}`}const i=new A.URL(e);if(t.path){const e=t.path.indexOf("?");-1===e?t.pathname=t.path:(t.pathname=t.path.slice(0,e),t.search=t.path.slice(e+1)),delete t.path}for(const e of n)t[e]&&(i[e]=t[e].toString());return i}},51743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){const A={};for(const n of r)A[n]=(...e)=>{t.emit(n,...e)},e.on(n,A[n]);return()=>{for(const t of r)e.off(t,A[t])}}},44947:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimeoutError=void 0;const A=r(11631),n=r(70148),o=Symbol("reentry"),i=()=>{};class s extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}}t.TimeoutError=s,t.default=(e,t,r)=>{if(o in e)return i;e[o]=!0;const a=[],{once:c,unhandleAll:g}=n.default(),l=(e,t,r)=>{var A;const n=setTimeout(t,e,e,r);null===(A=n.unref)||void 0===A||A.call(n);const o=()=>{clearTimeout(n)};return a.push(o),o},{host:u,hostname:h}=r,p=(t,r)=>{e.destroy(new s(t,r))},d=()=>{for(const e of a)e();g()};if(e.once("error",t=>{if(d(),0===e.listenerCount("error"))throw t}),e.once("close",d),c(e,"response",e=>{c(e,"end",d)}),void 0!==t.request&&l(t.request,p,"request"),void 0!==t.socket){const r=()=>{p(t.socket,"socket")};e.setTimeout(t.socket,r),a.push(()=>{e.removeListener("timeout",r)})}return c(e,"socket",n=>{var o;const{socketPath:i}=e;if(n.connecting){const e=Boolean(null!=i?i:0!==A.isIP(null!==(o=null!=h?h:u)&&void 0!==o?o:""));if(void 0!==t.lookup&&!e&&void 0===n.address().address){const e=l(t.lookup,p,"lookup");c(n,"lookup",e)}if(void 0!==t.connect){const r=()=>l(t.connect,p,"connect");e?c(n,"connect",r()):c(n,"lookup",e=>{null===e&&c(n,"connect",r())})}void 0!==t.secureConnect&&"https:"===r.protocol&&c(n,"connect",()=>{const e=l(t.secureConnect,p,"secureConnect");c(n,"secureConnect",e)})}if(void 0!==t.send){const r=()=>l(t.send,p,"send");n.connecting?c(n,"connect",()=>{c(e,"upload-complete",r())}):c(e,"upload-complete",r())}}),void 0!==t.response&&c(e,"upload-complete",()=>{const r=l(t.response,p,"response");c(e,"response",r)}),d}},70148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=()=>{const e=[];return{once(t,r,A){t.once(r,A),e.push({origin:t,event:r,fn:A})},unhandleAll(){for(const t of e){const{origin:e,event:r,fn:A}=t;e.removeListener(r,A)}e.length=0}}}},50116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=e=>{const t={protocol:(e=e).protocol,hostname:A.default.string(e.hostname)&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return A.default.string(e.port)&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},85551:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){"object"==typeof e?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return"object"==typeof e?this.weakMap.get(e):this.map.get(e)}has(e){return"object"==typeof e?this.weakMap.has(e):this.map.has(e)}}},39226:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.defaultHandler=void 0;const o=r(7966),i=r(81588),s=r(93576),a=r(9048),c=r(9743),g={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=a.default,h=(...e)=>{let t;for(const r of e)t=u(void 0,r,t);return t},p=e=>e.isStream?new a.default(void 0,e):i.default(e),d=e=>"defaults"in e&&"options"in e.defaults,C=["get","post","put","patch","head","delete"];t.defaultHandler=(e,t)=>t(e);const f=(e,t)=>{if(e)for(const r of e)r(t)},I=e=>{e._rawHandlers=e.handlers,e.handlers=e.handlers.map(e=>(t,r)=>{let A;const n=e(t,e=>(A=r(e),A));if(n!==A&&!t.isStream&&A){const e=n,{then:t,catch:r,finally:o}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(A)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)),e.then=t,e.catch=r,e.finally=o}return n});const r=(t,r,A)=>{var n,c;let g=0;const l=t=>e.handlers[g++](t,g===e.handlers.length?p:l);if(o.default.plainObject(t)){const e={...t,...r};a.setNonEnumerableProperties([t,r],e),r=e,t=void 0}try{let o;try{f(e.options.hooks.init,r),f(null===(n=null==r?void 0:r.hooks)||void 0===n?void 0:n.init,r)}catch(e){o=e}const s=u(t,r,null!=A?A:e.options);if(s[a.kIsNormalizedAlready]=!0,o)throw new i.RequestError(o.message,o,s);return l(s)}catch(t){if(null==r?void 0:r.isStream)throw t;return s.default(t,e.options.hooks.beforeError,null===(c=null==r?void 0:r.hooks)||void 0===c?void 0:c.beforeError)}};r.extend=(...r)=>{const A=[e.options];let n,o=[...e._rawHandlers];for(const e of r)d(e)?(A.push(e.defaults.options),o.push(...e.defaults._rawHandlers),n=e.defaults.mutableDefaults):(A.push(e),"handlers"in e&&o.push(...e.handlers),n=e.mutableDefaults);return o=o.filter(e=>e!==t.defaultHandler),0===o.length&&o.push(t.defaultHandler),I({options:h(...A),handlers:o,mutableDefaults:Boolean(n)})};const A=async function*(t,A){let n=u(t,A,e.options);n.resolveBodyOnly=!1;const i=n.pagination;if(!o.default.object(i))throw new TypeError("`options.pagination` must be implemented");const s=[];let{countLimit:a}=i,c=0;for(;c{const r=[];for await(const n of A(e,t))r.push(n);return r},r.paginate.each=A,r.stream=(e,t)=>r(e,{...t,isStream:!0});for(const e of C)r[e]=(t,A)=>r(t,{...A,method:e}),r.stream[e]=(t,A)=>r(t,{...A,method:e,isStream:!0});return Object.assign(r,g),Object.defineProperty(r,"defaults",{value:e.mutableDefaults?e:c.default(e),writable:e.mutableDefaults,configurable:e.mutableDefaults,enumerable:!0}),r.mergeOptions=h,r};t.default=I,n(r(69022),t)},48722:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0});const o=r(78835),i=r(39226),s={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>"json"===e.request.options.responseType?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,"link"))return!1;const t=e.headers.link.split(",");let r;for(const e of t){const t=e.split(";");if(t[1].includes("next")){r=t[0].trimStart().trim(),r=r.slice(1,-1);break}}if(r){return{url:new o.URL(r)}}return!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[i.defaultHandler],mutableDefaults:!1},a=i.default(s);t.default=a,e.exports=a,e.exports.default=a,e.exports.__esModule=!0,n(r(39226),t),n(r(81588),t)},69022:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9743:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=function e(t){for(const r of Object.values(t))(A.default.plainObject(r)||A.default.array(r))&&e(r);return Object.freeze(t)}},54595:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=new Set;t.default=e=>{r.has(e)||(r.add(e),process.emitWarning("Got: "+e,{type:"DeprecationWarning"}))}},74988:e=>{e.exports&&(e.exports=function(){var e=3,t=4,r=12,A=13,n=16,o=17;function i(e,t){void 0===t&&(t=0);var r=e.charCodeAt(t);if(55296<=r&&r<=56319&&t=1){var n=r;return 55296<=(A=e.charCodeAt(t-1))&&A<=56319?1024*(A-55296)+(n-56320)+65536:n}return r}function s(i,s,a){var c=[i].concat(s).concat([a]),g=c[c.length-2],l=a,u=c.lastIndexOf(14);if(u>1&&c.slice(1,u).every((function(t){return t==e}))&&-1==[e,A,o].indexOf(i))return 2;var h=c.lastIndexOf(t);if(h>0&&c.slice(1,h).every((function(e){return e==t}))&&-1==[r,t].indexOf(g))return c.filter((function(e){return e==t})).length%2==1?3:4;if(0==g&&1==l)return 0;if(2==g||0==g||1==g)return 14==l&&s.every((function(t){return t==e}))?2:1;if(2==l||0==l||1==l)return 1;if(6==g&&(6==l||7==l||9==l||10==l))return 0;if(!(9!=g&&7!=g||7!=l&&8!=l))return 0;if((10==g||8==g)&&8==l)return 0;if(l==e||15==l)return 0;if(5==l)return 0;if(g==r)return 0;var p=-1!=c.indexOf(e)?c.lastIndexOf(e)-1:c.length-2;return-1!=[A,o].indexOf(c[p])&&c.slice(p+1,-1).every((function(t){return t==e}))&&14==l||15==g&&-1!=[n,o].indexOf(l)?0:-1!=s.indexOf(t)?2:g==t&&l==t?0:1}function a(i){return 1536<=i&&i<=1541||1757==i||1807==i||2274==i||3406==i||69821==i||70082<=i&&i<=70083||72250==i||72326<=i&&i<=72329||73030==i?r:13==i?0:10==i?1:0<=i&&i<=9||11<=i&&i<=12||14<=i&&i<=31||127<=i&&i<=159||173==i||1564==i||6158==i||8203==i||8206<=i&&i<=8207||8232==i||8233==i||8234<=i&&i<=8238||8288<=i&&i<=8292||8293==i||8294<=i&&i<=8303||55296<=i&&i<=57343||65279==i||65520<=i&&i<=65528||65529<=i&&i<=65531||113824<=i&&i<=113827||119155<=i&&i<=119162||917504==i||917505==i||917506<=i&&i<=917535||917632<=i&&i<=917759||918e3<=i&&i<=921599?2:768<=i&&i<=879||1155<=i&&i<=1159||1160<=i&&i<=1161||1425<=i&&i<=1469||1471==i||1473<=i&&i<=1474||1476<=i&&i<=1477||1479==i||1552<=i&&i<=1562||1611<=i&&i<=1631||1648==i||1750<=i&&i<=1756||1759<=i&&i<=1764||1767<=i&&i<=1768||1770<=i&&i<=1773||1809==i||1840<=i&&i<=1866||1958<=i&&i<=1968||2027<=i&&i<=2035||2070<=i&&i<=2073||2075<=i&&i<=2083||2085<=i&&i<=2087||2089<=i&&i<=2093||2137<=i&&i<=2139||2260<=i&&i<=2273||2275<=i&&i<=2306||2362==i||2364==i||2369<=i&&i<=2376||2381==i||2385<=i&&i<=2391||2402<=i&&i<=2403||2433==i||2492==i||2494==i||2497<=i&&i<=2500||2509==i||2519==i||2530<=i&&i<=2531||2561<=i&&i<=2562||2620==i||2625<=i&&i<=2626||2631<=i&&i<=2632||2635<=i&&i<=2637||2641==i||2672<=i&&i<=2673||2677==i||2689<=i&&i<=2690||2748==i||2753<=i&&i<=2757||2759<=i&&i<=2760||2765==i||2786<=i&&i<=2787||2810<=i&&i<=2815||2817==i||2876==i||2878==i||2879==i||2881<=i&&i<=2884||2893==i||2902==i||2903==i||2914<=i&&i<=2915||2946==i||3006==i||3008==i||3021==i||3031==i||3072==i||3134<=i&&i<=3136||3142<=i&&i<=3144||3146<=i&&i<=3149||3157<=i&&i<=3158||3170<=i&&i<=3171||3201==i||3260==i||3263==i||3266==i||3270==i||3276<=i&&i<=3277||3285<=i&&i<=3286||3298<=i&&i<=3299||3328<=i&&i<=3329||3387<=i&&i<=3388||3390==i||3393<=i&&i<=3396||3405==i||3415==i||3426<=i&&i<=3427||3530==i||3535==i||3538<=i&&i<=3540||3542==i||3551==i||3633==i||3636<=i&&i<=3642||3655<=i&&i<=3662||3761==i||3764<=i&&i<=3769||3771<=i&&i<=3772||3784<=i&&i<=3789||3864<=i&&i<=3865||3893==i||3895==i||3897==i||3953<=i&&i<=3966||3968<=i&&i<=3972||3974<=i&&i<=3975||3981<=i&&i<=3991||3993<=i&&i<=4028||4038==i||4141<=i&&i<=4144||4146<=i&&i<=4151||4153<=i&&i<=4154||4157<=i&&i<=4158||4184<=i&&i<=4185||4190<=i&&i<=4192||4209<=i&&i<=4212||4226==i||4229<=i&&i<=4230||4237==i||4253==i||4957<=i&&i<=4959||5906<=i&&i<=5908||5938<=i&&i<=5940||5970<=i&&i<=5971||6002<=i&&i<=6003||6068<=i&&i<=6069||6071<=i&&i<=6077||6086==i||6089<=i&&i<=6099||6109==i||6155<=i&&i<=6157||6277<=i&&i<=6278||6313==i||6432<=i&&i<=6434||6439<=i&&i<=6440||6450==i||6457<=i&&i<=6459||6679<=i&&i<=6680||6683==i||6742==i||6744<=i&&i<=6750||6752==i||6754==i||6757<=i&&i<=6764||6771<=i&&i<=6780||6783==i||6832<=i&&i<=6845||6846==i||6912<=i&&i<=6915||6964==i||6966<=i&&i<=6970||6972==i||6978==i||7019<=i&&i<=7027||7040<=i&&i<=7041||7074<=i&&i<=7077||7080<=i&&i<=7081||7083<=i&&i<=7085||7142==i||7144<=i&&i<=7145||7149==i||7151<=i&&i<=7153||7212<=i&&i<=7219||7222<=i&&i<=7223||7376<=i&&i<=7378||7380<=i&&i<=7392||7394<=i&&i<=7400||7405==i||7412==i||7416<=i&&i<=7417||7616<=i&&i<=7673||7675<=i&&i<=7679||8204==i||8400<=i&&i<=8412||8413<=i&&i<=8416||8417==i||8418<=i&&i<=8420||8421<=i&&i<=8432||11503<=i&&i<=11505||11647==i||11744<=i&&i<=11775||12330<=i&&i<=12333||12334<=i&&i<=12335||12441<=i&&i<=12442||42607==i||42608<=i&&i<=42610||42612<=i&&i<=42621||42654<=i&&i<=42655||42736<=i&&i<=42737||43010==i||43014==i||43019==i||43045<=i&&i<=43046||43204<=i&&i<=43205||43232<=i&&i<=43249||43302<=i&&i<=43309||43335<=i&&i<=43345||43392<=i&&i<=43394||43443==i||43446<=i&&i<=43449||43452==i||43493==i||43561<=i&&i<=43566||43569<=i&&i<=43570||43573<=i&&i<=43574||43587==i||43596==i||43644==i||43696==i||43698<=i&&i<=43700||43703<=i&&i<=43704||43710<=i&&i<=43711||43713==i||43756<=i&&i<=43757||43766==i||44005==i||44008==i||44013==i||64286==i||65024<=i&&i<=65039||65056<=i&&i<=65071||65438<=i&&i<=65439||66045==i||66272==i||66422<=i&&i<=66426||68097<=i&&i<=68099||68101<=i&&i<=68102||68108<=i&&i<=68111||68152<=i&&i<=68154||68159==i||68325<=i&&i<=68326||69633==i||69688<=i&&i<=69702||69759<=i&&i<=69761||69811<=i&&i<=69814||69817<=i&&i<=69818||69888<=i&&i<=69890||69927<=i&&i<=69931||69933<=i&&i<=69940||70003==i||70016<=i&&i<=70017||70070<=i&&i<=70078||70090<=i&&i<=70092||70191<=i&&i<=70193||70196==i||70198<=i&&i<=70199||70206==i||70367==i||70371<=i&&i<=70378||70400<=i&&i<=70401||70460==i||70462==i||70464==i||70487==i||70502<=i&&i<=70508||70512<=i&&i<=70516||70712<=i&&i<=70719||70722<=i&&i<=70724||70726==i||70832==i||70835<=i&&i<=70840||70842==i||70845==i||70847<=i&&i<=70848||70850<=i&&i<=70851||71087==i||71090<=i&&i<=71093||71100<=i&&i<=71101||71103<=i&&i<=71104||71132<=i&&i<=71133||71219<=i&&i<=71226||71229==i||71231<=i&&i<=71232||71339==i||71341==i||71344<=i&&i<=71349||71351==i||71453<=i&&i<=71455||71458<=i&&i<=71461||71463<=i&&i<=71467||72193<=i&&i<=72198||72201<=i&&i<=72202||72243<=i&&i<=72248||72251<=i&&i<=72254||72263==i||72273<=i&&i<=72278||72281<=i&&i<=72283||72330<=i&&i<=72342||72344<=i&&i<=72345||72752<=i&&i<=72758||72760<=i&&i<=72765||72767==i||72850<=i&&i<=72871||72874<=i&&i<=72880||72882<=i&&i<=72883||72885<=i&&i<=72886||73009<=i&&i<=73014||73018==i||73020<=i&&i<=73021||73023<=i&&i<=73029||73031==i||92912<=i&&i<=92916||92976<=i&&i<=92982||94095<=i&&i<=94098||113821<=i&&i<=113822||119141==i||119143<=i&&i<=119145||119150<=i&&i<=119154||119163<=i&&i<=119170||119173<=i&&i<=119179||119210<=i&&i<=119213||119362<=i&&i<=119364||121344<=i&&i<=121398||121403<=i&&i<=121452||121461==i||121476==i||121499<=i&&i<=121503||121505<=i&&i<=121519||122880<=i&&i<=122886||122888<=i&&i<=122904||122907<=i&&i<=122913||122915<=i&&i<=122916||122918<=i&&i<=122922||125136<=i&&i<=125142||125252<=i&&i<=125258||917536<=i&&i<=917631||917760<=i&&i<=917999?e:127462<=i&&i<=127487?t:2307==i||2363==i||2366<=i&&i<=2368||2377<=i&&i<=2380||2382<=i&&i<=2383||2434<=i&&i<=2435||2495<=i&&i<=2496||2503<=i&&i<=2504||2507<=i&&i<=2508||2563==i||2622<=i&&i<=2624||2691==i||2750<=i&&i<=2752||2761==i||2763<=i&&i<=2764||2818<=i&&i<=2819||2880==i||2887<=i&&i<=2888||2891<=i&&i<=2892||3007==i||3009<=i&&i<=3010||3014<=i&&i<=3016||3018<=i&&i<=3020||3073<=i&&i<=3075||3137<=i&&i<=3140||3202<=i&&i<=3203||3262==i||3264<=i&&i<=3265||3267<=i&&i<=3268||3271<=i&&i<=3272||3274<=i&&i<=3275||3330<=i&&i<=3331||3391<=i&&i<=3392||3398<=i&&i<=3400||3402<=i&&i<=3404||3458<=i&&i<=3459||3536<=i&&i<=3537||3544<=i&&i<=3550||3570<=i&&i<=3571||3635==i||3763==i||3902<=i&&i<=3903||3967==i||4145==i||4155<=i&&i<=4156||4182<=i&&i<=4183||4228==i||6070==i||6078<=i&&i<=6085||6087<=i&&i<=6088||6435<=i&&i<=6438||6441<=i&&i<=6443||6448<=i&&i<=6449||6451<=i&&i<=6456||6681<=i&&i<=6682||6741==i||6743==i||6765<=i&&i<=6770||6916==i||6965==i||6971==i||6973<=i&&i<=6977||6979<=i&&i<=6980||7042==i||7073==i||7078<=i&&i<=7079||7082==i||7143==i||7146<=i&&i<=7148||7150==i||7154<=i&&i<=7155||7204<=i&&i<=7211||7220<=i&&i<=7221||7393==i||7410<=i&&i<=7411||7415==i||43043<=i&&i<=43044||43047==i||43136<=i&&i<=43137||43188<=i&&i<=43203||43346<=i&&i<=43347||43395==i||43444<=i&&i<=43445||43450<=i&&i<=43451||43453<=i&&i<=43456||43567<=i&&i<=43568||43571<=i&&i<=43572||43597==i||43755==i||43758<=i&&i<=43759||43765==i||44003<=i&&i<=44004||44006<=i&&i<=44007||44009<=i&&i<=44010||44012==i||69632==i||69634==i||69762==i||69808<=i&&i<=69810||69815<=i&&i<=69816||69932==i||70018==i||70067<=i&&i<=70069||70079<=i&&i<=70080||70188<=i&&i<=70190||70194<=i&&i<=70195||70197==i||70368<=i&&i<=70370||70402<=i&&i<=70403||70463==i||70465<=i&&i<=70468||70471<=i&&i<=70472||70475<=i&&i<=70477||70498<=i&&i<=70499||70709<=i&&i<=70711||70720<=i&&i<=70721||70725==i||70833<=i&&i<=70834||70841==i||70843<=i&&i<=70844||70846==i||70849==i||71088<=i&&i<=71089||71096<=i&&i<=71099||71102==i||71216<=i&&i<=71218||71227<=i&&i<=71228||71230==i||71340==i||71342<=i&&i<=71343||71350==i||71456<=i&&i<=71457||71462==i||72199<=i&&i<=72200||72249==i||72279<=i&&i<=72280||72343==i||72751==i||72766==i||72873==i||72881==i||72884==i||94033<=i&&i<=94078||119142==i||119149==i?5:4352<=i&&i<=4447||43360<=i&&i<=43388?6:4448<=i&&i<=4519||55216<=i&&i<=55238?7:4520<=i&&i<=4607||55243<=i&&i<=55291?8:44032==i||44060==i||44088==i||44116==i||44144==i||44172==i||44200==i||44228==i||44256==i||44284==i||44312==i||44340==i||44368==i||44396==i||44424==i||44452==i||44480==i||44508==i||44536==i||44564==i||44592==i||44620==i||44648==i||44676==i||44704==i||44732==i||44760==i||44788==i||44816==i||44844==i||44872==i||44900==i||44928==i||44956==i||44984==i||45012==i||45040==i||45068==i||45096==i||45124==i||45152==i||45180==i||45208==i||45236==i||45264==i||45292==i||45320==i||45348==i||45376==i||45404==i||45432==i||45460==i||45488==i||45516==i||45544==i||45572==i||45600==i||45628==i||45656==i||45684==i||45712==i||45740==i||45768==i||45796==i||45824==i||45852==i||45880==i||45908==i||45936==i||45964==i||45992==i||46020==i||46048==i||46076==i||46104==i||46132==i||46160==i||46188==i||46216==i||46244==i||46272==i||46300==i||46328==i||46356==i||46384==i||46412==i||46440==i||46468==i||46496==i||46524==i||46552==i||46580==i||46608==i||46636==i||46664==i||46692==i||46720==i||46748==i||46776==i||46804==i||46832==i||46860==i||46888==i||46916==i||46944==i||46972==i||47e3==i||47028==i||47056==i||47084==i||47112==i||47140==i||47168==i||47196==i||47224==i||47252==i||47280==i||47308==i||47336==i||47364==i||47392==i||47420==i||47448==i||47476==i||47504==i||47532==i||47560==i||47588==i||47616==i||47644==i||47672==i||47700==i||47728==i||47756==i||47784==i||47812==i||47840==i||47868==i||47896==i||47924==i||47952==i||47980==i||48008==i||48036==i||48064==i||48092==i||48120==i||48148==i||48176==i||48204==i||48232==i||48260==i||48288==i||48316==i||48344==i||48372==i||48400==i||48428==i||48456==i||48484==i||48512==i||48540==i||48568==i||48596==i||48624==i||48652==i||48680==i||48708==i||48736==i||48764==i||48792==i||48820==i||48848==i||48876==i||48904==i||48932==i||48960==i||48988==i||49016==i||49044==i||49072==i||49100==i||49128==i||49156==i||49184==i||49212==i||49240==i||49268==i||49296==i||49324==i||49352==i||49380==i||49408==i||49436==i||49464==i||49492==i||49520==i||49548==i||49576==i||49604==i||49632==i||49660==i||49688==i||49716==i||49744==i||49772==i||49800==i||49828==i||49856==i||49884==i||49912==i||49940==i||49968==i||49996==i||50024==i||50052==i||50080==i||50108==i||50136==i||50164==i||50192==i||50220==i||50248==i||50276==i||50304==i||50332==i||50360==i||50388==i||50416==i||50444==i||50472==i||50500==i||50528==i||50556==i||50584==i||50612==i||50640==i||50668==i||50696==i||50724==i||50752==i||50780==i||50808==i||50836==i||50864==i||50892==i||50920==i||50948==i||50976==i||51004==i||51032==i||51060==i||51088==i||51116==i||51144==i||51172==i||51200==i||51228==i||51256==i||51284==i||51312==i||51340==i||51368==i||51396==i||51424==i||51452==i||51480==i||51508==i||51536==i||51564==i||51592==i||51620==i||51648==i||51676==i||51704==i||51732==i||51760==i||51788==i||51816==i||51844==i||51872==i||51900==i||51928==i||51956==i||51984==i||52012==i||52040==i||52068==i||52096==i||52124==i||52152==i||52180==i||52208==i||52236==i||52264==i||52292==i||52320==i||52348==i||52376==i||52404==i||52432==i||52460==i||52488==i||52516==i||52544==i||52572==i||52600==i||52628==i||52656==i||52684==i||52712==i||52740==i||52768==i||52796==i||52824==i||52852==i||52880==i||52908==i||52936==i||52964==i||52992==i||53020==i||53048==i||53076==i||53104==i||53132==i||53160==i||53188==i||53216==i||53244==i||53272==i||53300==i||53328==i||53356==i||53384==i||53412==i||53440==i||53468==i||53496==i||53524==i||53552==i||53580==i||53608==i||53636==i||53664==i||53692==i||53720==i||53748==i||53776==i||53804==i||53832==i||53860==i||53888==i||53916==i||53944==i||53972==i||54e3==i||54028==i||54056==i||54084==i||54112==i||54140==i||54168==i||54196==i||54224==i||54252==i||54280==i||54308==i||54336==i||54364==i||54392==i||54420==i||54448==i||54476==i||54504==i||54532==i||54560==i||54588==i||54616==i||54644==i||54672==i||54700==i||54728==i||54756==i||54784==i||54812==i||54840==i||54868==i||54896==i||54924==i||54952==i||54980==i||55008==i||55036==i||55064==i||55092==i||55120==i||55148==i||55176==i?9:44033<=i&&i<=44059||44061<=i&&i<=44087||44089<=i&&i<=44115||44117<=i&&i<=44143||44145<=i&&i<=44171||44173<=i&&i<=44199||44201<=i&&i<=44227||44229<=i&&i<=44255||44257<=i&&i<=44283||44285<=i&&i<=44311||44313<=i&&i<=44339||44341<=i&&i<=44367||44369<=i&&i<=44395||44397<=i&&i<=44423||44425<=i&&i<=44451||44453<=i&&i<=44479||44481<=i&&i<=44507||44509<=i&&i<=44535||44537<=i&&i<=44563||44565<=i&&i<=44591||44593<=i&&i<=44619||44621<=i&&i<=44647||44649<=i&&i<=44675||44677<=i&&i<=44703||44705<=i&&i<=44731||44733<=i&&i<=44759||44761<=i&&i<=44787||44789<=i&&i<=44815||44817<=i&&i<=44843||44845<=i&&i<=44871||44873<=i&&i<=44899||44901<=i&&i<=44927||44929<=i&&i<=44955||44957<=i&&i<=44983||44985<=i&&i<=45011||45013<=i&&i<=45039||45041<=i&&i<=45067||45069<=i&&i<=45095||45097<=i&&i<=45123||45125<=i&&i<=45151||45153<=i&&i<=45179||45181<=i&&i<=45207||45209<=i&&i<=45235||45237<=i&&i<=45263||45265<=i&&i<=45291||45293<=i&&i<=45319||45321<=i&&i<=45347||45349<=i&&i<=45375||45377<=i&&i<=45403||45405<=i&&i<=45431||45433<=i&&i<=45459||45461<=i&&i<=45487||45489<=i&&i<=45515||45517<=i&&i<=45543||45545<=i&&i<=45571||45573<=i&&i<=45599||45601<=i&&i<=45627||45629<=i&&i<=45655||45657<=i&&i<=45683||45685<=i&&i<=45711||45713<=i&&i<=45739||45741<=i&&i<=45767||45769<=i&&i<=45795||45797<=i&&i<=45823||45825<=i&&i<=45851||45853<=i&&i<=45879||45881<=i&&i<=45907||45909<=i&&i<=45935||45937<=i&&i<=45963||45965<=i&&i<=45991||45993<=i&&i<=46019||46021<=i&&i<=46047||46049<=i&&i<=46075||46077<=i&&i<=46103||46105<=i&&i<=46131||46133<=i&&i<=46159||46161<=i&&i<=46187||46189<=i&&i<=46215||46217<=i&&i<=46243||46245<=i&&i<=46271||46273<=i&&i<=46299||46301<=i&&i<=46327||46329<=i&&i<=46355||46357<=i&&i<=46383||46385<=i&&i<=46411||46413<=i&&i<=46439||46441<=i&&i<=46467||46469<=i&&i<=46495||46497<=i&&i<=46523||46525<=i&&i<=46551||46553<=i&&i<=46579||46581<=i&&i<=46607||46609<=i&&i<=46635||46637<=i&&i<=46663||46665<=i&&i<=46691||46693<=i&&i<=46719||46721<=i&&i<=46747||46749<=i&&i<=46775||46777<=i&&i<=46803||46805<=i&&i<=46831||46833<=i&&i<=46859||46861<=i&&i<=46887||46889<=i&&i<=46915||46917<=i&&i<=46943||46945<=i&&i<=46971||46973<=i&&i<=46999||47001<=i&&i<=47027||47029<=i&&i<=47055||47057<=i&&i<=47083||47085<=i&&i<=47111||47113<=i&&i<=47139||47141<=i&&i<=47167||47169<=i&&i<=47195||47197<=i&&i<=47223||47225<=i&&i<=47251||47253<=i&&i<=47279||47281<=i&&i<=47307||47309<=i&&i<=47335||47337<=i&&i<=47363||47365<=i&&i<=47391||47393<=i&&i<=47419||47421<=i&&i<=47447||47449<=i&&i<=47475||47477<=i&&i<=47503||47505<=i&&i<=47531||47533<=i&&i<=47559||47561<=i&&i<=47587||47589<=i&&i<=47615||47617<=i&&i<=47643||47645<=i&&i<=47671||47673<=i&&i<=47699||47701<=i&&i<=47727||47729<=i&&i<=47755||47757<=i&&i<=47783||47785<=i&&i<=47811||47813<=i&&i<=47839||47841<=i&&i<=47867||47869<=i&&i<=47895||47897<=i&&i<=47923||47925<=i&&i<=47951||47953<=i&&i<=47979||47981<=i&&i<=48007||48009<=i&&i<=48035||48037<=i&&i<=48063||48065<=i&&i<=48091||48093<=i&&i<=48119||48121<=i&&i<=48147||48149<=i&&i<=48175||48177<=i&&i<=48203||48205<=i&&i<=48231||48233<=i&&i<=48259||48261<=i&&i<=48287||48289<=i&&i<=48315||48317<=i&&i<=48343||48345<=i&&i<=48371||48373<=i&&i<=48399||48401<=i&&i<=48427||48429<=i&&i<=48455||48457<=i&&i<=48483||48485<=i&&i<=48511||48513<=i&&i<=48539||48541<=i&&i<=48567||48569<=i&&i<=48595||48597<=i&&i<=48623||48625<=i&&i<=48651||48653<=i&&i<=48679||48681<=i&&i<=48707||48709<=i&&i<=48735||48737<=i&&i<=48763||48765<=i&&i<=48791||48793<=i&&i<=48819||48821<=i&&i<=48847||48849<=i&&i<=48875||48877<=i&&i<=48903||48905<=i&&i<=48931||48933<=i&&i<=48959||48961<=i&&i<=48987||48989<=i&&i<=49015||49017<=i&&i<=49043||49045<=i&&i<=49071||49073<=i&&i<=49099||49101<=i&&i<=49127||49129<=i&&i<=49155||49157<=i&&i<=49183||49185<=i&&i<=49211||49213<=i&&i<=49239||49241<=i&&i<=49267||49269<=i&&i<=49295||49297<=i&&i<=49323||49325<=i&&i<=49351||49353<=i&&i<=49379||49381<=i&&i<=49407||49409<=i&&i<=49435||49437<=i&&i<=49463||49465<=i&&i<=49491||49493<=i&&i<=49519||49521<=i&&i<=49547||49549<=i&&i<=49575||49577<=i&&i<=49603||49605<=i&&i<=49631||49633<=i&&i<=49659||49661<=i&&i<=49687||49689<=i&&i<=49715||49717<=i&&i<=49743||49745<=i&&i<=49771||49773<=i&&i<=49799||49801<=i&&i<=49827||49829<=i&&i<=49855||49857<=i&&i<=49883||49885<=i&&i<=49911||49913<=i&&i<=49939||49941<=i&&i<=49967||49969<=i&&i<=49995||49997<=i&&i<=50023||50025<=i&&i<=50051||50053<=i&&i<=50079||50081<=i&&i<=50107||50109<=i&&i<=50135||50137<=i&&i<=50163||50165<=i&&i<=50191||50193<=i&&i<=50219||50221<=i&&i<=50247||50249<=i&&i<=50275||50277<=i&&i<=50303||50305<=i&&i<=50331||50333<=i&&i<=50359||50361<=i&&i<=50387||50389<=i&&i<=50415||50417<=i&&i<=50443||50445<=i&&i<=50471||50473<=i&&i<=50499||50501<=i&&i<=50527||50529<=i&&i<=50555||50557<=i&&i<=50583||50585<=i&&i<=50611||50613<=i&&i<=50639||50641<=i&&i<=50667||50669<=i&&i<=50695||50697<=i&&i<=50723||50725<=i&&i<=50751||50753<=i&&i<=50779||50781<=i&&i<=50807||50809<=i&&i<=50835||50837<=i&&i<=50863||50865<=i&&i<=50891||50893<=i&&i<=50919||50921<=i&&i<=50947||50949<=i&&i<=50975||50977<=i&&i<=51003||51005<=i&&i<=51031||51033<=i&&i<=51059||51061<=i&&i<=51087||51089<=i&&i<=51115||51117<=i&&i<=51143||51145<=i&&i<=51171||51173<=i&&i<=51199||51201<=i&&i<=51227||51229<=i&&i<=51255||51257<=i&&i<=51283||51285<=i&&i<=51311||51313<=i&&i<=51339||51341<=i&&i<=51367||51369<=i&&i<=51395||51397<=i&&i<=51423||51425<=i&&i<=51451||51453<=i&&i<=51479||51481<=i&&i<=51507||51509<=i&&i<=51535||51537<=i&&i<=51563||51565<=i&&i<=51591||51593<=i&&i<=51619||51621<=i&&i<=51647||51649<=i&&i<=51675||51677<=i&&i<=51703||51705<=i&&i<=51731||51733<=i&&i<=51759||51761<=i&&i<=51787||51789<=i&&i<=51815||51817<=i&&i<=51843||51845<=i&&i<=51871||51873<=i&&i<=51899||51901<=i&&i<=51927||51929<=i&&i<=51955||51957<=i&&i<=51983||51985<=i&&i<=52011||52013<=i&&i<=52039||52041<=i&&i<=52067||52069<=i&&i<=52095||52097<=i&&i<=52123||52125<=i&&i<=52151||52153<=i&&i<=52179||52181<=i&&i<=52207||52209<=i&&i<=52235||52237<=i&&i<=52263||52265<=i&&i<=52291||52293<=i&&i<=52319||52321<=i&&i<=52347||52349<=i&&i<=52375||52377<=i&&i<=52403||52405<=i&&i<=52431||52433<=i&&i<=52459||52461<=i&&i<=52487||52489<=i&&i<=52515||52517<=i&&i<=52543||52545<=i&&i<=52571||52573<=i&&i<=52599||52601<=i&&i<=52627||52629<=i&&i<=52655||52657<=i&&i<=52683||52685<=i&&i<=52711||52713<=i&&i<=52739||52741<=i&&i<=52767||52769<=i&&i<=52795||52797<=i&&i<=52823||52825<=i&&i<=52851||52853<=i&&i<=52879||52881<=i&&i<=52907||52909<=i&&i<=52935||52937<=i&&i<=52963||52965<=i&&i<=52991||52993<=i&&i<=53019||53021<=i&&i<=53047||53049<=i&&i<=53075||53077<=i&&i<=53103||53105<=i&&i<=53131||53133<=i&&i<=53159||53161<=i&&i<=53187||53189<=i&&i<=53215||53217<=i&&i<=53243||53245<=i&&i<=53271||53273<=i&&i<=53299||53301<=i&&i<=53327||53329<=i&&i<=53355||53357<=i&&i<=53383||53385<=i&&i<=53411||53413<=i&&i<=53439||53441<=i&&i<=53467||53469<=i&&i<=53495||53497<=i&&i<=53523||53525<=i&&i<=53551||53553<=i&&i<=53579||53581<=i&&i<=53607||53609<=i&&i<=53635||53637<=i&&i<=53663||53665<=i&&i<=53691||53693<=i&&i<=53719||53721<=i&&i<=53747||53749<=i&&i<=53775||53777<=i&&i<=53803||53805<=i&&i<=53831||53833<=i&&i<=53859||53861<=i&&i<=53887||53889<=i&&i<=53915||53917<=i&&i<=53943||53945<=i&&i<=53971||53973<=i&&i<=53999||54001<=i&&i<=54027||54029<=i&&i<=54055||54057<=i&&i<=54083||54085<=i&&i<=54111||54113<=i&&i<=54139||54141<=i&&i<=54167||54169<=i&&i<=54195||54197<=i&&i<=54223||54225<=i&&i<=54251||54253<=i&&i<=54279||54281<=i&&i<=54307||54309<=i&&i<=54335||54337<=i&&i<=54363||54365<=i&&i<=54391||54393<=i&&i<=54419||54421<=i&&i<=54447||54449<=i&&i<=54475||54477<=i&&i<=54503||54505<=i&&i<=54531||54533<=i&&i<=54559||54561<=i&&i<=54587||54589<=i&&i<=54615||54617<=i&&i<=54643||54645<=i&&i<=54671||54673<=i&&i<=54699||54701<=i&&i<=54727||54729<=i&&i<=54755||54757<=i&&i<=54783||54785<=i&&i<=54811||54813<=i&&i<=54839||54841<=i&&i<=54867||54869<=i&&i<=54895||54897<=i&&i<=54923||54925<=i&&i<=54951||54953<=i&&i<=54979||54981<=i&&i<=55007||55009<=i&&i<=55035||55037<=i&&i<=55063||55065<=i&&i<=55091||55093<=i&&i<=55119||55121<=i&&i<=55147||55149<=i&&i<=55175||55177<=i&&i<=55203?10:9757==i||9977==i||9994<=i&&i<=9997||127877==i||127938<=i&&i<=127940||127943==i||127946<=i&&i<=127948||128066<=i&&i<=128067||128070<=i&&i<=128080||128110==i||128112<=i&&i<=128120||128124==i||128129<=i&&i<=128131||128133<=i&&i<=128135||128170==i||128372<=i&&i<=128373||128378==i||128400==i||128405<=i&&i<=128406||128581<=i&&i<=128583||128587<=i&&i<=128591||128675==i||128692<=i&&i<=128694||128704==i||128716==i||129304<=i&&i<=129308||129310<=i&&i<=129311||129318==i||129328<=i&&i<=129337||129341<=i&&i<=129342||129489<=i&&i<=129501?A:127995<=i&&i<=127999?14:8205==i?15:9792==i||9794==i||9877<=i&&i<=9878||9992==i||10084==i||127752==i||127806==i||127859==i||127891==i||127908==i||127912==i||127979==i||127981==i||128139==i||128187<=i&&i<=128188||128295==i||128300==i||128488==i||128640==i||128658==i?n:128102<=i&&i<=128105?o:11}return this.nextBreak=function(e,t){if(void 0===t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(var r,A,n=a(i(e,t)),o=[],c=t+1;c{"use strict";e.exports=(e,t=process.argv)=>{const r=e.startsWith("-")?"":1===e.length?"-":"--",A=t.indexOf(r+e),n=t.indexOf("--");return-1!==A&&(-1===n||A{"use strict";const t=[200,203,204,206,300,301,404,405,410,414,501],r=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],A={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},n={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function o(e){const t={};if(!e)return t;const r=e.trim().split(/\s*,\s*/);for(const e of r){const[r,A]=e.split(/\s*=\s*/,2);t[r]=void 0===A||A.replace(/^"|"$/g,"")}return t}function i(e){let t=[];for(const r in e){const A=e[r];t.push(!0===A?r:r+"="+A)}if(t.length)return t.join(", ")}e.exports=class{constructor(e,t,{shared:r,cacheHeuristic:A,immutableMinTimeToLive:n,ignoreCargoCult:s,trustServerDate:a,_fromObject:c}={}){if(c)this._fromObject(c);else{if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=!1!==r,this._trustServerDate=void 0===a||a,this._cacheHeuristic=void 0!==A?A:.1,this._immutableMinTtl=void 0!==n?n:864e5,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=o(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=o(e.headers["cache-control"]),s&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":i(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers["cache-control"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}}now(){return Date.now()}storable(){return!(this._reqcc["no-store"]||!("GET"===this._method||"HEAD"===this._method||"POST"===this._method&&this._hasExplicitExpiration())||-1===r.indexOf(this._status)||this._rescc["no-store"]||this._isShared&&this._rescc.private||this._isShared&&!this._noAuthorization&&!this._allowsStoringAuthenticated()||!(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||-1!==t.indexOf(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);const t=o(e.headers["cache-control"]);if(t["no-cache"]||/no-cache/.test(e.headers.pragma))return!1;if(t["max-age"]&&this.age()>t["max-age"])return!1;if(t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"])return!1;if(this.stale()){if(!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(!0===t["max-stale"]||t["max-stale"]>this.age()-this.maxAge())))return!1}return this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&"HEAD"===e.method)&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if("*"===this._resHeaders.vary)return!1;const t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(const r of t)if(e.headers[r]!==this._reqHeaders[r])return!1;return!0}_copyWithoutHopByHopHeaders(e){const t={};for(const r in e)A[r]||(t[r]=e[r]);if(e.connection){const r=e.connection.trim().split(/\s*,\s*/);for(const e of r)delete t[e]}if(t.warning){const e=t.warning.split(/,/).filter(e=>!/^\s*1[0-9][0-9]/.test(e));e.length?t.warning=e.join(",").trim():delete t.warning}return t}responseHeaders(){const e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>86400&&!this._hasExplicitExpiration()&&this.maxAge()>86400&&(e.warning=(e.warning?e.warning+", ":"")+'113 - "rfc7234 5.5.4"'),e.age=""+Math.round(t),e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){const e=Date.parse(this._resHeaders.date);if(isFinite(e)){const t=288e5;if(Math.abs(this._responseTime-e)e&&(e=t)}return e+(this.now()-this._responseTime)/1e3}_ageValue(){const e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"])return 0;if(this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable)return 0;if("*"===this._resHeaders.vary)return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);const e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){const r=Date.parse(this._resHeaders.expires);return Number.isNaN(r)||rr)return Math.max(e,(t-r)/1e3*this._cacheHeuristic)}return e}timeToLive(){return 1e3*Math.max(0,this.maxAge()-this.age())}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||1!==e.v)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=void 0!==e.imm?e.imm:864e5,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);const t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag);if(t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&"GET"!=this._method){if(delete t["if-modified-since"],t["if-none-match"]){const e=t["if-none-match"].split(/,/).filter(e=>!/^\s*W\//.test(e));e.length?t["if-none-match"]=e.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error("Response headers missing");let r=!1;if(void 0!==t.status&&304!=t.status?r=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?r=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?r=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?r=this._resHeaders["last-modified"]===t.headers["last-modified"]:this._resHeaders.etag||this._resHeaders["last-modified"]||t.headers.etag||t.headers["last-modified"]||(r=!0),!r)return{policy:new this.constructor(e,t),modified:304!=t.status,matches:!1};const A={};for(const e in this._resHeaders)A[e]=e in t.headers&&!n[e]?t.headers[e]:this._resHeaders[e];const o=Object.assign({},t,{status:this._status,method:this._method,headers:A});return{policy:new this.constructor(e,o,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}},94935:(e,t,r)=>{"use strict";const A=r(28614),n=r(4016),o=r(97565),i=r(49601),s=Symbol("currentStreamsCount"),a=Symbol("request"),c=Symbol("cachedOriginSet"),g=Symbol("gracefullyClosing"),l=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],u=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,h=(e,t)=>{for(const r of e)r[c].lengtht[c].includes(e))&&r[s]+t[s]<=t.remoteSettings.maxConcurrentStreams&&d(r)},p=({agent:e,isFree:t})=>{const r={};for(const A in e.sessions){const n=e.sessions[A].filter(e=>{const r=e[C.kCurrentStreamsCount]{e[g]=!0,0===e[s]&&e.close()};class C extends A{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:r=10,maxCachedTlsSessions:A=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=r,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new i({maxSize:A})}static normalizeOrigin(e,t){return"string"==typeof e&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(const r of l)e[r]&&(t+=":"+e[r]);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;const r=this.queue[e][t];this._sessionsCount{Array.isArray(r)?(r=[...r],A()):r=[{resolve:A,reject:n}];const i=this.normalizeOptions(t),l=C.normalizeOrigin(e,t&&t.servername);if(void 0===l){for(const{reject:e}of r)e(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(i in this.sessions){const e=this.sessions[i];let t,A=-1,n=-1;for(const r of e){const e=r.remoteSettings.maxConcurrentStreams;if(e=e||r[g]||r.destroyed)continue;t||(A=e),o>n&&(t=r,n=o)}}if(t){if(1!==r.length){for(const{reject:e}of r){e(new Error(`Expected the length of listeners to be 1, got ${r.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`))}return}return void r[0].resolve(t)}}if(i in this.queue){if(l in this.queue[i])return this.queue[i][l].listeners.push(...r),void this._tryToCreateNewSession(i,l)}else this.queue[i]={};const p=()=>{i in this.queue&&this.queue[i][l]===f&&(delete this.queue[i][l],0===Object.keys(this.queue[i]).length&&delete this.queue[i])},f=()=>{const A=`${l}:${i}`;let n=!1;try{const C=o.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(A),...t});C[s]=0,C[g]=!1;const I=()=>C[s]{this.tlsSessionCache.set(A,e)}),C.once("error",e=>{for(const{reject:t}of r)t(e);this.tlsSessionCache.delete(A)}),C.setTimeout(this.timeout,()=>{C.destroy()}),C.once("close",()=>{if(n){E&&this._freeSessionsCount--,this._sessionsCount--;const e=this.sessions[i];e.splice(e.indexOf(C),1),0===e.length&&delete this.sessions[i]}else{const e=new Error("Session closed without receiving a SETTINGS frame");e.code="HTTP2WRAPPER_NOSETTINGS";for(const{reject:t}of r)t(e);p()}this._tryToCreateNewSession(i,l)});const B=()=>{if(i in this.queue&&I())for(const e of C[c])if(e in this.queue[i]){const{listeners:t}=this.queue[i][e];for(;0!==t.length&&I();)t.shift().resolve(C);const r=this.queue[i];if(0===r[e].listeners.length&&(delete r[e],0===Object.keys(r).length)){delete this.queue[i];break}if(!I())break}};C.on("origin",()=>{C[c]=C.originSet,I()&&(B(),h(this.sessions[i],C))}),C.once("remoteSettings",()=>{if(C.ref(),C.unref(),this._sessionsCount++,f.destroyed){const e=new Error("Agent has been destroyed");for(const t of r)t.reject(e);C.destroy()}else{C[c]=C.originSet;{const e=this.sessions;if(i in e){const t=e[i];t.splice(((e,t,r)=>{let A=0,n=e.length;for(;A>>1;r(e[o],t)?A=o+1:n=o}return A})(t,C,u),0,C)}else e[i]=[C]}this._freeSessionsCount+=1,n=!0,this.emit("session",C),B(),p(),0===C[s]&&this._freeSessionsCount>this.maxFreeSessions&&C.close(),0!==r.length&&(this.getSession(l,t,r),r.length=0),C.on("remoteSettings",()=>{B(),h(this.sessions[i],C)})}}),C[a]=C.request,C.request=(e,t)=>{if(C[g])throw new Error("The session is gracefully closing. No new streams are allowed.");const r=C[a](e,t);return C.ref(),++C[s],C[s]===C.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,r.once("close",()=>{if(E=I(),--C[s],!C.destroyed&&!C.closed&&(((e,t)=>{for(const r of e)t[c].lengthr[c].includes(e))&&t[s]+r[s]<=r.remoteSettings.maxConcurrentStreams&&d(t)})(this.sessions[i],C),I()&&!C.closed)){E||(this._freeSessionsCount++,E=!0);const e=0===C[s];e&&C.unref(),e&&(this._freeSessionsCount>this.maxFreeSessions||C[g])?C.close():(h(this.sessions[i],C),B())}}),r}}catch(e){for(const t of r)t.reject(e);p()}};f.listeners=r,f.completed=!1,f.destroyed=!1,this.queue[i][l]=f,this._tryToCreateNewSession(i,l)})}request(e,t,r,A){return new Promise((n,o)=>{this.getSession(e,t,[{reject:o,resolve:e=>{try{n(e.request(r,A))}catch(e){o(e)}}}])})}createConnection(e,t){return C.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];const r=e.port||443,A=e.hostname||e.host;return void 0===t.servername&&(t.servername=A),n.connect(r,A,t)}closeFreeSessions(){for(const e of Object.values(this.sessions))for(const t of e)0===t[s]&&t.close()}destroy(e){for(const t of Object.values(this.sessions))for(const r of t)r.destroy(e);for(const e of Object.values(this.queue))for(const t of Object.values(e))t.destroyed=!0;this.queue={}}get freeSessions(){return p({agent:this,isFree:!0})}get busySessions(){return p({agent:this,isFree:!1})}}C.kCurrentStreamsCount=s,C.kGracefullyClosing=g,e.exports={Agent:C,globalAgent:new C}},2398:(e,t,r)=>{"use strict";const A=r(98605),n=r(57211),o=r(19476),i=r(49601),s=r(33134),a=r(5209),c=r(50075),g=new i({maxSize:100}),l=new Map,u=(e,t,r)=>{t._httpMessage={shouldKeepAlive:!0};const A=()=>{e.emit("free",t,r)};t.on("free",A);const n=()=>{e.removeSocket(t,r)};t.on("close",n);const o=()=>{e.removeSocket(t,r),t.off("close",n),t.off("free",A),t.off("agentRemove",o)};t.on("agentRemove",o),e.emit("free",t,r)};e.exports=async(e,t,r)=>{if(("string"==typeof e||e instanceof URL)&&(e=c(new URL(e))),"function"==typeof t&&(r=t,t=void 0),t={ALPNProtocols:["h2","http/1.1"],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||0===t.ALPNProtocols.length)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||"https:";const i="https:"===t.protocol;t.host=t.hostname||t.host||"localhost",t.session=t.tlsSession,t.servername=t.servername||a(t),t.port=t.port||(i?443:80),t._defaultAgent=i?n.globalAgent:A.globalAgent;const h=t.agent;if(h){if(h.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=h[i?"https":"http"]}if(i){if("h2"===await(async e=>{const t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!g.has(t)){if(l.has(t)){return(await l.get(t)).alpnProtocol}const{path:r,agent:A}=e;e.path=e.socketPath;const i=o(e);l.set(t,i);try{const{socket:o,alpnProtocol:s}=await i;if(g.set(t,s),e.path=r,"h2"===s)o.destroy();else{const{globalAgent:t}=n,r=n.Agent.prototype.createConnection;A?A.createConnection===r?u(A,o,e):o.destroy():t.createConnection===r?u(t,o,e):o.destroy()}return l.delete(t),s}catch(e){throw l.delete(t),e}}return g.get(t)})(t))return h&&(t.agent=h.http2),new s(t,r)}return A.request(t,r)},e.exports.protocolCache=g},33134:(e,t,r)=>{"use strict";const A=r(97565),{Writable:n}=r(92413),{Agent:o,globalAgent:i}=r(94935),s=r(53433),a=r(50075),c=r(66192),g=r(50978),{ERR_INVALID_ARG_TYPE:l,ERR_INVALID_PROTOCOL:u,ERR_HTTP_HEADERS_SENT:h,ERR_INVALID_HTTP_TOKEN:p,ERR_HTTP_INVALID_HEADER_VALUE:d,ERR_INVALID_CHAR:C}=r(64080),{HTTP2_HEADER_STATUS:f,HTTP2_HEADER_METHOD:I,HTTP2_HEADER_PATH:E,HTTP2_METHOD_CONNECT:B}=A.constants,y=Symbol("headers"),m=Symbol("origin"),w=Symbol("session"),Q=Symbol("options"),D=Symbol("flushedHeaders"),b=Symbol("jobs"),v=/^[\^`\-\w!#$%&*+.|~]+$/,S=/[^\t\u0020-\u007E\u0080-\u00FF]/;e.exports=class extends n{constructor(e,t,r){super({autoDestroy:!1});const A="string"==typeof e||e instanceof URL;if(A&&(e=a(e instanceof URL?e:new URL(e))),"function"==typeof t||void 0===t?(r=t,t=A?e:{...e}):t={...e,...t},t.h2session)this[w]=t.h2session;else if(!1===t.agent)this.agent=new o({maxFreeSessions:0});else if(void 0===t.agent||null===t.agent)"function"==typeof t.createConnection?(this.agent=new o({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=i;else{if("function"!=typeof t.agent.request)throw new l("options.agent",["Agent-like Object","undefined","false"],t.agent);this.agent=t.agent}if(t.protocol&&"https:"!==t.protocol)throw new u(t.protocol,"https:");const n=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,s=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;const{timeout:c}=t;if(t.timeout=void 0,this[y]=Object.create(null),this[b]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(const[e,r]of Object.entries(t.headers))this.setHeader(e,r);t.auth&&!("authorization"in this[y])&&(this[y].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[Q]=t,443===n?(this[m]="https://"+s,":authority"in this[y]||(this[y][":authority"]=s)):(this[m]=`https://${s}:${n}`,":authority"in this[y]||(this[y][":authority"]=`${s}:${n}`)),c&&this.setTimeout(c),r&&this.once("response",r),this[D]=!1}get method(){return this[y][I]}set method(e){e&&(this[y][I]=e.toUpperCase())}get path(){return this[y][E]}set path(e){e&&(this[y][E]=e)}get _mustNotHaveABody(){return"GET"===this.method||"HEAD"===this.method||"DELETE"===this.method}_write(e,t,r){if(this._mustNotHaveABody)return void r(new Error("The GET, HEAD and DELETE methods must NOT have a body"));this.flushHeaders();const A=()=>this._request.write(e,t,r);this._request?A():this[b].push(A)}_final(e){if(this.destroyed)return;this.flushHeaders();const t=()=>{this._mustNotHaveABody?e():this._request.end(e)};this._request?t():this[b].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[D]||this.destroyed)return;this[D]=!0;const e=this.method===B,t=t=>{if(this._request=t,this.destroyed)return void t.destroy();e||c(t,this,["timeout","continue","close","error"]);const r=e=>(...t)=>{this.writable||this.destroyed?this.once("finish",()=>{e(...t)}):e(...t)};t.once("response",r((r,A,n)=>{const o=new s(this.socket,t.readableHighWaterMark);this.res=o,o.req=this,o.statusCode=r[f],o.headers=r,o.rawHeaders=n,o.once("end",()=>{this.aborted?(o.aborted=!0,o.emit("aborted")):(o.complete=!0,o.socket=null,o.connection=null)}),e?(o.upgrade=!0,this.emit("connect",o,t,Buffer.alloc(0))?this.emit("close"):t.destroy()):(t.on("data",e=>{o._dumped||o.push(e)||t.pause()}),t.once("end",()=>{o.push(null)}),this.emit("response",o)||o._dump())})),t.once("headers",r(e=>this.emit("information",{statusCode:e[f]}))),t.once("trailers",r((e,t,r)=>{const{res:A}=this;A.trailers=e,A.rawTrailers=r}));const{socket:A}=t.session;this.socket=A,this.connection=A;for(const e of this[b])e();this.emit("socket",this.socket)};if(this[w])try{t(this[w].request(this[y]))}catch(e){this.emit("error",e)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[m],this[Q],this[y]))}catch(e){this.emit("error",e)}}}getHeader(e){if("string"!=typeof e)throw new l("name","string",e);return this[y][e.toLowerCase()]}get headersSent(){return this[D]}removeHeader(e){if("string"!=typeof e)throw new l("name","string",e);if(this.headersSent)throw new h("remove");delete this[y][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new h("set");if("string"!=typeof e||!v.test(e)&&!g(e))throw new p("Header name",e);if(void 0===t)throw new d(t,e);if(S.test(t))throw new C("header content",e);this[y][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){const r=()=>this._request.setTimeout(e,t);return this._request?r():this[b].push(r),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}}},53433:(e,t,r)=>{"use strict";const{Readable:A}=r(92413);e.exports=class extends A{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}}},92353:(e,t,r)=>{"use strict";const A=r(97565),n=r(94935),o=r(33134),i=r(53433),s=r(2398);e.exports={...A,ClientRequest:o,IncomingMessage:i,...n,request:(e,t,r)=>new o(e,t,r),get:(e,t,r)=>{const A=new o(e,t,r);return A.end(),A},auto:s}},5209:(e,t,r)=>{"use strict";const A=r(11631);e.exports=e=>{let t=e.host;const r=e.headers&&e.headers.host;if(r)if(r.startsWith("[")){t=-1===r.indexOf("]")?r:r.slice(1,-1)}else t=r.split(":",1)[0];return A.isIP(t)?"":t}},64080:e=>{"use strict";const t=(t,r,A)=>{e.exports[r]=class extends t{constructor(...e){super("string"==typeof A?A:A(e)),this.name=`${super.name} [${r}]`,this.code=r}}};t(TypeError,"ERR_INVALID_ARG_TYPE",e=>{const t=e[0].includes(".")?"property":"argument";let r=e[1];const A=Array.isArray(r);return A&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${e[0]}" ${t} must be ${A?"one of":"of"} type ${r}. Received ${typeof e[2]}`}),t(TypeError,"ERR_INVALID_PROTOCOL",e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`),t(Error,"ERR_HTTP_HEADERS_SENT",e=>`Cannot ${e[0]} headers after they are sent to the client`),t(TypeError,"ERR_INVALID_HTTP_TOKEN",e=>`${e[0]} must be a valid HTTP token [${e[1]}]`),t(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",e=>`Invalid value "${e[0]} for header "${e[1]}"`),t(TypeError,"ERR_INVALID_CHAR",e=>`Invalid character in ${e[0]} [${e[1]}]`)},50978:e=>{"use strict";e.exports=e=>{switch(e){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}},66192:e=>{"use strict";e.exports=(e,t,r)=>{for(const A of r)e.on(A,(...e)=>t.emit(A,...e))}},50075:e=>{"use strict";e.exports=e=>{const t={protocol:e.protocol,hostname:"string"==typeof e.hostname&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return"string"==typeof e.port&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},46458:e=>{function t(e){return Array.isArray(e)?e:[e]}const r=/^\s+$/,A=/^\\!/,n=/^\\#/,o=/\r?\n/g,i=/^\.*\/|^\.+$/,s="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",a=/([0-z])-([0-z])/g,c=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,e=>"\\"+e],[/\[([^\]/]*)($|\])/g,(e,t,r)=>{return"]"===r?`[${A=t,A.replace(a,(e,t,r)=>t.charCodeAt(0)<=r.charCodeAt(0)?e:"")}]`:"\\"+e;var A}],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,e=>/\/$/.test(e)?e+"$":e+"(?=$|\\/$)"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6t+"[^\\/]*"],[/(\^|\\\/)?\\\*$/,(e,t)=>(t?t+"[^/]+":"[^/]*")+"(?=$|\\/$)"],[/\\\\\\/g,()=>"\\"]],g=Object.create(null),l=e=>"string"==typeof e;class u{constructor(e,t,r,A){this.origin=e,this.pattern=t,this.negative=r,this.regex=A}}const h=(e,t)=>{const r=e;let o=!1;0===e.indexOf("!")&&(o=!0,e=e.substr(1));const i=((e,t,r)=>{const A=g[e];if(A)return A;const n=c.reduce((t,r)=>t.replace(r[0],r[1].bind(e)),e);return g[e]=r?new RegExp(n,"i"):new RegExp(n)})(e=e.replace(A,"!").replace(n,"#"),0,t);return new u(r,e,o,i)},p=(e,t)=>{throw new t(e)},d=(e,t,r)=>{if(!l(e))return r(`path must be a string, but got \`${t}\``,TypeError);if(!e)return r("path must not be empty",TypeError);if(d.isNotRelative(e)){return r(`path should be a ${"`path.relative()`d"} string, but got "${t}"`,RangeError)}return!0},C=e=>i.test(e);d.isNotRelative=C,d.convert=e=>e;class f{constructor({ignorecase:e=!0}={}){var t,r,A;this._rules=[],this._ignorecase=e,t=this,r=s,A=!0,Object.defineProperty(t,r,{value:A}),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[s])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if((e=>e&&l(e)&&!r.test(e)&&0!==e.indexOf("#"))(e)){const t=h(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,t(l(e)?(e=>e.split(o))(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let r=!1,A=!1;return this._rules.forEach(n=>{const{negative:o}=n;if(A===o&&r!==A||o&&!r&&!A&&!t)return;n.regex.test(e)&&(r=!o,A=o)}),{ignored:r,unignored:A}}_test(e,t,r,A){const n=e&&d.convert(e);return d(n,e,p),this._t(n,t,r,A)}_t(e,t,r,A){if(e in t)return t[e];if(A||(A=e.split("/")),A.pop(),!A.length)return t[e]=this._testOne(e,r);const n=this._t(A.join("/")+"/",t,r,A);return t[e]=n.ignored?n:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return t(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}const I=e=>new f(e),E=()=>!1;if(I.isPathValid=e=>d(e&&d.convert(e),e,E),I.default=I,e.exports=I,"undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");d.convert=e;const t=/^[a-z]:\//i;d.isNotRelative=e=>t.test(e)||C(e)}},85870:(e,t,r)=>{try{var A=r(31669);if("function"!=typeof A.inherits)throw"";e.exports=A.inherits}catch(t){e.exports=r(48145)}},48145:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},44486:e=>{ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +e.exports=function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}},18193:(e,t,r)=>{ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +var A=r(44486),n={"{":"}","(":")","[":"]"},o=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,i=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;e.exports=function(e,t){if("string"!=typeof e||""===e)return!1;if(A(e))return!0;var r,s=o;for(t&&!1===t.strict&&(s=i);r=s.exec(e);){if(r[2])return!0;var a=r.index+r[0].length,c=r[1],g=c?n[c]:null;if(c&&g){var l=e.indexOf(g,a);-1!==l&&(a=l+1)}e=e.slice(a)}return!1}},59235:e=>{"use strict"; +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */e.exports=function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(Number.isFinite?Number.isFinite(+e):isFinite(+e))}},97369:(e,t)=>{var r,A,n,o; +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */o=function(){"use strict";return function(){return process&&("win32"===process.platform||/^(msys|cygwin)$/.test(process.env.OSTYPE))}},t&&"object"==typeof t?e.exports=o():(A=[],void 0===(n="function"==typeof(r=o)?r.apply(t,A):r)||(e.exports=n))},64151:(e,t,r)=>{var A;r(35747);function n(e,t,r){if("function"==typeof t&&(r=t,t={}),!r){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(r,A){n(e,t||{},(function(e,t){e?A(e):r(t)}))}))}A(e,t||{},(function(e,A){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,A=!1),r(e,A)}))}A="win32"===process.platform||global.TESTING_WINDOWS?r(3202):r(2151),e.exports=n,n.sync=function(e,t){try{return A.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},2151:(e,t,r)=>{e.exports=n,n.sync=function(e,t){return o(A.statSync(e),t)};var A=r(35747);function n(e,t,r){A.stat(e,(function(e,A){r(e,!e&&o(A,t))}))}function o(e,t){return e.isFile()&&function(e,t){var r=e.mode,A=e.uid,n=e.gid,o=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),i=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),s=parseInt("100",8),a=parseInt("010",8),c=parseInt("001",8),g=s|a;return r&c||r&a&&n===i||r&s&&A===o||r&g&&0===o}(e,t)}},3202:(e,t,r)=>{e.exports=o,o.sync=function(e,t){return n(A.statSync(e),e,t)};var A=r(35747);function n(e,t,r){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var r=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!r)return!0;if(-1!==(r=r.split(";")).indexOf(""))return!0;for(var A=0;A{"use strict";var A=r(40744);e.exports=A},40744:(e,t,r)=>{"use strict";var A=r(55384),n=r(24129);function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=r(81704),e.exports.Schema=r(8212),e.exports.FAILSAFE_SCHEMA=r(44413),e.exports.JSON_SCHEMA=r(45247),e.exports.CORE_SCHEMA=r(8769),e.exports.DEFAULT_SAFE_SCHEMA=r(65483),e.exports.DEFAULT_FULL_SCHEMA=r(5235),e.exports.load=A.load,e.exports.loadAll=A.loadAll,e.exports.safeLoad=A.safeLoad,e.exports.safeLoadAll=A.safeLoadAll,e.exports.dump=n.dump,e.exports.safeDump=n.safeDump,e.exports.YAMLException=r(17345),e.exports.MINIMAL_SCHEMA=r(44413),e.exports.SAFE_SCHEMA=r(65483),e.exports.DEFAULT_SCHEMA=r(5235),e.exports.scan=o("scan"),e.exports.parse=o("parse"),e.exports.compose=o("compose"),e.exports.addConstructor=o("addConstructor")},28149:e=>{"use strict";function t(e){return null==e}e.exports.isNothing=t,e.exports.isObject=function(e){return"object"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:t(e)?[]:[e]},e.exports.repeat=function(e,t){var r,A="";for(r=0;r{"use strict";var A=r(28149),n=r(17345),o=r(5235),i=r(65483),s=Object.prototype.toString,a=Object.prototype.hasOwnProperty,c={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},g=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function l(e){var t,r,o;if(t=e.toString(16).toUpperCase(),e<=255)r="x",o=2;else if(e<=65535)r="u",o=4;else{if(!(e<=4294967295))throw new n("code point within a string may not be greater than 0xFFFFFFFF");r="U",o=8}return"\\"+r+A.repeat("0",o-t.length)+t}function u(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=A.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var r,A,n,o,i,s,c;if(null===t)return{};for(r={},n=0,o=(A=Object.keys(t)).length;nA&&" "!==e[l+1],l=o);else if(!C(i))return 5;u=u&&f(i)}c=c||g&&o-l-1>A&&" "!==e[l+1]}return a||c?r>9&&I(e)?5:c?4:3:u&&!n(e)?1:2}function B(e,t,r,A){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==g.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,r),i=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=A||e.flowLevel>-1&&r>=e.flowLevel;switch(E(t,s,e.indent,i,(function(t){return function(e,t){var r,A;for(r=0,A=e.implicitTypes.length;r"+y(t,e.indent)+m(h(function(e,t){var r,A,n=/(\n+)([^\n]*)/g,o=(s=e.indexOf("\n"),s=-1!==s?s:e.length,n.lastIndex=s,w(e.slice(0,s),t)),i="\n"===e[0]||" "===e[0];var s;for(;A=n.exec(e);){var a=A[1],c=A[2];r=" "===c[0],o+=a+(i||r||""===c?"":"\n")+w(c,t),i=r}return o}(t,i),o));case 5:return'"'+function(e){for(var t,r,A,n="",o=0;o=55296&&t<=56319&&(r=e.charCodeAt(o+1))>=56320&&r<=57343?(n+=l(1024*(t-55296)+r-56320+65536),o++):(A=c[t],n+=!A&&C(t)?e[o]:A||l(t));return n}(t)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function y(e,t){var r=I(e)?String(t):"",A="\n"===e[e.length-1];return r+(A&&("\n"===e[e.length-2]||"\n"===e)?"+":A?"":"-")+"\n"}function m(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function w(e,t){if(""===e||" "===e[0])return e;for(var r,A,n=/ [^ ]/g,o=0,i=0,s=0,a="";r=n.exec(e);)(s=r.index)-o>t&&(A=i>o?i:s,a+="\n"+e.slice(o,A),o=A+1),i=s;return a+="\n",e.length-o>t&&i>o?a+=e.slice(o,i)+"\n"+e.slice(i+1):a+=e.slice(o),a.slice(1)}function Q(e,t,r){var A,o,i,c,g,l;for(i=0,c=(o=r?e.explicitTypes:e.implicitTypes).length;i tag resolver accepts not "'+l+'" style');A=g.represent[l](t,l)}e.dump=A}return!0}return!1}function D(e,t,r,A,o,i){e.tag=null,e.dump=r,Q(e,r,!1)||Q(e,r,!0);var a=s.call(e.dump);A&&(A=e.flowLevel<0||e.flowLevel>t);var c,g,l="[object Object]"===a||"[object Array]"===a;if(l&&(g=-1!==(c=e.duplicates.indexOf(r))),(null!==e.tag&&"?"!==e.tag||g||2!==e.indent&&t>0)&&(o=!1),g&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(l&&g&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),"[object Object]"===a)A&&0!==Object.keys(e.dump).length?(!function(e,t,r,A){var o,i,s,a,c,g,l="",u=e.tag,h=Object.keys(r);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new n("sortKeys must be a boolean or a function");for(o=0,i=h.length;o1024)&&(e.dump&&10===e.dump.charCodeAt(0)?g+="?":g+="? "),g+=e.dump,c&&(g+=p(e,t)),D(e,t+1,a,!0,c)&&(e.dump&&10===e.dump.charCodeAt(0)?g+=":":g+=": ",l+=g+=e.dump));e.tag=u,e.dump=l||"{}"}(e,t,e.dump,o),g&&(e.dump="&ref_"+c+e.dump)):(!function(e,t,r){var A,n,o,i,s,a="",c=e.tag,g=Object.keys(r);for(A=0,n=g.length;A1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),D(e,t,i,!1,!1)&&(a+=s+=e.dump));e.tag=c,e.dump="{"+a+"}"}(e,t,e.dump),g&&(e.dump="&ref_"+c+" "+e.dump));else if("[object Array]"===a){var u=e.noArrayIndent&&t>0?t-1:t;A&&0!==e.dump.length?(!function(e,t,r,A){var n,o,i="",s=e.tag;for(n=0,o=r.length;n "+e.dump)}return!0}function b(e,t){var r,A,n=[],o=[];for(function e(t,r,A){var n,o,i;if(null!==t&&"object"==typeof t)if(-1!==(o=r.indexOf(t)))-1===A.indexOf(o)&&A.push(o);else if(r.push(t),Array.isArray(t))for(o=0,i=t.length;o{"use strict";function t(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},e.exports=t},55384:(e,t,r)=>{"use strict";var A=r(28149),n=r(17345),o=r(30399),i=r(65483),s=r(5235),a=Object.prototype.hasOwnProperty,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,g=/[\x85\u2028\u2029]/,l=/[,\[\]\{\}]/,u=/^(?:!|!!|![a-z\-]+!)$/i,h=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function p(e){return 10===e||13===e}function d(e){return 9===e||32===e}function C(e){return 9===e||32===e||10===e||13===e}function f(e){return 44===e||91===e||93===e||123===e||125===e}function I(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function E(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e||9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function B(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var y=new Array(256),m=new Array(256),w=0;w<256;w++)y[w]=E(w)?1:0,m[w]=E(w);function Q(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function D(e,t){return new n(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function b(e,t){throw D(e,t)}function v(e,t){e.onWarning&&e.onWarning.call(null,D(e,t))}var S={YAML:function(e,t,r){var A,n,o;null!==e.version&&b(e,"duplication of %YAML directive"),1!==r.length&&b(e,"YAML directive accepts exactly one argument"),null===(A=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&b(e,"ill-formed argument of the YAML directive"),n=parseInt(A[1],10),o=parseInt(A[2],10),1!==n&&b(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&v(e,"unsupported YAML version of the document")},TAG:function(e,t,r){var A,n;2!==r.length&&b(e,"TAG directive accepts exactly two arguments"),A=r[0],n=r[1],u.test(A)||b(e,"ill-formed tag handle (first argument) of the TAG directive"),a.call(e.tagMap,A)&&b(e,'there is a previously declared suffix for "'+A+'" tag handle'),h.test(n)||b(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[A]=n}};function k(e,t,r,A){var n,o,i,s;if(t1&&(e.result+=A.repeat("\n",t-1))}function L(e,t){var r,A,n=e.tag,o=e.anchor,i=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),A=e.input.charCodeAt(e.position);0!==A&&45===A&&C(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,M(e,!0,-1)&&e.lineIndent<=t)i.push(null),A=e.input.charCodeAt(e.position);else if(r=e.line,U(e,t,3,!1,!0),i.push(e.result),M(e,!0,-1),A=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&0!==A)b(e,"bad indentation of a sequence entry");else if(e.lineIndentt?w=1:e.lineIndent===t?w=0:e.lineIndentt?w=1:e.lineIndent===t?w=0:e.lineIndentt)&&(U(e,t,4,!0,n)&&(f?h=e.result:p=e.result),f||(F(e,g,l,u,h,p,o,i),u=h=p=null),M(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)b(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?b(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):g?b(e,"repeat of an indentation width identifier"):(l=t+o-1,g=!0)}if(d(i)){do{i=e.input.charCodeAt(++e.position)}while(d(i));if(35===i)do{i=e.input.charCodeAt(++e.position)}while(!p(i)&&0!==i)}for(;0!==i;){for(N(e),e.lineIndent=0,i=e.input.charCodeAt(e.position);(!g||e.lineIndentl&&(l=e.lineIndent),p(i))u++;else{if(e.lineIndent0){for(n=i,o=0;n>0;n--)(i=I(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+i:b(e,"expected hexadecimal character");e.result+=B(o),e.position++}else b(e,"unknown escape sequence");r=A=e.position}else p(s)?(k(e,r,A,!0),x(e,M(e,!1,t)),r=A=e.position):e.position===e.lineStart&&R(e)?b(e,"unexpected end of the document within a double quoted scalar"):(e.position++,A=e.position)}b(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?D=!0:!function(e){var t,r,A;if(42!==(A=e.input.charCodeAt(e.position)))return!1;for(A=e.input.charCodeAt(++e.position),t=e.position;0!==A&&!C(A)&&!f(A);)A=e.input.charCodeAt(++e.position);return e.position===t&&b(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(r)||b(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],M(e,!0,-1),!0}(e)?function(e,t,r){var A,n,o,i,s,a,c,g,l=e.kind,u=e.result;if(C(g=e.input.charCodeAt(e.position))||f(g)||35===g||38===g||42===g||33===g||124===g||62===g||39===g||34===g||37===g||64===g||96===g)return!1;if((63===g||45===g)&&(C(A=e.input.charCodeAt(e.position+1))||r&&f(A)))return!1;for(e.kind="scalar",e.result="",n=o=e.position,i=!1;0!==g;){if(58===g){if(C(A=e.input.charCodeAt(e.position+1))||r&&f(A))break}else if(35===g){if(C(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&R(e)||r&&f(g))break;if(p(g)){if(s=e.line,a=e.lineStart,c=e.lineIndent,M(e,!1,-1),e.lineIndent>=t){i=!0,g=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=a,e.lineIndent=c;break}}i&&(k(e,n,o,!1),x(e,e.line-s),n=o=e.position,i=!1),d(g)||(o=e.position+1),g=e.input.charCodeAt(++e.position)}return k(e,n,o,!1),!!e.result||(e.kind=l,e.result=u,!1)}(e,h,1===r)&&(D=!0,null===e.tag&&(e.tag="?")):(D=!0,null===e.tag&&null===e.anchor||b(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===w&&(D=c&&L(e,E))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(g=0,l=e.implicitTypes.length;g tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result)?(e.result=u.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):b(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):b(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||D}function T(e){var t,r,A,n,o=e.position,i=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(n=e.input.charCodeAt(e.position))&&(M(e,!0,-1),n=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==n));){for(i=!0,n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!C(n);)n=e.input.charCodeAt(++e.position);for(A=[],(r=e.input.slice(t,e.position)).length<1&&b(e,"directive name must not be less than one character in length");0!==n;){for(;d(n);)n=e.input.charCodeAt(++e.position);if(35===n){do{n=e.input.charCodeAt(++e.position)}while(0!==n&&!p(n));break}if(p(n))break;for(t=e.position;0!==n&&!C(n);)n=e.input.charCodeAt(++e.position);A.push(e.input.slice(t,e.position))}0!==n&&N(e),a.call(S,r)?S[r](e,r,A):v(e,'unknown document directive "'+r+'"')}M(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,M(e,!0,-1)):i&&b(e,"directives end mark is expected"),U(e,e.lineIndent-1,4,!1,!0),M(e,!0,-1),e.checkLineBreaks&&g.test(e.input.slice(o,e.position))&&v(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&R(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,M(e,!0,-1)):e.position{"use strict";var A=r(28149);function n(e,t,r,A,n){this.name=e,this.buffer=t,this.position=r,this.line=A,this.column=n}n.prototype.getSnippet=function(e,t){var r,n,o,i,s;if(!this.buffer)return null;for(e=e||4,t=t||75,r="",n=this.position;n>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1));)if(n-=1,this.position-n>t/2-1){r=" ... ",n+=5;break}for(o="",i=this.position;it/2-1){o=" ... ",i-=5;break}return s=this.buffer.slice(n,i),A.repeat(" ",e)+r+s+o+"\n"+A.repeat(" ",e+this.position-n+r.length)+"^"},n.prototype.toString=function(e){var t,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(r+=":\n"+t),r},e.exports=n},8212:(e,t,r)=>{"use strict";var A=r(28149),n=r(17345),o=r(81704);function i(e,t,r){var A=[];return e.include.forEach((function(e){r=i(e,t,r)})),e[t].forEach((function(e){r.forEach((function(t,r){t.tag===e.tag&&t.kind===e.kind&&A.push(r)})),r.push(e)})),r.filter((function(e,t){return-1===A.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new n("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,r={scalar:{},sequence:{},mapping:{},fallback:{}};function A(e){r[e.kind][e.tag]=r.fallback[e.tag]=e}for(e=0,t=arguments.length;e{"use strict";var A=r(8212);e.exports=new A({include:[r(45247)]})},5235:(e,t,r)=>{"use strict";var A=r(8212);e.exports=A.DEFAULT=new A({include:[r(65483)],explicit:[r(61425),r(61872),r(79982)]})},65483:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({include:[r(8769)],implicit:[r(83516),r(95441)],explicit:[r(34836),r(6847),r(65173),r(92025)]})},44413:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({explicit:[r(19952),r(46557),r(90173)]})},45247:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({include:[r(44413)],implicit:[r(40188),r(58357),r(82106),r(71945)]})},81704:(e,t,r)=>{"use strict";var A=r(17345),n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){var r,i;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===n.indexOf(t))throw new A('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(r=t.styleAliases||null,i={},null!==r&&Object.keys(r).forEach((function(e){r[e].forEach((function(t){i[String(t)]=e}))})),i),-1===o.indexOf(this.kind))throw new A('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},34836:(e,t,r)=>{"use strict";var A;try{A=r(64293).Buffer}catch(e){}var n=r(81704),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new n("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,A=0,n=e.length,i=o;for(r=0;r64)){if(t<0)return!1;A+=6}return A%8==0},construct:function(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=o,a=0,c=[];for(t=0;t>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|s.indexOf(n.charAt(t));return 0===(r=i%4*6)?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===r?(c.push(a>>10&255),c.push(a>>2&255)):12===r&&c.push(a>>4&255),A?A.from?A.from(c):new A(c):c},predicate:function(e){return A&&A.isBuffer(e)},represent:function(e){var t,r,A="",n=0,i=e.length,s=o;for(t=0;t>18&63],A+=s[n>>12&63],A+=s[n>>6&63],A+=s[63&n]),n=(n<<8)+e[t];return 0===(r=i%3)?(A+=s[n>>18&63],A+=s[n>>12&63],A+=s[n>>6&63],A+=s[63&n]):2===r?(A+=s[n>>10&63],A+=s[n>>4&63],A+=s[n<<2&63],A+=s[64]):1===r&&(A+=s[n>>2&63],A+=s[n<<4&63],A+=s[64],A+=s[64]),A}})},58357:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},71945:(e,t,r)=>{"use strict";var A=r(28149),n=r(81704),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var i=/^[-+]?[0-9]+e/;e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,r,A,n;return r="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,n=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){n.unshift(parseFloat(e,10))})),t=0,A=1,n.forEach((function(e){t+=e*A,A*=60})),r*t):r*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||A.isNegativeZero(e))},represent:function(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(A.isNegativeZero(e))return"-0.0";return r=e.toString(10),i.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"})},82106:(e,t,r)=>{"use strict";var A=r(28149),n=r(81704);function o(e){return 48<=e&&e<=55}function i(e){return 48<=e&&e<=57}e.exports=new n("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,A=e.length,n=0,s=!1;if(!A)return!1;if("-"!==(t=e[n])&&"+"!==t||(t=e[++n]),"0"===t){if(n+1===A)return!0;if("b"===(t=e[++n])){for(n++;n=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},79982:(e,t,r)=>{"use strict";var A;try{A=r(Object(function(){var e=new Error("Cannot find module 'esprima'");throw e.code="MODULE_NOT_FOUND",e}()))}catch(e){"undefined"!=typeof window&&(A=window.esprima)}var n=r(81704);e.exports=new n("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",r=A.parse(t,{range:!0});return"Program"===r.type&&1===r.body.length&&"ExpressionStatement"===r.body[0].type&&("ArrowFunctionExpression"===r.body[0].expression.type||"FunctionExpression"===r.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,r="("+e+")",n=A.parse(r,{range:!0}),o=[];if("Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"ArrowFunctionExpression"!==n.body[0].expression.type&&"FunctionExpression"!==n.body[0].expression.type)throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=n.body[0].expression.body.range,"BlockStatement"===n.body[0].expression.body.type?new Function(o,r.slice(t[0]+1,t[1]-1)):new Function(o,"return "+r.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},61872:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,r=/\/([gim]*)$/.exec(e),A="";if("/"===t[0]){if(r&&(A=r[1]),A.length>3)return!1;if("/"!==t[t.length-A.length-1])return!1}return!0},construct:function(e){var t=e,r=/\/([gim]*)$/.exec(e),A="";return"/"===t[0]&&(r&&(A=r[1]),t=t.slice(1,t.length-A.length-1)),new RegExp(t,A)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},61425:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},90173:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},95441:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},40188:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6847:(e,t,r)=>{"use strict";var A=r(81704),n=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new A("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,A,i,s,a=[],c=e;for(t=0,r=c.length;t{"use strict";var A=r(81704),n=Object.prototype.toString;e.exports=new A("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,A,o,i,s=e;for(i=new Array(s.length),t=0,r=s.length;t{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},92025:(e,t,r)=>{"use strict";var A=r(81704),n=Object.prototype.hasOwnProperty;e.exports=new A("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,r=e;for(t in r)if(n.call(r,t)&&null!==r[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},19952:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},83516:(e,t,r)=>{"use strict";var A=r(81704),n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new A("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==n.exec(e)||null!==o.exec(e))},construct:function(e){var t,r,A,i,s,a,c,g,l=0,u=null;if(null===(t=n.exec(e))&&(t=o.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],A=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,A,i));if(s=+t[4],a=+t[5],c=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(u=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(u=-u)),g=new Date(Date.UTC(r,A,i,s,a,c,l)),u&&g.setTime(g.getTime()-u),g},instanceOf:Date,represent:function(e){return e.toISOString()}})},7427:(e,t)=>{t.stringify=function e(t){if(void 0===t)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&"object"==typeof t){var r="",A=Array.isArray(t);r=A?"[":"{";var n=!0;for(var o in t){var i="function"==typeof t[o]||!A&&void 0===t[o];Object.hasOwnProperty.call(t,o)&&!i&&(n||(r+=","),n=!1,A?null==t[o]?r+="null":r+=e(t[o]):void 0!==t[o]&&(r+=e(o)+":"+e(t[o])))}return r+=A?"]":"}"}return"string"==typeof t?JSON.stringify(/^:/.test(t)?":"+t:t):void 0===t?"null":JSON.stringify(t)},t.parse=function(e){return JSON.parse(e,(function(e,t){return"string"==typeof t?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t}))}},72515:(e,t,r)=>{"use strict";const A=r(28614),n=r(7427);e.exports=class extends A{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:n.stringify,deserialize:n.parse},"string"==typeof e?{uri:e}:e,t),!this.opts.store){const e=Object.assign({},this.opts);this.opts.store=(e=>{const t={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(e.adapter||e.uri){const A=e.adapter||/^[^:]*/.exec(e.uri)[0];return new(r(89112)(t[A]))(e)}return new Map})(e)}"function"==typeof this.opts.store.on&&this.opts.store.on("error",e=>this.emit("error",e)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);const{store:r}=this.opts;return Promise.resolve().then(()=>r.get(e)).then(e=>"string"==typeof e?this.opts.deserialize(e):e).then(r=>{if(void 0!==r){if(!("number"==typeof r.expires&&Date.now()>r.expires))return t&&t.raw?r:r.value;this.delete(e)}})}set(e,t,r){e=this._getKeyPrefix(e),void 0===r&&(r=this.opts.ttl),0===r&&(r=void 0);const{store:A}=this.opts;return Promise.resolve().then(()=>{const e="number"==typeof r?Date.now()+r:null;return t={value:t,expires:e},this.opts.serialize(t)}).then(t=>A.set(e,t,r)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);const{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){const{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}}},89112:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=89112,e.exports=t},78962:(e,t,r)=>{var A=r(99513)(r(76169),"DataView");e.exports=A},72574:(e,t,r)=>{var A=r(31713),n=r(86688),o=r(45937),i=r(5017),s=r(79457);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(14620),n=r(73682),o=r(43112),i=r(90640),s=r(9380);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(99513)(r(76169),"Map");e.exports=A},75009:(e,t,r)=>{var A=r(18209),n=r(89706),o=r(43786),i=r(17926),s=r(87345);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(99513)(r(76169),"Promise");e.exports=A},43231:(e,t,r)=>{var A=r(99513)(r(76169),"Set");e.exports=A},46235:(e,t,r)=>{var A=r(75009),n=r(74785),o=r(87760);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new A;++t{var A=r(29197),n=r(35678),o=r(33336),i=r(97163),s=r(43737),a=r(48548);function c(e){var t=this.__data__=new A(e);this.size=t.size}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=s,c.prototype.set=a,e.exports=c},69976:(e,t,r)=>{var A=r(76169).Symbol;e.exports=A},2740:(e,t,r)=>{var A=r(76169).Uint8Array;e.exports=A},47063:(e,t,r)=>{var A=r(99513)(r(76169),"WeakMap");e.exports=A},66636:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},33326:e=>{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length;++r{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length,n=0,o=[];++r{var A=r(7089),n=r(61771),o=r(82664),i=r(10667),s=r(98041),a=r(32565),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),g=!r&&n(e),l=!r&&!g&&i(e),u=!r&&!g&&!l&&a(e),h=r||g||l||u,p=h?A(e.length,String):[],d=p.length;for(var C in e)!t&&!c.call(e,C)||h&&("length"==C||l&&("offset"==C||"parent"==C)||u&&("buffer"==C||"byteLength"==C||"byteOffset"==C)||s(C,d))||p.push(C);return p}},60783:e=>{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length,n=Array(A);++r{e.exports=function(e,t){for(var r=-1,A=t.length,n=e.length;++r{e.exports=function(e,t,r,A){var n=-1,o=null==e?0:e.length;for(A&&o&&(r=e[++n]);++n{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length;++r{e.exports=function(e){return e.split("")}},11852:e=>{var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(t)||[]}},26943:(e,t,r)=>{var A=r(91198),n=r(71074);e.exports=function(e,t,r){(void 0!==r&&!n(e[t],r)||void 0===r&&!(t in e))&&A(e,t,r)}},65759:(e,t,r)=>{var A=r(91198),n=r(71074),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];o.call(e,t)&&n(i,r)&&(void 0!==r||t in e)||A(e,t,r)}},39836:(e,t,r)=>{var A=r(71074);e.exports=function(e,t){for(var r=e.length;r--;)if(A(e[r][0],t))return r;return-1}},28628:(e,t,r)=>{var A=r(75182),n=r(42185);e.exports=function(e,t){return e&&A(t,n(t),e)}},78707:(e,t,r)=>{var A=r(75182),n=r(24887);e.exports=function(e,t){return e&&A(t,n(t),e)}},91198:(e,t,r)=>{var A=r(65);e.exports=function(e,t,r){"__proto__"==t&&A?A(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},41076:(e,t,r)=>{var A=r(22851),n=r(33326),o=r(65759),i=r(28628),s=r(78707),a=r(64266),c=r(87229),g=r(23105),l=r(60741),u=r(60753),h=r(64420),p=r(79435),d=r(27908),C=r(37836),f=r(88438),I=r(82664),E=r(10667),B=r(13349),y=r(46778),m=r(33931),w=r(42185),Q={};Q["[object Arguments]"]=Q["[object Array]"]=Q["[object ArrayBuffer]"]=Q["[object DataView]"]=Q["[object Boolean]"]=Q["[object Date]"]=Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Map]"]=Q["[object Number]"]=Q["[object Object]"]=Q["[object RegExp]"]=Q["[object Set]"]=Q["[object String]"]=Q["[object Symbol]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q["[object Error]"]=Q["[object Function]"]=Q["[object WeakMap]"]=!1,e.exports=function e(t,r,D,b,v,S){var k,K=1&r,F=2&r,N=4&r;if(D&&(k=v?D(t,b,v,S):D(t)),void 0!==k)return k;if(!y(t))return t;var M=I(t);if(M){if(k=d(t),!K)return c(t,k)}else{var R=p(t),x="[object Function]"==R||"[object GeneratorFunction]"==R;if(E(t))return a(t,K);if("[object Object]"==R||"[object Arguments]"==R||x&&!v){if(k=F||x?{}:f(t),!K)return F?l(t,s(k,t)):g(t,i(k,t))}else{if(!Q[R])return v?t:{};k=C(t,R,K)}}S||(S=new A);var L=S.get(t);if(L)return L;S.set(t,k),m(t)?t.forEach((function(A){k.add(e(A,r,D,A,t,S))})):B(t)&&t.forEach((function(A,n){k.set(n,e(A,r,D,n,t,S))}));var P=N?F?h:u:F?keysIn:w,O=M?void 0:P(t);return n(O||t,(function(A,n){O&&(A=t[n=A]),o(k,n,e(A,r,D,n,t,S))})),k}},15178:(e,t,r)=>{var A=r(46778),n=Object.create,o=function(){function e(){}return function(t){if(!A(t))return{};if(n)return n(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=o},93274:(e,t,r)=>{var A=r(40945),n=r(958);e.exports=function e(t,r,o,i,s){var a=-1,c=t.length;for(o||(o=n),s||(s=[]);++a0&&o(g)?r>1?e(g,r-1,o,i,s):A(s,g):i||(s[s.length]=g)}return s}},31689:(e,t,r)=>{var A=r(59907)();e.exports=A},62164:(e,t,r)=>{var A=r(31689),n=r(42185);e.exports=function(e,t){return e&&A(e,t,n)}},84173:(e,t,r)=>{var A=r(56725),n=r(49874);e.exports=function(e,t){for(var r=0,o=(t=A(t,e)).length;null!=e&&r{var A=r(40945),n=r(82664);e.exports=function(e,t,r){var o=t(e);return n(e)?o:A(o,r(e))}},52502:(e,t,r)=>{var A=r(69976),n=r(2854),o=r(87427),i=A?A.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?n(e):o(e)}},95325:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e,r){return null!=e&&t.call(e,r)}},3881:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},76357:(e,t,r)=>{var A=r(52502),n=r(38496);e.exports=function(e){return n(e)&&"[object Arguments]"==A(e)}},74195:(e,t,r)=>{var A=r(48957),n=r(38496);e.exports=function e(t,r,o,i,s){return t===r||(null==t||null==r||!n(t)&&!n(r)?t!=t&&r!=r:A(t,r,o,i,e,s))}},48957:(e,t,r)=>{var A=r(22851),n=r(75500),o=r(28475),i=r(50245),s=r(79435),a=r(82664),c=r(10667),g=r(32565),l="[object Object]",u=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,h,p,d){var C=a(e),f=a(t),I=C?"[object Array]":s(e),E=f?"[object Array]":s(t),B=(I="[object Arguments]"==I?l:I)==l,y=(E="[object Arguments]"==E?l:E)==l,m=I==E;if(m&&c(e)){if(!c(t))return!1;C=!0,B=!1}if(m&&!B)return d||(d=new A),C||g(e)?n(e,t,r,h,p,d):o(e,t,I,r,h,p,d);if(!(1&r)){var w=B&&u.call(e,"__wrapped__"),Q=y&&u.call(t,"__wrapped__");if(w||Q){var D=w?e.value():e,b=Q?t.value():t;return d||(d=new A),p(D,b,r,h,d)}}return!!m&&(d||(d=new A),i(e,t,r,h,p,d))}},55994:(e,t,r)=>{var A=r(79435),n=r(38496);e.exports=function(e){return n(e)&&"[object Map]"==A(e)}},66470:(e,t,r)=>{var A=r(22851),n=r(74195);e.exports=function(e,t,r,o){var i=r.length,s=i,a=!o;if(null==e)return!s;for(e=Object(e);i--;){var c=r[i];if(a&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i{var A=r(92533),n=r(15061),o=r(46778),i=r(76384),s=/^\[object .+?Constructor\]$/,a=Function.prototype,c=Object.prototype,g=a.toString,l=c.hasOwnProperty,u=RegExp("^"+g.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||n(e))&&(A(e)?u:s).test(i(e))}},28612:(e,t,r)=>{var A=r(79435),n=r(38496);e.exports=function(e){return n(e)&&"[object Set]"==A(e)}},98998:(e,t,r)=>{var A=r(52502),n=r(46369),o=r(38496),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&n(e.length)&&!!i[A(e)]}},42208:(e,t,r)=>{var A=r(96962),n=r(90348),o=r(61977),i=r(82664),s=r(7430);e.exports=function(e){return"function"==typeof e?e:null==e?o:"object"==typeof e?i(e)?n(e[0],e[1]):A(e):s(e)}},50994:(e,t,r)=>{var A=r(89513),n=r(60657),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!A(e))return n(e);var t=[];for(var r in Object(e))o.call(e,r)&&"constructor"!=r&&t.push(r);return t}},8372:(e,t,r)=>{var A=r(46778),n=r(89513),o=r(95632),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!A(e))return o(e);var t=n(e),r=[];for(var s in e)("constructor"!=s||!t&&i.call(e,s))&&r.push(s);return r}},96962:(e,t,r)=>{var A=r(66470),n=r(98705),o=r(12757);e.exports=function(e){var t=n(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(r){return r===e||A(r,e,t)}}},90348:(e,t,r)=>{var A=r(74195),n=r(44674),o=r(34878),i=r(70474),s=r(20925),a=r(12757),c=r(49874);e.exports=function(e,t){return i(e)&&s(t)?a(c(e),t):function(r){var i=n(r,e);return void 0===i&&i===t?o(r,e):A(t,i,3)}}},51264:(e,t,r)=>{var A=r(22851),n=r(26943),o=r(31689),i=r(16834),s=r(46778),a=r(24887),c=r(36883);e.exports=function e(t,r,g,l,u){t!==r&&o(r,(function(o,a){if(u||(u=new A),s(o))i(t,r,a,g,e,l,u);else{var h=l?l(c(t,a),o,a+"",t,r,u):void 0;void 0===h&&(h=o),n(t,a,h)}}),a)}},16834:(e,t,r)=>{var A=r(26943),n=r(64266),o=r(58042),i=r(87229),s=r(88438),a=r(61771),c=r(82664),g=r(16064),l=r(10667),u=r(92533),h=r(46778),p=r(11672),d=r(32565),C=r(36883),f=r(36506);e.exports=function(e,t,r,I,E,B,y){var m=C(e,r),w=C(t,r),Q=y.get(w);if(Q)A(e,r,Q);else{var D=B?B(m,w,r+"",e,t,y):void 0,b=void 0===D;if(b){var v=c(w),S=!v&&l(w),k=!v&&!S&&d(w);D=w,v||S||k?c(m)?D=m:g(m)?D=i(m):S?(b=!1,D=n(w,!0)):k?(b=!1,D=o(w,!0)):D=[]:p(w)||a(w)?(D=m,a(m)?D=f(m):h(m)&&!u(m)||(D=s(w))):b=!1}b&&(y.set(w,D),E(D,w,I,B,y),y.delete(w)),A(e,r,D)}}},72204:(e,t,r)=>{var A=r(35314),n=r(34878);e.exports=function(e,t){return A(e,t,(function(t,r){return n(e,r)}))}},35314:(e,t,r)=>{var A=r(84173),n=r(10624),o=r(56725);e.exports=function(e,t,r){for(var i=-1,s=t.length,a={};++i{e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},43018:(e,t,r)=>{var A=r(84173);e.exports=function(e){return function(t){return A(t,e)}}},51587:e=>{e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},30383:(e,t,r)=>{var A=r(61977),n=r(44322),o=r(3111);e.exports=function(e,t){return o(n(e,t,A),e+"")}},10624:(e,t,r)=>{var A=r(65759),n=r(56725),o=r(98041),i=r(46778),s=r(49874);e.exports=function(e,t,r,a){if(!i(e))return e;for(var c=-1,g=(t=n(t,e)).length,l=g-1,u=e;null!=u&&++c{var A=r(4967),n=r(65),o=r(61977),i=n?function(e,t){return n(e,"toString",{configurable:!0,enumerable:!1,value:A(t),writable:!0})}:o;e.exports=i},27708:e=>{e.exports=function(e,t,r){var A=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(n);++A{e.exports=function(e,t){for(var r=-1,A=Array(e);++r{var A=r(69976),n=r(60783),o=r(82664),i=r(65558),s=A?A.prototype:void 0,a=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return n(t,e)+"";if(i(t))return a?a.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},73635:e=>{e.exports=function(e){return function(t){return e(t)}}},18290:(e,t,r)=>{var A=r(60783);e.exports=function(e,t){return A(t,(function(t){return e[t]}))}},93022:e=>{e.exports=function(e,t){return e.has(t)}},56725:(e,t,r)=>{var A=r(82664),n=r(70474),o=r(8689),i=r(33580);e.exports=function(e,t){return A(e)?e:n(e,t)?[e]:o(i(e))}},92568:(e,t,r)=>{var A=r(27708);e.exports=function(e,t,r){var n=e.length;return r=void 0===r?n:r,!t&&r>=n?e:A(e,t,r)}},76255:(e,t,r)=>{var A=r(2740);e.exports=function(e){var t=new e.constructor(e.byteLength);return new A(t).set(new A(e)),t}},64266:(e,t,r)=>{e=r.nmd(e);var A=r(76169),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n?A.Buffer:void 0,s=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,A=s?s(r):new e.constructor(r);return e.copy(A),A}},63749:(e,t,r)=>{var A=r(76255);e.exports=function(e,t){var r=t?A(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},41705:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},25791:(e,t,r)=>{var A=r(69976),n=A?A.prototype:void 0,o=n?n.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},58042:(e,t,r)=>{var A=r(76255);e.exports=function(e,t){var r=t?A(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},87229:e=>{e.exports=function(e,t){var r=-1,A=e.length;for(t||(t=Array(A));++r{var A=r(65759),n=r(91198);e.exports=function(e,t,r,o){var i=!r;r||(r={});for(var s=-1,a=t.length;++s{var A=r(75182),n=r(68727);e.exports=function(e,t){return A(e,n(e),t)}},60741:(e,t,r)=>{var A=r(75182),n=r(35368);e.exports=function(e,t){return A(e,n(e),t)}},14429:(e,t,r)=>{var A=r(76169)["__core-js_shared__"];e.exports=A},27913:(e,t,r)=>{var A=r(30383),n=r(33193);e.exports=function(e){return A((function(t,r){var A=-1,o=r.length,i=o>1?r[o-1]:void 0,s=o>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,s&&n(r[0],r[1],s)&&(i=o<3?void 0:i,o=1),t=Object(t);++A{e.exports=function(e){return function(t,r,A){for(var n=-1,o=Object(t),i=A(t),s=i.length;s--;){var a=i[e?s:++n];if(!1===r(o[a],a,o))break}return t}}},56989:(e,t,r)=>{var A=r(92568),n=r(93024),o=r(30475),i=r(33580);e.exports=function(e){return function(t){t=i(t);var r=n(t)?o(t):void 0,s=r?r[0]:t.charAt(0),a=r?A(r,1).join(""):t.slice(1);return s[e]()+a}}},30369:(e,t,r)=>{var A=r(66054),n=r(68968),o=r(97684),i=RegExp("['’]","g");e.exports=function(e){return function(t){return A(o(n(t).replace(i,"")),e,"")}}},69922:(e,t,r)=>{var A=r(51587)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});e.exports=A},65:(e,t,r)=>{var A=r(99513),n=function(){try{var e=A(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=n},75500:(e,t,r)=>{var A=r(46235),n=r(17765),o=r(93022);e.exports=function(e,t,r,i,s,a){var c=1&r,g=e.length,l=t.length;if(g!=l&&!(c&&l>g))return!1;var u=a.get(e);if(u&&a.get(t))return u==t;var h=-1,p=!0,d=2&r?new A:void 0;for(a.set(e,t),a.set(t,e);++h{var A=r(69976),n=r(2740),o=r(71074),i=r(75500),s=r(7877),a=r(7442),c=A?A.prototype:void 0,g=c?c.valueOf:void 0;e.exports=function(e,t,r,A,c,l,u){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!l(new n(e),new n(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=s;case"[object Set]":var p=1&A;if(h||(h=a),e.size!=t.size&&!p)return!1;var d=u.get(e);if(d)return d==t;A|=2,u.set(e,t);var C=i(h(e),h(t),A,c,l,u);return u.delete(e),C;case"[object Symbol]":if(g)return g.call(e)==g.call(t)}return!1}},50245:(e,t,r)=>{var A=r(60753),n=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,i,s){var a=1&r,c=A(e),g=c.length;if(g!=A(t).length&&!a)return!1;for(var l=g;l--;){var u=c[l];if(!(a?u in t:n.call(t,u)))return!1}var h=s.get(e);if(h&&s.get(t))return h==t;var p=!0;s.set(e,t),s.set(t,e);for(var d=a;++l{var A=r(54690),n=r(44322),o=r(3111);e.exports=function(e){return o(n(e,void 0,A),e+"")}},68399:e=>{var t="object"==typeof global&&global&&global.Object===Object&&global;e.exports=t},60753:(e,t,r)=>{var A=r(40104),n=r(68727),o=r(42185);e.exports=function(e){return A(e,o,n)}},64420:(e,t,r)=>{var A=r(40104),n=r(35368),o=r(24887);e.exports=function(e){return A(e,o,n)}},59253:(e,t,r)=>{var A=r(69448);e.exports=function(e,t){var r=e.__data__;return A(t)?r["string"==typeof t?"string":"hash"]:r.map}},98705:(e,t,r)=>{var A=r(20925),n=r(42185);e.exports=function(e){for(var t=n(e),r=t.length;r--;){var o=t[r],i=e[o];t[r]=[o,i,A(i)]}return t}},99513:(e,t,r)=>{var A=r(91686),n=r(98054);e.exports=function(e,t){var r=n(e,t);return A(r)?r:void 0}},41181:(e,t,r)=>{var A=r(64309)(Object.getPrototypeOf,Object);e.exports=A},2854:(e,t,r)=>{var A=r(69976),n=Object.prototype,o=n.hasOwnProperty,i=n.toString,s=A?A.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),r=e[s];try{e[s]=void 0;var A=!0}catch(e){}var n=i.call(e);return A&&(t?e[s]=r:delete e[s]),n}},68727:(e,t,r)=>{var A=r(9073),n=r(62162),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(e){return null==e?[]:(e=Object(e),A(i(e),(function(t){return o.call(e,t)})))}:n;e.exports=s},35368:(e,t,r)=>{var A=r(40945),n=r(41181),o=r(68727),i=r(62162),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)A(t,o(e)),e=n(e);return t}:i;e.exports=s},79435:(e,t,r)=>{var A=r(78962),n=r(63603),o=r(5825),i=r(43231),s=r(47063),a=r(52502),c=r(76384),g=c(A),l=c(n),u=c(o),h=c(i),p=c(s),d=a;(A&&"[object DataView]"!=d(new A(new ArrayBuffer(1)))||n&&"[object Map]"!=d(new n)||o&&"[object Promise]"!=d(o.resolve())||i&&"[object Set]"!=d(new i)||s&&"[object WeakMap]"!=d(new s))&&(d=function(e){var t=a(e),r="[object Object]"==t?e.constructor:void 0,A=r?c(r):"";if(A)switch(A){case g:return"[object DataView]";case l:return"[object Map]";case u:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=d},98054:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},71507:(e,t,r)=>{var A=r(56725),n=r(61771),o=r(82664),i=r(98041),s=r(46369),a=r(49874);e.exports=function(e,t,r){for(var c=-1,g=(t=A(t,e)).length,l=!1;++c{var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return t.test(e)}},60466:e=>{var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return t.test(e)}},31713:(e,t,r)=>{var A=r(52437);e.exports=function(){this.__data__=A?A(null):{},this.size=0}},86688:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},45937:(e,t,r)=>{var A=r(52437),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(A){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return n.call(t,e)?t[e]:void 0}},5017:(e,t,r)=>{var A=r(52437),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return A?void 0!==t[e]:n.call(t,e)}},79457:(e,t,r)=>{var A=r(52437);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=A&&void 0===t?"__lodash_hash_undefined__":t,this}},27908:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,A=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(A.index=e.index,A.input=e.input),A}},37836:(e,t,r)=>{var A=r(76255),n=r(63749),o=r(41705),i=r(25791),s=r(58042);e.exports=function(e,t,r){var a=e.constructor;switch(t){case"[object ArrayBuffer]":return A(e);case"[object Boolean]":case"[object Date]":return new a(+e);case"[object DataView]":return n(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(e,r);case"[object Map]":return new a;case"[object Number]":case"[object String]":return new a(e);case"[object RegExp]":return o(e);case"[object Set]":return new a;case"[object Symbol]":return i(e)}}},88438:(e,t,r)=>{var A=r(15178),n=r(41181),o=r(89513);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:A(n(e))}},958:(e,t,r)=>{var A=r(69976),n=r(61771),o=r(82664),i=A?A.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||n(e)||!!(i&&e&&e[i])}},98041:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var A=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==A||"symbol"!=A&&t.test(e))&&e>-1&&e%1==0&&e{var A=r(71074),n=r(41929),o=r(98041),i=r(46778);e.exports=function(e,t,r){if(!i(r))return!1;var s=typeof t;return!!("number"==s?n(r)&&o(t,r.length):"string"==s&&t in r)&&A(r[t],e)}},70474:(e,t,r)=>{var A=r(82664),n=r(65558),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;e.exports=function(e,t){if(A(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!n(e))||(i.test(e)||!o.test(e)||null!=t&&e in Object(t))}},69448:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15061:(e,t,r)=>{var A,n=r(14429),o=(A=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"";e.exports=function(e){return!!o&&o in e}},89513:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},20925:(e,t,r)=>{var A=r(46778);e.exports=function(e){return e==e&&!A(e)}},82262:e=>{e.exports=function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}},14620:e=>{e.exports=function(){this.__data__=[],this.size=0}},73682:(e,t,r)=>{var A=r(39836),n=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=A(t,e);return!(r<0)&&(r==t.length-1?t.pop():n.call(t,r,1),--this.size,!0)}},43112:(e,t,r)=>{var A=r(39836);e.exports=function(e){var t=this.__data__,r=A(t,e);return r<0?void 0:t[r][1]}},90640:(e,t,r)=>{var A=r(39836);e.exports=function(e){return A(this.__data__,e)>-1}},9380:(e,t,r)=>{var A=r(39836);e.exports=function(e,t){var r=this.__data__,n=A(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}},18209:(e,t,r)=>{var A=r(72574),n=r(29197),o=r(63603);e.exports=function(){this.size=0,this.__data__={hash:new A,map:new(o||n),string:new A}}},89706:(e,t,r)=>{var A=r(59253);e.exports=function(e){var t=A(this,e).delete(e);return this.size-=t?1:0,t}},43786:(e,t,r)=>{var A=r(59253);e.exports=function(e){return A(this,e).get(e)}},17926:(e,t,r)=>{var A=r(59253);e.exports=function(e){return A(this,e).has(e)}},87345:(e,t,r)=>{var A=r(59253);e.exports=function(e,t){var r=A(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}},7877:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,A){r[++t]=[A,e]})),r}},12757:e=>{e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},31948:(e,t,r)=>{var A=r(74499);e.exports=function(e){var t=A(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},52437:(e,t,r)=>{var A=r(99513)(Object,"create");e.exports=A},60657:(e,t,r)=>{var A=r(64309)(Object.keys,Object);e.exports=A},95632:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},26391:(e,t,r)=>{e=r.nmd(e);var A=r(68399),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&A.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=s},87427:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},64309:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},44322:(e,t,r)=>{var A=r(66636),n=Math.max;e.exports=function(e,t,r){return t=n(void 0===t?e.length-1:t,0),function(){for(var o=arguments,i=-1,s=n(o.length-t,0),a=Array(s);++i{var A=r(68399),n="object"==typeof self&&self&&self.Object===Object&&self,o=A||n||Function("return this")();e.exports=o},36883:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},74785:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},87760:e=>{e.exports=function(e){return this.__data__.has(e)}},7442:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},3111:(e,t,r)=>{var A=r(4899),n=r(19908)(A);e.exports=n},19908:e=>{var t=Date.now;e.exports=function(e){var r=0,A=0;return function(){var n=t(),o=16-(n-A);if(A=n,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},35678:(e,t,r)=>{var A=r(29197);e.exports=function(){this.__data__=new A,this.size=0}},33336:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},97163:e=>{e.exports=function(e){return this.__data__.get(e)}},43737:e=>{e.exports=function(e){return this.__data__.has(e)}},48548:(e,t,r)=>{var A=r(29197),n=r(63603),o=r(75009);e.exports=function(e,t){var r=this.__data__;if(r instanceof A){var i=r.__data__;if(!n||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new o(i)}return r.set(e,t),this.size=r.size,this}},30475:(e,t,r)=>{var A=r(1051),n=r(93024),o=r(297);e.exports=function(e){return n(e)?o(e):A(e)}},8689:(e,t,r)=>{var A=r(31948),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=A((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(n,(function(e,r,A,n){t.push(A?n.replace(o,"$1"):r||e)})),t}));e.exports=i},49874:(e,t,r)=>{var A=r(65558);e.exports=function(e){if("string"==typeof e||A(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},76384:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},297:e=>{var t="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",A="\\ud83c[\\udffb-\\udfff]",n="[^\\ud800-\\udfff]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",i="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+r+"|"+A+")"+"?",a="[\\ufe0e\\ufe0f]?"+s+("(?:\\u200d(?:"+[n,o,i].join("|")+")[\\ufe0e\\ufe0f]?"+s+")*"),c="(?:"+[n+r+"?",r,o,i,t].join("|")+")",g=RegExp(A+"(?="+A+")|"+c+a,"g");e.exports=function(e){return e.match(g)||[]}},89887:e=>{var t="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",r="["+t+"]",A="\\d+",n="[\\u2700-\\u27bf]",o="[a-z\\xdf-\\xf6\\xf8-\\xff]",i="[^\\ud800-\\udfff"+t+A+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",c="[A-Z\\xc0-\\xd6\\xd8-\\xde]",g="(?:"+o+"|"+i+")",l="(?:"+c+"|"+i+")",u="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",h="[\\ufe0e\\ufe0f]?"+u+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",s,a].join("|")+")[\\ufe0e\\ufe0f]?"+u+")*"),p="(?:"+[n,s,a].join("|")+")"+h,d=RegExp([c+"?"+o+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[r,c,"$"].join("|")+")",l+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[r,c+g,"$"].join("|")+")",c+"?"+g+"+(?:['’](?:d|ll|m|re|s|t|ve))?",c+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",A,p].join("|"),"g");e.exports=function(e){return e.match(d)||[]}},89170:(e,t,r)=>{var A=r(61814),n=r(30369)((function(e,t,r){return t=t.toLowerCase(),e+(r?A(t):t)}));e.exports=n},61814:(e,t,r)=>{var A=r(33580),n=r(72609);e.exports=function(e){return n(A(e).toLowerCase())}},82558:(e,t,r)=>{var A=r(41076);e.exports=function(e){return A(e,5)}},26052:(e,t,r)=>{var A=r(41076);e.exports=function(e,t){return A(e,5,t="function"==typeof t?t:void 0)}},4967:e=>{e.exports=function(e){return function(){return e}}},68968:(e,t,r)=>{var A=r(69922),n=r(33580),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,i=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.exports=function(e){return(e=n(e))&&e.replace(o,A).replace(i,"")}},71074:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},54690:(e,t,r)=>{var A=r(93274);e.exports=function(e){return(null==e?0:e.length)?A(e,1):[]}},44674:(e,t,r)=>{var A=r(84173);e.exports=function(e,t,r){var n=null==e?void 0:A(e,t);return void 0===n?r:n}},15215:(e,t,r)=>{var A=r(95325),n=r(71507);e.exports=function(e,t){return null!=e&&n(e,t,A)}},34878:(e,t,r)=>{var A=r(3881),n=r(71507);e.exports=function(e,t){return null!=e&&n(e,t,A)}},61977:e=>{e.exports=function(e){return e}},61771:(e,t,r)=>{var A=r(76357),n=r(38496),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,a=A(function(){return arguments}())?A:function(e){return n(e)&&i.call(e,"callee")&&!s.call(e,"callee")};e.exports=a},82664:e=>{var t=Array.isArray;e.exports=t},41929:(e,t,r)=>{var A=r(92533),n=r(46369);e.exports=function(e){return null!=e&&n(e.length)&&!A(e)}},16064:(e,t,r)=>{var A=r(41929),n=r(38496);e.exports=function(e){return n(e)&&A(e)}},10667:(e,t,r)=>{e=r.nmd(e);var A=r(76169),n=r(88988),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,s=i&&i.exports===o?A.Buffer:void 0,a=(s?s.isBuffer:void 0)||n;e.exports=a},92533:(e,t,r)=>{var A=r(52502),n=r(46778);e.exports=function(e){if(!n(e))return!1;var t=A(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},46369:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},13349:(e,t,r)=>{var A=r(55994),n=r(73635),o=r(26391),i=o&&o.isMap,s=i?n(i):A;e.exports=s},46778:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},38496:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},11672:(e,t,r)=>{var A=r(52502),n=r(41181),o=r(38496),i=Function.prototype,s=Object.prototype,a=i.toString,c=s.hasOwnProperty,g=a.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=A(e))return!1;var t=n(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&a.call(r)==g}},33931:(e,t,r)=>{var A=r(28612),n=r(73635),o=r(26391),i=o&&o.isSet,s=i?n(i):A;e.exports=s},221:(e,t,r)=>{var A=r(52502),n=r(82664),o=r(38496);e.exports=function(e){return"string"==typeof e||!n(e)&&o(e)&&"[object String]"==A(e)}},65558:(e,t,r)=>{var A=r(52502),n=r(38496);e.exports=function(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==A(e)}},32565:(e,t,r)=>{var A=r(98998),n=r(73635),o=r(26391),i=o&&o.isTypedArray,s=i?n(i):A;e.exports=s},42185:(e,t,r)=>{var A=r(11886),n=r(50994),o=r(41929);e.exports=function(e){return o(e)?A(e):n(e)}},24887:(e,t,r)=>{var A=r(11886),n=r(8372),o=r(41929);e.exports=function(e){return o(e)?A(e,!0):n(e)}},5253:(e,t,r)=>{var A=r(91198),n=r(62164),o=r(42208);e.exports=function(e,t){var r={};return t=o(t,3),n(e,(function(e,n,o){A(r,t(e,n,o),e)})),r}},89612:(e,t,r)=>{var A=r(91198),n=r(62164),o=r(42208);e.exports=function(e,t){var r={};return t=o(t,3),n(e,(function(e,n,o){A(r,n,t(e,n,o))})),r}},74499:(e,t,r)=>{var A=r(75009);function n(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var A=arguments,n=t?t.apply(this,A):A[0],o=r.cache;if(o.has(n))return o.get(n);var i=e.apply(this,A);return r.cache=o.set(n,i)||o,i};return r.cache=new(n.Cache||A),r}n.Cache=A,e.exports=n},80305:(e,t,r)=>{var A=r(51264),n=r(27913)((function(e,t,r){A(e,t,r)}));e.exports=n},75130:(e,t,r)=>{var A=r(72204),n=r(87298)((function(e,t){return null==e?{}:A(e,t)}));e.exports=n},7430:(e,t,r)=>{var A=r(35400),n=r(43018),o=r(70474),i=r(49874);e.exports=function(e){return o(e)?A(i(e)):n(e)}},81534:(e,t,r)=>{var A=r(10624);e.exports=function(e,t,r){return null==e?e:A(e,t,r)}},36494:(e,t,r)=>{var A=r(30369)((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));e.exports=A},62162:e=>{e.exports=function(){return[]}},88988:e=>{e.exports=function(){return!1}},78700:(e,t,r)=>{var A=r(69976),n=r(87229),o=r(79435),i=r(41929),s=r(221),a=r(82262),c=r(7877),g=r(7442),l=r(30475),u=r(24448),h=A?A.iterator:void 0;e.exports=function(e){if(!e)return[];if(i(e))return s(e)?l(e):n(e);if(h&&e[h])return a(e[h]());var t=o(e);return("[object Map]"==t?c:"[object Set]"==t?g:u)(e)}},36506:(e,t,r)=>{var A=r(75182),n=r(24887);e.exports=function(e){return A(e,n(e))}},33580:(e,t,r)=>{var A=r(35);e.exports=function(e){return null==e?"":A(e)}},72609:(e,t,r)=>{var A=r(56989)("toUpperCase");e.exports=A},24448:(e,t,r)=>{var A=r(18290),n=r(42185);e.exports=function(e){return null==e?[]:A(e,n(e))}},97684:(e,t,r)=>{var A=r(11852),n=r(60466),o=r(33580),i=r(89887);e.exports=function(e,t,r){return e=o(e),void 0===(t=r?void 0:t)?n(e)?i(e):A(e):e.match(t)||[]}},55737:e=>{"use strict";e.exports=e=>{const t={};for(const[r,A]of Object.entries(e))t[r.toLowerCase()]=A;return t}},46227:(e,t,r)=>{"use strict";const A=r(35747),n=r(85622),{promisify:o}=r(31669),i=r(95584).satisfies(process.version,">=10.12.0"),s=e=>{if("win32"===process.platform){if(/[<>:"|?*]/.test(e.replace(n.parse(e).root,""))){const t=new Error("Path contains invalid characters: "+e);throw t.code="EINVAL",t}}},a=e=>({...{mode:511,fs:A},...e}),c=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);return t.code="EPERM",t.errno=-4048,t.path=e,t.syscall="mkdir",t};e.exports=async(e,t)=>{s(e),t=a(t);const r=o(t.fs.mkdir),g=o(t.fs.stat);if(i&&t.fs.mkdir===A.mkdir){const A=n.resolve(e);return await r(A,{mode:t.mode,recursive:!0}),A}const l=async e=>{try{return await r(e,t.mode),e}catch(t){if("EPERM"===t.code)throw t;if("ENOENT"===t.code){if(n.dirname(e)===e)throw c(e);if(t.message.includes("null bytes"))throw t;return await l(n.dirname(e)),l(e)}try{if(!(await g(e)).isDirectory())throw new Error("The path is not a directory")}catch(e){throw t}return e}};return l(n.resolve(e))},e.exports.sync=(e,t)=>{if(s(e),t=a(t),i&&t.fs.mkdirSync===A.mkdirSync){const r=n.resolve(e);return A.mkdirSync(r,{mode:t.mode,recursive:!0}),r}const r=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(A){if("EPERM"===A.code)throw A;if("ENOENT"===A.code){if(n.dirname(e)===e)throw c(e);if(A.message.includes("null bytes"))throw A;return r(n.dirname(e)),r(e)}try{if(!t.fs.statSync(e).isDirectory())throw new Error("The path is not a directory")}catch(e){throw A}}return e};return r(n.resolve(e))}},55598:(e,t,r)=>{"use strict";const A=r(92413).PassThrough,n=Array.prototype.slice;function o(e,t){if(Array.isArray(e))for(let r=0,A=e.length;r0||(t=!1,g())}function o(e){function t(){e.removeListener("merge2UnpipeEnd",t),e.removeListener("end",t),n()}if(e._readableState.endEmitted)return n();e.on("merge2UnpipeEnd",t),e.on("end",t),e.pipe(a,{end:!1}),e.resume()}for(let e=0;e{"use strict";const A=r(31669),n=r(12235),o=r(54722),i=r(3598),s=e=>"string"==typeof e&&(""===e||"./"===e),a=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let A=new Set,n=new Set,i=new Set,s=0,a=e=>{i.add(e.output),r&&r.onResult&&r.onResult(e)};for(let i=0;i!A.has(e));if(r&&0===c.length){if(!0===r.failglob)throw new Error(`No matches found for "${t.join(", ")}"`);if(!0===r.nonull||!0===r.nullglob)return r.unescape?t.map(e=>e.replace(/\\/g,"")):t}return c};a.match=a,a.matcher=(e,t)=>o(e,t),a.any=a.isMatch=(e,t,r)=>o(t,r)(e),a.not=(e,t,r={})=>{t=[].concat(t).map(String);let A=new Set,n=[],o=a(e,t,{...r,onResult:e=>{r.onResult&&r.onResult(e),n.push(e.output)}});for(let e of n)o.includes(e)||A.add(e);return[...A]},a.contains=(e,t,r)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${A.inspect(e)}"`);if(Array.isArray(t))return t.some(t=>a.contains(e,t,r));if("string"==typeof t){if(s(e)||s(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return a.isMatch(e,t,{...r,contains:!0})},a.matchKeys=(e,t,r)=>{if(!i.isObject(e))throw new TypeError("Expected the first argument to be an object");let A=a(Object.keys(e),t,r),n={};for(let t of A)n[t]=e[t];return n},a.some=(e,t,r)=>{let A=[].concat(e);for(let e of[].concat(t)){let t=o(String(e),r);if(A.some(e=>t(e)))return!0}return!1},a.every=(e,t,r)=>{let A=[].concat(e);for(let e of[].concat(t)){let t=o(String(e),r);if(!A.every(e=>t(e)))return!1}return!0},a.all=(e,t,r)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${A.inspect(e)}"`);return[].concat(t).every(t=>o(t,r)(e))},a.capture=(e,t,r)=>{let A=i.isWindows(r),n=o.makeRe(String(e),{...r,capture:!0}).exec(A?i.toPosixSlashes(t):t);if(n)return n.slice(1).map(e=>void 0===e?"":e)},a.makeRe=(...e)=>o.makeRe(...e),a.scan=(...e)=>o.scan(...e),a.parse=(e,t)=>{let r=[];for(let A of[].concat(e||[]))for(let e of n(String(A),t))r.push(o.parse(e,t));return r},a.braces=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return t&&!0===t.nobrace||!/\{.*\}/.test(e)?[e]:n(e,t)},a.braceExpand=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return a.braces(e,{...t,expand:!0})},e.exports=a},65007:e=>{"use strict";const t=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];e.exports=(e,r)=>{const A=new Set(Object.keys(e).concat(t));for(const t of A)t in r||(r[t]="function"==typeof e[t]?e[t].bind(e):e[t])}},33527:e=>{"use strict";const t=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];e.exports=(e,r)=>{if(r._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");const A=new Set(Object.keys(e).concat(t)),n={};for(const t of A)t in r||(n[t]={get(){const r=e[t];return"function"==typeof r?r.bind(e):r},set(r){e[t]=r},enumerable:!0,configurable:!1});return Object.defineProperties(r,n),e.once("aborted",()=>{r.destroy(),r.emit("aborted")}),e.once("close",()=>{e.complete&&r.readable?r.once("end",()=>{r.emit("close")}):r.emit("close")}),r}},19793:(e,t,r)=>{"use strict";const A="undefined"==typeof URL?r(78835).URL:URL,n=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),o=(e,t)=>{if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},Reflect.has(t,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(t,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(t,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(e=e.trim(),/^data:/i.test(e))return((e,{stripHash:t})=>{const r=e.match(/^data:(.*?),(.*?)(?:#(.*))?$/);if(!r)throw new Error("Invalid URL: "+e);const A=r[1].split(";"),n=r[2],o=t?"":r[3];let i=!1;"base64"===A[A.length-1]&&(A.pop(),i=!0);const s=(A.shift()||"").toLowerCase(),a=[...A.map(e=>{let[t,r=""]=e.split("=").map(e=>e.trim());return"charset"===t&&(r=r.toLowerCase(),"us-ascii"===r)?"":`${t}${r?"="+r:""}`}).filter(Boolean)];return i&&a.push("base64"),(0!==a.length||s&&"text/plain"!==s)&&a.unshift(s),`data:${a.join(";")},${i?n.trim():n}${o?"#"+o:""}`})(e,t);const r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));const o=new A(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===o.protocol&&(o.protocol="http:"),t.forceHttps&&"http:"===o.protocol&&(o.protocol="https:"),t.stripAuthentication&&(o.username="",o.password=""),t.stripHash&&(o.hash=""),o.pathname&&(o.pathname=o.pathname.replace(/((?!:).|^)\/{2,}/g,(e,t)=>/^(?!\/)/g.test(t)?t+"/":"/")),o.pathname&&(o.pathname=decodeURI(o.pathname)),!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=o.pathname.split("/");const r=e[e.length-1];n(r,t.removeDirectoryIndex)&&(e=e.slice(0,e.length-1),o.pathname=e.slice(1).join("/")+"/")}if(o.hostname&&(o.hostname=o.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(o.hostname)&&(o.hostname=o.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(const e of[...o.searchParams.keys()])n(e,t.removeQueryParameters)&&o.searchParams.delete(e);return t.sortQueryParameters&&o.searchParams.sort(),t.removeTrailingSlash&&(o.pathname=o.pathname.replace(/\/$/,"")),e=o.toString(),!t.removeTrailingSlash&&"/"!==o.pathname||""!==o.hash||(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e};e.exports=o,e.exports.default=o},91162:(e,t,r)=>{var A=r(98984);function n(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}e.exports=A(n),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0})}))},27180:(e,t,r)=>{var A=r(98984);function n(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function o(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}e.exports=A(n),e.exports.strict=A(o),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})}))},59351:e=>{"use strict";class t extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}class r{static fn(e){return(...t)=>new r((r,A,n)=>{t.push(n),e(...t).then(r,A)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,r)=>{this._reject=r;const A=e=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)};return Object.defineProperties(A,{shouldReject:{get:()=>this._rejectOnCancel,set:e=>{this._rejectOnCancel=e}}}),e(e=>{this._isPending=!1,t(e)},e=>{this._isPending=!1,r(e)},A)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(this._isPending&&!this._isCanceled){if(this._cancelHandlers.length>0)try{for(const e of this._cancelHandlers)e()}catch(e){this._reject(e)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new t(e))}}get isCanceled(){return this._isCanceled}}Object.setPrototypeOf(r.prototype,Promise.prototype),e.exports=r,e.exports.CancelError=t},61578:(e,t,r)=>{"use strict";const A=r(60550),n=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=[];let r=0;const n=()=>{r--,t.length>0&&t.shift()()},o=(e,t,...o)=>{r++;const i=A(e,...o);t(i),i.then(n,n)},i=(A,...n)=>new Promise(i=>((A,n,...i)=>{rr},pendingCount:{get:()=>t.length}}),i};e.exports=n,e.exports.default=n},60550:e=>{"use strict";e.exports=(e,...t)=>new Promise(r=>{r(e(...t))})},37127:e=>{"use strict";const t=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};e.exports=t,e.exports.default=t},5763:(e,t,r)=>{"use strict";const{promisify:A}=r(31669),n=r(35747);async function o(e,t,r){if("string"!=typeof r)throw new TypeError("Expected a string, got "+typeof r);try{return(await A(n[e])(r))[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}function i(e,t,r){if("string"!=typeof r)throw new TypeError("Expected a string, got "+typeof r);try{return n[e](r)[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}t.isFile=o.bind(null,"stat","isFile"),t.isDirectory=o.bind(null,"stat","isDirectory"),t.isSymlink=o.bind(null,"lstat","isSymbolicLink"),t.isFileSync=i.bind(null,"statSync","isFile"),t.isDirectorySync=i.bind(null,"statSync","isDirectory"),t.isSymlinkSync=i.bind(null,"lstatSync","isSymbolicLink")},54722:(e,t,r)=>{"use strict";e.exports=r(18828)},71086:(e,t,r)=>{"use strict";const A=r(85622),n={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},o={...n,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{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"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:A.sep,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?o:n}},47974:(e,t,r)=>{"use strict";const A=r(71086),n=r(3598),{MAX_LENGTH:o,POSIX_REGEX_SOURCE:i,REGEX_NON_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_BACKREF:a,REPLACEMENTS:c}=A,g=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map(e=>n.escapeRegex(e)).join("..")}return r},l=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,u=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=c[e]||e;const r={...t},u="number"==typeof r.maxLength?Math.min(o,r.maxLength):o;let h=e.length;if(h>u)throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${u}`);const p={type:"bos",value:"",output:r.prepend||""},d=[p],C=r.capture?"":"?:",f=n.isWindows(t),I=A.globChars(f),E=A.extglobChars(I),{DOT_LITERAL:B,PLUS_LITERAL:y,SLASH_LITERAL:m,ONE_CHAR:w,DOTS_SLASH:Q,NO_DOT:D,NO_DOT_SLASH:b,NO_DOTS_SLASH:v,QMARK:S,QMARK_NO_DOT:k,STAR:K,START_ANCHOR:F}=I,N=e=>`(${C}(?:(?!${F}${e.dot?Q:B}).)*?)`,M=r.dot?"":D,R=r.dot?S:k;let x=!0===r.bash?N(r):K;r.capture&&(x=`(${x})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const L={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:d};e=n.removePrefix(e,L),h=e.length;const P=[],O=[],U=[];let T,j=p;const Y=()=>L.index===h-1,G=L.peek=(t=1)=>e[L.index+t],H=L.advance=()=>e[++L.index],J=()=>e.slice(L.index+1),q=(e="",t=0)=>{L.consumed+=e,L.index+=t},z=e=>{L.output+=null!=e.output?e.output:e.value,q(e.value)},W=()=>{let e=1;for(;"!"===G()&&("("!==G(2)||"?"===G(3));)H(),L.start++,e++;return e%2!=0&&(L.negated=!0,L.start++,!0)},X=e=>{L[e]++,U.push(e)},V=e=>{L[e]--,U.pop()},_=e=>{if("globstar"===j.type){const t=L.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||P.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(L.output=L.output.slice(0,-j.output.length),j.type="star",j.value="*",j.output=x,L.output+=j.output)}if(P.length&&"paren"!==e.type&&!E[e.value]&&(P[P.length-1].inner+=e.value),(e.value||e.output)&&z(e),j&&"text"===j.type&&"text"===e.type)return j.value+=e.value,void(j.output=(j.output||"")+e.value);e.prev=j,d.push(e),j=e},Z=(e,t)=>{const A={...E[t],conditions:1,inner:""};A.prev=j,A.parens=L.parens,A.output=L.output;const n=(r.capture?"(":"")+A.open;X("parens"),_({type:e,value:t,output:L.output?"":w}),_({type:"paren",extglob:!0,value:H(),output:n}),P.push(A)},$=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let A=x;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(A=N(r)),(A!==x||Y()||/^\)+$/.test(J()))&&(t=e.close=")$))"+A),"bos"===e.prev.type&&Y()&&(L.negatedExtglob=!0)}_({type:"paren",extglob:!0,value:T,output:t}),V("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let A=!1,o=e.replace(a,(e,t,r,n,o,i)=>"\\"===n?(A=!0,e):"?"===n?t?t+n+(o?S.repeat(o.length):""):0===i?R+(o?S.repeat(o.length):""):S.repeat(r.length):"."===n?B.repeat(r.length):"*"===n?t?t+n+(o?x:""):x:t?e:"\\"+e);return!0===A&&(o=!0===r.unescape?o.replace(/\\/g,""):o.replace(/\\+/g,e=>e.length%2==0?"\\\\":e?"\\":"")),o===e&&!0===r.contains?(L.output=e,L):(L.output=n.wrapOutput(o,L,t),L)}for(;!Y();){if(T=H(),"\0"===T)continue;if("\\"===T){const e=G();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){T+="\\",_({type:"text",value:T});continue}const t=/^\\+/.exec(J());let A=0;if(t&&t[0].length>2&&(A=t[0].length,L.index+=A,A%2!=0&&(T+="\\")),!0===r.unescape?T=H()||"":T+=H()||"",0===L.brackets){_({type:"text",value:T});continue}}if(L.brackets>0&&("]"!==T||"["===j.value||"[^"===j.value)){if(!1!==r.posix&&":"===T){const e=j.value.slice(1);if(e.includes("[")&&(j.posix=!0,e.includes(":"))){const e=j.value.lastIndexOf("["),t=j.value.slice(0,e),r=j.value.slice(e+2),A=i[r];if(A){j.value=t+A,L.backtrack=!0,H(),p.output||1!==d.indexOf(j)||(p.output=w);continue}}}("["===T&&":"!==G()||"-"===T&&"]"===G())&&(T="\\"+T),"]"!==T||"["!==j.value&&"[^"!==j.value||(T="\\"+T),!0===r.posix&&"!"===T&&"["===j.value&&(T="^"),j.value+=T,z({value:T});continue}if(1===L.quotes&&'"'!==T){T=n.escapeRegex(T),j.value+=T,z({value:T});continue}if('"'===T){L.quotes=1===L.quotes?0:1,!0===r.keepQuotes&&_({type:"text",value:T});continue}if("("===T){X("parens"),_({type:"paren",value:T});continue}if(")"===T){if(0===L.parens&&!0===r.strictBrackets)throw new SyntaxError(l("opening","("));const e=P[P.length-1];if(e&&L.parens===e.parens+1){$(P.pop());continue}_({type:"paren",value:T,output:L.parens?")":"\\)"}),V("parens");continue}if("["===T){if(!0!==r.nobracket&&J().includes("]"))X("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(l("closing","]"));T="\\"+T}_({type:"bracket",value:T});continue}if("]"===T){if(!0===r.nobracket||j&&"bracket"===j.type&&1===j.value.length){_({type:"text",value:T,output:"\\"+T});continue}if(0===L.brackets){if(!0===r.strictBrackets)throw new SyntaxError(l("opening","["));_({type:"text",value:T,output:"\\"+T});continue}V("brackets");const e=j.value.slice(1);if(!0===j.posix||"^"!==e[0]||e.includes("/")||(T="/"+T),j.value+=T,z({value:T}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(j.value);if(L.output=L.output.slice(0,-j.value.length),!0===r.literalBrackets){L.output+=t,j.value=t;continue}j.value=`(${C}${t}|${j.value})`,L.output+=j.value;continue}if("{"===T&&!0!==r.nobrace){X("braces");const e={type:"brace",value:T,output:"(",outputIndex:L.output.length,tokensIndex:L.tokens.length};O.push(e),_(e);continue}if("}"===T){const e=O[O.length-1];if(!0===r.nobrace||!e){_({type:"text",value:T,output:T});continue}let t=")";if(!0===e.dots){const e=d.slice(),A=[];for(let t=e.length-1;t>=0&&(d.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&A.unshift(e[t].value);t=g(A,r),L.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=L.output.slice(0,e.outputIndex),A=L.tokens.slice(e.tokensIndex);e.value=e.output="\\{",T=t="\\}",L.output=r;for(const e of A)L.output+=e.output||e.value}_({type:"brace",value:T,output:t}),V("braces"),O.pop();continue}if("|"===T){P.length>0&&P[P.length-1].conditions++,_({type:"text",value:T});continue}if(","===T){let e=T;const t=O[O.length-1];t&&"braces"===U[U.length-1]&&(t.comma=!0,e="|"),_({type:"comma",value:T,output:e});continue}if("/"===T){if("dot"===j.type&&L.index===L.start+1){L.start=L.index+1,L.consumed="",L.output="",d.pop(),j=p;continue}_({type:"slash",value:T,output:m});continue}if("."===T){if(L.braces>0&&"dot"===j.type){"."===j.value&&(j.output=B);const e=O[O.length-1];j.type="dots",j.output+=T,j.value+=T,e.dots=!0;continue}if(L.braces+L.parens===0&&"bos"!==j.type&&"slash"!==j.type){_({type:"text",value:T,output:B});continue}_({type:"dot",value:T,output:B});continue}if("?"===T){if(!(j&&"("===j.value)&&!0!==r.noextglob&&"("===G()&&"?"!==G(2)){Z("qmark",T);continue}if(j&&"paren"===j.type){const e=G();let t=T;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===j.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(J()))&&(t="\\"+T),_({type:"text",value:T,output:t});continue}if(!0!==r.dot&&("slash"===j.type||"bos"===j.type)){_({type:"qmark",value:T,output:k});continue}_({type:"qmark",value:T,output:S});continue}if("!"===T){if(!0!==r.noextglob&&"("===G()&&("?"!==G(2)||!/[!=<:]/.test(G(3)))){Z("negate",T);continue}if(!0!==r.nonegate&&0===L.index){W();continue}}if("+"===T){if(!0!==r.noextglob&&"("===G()&&"?"!==G(2)){Z("plus",T);continue}if(j&&"("===j.value||!1===r.regex){_({type:"plus",value:T,output:y});continue}if(j&&("bracket"===j.type||"paren"===j.type||"brace"===j.type)||L.parens>0){_({type:"plus",value:T});continue}_({type:"plus",value:y});continue}if("@"===T){if(!0!==r.noextglob&&"("===G()&&"?"!==G(2)){_({type:"at",extglob:!0,value:T,output:""});continue}_({type:"text",value:T});continue}if("*"!==T){"$"!==T&&"^"!==T||(T="\\"+T);const e=s.exec(J());e&&(T+=e[0],L.index+=e[0].length),_({type:"text",value:T});continue}if(j&&("globstar"===j.type||!0===j.star)){j.type="star",j.star=!0,j.value+=T,j.output=x,L.backtrack=!0,L.globstar=!0,q(T);continue}let t=J();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Z("star",T);continue}if("star"===j.type){if(!0===r.noglobstar){q(T);continue}const A=j.prev,n=A.prev,o="slash"===A.type||"bos"===A.type,i=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!o||t[0]&&"/"!==t[0])){_({type:"star",value:T,output:""});continue}const s=L.braces>0&&("comma"===A.type||"brace"===A.type),a=P.length&&("pipe"===A.type||"paren"===A.type);if(!o&&"paren"!==A.type&&!s&&!a){_({type:"star",value:T,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[L.index+4];if(r&&"/"!==r)break;t=t.slice(3),q("/**",3)}if("bos"===A.type&&Y()){j.type="globstar",j.value+=T,j.output=N(r),L.output=j.output,L.globstar=!0,q(T);continue}if("slash"===A.type&&"bos"!==A.prev.type&&!i&&Y()){L.output=L.output.slice(0,-(A.output+j.output).length),A.output="(?:"+A.output,j.type="globstar",j.output=N(r)+(r.strictSlashes?")":"|$)"),j.value+=T,L.globstar=!0,L.output+=A.output+j.output,q(T);continue}if("slash"===A.type&&"bos"!==A.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";L.output=L.output.slice(0,-(A.output+j.output).length),A.output="(?:"+A.output,j.type="globstar",j.output=`${N(r)}${m}|${m}${e})`,j.value+=T,L.output+=A.output+j.output,L.globstar=!0,q(T+H()),_({type:"slash",value:"/",output:""});continue}if("bos"===A.type&&"/"===t[0]){j.type="globstar",j.value+=T,j.output=`(?:^|${m}|${N(r)}${m})`,L.output=j.output,L.globstar=!0,q(T+H()),_({type:"slash",value:"/",output:""});continue}L.output=L.output.slice(0,-j.output.length),j.type="globstar",j.output=N(r),j.value+=T,L.output+=j.output,L.globstar=!0,q(T);continue}const A={type:"star",value:T,output:x};!0!==r.bash?!j||"bracket"!==j.type&&"paren"!==j.type||!0!==r.regex?(L.index!==L.start&&"slash"!==j.type&&"dot"!==j.type||("dot"===j.type?(L.output+=b,j.output+=b):!0===r.dot?(L.output+=v,j.output+=v):(L.output+=M,j.output+=M),"*"!==G()&&(L.output+=w,j.output+=w)),_(A)):(A.output=T,_(A)):(A.output=".*?","bos"!==j.type&&"slash"!==j.type||(A.output=M+A.output),_(A))}for(;L.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing","]"));L.output=n.escapeLast(L.output,"["),V("brackets")}for(;L.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing",")"));L.output=n.escapeLast(L.output,"("),V("parens")}for(;L.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing","}"));L.output=n.escapeLast(L.output,"{"),V("braces")}if(!0===r.strictSlashes||"star"!==j.type&&"bracket"!==j.type||_({type:"maybe_slash",value:"",output:m+"?"}),!0===L.backtrack){L.output="";for(const e of L.tokens)L.output+=null!=e.output?e.output:e.value,e.suffix&&(L.output+=e.suffix)}return L};u.fastpaths=(e,t)=>{const r={...t},i="number"==typeof r.maxLength?Math.min(o,r.maxLength):o,s=e.length;if(s>i)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${i}`);e=c[e]||e;const a=n.isWindows(t),{DOT_LITERAL:g,SLASH_LITERAL:l,ONE_CHAR:u,DOTS_SLASH:h,NO_DOT:p,NO_DOTS:d,NO_DOTS_SLASH:C,STAR:f,START_ANCHOR:I}=A.globChars(a),E=r.dot?d:p,B=r.dot?C:p,y=r.capture?"":"?:";let m=!0===r.bash?".*?":f;r.capture&&(m=`(${m})`);const w=e=>!0===e.noglobstar?m:`(${y}(?:(?!${I}${e.dot?h:g}).)*?)`,Q=e=>{switch(e){case"*":return`${E}${u}${m}`;case".*":return`${g}${u}${m}`;case"*.*":return`${E}${m}${g}${u}${m}`;case"*/*":return`${E}${m}${l}${u}${B}${m}`;case"**":return E+w(r);case"**/*":return`(?:${E}${w(r)}${l})?${B}${u}${m}`;case"**/*.*":return`(?:${E}${w(r)}${l})?${B}${m}${g}${u}${m}`;case"**/.*":return`(?:${E}${w(r)}${l})?${g}${u}${m}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=Q(t[1]);if(!r)return;return r+g+t[2]}}},D=n.removePrefix(e,{negated:!1,prefix:""});let b=Q(D);return b&&!0!==r.strictSlashes&&(b+=l+"?"),b},e.exports=u},18828:(e,t,r)=>{"use strict";const A=r(85622),n=r(95321),o=r(47974),i=r(3598),s=r(71086),a=(e,t,r=!1)=>{if(Array.isArray(e)){const A=e.map(e=>a(e,t,r));return e=>{for(const t of A){const r=t(e);if(r)return r}return!1}}const A=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!A)throw new TypeError("Expected pattern to be a non-empty string");const o=t||{},s=i.isWindows(t),c=A?a.compileRe(e,t):a.makeRe(e,t,!1,!0),g=c.state;delete c.state;let l=()=>!1;if(o.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};l=a(o.ignore,e,r)}const u=(r,A=!1)=>{const{isMatch:n,match:i,output:u}=a.test(r,c,t,{glob:e,posix:s}),h={glob:e,state:g,regex:c,posix:s,input:r,output:u,match:i,isMatch:n};return"function"==typeof o.onResult&&o.onResult(h),!1===n?(h.isMatch=!1,!!A&&h):l(r)?("function"==typeof o.onIgnore&&o.onIgnore(h),h.isMatch=!1,!!A&&h):("function"==typeof o.onMatch&&o.onMatch(h),!A||h)};return r&&(u.state=g),u};a.test=(e,t,r,{glob:A,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},s=o.format||(n?i.toPosixSlashes:null);let c=e===A,g=c&&s?s(e):e;return!1===c&&(g=s?s(e):e,c=g===A),!1!==c&&!0!==o.capture||(c=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(g)),{isMatch:Boolean(c),match:c,output:g}},a.matchBase=(e,t,r,n=i.isWindows(r))=>(t instanceof RegExp?t:a.makeRe(t,r)).test(A.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map(e=>a.parse(e,t)):o(e,{...t,fastpaths:!1}),a.scan=(e,t)=>n(e,t),a.compileRe=(e,t,r=!1,A=!1)=>{if(!0===r)return e.output;const n=t||{},o=n.contains?"":"^",i=n.contains?"":"$";let s=`${o}(?:${e.output})${i}`;e&&!0===e.negated&&(s=`^(?!${s}).*$`);const c=a.toRegex(s,t);return!0===A&&(c.state=e),c},a.makeRe=(e,t,r=!1,A=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const n=t||{};let i,s={negated:!1,fastpaths:!0},c="";return e.startsWith("./")&&(e=e.slice(2),c=s.prefix="./"),!1===n.fastpaths||"."!==e[0]&&"*"!==e[0]||(i=o.fastpaths(e,t)),void 0===i?(s=o(e,t),s.prefix=c+(s.prefix||"")):s.output=i,a.compileRe(s,t,r,A)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=s,e.exports=a},95321:(e,t,r)=>{"use strict";const A=r(3598),{CHAR_ASTERISK:n,CHAR_AT:o,CHAR_BACKWARD_SLASH:i,CHAR_COMMA:s,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:g,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:u,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_PLUS:p,CHAR_QUESTION_MARK:d,CHAR_RIGHT_CURLY_BRACE:C,CHAR_RIGHT_PARENTHESES:f,CHAR_RIGHT_SQUARE_BRACKET:I}=r(71086),E=e=>e===g||e===i,B=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},y=e.length-1,m=!0===r.parts||!0===r.scanToEnd,w=[],Q=[],D=[];let b,v,S=e,k=-1,K=0,F=0,N=!1,M=!1,R=!1,x=!1,L=!1,P=!1,O=!1,U=!1,T=!1,j=0,Y={value:"",depth:0,isGlob:!1};const G=()=>k>=y,H=()=>(b=v,S.charCodeAt(++k));for(;k0&&(q=S.slice(0,K),S=S.slice(K),F-=K),J&&!0===R&&F>0?(J=S.slice(0,F),z=S.slice(F)):!0===R?(J="",z=S):J=S,J&&""!==J&&"/"!==J&&J!==S&&E(J.charCodeAt(J.length-1))&&(J=J.slice(0,-1)),!0===r.unescape&&(z&&(z=A.removeBackslashes(z)),J&&!0===O&&(J=A.removeBackslashes(J)));const W={prefix:q,input:e,start:K,base:J,glob:z,isBrace:N,isBracket:M,isGlob:R,isExtglob:x,isGlobstar:L,negated:U};if(!0===r.tokens&&(W.maxDepth=0,E(v)||Q.push(Y),W.tokens=Q),!0===r.parts||!0===r.tokens){let t;for(let A=0;A{"use strict";const A=r(85622),n="win32"===process.platform,{REGEX_BACKSLASH:o,REGEX_REMOVE_BACKSLASH:i,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:a}=r(71086);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>s.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(a,"\\$1"),t.toPosixSlashes=e=>e.replace(o,"/"),t.removeBackslashes=e=>e.replace(i,e=>"\\"===e?"":e),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.isWindows=e=>e&&"boolean"==typeof e.windows?e.windows:!0===n||"\\"===A.sep,t.escapeLast=(e,r,A)=>{const n=e.lastIndexOf(r,A);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let A=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(A=`(?:^(?!${A}).*$)`),A}},79588:e=>{"use strict";function t(e){this._maxSize=e,this.clear()}t.prototype.clear=function(){this._size=0,this._values={}},t.prototype.get=function(e){return this._values[e]},t.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),this._values.hasOwnProperty(e)||this._size++,this._values[e]=t};var r=/[^.^\]^[]+|(?=\[\]|\.\.)/g,A=/^\d+$/,n=/^\d/,o=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,i=/^\s*(['"]?)(.*?)(\1)\s*$/,s=!1,a=new t(512),c=new t(512),g=new t(512);try{new Function("")}catch(e){s=!0}function l(e){return a.get(e)||a.set(e,u(e).map((function(e){return e.replace(i,"$2")})))}function u(e){return e.match(r)}function h(e,t,r){return"string"==typeof t&&(r=t,t=!1),r=r||"data",(e=e||"")&&"["!==e.charAt(0)&&(e="."+e),t?function(e,t){var r,A=t,n=u(e);return p(n,(function(e,t,n,o,i){r=o===i.length-1,A+=(e=t||n?"["+e+"]":"."+e)+(r?")":" || {})")})),new Array(n.length+1).join("(")+A}(e,r):r+e}function p(e,t,r){var A,n,o,i,s=e.length;for(n=0;n{var A=r(91162),n=r(97681),o=r(35747),i=function(){},s=/^v?\.0/.test(process.version),a=function(e){return"function"==typeof e},c=function(e,t,r,c){c=A(c);var g=!1;e.on("close",(function(){g=!0})),n(e,{readable:t,writable:r},(function(e){if(e)return c(e);g=!0,c()}));var l=!1;return function(t){if(!g&&!l)return l=!0,function(e){return!!s&&(!!o&&((e instanceof(o.ReadStream||i)||e instanceof(o.WriteStream||i))&&a(e.close)))}(e)?e.close(i):function(e){return e.setHeader&&a(e.abort)}(e)?e.abort():a(e.destroy)?e.destroy():void c(t||new Error("stream was destroyed"))}},g=function(e){e()},l=function(e,t){return e.pipe(t)};e.exports=function(){var e,t=Array.prototype.slice.call(arguments),r=a(t[t.length-1]||i)&&t.pop()||i;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var A=t.map((function(n,o){var i=o0,(function(t){e||(e=t),t&&A.forEach(g),i||(A.forEach(g),r(e))}))}));return t.reduce(l)}},49601:e=>{"use strict";class t{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,"function"==typeof this.onEviction)for(const[e,t]of this.oldCache.entries())this.onEviction(e,t);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){const t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){return this.cache.has(e)?this.cache.get(e):this.oldCache.has(e)?this.oldCache.get(e):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache)yield e;for(const e of this.oldCache){const[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}}e.exports=t},20663:e=>{"use strict";const t={};function r(e,r,A){A||(A=Error);class n extends A{constructor(e,t,A){super(function(e,t,A){return"string"==typeof r?r:r(e,t,A)}(e,t,A))}}n.prototype.name=A.name,n.prototype.code=e,t[e]=n}function A(e,t){if(Array.isArray(e)){const r=e.length;return e=e.map(e=>String(e)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:2===r?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}r("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(e,t,r){let n;var o,i;let s;if("string"==typeof t&&(o="not ",t.substr(!i||i<0?0:+i,o.length)===o)?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s=`The ${e} ${n} ${A(t,"type")}`;else{s=`The "${e}" ${function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument"} ${n} ${A(t,"type")}`}return s+=". Received type "+typeof r,s}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},39138:e=>{"use strict";var t=new Set;e.exports.emitExperimentalWarning=process.emitWarning?function(e){if(!t.has(e)){var r=e+" is an experimental feature. This feature could change at any time";t.add(e),process.emitWarning(r,"ExperimentalWarning")}}:function(){}},72434:(e,t,r)=>{"use strict";var A=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var n=r(58020),o=r(6729);r(85870)(c,n);for(var i=A(o.prototype),s=0;s{"use strict";e.exports=n;var A=r(54801);function n(e){if(!(this instanceof n))return new n(e);A.call(this,e)}r(85870)(n,A),n.prototype._transform=function(e,t,r){r(null,e)}},58020:(e,t,r)=>{"use strict";var A;e.exports=w,w.ReadableState=m;r(28614).EventEmitter;var n=function(e,t){return e.listeners(t).length},o=r(49298),i=r(64293).Buffer,s=global.Uint8Array||function(){};var a,c=r(31669);a=c&&c.debuglog?c.debuglog("stream"):function(){};var g,l,u=r(43117),h=r(32340),p=r(77433).getHighWaterMark,d=r(20663).q,C=d.ERR_INVALID_ARG_TYPE,f=d.ERR_STREAM_PUSH_AFTER_EOF,I=d.ERR_METHOD_NOT_IMPLEMENTED,E=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,B=r(39138).emitExperimentalWarning;r(85870)(w,o);var y=["error","close","destroy","pause","resume"];function m(e,t,n){A=A||r(72434),e=e||{},"boolean"!=typeof n&&(n=t instanceof A),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,"readableHighWaterMark",n),this.buffer=new u,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(g||(g=r(69538).s),this.decoder=new g(e.encoding),this.encoding=e.encoding)}function w(e){if(A=A||r(72434),!(this instanceof w))return new w(e);var t=this instanceof A;this._readableState=new m(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function Q(e,t,r,A,n){a("readableAddChunk",t);var o,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?v(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,S(e)))}(e,c);else if(n||(o=function(e,t){var r;A=t,i.isBuffer(A)||A instanceof s||"string"==typeof t||void 0===t||e.objectMode||(r=new C("chunk",["string","Buffer","Uint8Array"],t));var A;return r}(c,t)),o)e.emit("error",o);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===i.prototype||(t=function(e){return i.from(e)}(t)),A)c.endEmitted?e.emit("error",new E):D(e,c,t,!0);else if(c.ended)e.emit("error",new f);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!r?(t=c.decoder.write(t),c.objectMode||0!==t.length?D(e,c,t,!1):k(e,c)):D(e,c,t,!1)}else A||(c.reading=!1,k(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(a("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(S,e))}function S(e){var t=e._readableState;a("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,R(e)}function k(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(K,e,t))}function K(e,t){for(var r=t.length;!t.reading&&!t.ended&&t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){a("readable nexttick read 0"),e.read(0)}function M(e,t){a("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),R(e),t.flowing&&!t.reading&&e.read(0)}function R(e){var t=e._readableState;for(a("flow",t.flowing);t.flowing&&null!==e.read(););}function x(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;a("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(P,t,e))}function P(e,t){a("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function O(e,t){for(var r=0,A=e.length;r=t.highWaterMark:t.length>0)||t.ended))return a("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):v(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&L(this),null;var A,n=t.needReadable;return a("need readable",n),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==A&&this.emit("data",A),A},w.prototype._read=function(e){this.emit("error",new I("_read()"))},w.prototype.pipe=function(e,t){var r=this,A=this._readableState;switch(A.pipesCount){case 0:A.pipes=e;break;case 1:A.pipes=[A.pipes,e];break;default:A.pipes.push(e)}A.pipesCount+=1,a("pipe count=%d opts=%j",A.pipesCount,t);var o=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?s:d;function i(t,n){a("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,a("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",s),r.removeListener("end",d),r.removeListener("data",l),g=!0,!A.awaitDrain||e._writableState&&!e._writableState.needDrain||c())}function s(){a("onend"),e.end()}A.endEmitted?process.nextTick(o):r.once("end",o),e.on("unpipe",i);var c=function(e){return function(){var t=e._readableState;a("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,R(e))}}(r);e.on("drain",c);var g=!1;function l(t){a("ondata");var n=e.write(t);a("dest.write",n),!1===n&&((1===A.pipesCount&&A.pipes===e||A.pipesCount>1&&-1!==O(A.pipes,e))&&!g&&(a("false write response, pause",A.awaitDrain),A.awaitDrain++),r.pause())}function u(t){a("onerror",t),d(),e.removeListener("error",u),0===n(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),d()}function p(){a("onfinish"),e.removeListener("close",h),d()}function d(){a("unpipe"),r.unpipe(e)}return r.on("data",l),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",u),e.once("close",h),e.once("finish",p),e.emit("pipe",r),A.flowing||(a("pipe resume"),r.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var A=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==A.flowing&&this.resume()):"readable"===e&&(A.endEmitted||A.readableListening||(A.readableListening=A.needReadable=!0,A.flowing=!1,A.emittedReadable=!1,a("on readable",A.length,A.reading),A.length?v(this):A.reading||process.nextTick(N,this))),r},w.prototype.addListener=w.prototype.on,w.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(F,this),r},w.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(F,this),t},w.prototype.resume=function(){var e=this._readableState;return e.flowing||(a("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(M,e,t))}(this,e)),e.paused=!1,this},w.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},w.prototype.wrap=function(e){var t=this,r=this._readableState,A=!1;for(var n in e.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(n){(a("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(A=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var o=0;o{"use strict";e.exports=g;var A=r(20663).q,n=A.ERR_METHOD_NOT_IMPLEMENTED,o=A.ERR_MULTIPLE_CALLBACK,i=A.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=A.ERR_TRANSFORM_WITH_LENGTH_0,a=r(72434);function c(e,t){var r=this._transformState;r.transforming=!1;var A=r.writecb;if(null===A)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),A(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";function A(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var A=e.entry;e.entry=null;for(;A;){var n=A.callback;t.pendingcb--,n(r),A=A.next}t.corkedRequestsFree.next=e}(t,e)}}var n;e.exports=w,w.WritableState=m;var o={deprecate:r(73212)},i=r(49298),s=r(64293).Buffer,a=global.Uint8Array||function(){};var c,g=r(32340),l=r(77433).getHighWaterMark,u=r(20663).q,h=u.ERR_INVALID_ARG_TYPE,p=u.ERR_METHOD_NOT_IMPLEMENTED,d=u.ERR_MULTIPLE_CALLBACK,C=u.ERR_STREAM_CANNOT_PIPE,f=u.ERR_STREAM_DESTROYED,I=u.ERR_STREAM_NULL_VALUES,E=u.ERR_STREAM_WRITE_AFTER_END,B=u.ERR_UNKNOWN_ENCODING;function y(){}function m(e,t,o){n=n||r(72434),e=e||{},"boolean"!=typeof o&&(o=t instanceof n),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l(this,e,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,A=r.sync,n=r.writecb;if("function"!=typeof n)throw new d;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,A,n){--t.pendingcb,r?(process.nextTick(n,A),process.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",A)):(n(A),e._writableState.errorEmitted=!0,e.emit("error",A),k(e,t))}(e,r,A,t,n);else{var o=v(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||b(e,r),A?process.nextTick(D,e,r,o,n):D(e,r,o,n)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.bufferedRequestCount=0,this.corkedRequestsFree=new A(this)}function w(e){var t=this instanceof(n=n||r(72434));if(!t&&!c.call(w,this))return new w(e);this._writableState=new m(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),i.call(this)}function Q(e,t,r,A,n,o,i){t.writelen=A,t.writecb=i,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new f("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function D(e,t,r,A){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,A(),k(e,t)}function b(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,o=new Array(n),i=t.corkedRequestsFree;i.entry=r;for(var s=0,a=!0;r;)o[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;o.allBuffers=a,Q(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new A(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,g=r.encoding,l=r.callback;if(Q(e,t,!1,t.objectMode?1:c.length,c,g,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function v(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var r=v(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(S,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}r(85870)(w,i),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(w,Symbol.hasInstance,{value:function(e){return!!c.call(this,e)||this===w&&(e&&e._writableState instanceof m)}})):c=function(e){return e instanceof this},w.prototype.pipe=function(){this.emit("error",new C)},w.prototype.write=function(e,t,r){var A,n=this._writableState,o=!1,i=!n.objectMode&&(A=e,s.isBuffer(A)||A instanceof a);return i&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof t&&(r=t,t=null),i?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=y),n.ending?function(e,t){var r=new E;e.emit("error",r),process.nextTick(t,r)}(this,r):(i||function(e,t,r,A){var n;return null===r?n=new I:"string"==typeof r||t.objectMode||(n=new h("chunk",["string","Buffer"],r)),!n||(e.emit("error",n),process.nextTick(A,n),!1)}(this,n,e,r))&&(n.pendingcb++,o=function(e,t,r,A,n,o){if(!r){var i=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=s.from(t,r));return t}(t,A,n);A!==i&&(r=!0,n="buffer",A=i)}var a=t.objectMode?1:A.length;t.length+=a;var c=t.length-1))throw new B(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(w.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(w.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),w.prototype._write=function(e,t,r){r(new p("_write()"))},w.prototype._writev=null,w.prototype.end=function(e,t,r){var A=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),A.corked&&(A.corked=1,this.uncork()),A.ending||function(e,t,r){t.ending=!0,k(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,A,r),this},Object.defineProperty(w.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(w.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),w.prototype.destroy=g.destroy,w.prototype._undestroy=g.undestroy,w.prototype._destroy=function(e,t){t(e)}},4245:(e,t,r)=>{"use strict";var A;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(91327),i=Symbol("lastResolve"),s=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),g=Symbol("lastPromise"),l=Symbol("handlePromise"),u=Symbol("stream");function h(e,t){return{value:e,done:t}}function p(e){var t=e[i];if(null!==t){var r=e[u].read();null!==r&&(e[g]=null,e[i]=null,e[s]=null,t(h(r,!1)))}}function d(e){process.nextTick(p,e)}var C=Object.getPrototypeOf((function(){})),f=Object.setPrototypeOf((n(A={get stream(){return this[u]},next:function(){var e=this,t=this[a];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(h(null,!0));if(this[u].destroyed)return new Promise((function(t,r){process.nextTick((function(){e[a]?r(e[a]):t(h(null,!0))}))}));var r,A=this[g];if(A)r=new Promise(function(e,t){return function(r,A){e.then((function(){t[l](r,A)}),A)}}(A,this));else{var n=this[u].read();if(null!==n)return Promise.resolve(h(n,!1));r=new Promise(this[l])}return this[g]=r,r}},Symbol.asyncIterator,(function(){return this})),n(A,"return",(function(){var e=this;return new Promise((function(t,r){e[u].destroy(null,(function(e){e?r(e):t(h(null,!0))}))}))})),A),C);e.exports=function(e){var t,r=Object.create(f,(n(t={},u,{value:e,writable:!0}),n(t,i,{value:null,writable:!0}),n(t,s,{value:null,writable:!0}),n(t,a,{value:null,writable:!0}),n(t,c,{value:e._readableState.endEmitted,writable:!0}),n(t,g,{value:null,writable:!0}),n(t,l,{value:function(e,t){var A=r[u].read();A?(r[g]=null,r[i]=null,r[s]=null,e(h(A,!1))):(r[i]=e,r[s]=t)},writable:!0}),t));return o(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[s];return null!==t&&(r[g]=null,r[i]=null,r[s]=null,t(e)),void(r[a]=e)}var A=r[i];null!==A&&(r[g]=null,r[i]=null,r[s]=null,A(h(null,!0))),r[c]=!0})),e.on("readable",d.bind(null,r)),r}},43117:(e,t,r)=>{"use strict";function A(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var n=r(64293).Buffer,o=r(31669).inspect,i=o&&o.custom||"inspect";e.exports=function(){function e(){this.head=null,this.tail=null,this.length=0}var t=e.prototype;return t.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},t.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},t.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},t.clear=function(){this.head=this.tail=null,this.length=0},t.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},t.concat=function(e){if(0===this.length)return n.alloc(0);for(var t,r,A,o=n.allocUnsafe(e>>>0),i=this.head,s=0;i;)t=i.data,r=o,A=s,n.prototype.copy.call(t,r,A),s+=i.data.length,i=i.next;return o},t.consume=function(e,t){var r;return en.length?n.length:e;if(o===n.length?A+=n:A+=n.slice(0,e),0===(e-=o)){o===n.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=n.slice(o));break}++r}return this.length-=r,A},t._getBuffer=function(e){var t=n.allocUnsafe(e),r=this.head,A=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var o=r.data,i=e>o.length?o.length:e;if(o.copy(t,t.length-e,0,i),0===(e-=i)){i===o.length?(++A,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=o.slice(i));break}++A}return this.length-=A,t},t[i]=function(e,t){return o(this,function(e){for(var t=1;t{"use strict";function t(e,t){A(e,t),r(e)}function r(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function A(e,t){e.emit("error",t)}e.exports={destroy:function(e,n){var o=this,i=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return i||s?(n?n(e):!e||this._writableState&&this._writableState.errorEmitted||process.nextTick(A,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!n&&e?(process.nextTick(t,o,e),o._writableState&&(o._writableState.errorEmitted=!0)):n?(process.nextTick(r,o),n(e)):process.nextTick(r,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},91327:(e,t,r)=>{"use strict";var A=r(20663).q.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(t,r,o){if("function"==typeof r)return e(t,null,r);r||(r={}),o=function(e){var t=!1;return function(r){t||(t=!0,e.call(this,r))}}(o||n);var i=t._writableState,s=t._readableState,a=r.readable||!1!==r.readable&&t.readable,c=r.writable||!1!==r.writable&&t.writable,g=function(){t.writable||l()},l=function(){c=!1,a||o.call(t)},u=function(){a=!1,c||o.call(t)},h=function(e){o.call(t,e)},p=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:o.call(t,new A)},d=function(){t.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?c&&!i&&(t.on("end",g),t.on("close",g)):(t.on("complete",l),t.on("abort",p),t.req?d():t.on("request",d)),t.on("end",u),t.on("finish",l),!1!==r.error&&t.on("error",h),t.on("close",p),function(){t.removeListener("complete",l),t.removeListener("abort",p),t.removeListener("request",d),t.req&&t.req.removeListener("finish",l),t.removeListener("end",g),t.removeListener("close",g),t.removeListener("finish",l),t.removeListener("end",u),t.removeListener("error",h),t.removeListener("close",p)}}},4939:(e,t,r)=>{"use strict";var A;var n=r(20663).q,o=n.ERR_MISSING_ARGS,i=n.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function a(e,t,n,o){o=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(o);var s=!1;e.on("close",(function(){s=!0})),void 0===A&&(A=r(91327)),A(e,{readable:t,writable:n},(function(e){if(e)return o(e);s=!0,o()}));var a=!1;return function(t){if(!s&&!a)return a=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(t||new i("pipe"))}}function c(e){e()}function g(e,t){return e.pipe(t)}function l(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r0,(function(e){A||(A=e),e&&i.forEach(c),o||(i.forEach(c),n(A))}))}));return t.reduce(g)}},77433:(e,t,r)=>{"use strict";var A=r(20663).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,n){var o=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,n,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new A(n?r:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},49298:(e,t,r)=>{e.exports=r(92413)},86897:(e,t,r)=>{var A=r(92413);"disable"===process.env.READABLE_STREAM&&A?(e.exports=A.Readable,Object.assign(e.exports,A),e.exports.Stream=A):((t=e.exports=r(58020)).Stream=A||t,t.Readable=t,t.Writable=r(6729),t.Duplex=r(72434),t.Transform=r(54801),t.PassThrough=r(52444),t.finished=r(91327),t.pipeline=r(4939))},19476:(e,t,r)=>{"use strict";const A=r(4016);e.exports=(e={})=>new Promise((t,r)=>{const n=A.connect(e,()=>{e.resolveSocket?(n.off("error",r),t({alpnProtocol:n.alpnProtocol,socket:n})):(n.destroy(),t({alpnProtocol:n.alpnProtocol}))});n.on("error",r)})},48491:(e,t,r)=>{"use strict";const A=r(92413).Readable,n=r(55737);e.exports=class extends A{constructor(e,t,r,A){if("number"!=typeof e)throw new TypeError("Argument `statusCode` should be a number");if("object"!=typeof t)throw new TypeError("Argument `headers` should be an object");if(!(r instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if("string"!=typeof A)throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=n(t),this.body=r,this.url=A}_read(){this.push(this.body),this.push(null)}}},2383:e=>{"use strict";e.exports=function(e){var t=new e,r=t;return{get:function(){var A=t;return A.next?t=A.next:(t=new e,r=t),A.next=null,A},release:function(e){r.next=e,r=e}}}},69078:e=>{e.exports=function(e,t){var r,A,n,o=!0;Array.isArray(e)?(r=[],A=e.length):(n=Object.keys(e),r={},A=n.length);function i(e){function A(){t&&t(e,r),t=null}o?process.nextTick(A):A()}function s(e,t,n){r[e]=n,(0==--A||t)&&i(t)}A?n?n.forEach((function(t){e[t]((function(e,r){s(t,e,r)}))})):e.forEach((function(e,t){e((function(e,r){s(t,e,r)}))})):i(null);o=!1}},13499:(e,t,r)=>{var A=r(64293),n=A.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function i(e,t,r){return n(e,t,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=A:(o(A,t),t.Buffer=i),o(n,i),i.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,t,r)},i.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var A=n(e);return void 0!==t?"string"==typeof r?A.fill(t,r):A.fill(t):A.fill(0),A},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return A.SlowBuffer(e)}},95584:(e,t)=>{var r;t=e.exports=l,r="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var A=Number.MAX_SAFE_INTEGER||9007199254740991,n=t.re=[],o=t.src=[],i=t.tokens={},s=0;function a(e){i[e]=s++}a("NUMERICIDENTIFIER"),o[i.NUMERICIDENTIFIER]="0|[1-9]\\d*",a("NUMERICIDENTIFIERLOOSE"),o[i.NUMERICIDENTIFIERLOOSE]="[0-9]+",a("NONNUMERICIDENTIFIER"),o[i.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",a("MAINVERSION"),o[i.MAINVERSION]="("+o[i.NUMERICIDENTIFIER]+")\\.("+o[i.NUMERICIDENTIFIER]+")\\.("+o[i.NUMERICIDENTIFIER]+")",a("MAINVERSIONLOOSE"),o[i.MAINVERSIONLOOSE]="("+o[i.NUMERICIDENTIFIERLOOSE]+")\\.("+o[i.NUMERICIDENTIFIERLOOSE]+")\\.("+o[i.NUMERICIDENTIFIERLOOSE]+")",a("PRERELEASEIDENTIFIER"),o[i.PRERELEASEIDENTIFIER]="(?:"+o[i.NUMERICIDENTIFIER]+"|"+o[i.NONNUMERICIDENTIFIER]+")",a("PRERELEASEIDENTIFIERLOOSE"),o[i.PRERELEASEIDENTIFIERLOOSE]="(?:"+o[i.NUMERICIDENTIFIERLOOSE]+"|"+o[i.NONNUMERICIDENTIFIER]+")",a("PRERELEASE"),o[i.PRERELEASE]="(?:-("+o[i.PRERELEASEIDENTIFIER]+"(?:\\."+o[i.PRERELEASEIDENTIFIER]+")*))",a("PRERELEASELOOSE"),o[i.PRERELEASELOOSE]="(?:-?("+o[i.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+o[i.PRERELEASEIDENTIFIERLOOSE]+")*))",a("BUILDIDENTIFIER"),o[i.BUILDIDENTIFIER]="[0-9A-Za-z-]+",a("BUILD"),o[i.BUILD]="(?:\\+("+o[i.BUILDIDENTIFIER]+"(?:\\."+o[i.BUILDIDENTIFIER]+")*))",a("FULL"),a("FULLPLAIN"),o[i.FULLPLAIN]="v?"+o[i.MAINVERSION]+o[i.PRERELEASE]+"?"+o[i.BUILD]+"?",o[i.FULL]="^"+o[i.FULLPLAIN]+"$",a("LOOSEPLAIN"),o[i.LOOSEPLAIN]="[v=\\s]*"+o[i.MAINVERSIONLOOSE]+o[i.PRERELEASELOOSE]+"?"+o[i.BUILD]+"?",a("LOOSE"),o[i.LOOSE]="^"+o[i.LOOSEPLAIN]+"$",a("GTLT"),o[i.GTLT]="((?:<|>)?=?)",a("XRANGEIDENTIFIERLOOSE"),o[i.XRANGEIDENTIFIERLOOSE]=o[i.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",a("XRANGEIDENTIFIER"),o[i.XRANGEIDENTIFIER]=o[i.NUMERICIDENTIFIER]+"|x|X|\\*",a("XRANGEPLAIN"),o[i.XRANGEPLAIN]="[v=\\s]*("+o[i.XRANGEIDENTIFIER]+")(?:\\.("+o[i.XRANGEIDENTIFIER]+")(?:\\.("+o[i.XRANGEIDENTIFIER]+")(?:"+o[i.PRERELEASE]+")?"+o[i.BUILD]+"?)?)?",a("XRANGEPLAINLOOSE"),o[i.XRANGEPLAINLOOSE]="[v=\\s]*("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:"+o[i.PRERELEASELOOSE]+")?"+o[i.BUILD]+"?)?)?",a("XRANGE"),o[i.XRANGE]="^"+o[i.GTLT]+"\\s*"+o[i.XRANGEPLAIN]+"$",a("XRANGELOOSE"),o[i.XRANGELOOSE]="^"+o[i.GTLT]+"\\s*"+o[i.XRANGEPLAINLOOSE]+"$",a("COERCE"),o[i.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",a("COERCERTL"),n[i.COERCERTL]=new RegExp(o[i.COERCE],"g"),a("LONETILDE"),o[i.LONETILDE]="(?:~>?)",a("TILDETRIM"),o[i.TILDETRIM]="(\\s*)"+o[i.LONETILDE]+"\\s+",n[i.TILDETRIM]=new RegExp(o[i.TILDETRIM],"g");a("TILDE"),o[i.TILDE]="^"+o[i.LONETILDE]+o[i.XRANGEPLAIN]+"$",a("TILDELOOSE"),o[i.TILDELOOSE]="^"+o[i.LONETILDE]+o[i.XRANGEPLAINLOOSE]+"$",a("LONECARET"),o[i.LONECARET]="(?:\\^)",a("CARETTRIM"),o[i.CARETTRIM]="(\\s*)"+o[i.LONECARET]+"\\s+",n[i.CARETTRIM]=new RegExp(o[i.CARETTRIM],"g");a("CARET"),o[i.CARET]="^"+o[i.LONECARET]+o[i.XRANGEPLAIN]+"$",a("CARETLOOSE"),o[i.CARETLOOSE]="^"+o[i.LONECARET]+o[i.XRANGEPLAINLOOSE]+"$",a("COMPARATORLOOSE"),o[i.COMPARATORLOOSE]="^"+o[i.GTLT]+"\\s*("+o[i.LOOSEPLAIN]+")$|^$",a("COMPARATOR"),o[i.COMPARATOR]="^"+o[i.GTLT]+"\\s*("+o[i.FULLPLAIN]+")$|^$",a("COMPARATORTRIM"),o[i.COMPARATORTRIM]="(\\s*)"+o[i.GTLT]+"\\s*("+o[i.LOOSEPLAIN]+"|"+o[i.XRANGEPLAIN]+")",n[i.COMPARATORTRIM]=new RegExp(o[i.COMPARATORTRIM],"g");a("HYPHENRANGE"),o[i.HYPHENRANGE]="^\\s*("+o[i.XRANGEPLAIN]+")\\s+-\\s+("+o[i.XRANGEPLAIN]+")\\s*$",a("HYPHENRANGELOOSE"),o[i.HYPHENRANGELOOSE]="^\\s*("+o[i.XRANGEPLAINLOOSE]+")\\s+-\\s+("+o[i.XRANGEPLAINLOOSE]+")\\s*$",a("STAR"),o[i.STAR]="(<|>)?=?\\s*\\*";for(var c=0;c256)return null;if(!(t.loose?n[i.LOOSE]:n[i.FULL]).test(e))return null;try{return new l(e,t)}catch(e){return null}}function l(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof l){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof l))return new l(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var o=e.trim().match(t.loose?n[i.LOOSE]:n[i.FULL]);if(!o)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>A||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,A){"string"==typeof r&&(A=r,r=void 0);try{return new l(e,r).inc(t,A).version}catch(e){return null}},t.diff=function(e,t){if(f(e,t))return null;var r=g(e),A=g(t),n="";if(r.prerelease.length||A.prerelease.length){n="pre";var o="prerelease"}for(var i in r)if(("major"===i||"minor"===i||"patch"===i)&&r[i]!==A[i])return n+i;return o},t.compareIdentifiers=h;var u=/^[0-9]+$/;function h(e,t){var r=u.test(e),A=u.test(t);return r&&A&&(e=+e,t=+t),e===t?0:r&&!A?-1:A&&!r?1:e0}function C(e,t,r){return p(e,t,r)<0}function f(e,t,r){return 0===p(e,t,r)}function I(e,t,r){return 0!==p(e,t,r)}function E(e,t,r){return p(e,t,r)>=0}function B(e,t,r){return p(e,t,r)<=0}function y(e,t,r,A){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return f(e,r,A);case"!=":return I(e,r,A);case">":return d(e,r,A);case">=":return E(e,r,A);case"<":return C(e,r,A);case"<=":return B(e,r,A);default:throw new TypeError("Invalid operator: "+t)}}function m(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof m){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof m))return new m(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===w?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return h(t,e)},t.major=function(e,t){return new l(e,t).major},t.minor=function(e,t){return new l(e,t).minor},t.patch=function(e,t){return new l(e,t).patch},t.compare=p,t.compareLoose=function(e,t){return p(e,t,!0)},t.compareBuild=function(e,t,r){var A=new l(e,r),n=new l(t,r);return A.compare(n)||A.compareBuild(n)},t.rcompare=function(e,t,r){return p(t,e,r)},t.sort=function(e,r){return e.sort((function(e,A){return t.compareBuild(e,A,r)}))},t.rsort=function(e,r){return e.sort((function(e,A){return t.compareBuild(A,e,r)}))},t.gt=d,t.lt=C,t.eq=f,t.neq=I,t.gte=E,t.lte=B,t.cmp=y,t.Comparator=m;var w={};function Q(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Q)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Q(e.raw,t);if(e instanceof m)return new Q(e.value,t);if(!(this instanceof Q))return new Q(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function D(e,t){for(var r=!0,A=e.slice(),n=A.pop();r&&A.length;)r=A.every((function(e){return n.intersects(e,t)})),n=A.pop();return r}function b(e){return!e||"x"===e.toLowerCase()||"*"===e}function v(e,t,r,A,n,o,i,s,a,c,g,l,u){return((t=b(r)?"":b(A)?">="+r+".0.0":b(n)?">="+r+"."+A+".0":">="+t)+" "+(s=b(a)?"":b(c)?"<"+(+a+1)+".0.0":b(g)?"<"+a+"."+(+c+1)+".0":l?"<="+a+"."+c+"."+g+"-"+l:"<="+s)).trim()}function S(e,t,A){for(var n=0;n0){var o=e[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function k(e,t,r){try{t=new Q(t,r)}catch(e){return!1}return t.test(e)}function K(e,t,r,A){var n,o,i,s,a;switch(e=new l(e,A),t=new Q(t,A),r){case">":n=d,o=B,i=C,s=">",a=">=";break;case"<":n=C,o=E,i=d,s="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(k(e,t,A))return!1;for(var c=0;c=0.0.0")),u=u||e,h=h||e,n(e.semver,u.semver,A)?u=e:i(e.semver,h.semver,A)&&(h=e)})),u.operator===s||u.operator===a)return!1;if((!h.operator||h.operator===s)&&o(e,h.semver))return!1;if(h.operator===a&&i(e,h.semver))return!1}return!0}m.prototype.parse=function(e){var t=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new l(r[2],this.options.loose):this.semver=w},m.prototype.toString=function(){return this.value},m.prototype.test=function(e){if(r("Comparator.test",e,this.options.loose),this.semver===w||e===w)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return y(e,this.operator,this.semver,this.options)},m.prototype.intersects=function(e,t){if(!(e instanceof m))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(r=new Q(e.value,t),k(this.value,r,t));if(""===e.operator)return""===e.value||(r=new Q(this.value,t),k(e.semver,r,t));var A=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,i=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=y(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),a=y(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return A||n||o&&i||s||a},t.Range=Q,Q.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},Q.prototype.toString=function(){return this.range},Q.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var A=t?n[i.HYPHENRANGELOOSE]:n[i.HYPHENRANGE];e=e.replace(A,v),r("hyphen replace",e),e=e.replace(n[i.COMPARATORTRIM],"$1$2$3"),r("comparator trim",e,n[i.COMPARATORTRIM]),e=(e=(e=e.replace(n[i.TILDETRIM],"$1~")).replace(n[i.CARETTRIM],"$1^")).split(/\s+/).join(" ");var o=t?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],s=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var A=t.loose?n[i.CARETLOOSE]:n[i.CARET];return e.replace(A,(function(t,A,n,o,i){var s;return r("caret",e,t,A,n,o,i),b(A)?s="":b(n)?s=">="+A+".0.0 <"+(+A+1)+".0.0":b(o)?s="0"===A?">="+A+"."+n+".0 <"+A+"."+(+n+1)+".0":">="+A+"."+n+".0 <"+(+A+1)+".0.0":i?(r("replaceCaret pr",i),s="0"===A?"0"===n?">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+n+"."+(+o+1):">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+(+n+1)+".0":">="+A+"."+n+"."+o+"-"+i+" <"+(+A+1)+".0.0"):(r("no pr"),s="0"===A?"0"===n?">="+A+"."+n+"."+o+" <"+A+"."+n+"."+(+o+1):">="+A+"."+n+"."+o+" <"+A+"."+(+n+1)+".0":">="+A+"."+n+"."+o+" <"+(+A+1)+".0.0"),r("caret return",s),s}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var A=t.loose?n[i.TILDELOOSE]:n[i.TILDE];return e.replace(A,(function(t,A,n,o,i){var s;return r("tilde",e,t,A,n,o,i),b(A)?s="":b(n)?s=">="+A+".0.0 <"+(+A+1)+".0.0":b(o)?s=">="+A+"."+n+".0 <"+A+"."+(+n+1)+".0":i?(r("replaceTilde pr",i),s=">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+(+n+1)+".0"):s=">="+A+"."+n+"."+o+" <"+A+"."+(+n+1)+".0",r("tilde return",s),s}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var A=t.loose?n[i.XRANGELOOSE]:n[i.XRANGE];return e.replace(A,(function(A,n,o,i,s,a){r("xRange",e,A,n,o,i,s,a);var c=b(o),g=c||b(i),l=g||b(s),u=l;return"="===n&&u&&(n=""),a=t.includePrerelease?"-0":"",c?A=">"===n||"<"===n?"<0.0.0-0":"*":n&&u?(g&&(i=0),s=0,">"===n?(n=">=",g?(o=+o+1,i=0,s=0):(i=+i+1,s=0)):"<="===n&&(n="<",g?o=+o+1:i=+i+1),A=n+o+"."+i+"."+s+a):g?A=">="+o+".0.0"+a+" <"+(+o+1)+".0.0"+a:l&&(A=">="+o+"."+i+".0"+a+" <"+o+"."+(+i+1)+".0"+a),r("xRange return",A),A}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(n[i.STAR],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter((function(e){return!!e.match(o)}))),s=s.map((function(e){return new m(e,this.options)}),this)},Q.prototype.intersects=function(e,t){if(!(e instanceof Q))throw new TypeError("a Range is required");return this.set.some((function(r){return D(r,t)&&e.set.some((function(e){return D(e,t)&&r.every((function(r){return e.every((function(e){return r.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new Q(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},Q.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!d(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new Q(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){return K(e,t,"<",r)},t.gtr=function(e,t,r){return K(e,t,">",r)},t.outside=K,t.prerelease=function(e,t){var r=g(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new Q(e,r),t=new Q(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof l)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var r=null;if((t=t||{}).rtl){for(var A;(A=n[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&A.index+A[0].length===r.index+r[0].length||(r=A),n[i.COERCERTL].lastIndex=A.index+A[1].length+A[2].length;n[i.COERCERTL].lastIndex=-1}else r=e.match(n[i.COERCE]);if(null===r)return null;return g(r[2]+"."+(r[3]||"0")+"."+(r[4]||"0"),t)}},29069:(e,t,r)=>{const A=Symbol("SemVer ANY");class n{static get ANY(){return A}constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}a("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===A?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(e){const t=this.options.loose?o[i.COMPARATORLOOSE]:o[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new c(r[2],this.options.loose):this.semver=A}toString(){return this.value}test(e){if(a("Comparator.test",e,this.options.loose),this.semver===A||e===A)return!0;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}return s(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new g(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new g(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),A=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,i=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=s(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=s(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||A||o&&i||a||c}}e.exports=n;const{re:o,t:i}=r(49439),s=r(38754),a=r(6029),c=r(14772),g=r(73004)},73004:(e,t,r)=>{class A{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof n)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const r=t?s[a.HYPHENRANGELOOSE]:s[a.HYPHENRANGE];e=e.replace(r,w(this.options.includePrerelease)),o("hyphen replace",e),e=e.replace(s[a.COMPARATORTRIM],c),o("comparator trim",e,s[a.COMPARATORTRIM]),e=(e=(e=e.replace(s[a.TILDETRIM],g)).replace(s[a.CARETTRIM],l)).split(/\s+/).join(" ");const A=t?s[a.COMPARATORLOOSE]:s[a.COMPARATOR];return e.split(" ").map(e=>h(e,this.options)).join(" ").split(/\s+/).map(e=>m(e,this.options)).filter(this.options.loose?e=>!!e.match(A):()=>!0).map(e=>new n(e,this.options))}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>u(r,t)&&e.set.some(e=>u(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new i(e,this.options)}catch(e){return!1}for(let t=0;t{let r=!0;const A=e.slice();let n=A.pop();for(;r&&A.length;)r=A.every(e=>n.intersects(e,t)),n=A.pop();return r},h=(e,t)=>(o("comp",e,t),e=f(e,t),o("caret",e),e=d(e,t),o("tildes",e),e=E(e,t),o("xrange",e),e=y(e,t),o("stars",e),e),p=e=>!e||"x"===e.toLowerCase()||"*"===e,d=(e,t)=>e.trim().split(/\s+/).map(e=>C(e,t)).join(" "),C=(e,t)=>{const r=t.loose?s[a.TILDELOOSE]:s[a.TILDE];return e.replace(r,(t,r,A,n,i)=>{let s;return o("tilde",e,t,r,A,n,i),p(r)?s="":p(A)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:p(n)?s=`>=${r}.${A}.0 <${r}.${+A+1}.0-0`:i?(o("replaceTilde pr",i),s=`>=${r}.${A}.${n}-${i} <${r}.${+A+1}.0-0`):s=`>=${r}.${A}.${n} <${r}.${+A+1}.0-0`,o("tilde return",s),s})},f=(e,t)=>e.trim().split(/\s+/).map(e=>I(e,t)).join(" "),I=(e,t)=>{o("caret",e,t);const r=t.loose?s[a.CARETLOOSE]:s[a.CARET],A=t.includePrerelease?"-0":"";return e.replace(r,(t,r,n,i,s)=>{let a;return o("caret",e,t,r,n,i,s),p(r)?a="":p(n)?a=`>=${r}.0.0${A} <${+r+1}.0.0-0`:p(i)?a="0"===r?`>=${r}.${n}.0${A} <${r}.${+n+1}.0-0`:`>=${r}.${n}.0${A} <${+r+1}.0.0-0`:s?(o("replaceCaret pr",s),a="0"===r?"0"===n?`>=${r}.${n}.${i}-${s} <${r}.${n}.${+i+1}-0`:`>=${r}.${n}.${i}-${s} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${i}-${s} <${+r+1}.0.0-0`):(o("no pr"),a="0"===r?"0"===n?`>=${r}.${n}.${i}${A} <${r}.${n}.${+i+1}-0`:`>=${r}.${n}.${i}${A} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${i} <${+r+1}.0.0-0`),o("caret return",a),a})},E=(e,t)=>(o("replaceXRanges",e,t),e.split(/\s+/).map(e=>B(e,t)).join(" ")),B=(e,t)=>{e=e.trim();const r=t.loose?s[a.XRANGELOOSE]:s[a.XRANGE];return e.replace(r,(r,A,n,i,s,a)=>{o("xRange",e,r,A,n,i,s,a);const c=p(n),g=c||p(i),l=g||p(s),u=l;return"="===A&&u&&(A=""),a=t.includePrerelease?"-0":"",c?r=">"===A||"<"===A?"<0.0.0-0":"*":A&&u?(g&&(i=0),s=0,">"===A?(A=">=",g?(n=+n+1,i=0,s=0):(i=+i+1,s=0)):"<="===A&&(A="<",g?n=+n+1:i=+i+1),"<"===A&&(a="-0"),r=`${A+n}.${i}.${s}${a}`):g?r=`>=${n}.0.0${a} <${+n+1}.0.0-0`:l&&(r=`>=${n}.${i}.0${a} <${n}.${+i+1}.0-0`),o("xRange return",r),r})},y=(e,t)=>(o("replaceStars",e,t),e.trim().replace(s[a.STAR],"")),m=(e,t)=>(o("replaceGTE0",e,t),e.trim().replace(s[t.includePrerelease?a.GTE0PRE:a.GTE0],"")),w=e=>(t,r,A,n,o,i,s,a,c,g,l,u,h)=>`${r=p(A)?"":p(n)?`>=${A}.0.0${e?"-0":""}`:p(o)?`>=${A}.${n}.0${e?"-0":""}`:i?">="+r:`>=${r}${e?"-0":""}`} ${a=p(c)?"":p(g)?`<${+c+1}.0.0-0`:p(l)?`<${c}.${+g+1}.0-0`:u?`<=${c}.${g}.${l}-${u}`:e?`<${c}.${g}.${+l+1}-0`:"<="+a}`.trim(),Q=(e,t,r)=>{for(let r=0;r0){const A=e[r].semver;if(A.major===t.major&&A.minor===t.minor&&A.patch===t.patch)return!0}return!1}return!0}},14772:(e,t,r)=>{const A=r(6029),{MAX_LENGTH:n,MAX_SAFE_INTEGER:o}=r(76483),{re:i,t:s}=r(49439),{compareIdentifiers:a}=r(99297);class c{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>n)throw new TypeError(`version is longer than ${n} characters`);A("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?i[s.LOOSE]:i[s.FULL]);if(!r)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this}}e.exports=c},31192:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},38754:(e,t,r)=>{const A=r(78760),n=r(83286),o=r(26544),i=r(44984),s=r(65069),a=r(93845);e.exports=(e,t,r,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return A(e,r,c);case"!=":return n(e,r,c);case">":return o(e,r,c);case">=":return i(e,r,c);case"<":return s(e,r,c);case"<=":return a(e,r,c);default:throw new TypeError("Invalid operator: "+t)}}},38113:(e,t,r)=>{const A=r(14772),n=r(21883),{re:o,t:i}=r(49439);e.exports=(e,t)=>{if(e instanceof A)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=o[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),o[i.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;o[i.COERCERTL].lastIndex=-1}else r=e.match(o[i.COERCE]);return null===r?null:n(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)}},63353:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r)=>{const n=new A(e,r),o=new A(t,r);return n.compare(o)||n.compareBuild(o)}},58566:(e,t,r)=>{const A=r(17340);e.exports=(e,t)=>A(e,t,!0)},17340:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r)=>new A(e,r).compare(new A(t,r))},29301:(e,t,r)=>{const A=r(21883),n=r(78760);e.exports=(e,t)=>{if(n(e,t))return null;{const r=A(e),n=A(t),o=r.prerelease.length||n.prerelease.length,i=o?"pre":"",s=o?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==n[e])return i+e;return s}}},78760:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>0===A(e,t,r)},26544:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)>0},44984:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)>=0},24063:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r,n)=>{"string"==typeof r&&(n=r,r=void 0);try{return new A(e,r).inc(t,n).version}catch(e){return null}}},65069:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)<0},93845:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)<=0},75157:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).major},5195:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).minor},83286:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>0!==A(e,t,r)},21883:(e,t,r)=>{const{MAX_LENGTH:A}=r(76483),{re:n,t:o}=r(49439),i=r(14772);e.exports=(e,t)=>{if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof i)return e;if("string"!=typeof e)return null;if(e.length>A)return null;if(!(t.loose?n[o.LOOSE]:n[o.FULL]).test(e))return null;try{return new i(e,t)}catch(e){return null}}},39592:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).patch},27050:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e,t);return r&&r.prerelease.length?r.prerelease:null}},93788:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(t,e,r)},15213:(e,t,r)=>{const A=r(63353);e.exports=(e,t)=>e.sort((e,r)=>A(r,e,t))},73011:(e,t,r)=>{const A=r(73004);e.exports=(e,t,r)=>{try{t=new A(t,r)}catch(e){return!1}return t.test(e)}},71102:(e,t,r)=>{const A=r(63353);e.exports=(e,t)=>e.sort((e,r)=>A(e,r,t))},99589:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e,t);return r?r.version:null}},53887:(e,t,r)=>{const A=r(49439);e.exports={re:A.re,src:A.src,tokens:A.t,SEMVER_SPEC_VERSION:r(76483).SEMVER_SPEC_VERSION,SemVer:r(14772),compareIdentifiers:r(99297).compareIdentifiers,rcompareIdentifiers:r(99297).rcompareIdentifiers,parse:r(21883),valid:r(99589),clean:r(31192),inc:r(24063),diff:r(29301),major:r(75157),minor:r(5195),patch:r(39592),prerelease:r(27050),compare:r(17340),rcompare:r(93788),compareLoose:r(58566),compareBuild:r(63353),sort:r(71102),rsort:r(15213),gt:r(26544),lt:r(65069),eq:r(78760),neq:r(83286),gte:r(44984),lte:r(93845),cmp:r(38754),coerce:r(38113),Comparator:r(29069),Range:r(73004),satisfies:r(73011),toComparators:r(47753),maxSatisfying:r(1895),minSatisfying:r(33252),minVersion:r(4224),validRange:r(44315),outside:r(842),gtr:r(69258),ltr:r(36928),intersects:r(87395),simplifyRange:r(3530),subset:r(74264)}},76483:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},6029:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},99297:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const A=t.test(e),n=t.test(r);return A&&n&&(e=+e,r=+r),e===r?0:A&&!n?-1:n&&!A?1:er(t,e)}},49439:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:A}=r(76483),n=r(6029),o=(t=e.exports={}).re=[],i=t.src=[],s=t.t={};let a=0;const c=(e,t,r)=>{const A=a++;n(A,t),s[e]=A,i[A]=t,o[A]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),c("FULL",`^${i[s.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),c("LOOSE",`^${i[s.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",i[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),c("XRANGEIDENTIFIER",i[s.NUMERICIDENTIFIER]+"|x|X|\\*"),c("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),c("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${A}})(?:\\.(\\d{1,${A}}))?(?:\\.(\\d{1,${A}}))?(?:$|[^\\d])`),c("COERCERTL",i[s.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},69258:(e,t,r)=>{const A=r(842);e.exports=(e,t,r)=>A(e,t,">",r)},87395:(e,t,r)=>{const A=r(73004);e.exports=(e,t,r)=>(e=new A(e,r),t=new A(t,r),e.intersects(t))},36928:(e,t,r)=>{const A=r(842);e.exports=(e,t,r)=>A(e,t,"<",r)},1895:(e,t,r)=>{const A=r(14772),n=r(73004);e.exports=(e,t,r)=>{let o=null,i=null,s=null;try{s=new n(t,r)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(o&&-1!==i.compare(e)||(o=e,i=new A(o,r)))}),o}},33252:(e,t,r)=>{const A=r(14772),n=r(73004);e.exports=(e,t,r)=>{let o=null,i=null,s=null;try{s=new n(t,r)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(o&&1!==i.compare(e)||(o=e,i=new A(o,r)))}),o}},4224:(e,t,r)=>{const A=r(14772),n=r(73004),o=r(26544);e.exports=(e,t)=>{e=new n(e,t);let r=new A("0.0.0");if(e.test(r))return r;if(r=new A("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new A(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!o(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}return r&&e.test(r)?r:null}},842:(e,t,r)=>{const A=r(14772),n=r(29069),{ANY:o}=n,i=r(73004),s=r(73011),a=r(26544),c=r(65069),g=r(93845),l=r(44984);e.exports=(e,t,r,u)=>{let h,p,d,C,f;switch(e=new A(e,u),t=new i(t,u),r){case">":h=a,p=g,d=c,C=">",f=">=";break;case"<":h=c,p=l,d=a,C="<",f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,u))return!1;for(let r=0;r{e.semver===o&&(e=new n(">=0.0.0")),i=i||e,s=s||e,h(e.semver,i.semver,u)?i=e:d(e.semver,s.semver,u)&&(s=e)}),i.operator===C||i.operator===f)return!1;if((!s.operator||s.operator===C)&&p(e,s.semver))return!1;if(s.operator===f&&d(e,s.semver))return!1}return!0}},3530:(e,t,r)=>{const A=r(73011),n=r(17340);e.exports=(e,t,r)=>{const o=[];let i=null,s=null;const a=e.sort((e,t)=>n(e,t,r));for(const e of a){A(e,t,r)?(s=e,i||(i=e)):(s&&o.push([i,s]),s=null,i=null)}i&&o.push([i,null]);const c=[];for(const[e,t]of o)e===t?c.push(e):t||e!==a[0]?t?e===a[0]?c.push("<="+t):c.push(`${e} - ${t}`):c.push(">="+e):c.push("*");const g=c.join(" || "),l="string"==typeof t.raw?t.raw:String(t);return g.length{const A=r(73004),{ANY:n}=r(29069),o=r(73011),i=r(17340),s=(e,t,r)=>{if(1===e.length&&e[0].semver===n)return 1===t.length&&t[0].semver===n;const A=new Set;let s,g,l,u,h,p,d;for(const t of e)">"===t.operator||">="===t.operator?s=a(s,t,r):"<"===t.operator||"<="===t.operator?g=c(g,t,r):A.add(t.semver);if(A.size>1)return null;if(s&&g){if(l=i(s.semver,g.semver,r),l>0)return null;if(0===l&&(">="!==s.operator||"<="!==g.operator))return null}for(const e of A){if(s&&!o(e,String(s),r))return null;if(g&&!o(e,String(g),r))return null;for(const A of t)if(!o(e,String(A),r))return!1;return!0}for(const e of t){if(d=d||">"===e.operator||">="===e.operator,p=p||"<"===e.operator||"<="===e.operator,s)if(">"===e.operator||">="===e.operator){if(u=a(s,e,r),u===e)return!1}else if(">="===s.operator&&!o(s.semver,String(e),r))return!1;if(g)if("<"===e.operator||"<="===e.operator){if(h=c(g,e,r),h===e)return!1}else if("<="===g.operator&&!o(g.semver,String(e),r))return!1;if(!e.operator&&(g||s)&&0!==l)return!1}return!(s&&p&&!g&&0!==l)&&!(g&&d&&!s&&0!==l)},a=(e,t,r)=>{if(!e)return t;const A=i(e.semver,t.semver,r);return A>0?e:A<0||">"===t.operator&&">="===e.operator?t:e},c=(e,t,r)=>{if(!e)return t;const A=i(e.semver,t.semver,r);return A<0?e:A>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r)=>{e=new A(e,r),t=new A(t,r);let n=!1;e:for(const A of e.set){for(const e of t.set){const t=s(A,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0}},47753:(e,t,r)=>{const A=r(73004);e.exports=(e,t)=>new A(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))},44315:(e,t,r)=>{const A=r(73004);e.exports=(e,t)=>{try{return new A(e,t).range||"*"}catch(e){return null}}},91470:(e,t,r)=>{"use strict";const A=r(67719);e.exports=(e="")=>{const t=e.match(A);if(!t)return null;const[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return"env"===o?n:n?`${o} ${n}`:o}},67719:e=>{"use strict";e.exports=/^#!(.*)/},17234:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},10129:(e,t,r)=>{"use strict";const A=r(76417),n=r(19184),o=r(92413).Transform,i=["sha256","sha384","sha512"],s=/^[a-z0-9+/]+(?:=?=?)$/i,a=/^([^-]+)-([^?]+)([?\S*]*)$/,c=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,g=/^[\x21-\x7E]+$/,l=n({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>B},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}});class u{get isHash(){return!0}constructor(e,t){const r=!!(t=l(t)).strict;this.source=e.trim();const A=this.source.match(r?c:a);if(!A)return;if(r&&!i.some(e=>e===A[1]))return;this.algorithm=A[1],this.digest=A[2];const n=A[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if((e=l(e)).strict&&!(i.some(e=>e===this.algorithm)&&this.digest.match(s)&&(this.options||[]).every(e=>e.match(g))))return"";const t=this.options&&this.options.length?"?"+this.options.join("?"):"";return`${this.algorithm}-${this.digest}${t}`}}class h{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){let t=(e=l(e)).sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(r=>this[r].map(t=>u.prototype.toString.call(t,e)).filter(e=>e.length).join(t)).filter(e=>e.length).join(t)}concat(e,t){t=l(t);const r="string"==typeof e?e:C(e,t);return p(`${this.toString(t)} ${r}`,t)}hexDigest(){return p(this,{single:!0}).hexDigest()}match(e,t){const r=p(e,t=l(t)),A=r.pickAlgorithm(t);return this[A]&&r[A]&&this[A].find(e=>r[A].find(t=>e.digest===t.digest))||!1}pickAlgorithm(e){const t=(e=l(e)).pickAlgorithm,r=Object.keys(this);if(!r.length)throw new Error("No algorithms available for "+JSON.stringify(this.toString()));return r.reduce((e,r)=>t(e,r)||e)}}function p(e,t){if(t=l(t),"string"==typeof e)return d(e,t);if(e.algorithm&&e.digest){const r=new h;return r[e.algorithm]=[e],d(C(r,t),t)}return d(C(e,t),t)}function d(e,t){return t.single?new u(e,t):e.trim().split(/\s+/).reduce((e,r)=>{const A=new u(r,t);if(A.algorithm&&A.digest){const t=A.algorithm;e[t]||(e[t]=[]),e[t].push(A)}return e},new h)}function C(e,t){return t=l(t),e.algorithm&&e.digest?u.prototype.toString.call(e,t):"string"==typeof e?C(p(e,t),t):h.prototype.toString.call(e,t)}function f(e){const t=(e=l(e)).integrity&&p(e.integrity,e),r=t&&Object.keys(t).length,n=r&&t.pickAlgorithm(e),i=r&&t[n],s=Array.from(new Set(e.algorithms.concat(n?[n]:[]))),a=s.map(A.createHash);let c=0;const g=new o({transform(e,t,r){c+=e.length,a.forEach(r=>r.update(e,t)),r(null,e,t)}}).on("end",()=>{const A=e.options&&e.options.length?"?"+e.options.join("?"):"",o=p(a.map((e,t)=>`${s[t]}-${e.digest("base64")}${A}`).join(" "),e),l=r&&o.match(t,e);if("number"==typeof e.size&&c!==e.size){const r=new Error(`stream size mismatch when checking ${t}.\n Wanted: ${e.size}\n Found: ${c}`);r.code="EBADSIZE",r.found=c,r.expected=e.size,r.sri=t,g.emit("error",r)}else if(e.integrity&&!l){const e=new Error(`${t} integrity checksum failed when using ${n}: wanted ${i} but got ${o}. (${c} bytes)`);e.code="EINTEGRITY",e.found=o,e.expected=i,e.algorithm=n,e.sri=t,g.emit("error",e)}else g.emit("size",c),g.emit("integrity",o),l&&g.emit("verified",l)});return g}e.exports.Sd=function(e,t){const r=(t=l(t)).algorithms,n=t.options&&t.options.length?"?"+t.options.join("?"):"";return r.reduce((r,o)=>{const i=A.createHash(o).update(e).digest("base64"),s=new u(`${o}-${i}${n}`,t);if(s.algorithm&&s.digest){const e=s.algorithm;r[e]||(r[e]=[]),r[e].push(s)}return r},new h)};const I=new Set(A.getHashes()),E=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>I.has(e));function B(e,t){return E.indexOf(e.toLowerCase())>=E.indexOf(t.toLowerCase())?e:t}},69538:(e,t,r)=>{"use strict";var A=r(13499).Buffer,n=A.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(A.isEncoding===n||!n(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=a,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=g,this.end=l,t=3;break;default:return this.write=u,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=A.allocUnsafe(t)}function i(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var A=r.charCodeAt(r.length-1);if(A>=55296&&A<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function g(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.s=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(e.lastNeed=n-1),n;if(--A=0)return n>0&&(e.lastNeed=n-2),n;if(--A=0)return n>0&&(2===n?n=0:e.lastNeed=n-3),n;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var A=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,A),e.toString("utf8",t,A)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},59428:(e,t,r)=>{"use strict";const A=r(12087),n=r(33867),o=r(72918),{env:i}=process;let s;function a(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function c(e,t){if(0===s)return 0;if(o("color=16m")||o("color=full")||o("color=truecolor"))return 3;if(o("color=256"))return 2;if(e&&!t&&void 0===s)return 0;const r=s||0;if("dumb"===i.TERM)return r;if("win32"===process.platform){const e=A.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in i)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in i)||"codeship"===i.CI_NAME?1:r;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in i)return 1;if("truecolor"===i.COLORTERM)return 3;if("TERM_PROGRAM"in i){const e=parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:r}o("no-color")||o("no-colors")||o("color=false")||o("color=never")?s=0:(o("color")||o("colors")||o("color=true")||o("color=always"))&&(s=1),"FORCE_COLOR"in i&&(s="true"===i.FORCE_COLOR?1:"false"===i.FORCE_COLOR?0:0===i.FORCE_COLOR.length?1:Math.min(parseInt(i.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return a(c(e,e&&e.isTTY))},stdout:a(c(!0,n.isatty(1))),stderr:a(c(!0,n.isatty(2)))}},93255:e=>{"use strict";function t(e){return Array.prototype.slice.apply(e)}function r(e){this.status="pending",this._continuations=[],this._parent=null,this._paused=!1,e&&e.call(this,this._continueWith.bind(this),this._failWith.bind(this))}function A(e){return e&&"function"==typeof e.then}function n(e){return e}if(r.prototype={then:function(e,t){var n=r.unresolved()._setParent(this);if(this._isRejected()){if(this._paused)return this._continuations.push({promise:n,nextFn:e,catchFn:t}),n;if(t)try{var o=t(this._error);return A(o)?(this._chainPromiseData(o,n),n):r.resolve(o)._setParent(this)}catch(e){return r.reject(e)._setParent(this)}return r.reject(this._error)._setParent(this)}return this._continuations.push({promise:n,nextFn:e,catchFn:t}),this._runResolutions(),n},catch:function(e){if(this._isResolved())return r.resolve(this._data)._setParent(this);var t=r.unresolved()._setParent(this);return this._continuations.push({promise:t,catchFn:e}),this._runRejections(),t},finally:function(e){var t=!1;function r(r,o){if(!t){t=!0,e||(e=n);var i=e(r);return A(i)?i.then((function(){if(o)throw o;return r})):r}}return this.then((function(e){return r(e)})).catch((function(e){return r(null,e)}))},pause:function(){return this._paused=!0,this},resume:function(){var e=this._findFirstPaused();return e&&(e._paused=!1,e._runResolutions(),e._runRejections()),this},_findAncestry:function(){return this._continuations.reduce((function(e,t){if(t.promise){var r={promise:t.promise,children:t.promise._findAncestry()};e.push(r)}return e}),[])},_setParent:function(e){if(this._parent)throw new Error("parent already set");return this._parent=e,this},_continueWith:function(e){var t=this._findFirstPending();t&&(t._data=e,t._setResolved())},_findFirstPending:function(){return this._findFirstAncestor((function(e){return e._isPending&&e._isPending()}))},_findFirstPaused:function(){return this._findFirstAncestor((function(e){return e._paused}))},_findFirstAncestor:function(e){for(var t,r=this;r;)e(r)&&(t=r),r=r._parent;return t},_failWith:function(e){var t=this._findFirstPending();t&&(t._error=e,t._setRejected())},_takeContinuations:function(){return this._continuations.splice(0,this._continuations.length)},_runRejections:function(){if(!this._paused&&this._isRejected()){var e=this._error,t=this._takeContinuations(),r=this;t.forEach((function(t){if(t.catchFn)try{var A=t.catchFn(e);r._handleUserFunctionResult(A,t.promise)}catch(e){t.promise.reject(e)}else t.promise.reject(e)}))}},_runResolutions:function(){if(!this._paused&&this._isResolved()&&!this._isPending()){var e=this._takeContinuations();if(A(this._data))return this._handleWhenResolvedDataIsPromise(this._data);var t=this._data,r=this;e.forEach((function(e){if(e.nextFn)try{var A=e.nextFn(t);r._handleUserFunctionResult(A,e.promise)}catch(t){r._handleResolutionError(t,e)}else e.promise&&e.promise.resolve(t)}))}},_handleResolutionError:function(e,t){if(this._setRejected(),t.catchFn)try{return void t.catchFn(e)}catch(t){e=t}t.promise&&t.promise.reject(e)},_handleWhenResolvedDataIsPromise:function(e){var t=this;return e.then((function(e){t._data=e,t._runResolutions()})).catch((function(e){t._error=e,t._setRejected(),t._runRejections()}))},_handleUserFunctionResult:function(e,t){A(e)?this._chainPromiseData(e,t):t.resolve(e)},_chainPromiseData:function(e,t){e.then((function(e){t.resolve(e)})).catch((function(e){t.reject(e)}))},_setResolved:function(){this.status="resolved",this._paused||this._runResolutions()},_setRejected:function(){this.status="rejected",this._paused||this._runRejections()},_isPending:function(){return"pending"===this.status},_isResolved:function(){return"resolved"===this.status},_isRejected:function(){return"rejected"===this.status}},r.resolve=function(e){return new r((function(t,r){A(e)?e.then((function(e){t(e)})).catch((function(e){r(e)})):t(e)}))},r.reject=function(e){return new r((function(t,r){r(e)}))},r.unresolved=function(){return new r((function(e,t){this.resolve=e,this.reject=t}))},r.all=function(){var e=t(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new r((function(t,A){var n=[],o=0,i=!1;e.forEach((function(s,a){r.resolve(s).then((function(r){n[a]=r,(o+=1)===e.length&&t(n)})).catch((function(e){!function(e){i||(i=!0,A(e))}(e)}))}))})):r.resolve([])},Promise===r)throw new Error("Please use SynchronousPromise.installGlobally() to install globally");var o=Promise;r.installGlobally=function(e){if(Promise===r)return e;var A=function(e){if(void 0===e||e.__patched)return e;var r=e;return(e=function(){r.apply(this,t(arguments))}).__patched=!0,e}(e);return Promise=r,A},r.uninstallGlobally=function(){Promise===r&&(Promise=o)},e.exports={SynchronousPromise:r}},75799:(e,t,r)=>{var A=r(31669),n=r(73975),o=r(77686),i=r(86897).Writable,s=r(86897).PassThrough,a=function(){},c=function(e){return(e&=511)&&512-e},g=function(e,t){this._parent=e,this.offset=t,s.call(this)};A.inherits(g,s),g.prototype.destroy=function(e){this._parent.destroy(e)};var l=function(e){if(!(this instanceof l))return new l(e);i.call(this,e),e=e||{},this._offset=0,this._buffer=n(),this._missing=0,this._partial=!1,this._onparse=a,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var t=this,r=t._buffer,A=function(){t._continue()},s=function(e){if(t._locked=!1,e)return t.destroy(e);t._stream||A()},u=function(){t._stream=null;var e=c(t._header.size);e?t._parse(e,h):t._parse(512,I),t._locked||A()},h=function(){t._buffer.consume(c(t._header.size)),t._parse(512,I),A()},p=function(){var e=t._header.size;t._paxGlobal=o.decodePax(r.slice(0,e)),r.consume(e),u()},d=function(){var e=t._header.size;t._pax=o.decodePax(r.slice(0,e)),t._paxGlobal&&(t._pax=Object.assign({},t._paxGlobal,t._pax)),r.consume(e),u()},C=function(){var A=t._header.size;this._gnuLongPath=o.decodeLongPath(r.slice(0,A),e.filenameEncoding),r.consume(A),u()},f=function(){var A=t._header.size;this._gnuLongLinkPath=o.decodeLongPath(r.slice(0,A),e.filenameEncoding),r.consume(A),u()},I=function(){var n,i=t._offset;try{n=t._header=o.decode(r.slice(0,512),e.filenameEncoding)}catch(e){t.emit("error",e)}return r.consume(512),n?"gnu-long-path"===n.type?(t._parse(n.size,C),void A()):"gnu-long-link-path"===n.type?(t._parse(n.size,f),void A()):"pax-global-header"===n.type?(t._parse(n.size,p),void A()):"pax-header"===n.type?(t._parse(n.size,d),void A()):(t._gnuLongPath&&(n.name=t._gnuLongPath,t._gnuLongPath=null),t._gnuLongLinkPath&&(n.linkname=t._gnuLongLinkPath,t._gnuLongLinkPath=null),t._pax&&(t._header=n=function(e,t){return t.path&&(e.name=t.path),t.linkpath&&(e.linkname=t.linkpath),t.size&&(e.size=parseInt(t.size,10)),e.pax=t,e}(n,t._pax),t._pax=null),t._locked=!0,n.size&&"directory"!==n.type?(t._stream=new g(t,i),t.emit("entry",n,t._stream,s),t._parse(n.size,u),void A()):(t._parse(512,I),void t.emit("entry",n,function(e,t){var r=new g(e,t);return r.end(),r}(t,i),s))):(t._parse(512,I),void A())};this._onheader=I,this._parse(512,I)};A.inherits(l,i),l.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))},l.prototype._parse=function(e,t){this._destroyed||(this._offset+=e,this._missing=e,t===this._onheader&&(this._partial=!1),this._onparse=t)},l.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=a,this._overflow?this._write(this._overflow,void 0,e):e()}},l.prototype._write=function(e,t,r){if(!this._destroyed){var A=this._stream,n=this._buffer,o=this._missing;if(e.length&&(this._partial=!0),e.lengtho&&(i=e.slice(o),e=e.slice(0,o)),A?A.end(e):n.append(e),this._overflow=i,this._onparse()}},l.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()},e.exports=l},77686:(e,t)=>{var r=Buffer.alloc,A="0".charCodeAt(0),n=parseInt("7777",8),o=function(e,t,r,A){for(;rt?"7777777777777777777".slice(0,t)+" ":"0000000000000000000".slice(0,t-e.length)+e+" "};var a=function(e,t,r){if(128&(e=e.slice(t,t+r))[t=0])return function(e){var t;if(128===e[0])t=!0;else{if(255!==e[0])return null;t=!1}for(var r=!1,A=[],n=e.length-1;n>0;n--){var o=e[n];t?A.push(o):r&&0===o?A.push(0):r?(r=!1,A.push(256-o)):A.push(255-o)}var i=0,s=A.length;for(n=0;n=i?i:n>=0||(n+=i)>=0?n:0);t=Math.pow(10,r)&&r++,t+r+e};t.decodeLongPath=function(e,t){return c(e,0,e.length,t)},t.encodePax=function(e){var t="";e.name&&(t+=g(" path="+e.name+"\n")),e.linkname&&(t+=g(" linkpath="+e.linkname+"\n"));var r=e.pax;if(r)for(var A in r)t+=g(" "+A+"="+r[A]+"\n");return Buffer.from(t)},t.decodePax=function(e){for(var t={};e.length;){for(var r=0;r100;){var c=o.indexOf("/");if(-1===c)return null;a+=a?"/"+o.slice(0,c):o.slice(0,c),o=o.slice(c+1)}return Buffer.byteLength(o)>100||Buffer.byteLength(a)>155||e.linkname&&Buffer.byteLength(e.linkname)>100?null:(t.write(o),t.write(s(e.mode&n,6),100),t.write(s(e.uid,6),108),t.write(s(e.gid,6),116),t.write(s(e.size,11),124),t.write(s(e.mtime.getTime()/1e3|0,11),136),t[156]=A+function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}(e.type),e.linkname&&t.write(e.linkname,157),t.write("ustar\x0000",257),e.uname&&t.write(e.uname,265),e.gname&&t.write(e.gname,297),t.write(s(e.devmajor||0,6),329),t.write(s(e.devminor||0,6),337),a&&t.write(a,345),t.write(s(i(t),6),148),t)},t.decode=function(e,t){var r=0===e[156]?0:e[156]-A,n=c(e,0,100,t),o=a(e,100,8),s=a(e,108,8),g=a(e,116,8),l=a(e,124,12),u=a(e,136,12),h=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}(r),p=0===e[157]?null:c(e,157,100,t),d=c(e,265,32),C=c(e,297,32),f=a(e,329,8),I=a(e,337,8);e[345]&&(n=c(e,345,155,t)+"/"+n),0===r&&n&&"/"===n[n.length-1]&&(r=5);var E=i(e);if(256===E)return null;if(E!==a(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");return{name:n,mode:o,uid:s,gid:g,size:l,mtime:new Date(1e3*u),type:h,linkname:p,uname:d,gname:C,devmajor:f,devminor:I}}},59938:(e,t,r)=>{t.extract=r(75799),t.pack=r(72203)},72203:(e,t,r)=>{var A=r(13302),n=r(17067),o=r(85870),i=Buffer.alloc,s=r(86897).Readable,a=r(86897).Writable,c=r(24304).StringDecoder,g=r(77686),l=parseInt("755",8),u=parseInt("644",8),h=i(1024),p=function(){},d=function(e,t){(t&=511)&&e.push(h.slice(0,512-t))};var C=function(e){a.call(this),this.written=0,this._to=e,this._destroyed=!1};o(C,a),C.prototype._write=function(e,t,r){if(this.written+=e.length,this._to.push(e))return r();this._to._drain=r},C.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var f=function(){a.call(this),this.linkname="",this._decoder=new c("utf-8"),this._destroyed=!1};o(f,a),f.prototype._write=function(e,t,r){this.linkname+=this._decoder.write(e),r()},f.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var I=function(){a.call(this),this._destroyed=!1};o(I,a),I.prototype._write=function(e,t,r){r(new Error("No body allowed for this entry"))},I.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var E=function(e){if(!(this instanceof E))return new E(e);s.call(this,e),this._drain=p,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};o(E,s),E.prototype.entry=function(e,t,r){if(this._stream)throw new Error("already piping an entry");if(!this._finalized&&!this._destroyed){"function"==typeof t&&(r=t,t=null),r||(r=p);var o=this;if(e.size&&"symlink"!==e.type||(e.size=0),e.type||(e.type=function(e){switch(e&A.S_IFMT){case A.S_IFBLK:return"block-device";case A.S_IFCHR:return"character-device";case A.S_IFDIR:return"directory";case A.S_IFIFO:return"fifo";case A.S_IFLNK:return"symlink"}return"file"}(e.mode)),e.mode||(e.mode="directory"===e.type?l:u),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),"string"==typeof t&&(t=Buffer.from(t)),Buffer.isBuffer(t))return e.size=t.length,this._encode(e),this.push(t),d(o,e.size),process.nextTick(r),new I;if("symlink"===e.type&&!e.linkname){var i=new f;return n(i,(function(t){if(t)return o.destroy(),r(t);e.linkname=i.linkname,o._encode(e),r()})),i}if(this._encode(e),"file"!==e.type&&"contiguous-file"!==e.type)return process.nextTick(r),new I;var s=new C(this);return this._stream=s,n(s,(function(t){return o._stream=null,t?(o.destroy(),r(t)):s.written!==e.size?(o.destroy(),r(new Error("size mismatch"))):(d(o,e.size),o._finalizing&&o.finalize(),void r())})),s}},E.prototype.finalize=function(){this._stream?this._finalizing=!0:this._finalized||(this._finalized=!0,this.push(h),this.push(null))},E.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())},E.prototype._encode=function(e){if(!e.pax){var t=g.encode(e);if(t)return void this.push(t)}this._encodePax(e)},E.prototype._encodePax=function(e){var t=g.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(g.encode(r)),this.push(t),d(this,t.length),r.size=e.size,r.type=e.type,this.push(g.encode(r))},E.prototype._read=function(e){var t=this._drain;this._drain=p,t()},e.exports=E},84615:(e,t,r)=>{"use strict"; +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */const A=r(59235),n=(e,t,r)=>{if(!1===A(e))throw new TypeError("toRegexRange: expected the first argument to be a number");if(void 0===t||e===t)return String(e);if(!1===A(t))throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};"boolean"==typeof o.strictZeros&&(o.relaxZeros=!1===o.strictZeros);let a=e+":"+t+"="+String(o.relaxZeros)+String(o.shorthand)+String(o.capture)+String(o.wrap);if(n.cache.hasOwnProperty(a))return n.cache[a].result;let c=Math.min(e,t),g=Math.max(e,t);if(1===Math.abs(c-g)){let r=e+"|"+t;return o.capture?`(${r})`:!1===o.wrap?r:`(?:${r})`}let l=p(e)||p(t),u={min:e,max:t,a:c,b:g},h=[],d=[];if(l&&(u.isPadded=l,u.maxLen=String(u.max).length),c<0){d=i(g<0?Math.abs(g):1,Math.abs(c),u,o),c=u.a=0}return g>=0&&(h=i(c,g,u,o)),u.negatives=d,u.positives=h,u.result=function(e,t,r){let A=s(e,t,"-",!1,r)||[],n=s(t,e,"",!1,r)||[],o=s(e,t,"-?",!0,r)||[];return A.concat(o).concat(n).join("|")}(d,h,o),!0===o.capture?u.result=`(${u.result})`:!1!==o.wrap&&h.length+d.length>1&&(u.result=`(?:${u.result})`),n.cache[a]=u,u.result};function o(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let A=function(e,t){let r=[];for(let A=0;A1&&n.count.pop(),n.count.push(a.count[0]),n.string=n.pattern+u(n.count),c=t+1)}return s}function s(e,t,r,A,n){let o=[];for(let n of e){let{string:e}=n;A||c(t,"string",e)||o.push(r+e),A&&c(t,"string",e)&&o.push(r+e)}return o}function a(e,t){return e>t?1:t>e?-1:0}function c(e,t,r){return e.some(e=>e[t]===r)}function g(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function l(e,t){return e-e%Math.pow(10,t)}function u(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function h(e,t,r){return`[${e}${t-e==1?"":"-"}${t}]`}function p(e){return/^-?(0+)\d/.test(e)}function d(e,t,r){if(!t.isPadded)return e;let A=Math.abs(t.maxLen-String(e).length),n=!1!==r.relaxZeros;switch(A){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${A}}`:`0{${A}}`}}n.cache={},n.clearCache=()=>n.cache={},e.exports=n},75158:e=>{function t(e,t){var r=e.length,A=new Array(r),n={},o=r,i=function(e){for(var t=new Map,r=0,A=e.length;r0&&(n.forEach((function(e,t){t>0&&(g+=(e[1]?" ":"│")+" "),c||e[0]!==r||(c=!0)})),g+=function(e,t){var r=t?"└":"├";return r+=e?"─ ":"──┐"}(t,A)+t,o&&("object"!=typeof r||r instanceof Date)&&(g+=": "+r),c&&(g+=" (circular ref.)"),s(g)),!c&&"object"==typeof r){var h=function(e,t){var r=[];for(var A in e)e.hasOwnProperty(A)&&(t&&"function"==typeof e[A]||r.push(A));return r}(r,i);h.forEach((function(t){a=++l===h.length,e(t,r[t],a,u,o,i,s)}))}}var t={asLines:function(t,r,A,n){e(".",t,!1,[],r,"function"!=typeof A&&A,n||A)},asTree:function(t,r,A){var n="";return e(".",t,!1,[],r,A,(function(e){n+=e+"\n"})),n}};return t}()},36370:(e,t,r)=>{"use strict";r.d(t,{gn:()=>A});function A(e,t,r,A){var n,o=arguments.length,i=o<3?t:null===A?A=Object.getOwnPropertyDescriptor(t,r):A;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,A);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}},98161:(e,t,r)=>{e.exports=r(69876)},69876:(e,t,r)=>{"use strict";r(11631);var A,n=r(4016),o=r(98605),i=r(57211),s=r(28614),a=(r(42357),r(31669));function c(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",(function(e,r,A,n){for(var o=l(r,A,n),i=0,s=t.requests.length;i=this.maxSockets?n.requests.push(o):n.createSocket(o,(function(t){function r(){n.emit("free",t,o)}function A(e){n.removeSocket(t),t.removeListener("free",r),t.removeListener("close",A),t.removeListener("agentRemove",A)}t.on("free",r),t.on("close",A),t.on("agentRemove",A),e.onSocket(t)}))},c.prototype.createSocket=function(e,t){var r=this,n={};r.sockets.push(n);var o=u({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(o.localAddress=e.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),A("making CONNECT request");var i=r.request(o);function s(o,s,a){var c;return i.removeAllListeners(),s.removeAllListeners(),200!==o.statusCode?(A("tunneling socket could not be established, statusCode=%d",o.statusCode),s.destroy(),(c=new Error("tunneling socket could not be established, statusCode="+o.statusCode)).code="ECONNRESET",e.request.emit("error",c),void r.removeSocket(n)):a.length>0?(A("got illegal response body from proxy"),s.destroy(),(c=new Error("got illegal response body from proxy")).code="ECONNRESET",e.request.emit("error",c),void r.removeSocket(n)):(A("tunneling connection has established"),r.sockets[r.sockets.indexOf(n)]=s,t(s))}i.useChunkedEncodingByDefault=!1,i.once("response",(function(e){e.upgrade=!0})),i.once("upgrade",(function(e,t,r){process.nextTick((function(){s(e,t,r)}))})),i.once("connect",s),i.once("error",(function(t){i.removeAllListeners(),A("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, cause="+t.message);o.code="ECONNRESET",e.request.emit("error",o),r.removeSocket(n)})),i.end()},c.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(-1!==t){this.sockets.splice(t,1);var r=this.requests.shift();r&&this.createSocket(r,(function(e){r.request.onSocket(e)}))}},A=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){}},73212:(e,t,r)=>{e.exports=r(31669).deprecate},87945:(e,t,r)=>{const A="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=r(85622),o=A?";":":",i=r(64151),s=e=>Object.assign(new Error("not found: "+e),{code:"ENOENT"}),a=(e,t)=>{const r=t.colon||o,n=e.match(/\//)||A&&e.match(/\\/)?[""]:[...A?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],i=A?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=A?i.split(r):[""];return A&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:n,pathExt:s,pathExtExe:i}},c=(e,t,r)=>{"function"==typeof t&&(r=t,t={}),t||(t={});const{pathEnv:A,pathExt:o,pathExtExe:c}=a(e,t),g=[],l=r=>new Promise((o,i)=>{if(r===A.length)return t.all&&g.length?o(g):i(s(e));const a=A[r],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=n.join(c,e),h=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;o(u(h,r,0))}),u=(e,r,A)=>new Promise((n,s)=>{if(A===o.length)return n(l(r+1));const a=o[A];i(e+a,{pathExt:c},(o,i)=>{if(!o&&i){if(!t.all)return n(e+a);g.push(e+a)}return n(u(e,r,A+1))})});return r?l(0).then(e=>r(null,e),r):l(0)};e.exports=c,c.sync=(e,t)=>{t=t||{};const{pathEnv:r,pathExt:A,pathExtExe:o}=a(e,t),c=[];for(let s=0;s{e.exports=function e(t,r){if(t&&r)return e(t)(r);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach((function(e){A[e]=t[e]})),A;function A(){for(var e=new Array(arguments.length),r=0;r{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(15215)),o=A(r(11050)),i=function(){function e(e,t){if(this.refs=e,"function"!=typeof t){if(!(0,n.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");var r=t.is,A=t.then,o=t.otherwise,i="function"==typeof r?r:function(){for(var e=arguments.length,t=new Array(e),A=0;A{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(11050)),o=function(){function e(e){this._resolve=function(t,r){var A=e(t,r);if(!(0,n.default)(A))throw new TypeError("lazy() functions must return a valid schema");return A.resolve(r)}}var t=e.prototype;return t.resolve=function(e){return this._resolve(e.value,e)},t.cast=function(e,t){return this._resolve(e,t).cast(e,t)},t.validate=function(e,t){return this._resolve(e,t).validate(e,t)},t.validateSync=function(e,t){return this._resolve(e,t).validateSync(e,t)},t.validateAt=function(e,t,r){return this._resolve(t,r).validateAt(e,t,r)},t.validateSyncAt=function(e,t,r){return this._resolve(t,r).validateSyncAt(e,t,r)},e}();o.prototype.__isYupSchema__=!0;var i=o;t.default=i,e.exports=t.default},95814:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(72912)),o=r(79588),i="$",s=".",a=function(){function e(e,t){if(void 0===t&&(t={}),"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===i,this.isValue=this.key[0]===s,this.isSibling=!this.isContext&&!this.isValue;var r=this.isContext?i:this.isValue?s:"";this.path=this.key.slice(r.length),this.getter=this.path&&(0,o.getter)(this.path,!0),this.map=t.map}var t=e.prototype;return t.getValue=function(e){var t=this.isContext?e.context:this.isValue?e.value:e.parent;return this.getter&&(t=this.getter(t||{})),this.map&&(t=this.map(t)),t},t.cast=function(e,t){return this.getValue((0,n.default)({},t,{value:e}))},t.resolve=function(){return this},t.describe=function(){return{type:"ref",key:this.key}},t.toString=function(){return"Ref("+this.key+")"},e.isRef=function(e){return e&&e.__isYupRef},e}();t.default=a,a.prototype.__isYupRef=!0,e.exports=t.default},40828:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=s;var n=A(r(21043)),o=/\$\{\s*(\w+)\s*\}/g,i=function(e){return function(t){return e.replace(o,(function(e,r){return(0,n.default)(t[r])}))}};function s(e,t,r,A){var n=this;this.name="ValidationError",this.value=t,this.path=r,this.type=A,this.errors=[],this.inner=[],e&&[].concat(e).forEach((function(e){n.errors=n.errors.concat(e.errors||e),e.inner&&(n.inner=n.inner.concat(e.inner.length?e.inner:e))})),this.message=this.errors.length>1?this.errors.length+" errors occurred":this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,s)}s.prototype=Object.create(Error.prototype),s.prototype.constructor=s,s.isError=function(e){return e&&"ValidationError"===e.name},s.formatError=function(e,t){"string"==typeof e&&(e=i(e));var r=function(t){return t.path=t.label||t.path||"this","function"==typeof e?e(t):e};return 1===arguments.length?r:r(t)},e.exports=t.default},18830:(e,t,r)=>{"use strict";var A=r(19228),n=r(60087);t.__esModule=!0,t.default=void 0;var o=n(r(72912)),i=n(r(62407)),s=n(r(31490)),a=n(r(71665)),c=n(r(11050)),g=n(r(7045)),l=n(r(21043)),u=n(r(16434)),h=r(63802),p=A(r(80180));function d(){var e=(0,i.default)(["","[","]"]);return d=function(){return e},e}var C=f;function f(e){var t=this;if(!(this instanceof f))return new f(e);u.default.call(this,{type:"array"}),this._subType=void 0,this.withMutation((function(){t.transform((function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})),e&&t.of(e)}))}t.default=C,(0,s.default)(f,u.default,{_typeCheck:function(e){return Array.isArray(e)},_cast:function(e,t){var r=this,A=u.default.prototype._cast.call(this,e,t);if(!this._typeCheck(A)||!this._subType)return A;var n=!1,o=A.map((function(e){var A=r._subType.cast(e,t);return A!==e&&(n=!0),A}));return n?o:A},_validate:function(e,t){var r=this;void 0===t&&(t={});var A=[],n=t.sync,i=t.path,s=this._subType,a=this._option("abortEarly",t),c=this._option("recursive",t),l=null!=t.originalValue?t.originalValue:e;return u.default.prototype._validate.call(this,e,t).catch((0,p.propagateErrors)(a,A)).then((function(e){if(!c||!s||!r._typeCheck(e)){if(A.length)throw A[0];return e}l=l||e;var u=e.map((function(r,A){var n=(0,g.default)(d(),t.path,A),i=(0,o.default)({},t,{path:n,strict:!0,parent:e,originalValue:l[A]});return!s.validate||s.validate(r,i)}));return(0,p.default)({sync:n,path:i,value:e,errors:A,endEarly:a,validations:u})}))},_isPresent:function(e){return u.default.prototype._cast.call(this,e)&&e.length>0},of:function(e){var t=this.clone();if(!1!==e&&!(0,c.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema, or `false` to negate a current sub-schema. not: "+(0,l.default)(e));return t._subType=e,t},min:function(e,t){return t=t||h.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,a.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return t=t||h.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,a.default)(t)||t.length<=this.resolve(e)}})},ensure:function(){var e=this;return this.default((function(){return[]})).transform((function(t){return e.isType(t)?t:null===t?[]:[].concat(t)}))},compact:function(e){var t=e?function(t,r,A){return!e(t,r,A)}:function(e){return!!e};return this.transform((function(e){return null!=e?e.filter(t):e}))},describe:function(){var e=u.default.prototype.describe.call(this);return this._subType&&(e.innerType=this._subType.describe()),e}}),e.exports=t.default},76595:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(31490)),o=A(r(16434)),i=s;function s(){var e=this;if(!(this instanceof s))return new s;o.default.call(this,{type:"boolean"}),this.withMutation((function(){e.transform((function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(e))return!0;if(/^(false|0)$/i.test(e))return!1}return e}))}))}t.default=i,(0,n.default)(s,o.default,{_typeCheck:function(e){return e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e}}),e.exports=t.default},41755:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(16434)),o=A(r(31490)),i=A(r(76813)),s=r(63802),a=A(r(71665)),c=A(r(95814)),g=new Date(""),l=u;function u(){var e=this;if(!(this instanceof u))return new u;n.default.call(this,{type:"date"}),this.withMutation((function(){e.transform((function(e){return this.isType(e)?e:(e=(0,i.default)(e))?new Date(e):g}))}))}t.default=l,(0,o.default)(u,n.default,{_typeCheck:function(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t},min:function(e,t){void 0===t&&(t=s.date.min);var r=e;if(!c.default.isRef(r)&&(r=this.cast(e),!this._typeCheck(r)))throw new TypeError("`min` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(e){return(0,a.default)(e)||e>=this.resolve(r)}})},max:function(e,t){void 0===t&&(t=s.date.max);var r=e;if(!c.default.isRef(r)&&(r=this.cast(e),!this._typeCheck(r)))throw new TypeError("`max` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(e){return(0,a.default)(e)||e<=this.resolve(r)}})}}),e.exports=t.default},15966:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.addMethod=function(e,t,r){if(!e||!(0,d.default)(e.prototype))throw new TypeError("You must provide a yup schema constructor function");if("string"!=typeof t)throw new TypeError("A Method name must be provided");if("function"!=typeof r)throw new TypeError("Method function must be provided");e.prototype[t]=r},t.lazy=t.ref=t.boolean=void 0;var n=A(r(16434));t.mixed=n.default;var o=A(r(76595));t.bool=o.default;var i=A(r(45167));t.string=i.default;var s=A(r(72068));t.number=s.default;var a=A(r(41755));t.date=a.default;var c=A(r(51727));t.object=c.default;var g=A(r(18830));t.array=g.default;var l=A(r(95814)),u=A(r(6856)),h=A(r(40828));t.ValidationError=h.default;var p=A(r(43910));t.reach=p.default;var d=A(r(11050));t.isSchema=d.default;var C=A(r(24280));t.setLocale=C.default;var f=o.default;t.boolean=f;t.ref=function(e,t){return new l.default(e,t)};t.lazy=function(e){return new u.default(e)}},63802:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=t.array=t.object=t.boolean=t.date=t.number=t.string=t.mixed=void 0;var n=A(r(21043)),o={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:function(e){var t=e.path,r=e.type,A=e.value,o=e.originalValue,i=null!=o&&o!==A,s=t+" must be a `"+r+"` type, but the final value was: `"+(0,n.default)(A,!0)+"`"+(i?" (cast from the value `"+(0,n.default)(o,!0)+"`).":".");return null===A&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s}};t.mixed=o;var i={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};t.string=i;var s={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",notEqual:"${path} must be not equal to ${notEqual}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};t.number=s;var a={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};t.date=a;var c={};t.boolean=c;var g={noUnknown:"${path} field cannot have keys not specified in the object shape"};t.object=g;var l={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items"};t.array=l;var u={mixed:o,string:i,number:s,date:a,object:g,array:l,boolean:c};t.default=u},16434:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=I;var n=A(r(72912)),o=A(r(15215)),i=A(r(26052)),s=A(r(78700)),a=r(63802),c=A(r(94916)),g=A(r(80180)),l=A(r(22808)),u=A(r(11050)),h=A(r(54107)),p=A(r(21043)),d=A(r(95814)),C=r(43910),f=function(){function e(){this.list=new Set,this.refs=new Map}var t=e.prototype;return t.toArray=function(){return(0,s.default)(this.list).concat((0,s.default)(this.refs.values()))},t.add=function(e){d.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)},t.delete=function(e){d.default.isRef(e)?this.refs.delete(e.key,e):this.list.delete(e)},t.has=function(e,t){if(this.list.has(e))return!0;for(var r,A=this.refs.values();!(r=A.next()).done;)if(t(r.value)===e)return!0;return!1},e}();function I(e){var t=this;if(void 0===e&&(e={}),!(this instanceof I))return new I;this._deps=[],this._conditions=[],this._options={abortEarly:!0,recursive:!0},this._exclusive=Object.create(null),this._whitelist=new f,this._blacklist=new f,this.tests=[],this.transforms=[],this.withMutation((function(){t.typeError(a.mixed.notType)})),(0,o.default)(e,"default")&&(this._defaultDefault=e.default),this._type=e.type||"mixed"}for(var E=I.prototype={__isYupSchema__:!0,constructor:I,clone:function(){var e=this;return this._mutate?this:(0,i.default)(this,(function(t){if((0,u.default)(t)&&t!==e)return t}))},label:function(e){var t=this.clone();return t._label=e,t},meta:function(e){if(0===arguments.length)return this._meta;var t=this.clone();return t._meta=(0,n.default)(t._meta||{},e),t},withMutation:function(e){var t=this._mutate;this._mutate=!0;var r=e(this);return this._mutate=t,r},concat:function(e){if(!e||e===this)return this;if(e._type!==this._type&&"mixed"!==this._type)throw new TypeError("You cannot `concat()` schema's of different types: "+this._type+" and "+e._type);var t=(0,l.default)(e.clone(),this);return(0,o.default)(e,"_default")&&(t._default=e._default),t.tests=this.tests,t._exclusive=this._exclusive,t.withMutation((function(t){e.tests.forEach((function(e){t.test(e.OPTIONS)}))})),t},isType:function(e){return!(!this._nullable||null!==e)||(!this._typeCheck||this._typeCheck(e))},resolve:function(e){var t=this;if(t._conditions.length){var r=t._conditions;(t=t.clone())._conditions=[],t=(t=r.reduce((function(t,r){return r.resolve(t,e)}),t)).resolve(e)}return t},cast:function(e,t){void 0===t&&(t={});var r=this.resolve((0,n.default)({},t,{value:e})),A=r._cast(e,t);if(void 0!==e&&!1!==t.assert&&!0!==r.isType(A)){var o=(0,p.default)(e),i=(0,p.default)(A);throw new TypeError("The value of "+(t.path||"field")+' could not be cast to a value that satisfies the schema type: "'+r._type+'". \n\nattempted value: '+o+" \n"+(i!==o?"result of cast: "+i:""))}return A},_cast:function(e){var t=this,r=void 0===e?e:this.transforms.reduce((function(r,A){return A.call(t,r,e)}),e);return void 0===r&&(0,o.default)(this,"_default")&&(r=this.default()),r},_validate:function(e,t){var r=this;void 0===t&&(t={});var A=e,o=null!=t.originalValue?t.originalValue:e,i=this._option("strict",t),s=this._option("abortEarly",t),a=t.sync,c=t.path,l=this._label;i||(A=this._cast(A,(0,n.default)({assert:!1},t)));var u={value:A,path:c,schema:this,options:t,label:l,originalValue:o,sync:a},h=[];return this._typeError&&h.push(this._typeError(u)),this._whitelistError&&h.push(this._whitelistError(u)),this._blacklistError&&h.push(this._blacklistError(u)),(0,g.default)({validations:h,endEarly:s,value:A,path:c,sync:a}).then((function(e){return(0,g.default)({path:c,sync:a,value:e,endEarly:s,validations:r.tests.map((function(e){return e(u)}))})}))},validate:function(e,t){return void 0===t&&(t={}),this.resolve((0,n.default)({},t,{value:e}))._validate(e,t)},validateSync:function(e,t){var r,A;if(void 0===t&&(t={}),this.resolve((0,n.default)({},t,{value:e}))._validate(e,(0,n.default)({},t,{sync:!0})).then((function(e){return r=e})).catch((function(e){return A=e})),A)throw A;return r},isValid:function(e,t){return this.validate(e,t).then((function(){return!0})).catch((function(e){if("ValidationError"===e.name)return!1;throw e}))},isValidSync:function(e,t){try{return this.validateSync(e,t),!0}catch(e){if("ValidationError"===e.name)return!1;throw e}},getDefault:function(e){return void 0===e&&(e={}),this.resolve(e).default()},default:function(e){if(0===arguments.length){var t=(0,o.default)(this,"_default")?this._default:this._defaultDefault;return"function"==typeof t?t.call(this):(0,i.default)(t)}var r=this.clone();return r._default=e,r},strict:function(e){void 0===e&&(e=!0);var t=this.clone();return t._options.strict=e,t},_isPresent:function(e){return null!=e},required:function(e){return void 0===e&&(e=a.mixed.required),this.test({message:e,name:"required",exclusive:!0,test:function(e){return this.schema._isPresent(e)}})},notRequired:function(){var e=this.clone();return e.tests=e.tests.filter((function(e){return"required"!==e.OPTIONS.name})),e},nullable:function(e){void 0===e&&(e=!0);var t=this.clone();return t._nullable=e,t},transform:function(e){var t=this.clone();return t.transforms.push(e),t},test:function(){var e;if(void 0===(e=1===arguments.length?"function"==typeof(arguments.length<=0?void 0:arguments[0])?{test:arguments.length<=0?void 0:arguments[0]}:arguments.length<=0?void 0:arguments[0]:2===arguments.length?{name:arguments.length<=0?void 0:arguments[0],test:arguments.length<=1?void 0:arguments[1]}:{name:arguments.length<=0?void 0:arguments[0],message:arguments.length<=1?void 0:arguments[1],test:arguments.length<=2?void 0:arguments[2]}).message&&(e.message=a.mixed.default),"function"!=typeof e.test)throw new TypeError("`test` is a required parameters");var t=this.clone(),r=(0,h.default)(e),A=e.exclusive||e.name&&!0===t._exclusive[e.name];if(e.exclusive&&!e.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t._exclusive[e.name]=!!e.exclusive,t.tests=t.tests.filter((function(t){if(t.OPTIONS.name===e.name){if(A)return!1;if(t.OPTIONS.test===r.OPTIONS.test)return!1}return!0})),t.tests.push(r),t},when:function(e,t){1===arguments.length&&(t=e,e=".");var r=this.clone(),A=[].concat(e).map((function(e){return new d.default(e)}));return A.forEach((function(e){e.isSibling&&r._deps.push(e.key)})),r._conditions.push(new c.default(A,t)),r},typeError:function(e){var t=this.clone();return t._typeError=(0,h.default)({message:e,name:"typeError",test:function(e){return!(void 0!==e&&!this.schema.isType(e))||this.createError({params:{type:this.schema._type}})}}),t},oneOf:function(e,t){void 0===t&&(t=a.mixed.oneOf);var r=this.clone();return e.forEach((function(e){r._whitelist.add(e),r._blacklist.delete(e)})),r._whitelistError=(0,h.default)({message:t,name:"oneOf",test:function(e){if(void 0===e)return!0;var t=this.schema._whitelist;return!!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),r},notOneOf:function(e,t){void 0===t&&(t=a.mixed.notOneOf);var r=this.clone();return e.forEach((function(e){r._blacklist.add(e),r._whitelist.delete(e)})),r._blacklistError=(0,h.default)({message:t,name:"notOneOf",test:function(e){var t=this.schema._blacklist;return!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),r},strip:function(e){void 0===e&&(e=!0);var t=this.clone();return t._strip=e,t},_option:function(e,t){return(0,o.default)(t,e)?t[e]:this._options[e]},describe:function(){var e=this.clone();return{type:e._type,meta:e._meta,label:e._label,tests:e.tests.map((function(e){return{name:e.OPTIONS.name,params:e.OPTIONS.params}})).filter((function(e,t,r){return r.findIndex((function(t){return t.name===e.name}))===t}))}}},B=["validate","validateSync"],y=function(){var e=B[m];E[e+"At"]=function(t,r,A){void 0===A&&(A={});var o=(0,C.getIn)(this,t,r,A.context),i=o.parent,s=o.parentPath;return o.schema[e](i&&i[s],(0,n.default)({},A,{parent:i,path:t}))}},m=0;m{"use strict";var A=r(60087);t.__esModule=!0,t.default=c;var n=A(r(31490)),o=A(r(16434)),i=r(63802),s=A(r(71665)),a=function(e){return(0,s.default)(e)||e===(0|e)};function c(){var e=this;if(!(this instanceof c))return new c;o.default.call(this,{type:"number"}),this.withMutation((function(){e.transform((function(e){var t=e;if("string"==typeof t){if(""===(t=t.replace(/\s/g,"")))return NaN;t=+t}return this.isType(t)?t:parseFloat(t)}))}))}(0,n.default)(c,o.default,{_typeCheck:function(e){return e instanceof Number&&(e=e.valueOf()),"number"==typeof e&&!function(e){return e!=+e}(e)},min:function(e,t){return void 0===t&&(t=i.number.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=i.number.max),this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,s.default)(t)||t<=this.resolve(e)}})},lessThan:function(e,t){return void 0===t&&(t=i.number.lessThan),this.test({message:t,name:"max",exclusive:!0,params:{less:e},test:function(t){return(0,s.default)(t)||tthis.resolve(e)}})},positive:function(e){return void 0===e&&(e=i.number.positive),this.moreThan(0,e)},negative:function(e){return void 0===e&&(e=i.number.negative),this.lessThan(0,e)},integer:function(e){return void 0===e&&(e=i.number.integer),this.test({name:"integer",message:e,test:a})},truncate:function(){return this.transform((function(e){return(0,s.default)(e)?e:0|e}))},round:function(e){var t=["ceil","floor","round","trunc"];if("trunc"===(e=e&&e.toLowerCase()||"round"))return this.truncate();if(-1===t.indexOf(e.toLowerCase()))throw new TypeError("Only valid options for round() are: "+t.join(", "));return this.transform((function(t){return(0,s.default)(t)?t:Math[e](t)}))}}),e.exports=t.default},51727:(e,t,r)=>{"use strict";var A=r(19228),n=r(60087);t.__esModule=!0,t.default=w;var o=n(r(62407)),i=n(r(72912)),s=n(r(15215)),a=n(r(36494)),c=n(r(89170)),g=n(r(5253)),l=n(r(89612)),u=r(79588),h=n(r(16434)),p=r(63802),d=n(r(18417)),C=n(r(23316)),f=n(r(31490)),I=n(r(7045)),E=A(r(80180));function B(){var e=(0,o.default)(["",".",""]);return B=function(){return e},e}function y(){var e=(0,o.default)(["",".",""]);return y=function(){return e},e}var m=function(e){return"[object Object]"===Object.prototype.toString.call(e)};function w(e){var t=this;if(!(this instanceof w))return new w(e);h.default.call(this,{type:"object",default:function(){var e=this;if(this._nodes.length){var t={};return this._nodes.forEach((function(r){t[r]=e.fields[r].default?e.fields[r].default():void 0})),t}}}),this.fields=Object.create(null),this._nodes=[],this._excludedEdges=[],this.withMutation((function(){t.transform((function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})),e&&t.shape(e)}))}(0,f.default)(w,h.default,{_typeCheck:function(e){return m(e)||"function"==typeof e},_cast:function(e,t){var r=this;void 0===t&&(t={});var A=h.default.prototype._cast.call(this,e,t);if(void 0===A)return this.default();if(!this._typeCheck(A))return A;var n=this.fields,o=!0===this._option("stripUnknown",t),a=this._nodes.concat(Object.keys(A).filter((function(e){return-1===r._nodes.indexOf(e)}))),c={},g=(0,i.default)({},t,{parent:c,__validating:!1}),l=!1;return a.forEach((function(e){var r=n[e],i=(0,s.default)(A,e);if(r){var a,u=r._options&&r._options.strict;if(g.path=(0,I.default)(y(),t.path,e),g.value=A[e],!0===(r=r.resolve(g))._strip)return void(l=l||e in A);void 0!==(a=t.__validating&&u?A[e]:r.cast(A[e],g))&&(c[e]=a)}else i&&!o&&(c[e]=A[e]);c[e]!==A[e]&&(l=!0)})),l?c:A},_validate:function(e,t){var r,A,n=this;void 0===t&&(t={});var o=t.sync,s=[],a=null!=t.originalValue?t.originalValue:e;return r=this._option("abortEarly",t),A=this._option("recursive",t),t=(0,i.default)({},t,{__validating:!0,originalValue:a}),h.default.prototype._validate.call(this,e,t).catch((0,E.propagateErrors)(r,s)).then((function(e){if(!A||!m(e)){if(s.length)throw s[0];return e}a=a||e;var c=n._nodes.map((function(r){var A=(0,I.default)(B(),t.path,r),o=n.fields[r],s=(0,i.default)({},t,{path:A,parent:e,originalValue:a[r]});return o&&o.validate?(s.strict=!0,o.validate(e[r],s)):Promise.resolve(!0)}));return(0,E.default)({sync:o,validations:c,value:e,errors:s,endEarly:r,path:t.path,sort:(0,C.default)(n.fields)})}))},concat:function(e){var t=h.default.prototype.concat.call(this,e);return t._nodes=(0,d.default)(t.fields,t._excludedEdges),t},shape:function(e,t){void 0===t&&(t=[]);var r=this.clone(),A=(0,i.default)(r.fields,e);if(r.fields=A,t.length){Array.isArray(t[0])||(t=[t]);var n=t.map((function(e){return e[0]+"-"+e[1]}));r._excludedEdges=r._excludedEdges.concat(n)}return r._nodes=(0,d.default)(A,r._excludedEdges),r},from:function(e,t,r){var A=(0,u.getter)(e,!0);return this.transform((function(n){if(null==n)return n;var o=n;return(0,s.default)(n,e)&&(o=(0,i.default)({},n),r||delete o[e],o[t]=A(n)),o}))},noUnknown:function(e,t){void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),"string"==typeof e&&(t=e,e=!0);var r=this.test({name:"noUnknown",exclusive:!0,message:t,test:function(t){return null==t||!e||0===function(e,t){var r=Object.keys(e.fields);return Object.keys(t).filter((function(e){return-1===r.indexOf(e)}))}(this.schema,t).length}});return r._options.stripUnknown=e,r},unknown:function(e,t){return void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),this.noUnknown(!e,t)},transformKeys:function(e){return this.transform((function(t){return t&&(0,g.default)(t,(function(t,r){return e(r)}))}))},camelCase:function(){return this.transformKeys(c.default)},snakeCase:function(){return this.transformKeys(a.default)},constantCase:function(){return this.transformKeys((function(e){return(0,a.default)(e).toUpperCase()}))},describe:function(){var e=h.default.prototype.describe.call(this);return e.fields=(0,l.default)(this.fields,(function(e){return e.describe()})),e}}),e.exports=t.default},24280:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e){Object.keys(e).forEach((function(t){Object.keys(e[t]).forEach((function(r){n.default[t][r]=e[t][r]}))}))};var n=A(r(63802));e.exports=t.default},45167:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=l;var n=A(r(31490)),o=A(r(16434)),i=r(63802),s=A(r(71665)),a=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,c=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,g=function(e){return(0,s.default)(e)||e===e.trim()};function l(){var e=this;if(!(this instanceof l))return new l;o.default.call(this,{type:"string"}),this.withMutation((function(){e.transform((function(e){return this.isType(e)?e:null!=e&&e.toString?e.toString():e}))}))}(0,n.default)(l,o.default,{_typeCheck:function(e){return e instanceof String&&(e=e.valueOf()),"string"==typeof e},_isPresent:function(e){return o.default.prototype._cast.call(this,e)&&e.length>0},length:function(e,t){return void 0===t&&(t=i.string.length),this.test({message:t,name:"length",exclusive:!0,params:{length:e},test:function(t){return(0,s.default)(t)||t.length===this.resolve(e)}})},min:function(e,t){return void 0===t&&(t=i.string.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=i.string.max),this.test({name:"max",exclusive:!0,message:t,params:{max:e},test:function(t){return(0,s.default)(t)||t.length<=this.resolve(e)}})},matches:function(e,t){var r,A=!1;return t&&(t.message||t.hasOwnProperty("excludeEmptyString")?(A=t.excludeEmptyString,r=t.message):r=t),this.test({message:r||i.string.matches,params:{regex:e},test:function(t){return(0,s.default)(t)||""===t&&A||e.test(t)}})},email:function(e){return void 0===e&&(e=i.string.email),this.matches(a,{message:e,excludeEmptyString:!0})},url:function(e){return void 0===e&&(e=i.string.url),this.matches(c,{message:e,excludeEmptyString:!0})},ensure:function(){return this.default("").transform((function(e){return null===e?"":e}))},trim:function(e){return void 0===e&&(e=i.string.trim),this.transform((function(e){return null!=e?e.trim():e})).test({message:e,name:"trim",test:g})},lowercase:function(e){return void 0===e&&(e=i.string.lowercase),this.transform((function(e){return(0,s.default)(e)?e:e.toLowerCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toLowerCase()}})},uppercase:function(e){return void 0===e&&(e=i.string.uppercase),this.transform((function(e){return(0,s.default)(e)?e:e.toUpperCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toUpperCase()}})}}),e.exports=t.default},54107:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.createErrorFactory=l,t.default=function(e){var t=e.name,r=e.message,A=e.test,i=e.params;function g(e){var g=e.value,u=e.path,h=e.label,p=e.options,d=e.originalValue,C=e.sync,f=(0,n.default)(e,["value","path","label","options","originalValue","sync"]),I=p.parent,E=function(e){return a.default.isRef(e)?e.getValue({value:g,parent:I,context:p.context}):e},B=l({message:r,path:u,value:g,originalValue:d,params:i,label:h,resolve:E,name:t}),y=(0,o.default)({path:u,parent:I,type:t,createError:B,resolve:E,options:p},f);return function(e,t,r,A){var n=e.call(t,r);if(!A)return Promise.resolve(n);if(o=n,o&&"function"==typeof o.then&&"function"==typeof o.catch)throw new Error('Validation test of type: "'+t.type+'" returned a Promise during a synchronous validate. This test will finish after the validate call has returned');var o;return c.SynchronousPromise.resolve(n)}(A,y,g,C).then((function(e){if(s.default.isError(e))throw e;if(!e)throw B()}))}return g.OPTIONS=e,g};var n=A(r(74943)),o=A(r(72912)),i=A(r(89612)),s=A(r(40828)),a=A(r(95814)),c=r(93255),g=s.default.formatError;function l(e){var t=e.value,r=e.label,A=e.resolve,a=e.originalValue,c=(0,n.default)(e,["value","label","resolve","originalValue"]);return function(e){var n=void 0===e?{}:e,l=n.path,u=void 0===l?c.path:l,h=n.message,p=void 0===h?c.message:h,d=n.type,C=void 0===d?c.name:d,f=n.params;return f=(0,o.default)({path:u,value:t,originalValue:a,label:r},function(e,t,r){return(0,i.default)((0,o.default)({},e,t),r)}(c.params,f,A)),(0,o.default)(new s.default(g(p,f),t,u,C),{params:f})}}},31490:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e,t,r){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),(0,n.default)(e.prototype,r)};var n=A(r(72912));e.exports=t.default},71665:(e,t)=>{"use strict";t.__esModule=!0,t.default=void 0;t.default=function(e){return null==e},e.exports=t.default},11050:(e,t)=>{"use strict";t.__esModule=!0,t.default=void 0;t.default=function(e){return e&&e.__isYupSchema__},e.exports=t.default},76813:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){var t,A,n=[1,4,5,6,7,10,11],o=0;if(A=r.exec(e)){for(var i,s=0;i=n[s];++s)A[i]=+A[i]||0;A[2]=(+A[2]||1)-1,A[3]=+A[3]||1,A[7]=A[7]?String(A[7]).substr(0,3):0,void 0!==A[8]&&""!==A[8]||void 0!==A[9]&&""!==A[9]?("Z"!==A[8]&&void 0!==A[9]&&(o=60*A[10]+A[11],"+"===A[9]&&(o=0-o)),t=Date.UTC(A[1],A[2],A[3],A[4],A[5]+o,A[6],A[7])):t=+new Date(A[1],A[2],A[3],A[4],A[5],A[6],A[7])}else t=Date.parse?Date.parse(e):NaN;return t};var r=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;e.exports=t.default},7045:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),A=1;A{"use strict";var A=r(60087);t.__esModule=!0,t.default=function e(t,r){for(var A in r)if((0,n.default)(r,A)){var s=r[A],a=t[A];if(void 0===a)t[A]=s;else{if(a===s)continue;(0,o.default)(a)?(0,o.default)(s)&&(t[A]=s.concat(a)):i(a)?i(s)&&(t[A]=e(a,s)):Array.isArray(a)&&Array.isArray(s)&&(t[A]=s.concat(a))}}return t};var n=A(r(15215)),o=A(r(11050)),i=function(e){return"[object Object]"===Object.prototype.toString.call(e)};e.exports=t.default},21043:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e,t){var r=s(e,t);return null!==r?r:JSON.stringify(e,(function(e,r){var A=s(this[e],t);return null!==A?A:r}),2)};var r=Object.prototype.toString,A=Error.prototype.toString,n=RegExp.prototype.toString,o="undefined"!=typeof Symbol?Symbol.prototype.toString:function(){return""},i=/^Symbol\((.*)\)(.*)$/;function s(e,t){if(void 0===t&&(t=!1),null==e||!0===e||!1===e)return""+e;var s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?'"'+e+'"':e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return o.call(e).replace(i,"Symbol($1)");var a=r.call(e).slice(8,-1);return"Date"===a?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===a||e instanceof Error?"["+A.call(e)+"]":"RegExp"===a?n.call(e):null}e.exports=t.default},43910:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.getIn=i,t.default=void 0;var n=r(79588),o=A(r(15215));function i(e,t,r,A){var i,s,a;return A=A||r,t?((0,n.forEach)(t,(function(n,c,g){var l=c?function(e){return e.substr(0,e.length-1).substr(1)}(n):n;if(g||(0,o.default)(e,"_subType")){var u=g?parseInt(l,10):0;if(e=e.resolve({context:A,parent:i,value:r})._subType,r){if(g&&u>=r.length)throw new Error("Yup.reach cannot resolve an array item at index: "+n+", in the path: "+t+". because there is no value at that index. ");r=r[u]}}if(!g){if(e=e.resolve({context:A,parent:i,value:r}),!(0,o.default)(e,"fields")||!(0,o.default)(e.fields,l))throw new Error("The schema does not contain the path: "+t+". (failed at: "+a+' which is a type: "'+e._type+'") ');e=e.fields[l],i=r,r=r&&r[l],s=l,a=c?"["+n+"]":"."+n}})),{schema:e,parent:i,parentPath:s}):{parent:i,parentPath:t,schema:e}}var s=function(e,t,r,A){return i(e,t,r,A).schema};t.default=s},80180:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.propagateErrors=function(e,t){return e?null:function(e){return t.push(e),e.value}},t.settled=a,t.collectErrors=c,t.default=function(e){var t=e.endEarly,r=(0,n.default)(e,["endEarly"]);return t?function(e,t,r){return s(r).all(e).catch((function(e){throw"ValidationError"===e.name&&(e.value=t),e})).then((function(){return t}))}(r.validations,r.value,r.sync):c(r)};var n=A(r(74943)),o=r(93255),i=A(r(40828)),s=function(e){return e?o.SynchronousPromise:Promise};function a(e,t){var r=s(t);return r.all(e.map((function(e){return r.resolve(e).then((function(e){return{fulfilled:!0,value:e}}),(function(e){return{fulfilled:!1,value:e}}))})))}function c(e){var t=e.validations,r=e.value,A=e.path,n=e.sync,o=e.errors,s=e.sort;return o=function(e){return void 0===e&&(e=[]),e.inner&&e.inner.length?e.inner:[].concat(e)}(o),a(t,n).then((function(e){var t=e.filter((function(e){return!e.fulfilled})).reduce((function(e,t){var r=t.value;if(!i.default.isError(r))throw r;return e.concat(r)}),[]);if(s&&t.sort(s),(o=t.concat(o)).length)throw new i.default(o,r,A);return r}))}},23316:(e,t)=>{"use strict";function r(e,t){var r=1/0;return e.some((function(e,A){if(-1!==t.path.indexOf(e))return r=A,!0})),r}t.__esModule=!0,t.default=function(e){var t=Object.keys(e);return function(e,A){return r(t,e)-r(t,A)}},e.exports=t.default},18417:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e,t){void 0===t&&(t=[]);var r=[],A=[];function c(e,n){var o=(0,i.split)(e)[0];~A.indexOf(o)||A.push(o),~t.indexOf(n+"-"+o)||r.push([n,o])}for(var g in e)if((0,n.default)(e,g)){var l=e[g];~A.indexOf(g)||A.push(g),s.default.isRef(l)&&l.isSibling?c(l.path,g):(0,a.default)(l)&&l._deps&&l._deps.forEach((function(e){return c(e,g)}))}return o.default.array(A,r).reverse()};var n=A(r(15215)),o=A(r(75158)),i=r(79588),s=A(r(95814)),a=A(r(11050));e.exports=t.default},60306:e=>{"use strict";e.exports=JSON.parse('{"name":"@yarnpkg/cli","version":"2.4.2","license":"BSD-2-Clause","main":"./sources/index.ts","dependencies":{"@yarnpkg/core":"workspace:^2.4.0","@yarnpkg/fslib":"workspace:^2.4.0","@yarnpkg/libzip":"workspace:^2.2.1","@yarnpkg/parsers":"workspace:^2.3.0","@yarnpkg/plugin-compat":"workspace:^2.2.1","@yarnpkg/plugin-dlx":"workspace:^2.1.4","@yarnpkg/plugin-essentials":"workspace:^2.4.0","@yarnpkg/plugin-file":"workspace:^2.2.0","@yarnpkg/plugin-git":"workspace:^2.3.0","@yarnpkg/plugin-github":"workspace:^2.1.2","@yarnpkg/plugin-http":"workspace:^2.1.2","@yarnpkg/plugin-init":"workspace:^2.2.2","@yarnpkg/plugin-link":"workspace:^2.1.1","@yarnpkg/plugin-node-modules":"workspace:^2.3.0","@yarnpkg/plugin-npm":"workspace:^2.4.0","@yarnpkg/plugin-npm-cli":"workspace:^2.3.0","@yarnpkg/plugin-pack":"workspace:^2.2.3","@yarnpkg/plugin-patch":"workspace:^2.1.2","@yarnpkg/plugin-pnp":"workspace:^2.4.0","@yarnpkg/shell":"workspace:^2.4.1","chalk":"^3.0.0","ci-info":"^2.0.0","clipanion":"^2.6.2","fromentries":"^1.2.0","semver":"^7.1.2","tslib":"^1.13.0","yup":"^0.27.0"},"devDependencies":{"@types/ci-info":"^2","@types/yup":"0.26.12","@yarnpkg/builder":"workspace:^2.1.3","@yarnpkg/monorepo":"workspace:0.0.0","@yarnpkg/pnpify":"workspace:^2.4.0","micromatch":"^4.0.2","typescript":"4.1.0-beta"},"peerDependencies":{"@yarnpkg/core":"^2.4.0"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},"publishConfig":{"main":"./lib/index.js","types":"./lib/index.d.ts","bin":null},"files":["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{"bundles":{"standard":["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"engines":{"node":">=10.19.0"}}')},98497:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=98497,e.exports=t},32178:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=32178,e.exports=t},3368:(e,t,r)=>{var A,n=Object.assign({},r(35747)),o=void 0!==o?o:{},i={};for(A in o)o.hasOwnProperty(A)&&(i[A]=o[A]);var s,a,c,g,l=[],u="";u=__dirname+"/",s=function(e,t){var A=Qe(e);return A?t?A:A.toString():(c||(c=n),g||(g=r(85622)),e=g.normalize(e),c.readFileSync(e,t?null:"utf8"))},a=function(e){var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),E(t.buffer),t},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),l=process.argv.slice(2),e.exports=o,o.inspect=function(){return"[Emscripten Module object]"};var h=o.print||console.log.bind(console),p=o.printErr||console.warn.bind(console);for(A in i)i.hasOwnProperty(A)&&(o[A]=i[A]);i=null,o.arguments&&(l=o.arguments),o.thisProgram&&o.thisProgram,o.quit&&o.quit;var d,C;o.wasmBinary&&(d=o.wasmBinary),o.noExitRuntime&&o.noExitRuntime,"object"!=typeof WebAssembly&&_("no native wasm support detected");var f=new WebAssembly.Table({initial:31,maximum:31,element:"anyfunc"}),I=!1;function E(e,t){e||_("Assertion failed: "+t)}function B(e){var t=o["_"+e];return E(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function y(e,t,r,A,n){var o={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);b(e,t=xe(r),r)}return t},array:function(e){var t=xe(e.length);return function(e,t){K.set(e,t)}(e,t),t}};var i=B(e),s=[],a=0;if(A)for(var c=0;c=A);)++n;if(n-t>16&&e.subarray&&m)return m.decode(e.subarray(t,n));for(var o="";t>10,56320|1023&c)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o}function Q(e,t){return e?w(F,e,t):""}function D(e,t,r,A){if(!(A>0))return 0;for(var n=r,o=r+A-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(r>=o)break;t[r++]=s}else if(s<=2047){if(r+1>=o)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=o)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-n}function b(e,t,r){return D(e,F,t,r)}function v(e){for(var t=0,r=0;r=55296&&A<=57343&&(A=65536+((1023&A)<<10)|1023&e.charCodeAt(++r)),A<=127?++t:t+=A<=2047?2:A<=65535?3:4}return t}function S(e){var t=v(e)+1,r=Le(t);return r&&D(e,K,r,t),r}var k,K,F,N,M,R,x;function L(e){k=e,o.HEAP8=K=new Int8Array(e),o.HEAP16=N=new Int16Array(e),o.HEAP32=M=new Int32Array(e),o.HEAPU8=F=new Uint8Array(e),o.HEAPU16=new Uint16Array(e),o.HEAPU32=new Uint32Array(e),o.HEAPF32=R=new Float32Array(e),o.HEAPF64=x=new Float64Array(e)}var P=o.INITIAL_MEMORY||16777216;(C=o.wasmMemory?o.wasmMemory:new WebAssembly.Memory({initial:P/65536,maximum:32768}))&&(k=C.buffer),P=k.byteLength,L(k);var O=[],U=[],T=[],j=[];var Y=Math.abs,G=Math.ceil,H=Math.floor,J=Math.min,q=0,z=null,W=null;function X(e){q++,o.monitorRunDependencies&&o.monitorRunDependencies(q)}function V(e){if(q--,o.monitorRunDependencies&&o.monitorRunDependencies(q),0==q&&(null!==z&&(clearInterval(z),z=null),W)){var t=W;W=null,t()}}function _(e){throw o.onAbort&&o.onAbort(e),p(e+=""),I=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}o.preloadedImages={},o.preloadedAudios={};function Z(e){return t=e,r="data:application/octet-stream;base64,",String.prototype.startsWith?t.startsWith(r):0===t.indexOf(r);var t,r}var $,ee,te,re="data:application/octet-stream;base64,AGFzbQEAAAAB0QIwYAF/AX9gA39/fwF/YAJ/fwF/YAF/AGACf38AYAR/f39/AX9gBX9/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gAn9+AX9gA39+fwF/YAF/AX5gBX9/f35/AX5gA39/fgF+YAR/f35/AX5gA39+fwF+YAN/f34Bf2AEf39+fwF/YAR/f39/AX5gBH9/f38AYAZ/f39/f38Bf2AFf39+f38Bf2ACfn8Bf2ADf39/AX5gBH9+fn8AYAN/fH8AYAV/fn9/fwF/YAZ/fH9/f38Bf2ACf38BfmAAAGAFf39/f38AYAV/f39+fwBgAn9+AGADf35/AGACf3wAYAN/fHwAYAR/f35+AX9gBH9+fn8Bf2AIf35+f39/fn8Bf2ABfgF/YAN+f38Bf2AFf39/f38BfmAEf39/fgF+YAJ/fgF+YAV+fn9+fwF+YAJ+fgF8YAJ8fwF8ApIBFwFhAWMAAwFhAWQAAAFhAWUAAgFhAWYABQFhAWcAAQFhAWgAAAFhAWkAAAFhAWoAAgFhAWsAAgFhAWwAAgFhAW0AAgFhAW4ABgFhAW8AAAFhAXAABQFhAXEAAQFhAXIAAgFhAXMAAQFhAXQAAQFhAXUAAAFhAXYAAQFhAXcAAAFhAWECAYACgIACAWEBYgFwAB8DgQP/AgcDAwQAAQEDAwAKBAQPBwMDAx8LFAoAAAohDgwMAAcDDBEdAwIDAgMAAQMHCA4XBAgABQAADAAEAggIBQUAAQATAxQjAQECAwMBBgYSAwMFGAEIAwEDAAACGAcGARUBAAcEAiASCAIAFicQAgECAAYCAgIABgQAAy0FAAEBAQQACwsCAgwMAAIIGxsTCgcALwIBAAoWAQEDBgIBAgIABwcHBAMDAwMsEgsICAsBKgcBCxcKAAIJDgMJCgACAAUAAQEBAAMGAAUFBgYGAQIFBQUGFRUFAQEAAwkABQgCCBYSAgoBAgEAAgAADyYAAQEQAAICCQAJAwEAAgQAAB0OCwEACAAAABMAGAgMBAoCAgACAQcEHBcpBwEACQkJLhkZAhERCgECAAAADSsEDQUFAAEBAxEAAAADAQABAAMAAAIAAAQCAgICAgMJAwAAAgIHBBQAAAMDAwEEAQICDQYPDgsPAAokAwMDKCITAwMABAMCAg0lEAkEAgICCQAOAAkeBgkBfwFB0KHBAgsHsQI5AXgAkwMBeQCSAwF6AN0CAUEAlwIBQgDXAQFDANMBAUQAzwEBRQDNAQFGAMoBAUcAyAEBSACRAwFJAI8DAUoAugIBSwDqAQFMAOkBAU0APwFOAL8CAU8AmQIBUACYAgFRAKMCAVIAmwIBUwDoAQFUAOcBAVUA5gEBVgDlAQFXAJQCAVgA5AEBWQDjAQFaAOIBAV8A4QEBJADgAQJhYQD5AQJiYQCSAQJjYQDfAQJkYQDeAQJlYQDdAQJmYQAyAmdhAM8CAmhhABwCaWEA2AECamEASQJrYQDcAQJsYQDbAQJtYQBtAm5hANoBAm9hAO8BAnBhANkBAnFhAO4BAnJhAIkDAnNhALACAnRhAK8CAnVhAK4CAnZhAO0BAndhAOwBAnhhAOsBAnlhABkCemEAFglBAQBBAQsehgP1AvAC8QLtAuwCsQHYAtcCzALLAsoCyQLIAscCxgLFAsQCwAK9AqgCpwKlAqICW4MCggKBAoAC/gEK05oJ/wJAAQF/IwBBEGsiAyAANgIMIAMgATYCCCADIAI2AgQgAygCDARAIAMoAgwgAygCCDYCACADKAIMIAMoAgQ2AgQLC6oNAQd/AkAgAEUNACAAQXhqIgMgAEF8aigCACIBQXhxIgBqIQUCQCABQQFxDQAgAUEDcUUNASADIAMoAgAiAmsiA0HInAEoAgAiBEkNASAAIAJqIQAgA0HMnAEoAgBHBEAgAkH/AU0EQCADKAIIIgQgAkEDdiICQQN0QeCcAWpHGiAEIAMoAgwiAUYEQEG4nAFBuJwBKAIAQX4gAndxNgIADAMLIAQgATYCDCABIAQ2AggMAgsgAygCGCEGAkAgAyADKAIMIgFHBEAgBCADKAIIIgJNBEAgAigCDBoLIAIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeieAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbycAUG8nAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQcCcASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgBSADTQ0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHQnAEoAgBGBEBB0JwBIAM2AgBBxJwBQcScASgCACAAaiIANgIAIAMgAEEBcjYCBCADQcycASgCAEcNA0HAnAFBADYCAEHMnAFBADYCAA8LIAVBzJwBKAIARgRAQcycASADNgIAQcCcAUHAnAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIMIQIgBSgCCCIEIAFBA3YiAUEDdEHgnAFqIgdHBEBByJwBKAIAGgsgAiAERgRAQbicAUG4nAEoAgBBfiABd3E2AgAMAgsgAiAHRwRAQcicASgCABoLIAQgAjYCDCACIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEBByJwBKAIAIAUoAggiAk0EQCACKAIMGgsgAiABNgIMIAEgAjYCCAwBCwJAIAVBFGoiAigCACIEDQAgBUEQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0AAkAgBSAFKAIcIgJBAnRB6J4BaiIEKAIARgRAIAQgATYCACABDQFBvJwBQbycASgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogATYCACABRQ0BCyABIAY2AhggBSgCECICBEAgASACNgIQIAIgATYCGAsgBSgCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgAEEBcjYCBCAAIANqIAA2AgAgA0HMnAEoAgBHDQFBwJwBIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RB4JwBaiEAAn9BuJwBKAIAIgJBASABdCIBcUUEQEG4nAEgASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwsgA0IANwIQIAMCf0EAIABBCHYiAUUNABpBHyAAQf///wdLDQAaIAEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGAgA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGoLIgI2AhwgAkECdEHongFqIQECQAJAAkBBvJwBKAIAIgRBASACdCIHcUUEQEG8nAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdicAUHYnAEoAgBBf2oiADYCACAADQBBgKABIQMDQCADKAIAIgBBCGohAyAADQALQdicAUF/NgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFgsgASgCDBAWCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBEIAJBEGokAAvcLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQbicASgCACIGQRAgAEELakF4cSAAQQtJGyIFQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgJBA3QiBUHonAFqKAIAIgFBCGohAAJAIAEoAggiAyAFQeCcAWoiBUYEQEG4nAEgBkF+IAJ3cTYCAAwBC0HInAEoAgAaIAMgBTYCDCAFIAM2AggLIAEgAkEDdCICQQNyNgIEIAEgAmoiASABKAIEQQFyNgIEDA0LIAVBwJwBKAIAIghNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxIgBBACAAa3FBf2oiACAAQQx2QRBxIgB2IgFBBXZBCHEiAiAAciABIAJ2IgBBAnZBBHEiAXIgACABdiIAQQF2QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2aiICQQN0IgNB6JwBaigCACIBKAIIIgAgA0HgnAFqIgNGBEBBuJwBIAZBfiACd3EiBjYCAAwBC0HInAEoAgAaIAAgAzYCDCADIAA2AggLIAFBCGohACABIAVBA3I2AgQgASAFaiIEIAJBA3QiAiAFayIDQQFyNgIEIAEgAmogAzYCACAIBEAgCEEDdiIFQQN0QeCcAWohAUHMnAEoAgAhAgJ/IAZBASAFdCIFcUUEQEG4nAEgBSAGcjYCACABDAELIAEoAggLIQUgASACNgIIIAUgAjYCDCACIAE2AgwgAiAFNgIIC0HMnAEgBDYCAEHAnAEgAzYCAAwNC0G8nAEoAgAiCkUNASAKQQAgCmtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRB6J4BaigCACIBKAIEQXhxIAVrIQQgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAVrIgIgBCACIARJIgIbIQQgACABIAIbIQEgACECDAELCyABIAVqIgsgAU0NAiABKAIYIQkgASABKAIMIgNHBEBByJwBKAIAIAEoAggiAE0EQCAAKAIMGgsgACADNgIMIAMgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgNBFGoiAigCACIADQAgA0EQaiECIAMoAhAiAA0ACyAHQQA2AgAMCwtBfyEFIABBv39LDQAgAEELaiIAQXhxIQVBvJwBKAIAIghFDQBBACAFayEEAkACQAJAAn9BACAAQQh2IgBFDQAaQR8gBUH///8HSw0AGiAAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCICIAJBgIAPakEQdkECcSICdEEPdiAAIAFyIAJyayIAQQF0IAUgAEEVanZBAXFyQRxqCyIHQQJ0QeieAWooAgAiAkUEQEEAIQAMAQtBACEAIAVBAEEZIAdBAXZrIAdBH0YbdCEBA0ACQCACKAIEQXhxIAVrIgYgBE8NACACIQMgBiIEDQBBACEEIAIhAAwDCyAAIAIoAhQiBiAGIAIgAUEddkEEcWooAhAiAkYbIAAgBhshACABQQF0IQEgAg0ACwsgACADckUEQEECIAd0IgBBACAAa3IgCHEiAEUNAyAAQQAgAGtxQX9qIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRB6J4BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgBWsiAiAESSEBIAIgBCABGyEEIAAgAyABGyEDIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIANFDQAgBEHAnAEoAgAgBWtPDQAgAyAFaiIHIANNDQEgAygCGCEJIAMgAygCDCIBRwRAQcicASgCACADKAIIIgBNBEAgACgCDBoLIAAgATYCDCABIAA2AggMCgsgA0EUaiICKAIAIgBFBEAgAygCECIARQ0EIANBEGohAgsDQCACIQYgACIBQRRqIgIoAgAiAA0AIAFBEGohAiABKAIQIgANAAsgBkEANgIADAkLQcCcASgCACIBIAVPBEBBzJwBKAIAIQACQCABIAVrIgJBEE8EQEHAnAEgAjYCAEHMnAEgACAFaiIDNgIAIAMgAkEBcjYCBCAAIAFqIAI2AgAgACAFQQNyNgIEDAELQcycAUEANgIAQcCcAUEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAsgAEEIaiEADAsLQcScASgCACIBIAVLBEBBxJwBIAEgBWsiATYCAEHQnAFB0JwBKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwLC0EAIQAgBUEvaiIEAn9BkKABKAIABEBBmKABKAIADAELQZygAUJ/NwIAQZSgAUKAoICAgIAENwIAQZCgASAMQQxqQXBxQdiq1aoFczYCAEGkoAFBADYCAEH0nwFBADYCAEGAIAsiAmoiBkEAIAJrIgdxIgIgBU0NCkHwnwEoAgAiAwRAQeifASgCACIIIAJqIgkgCE0NCyAJIANLDQsLQfSfAS0AAEEEcQ0FAkACQEHQnAEoAgAiAwRAQfifASEAA0AgACgCACIIIANNBEAgCCAAKAIEaiADSw0DCyAAKAIIIgANAAsLQQAQPSIBQX9GDQYgAiEGQZSgASgCACIAQX9qIgMgAXEEQCACIAFrIAEgA2pBACAAa3FqIQYLIAYgBU0NBiAGQf7///8HSw0GQfCfASgCACIABEBB6J8BKAIAIgMgBmoiByADTQ0HIAcgAEsNBwsgBhA9IgAgAUcNAQwICyAGIAFrIAdxIgZB/v///wdLDQUgBhA9IgEgACgCACAAKAIEakYNBCABIQALAkAgBUEwaiAGTQ0AIABBf0YNAEGYoAEoAgAiASAEIAZrakEAIAFrcSIBQf7///8HSwRAIAAhAQwICyABED1Bf0cEQCABIAZqIQYgACEBDAgLQQAgBmsQPRoMBQsgACIBQX9HDQYMBAsAC0EAIQMMBwtBACEBDAULIAFBf0cNAgtB9J8BQfSfASgCAEEEcjYCAAsgAkH+////B0sNASACED0iAUEAED0iAE8NASABQX9GDQEgAEF/Rg0BIAAgAWsiBiAFQShqTQ0BC0HonwFB6J8BKAIAIAZqIgA2AgAgAEHsnwEoAgBLBEBB7J8BIAA2AgALAkACQAJAQdCcASgCACIEBEBB+J8BIQADQCABIAAoAgAiAiAAKAIEIgNqRg0CIAAoAggiAA0ACwwCC0HInAEoAgAiAEEAIAEgAE8bRQRAQcicASABNgIAC0EAIQBB/J8BIAY2AgBB+J8BIAE2AgBB2JwBQX82AgBB3JwBQZCgASgCADYCAEGEoAFBADYCAANAIABBA3QiAkHonAFqIAJB4JwBaiIDNgIAIAJB7JwBaiADNgIAIABBAWoiAEEgRw0AC0HEnAEgBkFYaiIAQXggAWtBB3FBACABQQhqQQdxGyICayIDNgIAQdCcASABIAJqIgI2AgAgAiADQQFyNgIEIAAgAWpBKDYCBEHUnAFBoKABKAIANgIADAILIAAtAAxBCHENACABIARNDQAgAiAESw0AIAAgAyAGajYCBEHQnAEgBEF4IARrQQdxQQAgBEEIakEHcRsiAGoiATYCAEHEnAFBxJwBKAIAIAZqIgIgAGsiADYCACABIABBAXI2AgQgAiAEakEoNgIEQdScAUGgoAEoAgA2AgAMAQsgAUHInAEoAgAiA0kEQEHInAEgATYCACABIQMLIAEgBmohAkH4nwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB+J8BIQADQCAAKAIAIgIgBE0EQCACIAAoAgRqIgMgBEsNAwsgACgCCCEADAAACwALIAAgATYCACAAIAAoAgQgBmo2AgQgAUF4IAFrQQdxQQAgAUEIakEHcRtqIgkgBUEDcjYCBCACQXggAmtBB3FBACACQQhqQQdxG2oiASAJayAFayEAIAUgCWohByABIARGBEBB0JwBIAc2AgBBxJwBQcScASgCACAAaiIANgIAIAcgAEEBcjYCBAwDCyABQcycASgCAEYEQEHMnAEgBzYCAEHAnAFBwJwBKAIAIABqIgA2AgAgByAAQQFyNgIEIAAgB2ogADYCAAwDCyABKAIEIgJBA3FBAUYEQCACQXhxIQoCQCACQf8BTQRAIAEoAggiAyACQQN2IgVBA3RB4JwBakcaIAMgASgCDCICRgRAQbicAUG4nAEoAgBBfiAFd3E2AgAMAgsgAyACNgIMIAIgAzYCCAwBCyABKAIYIQgCQCABIAEoAgwiBkcEQCADIAEoAggiAk0EQCACKAIMGgsgAiAGNgIMIAYgAjYCCAwBCwJAIAFBFGoiBCgCACIFDQAgAUEQaiIEKAIAIgUNAEEAIQYMAQsDQCAEIQIgBSIGQRRqIgQoAgAiBQ0AIAZBEGohBCAGKAIQIgUNAAsgAkEANgIACyAIRQ0AAkAgASABKAIcIgJBAnRB6J4BaiIDKAIARgRAIAMgBjYCACAGDQFBvJwBQbycASgCAEF+IAJ3cTYCAAwCCyAIQRBBFCAIKAIQIAFGG2ogBjYCACAGRQ0BCyAGIAg2AhggASgCECICBEAgBiACNgIQIAIgBjYCGAsgASgCFCICRQ0AIAYgAjYCFCACIAY2AhgLIAEgCmohASAAIApqIQALIAEgASgCBEF+cTYCBCAHIABBAXI2AgQgACAHaiAANgIAIABB/wFNBEAgAEEDdiIBQQN0QeCcAWohAAJ/QbicASgCACICQQEgAXQiAXFFBEBBuJwBIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgBzYCCCABIAc2AgwgByAANgIMIAcgATYCCAwDCyAHAn9BACAAQQh2IgFFDQAaQR8gAEH///8HSw0AGiABIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIDIANBgIAPakEQdkECcSIDdEEPdiABIAJyIANyayIBQQF0IAAgAUEVanZBAXFyQRxqCyIBNgIcIAdCADcCECABQQJ0QeieAWohAgJAQbycASgCACIDQQEgAXQiBXFFBEBBvJwBIAMgBXI2AgAgAiAHNgIADAELIABBAEEZIAFBAXZrIAFBH0YbdCEEIAIoAgAhAQNAIAEiAigCBEF4cSAARg0DIARBHXYhASAEQQF0IQQgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQCyAHIAI2AhggByAHNgIMIAcgBzYCCAwCC0HEnAEgBkFYaiIAQXggAWtBB3FBACABQQhqQQdxGyICayIHNgIAQdCcASABIAJqIgI2AgAgAiAHQQFyNgIEIAAgAWpBKDYCBEHUnAFBoKABKAIANgIAIAQgA0EnIANrQQdxQQAgA0FZakEHcRtqQVFqIgAgACAEQRBqSRsiAkEbNgIEIAJBgKABKQIANwIQIAJB+J8BKQIANwIIQYCgASACQQhqNgIAQfyfASAGNgIAQfifASABNgIAQYSgAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAMgAUsNAAsgAiAERg0DIAIgAigCBEF+cTYCBCAEIAIgBGsiA0EBcjYCBCACIAM2AgAgA0H/AU0EQCADQQN2IgFBA3RB4JwBaiEAAn9BuJwBKAIAIgJBASABdCIBcUUEQEG4nAEgASACcjYCACAADAELIAAoAggLIQEgACAENgIIIAEgBDYCDCAEIAA2AgwgBCABNgIIDAQLIARCADcCECAEAn9BACADQQh2IgBFDQAaQR8gA0H///8HSw0AGiAAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCICIAJBgIAPakEQdkECcSICdEEPdiAAIAFyIAJyayIAQQF0IAMgAEEVanZBAXFyQRxqCyIANgIcIABBAnRB6J4BaiEBAkBBvJwBKAIAIgJBASAAdCIGcUUEQEG8nAEgAiAGcjYCACABIAQ2AgAgBCABNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAEoAgAhAQNAIAEiAigCBEF4cSADRg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIGKAIQIgENAAsgBiAENgIQIAQgAjYCGAsgBCAENgIMIAQgBDYCCAwDCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLQcScASgCACIAIAVNDQBBxJwBIAAgBWsiATYCAEHQnAFB0JwBKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAwDC0G0nAFBMDYCAEEAIQAMAgsCQCAJRQ0AAkAgAygCHCIAQQJ0QeieAWoiAigCACADRgRAIAIgATYCACABDQFBvJwBIAhBfiAAd3EiCDYCAAwCCyAJQRBBFCAJKAIQIANGG2ogATYCACABRQ0BCyABIAk2AhggAygCECIABEAgASAANgIQIAAgATYCGAsgAygCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgBEEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBUEDcjYCBCAHIARBAXI2AgQgBCAHaiAENgIAIARB/wFNBEAgBEEDdiIBQQN0QeCcAWohAAJ/QbicASgCACICQQEgAXQiAXFFBEBBuJwBIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgBzYCCCABIAc2AgwgByAANgIMIAcgATYCCAwBCyAHAn9BACAEQQh2IgBFDQAaQR8gBEH///8HSw0AGiAAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCICIAJBgIAPakEQdkECcSICdEEPdiAAIAFyIAJyayIAQQF0IAQgAEEVanZBAXFyQRxqCyIANgIcIAdCADcCECAAQQJ0QeieAWohAQJAAkAgCEEBIAB0IgJxRQRAQbycASACIAhyNgIAIAEgBzYCAAwBCyAEQQBBGSAAQQF2ayAAQR9GG3QhACABKAIAIQUDQCAFIgEoAgRBeHEgBEYNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIFDQALIAIgBzYCEAsgByABNgIYIAcgBzYCDCAHIAc2AggMAQsgASgCCCIAIAc2AgwgASAHNgIIIAdBADYCGCAHIAE2AgwgByAANgIICyADQQhqIQAMAQsCQCAJRQ0AAkAgASgCHCIAQQJ0QeieAWoiAigCACABRgRAIAIgAzYCACADDQFBvJwBIApBfiAAd3E2AgAMAgsgCUEQQRQgCSgCECABRhtqIAM2AgAgA0UNAQsgAyAJNgIYIAEoAhAiAARAIAMgADYCECAAIAM2AhgLIAEoAhQiAEUNACADIAA2AhQgACADNgIYCwJAIARBD00EQCABIAQgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAVBA3I2AgQgCyAEQQFyNgIEIAQgC2ogBDYCACAIBEAgCEEDdiIDQQN0QeCcAWohAEHMnAEoAgAhAgJ/QQEgA3QiAyAGcUUEQEG4nAEgAyAGcjYCACAADAELIAAoAggLIQMgACACNgIIIAMgAjYCDCACIAA2AgwgAiADNgIIC0HMnAEgCzYCAEHAnAEgBDYCAAsgAUEIaiEACyAMQRBqJAAgAAuCBAEDfyACQYAETwRAIAAgASACEBMaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAs/AQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgwgAygCCCADKAIEENYBIQAgA0EQaiQAIAAL3QEBAX8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwQQBLBEAgASgCDCIAIAAoAjBBf2o2AjALIAEoAgwoAjBBAEsNACABKAIMKAIgQQBLBEAgASgCDEEBNgIgIAEoAgwQMhoLIAEoAgwoAiRBAUYEQCABKAIMEGoLAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCgCLCABKAIMEIIDCyABKAIMQQBCAEEFECIaIAEoAgwoAgAEQCABKAIMKAIAEBwLIAEoAgwQFgsgAUEQaiQAC4ECAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgwoAhw2AgQgASgCBBDpAiABIAEoAgQoAhQ2AgggASgCCCABKAIMKAIQSwRAIAEgASgCDCgCEDYCCAsCQCABKAIIRQ0AIAEoAgwoAgwgASgCBCgCECABKAIIEBoaIAEoAgwiACABKAIIIAAoAgxqNgIMIAEoAgQiACABKAIIIAAoAhBqNgIQIAEoAgwiACABKAIIIAAoAhRqNgIUIAEoAgwiACAAKAIQIAEoAghrNgIQIAEoAgQiACAAKAIUIAEoAghrNgIUIAEoAgQoAhQNACABKAIEIAEoAgQoAgg2AhALIAFBEGokAAtgAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAghCAhAfNgIEAkAgASgCBEUEQCABQQA7AQ4MAQsgASABKAIELQAAIAEoAgQtAAFBCHRqOwEOCyABLwEOIQAgAUEQaiQAIAALWgEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIgAigCHCACKQMQEM4BNgIMIAIoAgwEQCACKAIcIgAgAikDECAAKQMQfDcDEAsgAigCDCEAIAJBIGokACAAC28BAX8jAEEQayICJAAgAiAANgIIIAIgATsBBiACIAIoAghCAhAfNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACLwEGOgAAIAIoAgAgAi8BBkEIdToAASACQQA2AgwLIAIoAgwaIAJBEGokAAuPAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEIAIgAigCCEIEEB82AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIoAgQ6AAAgAigCACACKAIEQQh2OgABIAIoAgAgAigCBEEQdjoAAiACKAIAIAIoAgRBGHY6AAMgAkEANgIMCyACKAIMGiACQRBqJAALtgIBAX8jAEEwayIEJAAgBCAANgIkIAQgATYCICAEIAI3AxggBCADNgIUAkAgBCgCJCkDGEIBIAQoAhSthoNQBEAgBCgCJEEMakEcQQAQFSAEQn83AygMAQsCQCAEKAIkKAIARQRAIAQgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQ8ANwMIDAELIAQgBCgCJCgCACAEKAIkKAIIIAQoAiAgBCkDGCAEKAIUIAQoAiQoAgQRDQA3AwgLIAQpAwhCAFMEQAJAIAQoAhRBBEYNACAEKAIUQQ5GDQACQCAEKAIkIARCCEEEECJCAFMEQCAEKAIkQQxqQRRBABAVDAELIAQoAiRBDGogBCgCACAEKAIEEBULCwsgBCAEKQMINwMoCyAEKQMoIQIgBEEwaiQAIAILFwAgAC0AAEEgcUUEQCABIAIgABBxGgsLUAEBfyMAQRBrIgEkACABIAA2AgwDQCABKAIMBEAgASABKAIMKAIANgIIIAEoAgwoAgwQFiABKAIMEBYgASABKAIINgIMDAELCyABQRBqJAALfQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAFCADcDAANAIAEpAwAgASgCDCkDCFpFBEAgASgCDCgCACABKQMAp0EEdGoQYiABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAgAQFiABKAIMKAIoECYgASgCDBAWCyABQRBqJAALPgEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAQFiABKAIMKAIMEBYgASgCDBAWCyABQRBqJAALbgEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgBSABQf8BcSACIANrIgJBgAIgAkGAAkkiARsQMyABRQRAA0AgACAFQYACECMgAkGAfmoiAkH/AUsNAAsLIAAgBSACECMLIAVBgAJqJAAL1AEBAX8jAEEwayIDJAAgAyAANgIoIAMgATcDICADIAI2AhwCQCADKAIoLQAoQQFxBEAgA0F/NgIsDAELAkAgAygCKCgCIEEASwRAIAMoAhxFDQEgAygCHEEBRg0BIAMoAhxBAkYNAQsgAygCKEEMakESQQAQFSADQX82AiwMAQsgAyADKQMgNwMIIAMgAygCHDYCECADKAIoIANBCGpCEEEGECJCAFMEQCADQX82AiwMAQsgAygCKEEAOgA0IANBADYCLAsgAygCLCEAIANBMGokACAAC7gIAQF/IwBBMGsiBCQAIAQgADYCLCAEIAE2AiggBCACNgIkIAQgAzYCICAEQQA2AhQCQCAEKAIsKAKEAUEASgRAIAQoAiwoAgAoAixBAkYEQCAEKAIsEOcCIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHYgBCgCLCAEKAIsQaQWahB2IAQgBCgCLBDmAjYCFCAEIAQoAiwoAqgtQQpqQQN2NgIcIAQgBCgCLCgCrC1BCmpBA3Y2AhggBCgCGCAEKAIcTQRAIAQgBCgCGDYCHAsMAQsgBCAEKAIkQQVqIgA2AhggBCAANgIcCwJAAkAgBCgCJEEEaiAEKAIcSw0AIAQoAihFDQAgBCgCLCAEKAIoIAQoAiQgBCgCIBBXDAELAkACQCAEKAIsKAKIAUEERwRAIAQoAhggBCgCHEcNAQsgBEEDNgIQAkAgBCgCLCgCvC1BECAEKAIQa0oEQCAEIAQoAiBBAmo2AgwgBCgCLCIAIAAvAbgtIAQoAgxB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdSEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCDEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAhBBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEECakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIQIAAoArwtajYCvC0LIAQoAixBwNsAQcDkABC1AQwBCyAEQQM2AggCQCAEKAIsKAK8LUEQIAQoAghrSgRAIAQgBCgCIEEEajYCBCAEKAIsIgAgAC8BuC0gBCgCBEH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwvAbgtQf8BcSEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwvAbgtQQh1IQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLCAEKAIEQf//A3FBECAEKAIsKAK8LWt1OwG4LSAEKAIsIgAgACgCvC0gBCgCCEEQa2o2ArwtDAELIAQoAiwiACAALwG4LSAEKAIgQQRqQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLCIAIAQoAgggACgCvC1qNgK8LQsgBCgCLCAEKAIsKAKcFkEBaiAEKAIsKAKoFkEBaiAEKAIUQQFqEOUCIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQtQELCyAEKAIsELkBIAQoAiAEQCAEKAIsELgBCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBkiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBkiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBYLIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB82AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAuQAQEDfyAAIQECQAJAIABBA3FFDQAgAC0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAfNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAVIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQIiICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQHzYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAILqAEBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCCgCIEEATQRAIAEoAghBDGpBEkEAEBUgAUF/NgIMDAELIAEoAggiACAAKAIgQX9qNgIgIAEoAggoAiBFBEAgASgCCEEAQgBBAhAiGiABKAIIKAIABEAgASgCCCgCABAyQQBIBEAgASgCCEEMakEUQQAQFQsLCyABQQA2AgwLIAEoAgwhACABQRBqJAAgAAvxAgICfwF+AkAgAkUNACAAIAJqIgNBf2ogAToAACAAIAE6AAAgAkEDSQ0AIANBfmogAToAACAAIAE6AAEgA0F9aiABOgAAIAAgAToAAiACQQdJDQAgA0F8aiAB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ECwQMwsgASgCDCgCVBAWIAEoAgxBADYCVAsgAUEQaiQAC/EBAQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA6AAQgASgCDEEAOgAFIAEoAgxBAToABiABKAIMQb8GOwEIIAEoAgxBCjsBCiABKAIMQQA7AQwgASgCDEF/NgIQIAEoAgxBADYCFCABKAIMQQA2AhggASgCDEIANwMgIAEoAgxCADcDKCABKAIMQQA2AjAgASgCDEEANgI0IAEoAgxBADYCOCABKAIMQQA2AjwgASgCDEEAOwFAIAEoAgxBgIDYjXg2AkQgASgCDEIANwNIIAEoAgxBADsBUCABKAIMQQA7AVIgASgCDEEANgJUC9oTAQF/IwBBsAFrIgMkACADIAA2AqgBIAMgATYCpAEgAyACNgKgASADQQA2ApABIAMgAygCpAEoAjBBABA7NgKUASADIAMoAqQBKAI4QQAQOzYCmAECQAJAAkACQCADKAKUAUECRgRAIAMoApgBQQFGDQELIAMoApQBQQFGBEAgAygCmAFBAkYNAQsgAygClAFBAkcNASADKAKYAUECRw0BCyADKAKkASIAIAAvAQxBgBByOwEMDAELIAMoAqQBIgAgAC8BDEH/7wNxOwEMIAMoApQBQQJGBEAgA0H14AEgAygCpAEoAjAgAygCqAFBCGoQxAE2ApABIAMoApABRQRAIANBfzYCrAEMAwsLAkAgAygCoAFBgAJxDQAgAygCmAFBAkcNACADQfXGASADKAKkASgCOCADKAKoAUEIahDEATYCSCADKAJIRQRAIAMoApABECQgA0F/NgKsAQwDCyADKAJIIAMoApABNgIAIAMgAygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCAAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBAqNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAuIAMoAhwgAygCpAEpAyAQLgwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLgsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAuCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC4LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAIcEBcgAygCkAEQJCADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQUDYCjAEgAygCHBAXIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECo2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFSADKAKQARAkIANBfzYCrAEMAgsgAygCEEECECAgAygCEEHP0wBBAhBAIAMoAhAgAygCpAEvAVJB/wFxEIoBIAMoAhAgAygCpAEoAhBB//8DcRAgAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBUgAygCEBAXIAMoApABECQgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUDYCDCADKAIQEBcgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKiIANgJMIABFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAELIAMoAkxBxdMAQcrTACADKAKgAUGAAnEbQQQQQCADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIAsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQICADKAJMIAMoAqQBLwEMECACQCADLQCFAUEBcQRAIAMoAkxB4wAQIAwBCyADKAJMIAMoAqQBKAIQQf//A3EQIAsgAygCpAEoAhQgA0GeAWogA0GcAWoQwwEgAygCTCADLwGeARAgIAMoAkwgAy8BnAEQIAJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIQwBCyADKAJMIAMoAqQBKAIYECELAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAhIAMoAkxBfxAhDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIQwBCyADKAJMQX8QIQsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAhDAELIAMoAkxBfxAhCwsgAygCTCADKAKkASgCMBBSQf//A3EQICADIAMoAqQBKAI0IAMoAqABEIIBQf//A3EgAygCkAFBgAYQggFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAgIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFJB//8DcRAgIAMoAkwgAygCpAEoAjxB//8DcRAgIAMoAkwgAygCpAEvAUAQICADKAJMIAMoAqQBKAJEECECQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAhDAELIAMoAkxBfxAhCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAJMEBcgAygCkAEQJCADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNkEASARAIAMoAkwQFyADKAKQARAkIANBfzYCrAEMAQsgAygCTBAXIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQhgFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQgQFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABECQgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCBAUEASARAIANBfzYC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IAMoAoABKAIAIAMpA3CnQQR0aigCACADEPEBBEAgAygCfEEVQQAQFSADEFwgA0J/NwOIAQwDBSADKAKAASgCACADKQNwp0EEdGooAgAoAjQgAygCNBCFASEAIAMoAoABKAIAIAMpA3CnQQR0aigCACAANgI0IAMoAoABKAIAIAMpA3CnQQR0aigCAEEBOgAEIANBADYCNCADEFwgAyADKQNwQgF8NwNwDAILAAsLIAMCfiADKQNgIAMpA2h9Qv///////////wBUBEAgAykDYCADKQNofQwBC0L///////////8ACzcDiAELIAMpA4gBIQQgA0GQAWokACAEC6YBAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCEBD6ASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFSAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEJYBDAELIAIgASAAEJYBC0EASARAIAQoAghBBEG0nAEoAgAQFSAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJwACf0EAQQAgABAFIgAgAEEbRhsiAEUNABpBtJwBIAA2AgBBAAsaC14BAX8jAEEQayIDJAAgAyABQcCAgAJxBH8gAyACQQRqNgIMIAIoAgAFQQALNgIAIAAgAUGAgAJyIAMQESIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAiGiABKAIMQQA2AiQLIAFBEGokAAszAQF/An8gABAGIgFBYUYEQCAAEBIhAQsgAUGBYE8LBH9BtJwBQQAgAWs2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IEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvnCAEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHE5FBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUF/ajYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAUhFBEAgAigCLCACKAIkIAIoAhgQdSACIAIoAhhBf2o2AhgMAQsLIAIgAigCHDYCDANAIAIgAigCLCgC4BY2AhggAigCLEHcFmohASACKAIsIgMoAtAoIQAgAyAAQX9qNgLQKCACKAIsIABBAnQgAWooAgA2AuAWIAIoAiwgAigCJEEBEHUgAiACKAIsKALgFjYCFCACKAIYIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCFCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEF/aiEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAiQgAigCDEECdGogAigCJCACKAIYQQJ0ai8BACACKAIkIAIoAhRBAnRqLwEAajsBACACKAIMIAIoAixB2ChqagJ/IAIoAhggAigCLEHYKGpqLQAAIAIoAhQgAigCLEHYKGpqLQAATgRAIAIoAhggAigCLEHYKGpqLQAADAELIAIoAhQgAigCLEHYKGpqLQAAC0EBajoAACACKAIkIAIoAhRBAnRqIAIoAgwiADsBAiACKAIkIAIoAhhBAnRqIAA7AQIgAiACKAIMIgBBAWo2AgwgAigCLCAANgLgFiACKAIs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AykDKCEBIANBMGokACABC3cBAX8jAEEQayICIAA2AgggAiABNgIEAkACQAJAIAIoAggpAyhC/////w9aDQAgAigCCCkDIEL/////D1oNACACKAIEQYAEcUUNASACKAIIKQNIQv////8PVA0BCyACQQE6AA8MAQsgAkEAOgAPCyACLQAPQQFxC9kCAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgA0EMakIEECo2AggCQCADKAIIRQRAIANBfzYCHAwBCwNAIAMoAhQEQCADKAIUKAIEIAMoAhBxQYAGcQRAIAMoAghCABAtGiADKAIIIAMoAhQvAQgQICADKAIIIAMoAhQvAQoQIAJ/IwBBEGsiACADKAIINgIMIAAoAgwtAABBAXFFCwRAIAMoAhhBCGpBFEEAEBUgAygCCBAXIANBfzYCHAwECyADKAIYIANBDGpCBBA2QQBIBEAgAygCCBAXIANBfzYCHAwECyADKAIULwEKQQBKBEAgAygCGCADKAIUKAIMIAMoAhQvAQqtEDZBAEgEQCADKAIIEBcgA0F/NgIcDAULCwsgAyADKAIUKAIANgIUDAELCyADKAIIEBcgA0EANgIcCyADKAIcIQAgA0EgaiQAIAALaAEBfyMAQRBrIgIgADYCDCACIAE2AgggAkEAOwEGA0AgAigCDARAIAIoAgwoAgQgAigCCHFBgAZxBEAgAiACKAIMLwEKIAIvAQZBBGpqOwEGCyACIAIoAgwoAgA2AgwMAQsLIAIvAQYL8AEBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABQQA2AgQDQCABKAIMBEACQAJAIAEoAgwvAQhB9cYBRg0AIAEoAgwvAQhB9eABRg0AIAEoAgwvAQhBgbICRg0AIAEoAgwvAQhBAUcNAQsgASABKAIMKAIANgIAIAEoAgggASgCDEYEQCABIAEoAgA2AggLIAEoAgxBADYCACABKAIMECQgASgCBARAIAEoAgQgASgCADYCAAsgASABKAIANgIMDAILIAEgASgCDDYCBCABIAEoAgwoAgA2AgwMAQsLIAEoAgghACABQRBqJAAgAAuzBAEBfyMAQUBqIgUkACAFIAA2AjggBSABOwE2IAUgAjYCMCAFIAM2AiwgBSAENgIoIAUgBSgCOCAFLwE2rRAqIgA2AiQCQCAARQRAIAUoAihBDkEAEBUgBUEAOgA/DAELIAVBADYCICAFQQA2AhgDQAJ/IwBBEGsiACAFKAIkNgIMIAAoAgwtAABBAXELBH8gBSgCJBAwQgRaBUEAC0EBcQRAIAUgBSgCJBAeOwEWIAUgBSgCJBAeOwEUIAUgBSgCJCAFLwEUrRAfNgIQIAUoAhBFBEAgBSgCKEEVQQAQFSAFKAIkEBcgBSgCGBAkIAVBADoAPwwDCyAFIAUvARYgBS8BFCAFKAIQIAUoAjAQUCIANgIcIABFBEAgBSgCKEEOQQAQFSAFKAIkEBcgBSgCGBAkIAVBADoAPwwDCwJAIAUoAhgEQCAFKAIgIAUoAhw2AgAgBSAFKAIcNgIgDAELIAUgBSgCHCIANgIgIAUgADYCGAsMAQsLIAUoAiQQSEEBcUUEQCAFIAUoAiQQMD4CDCAFIAUoAiQgBSgCDK0QHzYCCAJAAkAgBSgCDEEETw0AIAUoAghFDQAgBSgCCEGy0wAgBSgCDBBTRQ0BCyAFKAIoQRVBABAVIAUoAiQQFyAFKAIYECQgBUEAOgA/DAILCyAFKAIkEBcCQCAFKAIsBEAgBSgCLCAFKAIYNgIADAELIAUoAhgQJAsgBUEBOgA/CyAFLQA/QQFxIQAgBUFAayQAIAAL7wIBAX8jAEEgayICJAAgAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAiACKAIUNgIcDAELIAIgAigCGDYCCANAIAIoAggoAgAEQCACIAIoAggoAgA2AggMAQsLA0AgAigCFARAIAIgAigCFCgCADYCECACQQA2AgQgAiACKAIYNgIMA0ACQCACKAIMRQ0AAkAgAigCDC8BCCACKAIULwEIRw0AIAIoAgwvAQogAigCFC8BCkcNACACKAIMLwEKBEAgAigCDCgCDCACKAIUKAIMIAIoAgwvAQoQUw0BCyACKAIMIgAgACgCBCACKAIUKAIEQYAGcXI2AgQgAkEBNgIEDAELIAIgAigCDCgCADYCDAwBCwsgAigCFEEANgIAAkAgAigCBARAIAIoAhQQJAwBCyACKAIIIAIoAhQiADYCACACIAA2AggLIAIgAigCEDYCFAwBCwsgAiACKAIYNgIcCyACKAIcIQAgAkEgaiQAIAALXQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCBEUEQCACQQA2AgwMAQsgAiACKAIIIAIoAgQoAgAgAigCBC8BBK0QNjYCDAsgAigCDCEAIAJBEGokACAAC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQAJAIAIoAggEQCACKAIEDQELIAIgAigCCCACKAIERjYCDAwBCyACKAIILwEEIAIoAgQvAQRHBEAgAkEANgIMDAELIAIgAigCCCgCACACKAIEKAIAIAIoAggvAQQQU0U2AgwLIAIoAgwhACACQRBqJAAgAAtVAQF/IwBBEGsiASQAIAEgADYCDCABQQBBAEEAEBs2AgggASgCDARAIAEgASgCCCABKAIMKAIAIAEoAgwvAQQQGzYCCAsgASgCCCEAIAFBEGokACAAC6ABAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAUgAzoAESAFIAQ2AgwgBSAFKAIYIAUoAhQgBS8BEiAFLQARQQFxIAUoAgwQYCIANgIIAkAgAEUEQCAFQQA2AhwMAQsgBSAFKAIIIAUvARJBACAFKAIMEFE2AgQgBSgCCBAWIAUgBSgCBDYCHAsgBSgCHCEAIAVBIGokACAAC18BAX8jAEEQayICJAAgAiAANgIIIAIgAToAByACIAIoAghCARAfNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACLQAHOgAAIAJBADYCDAsgAigCDBogAkEQaiQAC1QBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIBEB82AgQCQCABKAIERQRAIAFBADoADwwBCyABIAEoAgQtAAA6AA8LIAEtAA8hACABQRBqJAAgAAs4AQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA2AgQgASgCDEEANgIIIAEoAgxBADoADAufAgEBfyMAQUBqIgUkACAFIAA3AzAgBSABNwMoIAUgAjYCJCAFIAM3AxggBSAENgIUIAUCfyAFKQMYQhBUBEAgBSgCFEESQQAQFUEADAELIAUoAiQLNgIEAkAgBSgCBEUEQCAFQn83AzgMAQsCQAJAAkACQAJAIAUoAgQoAggOAwIAAQMLIAUgBSkDMCAFKAIEKQMAfDcDCAwDCyAFIAUpAyggBSgCBCkDAHw3AwgMAgsgBSAFKAIEKQMANwMIDAELIAUoAhRBEkEAEBUgBUJ/NwM4DAELAkAgBSkDCEIAWQRAIAUpAwggBSkDKFgNAQsgBSgCFEESQQAQFSAFQn83AzgMAQsgBSAFKQMINwM4CyAFKQM4IQAgBUFAayQAIAAL6gECAX8BfiMAQSBrIgQkACAEIAA2AhggBCABNgIUIAQgAjYCECAEIAM2AgwgBCAEKAIMEI8BIgA2AggCQCAARQRAIARBADYCHAwBCyMAQRBrIgAgBCgCGDYCDCAAKAIMIgAgACgCMEEBajYCMCAEKAIIIAQoAhg2AgAgBCgCCCAEKAIUNgIEIAQoAgggBCgCEDYCCCAEKAIYIAQoAhBBAEIAQQ4gBCgCFBENACEFIAQoAgggBTcDGCAEKAIIKQMYQgBTBEAgBCgCCEI/NwMYCyAEIAQoAgg2AhwLIAQoAhwhACAEQSBqJAAgAAvqAQEBfyMAQRBrIgEkACABIAA2AgggAUE4EBkiADYCBAJAIABFBEAgASgCCEEOQQAQFSABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRBADYCBCABKAIEQQA2AgggASgCBEEANgIgIAEoAgRBADYCJCABKAIEQQA6ACggASgCBEEANgIsIAEoAgRBATYCMCMAQRBrIgAgASgCBEEMajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCABKAIEQQA6ADQgASgCBEEAOgA1IAEgASgCBDYCDAsgASgCDCEAIAFBEGokACAAC7ABAgF/AX4jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEI8BIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgQgAygCDCADKAIUNgIIIAMoAhRBAEIAQQ4gAygCGBEPACEEIAMoAgwgBDcDGCADKAIMKQMYQgBTBEAgAygCDEI/NwMYCyADIAMoAgw2AhwLIAMoAhwhACADQSBqJAAgAAvDAgEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAggpAwBCAoNCAFIEQCADKAIMIAMoAggpAxA3AxALIAMoAggpAwBCBINCAFIEQCADKAIMIAMoAggpAxg3AxgLIAMoAggpAwBCCINCAFIEQCADKAIMIAMoAggpAyA3AyALIAMoAggpAwBCEINCAFIEQCADKAIMIAMoAggoAig2AigLIAMoAggpAwBCIINCAFIEQCADKAIMIAMoAggoAiw2AiwLIAMoAggpAwBCwACDQgBSBEAgAygCDCADKAIILwEwOwEwCyADKAIIKQMAQoABg0IAUgRAIAMoAgwgAygCCC8BMjsBMgsgAygCCCkDAEKAAoNCAFIEQCADKAIMIAMoAggoAjQ2AjQLIAMoAgwiACADKAIIKQMAIAApAwCENwMAQQALggUBAX8jAEHgAGsiAyQAIAMgADYCWCADIAE2AlQgAyACNgJQAkACQCADKAJUQQBOBEAgAygCWA0BCyADKAJQQRJBABAVIANBADYCXAwBCyADIAMoAlQ2AkwjAEEQayIAIAMoAlg2AgwgAyAAKAIMKQMYNwNAQeCbASkDAEJ/UQRAIANBfzYCFCADQQM2AhAgA0EHNgIMIANBBjYCCCADQQI2AgQgA0EBNgIAQeCbAUEAIAMQNzcDACADQX82AjQgA0EPNgIwIANBDTYCLCADQQw2AiggA0EKNgIkIANBCTYCIEHomwFBCCADQSBqEDc3AwALQeCbASkDACADKQNAQeCbASkDAINSBEAgAygCUEEcQQAQFSADQQA2AlwMAQtB6JsBKQMAIAMpA0BB6JsBKQMAg1IEQCADIAMoAkxBEHI2AkwLIAMoAkxBGHFBGEYEQCADKAJQQRlBABAVIANBADYCXAwBCyADIAMoAlggAygCUBD4ATYCPAJAAkACQCADKAI8QQFqDgIAAQILIANBADYCXAwCCyADKAJMQQFxRQRAIAMoAlBBCUEAEBUgA0EANgJcDAILIAMgAygCWCADKAJMIAMoAlAQZjYCXAwBCyADKAJMQQJxBEAgAygCUEEKQQAQFSADQQA2AlwMAQsgAygCWBBJQQBIBEAgAygCUCADKAJYEBggA0EANgJcDAELAkAgAygCTEEIcQRAIAMgAygCWCADKAJMIAMoAlAQZjYCOAwBCyADIAMoAlggAygCTCADKAJQEPcBNgI4CyADKAI4RQRAIAMoAlgQMhogA0EANgJcDAELIAMgAygCODYCXAsgAygCXCEAIANB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQpwFBAUYEQCMAQRBrIgAgAigCCDYCDEG0nAEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCUAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECI+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFSADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGc2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoERAAQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwviAgECfyMAQSBrIgMkAAJ/AkACQEH0lwEgASwAABCYAUUEQEG0nAFBHDYCAAwBC0GYCRAZIgINAQtBAAwBCyACQQBBkAEQMyABQSsQmAFFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAEAQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAEGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQDg0AIAJBCjoASwsgAkEaNgIoIAJBGzYCJCACQRw2AiAgAkEdNgIMQdygASgCAEUEQCACQX82AkwLIAJBsKEBKAIANgI4QbChASgCACIABEAgACACNgI0C0GwoQEgAjYCACACCyEAIANBIGokACAACxoAIAAgARCFAiIAQQAgAC0AACABQf8BcUYbCxgAIAAoAkxBf0wEQCAAEJoBDwsgABCaAQtgAgJ/AX4gACgCKCEBQQEhAiAAQgAgAC0AAEGAAXEEf0ECQQEgACgCFCAAKAIcSxsFQQELIAEREAAiA0IAWQR+IAAoAhQgACgCHGusIAMgACgCCCAAKAIEa6x9fAUgAwsLdgEBfyAABEAgACgCTEF/TARAIAAQbA8LIAAQbA8LQbShASgCAARAQbShASgCABCbASEBC0GwoQEoAgAiAARAA0AgACgCTEEATgR/QQEFQQALGiAAKAIUIAAoAhxLBEAgABBsIAFyIQELIAAoAjgiAA0ACwsgAQsiACAAIAEQAiIAQYFgTwR/QbScAUEAIABrNgIAQX8FIAALC9YBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCCAEIAQoAhggBCgCGCAEKQMQIAQoAgwgBCgCCBCpASIANgIAAkAgAEUEQCAEQQA2AhwMAQsgBCgCABBJQQBIBEAgBCgCGEEIaiAEKAIAEBggBCgCABAcIARBADYCHAwBCyAEIAQoAhgQlQIiADYCBCAARQRAIAQoAgAQHCAEQQA2AhwMAQsgBCgCBCAEKAIANgIUIAQgBCgCBDYCHAsgBCgCHCEAIARBIGokACAAC6YBAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE3AxAgBSACNgIMIAUgAzYCCCAFIAQ2AgQgBSAFKAIYIAUpAxAgBSgCDEEAEEUiADYCAAJAIABFBEAgBUF/NgIcDAELIAUoAggEQCAFKAIIIAUoAgAvAQhBCHU6AAALIAUoAgQEQCAFKAIEIAUoAgAoAkQ2AgALIAVBADYCHAsgBSgCHCEAIAVBIGokACAAC6UEAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE3AyAgBSACNgIcIAUgAzoAGyAFIAQ2AhQCQCAFKAIoIAUpAyBBAEEAEEVFBEAgBUF/NgIsDAELIAUoAigoAhhBAnEEQCAFKAIoQQhqQRlBABAVIAVBfzYCLAwBCyAFIAUoAigoAkAgBSkDIKdBBHRqNgIQIAUCfyAFKAIQKAIABEAgBSgCECgCAC8BCEEIdQwBC0EDCzoACyAFAn8gBSgCECgCAARAIAUoAhAoAgAoAkQMAQtBgIDYjXgLNgIEQQEhACAFIAUtABsgBS0AC0YEfyAFKAIUIAUoAgRHBUEBC0EBcTYCDAJAIAUoAgwEQCAFKAIQKAIERQRAIAUoAhAoAgAQRiEAIAUoAhAgADYCBCAARQRAIAUoAihBCGpBDkEAEBUgBUF/NgIsDAQLCyAFKAIQKAIEIAUoAhAoAgQvAQhB/wFxIAUtABtBCHRyOwEIIAUoAhAoAgQgBSgCFDYCRCAFKAIQKAIEIgAgACgCAEEQcjYCAAwBCyAFKAIQKAIEBEAgBSgCECgCBCIAIAAoAgBBb3E2AgACQCAFKAIQKAIEKAIARQRAIAUoAhAoAgQQOiAFKAIQQQA2AgQMAQsgBSgCECgCBCAFKAIQKAIELwEIQf8BcSAFLQALQQh0cjsBCCAFKAIQKAIEIAUoAgQ2AkQLCwsgBUEANgIsCyAFKAIsIQAgBUEwaiQAIAAL7QQCAX8BfiMAQUBqIgQkACAEIAA2AjQgBEJ/NwMoIAQgATYCJCAEIAI2AiAgBCADNgIcAkAgBCgCNCgCGEECcQRAIAQoAjRBCGpBGUEAEBUgBEJ/NwM4DAELIAQgBCgCNCkDMDcDECAEKQMoQn9RBEAgBEJ/NwMIIAQoAhxBgMAAcQRAIAQgBCgCNCAEKAIkIAQoAhxBABBVNwMICyAEKQMIQn9RBEAgBCAEKAI0EJ4CIgU3AwggBUIAUwRAIARCfzcDOAwDCwsgBCAEKQMINwMoCwJAIAQoAiRFDQAgBCgCNCAEKQMoIAQoAiQgBCgCHBCdAkUNACAEKAI0KQMwIAQpAxBSBEAgBCgCNCgCQCAEKQMop0EEdGoQYiAEKAI0IAQpAxA3AzALIARCfzcDOAwBCyAEKAI0KAJAIAQpAyinQQR0ahBjAkAgBCgCNCgCQCAEKQMop0EEdGooAgBFDQAgBCgCNCgCQCAEKQMop0EEdGooAgQEQCAEKAI0KAJAIAQpAyinQQR0aigCBCgCAEEBcQ0BCyAEKAI0KAJAIAQpAyinQQR0aigCBEUEQCAEKAI0KAJAIAQpAyinQQR0aigCABBGIQAgBCgCNCgCQCAEKQMop0EEdGogADYCBCAARQRAIAQoAjRBCGpBDkEAEBUgBEJ/NwM4DAMLCyAEKAI0KAJAIAQpAyinQQR0aigCBEF+NgIQIAQoAjQoAkAgBCkDKKdBBHRqKAIEIgAgACgCAEEBcjYCAAsgBCgCNCgCQCAEKQMop0EEdGogBCgCIDYCCCAEIAQpAyg3AzgLIAQpAzghBSAEQUBrJAAgBQuFAgEBfyMAQSBrIgIkACACIAA2AhggAiABNwMQAkAgAikDECACKAIYKQMwWgRAIAIoAhhBCGpBEkEAEBUgAkF/NgIcDAELIAIoAhgoAhhBAnEEQCACKAIYQQhqQRlBABAVIAJBfzYCHAwBCyACIAIoAhggAikDEEEAIAIoAhhBCGoQTyIANgIMIABFBEAgAkF/NgIcDAELIAIoAhgoAlAgAigCDCACKAIYQQhqEFlBAXFFBEAgAkF/NgIcDAELIAIoAhggAikDEBCgAgRAIAJBfzYCHAwBCyACKAIYKAJAIAIpAxCnQQR0akEBOgAMIAJBADYCHAsgAigCHCEAIAJBIGokACAAC5gCAAJAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQCABQXdqDgoAAQIJAwQFBgkHCAsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgACACQRYRBAALDwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC0oBA38gACgCACwAAEFQakEKSQRAA0AgACgCACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBUGohAiABLAABQVBqQQpJDQALCyACC38CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEKQBIQAgASgCAEFAags2AgAgAA8LIAEgAkGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvwUgAAsLEgAgAEUEQEEADwsgACABELQCC+UBAQJ/IAJBAEchAwJAAkACQCACRQ0AIABBA3FFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiAAQQFqIQAgAkF/aiICQQBHIQMgAkUNASAAQQNxDQALCyADRQ0BCwJAIAAtAAAgAUH/AXFGDQAgAkEESQ0AIAFB/wFxQYGChAhsIQMDQCAAKAIAIANzIgRBf3MgBEH//ft3anFBgIGChHhxDQEgAEEEaiEAIAJB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HAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBkiADYCDAJAIABFBEAgAygCEEEBQbScASgCABAVIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5gQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcUVFNgIQIAIoAihBAEEAIAIoAhAQVyACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAdIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAaGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBBzGiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAaGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBoaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBoaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQGhogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBBzGiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAICf0EAIAIoAiRBBEcNABpBACACKAIoKAIAKAIEDQAaIAIoAhwgAigCGEYLQQFxRUU2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBXIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHQsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHQEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCAB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A0hCGnxBABAoQQBIBEAgAigCKEEIaiACKAIoKAIAEBggAkF/NgIsDAELIAIgAigCKCgCAEIEIAJBGGogAigCKEEIahBBIgA2AhQgAEUEQCACQX82AiwMAQsgAiACKAIUEB47ARIgAiACKAIUEB47ARAgAigCFBBIQQFxRQRAIAIoAhQQFyACKAIoQQhqQRRBABAVIAJBfzYCLAwBCyACKAIUEBcgAi8BEEEASgRAIAIoAigoAgAgAi8BEq1BARAoQQBIBEAgAigCKEEIakEEQbScASgCABAVIAJBfzYCLAwCCyACQQAgAigCKCgCACACLwEQQQAgAigCKEEIahBgNgIIIAIoAghFBEAgAkF/NgIsDAILIAIoAgggAi8BEEGAAiACQQxqIAIoAihBCGoQhAFBAXFFBEAgAigCCBAWIAJBfzYCLAwCCyACKAIIEBYgAigCDARAIAIgAigCDBCDATYCDCACKAIcKAIAKAI0IAIoAgwQhQEhACACKAIcKAIAIAA2AjQLCyACKAIcKAIAQQE6AAQCQCACKAIcKAIERQ0AIAIoAhwoAgQtAARBAXENACACKAIcKAIEIAIoAhwoAgAoAjQ2AjQgAigCHCgCBEEBOgAECyACQQA2AiwLIAIoAiwhACACQTBqJAAgAAsHACAAKAIAC4wBAQF/IwBBIGsiAiQAIAIgADYCGCACIAE2AhQgAkEANgIQAkAgAigCFEUEQCACQQA2AhwMAQsgAiACKAIUEBk2AgwgAigCDEUEQCACKAIQQQ5BABAVIAJBADYCHAwBCyACKAIMIAIoAhggAigCFBAaGiACIAIoAgw2AhwLIAIoAhwhACACQSBqJAAgAAsYAEGonAFCADcCAEGwnAFBADYCAEGonAELiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBUgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAiNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCAB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IAIgADYCSCACIAE2AkQgAkEIaiIAEDwCQCACKAJIIAAQOQRAIwBBEGsiACACKAJINgIMIAIgACgCDEEMajYCBCMAQRBrIgAgAigCBDYCDAJAIAAoAgwoAgBBBUcNACMAQRBrIgAgAigCBDYCDCAAKAIMKAIEQSxHDQAgAkEANgJMDAILIAIoAkQgAigCBBBEIAJBfzYCTAwBCyACQQE2AkwLIAIoAkwhACACQdAAaiQAIAAL6gEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI2AiAjAEEQayIAIANBCGoiATYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCADIAMoAiggARD7ASIANgIYAkAgAEUEQCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIAMgAygCGCADKAIkIANBCGoQkgEiADYCHCAARQRAIAMoAhgQHCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIANBCGoQOCADIAMoAhw2AiwLIAMoAiwhACADQTBqJAAgAAvIAgEBfyMAQRBrIgEkACABIAA2AgggAUHYABAZNgIEAkAgASgCBEUEQCABKAIIQQ5BABAVIAFBADYCDAwBCyABKAIIEIEDIQAgASgCBCAANgJQIABFBEAgASgCBBAWIAFBADYCDAwBCyABKAIEQQA2AgAgASgCBEEANgIEIwBBEGsiACABKAIEQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAEoAgRBADYCGCABKAIEQQA2AhQgASgCBEEANgIcIAEoAgRBADYCJCABKAIEQQA2AiAgASgCBEEAOgAoIAEoAgRCADcDOCABKAIEQgA3AzAgASgCBEEANgJAIAEoAgRBADYCSCABKAIEQQA2AkQgASgCBEEANgJMIAEoAgRBADYCVCABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAuBAQEBfyMAQSBrIgIkACACIAA2AhggAkIANwMQIAJCfzcDCCACIAE2AgQCQAJAIAIoAhgEQCACKQMIQn9ZDQELIAIoAgRBEkEAEBUgAkEANgIcDAELIAIgAigCGCACKQMQIAIpAwggAigCBBD/ATYCHAsgAigCHCEAIAJBIGokACAAC80BAQJ/IwBBIGsiASQAIAEgADYCGCAB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CyAAIAFBf2oiAWoiAi0AAEEvRw0ACyACC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkG/f2pBGkkbIAEtAAAiAkEgciACIAJBv39qQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBv39qQRpJGyABLQAAIgBBIHIgACAAQb9/akEaSRtrC+gDAQN/IwBBsAFrIgEkACABIAA2AqgBIAEoAqgBEDgCQAJAIAEoAqgBKAIAQQBOBEAgASgCqAEoAgBBoA4oAgBIDQELIAEgASgCqAEoAgA2AhAgAUEgakG8lwEgAUEQahBvIAFBADYCpAEgASABQSBqNgKgAQwBCyABIAEoAqgBKAIAQQJ0QaANaigCADYCpAECQAJAAkACQCABKAKoASgCAEECdEGwDmooAgBBf2oOAgABAgsgASABKAKoASgCBEGQmgEoAgAQpAI2AqABDAILIwBBEGsiACABKAKoASgCBDYCDCABQQAgACgCDGtBAnRB2NQAaigCADYCoAEMAQsgAUEANgKgAQsLAkAgASgCoAFFBEAgASABKAKkATYCrAEMAQsgASABKAKgARAsAn8gASgCpAEEQCABKAKkARAsQQJqDAELQQALakEBahAZIgA2AhwgAEUEQCABQdgNKAIANgKsAQwBCyABKAIcIQACfyABKAKkAQRAIAEoAqQBDAELQdSXAQshAkHVlwFB1JcBIAEoAqQBGyEDIAEgASgCoAE2AgggASADNgIEIAEgAjYCACAAQc2XASABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAtxAQN/AkACQANAIAAgAkHQiAFqLQAARwRAQdcAIQMgAkEBaiICQdcARw0BDAILCyACIgMNAEGwiQEhAAwBC0GwiQEhAgNAIAItAAAhBCACQQFqIgAhAiAEDQAgACECIANBf2oiAw0ACwsgASgCFBogAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGhogACAAKAIUIAFqNgIUIAILigEBAn8jAEGgAWsiAyQAIANBCGpBuIcBQZABEBoaIAMgADYCNCADIAA2AhwgA0F+IABrIgRB/////wdB/////wcgBEsbIgQ2AjggAyAAIARqIgA2AiQgAyAANgIYIANBCGogASACEKsCIAQEQCADKAIcIgAgACADKAIYRmtBADoAAAsgA0GgAWokAAspACABIAEoAgBBD2pBcHEiAUEQajYCACAAIAEpAwAgASkDCBCxAjkDAAuKFwMSfwJ+AXwjAEGwBGsiCSQAIAlBADYCLAJ/IAG9IhhCf1cEQEEBIRIgAZoiAb0hGEGQhwEMAQtBASESQZOHASAEQYAQcQ0AGkGWhwEgBEEBcQ0AGkEAIRJBASETQZGHAQshFQJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECcgACAVIBIQIyAAQauHAUGvhwEgBUEgcSIDG0GjhwFBp4cBIAMbIAEgAWIbQQMQIwwBCyAJQRBqIRACQAJ/AkAgASAJQSxqEKQBIgEgAaAiAUQAAAAAAAAAAGIEQCAJIAkoAiwiBkF/ajYCLCAFQSByIhZB4QBHDQEMAwsgBUEgciIWQeEARg0CIAkoAiwhC0EGIAMgA0EASBsMAQsgCSAGQWNqIgs2AiwgAUQAAAAAAACwQaIhAUEGIAMgA0EASBsLIQogCUEwaiAJQdACaiALQQBIGyIPIQgDQCAIAn8gAUQAAAAAAADwQWMgAUQAAAAAAAAAAGZxBEAgAasMAQtBAAsiAzYCACAIQQRqIQggASADuKFEAAAAAGXNzUGiIgFEAAAAAAAAAABiDQALAkAgC0EBSARAIAshAyAIIQYgDyEHDAELIA8hByALIQMDQCADQR0gA0EdSBshDAJAIAhBfGoiBiAHSQ0AIAytIRlCACEYA0AgBiAYQv////8PgyAGNQIAIBmGfCIYIBhCgJTr3AOAIhhCgJTr3AN+fT4CACAGQXxqIgYgB08NAAsgGKciA0UNACAHQXxqIgcgAzYCAAsDQCAIIgYgB0sEQCAGQXxqIggoAgBFDQELCyAJIAkoAiwgDGsiAzYCLCAGIQggA0EASg0ACwsgA0F/TARAIApBGWpBCW1BAWohESAWQeYARiENA0BBCUEAIANrIANBd0gbIRcCQCAHIAZPBEAgByAHQQRqIAcoAgAbIQcMAQtBgJTr3AMgF3YhFEF/IBd0QX9zIQ5BACEDIAchCANAIAggAyAIKAIAIgwgF3ZqNgIAIAwgDnEgFGwhAyAIQQRqIgggBkkNAAsgByAHQQRqIAcoAgAbIQcgA0UNACAGIAM2AgAgBkEEaiEGCyAJIAkoAiwgF2oiAzYCLCAPIAcgDRsiCCARQQJ0aiAGIAYgCGtBAnUgEUobIQYgA0EASA0ACwtBACEIAkAgByAGTw0AIA8gB2tBAnVBCWwhCEEKIQMgBygCACIMQQpJDQADQCAIQQFqIQggDCADQQpsIgNPDQALCyAKQQAgCCAWQeYARhtrIBZB5wBGIApBAEdxayIDIAYgD2tBAnVBCWxBd2pIBEAgA0GAyABqIg5BCW0iDEECdCAJQTBqQQRyIAlB1AJqIAtBAEgbakGAYGohDUEKIQMgDiAMQQlsayIOQQdMBEADQCADQQpsIQMgDkEBaiIOQQhHDQALCwJAQQAgBiANQQRqIhFGIA0oAgAiDiAOIANuIgwgA2xrIhQbDQBEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gFCADQQF2IgtGG0QAAAAAAAD4PyAGIBFGGyAUIAtJGyEaRAEAAAAAAEBDRAAAAAAAAEBDIAxBAXEbIQECQCATDQAgFS0AAEEtRw0AIBqaIRogAZohAQsgDSAOIBRrIgs2AgAgASAaoCABYQ0AIA0gAyALaiIDNgIAIANBgJTr3ANPBEADQCANQQA2AgAgDUF8aiINIAdJBEAgB0F8aiIHQQA2AgALIA0gDSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyAPIAdrQQJ1QQlsIQhBCiEDIAcoAgAiC0EKSQ0AA0AgCEEBaiEIIAsgA0EKbCIDTw0ACwsgDUEEaiIDIAYgBiADSxshBgsDQCAGIgsgB00iDEUEQCALQXxqIgYoAgBFDQELCwJAIBZB5wBHBEAgBEEIcSETDAELIAhBf3NBfyAKQQEgChsiBiAISiAIQXtKcSIDGyAGaiEKQX9BfiADGyAFaiEFIARBCHEiEw0AQXchBgJAIAwNACALQXxqKAIAIgxFDQBBCiEOQQAhBiAMQQpwDQADQCAGIgNBAWohBiAMIA5BCmwiDnBFDQALIANBf3MhBgsgCyAPa0ECdUEJbCEDIAVBX3FBxgBGBEBBACETIAogAyAGakF3aiIDQQAgA0EAShsiAyAKIANIGyEKDAELQQAhEyAKIAMgCGogBmpBd2oiA0EAIANBAEobIgMgCiADSBshCgsgCiATciIUQQBHIQ4gAEEgIAICfyAIQQAgCEEAShsgBUFfcSIMQcYARg0AGiAQIAggCEEfdSIDaiADc60gEBBDIgZrQQFMBEADQCAGQX9qIgZBMDoAACAQIAZrQQJIDQALCyAGQX5qIhEgBToAACAGQX9qQS1BKyAIQQBIGzoAACAQIBFrCyAKIBJqIA5qakEBaiINIAQQJyAAIBUgEhAjIABBMCACIA0gBEGAgARzECcCQAJAAkAgDEHGAEYEQCAJQRBqQQhyIQMgCUEQakEJciEIIA8gByAHIA9LGyIFIQcDQCAHNQIAIAgQQyEGAkAgBSAHRwRAIAYgCUEQak0NAQNAIAZBf2oiBkEwOgAAIAYgCUEQaksNAAsMAQsgBiAIRw0AIAlBMDoAGCADIQYLIAAgBiAIIAZrECMgB0EEaiIHIA9NDQALIBQEQCAAQbOHAUEBECMLIAcgC08NASAKQQFIDQEDQCAHNQIAIAgQQyIGIAlBEGpLBEADQCAGQX9qIgZBMDoAACAGIAlBEGpLDQALCyAAIAYgCkEJIApBCUgbECMgCkF3aiEGIAdBBGoiByALTw0DIApBCUohAyAGIQogAw0ACwwCCwJAIApBAEgNACALIAdBBGogCyAHSxshBSAJQRBqQQhyIQMgCUEQakEJciELIAchCANAIAsgCDUCACALEEMiBkYEQCAJQTA6ABggAyEGCwJAIAcgCEcEQCAGIAlBEGpNDQEDQCAGQX9qIgZBMDoAACAGIAlBEGpLDQALDAELIAAgBkEBECMgBkEBaiEGIBNFQQAgCkEBSBsNACAAQbOHAUEBECMLIAAgBiALIAZrIgYgCiAKIAZKGxAjIAogBmshCiAIQQRqIgggBU8NASAKQX9KDQALCyAAQTAgCkESakESQQAQJyAAIBEgECARaxAjDAILIAohBgsgAEEwIAZBCWpBCUEAECcLDAELIBVBCWogFSAFQSBxIgsbIQoCQCADQQtLDQBBDCADayIGRQ0ARAAAAAAAACBAIRoDQCAaRAAAAAAAADBAoiEaIAZBf2oiBg0ACyAKLQAAQS1GBEAgGiABmiAaoaCaIQEMAQsgASAaoCAaoSEBCyAQIAkoAiwiBiAGQR91IgZqIAZzrSAQEEMiBkYEQCAJQTA6AA8gCUEPaiEGCyASQQJyIQ8gCSgCLCEIIAZBfmoiDCAFQQ9qOgAAIAZBf2pBLUErIAhBAEgbOgAAIARBCHEhCCAJQRBqIQcDQCAHIgUCfyABmUQAAAAAAADgQWMEQCABqgwBC0GAgICAeAsiBkGAhwFqLQAAIAtyOgAAIAEgBrehRAAAAAAAADBAoiEBAkAgBUEBaiIHIAlBEGprQQFHDQACQCAIDQAgA0EASg0AIAFEAAAAAAAAAABhDQELIAVBLjoAASAFQQJqIQcLIAFEAAAAAAAAAABiDQALIABBICACIA8CfwJAIANFDQAgByAJa0FuaiADTg0AIAMgEGogDGtBAmoMAQsgECAJQRBqayAMayAHagsiA2oiDSAEECcgACAKIA8QIyAAQTAgAiANIARBgIAEcxAnIAAgCUEQaiAHIAlBEGprIgUQIyAAQTAgAyAFIBAgDGsiA2prQQBBABAnIAAgDCADECMLIABBICACIA0gBEGAwABzECcgCUGwBGokACACIA0gDSACSBsLLQAgAFBFBEADQCABQX9qIgEgAKdBB3FBMHI6AAAgAEIDiCIAQgBSDQALCyABCzUAIABQRQRAA0AgAUF/aiIBIACnQQ9xQYCHAWotAAAgAnI6AAAgAEIEiCIAQgBSDQALCyABC8sCAQN/IwBB0AFrIgMkACADIAI2AswBQQAhAiADQaABakEAQSgQMyADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBwQQBIDQAgACgCTEEATgRAQQEhAgsgACgCACEEIAAsAEpBAEwEQCAAIARBX3E2AgALIARBIHEhBQJ/IAAoAjAEQCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcAwBCyAAQdAANgIwIAAgA0HQAGo2AhAgACADNgIcIAAgAzYCFCAAKAIsIQQgACADNgIsIAAgASADQcgBaiADQdAAaiADQaABahBwIARFDQAaIABBAEEAIAAoAiQRAQAaIABBADYCMCAAIAQ2AiwgAEEANgIcIABBADYCECAAKAIUGiAAQQA2AhRBAAsaIAAgACgCACAFcjYCACACRQ0ACyADQdABaiQACy8AIAECfyACKAJMQX9MBEAgACABIAIQcQwBCyAAIAEgAhBxCyIARgRAIAEPCyAAC1kBAX8gACAALQBKIgFBf2ogAXI6AEogACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACwYAQaShAQsGAEGgoQELBgBBmKEBC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qELMCIAIgACAEQYH4ACADaxCyAiACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAuLAgACQCAABH8gAUH/AE0NAQJAQZCaASgCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LC0G0nAFBGTYCAEF/BUEBCw8LIAAgAToAAEEBC74CAQF/IwBBwMAAayIDJAAgAyAANgK4QCADIAE2ArRAIAMgAjcDqEACQCADKAK0QBBJQQBIBEAgAygCuEBBCGogAygCtEAQGCADQX82ArxADAELIANBADYCDCADQgA3AxADQAJAIAMgAygCtEAgA0EgakKAwAAQLyICNwMYIAJCAFcNACADKAK4QCADQSBqIAMpAxgQNkEASARAIANBfzYCDAUgAykDGEKAwABSDQIgAygCuEAoAlRFDQIgAykDqEBCAFcNAiADIAMpAxggAykDEHw3AxAgAygCuEAoAlQgAykDELkgAykDqEC5oxBYDAILCwsgAykDGEIAUwRAIAMoArhAQQhqIAMoArRAEBggA0F/NgIMCyADKAK0QBAyGiADIAMoAgw2ArxACyADKAK8QCEAIANBwMAAaiQAIAALqgEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI3AxggAyADKAIoKAIAEDUiAjcDEAJAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoIAMoAiQgAykDGBCQAyICNwMAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoKAIAEDUiAjcDCCACQgBTBEAgA0F/NgIsDAELIANBADYCLAsgAygCLCEAIANBMGokACAAC/4BAQF/IwBBoMAAayICJAAgAiAANgKYQCACIAE3A5BAIAIgAikDkEC6OQMAAkADQCACKQOQQEIAVgRAIAICfkKAwAAgAikDkEBCgMAAVg0AGiACKQOQQAs+AgwgAigCmEAoAgAgAkEQaiACKAIMrSACKAKYQEEIahBhQQBIBEAgAkF/NgKcQAwDCyACKAKYQCACQRBqIAIoAgytEDZBAEgEQCACQX82ApxADAMFIAIgAikDkEAgAjUCDH03A5BAIAIoAphAKAJUIAIrAwAgAikDkEC6oSACKwMAoxBYDAILAAsLIAJBADYCnEALIAIoApxAIQAgAkGgwABqJAAgAAvnEQIBfwF+IwBBoAFrIgMkACADIAA2ApgBIAMgATYClAEgAyACNgKQAQJAIAMoApQBIANBOGoQOUEASARAIAMoApgBQQhqIAMoApQBEBggA0F/NgKcAQwBCyADKQM4QsAAg1AEQCADIAMpAzhCwACENwM4IANBADsBaAsCQAJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQsgAy8BaEUNACADKAKQASADLwFoNgIQDAELAkACQCADKAKQASgCEA0AIAMpAzhCBINQDQAgAyADKQM4QgiENwM4IAMgAykDUDcDWAwBCyADIAMpAzhC9////w+DNwM4CwsgAykDOEKAAYNQBEAgAyADKQM4QoABhDcDOCADQQA7AWoLIANBgAI2AiQCQCADKQM4QgSDUARAIAMgAygCJEGACHI2AiQgA0J/NwNwDAELIAMoApABIAMpA1A3AyggAyADKQNQNwNwAkAgAykDOEIIg1AEQAJAAkACQAJAAkACfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcQ4NAgMDAwMDAwMBAwMDAAMLIANClMLk8w83AxAMAwsgA0KDg7D/DzcDEAwCCyADQv////8PNwMQDAELIANCADcDEAsgAykDUCADKQMQVgRAIAMgAygCJEGACHI2AiQLDAELIAMoApABIAMpA1g3AyALCyADIAMoApgBKAIAEDUiBDcDiAEgBEIAUwRAIAMoApgBQQhqIAMoApgBKAIAEBggA0F/NgKcAQwBCyADKAKQASIAIAAvAQxB9/8DcTsBDCADIAMoApgBIAMoApABIAMoAiQQXiIANgIoIABBAEgEQCADQX82ApwBDAELIAMgAy8BaAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxRzoAIiADIAMtACJBAXEEfyADLwFoQQBHBUEAC0EBcToAISADIAMvAWgEfyADLQAhBUEBC0EBcToAICADIAMtACJBAXEEfyADKAKQASgCEEEARwVBAAtBAXE6AB8gAwJ/QQEgAy0AIkEBcQ0AGkEBIAMoApABKAIAQYABcQ0AGiADKAKQAS8BUiADLwFqRwtBAXE6AB4gAyADLQAeQQFxBH8gAy8BakEARwVBAAtBAXE6AB0gAyADLQAeQQFxBH8gAygCkAEvAVJBAEcFQQALQQFxOgAcIAMgAygClAE2AjQjAEEQayIAIAMoAjQ2AgwgACgCDCIAIAAoAjBBAWo2AjAgAy0AHUEBcQRAIAMgAy8BakEAEHciADYCDCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADLwFqQQAgAygCmAEoAhwgAygCDBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAy0AIUEBcQRAIAMgAygCmAEgAygCNCADLwFoEKsBIgA2AjAgAEUEQCADKAI0EBwgA0F/NgKcAQwCCyADKAI0EBwgAyADKAIwNgI0CyADLQAgQQFxBEAgAyADKAKYASADKAI0QQAQqgEiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtAB9BAXEEQCADIAMoApgBIAMoAjQgAygCkAEoAhAgAygCkAEvAVAQwgIiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtABxBAXEEQCADQQA2AgQCQCADKAKQASgCVARAIAMgAygCkAEoAlQ2AgQMAQsgAygCmAEoAhwEQCADIAMoApgBKAIcNgIECwsgAyADKAKQAS8BUkEBEHciADYCCCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADKAKQAS8BUkEBIAMoAgQgAygCCBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAyADKAKYASgCABA1IgQ3A4ABIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAyADKAKYASADKAI0IAMpA3AQtQI2AiwgAygCNCADQThqEDlBAEgEQCADKAKYAUEIaiADKAI0EBggA0F/NgIsCyADIAMoAjQQuwIiADoAIyAAQRh0QRh1QQBIBEAgAygCmAFBCGogAygCNBAYIANBfzYCLAsgAygCNBAcIAMoAixBAEgEQCADQX82ApwBDAELIAMgAygCmAEoAgAQNSIENwN4IARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAygCmAEoAgAgAykDiAEQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAykDOELkAINC5ABSBEAgAygCmAFBCGpBFEEAEBUgA0F/NgKcAQwBCyADKAKQASgCAEEgcUUEQAJAIAMpAzhCEINCAFIEQCADKAKQASADKAJgNgIUDAELIAMoApABQRRqEAEaCwsgAygCkAEgAy8BaDYCECADKAKQASADKAJkNgIYIAMoApABIAMpA1A3AyggAygCkAEgAykDeCADKQOAAX03AyAgAygCkAEgAygCkAEvAQxB+f8DcSADLQAjQQF0cjsBDCADKAKQASADKAIkQYAIcUEARxCKAyADIAMoApgBIAMoApABIAMoAiQQXiIANgIsIABBAEgEQCADQX82ApwBDAELIAMoAiggAygCLEcEQCADKAKYAUEIakEUQQAQFSADQX82ApwBDAELIAMoApgBKAIAIAMpA3gQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgA0EANgKcAQsgAygCnAEhACADQaABaiQAIAALrwIBAX8jAEEgayICIAA2AhwgAiABNgIYIAJBADYCFCACQgA3AwACQCACKAIcLQAoQQFxRQRAIAIoAhwoAhggAigCHCgCFEYNAQsgAkEBNgIUCyACQgA3AwgDQCACKQMIIAIoAhwpAzBUBEACQAJAIAIoAhwoAkAgAikDCKdBBHRqKAIIDQAgAigCHCgCQCACKQMIp0EEdGotAAxBAXENACACKAIcKAJAIAIpAwinQQR0aigCBEUNASACKAIcKAJAIAIpAwinQQR0aigCBCgCAEUNAQsgAkEBNgIUCyACKAIcKAJAIAIpAwinQQR0ai0ADEEBcUUEQCACIAIpAwBCAXw3AwALIAIgAikDCEIBfDcDCAwBCwsgAigCGARAIAIoAhggAikDADcDAAsgAigCFAuMEAMCfwF+AXwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIAEgASgCWCABQUBrELkCNgIkIAEpA0BQBEACQCABKAJYKAIEQQhxRQRAIAEoAiRFDQELIAEoAlgoAgAQhAJBAEgEQAJAAn8jAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCAEEWRgsEQCMAQRBrIgIgASgC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NgI8IAEoAlAgASgCODYCQCABKAJYIAEoAjAQ1gIgASABKAJYKAIMNgJIIAEgASgCWCgCEDYCQCABIAEoAlgoAgA2AkwgASABKAJYKAIENgJEIAEgASgCUCgCPDYCPCABIAEoAlAoAkA2AjggASgCUCgCBEG//gBGBEAgASgCUEF/NgLINwsMDQsgASgCUEEANgLINwNAAkAgASABKAJQKAJQIAEoAjxBASABKAJQKAJYdEEBa3FBAnRqKAEANgEgIAEtACEgASgCOE0NACABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEtACBFDQAgAS0AIEHwAXENACABIAEoASA2ARgDQAJAIAEgASgCUCgCUCABLwEaIAEoAjxBASABLQAZIAEtABhqdEEBa3EgAS0AGXZqQQJ0aigBADYBICABLQAZIAEtACFqIAEoAjhNDQAgASgCREUNDiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtABl2NgI8IAEgASgCOCABLQAZazYCOCABKAJQIgAgAS0AGSAAKALIN2o2Asg3CyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAEoAlAiACABLQAhIAAoAsg3ajYCyDcgASgCUCABLwEiNgJEIAEtACBFBEAgASgCUEHN/gA2AgQMDQsgAS0AIEEgcQRAIAEoAlBBfzYCyDcgASgCUEG//gA2AgQMDQsgAS0AIEHAAHEEQCABKAJYQYfxADYCGCABKAJQQdH+ADYCBAwNCyABKAJQIAEtACBBD3E2AkwgASgCUEHJ/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCRCABKAI8QQEgASgCUCgCTHRBAWtxajYCRCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACAB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KAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AiggAigCKCACKAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLCyACIAIoAgQgAigCLEEBIAIoAgx0QQFrcWo2AgQgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAIoAkggAigCRGs2AgwCQCACKAIEIAIoAgxLBEAgAiACKAIEIAIoAgxrNgIMIAIoAgwgAigCOEsEQCACKAJUKALENwRAIAIoAlxBsO0ANgIYIAIoAlRB0f4ANgIEDAoLCyACIAIoAjA2AgACQCACKAI0RQRAIAIgAigCACACKAI8IAIoAgxrajYCACACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCSCACKAIEazYCAAsMAQsCQCACKAI0IAIoAgxJBEAgAiACKAIAIAIoAjwgAigCNGogAigCDGtqNgIAIAIgAigCDCACKAI0azYCDCACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCMDYCACACKAI0IAIoAghJBEAgAiACKAI0NgIMIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwwBCyACIAIoAgAgAigCNCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwsDQCACKAIIQQJNRQRAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCAwBCwsMAQsgAiACKAJIIAIoAgRrNgIAA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIIQQNrNgIIIAIoAghBAksNAAsLIAIoAggEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIoAghBAUsEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAACwsMAgsgAigCDEHAAHFFBEAgAkEQaiACKAIgIAIvARIgAigCLEEBIAIoAgx0QQFrcWpBAnRqKAEANgEADAELCyACKAJcQc7tADYCGCACKAJUQdH+ADYCBAwECwwCCyACKAIMQcAAcUUEQCACQRBqIAIoAiQgAi8BEiACKAIsQQEgAigCDHRBAWtxakECdGooAQA2AQAMAQsLIAIoAgxBIHEEQCACKAJUQb/+ADYCBAwCCyACKAJcQeTtADYCGCACKAJUQdH+ADYCBAwBC0EAIQAgAigCUCACKAJMSQR/IAIoAkggAigCQEkFQQALQQFxDQELCyACIAIoAihBA3Y2AgggAiACKAJQIAIoAghrNgJQIAIgAigCKCACKAIIQQN0azYCKCACIAIoAixBASACKAIodEEBa3E2AiwgAigCXCACKAJQNgIAIAIoAlwgAigCSDYCDCACKAJcAn8gAigCUCACKAJMSQRAIAIoAkwgAigCUGtBBWoMAQtBBSACKAJQIAIoAkxraws2AgQgAigCXAJ/IAIoAkggAigCQEkEQCACKAJAIAIoAkhrQYECagwBC0GBAiACKAJIIAIoAkBraws2AhAgAigCVCACKAIsNgI8IAIoAlQgAigCKDYCQAvBEAECfyMAQSBrIgIk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LSAAKAKgLUEBdGogAi8BEDsBACACLQATIQEgAigCKCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BEEF/ajsBECACKAIoIAItABNBgNkAai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIoQYgTagJ/IAIvARBBgAJIBEAgAi8BEC0AgFUMAQsgAi8BEEEHdUGAAmotAIBVC0ECdGoiACAALwEAQQFqOwEAIAIgAigCKCgCoC0gAigCKCgCnC1BAWtGNgIgIAIoAigiACAAKAJ0IAIoAigoAmBrNgJ0IAIoAigiACACKAIoKAJgIAAoAmxqNgJsIAIoAihBADYCYAwBCyACIAIoAigiACgCOCAAKAJsai0AADoADyACKAIoIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAA8hASACKAIoIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCKCACLQAPQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdEF/ajYCdCACKAIoIgAgACgCbEEBajYCbAsgAigCIARAIAIoAigCfyACKAIoKAJcQQBOBEAgAigCKCgCOCACKAIoKAJcagwBC0EACyACKAIoKAJsIAIoAigoAlxrQQAQKSACKAIoIAIoAigoAmw2AlwgAigCKCgCABAdIAIoAigoAgAoAhBFBEAgAkEANgIsDAQLCwwBCwsgAigCKEEANgK0LSACKAIkQQRGBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBARApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQI2AiwMAgsgAkEDNgIsDAELIAIoAigoAqAtBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBABApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQA2AiwMAgsLIAJBATYCLAsgAigCLCEAIAJBMGokACAAC8AFAQJ/IwBBIGsiAiQA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AgQgAkEANgIQA0AgAigCEEEPSkUEQCACKAI8QbwWaiACKAIQQQF0akEAOwEAIAIgAigCEEEBajYCEAwBCwsgAigCNCACKAI8QdwWaiACKAI8KALUKEECdGooAgBBAnRqQQA7AQIgAiACKAI8KALUKEEBajYCHANAIAIoAhxBvQRIBEAgAiACKAI8QdwWaiACKAIcQQJ0aigCADYCGCACIAIoAjQgAigCNCACKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgAigCECACKAIgSgRAIAIgAigCIDYCECACIAIoAgRBAWo2AgQLIAIoAjQgAigCGEECdGogAigCEDsBAiACKAIYIAIoAjBMBEAgAigCPCACKAIQQQF0akG8FmoiACAALwEAQQFqOwEAIAJBADYCDCACKAIYIAIoAiROBEAgAiACKAIoIAIoAhggAigCJGtBAnRqKAIANgIMCyACIAIoAjQgAigCGEECdGovAQA7AQogAigCPCIAIAAoAqgtIAIvAQogAigCECACKAIMamxqNgKoLSACKAIsBEAgAigCPCIAIAAoAqwtIAIvAQogAigCLCACKAIYQQJ0ai8BAiACKAIMamxqNgKsLQsLIAIgAigCHEEBajYCHAwBCwsCQCACKAIERQ0AA0AgAiACKAIgQQFrNgIQA0AgAigCPEG8FmogAigCEEEBdGovAQBFBEAgAiACKAIQQX9qNgIQDAELCyACKAI8IAIoAhBBAXRqQbwWaiIAIAAvAQBBf2o7AQAgAigCPCACKAIQQQF0akG+FmoiACAALwEAQQJqOwEAIAIoAjwgAigCIEEBdGpBvBZqIgAgAC8BAEF/ajsBACACIAIoAgRBAms2AgQgAigCBEEASg0ACyACIAIoAiA2AhADQCACKAIQRQ0BIAIgAigCPEG8FmogAigCEEEBdGovAQA2AhgDQCACKAIYBEAgAigCPEHcFmohACACIAIoAhxBf2oiATYCHCACIAFBAnQgAGooAgA2AhQgAigCFCACKAIwSg0BIAIoAjQgAigCFEECdGovAQIgAigCEEcEQCACKAI8IgAgACgCqC0gAigCNCACKAIUQQJ0ai8BACACKAIQIAIoAjQgAigCFEECdGovAQJrbGo2AqgtIAIoAjQgAigCFEECdGogAigCEDsBAgsgAiACKAIYQX9qNgIYDAELCyACIAIo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KAIMIAEoAgxB/BRqNgKwFiABKAIMQajbADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQuQEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFAwBCwsDQCADIAMoAhAiAEF/ajYCECAABEAgAyADKAIUIgBBAWo2AhQgAyAALQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDAwBCwsgAyADKAIYQfH/A3A2AhggAyADKAIMQfH/A3A2AgwLIAMgAygC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KAIEDAELIAMoAgwoAgALQYAEEF4iADYCECAAQQBIBEAgA0J/NwO4AQwDCyADKAIQBEAgA0EBOgAXCyADIAMpAxhCAXw3AxgMAQsLIAMgAygCtAEoAgAQNSICNwMgIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAYIANCfzcDuAEMAQsgAyADKQMgIAMpA6ABfTcDmAECQCADKQOgAUL/////D1gEQCADKQOoAUL//wNYDQELIANBAToAFwsgAyADQTBqQuIAECoiADYCLCAARQRAIAMoArQBQQhqQQ5BABAVIANCfzcDuAEMAQsgAy0AF0EBcQRAIAMoAixBttMAQQQQQCADKAIsQiwQLiADKAIsQS0QICADKAIsQS0QICADKAIsQQAQISADKAIsQQAQISADKAIsIAMpA6gBEC4gAygCLCADKQOoARAuIAMoAiwgAykDmAEQLiADKAIsIAMpA6ABEC4gAygCLEG70wBBBBBAIAMoAixBABAhIAMoAiwgAykDoAEgAykDmAF8EC4gAygCLEEBECELIAMoAixBwNMAQQQQQCADKAIsQQAQISADKAIsAn5C//8DIAMpA6gBQv//A1oNABogAykDqAELp0H//wNxECAgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAgIAMoAiwCf0F/IAMpA5gBQv////8PWg0AGiADKQOYAacLECEgAygCLAJ/QX8gAykDoAFC/////w9aDQAaIAMpA6ABpwsQISADAn8gAygCtAEtAChBAXEEQCADKAK0ASgCJAwBCyADKAK0ASgCIAs2ApQBIAMoAiwCfyADKAKUAQRAIAMoApQBLwEEDAELQQALQf//A3EQIAJ/IwBBEGsiACADKAIsNgIMIAAoAgwtAABBAXFFCwRAIAMoArQBQQhqQRRBABAVIAMoAiwQFyADQn83A7gBDAELIAMoArQBAn8jAEEQayIAIAMoAiw2AgwgACgCDCgCBAsCfiMAQRBrIgAgAygCLDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCLBAXIANCfzcDuAEMAQsgAygCLBAXIAMoApQBBEAgAygCtAEgAygClAEoAgAgAygClAEvAQStEDZBAEgEQCADQn83A7gBDAILCyADIAMpA5gBNwO4AQsgAykDuAEhAiADQcABaiQAIAILBwAgACgCIAsIAEEBQTgQewsDAAELC/KNAScAQYAIC5QFTm8gZXJyb3IATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAU2VlayBlcnJvcgBSZWFkIGVycm9yAFdyaXRlIGVycm9yAENSQyBlcnJvcgBDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQATm8gc3VjaCBmaWxlAEZpbGUgYWxyZWFkeSBleGlzdHMAQ2FuJ3Qgb3BlbiBmaWxlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAFpsaWIgZXJyb3IATWFsbG9jIGZhaWx1cmUARW50cnkgaGFzIGJlZW4gY2hhbmdlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABQcmVtYXR1cmUgZW5kIG9mIGZpbGUASW52YWxpZCBhcmd1bWVudABOb3QgYSB6aXAgYXJjaGl2ZQBJbnRlcm5hbCBlcnJvcgBaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQAQ2FuJ3QgcmVtb3ZlIGZpbGUARW50cnkgaGFzIGJlZW4gZGVsZXRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAFJlYWQtb25seSBhcmNoaXZlAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAFJlc291cmNlIHN0aWxsIGluIHVzZQBUZWxsIGVycm9yAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAEGhDQuAAQQAAAkEAAAvBAAATgQAAGkEAAB0BAAAfwQAAIsEAACVBAAAtwQAAMQEAADYBAAA6AQAAAkFAAAUBQAAIwUAADoFAABbBQAAcQUAAIIFAACUBQAAowUAALwFAADOBQAA5QUAAAUGAAAXBgAALAYAAEQGAABcBgAAcgYAAH0GAAAgAEG4DgsRAQAAAAEAAAABAAAAAQAAAAEAQdwOCwkBAAAAAQAAAAIAQYgPCwEBAEGoDwsB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CAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgA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cnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAFVua25vd24gZXJyb3IgJWQAJXMlcyVzAAA6IAAvcHJvYy9zZWxmL2ZkLwAvZGV2L3VyYW5kb20AcndhACVzLlhYWFhYWAByK2IAcmIAUEsFBgBBkJgBC04KAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAAQAAAAgAAAAQTAAAMEwAQZCaAQsCgFAAQciaAQsJHwAAAGRNAAADAEHkmgELjAEt9FFYz4yxwEb2tcspMQPHBFtwMLRd/SB4f4ua2FkpUGhIiaunVgNs/7fNiD/Ud7QrpaNw8brkqPxBg/3Zb+GKei8tdJYHHw0JXgN2LHD3QKUsp29XQaiqdN+gWGQDSsfEPFOur18YBBWx420ohqsMpL9D8OlQgTlXFlI3/////////////////////w==";function Ae(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?f.get(r)():f.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(o)}}function ne(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();return o.extraStackTrace&&(e+="\n"+o.extraStackTrace()),e.replace(/\b_Z[\w\d_]+/g,(function(e){return e==e?e:e+" ["+e+"]"}))}function oe(e,t){var r=new Date(1e3*M[e>>2]);M[t>>2]=r.getUTCSeconds(),M[t+4>>2]=r.getUTCMinutes(),M[t+8>>2]=r.getUTCHours(),M[t+12>>2]=r.getUTCDate(),M[t+16>>2]=r.getUTCMonth(),M[t+20>>2]=r.getUTCFullYear()-1900,M[t+24>>2]=r.getUTCDay(),M[t+36>>2]=0,M[t+32>>2]=0;var A=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-A)/864e5|0;return M[t+28>>2]=n,oe.GMTString||(oe.GMTString=S("GMT")),M[t+40>>2]=oe.GMTString,t}Z(re)||($=re,re=o.locateFile?o.locateFile($,u):u+$),U.push({func:function(){Se()}});var ie={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,A=e.length-1;A>=0;A--){var n=e[A];"."===n?e.splice(A,1):".."===n?(e.splice(A,1),r++):r&&(e.splice(A,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=ie.splitPath(e),r=t[0],A=t[1];return r||A?(A&&(A=A.substr(0,A.length-1)),r+A):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=ie.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return ie.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return ie.normalize(e.join("/"))},join2:function(e,t){return ie.normalize(e+"/"+t)}};function se(e){return M[ke()>>2]=e,e}var ae={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var A=r>=0?arguments[r]:pe.cwd();if("string"!=typeof A)throw new TypeError("Arguments to path.resolve must be strings");if(!A)return"";e=A+"/"+e,t="/"===A.charAt(0)}return(t?"/":"")+(e=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ae.resolve(e).substr(1),t=ae.resolve(t).substr(1);for(var A=r(e.split("/")),n=r(t.split("/")),o=Math.min(A.length,n.length),i=o,s=0;s0?r.slice(0,A).toString("utf-8"):null))return null;e.input=we(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(h(w(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(h(w(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(w(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(p(w(e.output,0)),e.output=[])}}},ge={ops_table:null,mount:function(e){return ge.createNode(null,"/",16895,0)},createNode:function(e,t,r,A){if(pe.isBlkdev(r)||pe.isFIFO(r))throw new pe.ErrnoError(63);ge.ops_table||(ge.ops_table={dir:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,lookup:ge.node_ops.lookup,mknod:ge.node_ops.mknod,rename:ge.node_ops.rename,unlink:ge.node_ops.unlink,rmdir:ge.node_ops.rmdir,readdir:ge.node_ops.readdir,symlink:ge.node_ops.symlink},stream:{llseek:ge.stream_ops.llseek}},file:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:{llseek:ge.stream_ops.llseek,read:ge.stream_ops.read,write:ge.stream_ops.write,allocate:ge.stream_ops.allocate,mmap:ge.stream_ops.mmap,msync:ge.stream_ops.msync}},link:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,readlink:ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:pe.chrdev_stream_ops}});var n=pe.createNode(e,t,r,A);return pe.isDir(n.mode)?(n.node_ops=ge.ops_table.dir.node,n.stream_ops=ge.ops_table.dir.stream,n.contents={}):pe.isFile(n.mode)?(n.node_ops=ge.ops_table.file.node,n.stream_ops=ge.ops_table.file.stream,n.usedBytes=0,n.contents=null):pe.isLink(n.mode)?(n.node_ops=ge.ops_table.link.node,n.stream_ops=ge.ops_table.link.stream):pe.isChrdev(n.mode)&&(n.node_ops=ge.ops_table.chrdev.node,n.stream_ops=ge.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n),n},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var t=[],r=0;r=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var A=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(A.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t){if(0==t)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var r=e.contents;return e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),void(e.usedBytes=t)}if(e.contents||(e.contents=[]),e.contents.length>t)e.contents.length=t;else for(;e.contents.length=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-n,A);if(i>8&&o.subarray)t.set(o.subarray(n,n+i),r);else for(var s=0;s0||A+r>2)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return t.mode},realPath:function(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),ie.join.apply(null,t)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var t=0;for(var r in ue.flagsForNodeMap)e&r&&(t|=ue.flagsForNodeMap[r],e^=r);if(e)throw new pe.ErrnoError(28);return t},node_ops:{getattr:function(e){var t,r=ue.realPath(e);try{t=Ie.lstatSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return ue.isWindows&&!t.blksize&&(t.blksize=4096),ue.isWindows&&!t.blocks&&(t.blocks=(t.size+t.blksize-1)/t.blksize|0),{dev:t.dev,ino:t.ino,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr:function(e,t){var r=ue.realPath(e);try{if(void 0!==t.mode&&(Ie.chmodSync(r,t.mode),e.mode=t.mode),void 0!==t.timestamp){var A=new Date(t.timestamp);Ie.utimesSync(r,A,A)}void 0!==t.size&&Ie.truncateSync(r,t.size)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},lookup:function(e,t){var r=ie.join2(ue.realPath(e),t),A=ue.getMode(r);return ue.createNode(e,t,A)},mknod:function(e,t,r,A){var n=ue.createNode(e,t,r,A),o=ue.realPath(n);try{pe.isDir(n.mode)?Ie.mkdirSync(o,n.mode):Ie.writeFileSync(o,"",{mode:n.mode})}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return n},rename:function(e,t,r){var A=ue.realPath(e),n=ie.join2(ue.realPath(t),r);try{Ie.renameSync(A,n)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}e.name=r},unlink:function(e,t){var r=ie.join2(ue.realPath(e),t);try{Ie.unlinkSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},rmdir:function(e,t){var r=ie.join2(ue.realPath(e),t);try{Ie.rmdirSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},readdir:function(e){var t=ue.realPath(e);try{return Ie.readdirSync(t)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},symlink:function(e,t,r){var A=ie.join2(ue.realPath(e),t);try{Ie.symlinkSync(r,A)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},readlink:function(e){var t=ue.realPath(e);try{return t=Ie.readlinkSync(t),t=Ee.relative(Ee.resolve(e.mount.opts.root),t)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}}},stream_ops:{open:function(e){var t=ue.realPath(e.node);try{pe.isFile(e.node.mode)&&(e.nfd=Ie.openSync(t,ue.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},close:function(e){try{pe.isFile(e.node.mode)&&e.nfd&&Ie.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},read:function(e,t,r,A,n){if(0===A)return 0;try{return Ie.readSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n)}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}},write:function(e,t,r,A,n){try{return Ie.writeSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n)}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}},llseek:function(e,t,r){var A=t;if(1===r)A+=e.position;else if(2===r&&pe.isFile(e.node.mode))try{A+=Ie.fstatSync(e.nfd).size}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}if(A<0)throw new pe.ErrnoError(28);return A},mmap:function(e,t,r,A,n,o){if(E(0===t),!pe.isFile(e.node.mode))throw new pe.ErrnoError(43);var i=pe.mmapAlloc(r);return ue.stream_ops.read(e,K,i,r,A),{ptr:i,allocated:!0}},msync:function(e,t,r,A,n){if(!pe.isFile(e.node.mode))throw new pe.ErrnoError(43);if(2&n)return 0;ue.stream_ops.write(e,t,0,A,r,!1);return 0}}},he={lookupPath:function(e){return{path:e,node:{mode:ue.getMode(e)}}},createStandardStreams:function(){pe.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var e=1;e<3;e++)pe.streams[e]={fd:e,nfd:e,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(e,t){pe.isDir(e)?Ie.mkdirSync(e,t):Ie.writeFileSync(e,"",{mode:t})},mkdir:function(){Ie.mkdirSync.apply(void 0,arguments)},symlink:function(){Ie.symlinkSync.apply(void 0,arguments)},rename:function(){Ie.renameSync.apply(void 0,arguments)},rmdir:function(){Ie.rmdirSync.apply(void 0,arguments)},readdir:function(){Ie.readdirSync.apply(void 0,arguments)},unlink:function(){Ie.unlinkSync.apply(void 0,arguments)},readlink:function(){return Ie.readlinkSync.apply(void 0,arguments)},stat:function(){return Ie.statSync.apply(void 0,arguments)},lstat:function(){return Ie.lstatSync.apply(void 0,arguments)},chmod:function(){Ie.chmodSync.apply(void 0,arguments)},fchmod:function(){Ie.fchmodSync.apply(void 0,arguments)},chown:function(){Ie.chownSync.apply(void 0,arguments)},fchown:function(){Ie.fchownSync.apply(void 0,arguments)},truncate:function(){Ie.truncateSync.apply(void 0,arguments)},ftruncate:function(){Ie.ftruncateSync.apply(void 0,arguments)},utime:function(){Ie.utimesSync.apply(void 0,arguments)},open:function(e,t,r,A){"string"==typeof t&&(t=ye.modeStringToFlags(t));var n=Ie.openSync(e,ue.flagsForNode(t),r),o=null!=A?A:pe.nextfd(n),i={fd:o,nfd:n,position:0,path:e,flags:t,seekable:!0};return pe.streams[o]=i,i},close:function(e){e.stream_ops||Ie.closeSync(e.nfd),pe.closeStream(e.fd)},llseek:function(e,t,r){if(e.stream_ops)return ye.llseek(e,t,r);var A=t;if(1===r)A+=e.position;else if(2===r)A+=Ie.fstatSync(e.nfd).size;else if(0!==r)throw new pe.ErrnoError(le.EINVAL);if(A<0)throw new pe.ErrnoError(le.EINVAL);return e.position=A,A},read:function(e,t,r,A,n){if(e.stream_ops)return ye.read(e,t,r,A,n);var o=void 0!==n;!o&&e.seekable&&(n=e.position);var i=Ie.readSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n);return o||(e.position+=i),i},write:function(e,t,r,A,n){if(e.stream_ops)return ye.write(e,t,r,A,n);1024&e.flags&&pe.llseek(e,0,2);var o=void 0!==n;!o&&e.seekable&&(n=e.position);var i=Ie.writeSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n);return o||(e.position+=i),i},allocate:function(){throw new pe.ErrnoError(le.EOPNOTSUPP)},mmap:function(){throw new pe.ErrnoError(le.ENODEV)},msync:function(){return 0},munmap:function(){return 0},ioctl:function(){throw new pe.ErrnoError(le.ENOTTY)}},pe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof pe.ErrnoError))throw e+" : "+ne();return se(e.errno)},lookupPath:function(e,t){if(t=t||{},!(e=ae.resolve(pe.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var A in r)void 0===t[A]&&(t[A]=r[A]);if(t.recurse_count>8)throw new pe.ErrnoError(32);for(var n=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),o=pe.root,i="/",s=0;s40)throw new pe.ErrnoError(32)}}return{path:i,node:o}},getPath:function(e){for(var t;;){if(pe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var r=0,A=0;A>>0)%pe.nameTable.length},hashAddNode:function(e){var t=pe.hashName(e.parent.id,e.name);e.name_next=pe.nameTable[t],pe.nameTable[t]=e},hashRemoveNode:function(e){var t=pe.hashName(e.parent.id,e.name);if(pe.nameTable[t]===e)pe.nameTable[t]=e.name_next;else for(var r=pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=pe.mayLookup(e);if(r)throw new pe.ErrnoError(r,e);for(var A=pe.hashName(e.id,t),n=pe.nameTable[A];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===t)return n}return pe.lookup(e,t)},createNode:function(e,t,r,A){var n=new pe.FSNode(e,t,r,A);return pe.hashAddNode(n),n},destroyNode:function(e){pe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var t=pe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return pe.ignorePermissions||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2},mayLookup:function(e){var t=pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{pe.lookupNode(e,t);return 20}catch(e){}return pe.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var A;try{A=pe.lookupNode(e,t)}catch(e){return e.errno}var n=pe.nodePermissions(e,"wx");if(n)return n;if(r){if(!pe.isDir(A.mode))return 54;if(pe.isRoot(A)||pe.getPath(A)===pe.cwd())return 10}else if(pe.isDir(A.mode))return 31;return 0},mayOpen:function(e,t){return e?pe.isLink(e.mode)?32:pe.isDir(e.mode)&&("r"!==pe.flagsToPermissionString(t)||512&t)?31:pe.nodePermissions(e,pe.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||pe.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!pe.streams[r])return r;throw new pe.ErrnoError(33)},getStream:function(e){return pe.streams[e]},createStream:function(e,t,r){pe.FSStream||(pe.FSStream=function(){},pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var A=new pe.FSStream;for(var n in e)A[n]=e[n];e=A;var o=pe.nextfd(t,r);return e.fd=o,pe.streams[o]=e,e},closeStream:function(e){pe.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new pe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){pe.devices[e]={stream_ops:t}},getDevice:function(e){return pe.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var A=r.pop();t.push(A),r.push.apply(r,A.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),pe.syncFSRequests++,pe.syncFSRequests>1&&p("warning: "+pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=pe.getMounts(pe.root.mount),A=0;function n(e){return pe.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,n(e));++A>=r.length&&n(null)}r.forEach((function(t){if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:function(e,t,r){var A,n="/"===r,o=!r;if(n&&pe.root)throw new pe.ErrnoError(10);if(!n&&!o){var i=pe.lookupPath(r,{follow_mount:!1});if(r=i.path,A=i.node,pe.isMountpoint(A))throw new pe.ErrnoError(10);if(!pe.isDir(A.mode))throw new pe.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},a=e.mount(s);return a.mount=s,s.root=a,n?pe.root=a:A&&(A.mounted=s,A.mount&&A.mount.mounts.push(s)),a},unmount:function(e){var t=pe.lookupPath(e,{follow_mount:!1});if(!pe.isMountpoint(t.node))throw new pe.ErrnoError(28);var r=t.node,A=r.mounted,n=pe.getMounts(A);Object.keys(pe.nameTable).forEach((function(e){for(var t=pe.nameTable[e];t;){var r=t.name_next;-1!==n.indexOf(t.mount)&&pe.destroyNode(t),t=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(A);r.mount.mounts.splice(o,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var A=pe.lookupPath(e,{parent:!0}).node,n=ie.basename(e);if(!n||"."===n||".."===n)throw new pe.ErrnoError(28);var o=pe.mayCreate(A,n);if(o)throw new pe.ErrnoError(o);if(!A.node_ops.mknod)throw new pe.ErrnoError(63);return A.node_ops.mknod(A,n,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,pe.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,pe.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),A="",n=0;nthis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,A=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;n||(i=A);var s=this;s.setDataGetter((function(e){var t=e*i,n=(e+1)*i-1;if(n=Math.min(n,A-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>A-1)throw new Error("only "+A+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),A!==i&&n.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(n.responseType="arraybuffer"),n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):we(n.responseText||"",!0)}(t,n)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!o&&A||(i=A=1,A=this.getter(0).length,i=A,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=A,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,url:r},s=pe.createFile(e,t,i,A,n);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(s.stream_ops).forEach((function(e){var t=s.stream_ops[e];a[e]=function(){if(!pe.forceLoadFile(s))throw new pe.ErrnoError(29);return t.apply(null,arguments)}})),a.read=function(e,t,r,A,n){if(!pe.forceLoadFile(s))throw new pe.ErrnoError(29);var o=e.node.contents;if(n>=o.length)return 0;var i=Math.min(o.length-n,A);if(o.slice)for(var a=0;a>2]=A.dev,M[r+4>>2]=0,M[r+8>>2]=A.ino,M[r+12>>2]=A.mode,M[r+16>>2]=A.nlink,M[r+20>>2]=A.uid,M[r+24>>2]=A.gid,M[r+28>>2]=A.rdev,M[r+32>>2]=0,te=[A.size>>>0,(ee=A.size,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[r+40>>2]=te[0],M[r+44>>2]=te[1],M[r+48>>2]=4096,M[r+52>>2]=A.blocks,M[r+56>>2]=A.atime.getTime()/1e3|0,M[r+60>>2]=0,M[r+64>>2]=A.mtime.getTime()/1e3|0,M[r+68>>2]=0,M[r+72>>2]=A.ctime.getTime()/1e3|0,M[r+76>>2]=0,te=[A.ino>>>0,(ee=A.ino,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[r+80>>2]=te[0],M[r+84>>2]=te[1],0},doMsync:function(e,t,r,A,n){var o=F.slice(e,e+r);pe.msync(t,o,n,r,A)},doMkdir:function(e,t){return"/"===(e=ie.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),pe.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return pe.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var A=pe.readlink(e),n=Math.min(r,v(A)),o=K[t+n];return b(A,t,r+1),K[t+n]=o,n},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=pe.lookupPath(e,{follow:!0}).node))return-44;var A="";return 4&t&&(A+="r"),2&t&&(A+="w"),1&t&&(A+="x"),A&&pe.nodePermissions(r,A)?-2:0},doDup:function(e,t,r){var A=pe.getStream(r);return A&&pe.close(A),pe.open(e,t,0,r,r).fd},doReadv:function(e,t,r,A){for(var n=0,o=0;o>2],s=M[t+(8*o+4)>>2],a=pe.read(e,K,i,s,A);if(a<0)return-1;if(n+=a,a>2],s=M[t+(8*o+4)>>2],a=pe.write(e,K,i,s,A);if(a<0)return-1;n+=a}return n},varargs:void 0,get:function(){return de.varargs+=4,M[de.varargs-4>>2]},getStr:function(e){return Q(e)},getStreamFromFD:function(e){var t=pe.getStream(e);if(!t)throw new pe.ErrnoError(8);return t},get64:function(e,t){return e}};function Ce(e){try{return C.grow(e-k.byteLength+65535>>>16),L(C.buffer),1}catch(e){}}var fe=function(e,t,r,A){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=pe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=A};Object.defineProperties(fe.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return pe.isDir(this.mode)}},isDevice:{get:function(){return pe.isChrdev(this.mode)}}}),pe.FSNode=fe,pe.staticInit();var Ie=n,Ee=r(85622);ue.staticInit();var Be=function(e){return function(){try{return e.apply(this,arguments)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(le[e.code])}}},ye=Object.assign({},pe);for(var me in he)pe[me]=Be(he[me]);function we(e,t,r){var A=r>0?r:v(e)+1,n=new Array(A),o=D(e,n,0,n.length);return t&&(n.length=o),n}"function"==typeof atob&&atob;function Qe(e){if(Z(e))return function(e){var t;try{t=Buffer.from(e,"base64")}catch(r){t=new Buffer(e,"base64")}return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}(e.slice("data:application/octet-stream;base64,".length))}var De,be={m:function(e,t){return oe(e,t)},b:f,r:function(e,t){try{return e=de.getStr(e),pe.chmod(e,t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},g:function(e,t,r){de.varargs=r;try{var A=de.getStreamFromFD(e);switch(t){case 0:return(n=de.get())<0?-28:pe.open(A.path,A.flags,0,n).fd;case 1:case 2:return 0;case 3:return A.flags;case 4:var n=de.get();return A.flags|=n,0;case 12:n=de.get();return N[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return se(28),-1;default:return-28}}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},l:function(e,t){try{var r=de.getStreamFromFD(e);return de.doStat(pe.stat,r.path,t)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},q:function(e,t,r){de.varargs=r;try{var A=de.getStreamFromFD(e);switch(t){case 21509:case 21505:return A.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return A.tty?0:-59;case 21519:if(!A.tty)return-59;var n=de.get();return M[n>>2]=0,0;case 21520:return A.tty?-28:-59;case 21531:n=de.get();return pe.ioctl(A,t,n);case 21523:case 21524:return A.tty?0:-59;default:_("bad ioctl syscall "+t)}}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},t:function(e,t,r){de.varargs=r;try{var A=de.getStr(e),n=de.get();return pe.open(A,t,n).fd}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},s:function(e,t,r){try{var A=de.getStreamFromFD(e);return pe.read(A,K,t,r)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},j:function(e,t){try{return e=de.getStr(e),t=de.getStr(t),pe.rename(e,t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},u:function(e){try{return e=de.getStr(e),pe.rmdir(e),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},e:function(e,t){try{return e=de.getStr(e),de.doStat(pe.stat,e,t)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},i:function(e){try{return e=de.getStr(e),pe.unlink(e),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},v:function(e,t,r){F.copyWithin(e,t,t+r)},w:function(e){e>>>=0;var t=F.length;if(e>2147483648)return!1;for(var r,A,n=1;n<=4;n*=2){var o=t*(1+.2/n);if(o=Math.min(o,e+100663296),Ce(Math.min(2147483648,((r=Math.max(16777216,e,o))%(A=65536)>0&&(r+=A-r%A),r))))return!0}return!1},h:function(e){try{var t=de.getStreamFromFD(e);return pe.close(t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},k:function(e,t){try{var r=de.getStreamFromFD(e),A=r.tty?2:pe.isDir(r.mode)?3:pe.isLink(r.mode)?7:4;return K[t>>0]=A,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},p:function(e,t,r,A){try{var n=de.getStreamFromFD(e),o=de.doReadv(n,t,r);return M[A>>2]=o,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},n:function(e,t,r,A,n){try{var o=de.getStreamFromFD(e),i=4294967296*r+(t>>>0);return i<=-9007199254740992||i>=9007199254740992?-61:(pe.llseek(o,i,A),te=[o.position>>>0,(ee=o.position,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[n>>2]=te[0],M[n+4>>2]=te[1],o.getdents&&0===i&&0===A&&(o.getdents=null),0)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},f:function(e,t,r,A){try{var n=de.getStreamFromFD(e),o=de.doWritev(n,t,r);return M[A>>2]=o,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},a:C,c:function(e){0|e},d:function(e){var t=Date.now()/1e3|0;return e&&(M[e>>2]=t),t},o:function(e){!function e(){if(!e.called){e.called=!0,M[Ne()>>2]=60*(new Date).getTimezoneOffset();var t=(new Date).getFullYear(),r=new Date(t,0,1),A=new Date(t,6,1);M[Fe()>>2]=Number(r.getTimezoneOffset()!=A.getTimezoneOffset());var n=a(r),o=a(A),i=S(n),s=S(o);A.getTimezoneOffset()>2]=i,M[Ke()+4>>2]=s):(M[Ke()>>2]=s,M[Ke()+4>>2]=i)}function a(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}();var t=Date.UTC(M[e+20>>2]+1900,M[e+16>>2],M[e+12>>2],M[e+8>>2],M[e+4>>2],M[e>>2],0),r=new Date(t);M[e+24>>2]=r.getUTCDay();var A=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-A)/864e5|0;return M[e+28>>2]=n,r.getTime()/1e3|0}},ve=function(){var e={a:be};function t(e,t){var r=e.exports;o.asm=r,V()}if(X(),o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}return function(){var r,A,n;try{n=function(){try{if(d)return new Uint8Array(d);var e=Qe(re);if(e)return e;if(a)return a(re);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){_(e)}}(),A=new WebAssembly.Module(n),r=new WebAssembly.Instance(A,e)}catch(e){var o=e.toString();throw p("failed to compile wasm module: "+o),(o.indexOf("imported Memory")>=0||o.indexOf("memory import")>=0)&&p("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),e}t(r)}(),o.asm}(),Se=o.___wasm_call_ctors=ve.x,ke=(o._zipstruct_stat=ve.y,o._zipstruct_statS=ve.z,o._zipstruct_stat_name=ve.A,o._zipstruct_stat_index=ve.B,o._zipstruct_stat_size=ve.C,o._zipstruct_stat_mtime=ve.D,o._zipstruct_error=ve.E,o._zipstruct_errorS=ve.F,o._zipstruct_error_code_zip=ve.G,o._zipstruct_stat_comp_size=ve.H,o._zipstruct_stat_comp_method=ve.I,o._zip_close=ve.J,o._zip_delete=ve.K,o._zip_dir_add=ve.L,o._zip_discard=ve.M,o._zip_error_init_with_code=ve.N,o._zip_get_error=ve.O,o._zip_file_get_error=ve.P,o._zip_error_strerror=ve.Q,o._zip_fclose=ve.R,o._zip_file_add=ve.S,o._zip_file_get_external_attributes=ve.T,o._zip_file_set_external_attributes=ve.U,o._zip_file_set_mtime=ve.V,o._zip_fopen=ve.W,o._zip_fopen_index=ve.X,o._zip_fread=ve.Y,o._zip_get_name=ve.Z,o._zip_get_num_entries=ve._,o._zip_name_locate=ve.$,o._zip_open=ve.aa,o._zip_open_from_source=ve.ba,o._zip_set_file_compression=ve.ca,o._zip_source_buffer=ve.da,o._zip_source_buffer_create=ve.ea,o._zip_source_close=ve.fa,o._zip_source_error=ve.ga,o._zip_source_free=ve.ha,o._zip_source_keep=ve.ia,o._zip_source_open=ve.ja,o._zip_source_read=ve.ka,o._zip_source_seek=ve.la,o._zip_source_set_mtime=ve.ma,o._zip_source_tell=ve.na,o._zip_stat=ve.oa,o._zip_stat_index=ve.pa,o._zip_ext_count_symlinks=ve.qa,o.___errno_location=ve.ra),Ke=o.__get_tzname=ve.sa,Fe=o.__get_daylight=ve.ta,Ne=o.__get_timezone=ve.ua,Me=o.stackSave=ve.va,Re=o.stackRestore=ve.wa,xe=o.stackAlloc=ve.xa,Le=o._malloc=ve.ya;o._free=ve.za;function Pe(e){function t(){De||(De=!0,o.calledRun=!0,I||(!0,o.noFSInit||pe.init.initialized||pe.init(),ce.init(),Ae(U),pe.ignorePermissions=!1,Ae(T),o.onRuntimeInitialized&&o.onRuntimeInitialized(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)e=o.postRun.shift(),j.unshift(e);var e;Ae(j)}()))}e=e||l,q>0||(!function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)e=o.preRun.shift(),O.unshift(e);var e;Ae(O)}(),q>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),t()}),1)):t()))}if(o.cwrap=function(e,t,r,A){var n=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&n&&!A?B(e):function(){return y(e,t,r,arguments)}},o.getValue=function(e,t,r){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return K[e>>0];case"i16":return N[e>>1];case"i32":case"i64":return M[e>>2];case"float":return R[e>>2];case"double":return x[e>>3];default:_("invalid type for getValue: "+t)}return null},W=function e(){De||Pe(),De||(W=e)},o.run=Pe,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();Pe()},98261:e=>{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return`"${n(e.text)}"`},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;tf&&(f=p,I=[]),I.push(e))}function Q(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function D(){var t,r,A,o;return t=p,(r=b())!==n?(47===e.charCodeAt(p)?(A="/",p++):(A=n,w(s)),A!==n&&(o=b())!==n?(d=t,t=r={from:r,descriptor:o}):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=b())!==n&&(d=t,r=function(e){return{descriptor:e}}(r)),t=r),t}function b(){var t,r,A,o;return t=p,(r=v())!==n?(64===e.charCodeAt(p)?(A="@",p++):(A=n,w(a)),A!==n&&(o=function(){var t,r,A;t=p,r=[],u.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(h));if(A!==n)for(;A!==n;)r.push(A),u.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(h));else r=n;r!==n&&(d=t,r=c());return t=r}())!==n?(d=t,t=r={fullName:r,description:o}):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=v())!==n&&(d=t,r=function(e){return{fullName:e}}(r)),t=r),t}function v(){var t,r,A;return t=p,64===e.charCodeAt(p)?(r="@",p++):(r=n,w(a)),r!==n&&S()!==n?(47===e.charCodeAt(p)?(A="/",p++):(A=n,w(s)),A!==n&&S()!==n?(d=t,t=r=c()):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=S())!==n&&(d=t,r=c()),t=r),t}function S(){var t,r,A;if(t=p,r=[],g.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(l)),A!==n)for(;A!==n;)r.push(A),g.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(l));else r=n;return r!==n&&(d=t,r=c()),t=r}if((A=i())!==n&&p===e.length)return A;throw A!==n&&p{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;t>",!1),I=le(">&",!1),E=le(">",!1),B=le("<<<",!1),y=le("<&",!1),m=le("<",!1),w=le("'",!1),Q=le('"',!1),D=function(e){return{type:"text",text:e}},b=le("\\",!1),v={type:"any"},S=/^[^']/,k=ue(["'"],!0,!1),K=function(e){return e.join("")},F=/^[^$"]/,N=ue(["$",'"'],!0,!1),M=le("-",!1),R=le("+",!1),x=/^[0-9]/,L=ue([["0","9"]],!1,!1),P=le(".",!1),O=le("*",!1),U=le("/",!1),T=le("$((",!1),j=le("))",!1),Y=le("$(",!1),G=le("${",!1),H=le(":-",!1),J=le(":-}",!1),q=function(e){return{name:e}},z=le("$",!1),W=/^[a-zA-Z0-9_]/,X=ue([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),V=function(){return e.substring(ie,oe)},_=/^[$@*?#a-zA-Z0-9_\-]/,Z=ue(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),$=/^[(){}<>$|&; \t"']/,ee=ue(["(",")","{","}","<",">","$","|","&",";"," ","\t",'"',"'"],!1,!1),te=/^[<>&; \t"']/,re=ue(["<",">","&",";"," ","\t",'"',"'"],!1,!1),Ae=/^[ \t]/,ne=ue([" ","\t"],!1,!1),oe=0,ie=0,se=[{line:1,column:1}],ae=0,ce=[],ge=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=o[r.startRule]}function le(e,t){return{type:"literal",text:e,ignoreCase:t}}function ue(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function he(t){var r,A=se[t];if(A)return A;for(r=t-1;!se[r];)r--;for(A={line:(A=se[r]).line,column:A.column};rae&&(ae=oe,ce=[]),ce.push(e))}function Ce(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function fe(){var e,t;return e=oe,(t=Ie())===n&&(t=null),t!==n&&(ie=e,t=t||[]),e=t}function Ie(){var e,t,r,A,o;if(e=oe,(t=Be())!==n){for(r=[],A=Te();A!==n;)r.push(A),A=Te();r!==n&&(A=Ee())!==n?((o=function(){var e,t,r,A,o;e=oe,t=[],r=Te();for(;r!==n;)t.push(r),r=Te();if(t!==n)if((r=Ie())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();A!==n?(ie=e,e=t=r):(oe=e,e=n)}else oe=e,e=n;else oe=e,e=n;return e}())===n&&(o=null),o!==n?(ie=e,e=t=[t].concat(o||[])):(oe=e,e=n)):(oe=e,e=n)}else oe=e,e=n;if(e===n)if(e=oe,(t=Be())!==n){for(r=[],A=Te();A!==n;)r.push(A),A=Te();r!==n?((A=Ee())===n&&(A=null),A!==n?(ie=e,e=t=function(e,t){return[e]}(t)):(oe=e,e=n)):(oe=e,e=n)}else oe=e,e=n;return e}function Ee(){var t;return 59===e.charCodeAt(oe)?(t=";",oe++):(t=n,0===ge&&de(s)),t}function Be(){var t,r,A,o,i;return t=oe,(r=ye())!==n?((A=function(){var t,r,A,o,i,s,g;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if((A=function(){var t;"&&"===e.substr(oe,2)?(t="&&",oe+=2):(t=n,0===ge&&de(a));t===n&&("||"===e.substr(oe,2)?(t="||",oe+=2):(t=n,0===ge&&de(c)));return t}())!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Be())!==n){for(s=[],g=Te();g!==n;)s.push(g),g=Te();s!==n?(ie=t,t=r={type:A,line:i}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;return t}())===n&&(A=null),A!==n?(ie=t,o=r,t=r=(i=A)?{chain:o,then:i}:{chain:o}):(oe=t,t=n)):(oe=t,t=n),t}function ye(){var t,r,A,o,i;return t=oe,(r=function(){var t,r,A,o,i,s,a,c,g,l,u;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if(40===e.charCodeAt(oe)?(A="(",oe++):(A=n,0===ge&&de(h)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Ie())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();if(s!==n)if(41===e.charCodeAt(oe)?(a=")",oe++):(a=n,0===ge&&de(p)),a!==n){for(c=[],g=Te();g!==n;)c.push(g),g=Te();if(c!==n){for(g=[],l=Qe();l!==n;)g.push(l),l=Qe();if(g!==n){for(l=[],u=Te();u!==n;)l.push(u),u=Te();l!==n?(ie=t,t=r={type:"subshell",subshell:i,args:g}):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n)if(123===e.charCodeAt(oe)?(A="{",oe++):(A=n,0===ge&&de(d)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Ie())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();if(s!==n)if(125===e.charCodeAt(oe)?(a="}",oe++):(a=n,0===ge&&de(C)),a!==n){for(c=[],g=Te();g!==n;)c.push(g),g=Te();if(c!==n){for(g=[],l=Qe();l!==n;)g.push(l),l=Qe();if(g!==n){for(l=[],u=Te();u!==n;)l.push(u),u=Te();l!==n?(ie=t,r=function(e,t){return{type:"group",group:e,args:t}}(i,g),t=r):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n){for(A=[],o=me();o!==n;)A.push(o),o=me();if(A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n){if(i=[],(s=we())!==n)for(;s!==n;)i.push(s),s=we();else i=n;if(i!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();s!==n?(ie=t,r=function(e,t){return{type:"command",args:t,envs:e}}(A,i),t=r):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n){if(A=[],(o=me())!==n)for(;o!==n;)A.push(o),o=me();else A=n;if(A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();o!==n?(ie=t,t=r={type:"envs",envs:A}):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}}}return t}())!==n?((A=function(){var t,r,A,o,i,s,a;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if((A=function(){var t;"|&"===e.substr(oe,2)?(t="|&",oe+=2):(t=n,0===ge&&de(g));t===n&&(124===e.charCodeAt(oe)?(t="|",oe++):(t=n,0===ge&&de(l)));return t}())!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=ye())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();s!==n?(ie=t,t=r={type:A,chain:i}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;return t}())===n&&(A=null),A!==n?(ie=t,o=r,t=r=(i=A)?{...o,then:i}:o):(oe=t,t=n)):(oe=t,t=n),t}function me(){var t,r,A,o,i,s;if(t=oe,(r=Le())!==n)if(61===e.charCodeAt(oe)?(A="=",oe++):(A=n,0===ge&&de(u)),A!==n)if((o=be())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?(ie=t,t=r={name:r,args:[o]}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n;else oe=t,t=n;if(t===n)if(t=oe,(r=Le())!==n)if(61===e.charCodeAt(oe)?(A="=",oe++):(A=n,0===ge&&de(u)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();o!==n?(ie=t,t=r=function(e){return{name:e,args:[]}}(r)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n;return t}function we(){var e,t,r;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();if(t!==n&&(r=Qe())!==n?(ie=e,e=t=r):(oe=e,e=n),e===n){for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();t!==n&&(r=De())!==n?(ie=e,e=t=r):(oe=e,e=n)}return e}function Qe(){var t,r,A,o;for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();return r!==n&&(A=function(){var t;">>"===e.substr(oe,2)?(t=">>",oe+=2):(t=n,0===ge&&de(f));t===n&&(">&"===e.substr(oe,2)?(t=">&",oe+=2):(t=n,0===ge&&de(I)),t===n&&(62===e.charCodeAt(oe)?(t=">",oe++):(t=n,0===ge&&de(E)),t===n&&("<<<"===e.substr(oe,3)?(t="<<<",oe+=3):(t=n,0===ge&&de(B)),t===n&&("<&"===e.substr(oe,2)?(t="<&",oe+=2):(t=n,0===ge&&de(y)),t===n&&(60===e.charCodeAt(oe)?(t="<",oe++):(t=n,0===ge&&de(m)))))));return t}())!==n&&(o=De())!==n?(ie=t,t=r={type:"redirection",subtype:A,args:[o]}):(oe=t,t=n),t}function De(){var e,t,r;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();return t!==n&&(r=be())!==n?(ie=e,e=t=r):(oe=e,e=n),e}function be(){var e,t,r,A;if(e=oe,t=[],(r=ve())!==n)for(;r!==n;)t.push(r),r=ve();else t=n;return t!==n&&(ie=e,A=t,t={type:"argument",segments:[].concat(...A)}),e=t}function ve(){var t,r;return t=oe,(r=function(){var t,r,A,o;t=oe,39===e.charCodeAt(oe)?(r="'",oe++):(r=n,0===ge&&de(w));r!==n&&(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(S.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(k)));for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(S.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(k)));r!==n&&(ie=t,r=K(r));return t=r}())!==n?(39===e.charCodeAt(oe)?(o="'",oe++):(o=n,0===ge&&de(w)),o!==n?(ie=t,r=function(e){return[{type:"text",text:e}]}(A),t=r):(oe=t,t=n)):(oe=t,t=n);return t}())!==n&&(ie=t,r=r),(t=r)===n&&(t=oe,(r=function(){var t,r,A,o;t=oe,34===e.charCodeAt(oe)?(r='"',oe++):(r=n,0===ge&&de(Q));if(r!==n){for(A=[],o=Se();o!==n;)A.push(o),o=Se();A!==n?(34===e.charCodeAt(oe)?(o='"',oe++):(o=n,0===ge&&de(Q)),o!==n?(ie=t,t=r=A):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;return t}())!==n&&(ie=t,r=r),(t=r)===n&&(t=oe,(r=function(){var e,t,r;if(e=oe,t=[],(r=ke())!==n)for(;r!==n;)t.push(r),r=ke();else t=n;t!==n&&(ie=e,t=t);return e=t}())!==n&&(ie=t,r=r),t=r)),t}function Se(){var t,r,A;return t=oe,(r=Me())!==n&&(ie=t,r={type:"arithmetic",arithmetic:r,quoted:!0}),(t=r)===n&&(t=oe,(r=Re())!==n&&(ie=t,r={type:"shell",shell:r,quoted:!0}),(t=r)===n&&(t=oe,(r=xe())!==n&&(ie=t,A=r,r={type:"variable",...A,quoted:!0}),(t=r)===n&&(t=oe,(r=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(F.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(N)));if(A!==n)for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(F.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(N)));else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n&&(ie=t,r=D(r)),t=r))),t}function ke(){var t,A,o;return t=oe,(A=Me())!==n&&(ie=t,A={type:"arithmetic",arithmetic:A,quoted:!1}),(t=A)===n&&(t=oe,(A=Re())!==n&&(ie=t,A={type:"shell",shell:A,quoted:!1}),(t=A)===n&&(t=oe,(A=xe())!==n&&(ie=t,o=A,A={type:"variable",...o,quoted:!1}),(t=A)===n&&(t=oe,(A=function(){var t,A;t=oe,(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,o=oe,ge++,i=Ue(),ge--,i===n?o=void 0:(oe=o,o=n);o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);if(A!==n)for(;A!==n;)r.push(A),A=oe,o=oe,ge++,i=Ue(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n?(ie=oe,o=A,(r.isGlobPattern(o)?void 0:n)!==n?(ie=t,t=A=A):(oe=t,t=n)):(oe=t,t=n);var o;return t}())!==n&&(ie=t,A={type:"glob",pattern:A}),(t=A)===n&&(t=oe,(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(A=oe,o=oe,ge++,i=Oe(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n));if(A!==n)for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(A=oe,o=oe,ge++,i=Oe(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n));else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n&&(ie=t,A=D(A)),t=A)))),t}function Ke(){var t,r,A,o,i,s,a,c;if(t=oe,45===e.charCodeAt(oe)?(r="-",oe++):(r=n,0===ge&&de(M)),r===n&&(43===e.charCodeAt(oe)?(r="+",oe++):(r=n,0===ge&&de(R))),r===n&&(r=null),r!==n){if(A=[],x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L)),o!==n)for(;o!==n;)A.push(o),x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L));else A=n;if(A!==n)if(46===e.charCodeAt(oe)?(o=".",oe++):(o=n,0===ge&&de(P)),o!==n){if(i=[],x.test(e.charAt(oe))?(s=e.charAt(oe),oe++):(s=n,0===ge&&de(L)),s!==n)for(;s!==n;)i.push(s),x.test(e.charAt(oe))?(s=e.charAt(oe),oe++):(s=n,0===ge&&de(L));else i=n;i!==n?(ie=t,a=i,t=r={type:"number",value:("-"===r?-1:1)*parseFloat(A.join("")+"."+a.join(""))}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,45===e.charCodeAt(oe)?(r="-",oe++):(r=n,0===ge&&de(M)),r===n&&(43===e.charCodeAt(oe)?(r="+",oe++):(r=n,0===ge&&de(R))),r===n&&(r=null),r!==n){if(A=[],x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L)),o!==n)for(;o!==n;)A.push(o),x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L));else A=n;A!==n?(ie=t,t=r=function(e,t){return{type:"number",value:("-"===e?-1:1)*parseInt(t.join(""))}}(r,A)):(oe=t,t=n)}else oe=t,t=n;if(t===n&&(t=oe,(r=xe())!==n&&(ie=t,c=r,r={type:"variable",...c}),(t=r)===n&&(t=oe,(r=Pe())!==n&&(ie=t,r={type:"variable",name:r}),(t=r)===n)))if(t=oe,40===e.charCodeAt(oe)?(r="(",oe++):(r=n,0===ge&&de(h)),r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if((o=Ne())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?(41===e.charCodeAt(oe)?(s=")",oe++):(s=n,0===ge&&de(p)),s!==n?(ie=t,t=r=o):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n}return t}function Fe(){var t,r,A,o,i,s;if(t=oe,(r=Ke())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(42===e.charCodeAt(oe)?(o="*",oe++):(o=n,0===ge&&de(O)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Fe())!==n?(ie=t,t=r={type:"multiplication",left:r,right:s}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,(r=Ke())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(47===e.charCodeAt(oe)?(o="/",oe++):(o=n,0===ge&&de(U)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Fe())!==n?(ie=t,t=r=function(e,t){return{type:"division",left:e,right:t}}(r,s)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;t===n&&(t=Ke())}return t}function Ne(){var t,r,A,o,i,s;if(t=oe,(r=Fe())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(43===e.charCodeAt(oe)?(o="+",oe++):(o=n,0===ge&&de(R)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Ne())!==n?(ie=t,t=r={type:"addition",left:r,right:s}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,(r=Fe())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(45===e.charCodeAt(oe)?(o="-",oe++):(o=n,0===ge&&de(M)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Ne())!==n?(ie=t,t=r=function(e,t){return{type:"subtraction",left:e,right:t}}(r,s)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;t===n&&(t=Fe())}return t}function Me(){var t,r,A,o,i,s;if(t=oe,"$(("===e.substr(oe,3)?(r="$((",oe+=3):(r=n,0===ge&&de(T)),r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if((o=Ne())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?("))"===e.substr(oe,2)?(s="))",oe+=2):(s=n,0===ge&&de(j)),s!==n?(ie=t,t=r=o):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;return t}function Re(){var t,r,A,o;return t=oe,"$("===e.substr(oe,2)?(r="$(",oe+=2):(r=n,0===ge&&de(Y)),r!==n&&(A=Ie())!==n?(41===e.charCodeAt(oe)?(o=")",oe++):(o=n,0===ge&&de(p)),o!==n?(ie=t,t=r=A):(oe=t,t=n)):(oe=t,t=n),t}function xe(){var t,r,A,o,i,s;return t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(":-"===e.substr(oe,2)?(o=":-",oe+=2):(o=n,0===ge&&de(H)),o!==n&&(i=function(){var e,t,r,A,o;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();if(t!==n){if(r=[],(A=De())!==n)for(;A!==n;)r.push(A),A=De();else r=n;if(r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();A!==n?(ie=e,e=t=r):(oe=e,e=n)}else oe=e,e=n}else oe=e,e=n;return e}())!==n?(125===e.charCodeAt(oe)?(s="}",oe++):(s=n,0===ge&&de(C)),s!==n?(ie=t,t=r={name:A,defaultValue:i}):(oe=t,t=n)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(":-}"===e.substr(oe,3)?(o=":-}",oe+=3):(o=n,0===ge&&de(J)),o!==n?(ie=t,t=r=function(e){return{name:e,defaultValue:[]}}(A)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(125===e.charCodeAt(oe)?(o="}",oe++):(o=n,0===ge&&de(C)),o!==n?(ie=t,t=r=q(A)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,36===e.charCodeAt(oe)?(r="$",oe++):(r=n,0===ge&&de(z)),r!==n&&(A=Pe())!==n?(ie=t,t=r=q(A)):(oe=t,t=n)))),t}function Le(){var t,r,A;if(t=oe,r=[],W.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(X)),A!==n)for(;A!==n;)r.push(A),W.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(X));else r=n;return r!==n&&(ie=t,r=V()),t=r}function Pe(){var t,r,A;if(t=oe,r=[],_.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(Z)),A!==n)for(;A!==n;)r.push(A),_.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(Z));else r=n;return r!==n&&(ie=t,r=V()),t=r}function Oe(){var t;return $.test(e.charAt(oe))?(t=e.charAt(oe),oe++):(t=n,0===ge&&de(ee)),t}function Ue(){var t;return te.test(e.charAt(oe))?(t=e.charAt(oe),oe++):(t=n,0===ge&&de(re)),t}function Te(){var t,r;if(t=[],Ae.test(e.charAt(oe))?(r=e.charAt(oe),oe++):(r=n,0===ge&&de(ne)),r!==n)for(;r!==n;)t.push(r),Ae.test(e.charAt(oe))?(r=e.charAt(oe),oe++):(r=n,0===ge&&de(ne));else t=n;return t}if((A=i())!==n&&oe===e.length)return A;throw A!==n&&oe{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return`"${n(e.text)}"`},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;t'"%@`\-]/,I=oe(["\r","\n","\t"," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),E=/^[^\r\n\t ,\][{}:#"']/,B=oe(["\r","\n","\t"," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),y=function(){return Ae().replace(/^ *| *$/g,"")},m=ne("--",!1),w=/^[a-zA-Z\/0-9]/,Q=oe([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),D=/^[^\r\n\t :,]/,b=oe(["\r","\n","\t"," ",":",","],!0,!1),v=ne("null",!1),S=ne("true",!1),k=ne("false",!1),K=ie("string"),F=ne('"',!1),N=/^[^"\\\0-\x1F\x7F]/,M=oe(['"',"\\",["\0",""],""],!0,!1),R=ne('\\"',!1),x=ne("\\\\",!1),L=ne("\\/",!1),P=ne("\\b",!1),O=ne("\\f",!1),U=ne("\\n",!1),T=ne("\\r",!1),j=ne("\\t",!1),Y=ne("\\u",!1),G=/^[0-9a-fA-F]/,H=oe([["0","9"],["a","f"],["A","F"]],!1,!1),J=ie("blank space"),q=/^[ \t]/,z=oe([" ","\t"],!1,!1),W=(ie("white space"),oe([" ","\t","\n","\r"],!1,!1),ne("\r\n",!1)),X=ne("\n",!1),V=ne("\r",!1),_=0,Z=0,$=[{line:1,column:1}],ee=0,te=[],re=0;if("startRule"in r){if(!(r.startRule in o))throw new Error(`Can't start parsing from rule "${r.startRule}".`);i=o[r.startRule]}function Ae(){return e.substring(Z,_)}function ne(e,t){return{type:"literal",text:e,ignoreCase:t}}function oe(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ie(e){return{type:"other",description:e}}function se(t){var r,A=$[t];if(A)return A;for(r=t-1;!$[r];)r--;for(A={line:(A=$[r]).line,column:A.column};ree&&(ee=_,te=[]),te.push(e))}function ge(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function le(){return he()}function ue(){var t,r,A;return t=_,Ce()!==n?(45===e.charCodeAt(_)?(r="-",_++):(r=n,0===re&&ce(s)),r!==n&&be()!==n&&(A=de())!==n?(Z=t,t=A):(_=t,t=n)):(_=t,t=n),t}function he(){var e,t,r,A;for(e=_,t=[],r=pe();r!==n;)t.push(r),r=pe();return t!==n&&(Z=e,A=t,t=Object.assign({},...A)),e=t}function pe(){var t,r,A,o,i,s,p,d,C,f,I,E;if(t=_,(r=be())===n&&(r=null),r!==n){if(A=_,35===e.charCodeAt(_)?(o="#",_++):(o=n,0===re&&ce(a)),o!==n){if(i=[],s=_,p=_,re++,d=Se(),re--,d===n?p=void 0:(_=p,p=n),p!==n?(e.length>_?(d=e.charAt(_),_++):(d=n,0===re&&ce(c)),d!==n?s=p=[p,d]:(_=s,s=n)):(_=s,s=n),s!==n)for(;s!==n;)i.push(s),s=_,p=_,re++,d=Se(),re--,d===n?p=void 0:(_=p,p=n),p!==n?(e.length>_?(d=e.charAt(_),_++):(d=n,0===re&&ce(c)),d!==n?s=p=[p,d]:(_=s,s=n)):(_=s,s=n);else i=n;i!==n?A=o=[o,i]:(_=A,A=n)}else _=A,A=n;if(A===n&&(A=null),A!==n){if(o=[],(i=ve())!==n)for(;i!==n;)o.push(i),i=ve();else o=n;o!==n?(Z=t,t=r={}):(_=t,t=n)}else _=t,t=n}else _=t,t=n;if(t===n&&(t=_,(r=Ce())!==n&&(A=function(){var e;(e=we())===n&&(e=Be());return e}())!==n?((o=be())===n&&(o=null),o!==n?(58===e.charCodeAt(_)?(i=":",_++):(i=n,0===re&&ce(g)),i!==n?((s=be())===n&&(s=null),s!==n&&(p=de())!==n?(Z=t,t=r=l(A,p)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n),t===n&&(t=_,(r=Ce())!==n&&(A=Ee())!==n?((o=be())===n&&(o=null),o!==n?(58===e.charCodeAt(_)?(i=":",_++):(i=n,0===re&&ce(g)),i!==n?((s=be())===n&&(s=null),s!==n&&(p=de())!==n?(Z=t,t=r=l(A,p)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n),t===n))){if(t=_,(r=Ce())!==n)if((A=Ee())!==n)if((o=be())!==n)if((i=function(){var e;(e=me())===n&&(e=we())===n&&(e=ye());return e}())!==n){if(s=[],(p=ve())!==n)for(;p!==n;)s.push(p),p=ve();else s=n;s!==n?(Z=t,t=r=l(A,i)):(_=t,t=n)}else _=t,t=n;else _=t,t=n;else _=t,t=n;else _=t,t=n;if(t===n)if(t=_,(r=Ce())!==n)if((A=Ee())!==n){if(o=[],i=_,(s=be())===n&&(s=null),s!==n?(44===e.charCodeAt(_)?(p=",",_++):(p=n,0===re&&ce(u)),p!==n?((d=be())===n&&(d=null),d!==n&&(C=Ee())!==n?(Z=i,i=s=h(0,C)):(_=i,i=n)):(_=i,i=n)):(_=i,i=n),i!==n)for(;i!==n;)o.push(i),i=_,(s=be())===n&&(s=null),s!==n?(44===e.charCodeAt(_)?(p=",",_++):(p=n,0===re&&ce(u)),p!==n?((d=be())===n&&(d=null),d!==n&&(C=Ee())!==n?(Z=i,i=s=h(0,C)):(_=i,i=n)):(_=i,i=n)):(_=i,i=n);else o=n;o!==n?((i=be())===n&&(i=null),i!==n?(58===e.charCodeAt(_)?(s=":",_++):(s=n,0===re&&ce(g)),s!==n?((p=be())===n&&(p=null),p!==n&&(d=de())!==n?(Z=t,f=A,I=o,E=d,t=r=Object.assign({},...[f].concat(I).map(e=>({[e]:E})))):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)}else _=t,t=n;else _=t,t=n}return t}function de(){var t,r,A,o,i,a,c;if(t=_,r=_,re++,A=_,(o=Se())!==n&&(i=function(){var t,r,A;t=_,r=[],32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));for(;A!==n;)r.push(A),32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));r!==n?(Z=_,(A=(A=r.length===(Ke+1)*ke)?void 0:n)!==n?t=r=[r,A]:(_=t,t=n)):(_=t,t=n);return t}())!==n?(45===e.charCodeAt(_)?(a="-",_++):(a=n,0===re&&ce(s)),a!==n&&(c=be())!==n?A=o=[o,i,a,c]:(_=A,A=n)):(_=A,A=n),re--,A!==n?(_=r,r=void 0):r=n,r!==n&&(A=ve())!==n&&(o=fe())!==n&&(i=function(){var e,t,r,A;for(e=_,t=[],r=ue();r!==n;)t.push(r),r=ue();return t!==n&&(Z=e,A=t,t=[].concat(...A)),e=t}())!==n&&(a=Ie())!==n?(Z=t,t=r=i):(_=t,t=n),t===n&&(t=_,(r=Se())!==n&&(A=fe())!==n&&(o=he())!==n&&(i=Ie())!==n?(Z=t,t=r=o):(_=t,t=n),t===n))if(t=_,(r=function(){var t;(t=me())===n&&(t=function(){var t,r;t=_,"true"===e.substr(_,4)?(r="true",_+=4):(r=n,0===re&&ce(S));r!==n&&(Z=t,r=!0);(t=r)===n&&(t=_,"false"===e.substr(_,5)?(r="false",_+=5):(r=n,0===re&&ce(k)),r!==n&&(Z=t,r=!1),t=r);return t}())===n&&(t=we())===n&&(t=Be());return t}())!==n){if(A=[],(o=ve())!==n)for(;o!==n;)A.push(o),o=ve();else A=n;A!==n?(Z=t,t=r=r):(_=t,t=n)}else _=t,t=n;return t}function Ce(){var t,r,A;for(re++,t=_,r=[],32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));A!==n;)r.push(A),32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));return r!==n?(Z=_,(A=(A=r.length===Ke*ke)?void 0:n)!==n?t=r=[r,A]:(_=t,t=n)):(_=t,t=n),re--,t===n&&(r=n,0===re&&ce(p)),t}function fe(){return Z=_,Ke++,!0?void 0:n}function Ie(){return Z=_,Ke--,!0?void 0:n}function Ee(){var e,t,r;if((e=we())===n){if(e=_,t=[],(r=ye())!==n)for(;r!==n;)t.push(r),r=ye();else t=n;t!==n&&(Z=e,t=Ae()),e=t}return e}function Be(){var t,r,A,o,i,s;if(re++,t=_,f.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(I)),r!==n){for(A=[],o=_,(i=be())===n&&(i=null),i!==n?(E.test(e.charAt(_))?(s=e.charAt(_),_++):(s=n,0===re&&ce(B)),s!==n?o=i=[i,s]:(_=o,o=n)):(_=o,o=n);o!==n;)A.push(o),o=_,(i=be())===n&&(i=null),i!==n?(E.test(e.charAt(_))?(s=e.charAt(_),_++):(s=n,0===re&&ce(B)),s!==n?o=i=[i,s]:(_=o,o=n)):(_=o,o=n);A!==n?(Z=t,t=r=y()):(_=t,t=n)}else _=t,t=n;return re--,t===n&&(r=n,0===re&&ce(C)),t}function ye(){var t,r,A,o,i;if(t=_,"--"===e.substr(_,2)?(r="--",_+=2):(r=n,0===re&&ce(m)),r===n&&(r=null),r!==n)if(w.test(e.charAt(_))?(A=e.charAt(_),_++):(A=n,0===re&&ce(Q)),A!==n){for(o=[],D.test(e.charAt(_))?(i=e.charAt(_),_++):(i=n,0===re&&ce(b));i!==n;)o.push(i),D.test(e.charAt(_))?(i=e.charAt(_),_++):(i=n,0===re&&ce(b));o!==n?(Z=t,t=r=y()):(_=t,t=n)}else _=t,t=n;else _=t,t=n;return t}function me(){var t,r;return t=_,"null"===e.substr(_,4)?(r="null",_+=4):(r=n,0===re&&ce(v)),r!==n&&(Z=t,r=null),t=r}function we(){var t,r,A,o;return re++,t=_,34===e.charCodeAt(_)?(r='"',_++):(r=n,0===re&&ce(F)),r!==n?(34===e.charCodeAt(_)?(A='"',_++):(A=n,0===re&&ce(F)),A!==n?(Z=t,t=r=""):(_=t,t=n)):(_=t,t=n),t===n&&(t=_,34===e.charCodeAt(_)?(r='"',_++):(r=n,0===re&&ce(F)),r!==n&&(A=function(){var e,t,r;if(e=_,t=[],(r=Qe())!==n)for(;r!==n;)t.push(r),r=Qe();else t=n;t!==n&&(Z=e,t=t.join(""));return e=t}())!==n?(34===e.charCodeAt(_)?(o='"',_++):(o=n,0===re&&ce(F)),o!==n?(Z=t,t=r=A):(_=t,t=n)):(_=t,t=n)),re--,t===n&&(r=n,0===re&&ce(K)),t}function Qe(){var t,r,A,o,i,s,a,c,g,l;return N.test(e.charAt(_))?(t=e.charAt(_),_++):(t=n,0===re&&ce(M)),t===n&&(t=_,'\\"'===e.substr(_,2)?(r='\\"',_+=2):(r=n,0===re&&ce(R)),r!==n&&(Z=t,r='"'),(t=r)===n&&(t=_,"\\\\"===e.substr(_,2)?(r="\\\\",_+=2):(r=n,0===re&&ce(x)),r!==n&&(Z=t,r="\\"),(t=r)===n&&(t=_,"\\/"===e.substr(_,2)?(r="\\/",_+=2):(r=n,0===re&&ce(L)),r!==n&&(Z=t,r="/"),(t=r)===n&&(t=_,"\\b"===e.substr(_,2)?(r="\\b",_+=2):(r=n,0===re&&ce(P)),r!==n&&(Z=t,r="\b"),(t=r)===n&&(t=_,"\\f"===e.substr(_,2)?(r="\\f",_+=2):(r=n,0===re&&ce(O)),r!==n&&(Z=t,r="\f"),(t=r)===n&&(t=_,"\\n"===e.substr(_,2)?(r="\\n",_+=2):(r=n,0===re&&ce(U)),r!==n&&(Z=t,r="\n"),(t=r)===n&&(t=_,"\\r"===e.substr(_,2)?(r="\\r",_+=2):(r=n,0===re&&ce(T)),r!==n&&(Z=t,r="\r"),(t=r)===n&&(t=_,"\\t"===e.substr(_,2)?(r="\\t",_+=2):(r=n,0===re&&ce(j)),r!==n&&(Z=t,r="\t"),(t=r)===n&&(t=_,"\\u"===e.substr(_,2)?(r="\\u",_+=2):(r=n,0===re&&ce(Y)),r!==n&&(A=De())!==n&&(o=De())!==n&&(i=De())!==n&&(s=De())!==n?(Z=t,a=A,c=o,g=i,l=s,t=r=String.fromCharCode(parseInt(`0x${a}${c}${g}${l}`))):(_=t,t=n)))))))))),t}function De(){var t;return G.test(e.charAt(_))?(t=e.charAt(_),_++):(t=n,0===re&&ce(H)),t}function be(){var t,r;if(re++,t=[],q.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(z)),r!==n)for(;r!==n;)t.push(r),q.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(z));else t=n;return re--,t===n&&(r=n,0===re&&ce(J)),t}function ve(){var e,t,r,A,o,i;if(e=_,(t=Se())!==n){for(r=[],A=_,(o=be())===n&&(o=null),o!==n&&(i=Se())!==n?A=o=[o,i]:(_=A,A=n);A!==n;)r.push(A),A=_,(o=be())===n&&(o=null),o!==n&&(i=Se())!==n?A=o=[o,i]:(_=A,A=n);r!==n?e=t=[t,r]:(_=e,e=n)}else _=e,e=n;return e}function Se(){var t;return"\r\n"===e.substr(_,2)?(t="\r\n",_+=2):(t=n,0===re&&ce(W)),t===n&&(10===e.charCodeAt(_)?(t="\n",_++):(t=n,0===re&&ce(X)),t===n&&(13===e.charCodeAt(_)?(t="\r",_++):(t=n,0===re&&ce(V)))),t}const ke=2;let Ke=0;if((A=i())!==n&&_===e.length)return A;throw A!==n&&_{let A;e.exports=()=>(void 0===A&&(A=r(78761).brotliDecompressSync(Buffer.from("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","base64")).toString()),A)},42357:e=>{"use strict";e.exports=require("assert")},64293:e=>{"use strict";e.exports=require("buffer")},63129:e=>{"use strict";e.exports=require("child_process")},27619:e=>{"use strict";e.exports=require("constants")},76417:e=>{"use strict";e.exports=require("crypto")},40881:e=>{"use strict";e.exports=require("dns")},28614:e=>{"use strict";e.exports=require("events")},35747:e=>{"use strict";e.exports=require("fs")},98605:e=>{"use strict";e.exports=require("http")},97565:e=>{"use strict";e.exports=require("http2")},57211:e=>{"use strict";e.exports=require("https")},32282:e=>{"use strict";e.exports=require("module")},11631:e=>{"use strict";e.exports=require("net")},12087:e=>{"use strict";e.exports=require("os")},85622:e=>{"use strict";e.exports=require("path")},71191:e=>{"use strict";e.exports=require("querystring")},51058:e=>{"use strict";e.exports=require("readline")},92413:e=>{"use strict";e.exports=require("stream")},24304:e=>{"use strict";e.exports=require("string_decoder")},4016:e=>{"use strict";e.exports=require("tls")},33867:e=>{"use strict";e.exports=require("tty")},78835:e=>{"use strict";e.exports=require("url")},31669:e=>{"use strict";e.exports=require("util")},78761:e=>{"use strict";e.exports=require("zlib")}},t={};function r(A){if(t[A])return t[A].exports;var n=t[A]={id:A,loaded:!1,exports:{}};return e[A].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}return r.c=t,r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var A=Object.create(null);r.r(A);var n={};if(2&t&&"object"==typeof e&&e)for(const t in e)n[t]=()=>e[t];return n.default=()=>e,r.d(A,n),A},r.d=(e,t)=>{for(var A in t)r.o(t,A)&&!r.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},r.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(43418)})(); \ No newline at end of file diff --git a/.yarn/releases/yarn-sources.cjs b/.yarn/releases/yarn-sources.cjs deleted file mode 100755 index e658ec55f..000000000 --- a/.yarn/releases/yarn-sources.cjs +++ /dev/null @@ -1,607 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var use=Object.create,Rd=Object.defineProperty,gse=Object.getPrototypeOf,hse=Object.prototype.hasOwnProperty,fse=Object.getOwnPropertyNames,pse=Object.getOwnPropertyDescriptor;var CR=t=>Rd(t,"__esModule",{value:!0});var C=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports),We=(t,e)=>{CR(t);for(var r in e)Rd(t,r,{get:e[r],enumerable:!0})},dse=(t,e,r)=>{if(CR(t),e&&typeof e=="object"||typeof e=="function")for(let i of fse(e))!hse.call(t,i)&&i!=="default"&&Rd(t,i,{get:()=>e[i],enumerable:!(r=pse(e,i))||r.enumerable});return t},X=t=>t&&t.__esModule?t:dse(Rd(t!=null?use(gse(t)):{},"default",{value:t,enumerable:!0}),t);var zR=C((fWe,GR)=>{GR.exports=qR;qR.sync=kse;var JR=require("fs");function vse(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{XR.exports=VR;VR.sync=Fse;var ZR=require("fs");function VR(t,e,r){ZR.stat(t,function(i,n){r(i,i?!1:_R(n,e))})}function Fse(t,e){return _R(ZR.statSync(t),e)}function _R(t,e){return t.isFile()&&Rse(t,e)}function Rse(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var tL=C((CWe,eL)=>{var dWe=require("fs"),qd;process.platform==="win32"||global.TESTING_WINDOWS?qd=zR():qd=$R();eL.exports=RB;RB.sync=Lse;function RB(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){RB(t,e||{},function(s,o){s?n(s):i(o)})})}qd(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Lse(t,e){try{return qd.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var AL=C((mWe,rL)=>{var ul=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",iL=require("path"),Mse=ul?";":":",nL=tL(),sL=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),oL=(t,e)=>{let r=e.colon||Mse,i=t.match(/\//)||ul&&t.match(/\\/)?[""]:[...ul?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=ul?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=ul?n.split(r):[""];return ul&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},aL=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=oL(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(sL(t));let h=i[c],f=/^".*"$/.test(h)?h.slice(1,-1):h,p=iL.join(f,t),m=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((h,f)=>{if(g===n.length)return h(a(u+1));let p=n[g];nL(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return h(c+p);return h(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Nse=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=oL(t,e),s=[];for(let o=0;o{"use strict";var lL=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};LB.exports=lL;LB.exports.default=lL});var fL=C((EWe,uL)=>{"use strict";var gL=require("path"),Ose=AL(),Tse=cL();function hL(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=Ose.sync(t.command,{path:r[Tse({env:r})],pathExt:e?gL.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=gL.resolve(n?t.options.cwd:"",o)),o}function Kse(t){return hL(t)||hL(t,!0)}uL.exports=Kse});var pL=C((yWe,MB)=>{"use strict";var NB=/([()\][%!^"`<>&|;, *?])/g;function Use(t){return t=t.replace(NB,"^$1"),t}function Hse(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(NB,"^$1"),e&&(t=t.replace(NB,"^$1")),t}MB.exports.command=Use;MB.exports.argument=Hse});var CL=C((BWe,dL)=>{"use strict";dL.exports=/^#!(.*)/});var IL=C((wWe,mL)=>{"use strict";var Yse=CL();mL.exports=(t="")=>{let e=t.match(Yse);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var yL=C((QWe,EL)=>{"use strict";var OB=require("fs"),jse=IL();function Gse(t){let e=150,r=Buffer.alloc(e),i;try{i=OB.openSync(t,"r"),OB.readSync(i,r,0,e,0),OB.closeSync(i)}catch(n){}return jse(r.toString())}EL.exports=Gse});var bL=C((bWe,BL)=>{"use strict";var qse=require("path"),wL=fL(),QL=pL(),Jse=yL(),Wse=process.platform==="win32",zse=/\.(?:com|exe)$/i,Xse=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Vse(t){t.file=wL(t);let e=t.file&&Jse(t.file);return e?(t.args.unshift(t.file),t.command=e,wL(t)):t.file}function Zse(t){if(!Wse)return t;let e=Vse(t),r=!zse.test(e);if(t.options.forceShell||r){let i=Xse.test(e);t.command=qse.normalize(t.command),t.command=QL.command(t.command),t.args=t.args.map(s=>QL.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function _se(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:Zse(i)}BL.exports=_se});var PL=C((DWe,DL)=>{"use strict";var TB=process.platform==="win32";function KB(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function $se(t,e){if(!TB)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=SL(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function SL(t,e){return TB&&t===1&&!e.file?KB(e.original,"spawn"):null}function eoe(t,e){return TB&&t===1&&!e.file?KB(e.original,"spawnSync"):null}DL.exports={hookChildProcess:$se,verifyENOENT:SL,verifyENOENTSync:eoe,notFoundError:KB}});var YB=C((SWe,gl)=>{"use strict";var xL=require("child_process"),UB=bL(),HB=PL();function kL(t,e,r){let i=UB(t,e,r),n=xL.spawn(i.command,i.args,i.options);return HB.hookChildProcess(n,i),n}function toe(t,e,r){let i=UB(t,e,r),n=xL.spawnSync(i.command,i.args,i.options);return n.error=n.error||HB.verifyENOENTSync(n.status,i),n}gl.exports=kL;gl.exports.spawn=kL;gl.exports.sync=toe;gl.exports._parse=UB;gl.exports._enoent=HB});var FL=C((FWe,vL)=>{"use strict";vL.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var ZB=C((RWe,RL)=>{var ig=FL(),LL={};for(let t of Object.keys(ig))LL[ig[t]]=t;var Te={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};RL.exports=Te;for(let t of Object.keys(Te)){if(!("channels"in Te[t]))throw new Error("missing channels property: "+t);if(!("labels"in Te[t]))throw new Error("missing channel labels property: "+t);if(Te[t].labels.length!==Te[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Te[t];delete Te[t].channels,delete Te[t].labels,Object.defineProperty(Te[t],"channels",{value:e}),Object.defineProperty(Te[t],"labels",{value:r})}Te.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Te.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(h){return(c-h)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Te.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Te.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function noe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Te.rgb.keyword=function(t){let e=LL[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(ig)){let s=ig[n],o=noe(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Te.rgb.lab=function(t){let e=Te.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Te.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Te.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Te.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Te.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Te.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Te.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Te.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Te.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Te.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Te.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Te.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Te.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Te.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Te.hsv.ansi16=function(t){return Te.rgb.ansi16(Te.hsv.rgb(t),t[2])};Te.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Te.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Te.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Te.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Te.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Te.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Te.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Te.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Te.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Te.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Te.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Te.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Te.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Te.gray.hsl=function(t){return[0,0,t[0]]};Te.gray.hsv=Te.gray.hsl;Te.gray.hwb=function(t){return[0,100,t[0]]};Te.gray.cmyk=function(t){return[0,0,0,t[0]]};Te.gray.lab=function(t){return[t[0],0,0]};Te.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Te.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var NL=C((LWe,ML)=>{var Jd=ZB();function soe(){let t={},e=Object.keys(Jd);for(let r=e.length,i=0;i{var _B=ZB(),loe=NL(),hl={},coe=Object.keys(_B);function uoe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function goe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{hl[t]={},Object.defineProperty(hl[t],"channels",{value:_B[t].channels}),Object.defineProperty(hl[t],"labels",{value:_B[t].labels});let e=loe(t);Object.keys(e).forEach(i=>{let n=e[i];hl[t][i]=goe(n),hl[t][i].raw=uoe(n)})});OL.exports=hl});var GL=C((NWe,KL)=>{"use strict";var UL=(t,e)=>(...r)=>`[${t(...r)+e}m`,HL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},YL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Wd=t=>t,jL=(t,e,r)=>[t,e,r],fl=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},$B,pl=(t,e,r,i)=>{$B===void 0&&($B=TL());let n=i?10:0,s={};for(let[o,a]of Object.entries($B)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function hoe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",fl(e.color,"ansi",()=>pl(UL,"ansi16",Wd,!1)),fl(e.color,"ansi256",()=>pl(HL,"ansi256",Wd,!1)),fl(e.color,"ansi16m",()=>pl(YL,"rgb",jL,!1)),fl(e.bgColor,"ansi",()=>pl(UL,"ansi16",Wd,!0)),fl(e.bgColor,"ansi256",()=>pl(HL,"ansi256",Wd,!0)),fl(e.bgColor,"ansi16m",()=>pl(YL,"rgb",jL,!0)),e}Object.defineProperty(KL,"exports",{enumerable:!0,get:hoe})});var JL=C((OWe,qL)=>{"use strict";qL.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var foe=require("os"),zL=require("tty"),zi=JL(),{env:gr}=process,Bo;zi("no-color")||zi("no-colors")||zi("color=false")||zi("color=never")?Bo=0:(zi("color")||zi("colors")||zi("color=true")||zi("color=always"))&&(Bo=1);"FORCE_COLOR"in gr&&(gr.FORCE_COLOR==="true"?Bo=1:gr.FORCE_COLOR==="false"?Bo=0:Bo=gr.FORCE_COLOR.length===0?1:Math.min(parseInt(gr.FORCE_COLOR,10),3));function ew(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function tw(t,e){if(Bo===0)return 0;if(zi("color=16m")||zi("color=full")||zi("color=truecolor"))return 3;if(zi("color=256"))return 2;if(t&&!e&&Bo===void 0)return 0;let r=Bo||0;if(gr.TERM==="dumb")return r;if(process.platform==="win32"){let i=foe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in gr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in gr)||gr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in gr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(gr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in gr)return 1;if(gr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in gr){let i=parseInt((gr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(gr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(gr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(gr.TERM)||"COLORTERM"in gr?1:r}function poe(t){let e=tw(t,t&&t.isTTY);return ew(e)}WL.exports={supportsColor:poe,stdout:ew(tw(!0,zL.isatty(1))),stderr:ew(tw(!0,zL.isatty(2)))}});var ZL=C((KWe,VL)=>{"use strict";var doe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Coe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r -`:` -`)+r,n=i+1,i=t.indexOf(` -`,n)}while(i!==-1);return s+=t.substr(n),s};VL.exports={stringReplaceAll:doe,stringEncaseCRLFWithFirstIndex:Coe}});var rM=C((UWe,_L)=>{"use strict";var moe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,$L=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ioe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Eoe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,yoe=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function eM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):yoe.get(t)||t}function Boe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Ioe))r.push(n[2].replace(Eoe,(a,l,c)=>l?eM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function woe(t){$L.lastIndex=0;let e=[],r;for(;(r=$L.exec(t))!==null;){let i=r[1];if(r[2]){let n=Boe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function tM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}_L.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(moe,(s,o,a,l,c,u)=>{if(o)n.push(eM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:tM(t,r)(g)),r.push({inverse:a,styles:woe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(tM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var AM=C((HWe,iM)=>{"use strict";var ng=GL(),{stdout:rw,stderr:iw}=XL(),{stringReplaceAll:Qoe,stringEncaseCRLFWithFirstIndex:boe}=ZL(),nM=["ansi","ansi","ansi256","ansi16m"],dl=Object.create(null),Doe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=rw?rw.level:0;t.level=e.level===void 0?r:e.level},sM=class{constructor(e){return oM(e)}},oM=t=>{let e={};return Doe(e,t),e.template=(...r)=>Soe(e.template,...r),Object.setPrototypeOf(e,zd.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=sM,e.template};function zd(t){return oM(t)}for(let[t,e]of Object.entries(ng))dl[t]={get(){let r=Xd(this,nw(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};dl.visible={get(){let t=Xd(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var aM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of aM)dl[t]={get(){let{level:e}=this;return function(...r){let i=nw(ng.color[nM[e]][t](...r),ng.color.close,this._styler);return Xd(this,i,this._isEmpty)}}};for(let t of aM){let e="bg"+t[0].toUpperCase()+t.slice(1);dl[e]={get(){let{level:r}=this;return function(...i){let n=nw(ng.bgColor[nM[r]][t](...i),ng.bgColor.close,this._styler);return Xd(this,n,this._isEmpty)}}}}var Poe=Object.defineProperties(()=>{},{...dl,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),nw=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},Xd=(t,e,r)=>{let i=(...n)=>xoe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Poe,i._generator=t,i._styler=e,i._isEmpty=r,i},xoe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=Qoe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` -`);return s!==-1&&(e=boe(e,n,i,s)),i+e+n},sw,Soe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{lM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var og=C(ki=>{"use strict";var uM=cM(),Hn=process.env;Object.defineProperty(ki,"_vendors",{value:uM.map(function(t){return t.constant})});ki.name=null;ki.isPR=null;uM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return gM(i)});if(ki[t.constant]=r,r)switch(ki.name=t.name,typeof t.pr){case"string":ki.isPR=!!Hn[t.pr];break;case"object":"env"in t.pr?ki.isPR=t.pr.env in Hn&&Hn[t.pr.env]!==t.pr.ne:"any"in t.pr?ki.isPR=t.pr.any.some(function(i){return!!Hn[i]}):ki.isPR=gM(t.pr);break;default:ki.isPR=null}});ki.isCI=!!(Hn.CI||Hn.CONTINUOUS_INTEGRATION||Hn.BUILD_NUMBER||Hn.RUN_ID||ki.name||!1);function gM(t){return typeof t=="string"?!!Hn[t]:Object.keys(t).every(function(e){return Hn[e]===t[e]})}});var fM=C((GWe,hM)=>{"use strict";hM.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var dM=C((qWe,pM)=>{"use strict";var koe=fM();pM.exports=t=>typeof t=="string"?t.replace(koe(),""):t});var Qo=C(voe=>{We(voe,{KeyRelationship:()=>ug,applyCascade:()=>qoe,base64RegExp:()=>BM,colorStringAlphaRegExp:()=>yM,colorStringRegExp:()=>EM,computeKey:()=>wo,getPrintable:()=>nr,hasExactLength:()=>SM,hasForbiddenKeys:()=>hae,hasKeyRelationship:()=>dae,hasMaxLength:()=>Xoe,hasMinLength:()=>zoe,hasMutuallyExclusiveKeys:()=>fae,hasRequiredKeys:()=>gae,hasUniqueItems:()=>Voe,isArray:()=>Koe,isAtLeast:()=>$oe,isAtMost:()=>eae,isBase64:()=>cae,isBoolean:()=>Noe,isDate:()=>Toe,isDict:()=>Hoe,isEnum:()=>Loe,isHexColor:()=>lae,isISO8601:()=>Aae,isInExclusiveRange:()=>rae,isInInclusiveRange:()=>tae,isInstanceOf:()=>joe,isInteger:()=>iae,isJSON:()=>uae,isLiteral:()=>Foe,isLowerCase:()=>sae,isNegative:()=>Zoe,isNullable:()=>Woe,isNumber:()=>Ooe,isObject:()=>Yoe,isOneOf:()=>Goe,isOptional:()=>Joe,isPositive:()=>_oe,isString:()=>Roe,isTuple:()=>Uoe,isUUID4:()=>aae,isUnknown:()=>DM,isUpperCase:()=>oae,iso8601RegExp:()=>uw,makeCoercionFn:()=>Ra,makeSetter:()=>bM,makeTrait:()=>QM,makeValidator:()=>rt,matchesRegExp:()=>nae,plural:()=>eC,pushError:()=>Ve,simpleKeyRegExp:()=>IM,uuid4RegExp:()=>wM});var IM=/^[a-zA-Z_][a-zA-Z0-9_]*$/,EM=/^#[0-9a-f]{6}$/i,yM=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,BM=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wM=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uw=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,QM=t=>()=>t;function rt({test:t}){return QM(t)()}function nr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function wo(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:IM.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function Ra(t,e){return r=>{let i=t[e];return t[e]=r,Ra(t,e).bind(null,i)}}function bM(t,e){return r=>{t[e]=r}}function eC(t,e,r){return t===1?e:r}function Ve({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}var DM=()=>rt({test:(t,e)=>!0});function Foe(t){return rt({test:(e,r)=>e!==t?Ve(r,`Expected a literal (got ${nr(t)})`):!0})}var Roe=()=>rt({test:(t,e)=>typeof t!="string"?Ve(e,`Expected a string (got ${nr(t)})`):!0});function Loe(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return rt({test:(i,n)=>r.has(i)?!0:Ve(n,`Expected a valid enumeration value (got ${nr(i)})`)})}var Moe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Noe=()=>rt({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return Ve(e,"Unbound coercion result");let i=Moe.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return Ve(e,`Expected a boolean (got ${nr(t)})`)}return!0}}),Ooe=()=>rt({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return Ve(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return Ve(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return Ve(e,`Expected a number (got ${nr(t)})`)}return!0}}),Toe=()=>rt({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return Ve(e,"Unbound coercion result");let i;if(typeof t=="string"&&uw.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return Ve(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return Ve(e,`Expected a date (got ${nr(t)})`)}return!0}}),Koe=(t,{delimiter:e}={})=>rt({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return Ve(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return Ve(i,`Expected an array (got ${nr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=SM(t.length);return rt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return Ve(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return Ve(n,`Expected a tuple (got ${nr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;art({test:(r,i)=>{if(typeof r!="object"||r===null)return Ve(i,`Expected an object (got ${nr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length&&(s||(i==null?void 0:i.errors)!=null);o{let r=Object.keys(t);return rt({test:(i,n)=>{if(typeof i!="object"||i===null)return Ve(n,`Expected an object (got ${nr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=Ve(Object.assign(Object.assign({},n),{p:wo(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:wo(n,l),coercion:Ra(i,l)}))&&a:e===null?a=Ve(Object.assign(Object.assign({},n),{p:wo(n,l)}),`Extraneous property (got ${nr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:bM(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},joe=t=>rt({test:(e,r)=>e instanceof t?!0:Ve(r,`Expected an instance of ${t.name} (got ${nr(e)})`)}),Goe=(t,{exclusive:e=!1}={})=>rt({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?Ve(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),qoe=(t,e)=>rt({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?Ra(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return Ve(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Joe=t=>rt({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Woe=t=>rt({test:(e,r)=>e===null?!0:t(e,r)}),zoe=t=>rt({test:(e,r)=>e.length>=t?!0:Ve(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Xoe=t=>rt({test:(e,r)=>e.length<=t?!0:Ve(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),SM=t=>rt({test:(e,r)=>e.length!==t?Ve(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Voe=({map:t}={})=>rt({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;srt({test:(t,e)=>t<=0?!0:Ve(e,`Expected to be negative (got ${t})`)}),_oe=()=>rt({test:(t,e)=>t>=0?!0:Ve(e,`Expected to be positive (got ${t})`)}),$oe=t=>rt({test:(e,r)=>e>=t?!0:Ve(r,`Expected to be at least ${t} (got ${e})`)}),eae=t=>rt({test:(e,r)=>e<=t?!0:Ve(r,`Expected to be at most ${t} (got ${e})`)}),tae=(t,e)=>rt({test:(r,i)=>r>=t&&r<=e?!0:Ve(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),rae=(t,e)=>rt({test:(r,i)=>r>=t&&rrt({test:(e,r)=>e!==Math.round(e)?Ve(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:Ve(r,`Expected to be a safe integer (got ${e})`)}),nae=t=>rt({test:(e,r)=>t.test(e)?!0:Ve(r,`Expected to match the pattern ${t.toString()} (got ${nr(e)})`)}),sae=()=>rt({test:(t,e)=>t!==t.toLowerCase()?Ve(e,`Expected to be all-lowercase (got ${t})`):!0}),oae=()=>rt({test:(t,e)=>t!==t.toUpperCase()?Ve(e,`Expected to be all-uppercase (got ${t})`):!0}),aae=()=>rt({test:(t,e)=>wM.test(t)?!0:Ve(e,`Expected to be a valid UUID v4 (got ${nr(t)})`)}),Aae=()=>rt({test:(t,e)=>uw.test(t)?!1:Ve(e,`Expected to be a valid ISO 8601 date string (got ${nr(t)})`)}),lae=({alpha:t=!1})=>rt({test:(e,r)=>(t?EM.test(e):yM.test(e))?!0:Ve(r,`Expected to be a valid hexadecimal color string (got ${nr(e)})`)}),cae=()=>rt({test:(t,e)=>BM.test(t)?!0:Ve(e,`Expected to be a valid base 64 string (got ${nr(t)})`)}),uae=(t=DM())=>rt({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return Ve(r,`Expected to be a valid JSON string (got ${nr(e)})`)}return t(i,r)}}),gae=t=>{let e=new Set(t);return rt({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?Ve(i,`Missing required ${eC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},hae=t=>{let e=new Set(t);return rt({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?Ve(i,`Forbidden ${eC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},fae=t=>{let e=new Set(t);return rt({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?Ve(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},ug;(function(t){t.Forbids="Forbids",t.Requires="Requires"})(ug||(ug={}));var pae={[ug.Forbids]:{expect:!1,message:"forbids using"},[ug.Requires]:{expect:!0,message:"requires using"}},dae=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=pae[e];return rt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?Ve(l,`Property "${t}" ${o.message} ${eC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var oC=C(Vi=>{"use strict";Vi.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Vi.find=(t,e)=>t.nodes.find(r=>r.type===e);Vi.exceedsLimit=(t,e,r=1,i)=>i===!1||!Vi.isInteger(t)||!Vi.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;Vi.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Vi.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;Vi.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Vi.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Vi.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Vi.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var GM=oC();jM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&GM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&GM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var JM=C((z8e,qM)=>{"use strict";qM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var tN=C((X8e,WM)=>{"use strict";var zM=JM(),La=(t,e,r)=>{if(zM(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(zM(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...r};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(La.cache.hasOwnProperty(l))return La.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=VM(t)||VM(e),h={min:t,max:e,a:c,b:u},f=[],p=[];if(g&&(h.isPadded=g,h.maxLen=String(h.max).length),c<0){let m=u<0?Math.abs(u):1;p=XM(m,Math.abs(c),h,i),c=h.a=0}return u>=0&&(f=XM(c,u,h,i)),h.negatives=p,h.positives=f,h.result=vae(p,f,i),i.capture===!0?h.result=`(${h.result})`:i.wrap!==!1&&f.length+p.length>1&&(h.result=`(?:${h.result})`),La.cache[l]=h,h.result};function vae(t,e,r){let i=Cw(t,e,"-",!1,r)||[],n=Cw(e,t,"",!1,r)||[],s=Cw(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function Rae(t,e){let r=1,i=1,n=ZM(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=ZM(t,r);for(n=_M(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+$M(a.count),o=c+1;continue}r.isPadded&&(g=Oae(c,r,i)),u.string=g+u.pattern+$M(u.count),s.push(u),o=c+1,a=u}return s}function Cw(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!eN(e,"string",a)&&s.push(r+a),i&&eN(e,"string",a)&&s.push(r+a)}return s}function Lae(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function eN(t,e,r){return t.some(i=>i[e]===r)}function ZM(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function _M(t,e){return t-t%Math.pow(10,e)}function $M(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function Mae(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function VM(t){return/^-?(0+)\d/.test(t)}function Oae(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}La.cache={};La.clearCache=()=>La.cache={};WM.exports=La});var Ew=C((V8e,rN)=>{"use strict";var Tae=require("util"),iN=tN(),nN=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),Kae=t=>e=>t===!0?Number(e):String(e),mw=t=>typeof t=="number"||typeof t=="string"&&t!=="",pg=t=>Number.isInteger(+t),Iw=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Uae=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,Hae=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},sN=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},oN=(t,e,r,i)=>{if(r)return iN(t,e,{wrap:!1,...i});let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},aN=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return iN(t,e,r)},AN=(...t)=>new RangeError("Invalid range arguments: "+Tae.inspect(...t)),lN=(t,e,r)=>{if(r.strictRanges===!0)throw AN([t,e]);return[]},jae=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},Gae=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw AN([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=Iw(a)||Iw(l)||Iw(c),g=u?Math.max(a.length,l.length,c.length):0,h=u===!1&&Uae(t,e,i)===!1,f=i.transform||Kae(h);if(i.toRegex&&r===1)return oN(sN(t,g),sN(e,g),!0,i);let p={negatives:[],positives:[]},m=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(Hae(f(n,y),g,h)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?Yae(p,i):aN(I,null,{wrap:!1,...i}):I},qae=(t,e,r=1,i={})=>{if(!pg(t)&&t.length>1||!pg(e)&&e.length>1)return lN(t,e,i);let n=i.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return oN(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?aN(u,null,{wrap:!1,options:i}):u},AC=(t,e,r,i={})=>{if(e==null&&mw(t))return[t];if(!mw(t)||!mw(e))return lN(t,e,i);if(typeof r=="function")return AC(t,e,1,{transform:r});if(nN(r))return AC(t,e,0,r);let n={...i};return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,pg(r)?pg(t)&&pg(e)?Gae(t,e,r,n):qae(t,e,Math.max(Math.abs(r),1),n):r!=null&&!nN(r)?jae(r,n):AC(t,e,1,r)};rN.exports=AC});var gN=C((Z8e,cN)=>{"use strict";var Jae=Ew(),uN=oC(),Wae=(t,e={})=>{let r=(i,n={})=>{let s=uN.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=uN.reduce(i.nodes),g=Jae(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};cN.exports=Wae});var pN=C((_8e,hN)=>{"use strict";var zae=Ew(),fN=aC(),Il=oC(),Ma=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Il.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Ma(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Ma(n,s,r):n+s);return Il.flatten(i)},Xae=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Ma(a.pop(),fN(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Ma(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Il.reduce(n.nodes);if(Il.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=zae(...g,e);h.length===0&&(h=fN(n,e)),a.push(Ma(a.pop(),h)),n.nodes=[];return}let l=Il.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";dN.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var BN=C((eze,mN)=>{"use strict";var Vae=aC(),{MAX_LENGTH:IN,CHAR_BACKSLASH:yw,CHAR_BACKTICK:Zae,CHAR_COMMA:_ae,CHAR_DOT:$ae,CHAR_LEFT_PARENTHESES:eAe,CHAR_RIGHT_PARENTHESES:tAe,CHAR_LEFT_CURLY_BRACE:rAe,CHAR_RIGHT_CURLY_BRACE:iAe,CHAR_LEFT_SQUARE_BRACKET:EN,CHAR_RIGHT_SQUARE_BRACKET:yN,CHAR_DOUBLE_QUOTE:nAe,CHAR_SINGLE_QUOTE:sAe,CHAR_NO_BREAK_SPACE:oAe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:aAe}=CN(),AAe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(IN,r.maxLength):IN;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,h,f={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:Vae(o)}]}m({type:"comma",value:h}),o.commas++;continue}if(h===$ae&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:h});continue}if(a.type==="dot"){if(o.range=[],a.value+=h,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+h,a=y,o.ranges--;continue}m({type:"dot",value:h});continue}m({type:"text",value:h})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};mN.exports=AAe});var bN=C((tze,wN)=>{"use strict";var QN=aC(),lAe=gN(),cAe=pN(),uAe=BN(),Fi=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Fi.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Fi.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Fi.parse=(t,e={})=>uAe(t,e);Fi.stringify=(t,e={})=>typeof t=="string"?QN(Fi.parse(t,e),e):QN(t,e);Fi.compile=(t,e={})=>(typeof t=="string"&&(t=Fi.parse(t,e)),lAe(t,e));Fi.expand=(t,e={})=>{typeof t=="string"&&(t=Fi.parse(t,e));let r=cAe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Fi.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Fi.compile(t,e):Fi.expand(t,e);wN.exports=Fi});var dg=C((rze,DN)=>{"use strict";var gAe=require("path"),Gn="\\\\/",SN=`[^${Gn}]`,bs="\\.",hAe="\\+",fAe="\\?",lC="\\/",pAe="(?=.)",PN="[^/]",Bw=`(?:${lC}|$)`,xN=`(?:^|${lC})`,ww=`${bs}{1,2}${Bw}`,dAe=`(?!${bs})`,CAe=`(?!${xN}${ww})`,mAe=`(?!${bs}{0,1}${Bw})`,IAe=`(?!${ww})`,EAe=`[^.${lC}]`,yAe=`${PN}*?`,kN={DOT_LITERAL:bs,PLUS_LITERAL:hAe,QMARK_LITERAL:fAe,SLASH_LITERAL:lC,ONE_CHAR:pAe,QMARK:PN,END_ANCHOR:Bw,DOTS_SLASH:ww,NO_DOT:dAe,NO_DOTS:CAe,NO_DOT_SLASH:mAe,NO_DOTS_SLASH:IAe,QMARK_NO_DOT:EAe,STAR:yAe,START_ANCHOR:xN},BAe={...kN,SLASH_LITERAL:`[${Gn}]`,QMARK:SN,STAR:`${SN}*?`,DOTS_SLASH:`${bs}{1,2}(?:[${Gn}]|$)`,NO_DOT:`(?!${bs})`,NO_DOTS:`(?!(?:^|[${Gn}])${bs}{1,2}(?:[${Gn}]|$))`,NO_DOT_SLASH:`(?!${bs}{0,1}(?:[${Gn}]|$))`,NO_DOTS_SLASH:`(?!${bs}{1,2}(?:[${Gn}]|$))`,QMARK_NO_DOT:`[^.${Gn}]`,START_ANCHOR:`(?:^|[${Gn}])`,END_ANCHOR:`(?:[${Gn}]|$)`},wAe={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"};DN.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:wAe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:gAe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?BAe:kN}}});var Cg=C(fi=>{"use strict";var QAe=require("path"),bAe=process.platform==="win32",{REGEX_BACKSLASH:DAe,REGEX_REMOVE_BACKSLASH:SAe,REGEX_SPECIAL_CHARS:PAe,REGEX_SPECIAL_CHARS_GLOBAL:xAe}=dg();fi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);fi.hasRegexChars=t=>PAe.test(t);fi.isRegexChar=t=>t.length===1&&fi.hasRegexChars(t);fi.escapeRegex=t=>t.replace(xAe,"\\$1");fi.toPosixSlashes=t=>t.replace(DAe,"/");fi.removeBackslashes=t=>t.replace(SAe,e=>e==="\\"?"":e);fi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};fi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:bAe===!0||QAe.sep==="\\";fi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?fi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};fi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};fi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var KN=C((nze,vN)=>{"use strict";var FN=Cg(),{CHAR_ASTERISK:Qw,CHAR_AT:kAe,CHAR_BACKWARD_SLASH:mg,CHAR_COMMA:vAe,CHAR_DOT:bw,CHAR_EXCLAMATION_MARK:RN,CHAR_FORWARD_SLASH:LN,CHAR_LEFT_CURLY_BRACE:Dw,CHAR_LEFT_PARENTHESES:Sw,CHAR_LEFT_SQUARE_BRACKET:FAe,CHAR_PLUS:RAe,CHAR_QUESTION_MARK:MN,CHAR_RIGHT_CURLY_BRACE:LAe,CHAR_RIGHT_PARENTHESES:NN,CHAR_RIGHT_SQUARE_BRACKET:MAe}=dg(),ON=t=>t===LN||t===mg,TN=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},NAe=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,h=!1,f=!1,p=!1,m=!1,I=!1,y=!1,B=!1,P=!1,k=!1,N=0,O,v,U={value:"",depth:0,isGlob:!1},re=()=>c>=i,F=()=>l.charCodeAt(c+1),A=()=>(O=v,l.charCodeAt(++c));for(;c0&&(Z=l.slice(0,u),l=l.slice(u),g-=u),q&&p===!0&&g>0?(q=l.slice(0,g),$=l.slice(g)):p===!0?(q="",$=l):q=l,q&&q!==""&&q!=="/"&&q!==l&&ON(q.charCodeAt(q.length-1))&&(q=q.slice(0,-1)),r.unescape===!0&&($&&($=FN.removeBackslashes($)),q&&B===!0&&(q=FN.removeBackslashes(q)));let T={prefix:Z,input:t,start:u,base:q,glob:$,isBrace:h,isBracket:f,isGlob:p,isExtglob:m,isGlobstar:I,negated:P};if(r.tokens===!0&&(T.maxDepth=0,ON(v)||o.push(U),T.tokens=o),r.parts===!0||r.tokens===!0){let G;for(let Qe=0;Qe{"use strict";var cC=dg(),Ri=Cg(),{MAX_LENGTH:uC,POSIX_REGEX_SOURCE:OAe,REGEX_NON_SPECIAL_CHARS:TAe,REGEX_SPECIAL_CHARS_BACKREF:KAe,REPLACEMENTS:HN}=cC,UAe=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Ri.escapeRegex(n)).join("..")}return r},El=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,YN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=HN[t]||t;let r={...e},i=typeof r.maxLength=="number"?Math.min(uC,r.maxLength):uC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Ri.isWindows(e),c=cC.globChars(l),u=cC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:h,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:B,QMARK:P,QMARK_NO_DOT:k,STAR:N,START_ANCHOR:O}=c,v=W=>`(${a}(?:(?!${O}${W.dot?m:g}).)*?)`,U=r.dot?"":I,re=r.dot?P:k,F=r.bash===!0?v(r):N;r.capture&&(F=`(${F})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Ri.removePrefix(t,A),n=t.length;let q=[],Z=[],$=[],T=s,G,Qe=()=>A.index===n-1,Pe=A.peek=(W=1)=>t[A.index+W],He=A.advance=()=>t[++A.index],Re=()=>t.slice(A.index+1),ee=(W="",ie=0)=>{A.consumed+=W,A.index+=ie},ne=W=>{A.output+=W.output!=null?W.output:W.value,ee(W.value)},Ee=()=>{let W=1;for(;Pe()==="!"&&(Pe(2)!=="("||Pe(3)==="?");)He(),A.start++,W++;return W%2==0?!1:(A.negated=!0,A.start++,!0)},le=W=>{A[W]++,$.push(W)},fe=W=>{A[W]--,$.pop()},ue=W=>{if(T.type==="globstar"){let ie=A.braces>0&&(W.type==="comma"||W.type==="brace"),ae=W.extglob===!0||q.length&&(W.type==="pipe"||W.type==="paren");W.type!=="slash"&&W.type!=="paren"&&!ie&&!ae&&(A.output=A.output.slice(0,-T.output.length),T.type="star",T.value="*",T.output=F,A.output+=T.output)}if(q.length&&W.type!=="paren"&&!u[W.value]&&(q[q.length-1].inner+=W.value),(W.value||W.output)&&ne(W),T&&T.type==="text"&&W.type==="text"){T.value+=W.value,T.output=(T.output||"")+W.value;return}W.prev=T,o.push(W),T=W},De=(W,ie)=>{let ae={...u[ie],conditions:1,inner:""};ae.prev=T,ae.parens=A.parens,ae.output=A.output;let me=(r.capture?"(":"")+ae.open;le("parens"),ue({type:W,value:ie,output:A.output?"":p}),ue({type:"paren",extglob:!0,value:He(),output:me}),q.push(ae)},z=W=>{let ie=W.close+(r.capture?")":"");if(W.type==="negate"){let ae=F;W.inner&&W.inner.length>1&&W.inner.includes("/")&&(ae=v(r)),(ae!==F||Qe()||/^\)+$/.test(Re()))&&(ie=W.close=`)$))${ae}`),W.prev.type==="bos"&&(A.negatedExtglob=!0)}ue({type:"paren",extglob:!0,value:G,output:ie}),fe("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let W=!1,ie=t.replace(KAe,(ae,me,ot,ct,wt,In)=>ct==="\\"?(W=!0,ae):ct==="?"?me?me+ct+(wt?P.repeat(wt.length):""):In===0?re+(wt?P.repeat(wt.length):""):P.repeat(ot.length):ct==="."?g.repeat(ot.length):ct==="*"?me?me+ct+(wt?F:""):F:me?ae:`\\${ae}`);return W===!0&&(r.unescape===!0?ie=ie.replace(/\\/g,""):ie=ie.replace(/\\+/g,ae=>ae.length%2==0?"\\\\":ae?"\\":"")),ie===t&&r.contains===!0?(A.output=t,A):(A.output=Ri.wrapOutput(ie,A,e),A)}for(;!Qe();){if(G=He(),G==="\0")continue;if(G==="\\"){let ae=Pe();if(ae==="/"&&r.bash!==!0||ae==="."||ae===";")continue;if(!ae){G+="\\",ue({type:"text",value:G});continue}let me=/^\\+/.exec(Re()),ot=0;if(me&&me[0].length>2&&(ot=me[0].length,A.index+=ot,ot%2!=0&&(G+="\\")),r.unescape===!0?G=He()||"":G+=He()||"",A.brackets===0){ue({type:"text",value:G});continue}}if(A.brackets>0&&(G!=="]"||T.value==="["||T.value==="[^")){if(r.posix!==!1&&G===":"){let ae=T.value.slice(1);if(ae.includes("[")&&(T.posix=!0,ae.includes(":"))){let me=T.value.lastIndexOf("["),ot=T.value.slice(0,me),ct=T.value.slice(me+2),wt=OAe[ct];if(wt){T.value=ot+wt,A.backtrack=!0,He(),!s.output&&o.indexOf(T)===1&&(s.output=p);continue}}}(G==="["&&Pe()!==":"||G==="-"&&Pe()==="]")&&(G=`\\${G}`),G==="]"&&(T.value==="["||T.value==="[^")&&(G=`\\${G}`),r.posix===!0&&G==="!"&&T.value==="["&&(G="^"),T.value+=G,ne({value:G});continue}if(A.quotes===1&&G!=='"'){G=Ri.escapeRegex(G),T.value+=G,ne({value:G});continue}if(G==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&ue({type:"text",value:G});continue}if(G==="("){le("parens"),ue({type:"paren",value:G});continue}if(G===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(El("opening","("));let ae=q[q.length-1];if(ae&&A.parens===ae.parens+1){z(q.pop());continue}ue({type:"paren",value:G,output:A.parens?")":"\\)"}),fe("parens");continue}if(G==="["){if(r.nobracket===!0||!Re().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(El("closing","]"));G=`\\${G}`}else le("brackets");ue({type:"bracket",value:G});continue}if(G==="]"){if(r.nobracket===!0||T&&T.type==="bracket"&&T.value.length===1){ue({type:"text",value:G,output:`\\${G}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(El("opening","["));ue({type:"text",value:G,output:`\\${G}`});continue}fe("brackets");let ae=T.value.slice(1);if(T.posix!==!0&&ae[0]==="^"&&!ae.includes("/")&&(G=`/${G}`),T.value+=G,ne({value:G}),r.literalBrackets===!1||Ri.hasRegexChars(ae))continue;let me=Ri.escapeRegex(T.value);if(A.output=A.output.slice(0,-T.value.length),r.literalBrackets===!0){A.output+=me,T.value=me;continue}T.value=`(${a}${me}|${T.value})`,A.output+=T.value;continue}if(G==="{"&&r.nobrace!==!0){le("braces");let ae={type:"brace",value:G,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};Z.push(ae),ue(ae);continue}if(G==="}"){let ae=Z[Z.length-1];if(r.nobrace===!0||!ae){ue({type:"text",value:G,output:G});continue}let me=")";if(ae.dots===!0){let ot=o.slice(),ct=[];for(let wt=ot.length-1;wt>=0&&(o.pop(),ot[wt].type!=="brace");wt--)ot[wt].type!=="dots"&&ct.unshift(ot[wt].value);me=UAe(ct,r),A.backtrack=!0}if(ae.comma!==!0&&ae.dots!==!0){let ot=A.output.slice(0,ae.outputIndex),ct=A.tokens.slice(ae.tokensIndex);ae.value=ae.output="\\{",G=me="\\}",A.output=ot;for(let wt of ct)A.output+=wt.output||wt.value}ue({type:"brace",value:G,output:me}),fe("braces"),Z.pop();continue}if(G==="|"){q.length>0&&q[q.length-1].conditions++,ue({type:"text",value:G});continue}if(G===","){let ae=G,me=Z[Z.length-1];me&&$[$.length-1]==="braces"&&(me.comma=!0,ae="|"),ue({type:"comma",value:G,output:ae});continue}if(G==="/"){if(T.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),T=s;continue}ue({type:"slash",value:G,output:f});continue}if(G==="."){if(A.braces>0&&T.type==="dot"){T.value==="."&&(T.output=g);let ae=Z[Z.length-1];T.type="dots",T.output+=G,T.value+=G,ae.dots=!0;continue}if(A.braces+A.parens===0&&T.type!=="bos"&&T.type!=="slash"){ue({type:"text",value:G,output:g});continue}ue({type:"dot",value:G,output:g});continue}if(G==="?"){if(!(T&&T.value==="(")&&r.noextglob!==!0&&Pe()==="("&&Pe(2)!=="?"){De("qmark",G);continue}if(T&&T.type==="paren"){let me=Pe(),ot=G;if(me==="<"&&!Ri.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(T.value==="("&&!/[!=<:]/.test(me)||me==="<"&&!/<([!=]|\w+>)/.test(Re()))&&(ot=`\\${G}`),ue({type:"text",value:G,output:ot});continue}if(r.dot!==!0&&(T.type==="slash"||T.type==="bos")){ue({type:"qmark",value:G,output:k});continue}ue({type:"qmark",value:G,output:P});continue}if(G==="!"){if(r.noextglob!==!0&&Pe()==="("&&(Pe(2)!=="?"||!/[!=<:]/.test(Pe(3)))){De("negate",G);continue}if(r.nonegate!==!0&&A.index===0){Ee();continue}}if(G==="+"){if(r.noextglob!==!0&&Pe()==="("&&Pe(2)!=="?"){De("plus",G);continue}if(T&&T.value==="("||r.regex===!1){ue({type:"plus",value:G,output:h});continue}if(T&&(T.type==="bracket"||T.type==="paren"||T.type==="brace")||A.parens>0){ue({type:"plus",value:G});continue}ue({type:"plus",value:h});continue}if(G==="@"){if(r.noextglob!==!0&&Pe()==="("&&Pe(2)!=="?"){ue({type:"at",extglob:!0,value:G,output:""});continue}ue({type:"text",value:G});continue}if(G!=="*"){(G==="$"||G==="^")&&(G=`\\${G}`);let ae=TAe.exec(Re());ae&&(G+=ae[0],A.index+=ae[0].length),ue({type:"text",value:G});continue}if(T&&(T.type==="globstar"||T.star===!0)){T.type="star",T.star=!0,T.value+=G,T.output=F,A.backtrack=!0,A.globstar=!0,ee(G);continue}let W=Re();if(r.noextglob!==!0&&/^\([^?]/.test(W)){De("star",G);continue}if(T.type==="star"){if(r.noglobstar===!0){ee(G);continue}let ae=T.prev,me=ae.prev,ot=ae.type==="slash"||ae.type==="bos",ct=me&&(me.type==="star"||me.type==="globstar");if(r.bash===!0&&(!ot||W[0]&&W[0]!=="/")){ue({type:"star",value:G,output:""});continue}let wt=A.braces>0&&(ae.type==="comma"||ae.type==="brace"),In=q.length&&(ae.type==="pipe"||ae.type==="paren");if(!ot&&ae.type!=="paren"&&!wt&&!In){ue({type:"star",value:G,output:""});continue}for(;W.slice(0,3)==="/**";){let li=t[A.index+4];if(li&&li!=="/")break;W=W.slice(3),ee("/**",3)}if(ae.type==="bos"&&Qe()){T.type="globstar",T.value+=G,T.output=v(r),A.output=T.output,A.globstar=!0,ee(G);continue}if(ae.type==="slash"&&ae.prev.type!=="bos"&&!ct&&Qe()){A.output=A.output.slice(0,-(ae.output+T.output).length),ae.output=`(?:${ae.output}`,T.type="globstar",T.output=v(r)+(r.strictSlashes?")":"|$)"),T.value+=G,A.globstar=!0,A.output+=ae.output+T.output,ee(G);continue}if(ae.type==="slash"&&ae.prev.type!=="bos"&&W[0]==="/"){let li=W[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ae.output+T.output).length),ae.output=`(?:${ae.output}`,T.type="globstar",T.output=`${v(r)}${f}|${f}${li})`,T.value+=G,A.output+=ae.output+T.output,A.globstar=!0,ee(G+He()),ue({type:"slash",value:"/",output:""});continue}if(ae.type==="bos"&&W[0]==="/"){T.type="globstar",T.value+=G,T.output=`(?:^|${f}|${v(r)}${f})`,A.output=T.output,A.globstar=!0,ee(G+He()),ue({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-T.output.length),T.type="globstar",T.output=v(r),T.value+=G,A.output+=T.output,A.globstar=!0,ee(G);continue}let ie={type:"star",value:G,output:F};if(r.bash===!0){ie.output=".*?",(T.type==="bos"||T.type==="slash")&&(ie.output=U+ie.output),ue(ie);continue}if(T&&(T.type==="bracket"||T.type==="paren")&&r.regex===!0){ie.output=G,ue(ie);continue}(A.index===A.start||T.type==="slash"||T.type==="dot")&&(T.type==="dot"?(A.output+=y,T.output+=y):r.dot===!0?(A.output+=B,T.output+=B):(A.output+=U,T.output+=U),Pe()!=="*"&&(A.output+=p,T.output+=p)),ue(ie)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(El("closing","]"));A.output=Ri.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(El("closing",")"));A.output=Ri.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(El("closing","}"));A.output=Ri.escapeLast(A.output,"{"),fe("braces")}if(r.strictSlashes!==!0&&(T.type==="star"||T.type==="bracket")&&ue({type:"maybe_slash",value:"",output:`${f}?`}),A.backtrack===!0){A.output="";for(let W of A.tokens)A.output+=W.output!=null?W.output:W.value,W.suffix&&(A.output+=W.suffix)}return A};YN.fastpaths=(t,e)=>{let r={...e},i=typeof r.maxLength=="number"?Math.min(uC,r.maxLength):uC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=HN[t]||t;let s=Ri.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:h,STAR:f,START_ANCHOR:p}=cC.globChars(s),m=r.dot?g:u,I=r.dot?h:u,y=r.capture?"":"?:",B={negated:!1,prefix:""},P=r.bash===!0?".*?":f;r.capture&&(P=`(${P})`);let k=U=>U.noglobstar===!0?P:`(${y}(?:(?!${p}${U.dot?c:o}).)*?)`,N=U=>{switch(U){case"*":return`${m}${l}${P}`;case".*":return`${o}${l}${P}`;case"*.*":return`${m}${P}${o}${l}${P}`;case"*/*":return`${m}${P}${a}${l}${I}${P}`;case"**":return m+k(r);case"**/*":return`(?:${m}${k(r)}${a})?${I}${l}${P}`;case"**/*.*":return`(?:${m}${k(r)}${a})?${I}${P}${o}${l}${P}`;case"**/.*":return`(?:${m}${k(r)}${a})?${o}${l}${P}`;default:{let re=/^(.*?)\.(\w+)$/.exec(U);if(!re)return;let F=N(re[1]);return F?F+o+re[2]:void 0}}},O=Ri.removePrefix(t,B),v=N(O);return v&&r.strictSlashes!==!0&&(v+=`${a}?`),v};UN.exports=YN});var qN=C((oze,GN)=>{"use strict";var HAe=require("path"),YAe=KN(),Pw=jN(),xw=Cg(),jAe=dg(),GAe=t=>t&&typeof t=="object"&&!Array.isArray(t),$t=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>$t(h,e,r));return h=>{for(let f of u){let p=f(h);if(p)return p}return!1}}let i=GAe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=xw.isWindows(e),o=i?$t.compileRe(t,e):$t.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=$t(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:h,match:f,output:p}=$t.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:f,isMatch:h};return typeof n.onResult=="function"&&n.onResult(m),h===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};$t.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?xw.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=$t.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};$t.matchBase=(t,e,r,i=xw.isWindows(r))=>(e instanceof RegExp?e:$t.makeRe(e,r)).test(HAe.basename(t));$t.isMatch=(t,e,r)=>$t(e,r)(t);$t.parse=(t,e)=>Array.isArray(t)?t.map(r=>$t.parse(r,e)):Pw(t,{...e,fastpaths:!1});$t.scan=(t,e)=>YAe(t,e);$t.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=$t.toRegex(a,e);return i===!0&&(l.state=t),l};$t.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=Pw.fastpaths(t,e)),a===void 0?(s=Pw(t,e),s.prefix=o+(s.prefix||"")):s.output=a,$t.compileRe(s,e,r,i)};$t.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};$t.constants=jAe;GN.exports=$t});var kw=C((aze,JN)=>{"use strict";JN.exports=qN()});var Qn=C((Aze,WN)=>{"use strict";var zN=require("util"),XN=bN(),qn=kw(),vw=Cg(),VN=t=>typeof t=="string"&&(t===""||t==="./"),Ht=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Ht.match=Ht;Ht.matcher=(t,e)=>qn(t,e);Ht.isMatch=(t,e,r)=>qn(e,r)(t);Ht.any=Ht.isMatch;Ht.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Ht(t,e,{...r,onResult:a=>{r.onResult&&r.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Ht.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${zN.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Ht.contains(t,i,r));if(typeof e=="string"){if(VN(t)||VN(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Ht.isMatch(t,e,{...r,contains:!0})};Ht.matchKeys=(t,e,r)=>{if(!vw.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Ht(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Ht.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=qn(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Ht.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=qn(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Ht.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${zN.inspect(t)}"`);return[].concat(e).every(i=>qn(i,r)(t))};Ht.capture=(t,e,r)=>{let i=vw.isWindows(r),s=qn.makeRe(String(t),{...r,capture:!0}).exec(i?vw.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Ht.makeRe=(...t)=>qn.makeRe(...t);Ht.scan=(...t)=>qn.scan(...t);Ht.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of XN(String(i),e))r.push(qn.parse(n,e));return r};Ht.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:XN(t,e)};Ht.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Ht.braces(t,{...e,expand:!0})};WN.exports=Ht});var Zi=C(exports=>{We(exports,{BufferStream:()=>BufferStream,DefaultStream:()=>DefaultStream,assertNever:()=>assertNever,bufferStream:()=>bufferStream,buildIgnorePattern:()=>buildIgnorePattern,convertMapsToIndexableObjects:()=>convertMapsToIndexableObjects,dynamicRequire:()=>dynamicRequire,dynamicRequireNoCache:()=>dynamicRequireNoCache,escapeRegExp:()=>escapeRegExp,getArrayWithDefault:()=>getArrayWithDefault,getFactoryWithDefault:()=>getFactoryWithDefault,getMapWithDefault:()=>getMapWithDefault,getSetWithDefault:()=>getSetWithDefault,isIndexableObject:()=>isIndexableObject,mapAndFilter:()=>mapAndFilter,mapAndFind:()=>mapAndFind,overrideType:()=>overrideType,parseBoolean:()=>parseBoolean,parseOptionalBoolean:()=>parseOptionalBoolean,prettifyAsyncErrors:()=>prettifyAsyncErrors,prettifySyncErrors:()=>prettifySyncErrors,releaseAfterUseAsync:()=>releaseAfterUseAsync,replaceEnvVariables:()=>replaceEnvVariables,sortMap:()=>sortMap,tryParseOptionalBoolean:()=>tryParseOptionalBoolean,validateEnum:()=>validateEnum});var ZN=X(Qn()),Fw=X(require("stream"));function escapeRegExp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function overrideType(t){}function assertNever(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function validateEnum(t,e){if(!Object.values(t).includes(e))throw new Error("Assertion failed: Invalid value for enumeration");return e}function mapAndFilter(t,e){let r=[];for(let i of t){let n=e(i);n!==mapAndFilterSkip&&r.push(n)}return r}var mapAndFilterSkip=Symbol();mapAndFilter.skip=mapAndFilterSkip;function mapAndFind(t,e){for(let r of t){let i=e(r);if(i!==mapAndFindSkip)return i}}var mapAndFindSkip=Symbol();mapAndFind.skip=mapAndFindSkip;function isIndexableObject(t){return typeof t=="object"&&t!==null}function convertMapsToIndexableObjects(t){if(t instanceof Map&&(t=Object.fromEntries(t)),isIndexableObject(t))for(let e of Object.keys(t)){let r=t[e];isIndexableObject(r)&&(t[e]=convertMapsToIndexableObjects(r))}return t}function getFactoryWithDefault(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function getArrayWithDefault(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function getSetWithDefault(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function getMapWithDefault(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function releaseAfterUseAsync(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function prettifyAsyncErrors(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function prettifySyncErrors(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function bufferStream(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var BufferStream=class extends Fw.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},DefaultStream=class extends Fw.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},dynamicRequire=eval("require");function dynamicRequireNoCache(path){let physicalPath=npath.fromPortablePath(path),currentCacheEntry=dynamicRequire.cache[physicalPath];delete dynamicRequire.cache[physicalPath];let result;try{result=dynamicRequire(physicalPath);let freshCacheEntry=dynamicRequire.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{dynamicRequire.cache[physicalPath]=currentCacheEntry}return result}function sortMap(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function buildIgnorePattern(t){return t.length===0?null:t.map(e=>`(${ZN.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function replaceEnvVariables(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new UsageError(`Environment variable not found (${n})`)})}function parseBoolean(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function parseOptionalBoolean(t){return typeof t=="undefined"?t:parseBoolean(t)}function tryParseOptionalBoolean(t){try{return parseOptionalBoolean(t)}catch{return null}}});var Ig=C((uze,_N)=>{var qAe="2.0.0",JAe=256,WAe=Number.MAX_SAFE_INTEGER||9007199254740991,zAe=16;_N.exports={SEMVER_SPEC_VERSION:qAe,MAX_LENGTH:JAe,MAX_SAFE_INTEGER:WAe,MAX_SAFE_COMPONENT_LENGTH:zAe}});var Eg=C((gze,$N)=>{var XAe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};$N.exports=XAe});var Na=C((bo,eO)=>{var{MAX_SAFE_COMPONENT_LENGTH:Rw}=Ig(),VAe=Eg();bo=eO.exports={};var ZAe=bo.re=[],Le=bo.src=[],Me=bo.t={},_Ae=0,it=(t,e,r)=>{let i=_Ae++;VAe(i,e),Me[t]=i,Le[i]=e,ZAe[i]=new RegExp(e,r?"g":void 0)};it("NUMERICIDENTIFIER","0|[1-9]\\d*");it("NUMERICIDENTIFIERLOOSE","[0-9]+");it("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");it("MAINVERSION",`(${Le[Me.NUMERICIDENTIFIER]})\\.(${Le[Me.NUMERICIDENTIFIER]})\\.(${Le[Me.NUMERICIDENTIFIER]})`);it("MAINVERSIONLOOSE",`(${Le[Me.NUMERICIDENTIFIERLOOSE]})\\.(${Le[Me.NUMERICIDENTIFIERLOOSE]})\\.(${Le[Me.NUMERICIDENTIFIERLOOSE]})`);it("PRERELEASEIDENTIFIER",`(?:${Le[Me.NUMERICIDENTIFIER]}|${Le[Me.NONNUMERICIDENTIFIER]})`);it("PRERELEASEIDENTIFIERLOOSE",`(?:${Le[Me.NUMERICIDENTIFIERLOOSE]}|${Le[Me.NONNUMERICIDENTIFIER]})`);it("PRERELEASE",`(?:-(${Le[Me.PRERELEASEIDENTIFIER]}(?:\\.${Le[Me.PRERELEASEIDENTIFIER]})*))`);it("PRERELEASELOOSE",`(?:-?(${Le[Me.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Le[Me.PRERELEASEIDENTIFIERLOOSE]})*))`);it("BUILDIDENTIFIER","[0-9A-Za-z-]+");it("BUILD",`(?:\\+(${Le[Me.BUILDIDENTIFIER]}(?:\\.${Le[Me.BUILDIDENTIFIER]})*))`);it("FULLPLAIN",`v?${Le[Me.MAINVERSION]}${Le[Me.PRERELEASE]}?${Le[Me.BUILD]}?`);it("FULL",`^${Le[Me.FULLPLAIN]}$`);it("LOOSEPLAIN",`[v=\\s]*${Le[Me.MAINVERSIONLOOSE]}${Le[Me.PRERELEASELOOSE]}?${Le[Me.BUILD]}?`);it("LOOSE",`^${Le[Me.LOOSEPLAIN]}$`);it("GTLT","((?:<|>)?=?)");it("XRANGEIDENTIFIERLOOSE",`${Le[Me.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);it("XRANGEIDENTIFIER",`${Le[Me.NUMERICIDENTIFIER]}|x|X|\\*`);it("XRANGEPLAIN",`[v=\\s]*(${Le[Me.XRANGEIDENTIFIER]})(?:\\.(${Le[Me.XRANGEIDENTIFIER]})(?:\\.(${Le[Me.XRANGEIDENTIFIER]})(?:${Le[Me.PRERELEASE]})?${Le[Me.BUILD]}?)?)?`);it("XRANGEPLAINLOOSE",`[v=\\s]*(${Le[Me.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Le[Me.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Le[Me.XRANGEIDENTIFIERLOOSE]})(?:${Le[Me.PRERELEASELOOSE]})?${Le[Me.BUILD]}?)?)?`);it("XRANGE",`^${Le[Me.GTLT]}\\s*${Le[Me.XRANGEPLAIN]}$`);it("XRANGELOOSE",`^${Le[Me.GTLT]}\\s*${Le[Me.XRANGEPLAINLOOSE]}$`);it("COERCE",`(^|[^\\d])(\\d{1,${Rw}})(?:\\.(\\d{1,${Rw}}))?(?:\\.(\\d{1,${Rw}}))?(?:$|[^\\d])`);it("COERCERTL",Le[Me.COERCE],!0);it("LONETILDE","(?:~>?)");it("TILDETRIM",`(\\s*)${Le[Me.LONETILDE]}\\s+`,!0);bo.tildeTrimReplace="$1~";it("TILDE",`^${Le[Me.LONETILDE]}${Le[Me.XRANGEPLAIN]}$`);it("TILDELOOSE",`^${Le[Me.LONETILDE]}${Le[Me.XRANGEPLAINLOOSE]}$`);it("LONECARET","(?:\\^)");it("CARETTRIM",`(\\s*)${Le[Me.LONECARET]}\\s+`,!0);bo.caretTrimReplace="$1^";it("CARET",`^${Le[Me.LONECARET]}${Le[Me.XRANGEPLAIN]}$`);it("CARETLOOSE",`^${Le[Me.LONECARET]}${Le[Me.XRANGEPLAINLOOSE]}$`);it("COMPARATORLOOSE",`^${Le[Me.GTLT]}\\s*(${Le[Me.LOOSEPLAIN]})$|^$`);it("COMPARATOR",`^${Le[Me.GTLT]}\\s*(${Le[Me.FULLPLAIN]})$|^$`);it("COMPARATORTRIM",`(\\s*)${Le[Me.GTLT]}\\s*(${Le[Me.LOOSEPLAIN]}|${Le[Me.XRANGEPLAIN]})`,!0);bo.comparatorTrimReplace="$1$2$3";it("HYPHENRANGE",`^\\s*(${Le[Me.XRANGEPLAIN]})\\s+-\\s+(${Le[Me.XRANGEPLAIN]})\\s*$`);it("HYPHENRANGELOOSE",`^\\s*(${Le[Me.XRANGEPLAINLOOSE]})\\s+-\\s+(${Le[Me.XRANGEPLAINLOOSE]})\\s*$`);it("STAR","(<|>)?=?\\s*\\*");it("GTE0","^\\s*>=\\s*0.0.0\\s*$");it("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var gC=C((hze,tO)=>{var rO=/^[0-9]+$/,iO=(t,e)=>{let r=rO.test(t),i=rO.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tiO(e,t);tO.exports={compareIdentifiers:iO,rcompareIdentifiers:$Ae}});var Mr=C((fze,nO)=>{var hC=Eg(),{MAX_LENGTH:sO,MAX_SAFE_INTEGER:fC}=Ig(),{re:oO,t:aO}=Na(),{compareIdentifiers:yg}=gC(),_i=class{constructor(e,r){if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),e instanceof _i){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>sO)throw new TypeError(`version is longer than ${sO} characters`);hC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?oO[aO.LOOSE]:oO[aO.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>fC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>fC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>fC||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};nO.exports=_i});var Oa=C((pze,AO)=>{var{MAX_LENGTH:ele}=Ig(),{re:lO,t:cO}=Na(),uO=Mr(),tle=(t,e)=>{if((!e||typeof e!="object")&&(e={loose:!!e,includePrerelease:!1}),t instanceof uO)return t;if(typeof t!="string"||t.length>ele||!(e.loose?lO[cO.LOOSE]:lO[cO.FULL]).test(t))return null;try{return new uO(t,e)}catch(i){return null}};AO.exports=tle});var hO=C((dze,gO)=>{var rle=Oa(),ile=(t,e)=>{let r=rle(t,e);return r?r.version:null};gO.exports=ile});var pO=C((Cze,fO)=>{var nle=Oa(),sle=(t,e)=>{let r=nle(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};fO.exports=sle});var CO=C((mze,dO)=>{var ole=Mr(),ale=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new ole(t,r).inc(e,i).version}catch(n){return null}};dO.exports=ale});var $i=C((Ize,mO)=>{var IO=Mr(),Ale=(t,e,r)=>new IO(t,r).compare(new IO(e,r));mO.exports=Ale});var pC=C((Eze,EO)=>{var lle=$i(),cle=(t,e,r)=>lle(t,e,r)===0;EO.exports=cle});var wO=C((yze,yO)=>{var BO=Oa(),ule=pC(),gle=(t,e)=>{if(ule(t,e))return null;{let r=BO(t),i=BO(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};yO.exports=gle});var bO=C((Bze,QO)=>{var hle=Mr(),fle=(t,e)=>new hle(t,e).major;QO.exports=fle});var SO=C((wze,DO)=>{var ple=Mr(),dle=(t,e)=>new ple(t,e).minor;DO.exports=dle});var xO=C((Qze,PO)=>{var Cle=Mr(),mle=(t,e)=>new Cle(t,e).patch;PO.exports=mle});var vO=C((bze,kO)=>{var Ile=Oa(),Ele=(t,e)=>{let r=Ile(t,e);return r&&r.prerelease.length?r.prerelease:null};kO.exports=Ele});var RO=C((Dze,FO)=>{var yle=$i(),Ble=(t,e,r)=>yle(e,t,r);FO.exports=Ble});var MO=C((Sze,LO)=>{var wle=$i(),Qle=(t,e)=>wle(t,e,!0);LO.exports=Qle});var dC=C((Pze,NO)=>{var OO=Mr(),ble=(t,e,r)=>{let i=new OO(t,r),n=new OO(e,r);return i.compare(n)||i.compareBuild(n)};NO.exports=ble});var KO=C((xze,TO)=>{var Dle=dC(),Sle=(t,e)=>t.sort((r,i)=>Dle(r,i,e));TO.exports=Sle});var HO=C((kze,UO)=>{var Ple=dC(),xle=(t,e)=>t.sort((r,i)=>Ple(i,r,e));UO.exports=xle});var Bg=C((vze,YO)=>{var kle=$i(),vle=(t,e,r)=>kle(t,e,r)>0;YO.exports=vle});var CC=C((Fze,jO)=>{var Fle=$i(),Rle=(t,e,r)=>Fle(t,e,r)<0;jO.exports=Rle});var Lw=C((Rze,GO)=>{var Lle=$i(),Mle=(t,e,r)=>Lle(t,e,r)!==0;GO.exports=Mle});var mC=C((Lze,qO)=>{var Nle=$i(),Ole=(t,e,r)=>Nle(t,e,r)>=0;qO.exports=Ole});var IC=C((Mze,JO)=>{var Tle=$i(),Kle=(t,e,r)=>Tle(t,e,r)<=0;JO.exports=Kle});var Mw=C((Nze,WO)=>{var Ule=pC(),Hle=Lw(),Yle=Bg(),jle=mC(),Gle=CC(),qle=IC(),Jle=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Ule(t,r,i);case"!=":return Hle(t,r,i);case">":return Yle(t,r,i);case">=":return jle(t,r,i);case"<":return Gle(t,r,i);case"<=":return qle(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};WO.exports=Jle});var XO=C((Oze,zO)=>{var Wle=Mr(),zle=Oa(),{re:EC,t:yC}=Na(),Xle=(t,e)=>{if(t instanceof Wle)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(EC[yC.COERCE]);else{let i;for(;(i=EC[yC.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),EC[yC.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;EC[yC.COERCERTL].lastIndex=-1}return r===null?null:zle(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};zO.exports=Xle});var en=C((Tze,VO)=>{var yl=class{constructor(e,r){if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),e instanceof yl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new yl(e.raw,r);if(e instanceof Nw)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let r=this.options.loose;e=e.trim();let i=r?Nr[Pr.HYPHENRANGELOOSE]:Nr[Pr.HYPHENRANGE];e=e.replace(i,rce(this.options.includePrerelease)),er("hyphen replace",e),e=e.replace(Nr[Pr.COMPARATORTRIM],Zle),er("comparator trim",e,Nr[Pr.COMPARATORTRIM]),e=e.replace(Nr[Pr.TILDETRIM],_le),e=e.replace(Nr[Pr.CARETTRIM],$le),e=e.split(/\s+/).join(" ");let n=r?Nr[Pr.COMPARATORLOOSE]:Nr[Pr.COMPARATOR];return e.split(" ").map(s=>ece(s,this.options)).join(" ").split(/\s+/).map(s=>tce(s,this.options)).filter(this.options.loose?s=>!!s.match(n):()=>!0).map(s=>new Nw(s,this.options))}intersects(e,r){if(!(e instanceof yl))throw new TypeError("a Range is required");return this.set.some(i=>ZO(i,r)&&e.set.some(n=>ZO(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Vle(e,this.options)}catch(r){return!1}for(let r=0;r{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},ece=(t,e)=>(er("comp",t,e),t=sce(t,e),er("caret",t),t=nce(t,e),er("tildes",t),t=oce(t,e),er("xrange",t),t=ace(t,e),er("stars",t),t),Zr=t=>!t||t.toLowerCase()==="x"||t==="*",nce=(t,e)=>t.trim().split(/\s+/).map(r=>Ace(r,e)).join(" "),Ace=(t,e)=>{let r=e.loose?Nr[Pr.TILDELOOSE]:Nr[Pr.TILDE];return t.replace(r,(i,n,s,o,a)=>{er("tilde",t,i,n,s,o,a);let l;return Zr(n)?l="":Zr(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Zr(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(er("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,er("tilde return",l),l})},sce=(t,e)=>t.trim().split(/\s+/).map(r=>lce(r,e)).join(" "),lce=(t,e)=>{er("caret",t,e);let r=e.loose?Nr[Pr.CARETLOOSE]:Nr[Pr.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{er("caret",t,n,s,o,a,l);let c;return Zr(s)?c="":Zr(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Zr(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(er("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(er("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),er("caret return",c),c})},oce=(t,e)=>(er("replaceXRanges",t,e),t.split(/\s+/).map(r=>cce(r,e)).join(" ")),cce=(t,e)=>{t=t.trim();let r=e.loose?Nr[Pr.XRANGELOOSE]:Nr[Pr.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{er("xRange",t,i,n,s,o,a,l);let c=Zr(s),u=c||Zr(o),g=u||Zr(a),h=g;return n==="="&&h&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&h?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),er("xRange return",i),i})},ace=(t,e)=>(er("replaceStars",t,e),t.trim().replace(Nr[Pr.STAR],"")),tce=(t,e)=>(er("replaceGTE0",t,e),t.trim().replace(Nr[e.includePrerelease?Pr.GTE0PRE:Pr.GTE0],"")),rce=t=>(e,r,i,n,s,o,a,l,c,u,g,h,f)=>(Zr(i)?r="":Zr(n)?r=`>=${i}.0.0${t?"-0":""}`:Zr(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Zr(c)?l="":Zr(u)?l=`<${+c+1}.0.0-0`:Zr(g)?l=`<${c}.${+u+1}.0-0`:h?l=`<=${c}.${u}.${g}-${h}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),ice=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var wg=C((Kze,_O)=>{var Qg=Symbol("SemVer ANY"),bg=class{static get ANY(){return Qg}constructor(e,r){if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),e instanceof bg){if(e.loose===!!r.loose)return e;e=e.value}Tw("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Qg?this.value="":this.value=this.operator+this.semver.version,Tw("comp",this)}parse(e){let r=this.options.loose?$O[eT.COMPARATORLOOSE]:$O[eT.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new tT(i[2],this.options.loose):this.semver=Qg}toString(){return this.value}test(e){if(Tw("Comparator.test",e,this.options.loose),this.semver===Qg||e===Qg)return!0;if(typeof e=="string")try{e=new tT(e,this.options)}catch(r){return!1}return Ow(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof bg))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new rT(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new rT(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Ow(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Ow(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};_O.exports=bg;var{re:$O,t:eT}=Na(),Ow=Mw(),Tw=Eg(),tT=Mr(),rT=en()});var Dg=C((Uze,iT)=>{var uce=en(),gce=(t,e,r)=>{try{e=new uce(e,r)}catch(i){return!1}return e.test(t)};iT.exports=gce});var sT=C((Hze,nT)=>{var hce=en(),fce=(t,e)=>new hce(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));nT.exports=fce});var aT=C((Yze,oT)=>{var pce=Mr(),dce=en(),Cce=(t,e,r)=>{let i=null,n=null,s=null;try{s=new dce(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new pce(i,r))}),i};oT.exports=Cce});var lT=C((jze,AT)=>{var mce=Mr(),Ice=en(),Ece=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Ice(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new mce(i,r))}),i};AT.exports=Ece});var uT=C((Gze,cT)=>{var Kw=Mr(),yce=en(),Bce=Bg(),wce=(t,e)=>{t=new yce(t,e);let r=new Kw("0.0.0");if(t.test(r)||(r=new Kw("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let o=new Kw(s.semver.version);switch(s.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!r||Bce(r,o))&&(r=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}});return r&&t.test(r)?r:null};cT.exports=wce});var hT=C((qze,gT)=>{var Qce=en(),bce=(t,e)=>{try{return new Qce(t,e).range||"*"}catch(r){return null}};gT.exports=bce});var BC=C((Jze,fT)=>{var Dce=Mr(),pT=wg(),{ANY:Sce}=pT,Pce=en(),xce=Dg(),dT=Bg(),CT=CC(),kce=IC(),vce=mC(),Fce=(t,e,r,i)=>{t=new Dce(t,i),e=new Pce(e,i);let n,s,o,a,l;switch(r){case">":n=dT,s=kce,o=CT,a=">",l=">=";break;case"<":n=CT,s=vce,o=dT,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(xce(t,e,i))return!1;for(let c=0;c{f.semver===Sce&&(f=new pT(">=0.0.0")),g=g||f,h=h||f,n(f.semver,g.semver,i)?g=f:o(f.semver,h.semver,i)&&(h=f)}),g.operator===a||g.operator===l||(!h.operator||h.operator===a)&&s(t,h.semver))return!1;if(h.operator===l&&o(t,h.semver))return!1}return!0};fT.exports=Fce});var IT=C((Wze,mT)=>{var Rce=BC(),Lce=(t,e,r)=>Rce(t,e,">",r);mT.exports=Lce});var yT=C((zze,ET)=>{var Mce=BC(),Nce=(t,e,r)=>Mce(t,e,"<",r);ET.exports=Nce});var QT=C((Xze,BT)=>{var wT=en(),Oce=(t,e,r)=>(t=new wT(t,r),e=new wT(e,r),t.intersects(e));BT.exports=Oce});var DT=C((Vze,bT)=>{var Tce=Dg(),Kce=$i();bT.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>Kce(u,g,r));for(let u of o)Tce(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var PT=en(),{ANY:xT}=wg(),Sg=Dg(),Uw=$i(),Hce=(t,e,r)=>{t=new PT(t,r),e=new PT(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=Uce(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Uce=(t,e,r)=>{if(t.length===1&&t[0].semver===xT)return e.length===1&&e[0].semver===xT;let i=new Set,n,s;for(let g of t)g.operator===">"||g.operator===">="?n=kT(n,g,r):g.operator==="<"||g.operator==="<="?s=vT(s,g,r):i.add(g.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Uw(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let g of i){if(n&&!Sg(g,String(n),r)||s&&!Sg(g,String(s),r))return null;for(let h of e)if(!Sg(g,String(h),r))return!1;return!0}let a,l,c,u;for(let g of e){if(u=u||g.operator===">"||g.operator===">=",c=c||g.operator==="<"||g.operator==="<=",n){if(g.operator===">"||g.operator===">="){if(a=kT(n,g,r),a===g)return!1}else if(n.operator===">="&&!Sg(n.semver,String(g),r))return!1}if(s){if(g.operator==="<"||g.operator==="<="){if(l=vT(s,g,r),l===g)return!1}else if(s.operator==="<="&&!Sg(s.semver,String(g),r))return!1}if(!g.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0)},kT=(t,e,r)=>{if(!t)return e;let i=Uw(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},vT=(t,e,r)=>{if(!t)return e;let i=Uw(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};ST.exports=Hce});var hr=C((_ze,RT)=>{var Hw=Na();RT.exports={re:Hw.re,src:Hw.src,tokens:Hw.t,SEMVER_SPEC_VERSION:Ig().SEMVER_SPEC_VERSION,SemVer:Mr(),compareIdentifiers:gC().compareIdentifiers,rcompareIdentifiers:gC().rcompareIdentifiers,parse:Oa(),valid:hO(),clean:pO(),inc:CO(),diff:wO(),major:bO(),minor:SO(),patch:xO(),prerelease:vO(),compare:$i(),rcompare:RO(),compareLoose:MO(),compareBuild:dC(),sort:KO(),rsort:HO(),gt:Bg(),lt:CC(),eq:pC(),neq:Lw(),gte:mC(),lte:IC(),cmp:Mw(),coerce:XO(),Comparator:wg(),Range:en(),satisfies:Dg(),toComparators:sT(),maxSatisfying:aT(),minSatisfying:lT(),minVersion:uT(),validRange:hT(),outside:BC(),gtr:IT(),ltr:yT(),intersects:QT(),simplifyRange:DT(),subset:FT()}});var MT=C(($ze,LT)=>{"use strict";LT.exports=(...t)=>[...new Set([].concat(...t))]});var Yw=C((e4e,NT)=>{"use strict";var Yce=require("stream"),OT=Yce.PassThrough,jce=Array.prototype.slice;NT.exports=Gce;function Gce(){let t=[],e=!1,r=jce.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=OT(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function h(f){function p(){f.removeListener("merge2UnpipeEnd",p),f.removeListener("end",p),g()}if(f._readableState.endEmitted)return g();f.on("merge2UnpipeEnd",p),f.on("end",p),f.pipe(s,{end:!1}),f.resume()}for(let f=0;f{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});function qce(t){return t.reduce((e,r)=>[].concat(e,r),[])}wC.flatten=qce;function Jce(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}wC.splitWhen=Jce});var UT=C(jw=>{"use strict";Object.defineProperty(jw,"__esModule",{value:!0});function Wce(t){return t.code==="ENOENT"}jw.isEnoentCodeError=Wce});var YT=C(Gw=>{"use strict";Object.defineProperty(Gw,"__esModule",{value:!0});var HT=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function zce(t,e){return new HT(t,e)}Gw.createDirentFromStats=zce});var jT=C(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var Xce=require("path"),Vce=2,Zce=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function _ce(t){return t.replace(/\\/g,"/")}Bl.unixify=_ce;function $ce(t,e){return Xce.resolve(t,e)}Bl.makeAbsolute=$ce;function eue(t){return t.replace(Zce,"\\$2")}Bl.escape=eue;function tue(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Vce)}return t}Bl.removeLeadingDotSegment=tue});var qT=C((s4e,GT)=>{GT.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var WT=C((o4e,JT)=>{var rue=qT(),iue={"{":"}","(":")","[":"]"},nue=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,sue=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;JT.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(rue(e))return!0;var i=nue,n;for(r&&r.strict===!1&&(i=sue);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?iue[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var XT=C((a4e,zT)=>{"use strict";var oue=WT(),aue=require("path").posix.dirname,Aue=require("os").platform()==="win32",qw="/",lue=/\\/g,cue=/[\{\[].*[\/]*.*[\}\]]$/,uue=/(^|[^\\])([\{\[]|\([^\)]+$)/,gue=/\\([\*\?\|\[\]\(\)\{\}])/g;zT.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Aue&&e.indexOf(qw)<0&&(e=e.replace(lue,qw)),cue.test(e)&&(e+=qw),e+="a";do e=aue(e);while(oue(e)||uue.test(e));return e.replace(gue,"$1")}});var nK=C(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});var hue=require("path"),fue=XT(),VT=Qn(),pue=kw(),ZT="**",due="\\",Cue=/[*?]|^!/,mue=/\[.*]/,Iue=/(?:^|[^!*+?@])\(.*\|.*\)/,Eue=/[!*+?@]\(.*\)/,yue=/{.*(?:,|\.\.).*}/;function $T(t,e={}){return!_T(t,e)}sr.isStaticPattern=$T;function _T(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(due)||Cue.test(t)||mue.test(t)||Iue.test(t)||e.extglob!==!1&&Eue.test(t)||e.braceExpansion!==!1&&yue.test(t))}sr.isDynamicPattern=_T;function Bue(t){return QC(t)?t.slice(1):t}sr.convertToPositivePattern=Bue;function wue(t){return"!"+t}sr.convertToNegativePattern=wue;function QC(t){return t.startsWith("!")&&t[1]!=="("}sr.isNegativePattern=QC;function eK(t){return!QC(t)}sr.isPositivePattern=eK;function Que(t){return t.filter(QC)}sr.getNegativePatterns=Que;function bue(t){return t.filter(eK)}sr.getPositivePatterns=bue;function Due(t){return fue(t,{flipBackslashes:!1})}sr.getBaseDirectory=Due;function Sue(t){return t.includes(ZT)}sr.hasGlobStar=Sue;function tK(t){return t.endsWith("/"+ZT)}sr.endsWithSlashGlobStar=tK;function Pue(t){let e=hue.basename(t);return tK(t)||$T(e)}sr.isAffectDepthOfReadingPattern=Pue;function xue(t){return t.reduce((e,r)=>e.concat(rK(r)),[])}sr.expandPatternsWithBraceExpansion=xue;function rK(t){return VT.braces(t,{expand:!0,nodupes:!0})}sr.expandBraceExpansion=rK;function kue(t,e){let r=pue.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}sr.getPatternParts=kue;function iK(t,e){return VT.makeRe(t,e)}sr.makeRe=iK;function vue(t,e){return t.map(r=>iK(r,e))}sr.convertPatternsToRe=vue;function Fue(t,e){return e.some(r=>r.test(t))}sr.matchAny=Fue});var oK=C(Jw=>{"use strict";Object.defineProperty(Jw,"__esModule",{value:!0});var Rue=Yw();function Lue(t){let e=Rue(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>sK(t)),e.once("end",()=>sK(t)),e}Jw.merge=Lue;function sK(t){t.forEach(e=>e.emit("close"))}});var aK=C(bC=>{"use strict";Object.defineProperty(bC,"__esModule",{value:!0});function Mue(t){return typeof t=="string"}bC.isString=Mue;function Nue(t){return t===""}bC.isEmpty=Nue});var Ss=C(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var Oue=KT();Ds.array=Oue;var Tue=UT();Ds.errno=Tue;var Kue=YT();Ds.fs=Kue;var Uue=jT();Ds.path=Uue;var Hue=nK();Ds.pattern=Hue;var Yue=oK();Ds.stream=Yue;var jue=aK();Ds.string=jue});var gK=C(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Ta=Ss();function Gue(t,e){let r=AK(t),i=lK(t,e.ignore),n=r.filter(l=>Ta.pattern.isStaticPattern(l,e)),s=r.filter(l=>Ta.pattern.isDynamicPattern(l,e)),o=Ww(n,i,!1),a=Ww(s,i,!0);return o.concat(a)}Ps.generate=Gue;function Ww(t,e,r){let i=cK(t);return"."in i?[zw(".",t,e,r)]:uK(i,e,r)}Ps.convertPatternsToTasks=Ww;function AK(t){return Ta.pattern.getPositivePatterns(t)}Ps.getPositivePatterns=AK;function lK(t,e){return Ta.pattern.getNegativePatterns(t).concat(e).map(Ta.pattern.convertToPositivePattern)}Ps.getNegativePatternsAsPositive=lK;function cK(t){let e={};return t.reduce((r,i)=>{let n=Ta.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}Ps.groupPatternsByBaseDirectory=cK;function uK(t,e,r){return Object.keys(t).map(i=>zw(i,t[i],e,r))}Ps.convertPatternGroupsToTasks=uK;function zw(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Ta.pattern.convertToNegativePattern))}}Ps.convertPatternGroupToTask=zw});var fK=C(Xw=>{"use strict";Object.defineProperty(Xw,"__esModule",{value:!0});function que(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null)return hK(r,i);if(!n.isSymbolicLink()||!e.followSymbolicLink)return Vw(r,n);e.fs.stat(t,(s,o)=>{if(s!==null)return e.throwErrorOnBrokenSymbolicLink?hK(r,s):Vw(r,n);e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),Vw(r,o)})})}Xw.read=que;function hK(t,e){t(e)}function Vw(t,e){t(null,e)}});var pK=C(Zw=>{"use strict";Object.defineProperty(Zw,"__esModule",{value:!0});function Jue(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}Zw.read=Jue});var dK=C(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});var DC=require("fs");wl.FILE_SYSTEM_ADAPTER={lstat:DC.lstat,stat:DC.stat,lstatSync:DC.lstatSync,statSync:DC.statSync};function Wue(t){return t===void 0?wl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},wl.FILE_SYSTEM_ADAPTER),t)}wl.createFileSystemAdapter=Wue});var mK=C(_w=>{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});var zue=dK(),CK=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=zue.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e===void 0?r:e}};_w.default=CK});var Ka=C(Pg=>{"use strict";Object.defineProperty(Pg,"__esModule",{value:!0});var IK=fK(),Xue=pK(),$w=mK();Pg.Settings=$w.default;function Vue(t,e,r){if(typeof e=="function")return IK.read(t,eQ(),e);IK.read(t,eQ(e),r)}Pg.stat=Vue;function Zue(t,e){let r=eQ(e);return Xue.read(t,r)}Pg.statSync=Zue;function eQ(t={}){return t instanceof $w.default?t:new $w.default(t)}});var yK=C((m4e,EK)=>{EK.exports=_ue;function _ue(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var rQ=C(tQ=>{"use strict";Object.defineProperty(tQ,"__esModule",{value:!0});var BK=process.versions.node.split("."),wK=parseInt(BK[0],10),$ue=parseInt(BK[1],10),QK=10,ege=10,tge=wK>QK,rge=wK===QK&&$ue>=ege;tQ.IS_SUPPORT_READDIR_WITH_FILE_TYPES=tge||rge});var DK=C(iQ=>{"use strict";Object.defineProperty(iQ,"__esModule",{value:!0});var bK=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function ige(t,e){return new bK(t,e)}iQ.createDirentFromStats=ige});var sQ=C(nQ=>{"use strict";Object.defineProperty(nQ,"__esModule",{value:!0});var nge=DK();nQ.fs=nge});var vK=C(xg=>{"use strict";Object.defineProperty(xg,"__esModule",{value:!0});var sge=Ka(),SK=yK(),oge=rQ(),PK=sQ();function age(t,e,r){return!e.stats&&oge.IS_SUPPORT_READDIR_WITH_FILE_TYPES?xK(t,e,r):kK(t,e,r)}xg.read=age;function xK(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null)return SC(r,i);let s=n.map(a=>({dirent:a,name:a.name,path:`${t}${e.pathSegmentSeparator}${a.name}`}));if(!e.followSymbolicLinks)return oQ(r,s);let o=s.map(a=>Age(a,e));SK(o,(a,l)=>{if(a!==null)return SC(r,a);oQ(r,l)})})}xg.readdirWithFileTypes=xK;function Age(t,e){return r=>{if(!t.dirent.isSymbolicLink())return r(null,t);e.fs.stat(t.path,(i,n)=>i!==null?e.throwErrorOnBrokenSymbolicLink?r(i):r(null,t):(t.dirent=PK.fs.createDirentFromStats(t.name,n),r(null,t)))}}function kK(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null)return SC(r,i);let s=n.map(a=>`${t}${e.pathSegmentSeparator}${a}`),o=s.map(a=>l=>sge.stat(a,e.fsStatSettings,l));SK(o,(a,l)=>{if(a!==null)return SC(r,a);let c=[];n.forEach((u,g)=>{let h=l[g],f={name:u,path:s[g],dirent:PK.fs.createDirentFromStats(u,h)};e.stats&&(f.stats=h),c.push(f)}),oQ(r,c)})})}xg.readdir=kK;function SC(t,e){t(e)}function oQ(t,e){t(null,e)}});var MK=C(kg=>{"use strict";Object.defineProperty(kg,"__esModule",{value:!0});var lge=Ka(),cge=rQ(),FK=sQ();function uge(t,e){return!e.stats&&cge.IS_SUPPORT_READDIR_WITH_FILE_TYPES?RK(t,e):LK(t,e)}kg.read=uge;function RK(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:`${t}${e.pathSegmentSeparator}${i.name}`};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=FK.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}kg.readdirWithFileTypes=RK;function LK(t,e){return e.fs.readdirSync(t).map(i=>{let n=`${t}${e.pathSegmentSeparator}${i}`,s=lge.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:FK.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}kg.readdir=LK});var NK=C(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var bl=require("fs");Ql.FILE_SYSTEM_ADAPTER={lstat:bl.lstat,stat:bl.stat,lstatSync:bl.lstatSync,statSync:bl.statSync,readdir:bl.readdir,readdirSync:bl.readdirSync};function gge(t){return t===void 0?Ql.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Ql.FILE_SYSTEM_ADAPTER),t)}Ql.createFileSystemAdapter=gge});var TK=C(aQ=>{"use strict";Object.defineProperty(aQ,"__esModule",{value:!0});var hge=require("path"),fge=Ka(),pge=NK(),OK=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=pge.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,hge.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new fge.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e===void 0?r:e}};aQ.default=OK});var PC=C(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});var KK=vK(),dge=MK(),AQ=TK();vg.Settings=AQ.default;function Cge(t,e,r){if(typeof e=="function")return KK.read(t,lQ(),e);KK.read(t,lQ(e),r)}vg.scandir=Cge;function mge(t,e){let r=lQ(e);return dge.read(t,r)}vg.scandirSync=mge;function lQ(t={}){return t instanceof AQ.default?t:new AQ.default(t)}});var HK=C((S4e,UK)=>{"use strict";function Ige(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}UK.exports=Ige});var jK=C((P4e,YK)=>{"use strict";var Ege=HK();function Bge(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);var i=Ege(yge),n=null,s=null,o=0,a={push:f,drain:Jn,saturated:Jn,pause:c,paused:!1,concurrency:r,running:l,resume:g,idle:h,length:u,unshift:p,empty:Jn,kill:I,killAndDrain:y};return a;function l(){return o}function c(){a.paused=!0}function u(){for(var B=n,P=0;B;)B=B.next,P++;return P}function g(){if(!!a.paused){a.paused=!1;for(var B=0;B{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});function wge(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Dl.isFatalError=wge;function Qge(t,e){return t===null||t(e)}Dl.isAppliedFilter=Qge;function bge(t,e){return t.split(/[\\/]/).join(e)}Dl.replacePathSegmentSeparator=bge;function Dge(t,e,r){return t===""?e:t+r+e}Dl.joinPathSegments=Dge});var uQ=C(cQ=>{"use strict";Object.defineProperty(cQ,"__esModule",{value:!0});var Sge=xC(),GK=class{constructor(e,r){this._root=e,this._settings=r,this._root=Sge.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};cQ.default=GK});var hQ=C(gQ=>{"use strict";Object.defineProperty(gQ,"__esModule",{value:!0});var Pge=require("events"),xge=PC(),kge=jK(),kC=xC(),vge=uQ(),qK=class extends vge.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=xge.scandir,this._emitter=new Pge.EventEmitter,this._queue=kge(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null)return r(i,void 0);for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){!kC.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=kC.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),kC.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&kC.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};gQ.default=qK});var WK=C(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});var Fge=hQ(),JK=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Fge.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Rge(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{Lge(e,[...this._storage])}),this._reader.read()}};fQ.default=JK;function Rge(t,e){t(e)}function Lge(t,e){t(null,e)}});var XK=C(pQ=>{"use strict";Object.defineProperty(pQ,"__esModule",{value:!0});var Mge=require("stream"),Nge=hQ(),zK=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Nge.default(this._root,this._settings),this._stream=new Mge.Readable({objectMode:!0,read:()=>{},destroy:this._reader.destroy.bind(this._reader)})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};pQ.default=zK});var ZK=C(dQ=>{"use strict";Object.defineProperty(dQ,"__esModule",{value:!0});var Oge=PC(),vC=xC(),Tge=uQ(),VK=class extends Tge.default{constructor(){super(...arguments);this._scandir=Oge.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!vC.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=vC.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),vC.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&vC.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};dQ.default=VK});var $K=C(CQ=>{"use strict";Object.defineProperty(CQ,"__esModule",{value:!0});var Kge=ZK(),_K=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Kge.default(this._root,this._settings)}read(){return this._reader.read()}};CQ.default=_K});var t1=C(mQ=>{"use strict";Object.defineProperty(mQ,"__esModule",{value:!0});var Uge=require("path"),Hge=PC(),e1=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Infinity),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Uge.sep),this.fsScandirSettings=new Hge.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e===void 0?r:e}};mQ.default=e1});var EQ=C(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});var r1=WK(),Yge=XK(),jge=$K(),IQ=t1();Sl.Settings=IQ.default;function Gge(t,e,r){if(typeof e=="function")return new r1.default(t,FC()).read(e);new r1.default(t,FC(e)).read(r)}Sl.walk=Gge;function qge(t,e){let r=FC(e);return new jge.default(t,r).read()}Sl.walkSync=qge;function Jge(t,e){let r=FC(e);return new Yge.default(t,r).read()}Sl.walkStream=Jge;function FC(t={}){return t instanceof IQ.default?t:new IQ.default(t)}});var BQ=C(yQ=>{"use strict";Object.defineProperty(yQ,"__esModule",{value:!0});var Wge=require("path"),zge=Ka(),i1=Ss(),n1=class{constructor(e){this._settings=e,this._fsStatSettings=new zge.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Wge.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:i1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!i1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};yQ.default=n1});var QQ=C(wQ=>{"use strict";Object.defineProperty(wQ,"__esModule",{value:!0});var Xge=require("stream"),Vge=Ka(),Zge=EQ(),_ge=BQ(),s1=class extends _ge.default{constructor(){super(...arguments);this._walkStream=Zge.walkStream,this._stat=Vge.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Xge.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};wQ.default=s1});var a1=C(bQ=>{"use strict";Object.defineProperty(bQ,"__esModule",{value:!0});var Pl=Ss(),o1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Pl.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Pl.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Pl.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Pl.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Pl.array.splitWhen(e,r=>r.dynamic&&Pl.pattern.hasGlobStar(r.pattern))}};bQ.default=o1});var l1=C(DQ=>{"use strict";Object.defineProperty(DQ,"__esModule",{value:!0});var $ge=a1(),A1=class extends $ge.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};DQ.default=A1});var u1=C(SQ=>{"use strict";Object.defineProperty(SQ,"__esModule",{value:!0});var RC=Ss(),ehe=l1(),c1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new ehe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(RC.pattern.isAffectDepthOfReadingPattern);return RC.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=RC.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!RC.pattern.matchAny(e,r)}};SQ.default=c1});var h1=C(PQ=>{"use strict";Object.defineProperty(PQ,"__esModule",{value:!0});var Fg=Ss(),g1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=Fg.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Fg.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=Fg.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=Fg.path.removeLeadingDotSegment(e);return Fg.pattern.matchAny(i,r)}};PQ.default=g1});var p1=C(xQ=>{"use strict";Object.defineProperty(xQ,"__esModule",{value:!0});var the=Ss(),f1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return the.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};xQ.default=f1});var m1=C(kQ=>{"use strict";Object.defineProperty(kQ,"__esModule",{value:!0});var d1=Ss(),C1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=d1.path.makeAbsolute(this._settings.cwd,r),r=d1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};kQ.default=C1});var LC=C(vQ=>{"use strict";Object.defineProperty(vQ,"__esModule",{value:!0});var rhe=require("path"),ihe=u1(),nhe=h1(),she=p1(),ohe=m1(),I1=class{constructor(e){this._settings=e,this.errorFilter=new she.default(this._settings),this.entryFilter=new nhe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ihe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ohe.default(this._settings)}_getRootDirectory(e){return rhe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};vQ.default=I1});var y1=C(FQ=>{"use strict";Object.defineProperty(FQ,"__esModule",{value:!0});var ahe=QQ(),Ahe=LC(),E1=class extends Ahe.default{constructor(){super(...arguments);this._reader=new ahe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};FQ.default=E1});var w1=C(RQ=>{"use strict";Object.defineProperty(RQ,"__esModule",{value:!0});var lhe=require("stream"),che=QQ(),uhe=LC(),B1=class extends uhe.default{constructor(){super(...arguments);this._reader=new che.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new lhe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};RQ.default=B1});var b1=C(LQ=>{"use strict";Object.defineProperty(LQ,"__esModule",{value:!0});var ghe=Ka(),hhe=EQ(),fhe=BQ(),Q1=class extends fhe.default{constructor(){super(...arguments);this._walkSync=hhe.walkSync,this._statSync=ghe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};LQ.default=Q1});var S1=C(MQ=>{"use strict";Object.defineProperty(MQ,"__esModule",{value:!0});var phe=b1(),dhe=LC(),D1=class extends dhe.default{constructor(){super(...arguments);this._reader=new phe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};MQ.default=D1});var x1=C(Rg=>{"use strict";Object.defineProperty(Rg,"__esModule",{value:!0});var xl=require("fs"),Che=require("os"),mhe=Che.cpus().length;Rg.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:xl.lstat,lstatSync:xl.lstatSync,stat:xl.stat,statSync:xl.statSync,readdir:xl.readdir,readdirSync:xl.readdirSync};var P1=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,mhe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},Rg.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};Rg.default=P1});var MC=C((_4e,k1)=>{"use strict";var v1=gK(),Ihe=y1(),Ehe=w1(),yhe=S1(),NQ=x1(),Ua=Ss();async function TQ(t,e){kl(t);let r=OQ(t,Ihe.default,e),i=await Promise.all(r);return Ua.array.flatten(i)}(function(t){function e(o,a){kl(o);let l=OQ(o,yhe.default,a);return Ua.array.flatten(l)}t.sync=e;function r(o,a){kl(o);let l=OQ(o,Ehe.default,a);return Ua.stream.merge(l)}t.stream=r;function i(o,a){kl(o);let l=[].concat(o),c=new NQ.default(a);return v1.generate(l,c)}t.generateTasks=i;function n(o,a){kl(o);let l=new NQ.default(a);return Ua.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return kl(o),Ua.path.escape(o)}t.escapePath=s})(TQ||(TQ={}));function OQ(t,e,r){let i=[].concat(t),n=new NQ.default(r),s=v1.generate(i,n),o=new e(n);return s.map(o.read,o)}function kl(t){if(![].concat(t).every(i=>Ua.string.isString(i)&&!Ua.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}k1.exports=TQ});var R1=C(Ha=>{"use strict";var{promisify:Bhe}=require("util"),F1=require("fs");async function KQ(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await Bhe(F1[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function UQ(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return F1[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Ha.isFile=KQ.bind(null,"stat","isFile");Ha.isDirectory=KQ.bind(null,"stat","isDirectory");Ha.isSymlink=KQ.bind(null,"lstat","isSymbolicLink");Ha.isFileSync=UQ.bind(null,"statSync","isFile");Ha.isDirectorySync=UQ.bind(null,"statSync","isDirectory");Ha.isSymlinkSync=UQ.bind(null,"lstatSync","isSymbolicLink")});var T1=C((e5e,HQ)=>{"use strict";var Ya=require("path"),L1=R1(),M1=t=>t.length>1?`{${t.join(",")}}`:t[0],N1=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Ya.isAbsolute(r)?r:Ya.join(e,r)},whe=(t,e)=>Ya.extname(t)?`**/${t}`:`**/${t}.${M1(e)}`,O1=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Ya.posix.join(t,whe(r,e.extensions))):e.files?e.files.map(r=>Ya.posix.join(t,`**/${r}`)):e.extensions?[Ya.posix.join(t,`**/*.${M1(e.extensions)}`)]:[Ya.posix.join(t,"**")]};HQ.exports=async(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await L1.isDirectory(N1(i,e.cwd))?O1(i,e):i));return[].concat.apply([],r)};HQ.exports.sync=(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>L1.isDirectorySync(N1(i,e.cwd))?O1(i,e):i);return[].concat.apply([],r)}});var J1=C((t5e,K1)=>{function U1(t){return Array.isArray(t)?t:[t]}var Qhe=/^\s+$/,bhe=/^\\!/,Dhe=/^\\#/,She=/\r?\n/g,Phe=/^\.*\/|^\.+$/,YQ="/",H1=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",xhe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),khe=/([0-z])-([0-z])/g,vhe=t=>t.replace(khe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),Fhe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${vhe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],Y1=Object.create(null),Rhe=(t,e,r)=>{let i=Y1[t];if(i)return i;let n=Fhe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return Y1[t]=r?new RegExp(n,"i"):new RegExp(n)},jQ=t=>typeof t=="string",Lhe=t=>t&&jQ(t)&&!Qhe.test(t)&&t.indexOf("#")!==0,Mhe=t=>t.split(She),j1=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Nhe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(bhe,"!").replace(Dhe,"#");let n=Rhe(t,i,e);return new j1(r,t,i,n)},Ohe=(t,e)=>{throw new e(t)},xs=(t,e,r)=>jQ(t)?t?xs.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),G1=t=>Phe.test(t);xs.isNotRelative=G1;xs.convert=t=>t;var q1=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,xhe(this,H1,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[H1]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Lhe(e)){let r=Nhe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,U1(jQ(e)?Mhe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&xs.convert(e);return xs(s,e,Ohe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(YQ)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(YQ)+YQ,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return U1(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},NC=t=>new q1(t),The=()=>!1,Khe=t=>xs(t&&xs.convert(t),t,The);NC.isPathValid=Khe;NC.default=NC;K1.exports=NC;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");xs.convert=t;let e=/^[a-z]:\//i;xs.isNotRelative=r=>e.test(r)||G1(r)}});var z1=C((r5e,W1)=>{"use strict";W1.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var tU=C((i5e,GQ)=>{"use strict";var{promisify:Uhe}=require("util"),X1=require("fs"),ks=require("path"),V1=MC(),Hhe=J1(),OC=z1(),Z1=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Yhe=Uhe(X1.readFile),jhe=t=>e=>e.startsWith("!")?"!"+ks.posix.join(t,e.slice(1)):ks.posix.join(t,e),Ghe=(t,e)=>{let r=OC(ks.relative(e.cwd,ks.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(jhe(r))},_1=t=>t.reduce((e,r)=>(e.add(Ghe(r.content,{cwd:r.cwd,fileName:r.filePath})),e),Hhe()),qhe=(t,e)=>{if(t=OC(t),ks.isAbsolute(e)){if(e.startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return ks.join(t,e)},$1=(t,e)=>r=>t.ignores(OC(ks.relative(e,qhe(e,r)))),Jhe=async(t,e)=>{let r=ks.join(e,t),i=await Yhe(r,"utf8");return{cwd:e,filePath:r,content:i}},Whe=(t,e)=>{let r=ks.join(e,t),i=X1.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},eU=({ignore:t=[],cwd:e=OC(process.cwd())}={})=>({ignore:t,cwd:e});GQ.exports=async t=>{t=eU(t);let e=await V1("**/.gitignore",{ignore:Z1.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Jhe(n,t.cwd))),i=_1(r);return $1(i,t.cwd)};GQ.exports.sync=t=>{t=eU(t);let r=V1.sync("**/.gitignore",{ignore:Z1.concat(t.ignore),cwd:t.cwd}).map(n=>Whe(n,t.cwd)),i=_1(r);return $1(i,t.cwd)}});var sU=C((n5e,rU)=>{"use strict";var{Transform:zhe}=require("stream"),qQ=class extends zhe{constructor(){super({objectMode:!0})}},iU=class extends qQ{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},nU=class extends qQ{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};rU.exports={FilterStream:iU,UniqueStream:nU}});var XQ=C((s5e,ja)=>{"use strict";var oU=require("fs"),TC=MT(),Xhe=Yw(),KC=MC(),UC=T1(),JQ=tU(),{FilterStream:Vhe,UniqueStream:Zhe}=sU(),aU=()=>!1,AU=t=>t[0]==="!",_he=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},$he=(t={})=>{if(!t.cwd)return;let e;try{e=oU.statSync(t.cwd)}catch(r){return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},efe=t=>t.stats instanceof oU.Stats?t.path:t,HC=(t,e)=>{t=TC([].concat(t)),_he(t),$he(e);let r=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of t.entries()){if(AU(n))continue;let s=t.slice(i).filter(AU).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};r.push({pattern:n,options:o})}return r},tfe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r={...r,files:t.options.expandDirectories}:typeof t.options.expandDirectories=="object"&&(r={...r,...t.options.expandDirectories}),e(t.pattern,r)},WQ=(t,e)=>t.options.expandDirectories?tfe(t,e):[t.pattern],lU=t=>t&&t.gitignore?JQ.sync({cwd:t.cwd,ignore:t.ignore}):aU,zQ=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=UC.sync(r.ignore)),{pattern:e,options:r}};ja.exports=async(t,e)=>{let r=HC(t,e),i=async()=>e&&e.gitignore?JQ({cwd:e.cwd,ignore:e.ignore}):aU,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await WQ(c,UC);return Promise.all(u.map(zQ(c)))}));return TC(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>KC(l.pattern,l.options)));return TC(...a).filter(l=>!s(efe(l)))};ja.exports.sync=(t,e)=>{let i=HC(t,e).reduce((s,o)=>{let a=WQ(o,UC.sync).map(zQ(o));return s.concat(a)},[]),n=lU(e);return i.reduce((s,o)=>TC(s,KC.sync(o.pattern,o.options)),[]).filter(s=>!n(s))};ja.exports.stream=(t,e)=>{let i=HC(t,e).reduce((a,l)=>{let c=WQ(l,UC.sync).map(zQ(l));return a.concat(c)},[]),n=lU(e),s=new Vhe(a=>!n(a)),o=new Zhe;return Xhe(i.map(a=>KC.stream(a.pattern,a.options))).pipe(s).pipe(o)};ja.exports.generateGlobTasks=HC;ja.exports.hasMagic=(t,e)=>[].concat(t).some(r=>KC.isDynamicPattern(r,e));ja.exports.gitignore=JQ});var Fs=C((vs,em)=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var IU=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ffe(t){return IU.includes(t)}var pfe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...IU];function dfe(t){return pfe.includes(t)}var Cfe=["null","undefined","string","number","bigint","boolean","symbol"];function mfe(t){return Cfe.includes(t)}function Ol(t){return e=>typeof e===t}var{toString:EU}=Object.prototype,Gg=t=>{let e=EU.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Y.domElement(t))return"HTMLElement";if(dfe(e))return e},jt=t=>e=>Gg(e)===t;function Y(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Y.observable(t))return"Observable";if(Y.array(t))return"Array";if(Y.buffer(t))return"Buffer";let e=Gg(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Y.undefined=Ol("undefined");Y.string=Ol("string");var Ife=Ol("number");Y.number=t=>Ife(t)&&!Y.nan(t);Y.bigint=Ol("bigint");Y.function_=Ol("function");Y.null_=t=>t===null;Y.class_=t=>Y.function_(t)&&t.toString().startsWith("class ");Y.boolean=t=>t===!0||t===!1;Y.symbol=Ol("symbol");Y.numericString=t=>Y.string(t)&&!Y.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Y.array=(t,e)=>Array.isArray(t)?Y.function_(e)?t.every(e):!0:!1;Y.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};Y.nullOrUndefined=t=>Y.null_(t)||Y.undefined(t);Y.object=t=>!Y.null_(t)&&(typeof t=="object"||Y.function_(t));Y.iterable=t=>{var e;return Y.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Y.asyncIterable=t=>{var e;return Y.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Y.generator=t=>Y.iterable(t)&&Y.function_(t.next)&&Y.function_(t.throw);Y.asyncGenerator=t=>Y.asyncIterable(t)&&Y.function_(t.next)&&Y.function_(t.throw);Y.nativePromise=t=>jt("Promise")(t);var Efe=t=>{var e,r;return Y.function_((e=t)===null||e===void 0?void 0:e.then)&&Y.function_((r=t)===null||r===void 0?void 0:r.catch)};Y.promise=t=>Y.nativePromise(t)||Efe(t);Y.generatorFunction=jt("GeneratorFunction");Y.asyncGeneratorFunction=t=>Gg(t)==="AsyncGeneratorFunction";Y.asyncFunction=t=>Gg(t)==="AsyncFunction";Y.boundFunction=t=>Y.function_(t)&&!t.hasOwnProperty("prototype");Y.regExp=jt("RegExp");Y.date=jt("Date");Y.error=jt("Error");Y.map=t=>jt("Map")(t);Y.set=t=>jt("Set")(t);Y.weakMap=t=>jt("WeakMap")(t);Y.weakSet=t=>jt("WeakSet")(t);Y.int8Array=jt("Int8Array");Y.uint8Array=jt("Uint8Array");Y.uint8ClampedArray=jt("Uint8ClampedArray");Y.int16Array=jt("Int16Array");Y.uint16Array=jt("Uint16Array");Y.int32Array=jt("Int32Array");Y.uint32Array=jt("Uint32Array");Y.float32Array=jt("Float32Array");Y.float64Array=jt("Float64Array");Y.bigInt64Array=jt("BigInt64Array");Y.bigUint64Array=jt("BigUint64Array");Y.arrayBuffer=jt("ArrayBuffer");Y.sharedArrayBuffer=jt("SharedArrayBuffer");Y.dataView=jt("DataView");Y.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Y.urlInstance=t=>jt("URL")(t);Y.urlString=t=>{if(!Y.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};Y.truthy=t=>Boolean(t);Y.falsy=t=>!t;Y.nan=t=>Number.isNaN(t);Y.primitive=t=>Y.null_(t)||mfe(typeof t);Y.integer=t=>Number.isInteger(t);Y.safeInteger=t=>Number.isSafeInteger(t);Y.plainObject=t=>{if(EU.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Y.typedArray=t=>ffe(Gg(t));var yfe=t=>Y.safeInteger(t)&&t>=0;Y.arrayLike=t=>!Y.nullOrUndefined(t)&&!Y.function_(t)&&yfe(t.length);Y.inRange=(t,e)=>{if(Y.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Y.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Bfe=1,wfe=["innerHTML","ownerDocument","style","attributes","nodeValue"];Y.domElement=t=>Y.object(t)&&t.nodeType===Bfe&&Y.string(t.nodeName)&&!Y.plainObject(t)&&wfe.every(e=>e in t);Y.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};Y.nodeStream=t=>Y.object(t)&&Y.function_(t.pipe)&&!Y.observable(t);Y.infinite=t=>t===Infinity||t===-Infinity;var yU=t=>e=>Y.integer(e)&&Math.abs(e%2)===t;Y.evenInteger=yU(0);Y.oddInteger=yU(1);Y.emptyArray=t=>Y.array(t)&&t.length===0;Y.nonEmptyArray=t=>Y.array(t)&&t.length>0;Y.emptyString=t=>Y.string(t)&&t.length===0;Y.nonEmptyString=t=>Y.string(t)&&t.length>0;var Qfe=t=>Y.string(t)&&!/\S/.test(t);Y.emptyStringOrWhitespace=t=>Y.emptyString(t)||Qfe(t);Y.emptyObject=t=>Y.object(t)&&!Y.map(t)&&!Y.set(t)&&Object.keys(t).length===0;Y.nonEmptyObject=t=>Y.object(t)&&!Y.map(t)&&!Y.set(t)&&Object.keys(t).length>0;Y.emptySet=t=>Y.set(t)&&t.size===0;Y.nonEmptySet=t=>Y.set(t)&&t.size>0;Y.emptyMap=t=>Y.map(t)&&t.size===0;Y.nonEmptyMap=t=>Y.map(t)&&t.size>0;var BU=(t,e,r)=>{if(!Y.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Y.any=(t,...e)=>(Y.array(t)?t:[t]).some(i=>BU(Array.prototype.some,i,e));Y.all=(t,...e)=>BU(Array.prototype.every,t,e);var Se=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${Y(r)}\`.`)};vs.assert={undefined:t=>Se(Y.undefined(t),"undefined",t),string:t=>Se(Y.string(t),"string",t),number:t=>Se(Y.number(t),"number",t),bigint:t=>Se(Y.bigint(t),"bigint",t),function_:t=>Se(Y.function_(t),"Function",t),null_:t=>Se(Y.null_(t),"null",t),class_:t=>Se(Y.class_(t),"Class",t),boolean:t=>Se(Y.boolean(t),"boolean",t),symbol:t=>Se(Y.symbol(t),"symbol",t),numericString:t=>Se(Y.numericString(t),"string with a number",t),array:(t,e)=>{Se(Y.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Se(Y.buffer(t),"Buffer",t),nullOrUndefined:t=>Se(Y.nullOrUndefined(t),"null or undefined",t),object:t=>Se(Y.object(t),"Object",t),iterable:t=>Se(Y.iterable(t),"Iterable",t),asyncIterable:t=>Se(Y.asyncIterable(t),"AsyncIterable",t),generator:t=>Se(Y.generator(t),"Generator",t),asyncGenerator:t=>Se(Y.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Se(Y.nativePromise(t),"native Promise",t),promise:t=>Se(Y.promise(t),"Promise",t),generatorFunction:t=>Se(Y.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Se(Y.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Se(Y.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Se(Y.boundFunction(t),"Function",t),regExp:t=>Se(Y.regExp(t),"RegExp",t),date:t=>Se(Y.date(t),"Date",t),error:t=>Se(Y.error(t),"Error",t),map:t=>Se(Y.map(t),"Map",t),set:t=>Se(Y.set(t),"Set",t),weakMap:t=>Se(Y.weakMap(t),"WeakMap",t),weakSet:t=>Se(Y.weakSet(t),"WeakSet",t),int8Array:t=>Se(Y.int8Array(t),"Int8Array",t),uint8Array:t=>Se(Y.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Se(Y.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Se(Y.int16Array(t),"Int16Array",t),uint16Array:t=>Se(Y.uint16Array(t),"Uint16Array",t),int32Array:t=>Se(Y.int32Array(t),"Int32Array",t),uint32Array:t=>Se(Y.uint32Array(t),"Uint32Array",t),float32Array:t=>Se(Y.float32Array(t),"Float32Array",t),float64Array:t=>Se(Y.float64Array(t),"Float64Array",t),bigInt64Array:t=>Se(Y.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Se(Y.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Se(Y.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Se(Y.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Se(Y.dataView(t),"DataView",t),urlInstance:t=>Se(Y.urlInstance(t),"URL",t),urlString:t=>Se(Y.urlString(t),"string with a URL",t),truthy:t=>Se(Y.truthy(t),"truthy",t),falsy:t=>Se(Y.falsy(t),"falsy",t),nan:t=>Se(Y.nan(t),"NaN",t),primitive:t=>Se(Y.primitive(t),"primitive",t),integer:t=>Se(Y.integer(t),"integer",t),safeInteger:t=>Se(Y.safeInteger(t),"integer",t),plainObject:t=>Se(Y.plainObject(t),"plain object",t),typedArray:t=>Se(Y.typedArray(t),"TypedArray",t),arrayLike:t=>Se(Y.arrayLike(t),"array-like",t),domElement:t=>Se(Y.domElement(t),"HTMLElement",t),observable:t=>Se(Y.observable(t),"Observable",t),nodeStream:t=>Se(Y.nodeStream(t),"Node.js Stream",t),infinite:t=>Se(Y.infinite(t),"infinite number",t),emptyArray:t=>Se(Y.emptyArray(t),"empty array",t),nonEmptyArray:t=>Se(Y.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Se(Y.emptyString(t),"empty string",t),nonEmptyString:t=>Se(Y.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Se(Y.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Se(Y.emptyObject(t),"empty object",t),nonEmptyObject:t=>Se(Y.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Se(Y.emptySet(t),"empty set",t),nonEmptySet:t=>Se(Y.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Se(Y.emptyMap(t),"empty map",t),nonEmptyMap:t=>Se(Y.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Se(Y.evenInteger(t),"even integer",t),oddInteger:t=>Se(Y.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Se(Y.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Se(Y.inRange(t,e),"in range",t),any:(t,...e)=>Se(Y.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Se(Y.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(Y,{class:{value:Y.class_},function:{value:Y.function_},null:{value:Y.null_}});Object.defineProperties(vs.assert,{class:{value:vs.assert.class_},function:{value:vs.assert.function_},null:{value:vs.assert.null_}});vs.default=Y;em.exports=Y;em.exports.default=Y;em.exports.assert=vs.assert});var wU=C((Q5e,l0)=>{"use strict";var c0=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},qg=class{static fn(e){return(...r)=>new qg((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new c0(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(qg.prototype,Promise.prototype);l0.exports=qg;l0.exports.CancelError=c0});var QU=C((u0,g0)=>{"use strict";Object.defineProperty(u0,"__esModule",{value:!0});var bfe=require("tls"),h0=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof bfe.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};u0.default=h0;g0.exports=h0;g0.exports.default=h0});var bU=C((f0,p0)=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});var Dfe=QU(),Sfe=Number(process.versions.node.split(".")[0]),d0=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Sfe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Dfe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};f0.default=d0;p0.exports=d0;p0.exports.default=d0});var FU=C((b5e,C0)=>{"use strict";var{V4MAPPED:Pfe,ADDRCONFIG:xfe,ALL:DU,promises:{Resolver:SU},lookup:kfe}=require("dns"),{promisify:m0}=require("util"),vfe=require("os"),Tl=Symbol("cacheableLookupCreateConnection"),I0=Symbol("cacheableLookupInstance"),PU=Symbol("expires"),Ffe=typeof DU=="number",xU=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Rfe=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},kU=()=>{let t=!1,e=!1;for(let r of Object.values(vfe.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Lfe=t=>Symbol.iterator in t,vU={ttl:!0},Mfe={all:!0},E0=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new SU,lookup:o=kfe}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=m0(o),this._resolver instanceof SU?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=m0(this._resolver.resolve4.bind(this._resolver)),this._resolve6=m0(this._resolver.resolve6.bind(this._resolver))),this._iface=kU(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Pfe&&(Ffe&&r.hints&DU||n.length===0)?Rfe(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&xfe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>({...i})),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,vU),this._resolve6(e,vU)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[PU]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Lfe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Mfe);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[PU];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Tl](r,i))}uninstall(e){if(xU(e),e[Tl]){if(e[I0]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Tl],delete e[Tl],delete e[I0]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=kU(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};C0.exports=E0;C0.exports.default=E0});var MU=C((D5e,y0)=>{"use strict";var Nfe=typeof URL=="undefined"?require("url").URL:URL,Ofe="text/plain",Tfe="us-ascii",RU=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Kfe=(t,{stripHash:e})=>{let r=t.match(/^data:(.*?),(.*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,h=""]=u.split("=").map(f=>f.trim());return g==="charset"&&(h=h.toLowerCase(),h===Tfe)?"":`${g}${h?`=${h}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Ofe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},LU=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Kfe(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Nfe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];RU(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])RU(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};y0.exports=LU;y0.exports.default=LU});var TU=C((S5e,NU)=>{NU.exports=OU;function OU(t,e){if(t&&e)return OU(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var KU=TU();B0.exports=KU(tm);B0.exports.strict=KU(UU);tm.proto=tm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return tm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return UU(this)},configurable:!0})});function tm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function UU(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Q0=C((x5e,HU)=>{var Ufe=w0(),Hfe=function(){},Yfe=function(t){return t.setHeader&&typeof t.abort=="function"},jfe=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},YU=function(t,e,r){if(typeof e=="function")return YU(t,null,e);e||(e={}),r=Ufe(r||Hfe);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},h=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},f=function(){t.req.on("finish",l)};return Yfe(t)?(t.on("complete",l),t.on("abort",h),t.req?f():t.on("request",f)):o&&!i&&(t.on("end",a),t.on("close",a)),jfe(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",h),function(){t.removeListener("complete",l),t.removeListener("abort",h),t.removeListener("request",f),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",h)}};HU.exports=YU});var qU=C((k5e,jU)=>{var Gfe=w0(),qfe=Q0(),b0=require("fs"),Jg=function(){},Jfe=/^v?\.0/.test(process.version),rm=function(t){return typeof t=="function"},Wfe=function(t){return!Jfe||!b0?!1:(t instanceof(b0.ReadStream||Jg)||t instanceof(b0.WriteStream||Jg))&&rm(t.close)},zfe=function(t){return t.setHeader&&rm(t.abort)},Xfe=function(t,e,r,i){i=Gfe(i);var n=!1;t.on("close",function(){n=!0}),qfe(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Wfe(t))return t.close(Jg);if(zfe(t))return t.abort();if(rm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},GU=function(t){t()},Vfe=function(t,e){return t.pipe(e)},Zfe=function(){var t=Array.prototype.slice.call(arguments),e=rm(t[t.length-1]||Jg)&&t.pop()||Jg;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Xfe(n,o,a,function(l){r||(r=l),l&&i.forEach(GU),!o&&(i.forEach(GU),e(r))})});return t.reduce(Vfe)};jU.exports=Zfe});var WU=C((v5e,JU)=>{"use strict";var{PassThrough:_fe}=require("stream");JU.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new _fe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var zU=C((F5e,Kl)=>{"use strict";var $fe=qU(),epe=WU(),D0=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function im(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:Infinity,...e};let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=$fe(t,epe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new D0)})}),i.getBufferedValue()}Kl.exports=im;Kl.exports.default=im;Kl.exports.buffer=(t,e)=>im(t,{...e,encoding:"buffer"});Kl.exports.array=(t,e)=>im(t,{...e,array:!0});Kl.exports.MaxBufferError=D0});var VU=C((L5e,XU)=>{"use strict";var tpe=[200,203,204,206,300,301,404,405,410,414,501],rpe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],ipe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},npe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function S0(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function spe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}XU.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=S0(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=S0(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":spe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&rpe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||tpe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=S0(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)ipe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!npe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var nm=C((M5e,ZU)=>{"use strict";ZU.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var e2=C((N5e,_U)=>{"use strict";var ope=require("stream").Readable,ape=nm(),$U=class extends ope{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=ape(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};_U.exports=$U});var r2=C((O5e,t2)=>{"use strict";var Ape=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];t2.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Ape));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var n2=C((T5e,i2)=>{"use strict";var lpe=require("stream").PassThrough,cpe=r2(),upe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new lpe;return cpe(t,e),t.pipe(e)};i2.exports=upe});var s2=C(P0=>{P0.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};P0.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var l2=C((U5e,o2)=>{"use strict";var gpe=require("events"),a2=s2(),hpe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},A2=class extends gpe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:a2.stringify,deserialize:a2.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=hpe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};o2.exports=A2});var g2=C((H5e,c2)=>{"use strict";var fpe=require("events"),sm=require("url"),ppe=MU(),dpe=zU(),x0=VU(),u2=e2(),Cpe=nm(),mpe=n2(),Ipe=l2(),zn=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Ipe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=k0(sm.parse(r)),r={};else if(r instanceof sm.URL)n=k0(sm.parse(r.toString())),r={};else{let[g,...h]=(r.path||"").split("?"),f=h.length>0?`?${h.join("?")}`:"";n=k0({...r,pathname:g,search:f})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...Epe(n)},r.headers=Cpe(r.headers);let s=new fpe,o=ppe(sm.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let h=!1,f,p=new Promise(I=>{f=()=>{h||(h=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let B=x0.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!B.modified){let P=B.policy.responseHeaders();I=new u2(l.statusCode,P,l.body,l.url),I.cachePolicy=B.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new x0(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=mpe(I),(async()=>{try{let B=dpe.buffer(I);if(await Promise.race([p,new Promise(O=>I.once("end",O))]),h)return;let P=await B,k={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:P},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,k,N)}catch(B){s.emit("error",new zn.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new zn.CacheError(B))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",f),I.once("abort",f),s.emit("request",I)}catch(I){s.emit("error",new zn.RequestError(I))}};return(async()=>{let g=async f=>{await Promise.resolve();let p=f.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(f);let m=x0.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(f)&&!f.forceRefresh){let I=m.responseHeaders(),y=new u2(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,f.headers=m.revalidationHeaders(f),u(f)},h=f=>s.emit("error",new zn.CacheError(f));this.cache.once("error",h),s.on("response",()=>this.cache.removeListener("error",h));try{await g(r)}catch(f){r.automaticFailover&&!c&&u(r),s.emit("error",new zn.CacheError(f))}})(),s}}};function Epe(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function k0(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}zn.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};zn.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};c2.exports=zn});var f2=C((Y5e,h2)=>{"use strict";var ype=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];h2.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ype)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var d2=C((j5e,p2)=>{"use strict";var{Transform:Bpe,PassThrough:wpe}=require("stream"),v0=require("zlib"),Qpe=f2();p2.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof v0.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new Bpe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new wpe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?v0.createBrotliDecompress():v0.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),Qpe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var F0=C((G5e,C2)=>{"use strict";var m2=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};C2.exports=m2});var L0=C((q5e,I2)=>{"use strict";var bpe=require("events"),Dpe=require("tls"),Spe=require("http2"),Ppe=F0(),ei=Symbol("currentStreamsCount"),E2=Symbol("request"),rn=Symbol("cachedOriginSet"),Ul=Symbol("gracefullyClosing"),xpe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],kpe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},vpe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,R0=(t,e)=>{for(let r of t)r[rn].lengthe[rn].includes(i))&&r[ei]+e[ei]<=e.remoteSettings.maxConcurrentStreams&&y2(r)},Fpe=(t,e)=>{for(let r of t)e[rn].lengthr[rn].includes(i))&&e[ei]+r[ei]<=r.remoteSettings.maxConcurrentStreams&&y2(e)},B2=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Rs.kCurrentStreamsCount]{t[Ul]=!0,t[ei]===0&&t.close()},Rs=class extends bpe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Ppe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of xpe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=Rs.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,h=-1,f;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[Ul]||p.destroyed)continue;f||(g=m),I>h&&(f=p,h=I)}}if(f){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(f);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let h=Spe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...r});h[ei]=0,h[Ul]=!1;let f=()=>h[ei]{this.tlsSessionCache.set(u,I)}),h.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),h.setTimeout(this.timeout,()=>{h.destroy()}),h.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(h),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!f())){for(let I of h[rn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&f();)y.shift().resolve(h);let B=this.queue[o];if(B[I].listeners.length===0&&(delete B[I],Object.keys(B).length===0)){delete this.queue[o];break}if(!f())break}}};h.on("origin",()=>{h[rn]=h.originSet,!!f()&&(m(),R0(this.sessions[o],h))}),h.once("remoteSettings",()=>{if(h.ref(),h.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);h.destroy();return}h[rn]=h.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(kpe(y,h,vpe),0,h)}else I[o]=[h]}this._freeSessionsCount+=1,g=!0,this.emit("session",h),m(),l(),h[ei]===0&&this._freeSessionsCount>this.maxFreeSessions&&h.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),h.on("remoteSettings",()=>{m(),R0(this.sessions[o],h)})}),h[E2]=h.request,h.request=(I,y)=>{if(h[Ul])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=h[E2](I,y);return h.ref(),++h[ei],h[ei]===h.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=f(),--h[ei],!h.destroyed&&!h.closed&&(Fpe(this.sessions[o],h),f()&&!h.closed)){p||(this._freeSessionsCount++,p=!0);let P=h[ei]===0;P&&h.unref(),P&&(this._freeSessionsCount>this.maxFreeSessions||h[Ul])?h.close():(R0(this.sessions[o],h),m())}}),B}}catch(h){for(let f of i)f.reject(h);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Rs.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),Dpe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ei]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return B2({agent:this,isFree:!0})}get busySessions(){return B2({agent:this,isFree:!1})}};Rs.kCurrentStreamsCount=ei;Rs.kGracefullyClosing=Ul;I2.exports={Agent:Rs,globalAgent:new Rs}});var M0=C((J5e,w2)=>{"use strict";var{Readable:Rpe}=require("stream"),Q2=class extends Rpe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};w2.exports=Q2});var N0=C((W5e,b2)=>{"use strict";b2.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var S2=C((z5e,D2)=>{"use strict";D2.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var x2=C((X5e,P2)=>{"use strict";P2.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var v2=C((Z5e,k2)=>{"use strict";var Hl=(t,e,r)=>{k2.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};Hl(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Hl(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Hl(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Hl(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Hl(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Hl(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var U0=C((_5e,F2)=>{"use strict";var Lpe=require("http2"),{Writable:Mpe}=require("stream"),{Agent:R2,globalAgent:Npe}=L0(),Ope=M0(),Tpe=N0(),Kpe=S2(),Upe=x2(),{ERR_INVALID_ARG_TYPE:O0,ERR_INVALID_PROTOCOL:Hpe,ERR_HTTP_HEADERS_SENT:L2,ERR_INVALID_HTTP_TOKEN:Ype,ERR_HTTP_INVALID_HEADER_VALUE:jpe,ERR_INVALID_CHAR:Gpe}=v2(),{HTTP2_HEADER_STATUS:M2,HTTP2_HEADER_METHOD:N2,HTTP2_HEADER_PATH:O2,HTTP2_METHOD_CONNECT:qpe}=Lpe.constants,Tr=Symbol("headers"),T0=Symbol("origin"),K0=Symbol("session"),T2=Symbol("options"),om=Symbol("flushedHeaders"),Wg=Symbol("jobs"),Jpe=/^[\^`\-\w!#$%&*+.|~]+$/,Wpe=/[^\t\u0020-\u007E\u0080-\u00FF]/,K2=class extends Mpe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Tpe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:{...e}):r={...e,...r},r.h2session)this[K0]=r.h2session;else if(r.agent===!1)this.agent=new R2({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new R2({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Npe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new O0("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Hpe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Tr]=Object.create(null),this[Wg]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Tr])&&(this[Tr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[T2]=r,s===443?(this[T0]=`https://${o}`,":authority"in this[Tr]||(this[Tr][":authority"]=o)):(this[T0]=`https://${o}:${s}`,":authority"in this[Tr]||(this[Tr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[om]=!1}get method(){return this[Tr][N2]}set method(e){e&&(this[Tr][N2]=e.toUpperCase())}get path(){return this[Tr][O2]}set path(e){e&&(this[Tr][O2]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Wg].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Wg].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[om]||this.destroyed)return;this[om]=!0;let e=this.method===qpe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||Kpe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new Ope(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[M2],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[M2]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Wg])o();this.emit("socket",this.socket)};if(this[K0])try{r(this[K0].request(this[Tr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[T0],this[T2],this[Tr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new O0("name","string",e);return this[Tr][e.toLowerCase()]}get headersSent(){return this[om]}removeHeader(e){if(typeof e!="string")throw new O0("name","string",e);if(this.headersSent)throw new L2("remove");delete this[Tr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new L2("set");if(typeof e!="string"||!Jpe.test(e)&&!Upe(e))throw new Ype("Header name",e);if(typeof r=="undefined")throw new jpe(r,e);if(Wpe.test(r))throw new Gpe("header content",e);this[Tr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Wg].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};F2.exports=K2});var H2=C(($5e,U2)=>{"use strict";var zpe=require("tls");U2.exports=(t={})=>new Promise((e,r)=>{let i=zpe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var j2=C((e9e,Y2)=>{"use strict";var Xpe=require("net");Y2.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Xpe.isIP(e)?"":e}});var J2=C((t9e,H0)=>{"use strict";var G2=require("http"),Y0=require("https"),Vpe=H2(),Zpe=F0(),_pe=U0(),$pe=j2(),ede=N0(),am=new Zpe({maxSize:100}),zg=new Map,q2=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},tde=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!am.has(e)){if(zg.has(e))return(await zg.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=Vpe(t);zg.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(am.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Y0,l=Y0.Agent.prototype.createConnection;i?i.createConnection===l?q2(i,s,t):s.destroy():a.createConnection===l?q2(a,s,t):s.destroy()}return zg.delete(e),o}catch(s){throw zg.delete(e),s}}return am.get(e)};H0.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=ede(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||$pe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Y0.globalAgent:G2.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await tde(e)==="h2"?(n&&(e.agent=n.http2),new _pe(e,r)):G2.request(e,r)};H0.exports.protocolCache=am});var z2=C((r9e,W2)=>{"use strict";var rde=require("http2"),ide=L0(),j0=U0(),nde=M0(),sde=J2(),ode=(t,e,r)=>new j0(t,e,r),ade=(t,e,r)=>{let i=new j0(t,e,r);return i.end(),i};W2.exports={...rde,ClientRequest:j0,IncomingMessage:nde,...ide,request:ode,get:ade,auto:sde}});var q0=C(G0=>{"use strict";Object.defineProperty(G0,"__esModule",{value:!0});var X2=Fs();G0.default=t=>X2.default.nodeStream(t)&&X2.default.function_(t.getBoundary)});var $2=C(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});var V2=require("fs"),Z2=require("util"),_2=Fs(),Ade=q0(),lde=Z2.promisify(V2.stat);J0.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(_2.default.string(t))return Buffer.byteLength(t);if(_2.default.buffer(t))return t.length;if(Ade.default(t))return Z2.promisify(t.getLength.bind(t))();if(t instanceof V2.ReadStream){let{size:r}=await lde(t.path);return r}}});var z0=C(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});function cde(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}W0.default=cde});var eH=C(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});X0.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var rH=C(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.TimeoutError=void 0;var ude=require("net"),gde=eH(),tH=Symbol("reentry"),hde=()=>{},V0=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Xg.TimeoutError=V0;Xg.default=(t,e,r)=>{if(tH in t)return hde;t[tH]=!0;let i=[],{once:n,unhandleAll:s}=gde.default(),o=(g,h,f)=>{var p;let m=setTimeout(h,g,g,f);(p=m.unref)===null||p===void 0||p.call(m);let I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,h)=>{t.destroy(new V0(g,h))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var h;let{socketPath:f}=t;if(g.connecting){let p=Boolean(f!=null?f:ude.isIP((h=l!=null?l:a)!==null&&h!==void 0?h:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",I=>{I===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var nH=C(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});var iH=Fs();Z0.default=t=>{t=t;let e={protocol:t.protocol,hostname:iH.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return iH.default.string(t.port)&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var sH=C(_0=>{"use strict";Object.defineProperty(_0,"__esModule",{value:!0});var fde=require("url"),pde=["protocol","host","hostname","port","pathname","search"];_0.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new fde.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of pde)e[s]&&(n[s]=e[s].toString());return n}});var aH=C($0=>{"use strict";Object.defineProperty($0,"__esModule",{value:!0});var oH=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};$0.default=oH});var tb=C(eb=>{"use strict";Object.defineProperty(eb,"__esModule",{value:!0});var dde=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};eb.default=dde});var lH=C(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.dnsLookupIpVersionToFamily=za.isDnsLookupIpVersion=void 0;var AH={auto:0,ipv4:4,ipv6:6};za.isDnsLookupIpVersion=t=>t in AH;za.dnsLookupIpVersionToFamily=t=>{if(za.isDnsLookupIpVersion(t))return AH[t];throw new Error("Invalid DNS lookup IP version")}});var rb=C(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.isResponseOk=void 0;Am.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var uH=C(ib=>{"use strict";Object.defineProperty(ib,"__esModule",{value:!0});var cH=new Set;ib.default=t=>{cH.has(t)||(cH.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var gH=C(nb=>{"use strict";Object.defineProperty(nb,"__esModule",{value:!0});var Lt=Fs(),Cde=(t,e)=>{if(Lt.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Lt.assert.any([Lt.default.string,Lt.default.undefined],t.encoding),Lt.assert.any([Lt.default.boolean,Lt.default.undefined],t.resolveBodyOnly),Lt.assert.any([Lt.default.boolean,Lt.default.undefined],t.methodRewriting),Lt.assert.any([Lt.default.boolean,Lt.default.undefined],t.isStream),Lt.assert.any([Lt.default.string,Lt.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Lt.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Lt.default.number(r)&&(t.retry.limit=r),Lt.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Lt.default.number))),Lt.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:i}=t;if(!Lt.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Lt.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Lt.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Lt.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};nb.default=Cde});var hH=C(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:!0});Vg.retryAfterStatusCodes=void 0;Vg.retryAfterStatusCodes=new Set([413,429,503]);var mde=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Vg.default=mde});var _g=C(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.UnsupportedProtocolError=pt.ReadError=pt.TimeoutError=pt.UploadError=pt.CacheError=pt.HTTPError=pt.MaxRedirectsError=pt.RequestError=pt.setNonEnumerableProperties=pt.knownHookEvents=pt.withoutBody=pt.kIsNormalizedAlready=void 0;var fH=require("util"),pH=require("stream"),Ide=require("fs"),xo=require("url"),dH=require("http"),sb=require("http"),Ede=require("https"),yde=bU(),Bde=FU(),CH=g2(),wde=d2(),Qde=z2(),bde=nm(),te=Fs(),Dde=$2(),mH=q0(),Sde=z0(),IH=rH(),Pde=nH(),EH=sH(),xde=aH(),kde=tb(),yH=lH(),vde=rb(),ko=uH(),Fde=gH(),Rde=hH(),Lde=new Bde.default,Br=Symbol("request"),lm=Symbol("response"),Yl=Symbol("responseSize"),jl=Symbol("downloadedSize"),Gl=Symbol("bodySize"),ql=Symbol("uploadedSize"),cm=Symbol("serverResponsesPiped"),BH=Symbol("unproxyEvents"),wH=Symbol("isFromCache"),ob=Symbol("cancelTimeouts"),QH=Symbol("startedReading"),Jl=Symbol("stopReading"),um=Symbol("triggerRead"),vo=Symbol("body"),Zg=Symbol("jobs"),bH=Symbol("originalResponse"),DH=Symbol("retryTimeout");pt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Mde=te.default.string(process.versions.brotli);pt.withoutBody=new Set(["GET","HEAD"]);pt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Nde(t){for(let e in t){let r=t[e];if(!te.default.string(r)&&!te.default.number(r)&&!te.default.boolean(r)&&!te.default.null_(r)&&!te.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Ode(t){return te.default.object(t)&&!("statusCode"in t)}var ab=new xde.default,Tde=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),Kde=new Set([300,301,302,303,304,307,308]),Ude=["context","body","json","form"];pt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Ude)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var pr=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof Ab?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[lm]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,!te.default.undefined(r.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` -`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` -`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` -`)}${a.reverse().join(` -`)}`}}};pt.RequestError=pr;var lb=class extends pr{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};pt.MaxRedirectsError=lb;var cb=class extends pr{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};pt.HTTPError=cb;var ub=class extends pr{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};pt.CacheError=ub;var gb=class extends pr{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};pt.UploadError=gb;var hb=class extends pr{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};pt.TimeoutError=hb;var gm=class extends pr{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};pt.ReadError=gm;var fb=class extends pr{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};pt.UnsupportedProtocolError=fb;var Hde=["socket","connect","continue","information","upgrade","timeout"],Ab=class extends pH.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[jl]=0,this[ql]=0,this.requestInitialized=!1,this[cm]=new Set,this.redirects=[],this[Jl]=!1,this[um]=!1,this[Zg]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof sb.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),pt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){te.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof Ide.ReadStream&&await Tde(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Br])===null||c===void 0||c.destroy();return}for(let g of this[Zg])g();this[Zg].length=0,this.requestInitialized=!0}catch(u){if(u instanceof pr){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(te.default.object(e)&&!te.default.urlInstance(e))r={...i,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...i,...r},e!==void 0&&(r.url=e),te.default.urlInstance(r.url)&&(r.url=new xo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),te.assert.any([te.default.string,te.default.undefined],r.method),te.assert.any([te.default.object,te.default.undefined],r.headers),te.assert.any([te.default.string,te.default.urlInstance,te.default.undefined],r.prefixUrl),te.assert.any([te.default.object,te.default.undefined],r.cookieJar),te.assert.any([te.default.object,te.default.string,te.default.undefined],r.searchParams),te.assert.any([te.default.object,te.default.string,te.default.undefined],r.cache),te.assert.any([te.default.object,te.default.number,te.default.undefined],r.timeout),te.assert.any([te.default.object,te.default.undefined],r.context),te.assert.any([te.default.object,te.default.undefined],r.hooks),te.assert.any([te.default.boolean,te.default.undefined],r.decompress),te.assert.any([te.default.boolean,te.default.undefined],r.ignoreInvalidCookies),te.assert.any([te.default.boolean,te.default.undefined],r.followRedirect),te.assert.any([te.default.number,te.default.undefined],r.maxRedirects),te.assert.any([te.default.boolean,te.default.undefined],r.throwHttpErrors),te.assert.any([te.default.boolean,te.default.undefined],r.http2),te.assert.any([te.default.boolean,te.default.undefined],r.allowGetBody),te.assert.any([te.default.string,te.default.undefined],r.localAddress),te.assert.any([yH.isDnsLookupIpVersion,te.default.undefined],r.dnsLookupIpVersion),te.assert.any([te.default.object,te.default.undefined],r.https),te.assert.any([te.default.boolean,te.default.undefined],r.rejectUnauthorized),r.https&&(te.assert.any([te.default.boolean,te.default.undefined],r.https.rejectUnauthorized),te.assert.any([te.default.function_,te.default.undefined],r.https.checkServerIdentity),te.assert.any([te.default.string,te.default.object,te.default.array,te.default.undefined],r.https.certificateAuthority),te.assert.any([te.default.string,te.default.object,te.default.array,te.default.undefined],r.https.key),te.assert.any([te.default.string,te.default.object,te.default.array,te.default.undefined],r.https.certificate),te.assert.any([te.default.string,te.default.undefined],r.https.passphrase),te.assert.any([te.default.string,te.default.buffer,te.default.array,te.default.undefined],r.https.pfx)),te.assert.any([te.default.object,te.default.undefined],r.cacheOptions),te.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers={...r.headers}:r.headers=bde({...i==null?void 0:i.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let f;if(te.default.string(r.searchParams)||r.searchParams instanceof xo.URLSearchParams)f=new xo.URLSearchParams(r.searchParams);else{Nde(r.searchParams),f=new xo.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?f.append(p,""):m!==void 0&&f.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{f.has(m)||f.append(m,p)}),r.searchParams=f}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",te.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),te.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=EH.default(r.prefixUrl+r.url,r)}else(te.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=EH.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:f}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${f} to ${m}: ${I.href}`);r.url=new xo.URL(m+I.href.slice(f.length)),f=m},get:()=>f});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new xo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new fb(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:f,getCookieString:p}=u;te.assert.function_(f),te.assert.function_(p),f.length===4&&p.length===0&&(f=fH.promisify(f.bind(r.cookieJar)),p=fH.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:f,getCookieString:p})}let{cache:g}=r;if(g&&(ab.has(g)||ab.set(g,new CH((f,p)=>{let m=f[Br](f,p);return te.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)r.dnsCache=Lde;else if(!te.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${te.default(r.dnsCache)}`);te.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout={...i.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let h=r.hooks===(i==null?void 0:i.hooks);r.hooks={...r.hooks};for(let f of pt.knownHookEvents)if(f in r.hooks)if(te.default.array(r.hooks[f]))r.hooks[f]=[...r.hooks[f]];else throw new TypeError(`Parameter \`${f}\` must be an Array, got ${te.default(r.hooks[f])}`);else r.hooks[f]=[];if(i&&!h)for(let f of pt.knownHookEvents)i.hooks[f].length!==0&&(r.hooks[f]=[...i.hooks[f],...r.hooks[f]]);if("family"in r&&ko.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https={...i.https,...r.https}),"rejectUnauthorized"in r&&ko.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ko.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ko.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ko.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ko.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ko.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ko.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let f in r.agent)if(f!=="http"&&f!=="https"&&f!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${f}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,pt.setNonEnumerableProperties([i,c],r),Fde.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!te.default.undefined(e.form),n=!te.default.undefined(e.json),s=!te.default.undefined(e.body),o=i||n||s,a=pt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof pH.Readable)&&!te.default.string(e.body)&&!te.default.buffer(e.body)&&!mH.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!te.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!te.default.string(r["content-type"]);s?(mH.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[vo]=new xo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[vo]=e.stringifyJson(e.json));let c=await Dde.default(this[vo],e.headers);te.default.undefined(r["content-length"])&&te.default.undefined(r["transfer-encoding"])&&!a&&!te.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[Gl]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[bH]=e,r.decompress&&(e=wde(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:dH.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[wH]=s.isFromCache,this[Yl]=Number(e.headers["content-length"])||void 0,this[lm]=e,e.once("end",()=>{this[Yl]=this[jl],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new gm(a,this))}),e.once("aborted",()=>{this._beforeError(new gm({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(te.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&Kde.has(n)){if(e.resume(),this[Br]&&(this[ob](),delete this[Br],this[BH]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new lb(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new xo.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!vde.isResponseOk(s)){this._beforeError(new cb(s));return}e.on("readable",()=>{this[um]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[cm])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;yde.default(e),this[ob]=IH.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l instanceof IH.TimeoutError?l=new hb(l,this.timings,this):l=new pr(l.message,l,this),this._beforeError(l)}),this[BH]=Sde.default(e,this,Hde),this[Br]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[vo],a=this.redirects.length===0?this:e;te.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new gb(l,this))})):(this._unlockWrite(),te.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,Pde.default(e)),delete r.url;let s,o=ab.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let y in a)if(te.default.undefined(a[y]))delete a[y];else if(te.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&te.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Mde?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());te.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let B=await y(o);if(!te.default.undefined(B)){o.request=()=>B;break}}o.body&&this[vo]!==o.body&&(this[vo]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:B,path:P}=y.groups;Object.assign(o,{socketPath:B,path:P,host:""})}}let h=g.protocol==="https:",f;o.http2?f=Qde.auto:f=h?Ede.request:dH.request;let p=(e=o.request)!==null&&e!==void 0?e:f,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[h?"https":"http"]),o[Br]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=yH.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);te.default.undefined(y)&&(y=f(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Ode(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof CH.CacheError?new ub(y,this):new pr(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new pr(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[Jl])return;let{options:r}=this,i=this.retryCount+1;this[Jl]=!0,e instanceof pr||(e=new pr(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await kde.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:Rde.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new pr(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new pr(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[DH]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[um]=!0;let e=this[lm];if(e&&!this[Jl]){e.readableLength&&(this[um]=!1);let r;for(;(r=e.read())!==null;){this[jl]+=r.length,this[QH]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Zg].push(n)}_writeRequest(e,r,i){this[Br].destroyed||(this._progressCallbacks.push(()=>{this[ql]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Br].write(e,r,n=>{!n&&this._progressCallbacks.length!==0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Br in this)){e();return}if(this[Br].destroyed){e();return}this[Br].end(i=>{i||(this[Gl]=this[ql],this.emit("uploadProgress",this.uploadProgress),this[Br].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Zg].push(r)}_destroy(e,r){var i;this[Jl]=!0,clearTimeout(this[DH]),Br in this&&(this[ob](),((i=this[lm])===null||i===void 0?void 0:i.complete)||this[Br].destroy()),e!==null&&!te.default.undefined(e)&&!(e instanceof pr)&&(e=new pr(e.message,e,this)),r(e)}get _isAboutToError(){return this[Jl]}get ip(){var e;return(e=this[Br])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Br])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[bH])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[Br])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[Yl]?e=this[jl]/this[Yl]:this[Yl]===this[jl]?e=1:e=0,{percent:e,transferred:this[jl],total:this[Yl]}}get uploadProgress(){let e;return this[Gl]?e=this[ql]/this[Gl]:this[Gl]===this[ql]?e=1:e=0,{percent:e,transferred:this[ql],total:this[Gl]}}get timings(){var e;return(e=this[Br])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[wH]}pipe(e,r){if(this[QH])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof sb.ServerResponse&&this[cm].add(e),super.pipe(e,r)}unpipe(e){return e instanceof sb.ServerResponse&&this[cm].delete(e),super.unpipe(e),this}};pt.default=Ab});var $g=C(Sn=>{"use strict";var Yde=Sn&&Sn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),jde=Sn&&Sn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yde(e,t,r)};Object.defineProperty(Sn,"__esModule",{value:!0});Sn.CancelError=Sn.ParseError=void 0;var SH=_g(),PH=class extends SH.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Sn.ParseError=PH;var xH=class extends SH.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Sn.CancelError=xH;jde(_g(),Sn)});var vH=C(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});var kH=$g(),Gde=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new kH.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new kH.ParseError(s,t)}};pb.default=Gde});var db=C(Fo=>{"use strict";var qde=Fo&&Fo.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Jde=Fo&&Fo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&qde(e,t,r)};Object.defineProperty(Fo,"__esModule",{value:!0});var Wde=require("events"),zde=Fs(),Xde=wU(),hm=$g(),FH=vH(),RH=_g(),Vde=z0(),Zde=tb(),LH=rb(),_de=["request","response","redirect","uploadProgress","downloadProgress"];function MH(t){let e,r,i=new Wde.EventEmitter,n=new Xde((o,a,l)=>{let c=u=>{let g=new RH.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new hm.CancelError(g))),e=g,g.once("response",async f=>{var p;if(f.retryCount=u,f.request.aborted)return;let m;try{m=await Zde.default(g),f.rawBody=m}catch(P){return}if(g._isAboutToError)return;let I=((p=f.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:B}=g;if(y&&!B.decompress)f.body=m;else try{f.body=FH.default(f,B.responseType,B.parseJson,B.encoding)}catch(P){if(f.body=m.toString(),LH.isResponseOk(f)){g._beforeError(P);return}}try{for(let[P,k]of B.hooks.afterResponse.entries())f=await k(f,async N=>{let O=RH.default.normalizeArguments(void 0,{...N,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},B);O.hooks.afterResponse=O.hooks.afterResponse.slice(0,P);for(let U of O.hooks.beforeRetry)await U(O);let v=MH(O);return l(()=>{v.catch(()=>{}),v.cancel()}),v})}catch(P){g._beforeError(new hm.RequestError(P.message,P,g));return}if(!LH.isResponseOk(f)){g._beforeError(new hm.HTTPError(f));return}r=f,o(g.options.resolveBodyOnly?f.body:f)});let h=f=>{if(n.isCanceled)return;let{options:p}=g;if(f instanceof hm.HTTPError&&!p.throwHttpErrors){let{response:m}=f;o(g.options.resolveBodyOnly?m.body:m);return}a(f)};g.once("error",h),g.once("retry",(f,p)=>{var m;if(zde.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){h(p);return}c(f)}),Vde.default(g,i,_de)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return FH.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}Fo.default=MH;Jde($g(),Fo)});var NH=C(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var $de=$g();function eCe(t,...e){let r=(async()=>{if(t instanceof $de.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}Cb.default=eCe});var KH=C(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});var OH=Fs();function TH(t){for(let e of Object.values(t))(OH.default.plainObject(e)||OH.default.array(e))&&TH(e);return Object.freeze(t)}mb.default=TH});var HH=C(UH=>{"use strict";Object.defineProperty(UH,"__esModule",{value:!0})});var Ib=C(nn=>{"use strict";var tCe=nn&&nn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),rCe=nn&&nn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&tCe(e,t,r)};Object.defineProperty(nn,"__esModule",{value:!0});nn.defaultHandler=void 0;var YH=Fs(),sn=db(),iCe=NH(),fm=_g(),nCe=KH(),sCe={RequestError:sn.RequestError,CacheError:sn.CacheError,ReadError:sn.ReadError,HTTPError:sn.HTTPError,MaxRedirectsError:sn.MaxRedirectsError,TimeoutError:sn.TimeoutError,ParseError:sn.ParseError,CancelError:sn.CancelError,UnsupportedProtocolError:sn.UnsupportedProtocolError,UploadError:sn.UploadError},oCe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:pm}=fm.default,jH=(...t)=>{let e;for(let r of t)e=pm(void 0,r,e);return e},aCe=t=>t.isStream?new fm.default(void 0,t):sn.default(t),ACe=t=>"defaults"in t&&"options"in t.defaults,lCe=["get","post","put","patch","head","delete"];nn.defaultHandler=(t,e)=>e(t);var GH=(t,e)=>{if(t)for(let r of t)r(e)},qH=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n,s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?aCe:c);if(YH.default.plainObject(i)){let u={...i,...n};fm.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{GH(t.options.hooks.init,n),GH((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(h){u=h}let g=pm(i,n,s!=null?s:t.options);if(g[fm.kIsNormalizedAlready]=!0,u)throw new sn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return iCe.default(u,t.options.hooks.beforeError,(a=n==null?void 0:n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)ACe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==nn.defaultHandler),s.length===0&&s.push(nn.defaultHandler),qH({options:jH(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=pm(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!YH.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of lCe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,sCe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:nCe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=jH,e};nn.default=qH;rCe(HH(),nn)});var Cm=C((Ls,dm)=>{"use strict";var cCe=Ls&&Ls.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),JH=Ls&&Ls.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&cCe(e,t,r)};Object.defineProperty(Ls,"__esModule",{value:!0});var uCe=require("url"),WH=Ib(),gCe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new uCe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[WH.defaultHandler],mutableDefaults:!1},Eb=WH.default(gCe);Ls.default=Eb;dm.exports=Eb;dm.exports.default=Eb;dm.exports.__esModule=!0;JH(Ib(),Ls);JH(db(),Ls)});var ZH=C(Wl=>{"use strict";var b9e=require("net"),hCe=require("tls"),yb=require("http"),zH=require("https"),fCe=require("events"),D9e=require("assert"),pCe=require("util");Wl.httpOverHttp=dCe;Wl.httpsOverHttp=CCe;Wl.httpOverHttps=mCe;Wl.httpsOverHttps=ICe;function dCe(t){var e=new Ms(t);return e.request=yb.request,e}function CCe(t){var e=new Ms(t);return e.request=yb.request,e.createSocket=XH,e.defaultPort=443,e}function mCe(t){var e=new Ms(t);return e.request=zH.request,e}function ICe(t){var e=new Ms(t);return e.request=zH.request,e.createSocket=XH,e.defaultPort=443,e}function Ms(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||yb.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=VH(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ms.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=Bb({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Ro("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,h,f){process.nextTick(function(){c(g,h,f)})}function c(g,h,f){if(o.removeAllListeners(),h.removeAllListeners(),g.statusCode!==200){Ro("tunneling socket could not be established, statusCode=%d",g.statusCode),h.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(f.length>0){Ro("got illegal response body from proxy"),h.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return Ro("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=h,r(h)}function u(g){o.removeAllListeners(),Ro(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var h=new Error("tunneling socket could not be established, cause="+g.message);h.code="ECONNRESET",e.request.emit("error",h),i.removeSocket(n)}};Ms.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function XH(t,e){var r=this;Ms.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=Bb({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=hCe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function VH(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function Bb(t){for(var e=1,r=arguments.length;e{_H.exports=ZH()});var OY=C((K6e,Pb)=>{var uY=Object.assign({},require("fs")),V=typeof V!="undefined"?V:{},th={},Mo;for(Mo in V)V.hasOwnProperty(Mo)&&(th[Mo]=V[Mo]);var xb=[],gY="./this.program",hY=function(t,e){throw e},fY=!1,Va=!0,rh="";function PCe(t){return V.locateFile?V.locateFile(t,rh):rh+t}var Em,kb,ym,vb;Va&&(fY?rh=require("path").dirname(rh)+"/":rh=__dirname+"/",Em=function(e,r){var i=dY(e);return i?r?i:i.toString():(ym||(ym=uY),vb||(vb=require("path")),e=vb.normalize(e),ym.readFileSync(e,r?null:"utf8"))},kb=function(e){var r=Em(e,!0);return r.buffer||(r=new Uint8Array(r)),pY(r.buffer),r},process.argv.length>1&&(gY=process.argv[1].replace(/\\/g,"/")),xb=process.argv.slice(2),typeof Pb!="undefined"&&(Pb.exports=V),hY=function(t){process.exit(t)},V.inspect=function(){return"[Emscripten Module object]"});var ih=V.print||console.log.bind(console),xr=V.printErr||console.warn.bind(console);for(Mo in th)th.hasOwnProperty(Mo)&&(V[Mo]=th[Mo]);th=null;V.arguments&&(xb=V.arguments);V.thisProgram&&(gY=V.thisProgram);V.quit&&(hY=V.quit);var xCe=0,kCe=function(t){xCe=t},Fb;V.wasmBinary&&(Fb=V.wasmBinary);var CY;V.noExitRuntime&&(CY=V.noExitRuntime);typeof WebAssembly!="object"&&xr("no native wasm support detected");function vCe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return mi[t>>0];case"i8":return mi[t>>0];case"i16":return Rb[t>>1];case"i32":return Ne[t>>2];case"i64":return Ne[t>>2];case"float":return mY[t>>2];case"double":return IY[t>>3];default:or("invalid type for getValue: "+e)}return null}var Za,FCe=new WebAssembly.Table({initial:31,maximum:31+0,element:"anyfunc"}),EY=!1,RCe=0;function pY(t,e){t||or("Assertion failed: "+e)}function yY(t){var e=V["_"+t];return pY(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function OCe(t,e,r,i,n){var s={string:function(f){var p=0;if(f!=null&&f!==0){var m=(f.length<<2)+1;p=wY(m),Lb(f,p,m)}return p},array:function(f){var p=wY(f.length);return LCe(f,p),p}};function o(f){return e==="string"?BY(f):e==="boolean"?Boolean(f):f}var a=yY(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&QY)return QY.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function BY(t,e){return t?zl(_a,t,e):""}function Bm(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function Lb(t,e,r){return Bm(t,_a,e,r)}function wm(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}var H9e=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function DY(t){var e=wm(t)+1,r=bY(e);return r&&Bm(t,mi,r,e),r}function LCe(t,e){mi.set(t,e)}var KCe=65536;function UCe(t,e){return t%e>0&&(t+=e-t%e),t}var nh,mi,_a,Rb,HCe,Ne,YCe,mY,IY;function SY(t){nh=t,V.HEAP8=mi=new Int8Array(t),V.HEAP16=Rb=new Int16Array(t),V.HEAP32=Ne=new Int32Array(t),V.HEAPU8=_a=new Uint8Array(t),V.HEAPU16=HCe=new Uint16Array(t),V.HEAPU32=YCe=new Uint32Array(t),V.HEAPF32=mY=new Float32Array(t),V.HEAPF64=IY=new Float64Array(t)}var jCe=5263680,GCe=20640,PY=V.TOTAL_MEMORY||16777216;V.wasmMemory?Za=V.wasmMemory:Za=new WebAssembly.Memory({initial:PY/KCe});Za&&(nh=Za.buffer);PY=nh.byteLength;SY(nh);Ne[GCe>>2]=jCe;function Qm(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?V.dynCall_v(r):V.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var xY=[],kY=[],qCe=[],vY=[],JCe=!1;function zCe(){if(V.preRun)for(typeof V.preRun=="function"&&(V.preRun=[V.preRun]);V.preRun.length;)WCe(V.preRun.shift());Qm(xY)}function XCe(){JCe=!0,!V.noFSInit&&!E.init.initialized&&E.init(),No.init(),Qm(kY)}function VCe(){E.ignorePermissions=!1,Qm(qCe)}function _Ce(){if(V.postRun)for(typeof V.postRun=="function"&&(V.postRun=[V.postRun]);V.postRun.length;)ZCe(V.postRun.shift());Qm(vY)}function WCe(t){xY.unshift(t)}function ZCe(t){vY.unshift(t)}var Mb=Math.abs,Nb=Math.ceil,Ob=Math.floor,Tb=Math.min,$a=0,Kb=null,sh=null;function $Ce(t){return t}function FY(t){$a++,V.monitorRunDependencies&&V.monitorRunDependencies($a)}function Ub(t){if($a--,V.monitorRunDependencies&&V.monitorRunDependencies($a),$a==0&&(Kb!==null&&(clearInterval(Kb),Kb=null),sh)){var e=sh;sh=null,e()}}V.preloadedImages={};V.preloadedAudios={};function or(t){throw V.onAbort&&V.onAbort(t),t+="",ih(t),xr(t),EY=!0,RCe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(t)}var Hb="data:application/octet-stream;base64,";function RY(t){return String.prototype.startsWith?t.startsWith(Hb):t.indexOf(Hb)===0}var oh="data:application/octet-stream;base64,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CwJAIAEoAgwoAixFDQAgASgCDC0AKEEBcQ0AIAEoAgwoAiwgASgCDBCEAwsgASgCDEEAQgBBBRAkGiABKAIMKAIABEAgASgCDCgCABAeCyABKAIMEBgLIAFBEGokAAuBAgEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMKAIcNgIEIAEoAgQQ6AIgASABKAIEKAIUNgIIIAEoAgggASgCDCgCEEsEQCABIAEoAgwoAhA2AggLAkAgASgCCEUNACABKAIMKAIMIAEoAgQoAhAgASgCCBAcGiABKAIMIgAgASgCCCAAKAIMajYCDCABKAIEIgAgASgCCCAAKAIQajYCECABKAIMIgAgASgCCCAAKAIUajYCFCABKAIMIgAgACgCECABKAIIazYCECABKAIEIgAgACgCFCABKAIIazYCFCABKAIEKAIUDQAgASgCBCABKAIEKAIINgIQCyABQRBqJAALYAEBfyMAQRBrIgEkACABIAA2AgggASABKAIIQgIQITYCBAJAIAEoAgRFBEAgAUEAOwEODAELIAEgASgCBC0AACABKAIELQABQQh0ajsBDgsgAS8BDiEAIAFBEGokACAAC1oBAX8jAEEgayICJAAgAiAANgIcIAIgATcDECACIAIoAhwgAikDEBDLATYCDCACKAIMBEAgAigCHCIAIAIpAxAgACkDEHw3AxALIAIoAgwhACACQSBqJAAgAAtvAQF/IwBBEGsiAiQAIAIgADYCCCACIAE7AQYgAiACKAIIQgIQITYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAi8BBjoAACACKAIAIAIvAQZBCHU6AAEgAkEANgIMCyACKAIMGiACQRBqJAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBCACIAIoAghCBBAhNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACKAIEOgAAIAIoAgAgAigCBEEIdjoAASACKAIAIAIoAgRBEHY6AAIgAigCACACKAIEQRh2OgADIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBcgBEJ/NwMoDAELAkAgBCgCJCgCAEUE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AykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQJCICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAguPAQEDfyAAIQECQAJAIABBA3FFDQAgAC0AAEUEQAwCCwNAIAFBAWoiAUEDcUUNASABLQAADQALDAELA0AgASICQQRqIQEgAigCACIDQX9zIANB//37d2pxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiEBDAELA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsLYQEBfyMAQRBrIgIgADYCCCACIAE3AwACQCACKQMAIAIoAggpAwhWBEAgAigCCEEAOgAAIAJBfzYCDAwBCyACKAIIQQE6AAAgAigCCCACKQMANwMQIAJBADYCDAsgAigCDAs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQITYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAILqAEBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCCgCIEEATQRAIAEoAghBDGpBEkEAEBcgAUF/NgIMDAELIAEoAggiACAAKAIgQX9qNgIgIAEoAggoAiBFBEAgASgCCEEAQgBBAhAkGiABKAIIKAIABEAgASgCCCgCABA0QQBIBEAgASgCCEEMakEUQQAQFwsLCyABQQA2AgwLIAEoAgwhACABQRBqJAAgAAvxAgICfwF+AkAgAkUNACAAIAJqIgNBf2ogAToAACAAIAE6AAAgAkEDSQ0AIANBfmogAToAACAAIAE6AAEgA0F9aiABOgAAIAAgAToAAiACQQdJDQAgA0F8aiABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUF8aiAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBeGogADYCACABQXRqIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQXBqIAA2AgAgAUFsaiAANgIAIAFBaGogADYCACABQWRqIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArSIFQiCGIAWEIQUgASADaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQWBqIgJBH0sNAAsLC9wBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCKARAIAEoAgwoAihBADYCKCABKAIMKAIoQgA3AyAgASgCDAJ+IAEoAgwpAxggASgCDCkDIFYEQCABKAIMKQMYDAELIAEoAgwpAyALNwMYCyABIAEoAgwpAxg3AwADQCABKQMAIAEoAgwpAwhaRQRAIAEoAgwoAgAgASkDAKdBBHRqKAIAEBggASABKQMAQgF8NwMADAELCyABKAIMKAIAEBggASgCDCgCBBAYIAEoAgwQGAsgAUEQaiQAC2sBAX8jAEEgayICIAA2AhwgAkIBIAIoAhythjcDECACQQxqIAE2AgADQCACIAIoAgwiAEEEajYCDCACIAAoAgA2AgggAigCCEEASEUEQCACIAIpAxBCASACKAIIrYaENwMQDAELCyACKQMQCy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQGCABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFyACQX82AgwMAQsgAigCBBA+IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAaIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAkQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAACzEB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AyACawuJAgEBfyMAQRBrIgEkACABIAA2AgwCQCABKAIMLQAFQQFxBEAgASgCDCgCAEECcUUNAQsgASgCDCgCMBApIAEoAgxBADYCMAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEIcUUNAQsgASgCDCgCNBAmIAEoAgxBADYCNAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEEcUUNAQsgASgCDCgCOBApIAEoAgxBADYCOAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEGAAXFFDQELIAEoAgwoAlQEQCABKAIMKAJUQQAgASgCDCgCVBAwEDULIAEoAgwoAlQQGCABKAIMQQA2AlQLIAFBEGokAAvxAQEBfyMAQRBrIgEgADYCDCABKAIMQQA2AgAgASgCDEEAOgAEIAEoAgxBADoABSABKAIMQQE6AAYgASgCDEG/BjsBCCABKAIMQQo7AQogASgCDEEAOwEMIAEoAgxBfzYCECABKAIMQQA2AhQgASgCDEEANgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvaEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQPTYClAEgAyADKAKkASgCOEEAED02ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEL4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQvgE2AkggAygCSEUEQCADKAKQARAmIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQgAFBAXE6AIYBIAMgAygCoAFBgApxQYAKRwR/IAMtAIYBBUEBC0EBcToAhwEgAwJ/QQEgAygCpAEvAVJBgQJGDQAaQQEgAygCpAEvAVJBggJGDQAaIAMoAqQBLwFSQYMCRgtBAXE6AIUBIAMtAIcBQQFxBEAgAyADQSBqQhwQLDYCHCADKAIcRQRAIAMoAqgBQQhqQQ5BABAXIAMoApABECYgA0F/NgKsAQwCCwJAIAMoAqABQYACcQRAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9YDQILIAMoAhwgAygCpAEpAygQLiADKAIcIAMoAqQBKQMgEC4MAQsCQAJAIAMoAqABQYAIcQ0AIAMoAqQBKQMgQv////8PVg0AIAMoAqQBKQMoQv////8PVg0AIAMoAqQBKQNIQv////8PWA0BCyADKAKkASkDKEL/////D1oEQCADKAIcIAMoAqQBKQMoEC4LIAMoAqQBKQMgQv////8PWgRAIAMoAhwgAygCpAEpAyAQLgsgAygCpAEpA0hC/////w9aBEAgAygCHCADKAKkASkDSBAuCwsLAn8jAEEQayIAIAMoAhw2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCHBAZIAMoApABECYgA0F/NgKsAQwCCyADQQECfyMAQRBrIgAgAygCHDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALp0H//wNxCyADQSBqQYAGEF42AowBIAMoAhwQGSADKAKMASADKAKQATYCACADIAMoAowBNgKQAQsgAy0AhQFBAXEEQCADIANBFWpCBxAsNgIQIAMoAhBFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAILIAMoAhBBAhAiIAMoAhBB79cAQQIQQiADKAIQIAMoAqQBLwFSQf8BcRCEASADKAIQIAMoAqQBKAIQQf//A3EQIgJ/IwBBEGsiACADKAIQNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAXIAMoAhAQGSADKAKQARAmIANBfzYCrAEMAgsgA0GBsgJBByADQRVqQYAGEF42AgwgAygCEBAZIAMoAgwgAygCkAE2AgAgAyADKAIMNgKQAQsgAyADQdAAakIuECwiADYCTCAARQRAIAMoAqgBQQhqQQ5BABAXIAMoApABECYgA0F/NgKsAQwBCyADKAJMQeXXAEHq1wAgAygCoAFBgAJxG0EEEEIgAygCoAFBgAJxRQRAIAMoAkwCf0EtIAMtAIYBQQFxDQAaIAMoAqQBLwEIC0H//wNxECILIAMoAkwCf0EtIAMtAIYBQQFxDQAaIAMoAqQBLwEKC0H//wNxECIgAygCTCADKAKkAS8BDBAiAkAgAy0AhQFBAXEEQCADKAJMQeMAECIMAQsgAygCTCADKAKkASgCEEH//wNxECILIAMoAqQBKAIUIANBngFqIANBnAFqEL0BIAMoAkwgAy8BngEQIiADKAJMIAMvAZwBECICQAJAIAMtAIUBQQFxRQ0AIAMoAqQBKQMoQhRaDQAgAygCTEEAECMMAQsgAygCTCADKAKkASgCGBAjCwJAAkAgAygCoAFBgAJxQYACRw0AIAMoAqQBKQMgQv////8PVARAIAMoAqQBKQMoQv////8PVA0BCyADKAJMQX8QIyADKAJMQX8QIwwBCwJAIAMoAqQBKQMgQv////8PVARAIAMoAkwgAygCpAEpAyCnECMMAQsgAygCTEF/ECMLAkAgAygCpAEpAyhC/////w9UBEAgAygCTCADKAKkASkDKKcQIwwBCyADKAJMQX8QIwsLIAMoAkwgAygCpAEoAjAQYEH//wNxECIgAyADKAKkASgCNCADKAKgARDCAUH//wNxIAMoApABQYAGEMIBQf//A3FqNgKIASADKAJMIAMoAogBQf//A3EQIiADKAKgAUGAAnFFBEAgAygCTCADKAKkASgCOBBgQf//A3EQIiADKAJMIAMoAqQBKAI8Qf//A3EQIiADKAJMIAMoAqQBLwFAECIgAygCTCADKAKkASgCRBAjAkAgAygCpAEpA0hC/////w9UBEAgAygCTCADKAKkASkDSKcQIwwBCyADKAJMQX8QIwsLAn8jAEEQayIAIAMoAkw2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCTBAZIAMoApABECYgA0F/NgKsAQwBCyADKAKoASADQdAAagJ+IwBBEGsi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NwMAIANBfzYCNCADQQ82AjAgA0ENNgIsIANBDDYCKCADQQo2AiQgA0EJNgIgQeibAUEIIANBIGoQNzcDAAtB4JsBKQMAIAMpA0BB4JsBKQMAg1IEQCADKAJQQRxBABAXIANBADYCXAwBC0HomwEpAwAgAykDQEHomwEpAwCDUgRAIAMgAygCTEEQcjYCTAsgAygCTEEYcUEYRgRAIAMoAlBBGUEAEBcgA0EANgJcDAELIAMgAygCWCADKAJQEIICNgI8IAMoAjxBAWoiAEEBTQRAIABBAWsEQCADQQA2AlwMAgsgAygCTEEBcUUEQCADKAJQQQlBABAXIANBADYCXAwCCyADIAMoAlggAygCTCADKAJQEGc2AlwMAQsgAygCTEECcQRAIAMoAlBBCkEAEBcgA0EANgJcDAELIAMoAlgQS0EASARAIAMoAlAgAygCWBAaIANBADYCXAwBCwJAIAMoAkxBCHEEQCADIAMoAlggAygCTCADKAJQEGc2AjgMAQsgAyADKAJYIAMoAkwgAygCUBCBAjYCOAsgAygCOEUEQCADKAJYEDQaIANBADYCXAwBCyADIAMoAjg2AlwLIAMoAlwhACADQeAAaiQAIAALjgEBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCACQQA2AgQgAigCCARAIwBBEGsiACACKAIINgIMIAIgACgCDCgCADYCBCACKAIIEIwBQQFGBEAjAEEQayIAIAIoAgg2AgxBtJwBIAAoAgwoAgQ2AgALCyACKAIMBEAgAigCDCACKAIENgIACyACQRBqJAALlQEBAX8jAEEQayIBJAAgASAANgIIAkACfyMAQRBrIgAgASgCCDYCDCAAKAIMKQMYQoCAEINQCwRAIAEoAggoAgAEQCABIAEoAggoAgAQkAFBAXE6AA8MAgsgAUEBOgAPDAELIAEgASgCCEEAQgBBEhAkPgIEIAEgASgCBEEARzoADwsgAS0AD0EBcSEAIAFBEGokACAAC38BAX8jAEEgayIDJAAgAyAANgIYIAMgATcDECADQQA2AgwgAyACNgIIAkAgAykDEEL///////////8AVgRAIAMoAghBBEE9EBcgA0F/NgIcDAELIAMgAygCGCADKQMQIAMoAgwgAygCCBBoNgIcCyADKAIcIQAgA0EgaiQAIAALfQAgAkEBRgRAIAEg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CAwBCyACKAIYCzsBDiACQQA2AhACQANAIAIoAhBBuJoBKAIASQRAIAIoAhBBDGxBvJoBai8BACACLwEORgRAIAItABdBAXEEQCACIAIoAhBBDGxBvJoBaigCBDYCHAwECyACIAIoAhBBDGxBvJoBaigCCDYCHAwDBSACIAIoAhBBAWo2AhAMAgsACwsgAkEANgIcCyACKAIcC+QBAQF/IwBBIGsiAyQAIAMgADoAGyADIAE2AhQgAyACNgIQIANByAAQGyIANgIMAkAgAEUEQCADKAIQQQFBtJwBKAIAEBcgA0EANgIcDAELIAMoAgwgAygCEDYCACADKAIMIAMtABtBAXE6AAQgAygCDCADKAIUNgIIAkAgAygCDCgCCEEBTgRAIAMoAgwoAghBCUwNAQsgAygCDEEJNgIICyADKAIMQQA6AAwgAygCDEEANgIwIAMoAgxBADYCNCADKAIMQQA2AjggAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL4wgBAX8jAEFAaiICIAA2AjggAiABNgI0IAIgAigCOCgCfDYCMCACIAIoAjgoAjggAigCOCgCbGo2AiwgAiACKAI4KAJ4NgIgIAIgAigCOCgCkAE2AhwgAgJ/IAIoAjgoAmwgAigCOCgCLEGGAmtLBEAgAigCOCgCbCACKAI4KAIsQYYCa2sMAQtBAAs2AhggAiACKAI4KAJANgIUIAIgAigCOCgCNDYCECACIAIoAjgoAjggAigCOCgCbGpBggJqNgIMIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAogAigCOCgCeCACKAI4KAKMAU8EQCACIAIoAjBBAnY2AjALIAIoAhwgAigCOCgCdEsEQCACIAIoAjgoAnQ2AhwLA0ACQCACIAIoAjgoAjggAigCNGo2AigCQCACKAIoIAIoAiBqLQAAIAItAApHDQAgAigCKCACKAIgQQFrai0AACACLQALRw0AIAIoAigtAAAgAigCLC0AAEcNACACIAIoAigiAEEBajYCKCAALQABIAIoAiwtAAFHBEAMAQsgAiACKAIsQQJqNgIsIAIgAigCKEEBajYCKANAIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKAJ/QQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIoAiwgAigCDEkLQQFxDQALIAJBggIgAigCDCACKAIsa2s2AiQgAiACKAIMQf59ajYCLCACKAIkIAIoAiBKBEAgAigCOCACKAI0NgJwIAIgAigCJDYCICACKAIkIAIoAhxODQIgAiACKAIsIAIoAiBBAWtqLQAAOgALIAIgAigCLCACKAIgai0AADoACgsLIAIgAigCFCACKAI0IAIoAhBxQQF0ai8BACIBNgI0QQAhACABIAIoAhhLBH8gAiACKAIwQX9qIgA2AjAgAEEARwVBAAtBAXENAQsLAkAgAigCICACKAI4KAJ0TQRAIAIgAigCIDYCPAwBCyACIAIoAjgoAnQ2AjwLIAIoAjwLnhABAX8jAEEwayICJAAgAiAANgIoIAIgATYCJCACAn8gAigCKCgCDEEFayACKAIoKAIsSwRAIAIoAigoAiwMAQsgAigCKCgCDEEFaws2AiAgAkEANgIQIAIgAigCKCgCACgCBDYCDANAAkAgAkH//wM2AhwgAiACKAIoKAK8LUEqakEDdTYCFCACKAIoKAIAKAIQIAIoAhRJDQAgAiACKAIoKAIAKAIQIAIoAhRrNgIUIAIgAigCKCgCbCACKAIoKAJcazYCGCACKAIcIAIoAhggAigCKCgCACgCBGpLBEAgAiACKAIYIAIoAigoAgAoAgRqNgIcCyACKAIcIAIoAhRLBEAgAiACKAIUNgIcCwJAIAIoAhwgAigCIE8NAAJAIAIoAhxFBEAgAigCJEEERw0BCyACKAIkRQ0AIAIoAhwgAigCGCACKAIoKAIAKAIEakYNAQsMAQtBACEAIAJBAUEAIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcRs2AhAgAigCKEEAQQAgAigCEBBWIAIoAigoAgggAigCKCgCFEEEa2ogAigCHDoAACACKAIoKAIIIAIoAigoAhRBA2tqIAIoAhxBCHY6AAAgAigCKCgCCCACKAIoKAIUQQJraiACKAIcQX9zOgAAIAIoAigoAgggAigCKCgCFEEBa2ogAigCHEF/c0EIdjoAACACKAIoKAIAEB8gAigCGARAIAIoAhggAigCHEsEQCACIAIoAhw2AhgLIAIoAigoAgAoAgwgAigCKCgCOCACKAIoKAJcaiACKAIYEBwaIAIoAigoAgAiACACKAIYIAAoAgxqNgIMIAIoAigoAgAiACAAKAIQIAIoAhhrNgIQIAIoAigoAgAiACACKAIYIAAoAhRqNgIUIAIoAigiACACKAIYIAAoAlxqNgJcIAIgAigCHCACKAIYazYCHAsgAigCHARAIAIoAigoAgAgAigCKCgCACgCDCACKAIcEHQaIAIoAigoAgAiACACKAIcIAAoAgxqNgIMIAIoAigoAgAiACAAKAIQIAIoAhxrNgIQIAIoAigoAgAiACACKAIcIAAoAhRqNgIUCyACKAIQRQ0BCwsgAiACKAIMIAIoAigoAgAoAgRrNgIMIAIoAgwEQAJAIAIoAgwgAigCKCgCLE8EQCACKAIoQQI2ArAtIAIoAigoAjggAigCKCgCACgCACACKAIoKAIsayACKAIoKAIsEBwaIAIoAiggAigCKCgCLDYCbAwBCyACKAIoKAI8IAIoAigoAmxrIAIoAgxNBEAgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQHBogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCwsgAigCKCgCOCACKAIoKAJsaiACKAIoKAIAKAIAIAIoAgxrIAIoAgwQHBogAigCKCIAIAIoAgwgACgCbGo2AmwLIAIoAiggAigCKCgCbDYCXCACKAIoIgECfyACKAIMIAIoAigoAiwgAigCKCgCtC1rSwRAIAIoAigoAiwgAigCKCgCtC1rDAELIAIoAgwLIAEoArQtajYCtC0LIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsCQCACKAIQBEAgAkEDNgIsDAELAkAgAigCJEUNACACKAIkQQRGDQAgAigCKCgCACgCBA0AIAIoAigoAmwgAigCKCgCXEcNACACQQE2AiwMAQsgAiACKAIoKAI8IAIoAigoAmxrQQFrNgIUAkAgAigCKCgCACgCBCACKAIUTQ0AIAIoAigoAlwgAigCKCgCLEgNACACKAIoIgAgACgCXCACKAIoKAIsazYCXCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAcGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LIAIgAigCKCgCLCACKAIUajYCFAsgAigCFCACKAIoKAIAKAIESwRAIAIgAigCKCgCACgCBDYCFAsgAigCFARAIAIoAigoAgAgAigCKCgCOCACKAIoKAJsaiACKAIUEHQaIAIoAigiACACKAIUIAAoAmxqNgJsCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LIAIgAigCKCgCvC1BKmpBA3U2AhQgAgJ/Qf//AyACKAIoKAIMIAIoAhRrQf//A0sNABogAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAkEBQQACf0EAIAIoAiRBBEcNABpBACACKAIoKAIAKAIEDQAaIAIoAhwgAigCGEYLQQFxGzYCECACKAIoIAIoAigoAjggAigCKCgCXGogAigCHCACKAIQEFYgAigCKCIAIAIoAhwgACgCXGo2AlwgAigCKCgCABAfCyACQQJBACACKAIQGzYCLAsgAigCLCEAIAJBMGokACAAC7ICAQF/IwBBEGsi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AhhBAnRqIgAgAygCECAALwEAajsBAAwBCwJAIAMoAhgEQCADKAIYIAMoAhxHBEAgAygCLCADKAIYQQJ0akH8FGoiACAALwEAQQFqOwEACyADKAIsIgAgAEG8FWovAQBBAWo7AbwVDAELAkAgAygCEEEKTARAIAMoAiwiACAAQcAVai8BAEEBajsBwBUMAQsgAygCLCIAIABBxBVqLwEAQQFqOwHEFQsLCyADQQA2AhAgAyADKAIYNgIcAkAgAygCFEUEQCADQYoBNgIMIANBAzYCCAwBCwJAIAMoAhggAygCFEYEQCADQQY2AgwgA0EDNgIIDAELIANBBzYCDCADQQQ2AggLCwsgAyADKAIgQQFqNgIgDAELCwunEgECfyMAQdAAayIDIAA2AkwgAyABNgJIIAMgAjYCRCADQQA2AjggAygCTCgCoC0EQANAIAMgAygCTCgCpC0gAygCOEEBdGovAQA2AkAgAygCTCgCmC0hACADIAMoAjgiAUEBajYCOCADIAAgAWotAAA2AjwCQCADKAJARQRAIAMgAygCSCADKAI8QQJ0ai8BAjYCLAJAIAMoAkwoArwtQRAgAygCLGtKBEAgAyADKAJIIAMoAjxBAnRqLwEANgIoIAMoAkwiACAALwG4LSADKAIoQf//A3EgAygCTCgCvC10cjsBuC0gAygCTC8BuC1B/wFxIQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTC8BuC1BCHUhASADKAJMKAIIIQIgAygCTCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJMIAMoAihB//8DcUEQIAMoAkwoArwta3U7AbgtIAMoAkwiACAAKAK8LSADKAIsQRBrajYCvC0MAQsgAygCTCIAIAAvAbgtIAMoAkggAygCPEECdGovAQAgAygCTCgCvC10cjsBuC0gAygCTCIAIAMoAiwgACgCvC1qNgK8LQsMAQsgAyADKAI8LQCgXTYCNCADIAMoAkggAygCNEGBAmpBAnRqLwECNgIkAkAgAygCTCgCvC1BECADKAIka0oEQCADIAMoAkggAygCNEGBAmpBAnRqLwEANgIgIAMoAkwiACAALwG4LSADKAIgQf//A3EgAygCTCgCvC10cjsBuC0gAygCTC8BuC1B/wFxIQEg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/wNxCwJ/IwBBEGsiACADKAIENgIMIAAoAgwoAgQLQYAGEF42AgAgAygCBBAZIAMgAygCADYCHAsgAygCHCEAIANBIGokACAAC7QCAQF/IwBBMGsiAyQAIAMgADYCKCADIAE3AyAgAyACNgIcAkAgAykDIFAEQCADQQE6AC8MAQsgAyADKAIoKQMQIAMpAyB8NwMIAkAgAykDCCADKQMgWgRAIAMpAwhC/////wBYDQELIAMoAhxBDkEAEBcgA0EAOgAvDAELIAMgAygCKCgCACADKQMIp0EEdBBKIgA2AgQgAEUEQCADKAIcQQ5BABAXIANBADoALwwBCyADKAIoIAMoAgQ2AgAgAyADKAIoKQMINwMQA0AgAykDECADKQMIWkUEQCADKAIoKAIAIAMpAxCnQQR0ahCGASADIAMpAxBCAXw3AxAMAQsLIAMoAiggAykDCCIBNwMQIAMoAiggATcDCCADQQE6AC8LIAMtAC9BAXEhACADQTBqJAAgAAvMAQEBfyMAQSBrIgIkACACIAA3AxAgAiABNgIMIAJBMBAbIgE2AggCQCABRQRAIAIoAgxBDkEAEBcgAkEANgIcDAELIAIoAghBADYCACACKAIIQgA3AxAgAigCCEIANwMIIAIoAghCADcDICACKAIIQgA3AxggAigCCEEANgIoIAIoAghBADoALCACKAIIIAIpAxAgAigCDBC/AUEBcUUEQCACKAIIECggAkEANgIcDAELIAIgAigCCDYCHAsgAigCHCEBIAJBIGokACABC9kCAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgA0EMakIEECw2AggCQCADKAIIRQRAIANBfzYCHAwBCwNAIAMoAhQEQCADKAIUKAIEIAMoAhBxQYAGcQRAIAMoAghCABAxGiADKAIIIAMoAhQvAQgQIiADKAIIIAMoAhQvAQoQIgJ/IwBBEGsiACADKAIINgIMIAAoAgwtAABBAXFFCwRAIAMoAhhBCGpBFEEAEBcgAygCCBAZIANBfzYCHAwECyADKAIYIANBDGpCBBA8QQBIBEAgAygCCBAZIANBfzYCHAwECyADKAIULwEKQQBKBEAgAygCGCADKAIUKAIMIAMoAhQvAQqtEDxBAEgEQCADKAIIEBkgA0F/NgIcDAULCwsgAyADKAIUKAIANgIU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TAwBCyACQQE2AkwLIAIoAkwhACACQdAAaiQAIAALLQAgAFBFBEADQCABQX9qIgEgAKdBB3FBMHI6AAAgAEIDiCIAQgBSDQALCyABC+oBAQF/IwBBMGsiAyQAIAMgADYCKCADIAE2AiQgAyACNgIgIwBBEGsiACADQQhqIgE2AgwgACgCDEEANgIAIAAoAgxBADYCBCAAKAIMQQA2AgggAyADKAIoIAEQhgIiADYCGAJAIABFBEAgAygCICADQQhqIgAQjwEgABA4IANBADYCLAwBCyADIAMoAhggAygCJCADQQhqEI4BIgA2AhwgAEUEQCADKAIYEB4gAygCICADQQhqIgAQjwEgABA4IANBADYCLAwBCyADQQhqEDggAyADKAIcNgIsCyADKAIsIQAgA0EwaiQAIAALyAIBAX8jAEEQayIBJAAgASAANgIIIAFB2AAQGzYCBAJAIAEoAgRFBEAgASgCCEEOQQAQFyABQQA2AgwMAQsgASgCCBCDAyEAIAEoAgQgADYCUCAARQRAIAEoAgQQGCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRBADYCBCMAQRBrIgAgASgCBEEIajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCABKAIEQQA2AhggASgCBEEANgIUIAEoAgRBADYCHCABKAIEQQA2AiQgASgCBEEANgIgIAEoAgRBADoAKCABKAIEQgA3AzggASgCBEIANwMwIAEoAgRBADYCQCABKAIEQQA2AkggASgCBEEANgJEIAEoAgRBADYCTCABKAIEQQA2AlQgASABKAIENgIMCyABKAIMIQAgAUEQaiQAIAALgQEBAX8jAEEgayICJAAgAiAANgIYIAJCADcDECACQn83AwggAiABNgIEAkACQCACKAIYBEAgAikDCEJ/WQ0BCyACKAIEQRJBABAXIAJBADYCHAwBCyACIAIoAhggAikDECACKQMIIAIoAgQQigI2AhwLIAIoAhwhACACQSBqJAAgAAvNAQECfyMAQSBrIgEkACABIAA2AhggAUEAOgAXIAFBgIAgNgIMAkAgAS0AF0EBcQRAIAEgASgCDEECcjYCDAwBCyABIAEoAgw2AgwLIAEoAhghACABKAIMIQIgAUG2AzYCACABIAAgAiABEGoiADYCEAJAIABBAEgEQCABQQA2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AUEBajYCFCABIAA6AAAgAiACKAIMQSRuNgIMDAELCyACKAIoIQAgAgJ/QbYDIAIoAiRBf0YNABogAigCJAs2AgAgAiAAQcKBICACEGoiADYCICAAQQBOBEAgAigCJEF/RwRAIAIoAiggAigCJBCPAgsgAiACKAIgNgIsDAILQbScASgCAEEURg0ACyACQX82AiwLIAIoAiwhACACQTBqJAAgAAtDAQF/IwBBEGsiAiQAIAIgATYCBCACIAA2AgBBDyACEBAiAEGBYE8Ef0G0nAFBACAAazYCAEEABSAACxogAkEQaiQAC2cBAn8jAEEQayIAJAACQCAAQQhqEJECQQFxBEAgACAAKAIINgIMDAELQYShAS0AAEEBcUUEQEEAEAIhAUH4oAEQAyABEJMCQfigARABCyAAEJICNgIMCyAAKAIMIQEgAEEQaiQAIAELjAEBAX8jAEEQayIBJAAgASAANgIIIAFBBDsBBiABQeeXAUEAQQAQaiIANgIAAkAgAEEASARAIAFBADoADwwBCyABKAIAIAEoAgggAS8BBhCUAiABLwEGRwRAIAEoAgAQaSABQQA6AA8MAQsgASgCABBpIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC60BAQR/QfigARADQcyaASgCACEAAkBByJoBKAIAIgNFBEAgACAAKAIAQe2cmY4EbEG54ABqQf////8HcSIANgIADAELIABB0JoBKAIAIgJBAnRqIgEgASgCACAAQYChASgCACIBQQJ0aigCAGoiADYCAEGAoQFBACABQQFqIgEgASADRhs2AgBB0JoBQQAgAkEBaiICIAIgA0YbNgIAIABBAXYhAAtB+KABEAEgAAujAQIDfwF+QciaASgCACIBRQRAQcyaASgCACAANgIADwtB0JoBQQNBA0EBIAFBB0YbIAFBH0YbNgIAQYChAUEANgIAAkAgAUEATARAQcyaASgCACECDAELQcyaASgCACECIACtIQQDQCACIANBAnRqIARCrf7V5NSF/ajYAH5CAXwiBEIgiD4CACADQQFqIgMgAUcNAAsLIAIgAigCAEEBcjYCAAtKAQF/IwBBEGsiAyQAIAMgAjYCCCADIAE2AgQgAyAANgIAQQMgAxARIgBBgWBPBEBBtJwBQQAgAGs2AgBBfyEACyADQRBqJAAgAAuxAQECfyAC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fyMAQbABayIBJAAgASAANgKoASABKAKoARA4AkACQCABKAKoASgCAEEATgRAIAEoAqgBKAIAQcASKAIASA0BCyABIAEoAqgBKAIANgIQIAFBIGpBvJcBIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEHAEWooAgA2AqQBAkAgASgCqAEoAgBBAnRB0BJqKAIAQX9qIgBBAU0EQCAAQQFrBEAgASABKAKoASgCBEHAmQEoAgAQrwI2AqABDAILIwBBEGsiACABKAKoASgCBDYCDCABQQAgACgCDGtBAnRB+NgAaigCADYCoAEMAQsgAUEANgKgAQsLAkAgASgCoAFFBEAgASABKAKkATYCrAEMAQsgASABKAKgARAwAn8gASgCpAEEQCABKAKkARAwQQJqDAELQQALakEBahAbIgA2AhwgAEUEQCABQfgRKAIANgKsAQwBCyABKAIcIQACfyABKAKkAQRAIAEoAqQBDAELQdSXAQshAkHVlwFB1JcBIAEoAqQBGyEDIAEgASgCoAE2AgggASADNgIEIAEgAjYCACAAQc2XASABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAtxAQN/AkACQANAIAAgAkHQiAFqLQAARwRAQdcAIQMgAkEBaiICQdcARw0BDAILCyACIgMNAEGwiQEhAAwBC0GwiQEhAgNAIAItAAAhBCACQQFqIgAhAiAEDQAgACECIANBf2oiAw0ACwsgASgCFBogAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQHBogACAAKAIUIAFqNgIUIAILigEBAn8jAEGgAWsiAyQAIANBCGpBuIcBQZABEBwaIAMgADYCNCADIAA2AhwgA0F+IABrIgRB/////wdB/////wcgBEsbIgQ2AjggAyAAIARqIgA2AiQgAyAANgIYIANBCGogASACEKsCIAQEQCADKAIcIgAgACADKAIYRmtBADoAAAsgA0GgAWokAAu+AgEBfyMAQcDAAGsiAyQAIAMgADYCuEAgAyABNgK0QCADIAI3A6hAAkAgAygCtEAQS0EASARAIAMoArhAQQhqIAMoArRAEBogA0F/NgK8QAwBCyADQQA2AgwgA0IANwMQA0ACQCADIAMoArRAIANBIGpCgMAAEC8iAjcDGCACQgBXDQAgAygCuEAgA0EgaiADKQMYEDxBAEgEQCADQX82AgwFIAMpAxhCgMAAUg0CIAMoArhAKAJURQ0CIAMpA6hAQgBXDQIgAyADKQMYIAMpAxB8NwMQIAMoArhAKAJUIAMpAxC5IAMpA6hAuaMQVwwCCwsLIAMpAxhCAFMEQCADKAK4QEEIaiADKAK0QBAaIANBfzYCDAsgAygCtEAQNBogAyADKAIMNgK8QAsgAygCvEAhACADQcDAAGokACAAC6oBAQF/IwBBMGsiAyQAIAMgADYCKCADIAE2AiQgAyACNwMYIAMgAygCKCgCABA7IgI3AxACQCACQgBTBEAgA0F/NgIsDAELIAMgAygCKCADKAIkIAMpAxgQkwMiAjcDACACQgBTBEAgA0F/NgIsDAELIAMgAygCKCgCABA7IgI3AwggAkIAUwRAIANBfzYCLAwBCyADQQA2AiwLIAMoAiwhACADQTBqJAAgAAsvACABAn8gAigCTEF/TARAIAAgASACEHEMAQsgACABIAIQcQsiAEYEQCABDwsgAAv/AQEBfyMAQaDAAGsiAiQAIAIgADYCmEAgAiABNwOQQCACIAIpA5BAujkDAAJAA0AgAikDkEBCAFYEQCACAn5CgMAAIAIpA5BAQoDAAFYNABogAikDkEALPgIMIAIoAphAKAIAIAJBEGogAigCDK0gAigCmEBBCGoQgwFBAEgEQCACQX82ApxADAMLIAIoAphAIAJBEGogAigCDK0QPEEASARAIAJBfzYCnEAMAwUgAiACKQOQQCACNQIMfTcDkEAgAigCmEAoAlQgAisDACACKQOQQLqhIAIrAwCjEFcMAgsACwsgAkEANgKcQAsgAigCnEAhACACQaDAAGokACAAC/IRAgF/AX4jAEGgAWsiAyQAIAMgADYCmAEgAyABNgKUASADIAI2ApABAkAgAygClAEgA0E4ahA5QQBIBEAgAygCmAFBCGogAygClAEQGiADQX82ApwBDAELIAMpAzhCwACDUARAIAMgAykDOELAAIQ3AzggA0EAOwFoCwJAAkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BCyADLwFoRQ0AIAMoApABIAMvAWg2AhAMAQsCQAJAIAMoApABKAIQDQAgAykDOEIEg1ANACAD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oyADQgF8uiAEoxD4AiABIAEoAiggASkDSKdBA3RqKQMANwNQIAEgASgCWCgCQCABKQNQp0EEdGo2AhACQAJAIAEoAhAoAgBFDQAgASgCECgCACkDSCABKQM4Wg0ADAELIAECf0EBIAEoAhAoAggNABogASgCECgCBARAQQEgASgCECgCBCgCAEEBcQ0BGgsgASgCECgCBAR/IAEoAhAoAgQoAgBBwABxQQBHBUEACwtBAXE2AhQgASgCECgCBEUEQCABKAIQKAIAEEghACABKAIQIAA2AgQgAEUEQCABKAJYQQhqQQ5BABAXIAFBATYCLAwDCwsgASABKAIQKAIENgIMIAEoAlggASkDUBCUA0EASARAIAFBATYCLAwCCyABIAEoAlgoAgAQOyIDNwMwIANCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEKEBIgA2AgggAEUEQCABQQE2AiwMBQsLIAEoAlgCfyABKAIIBEAgASgCCAwBCyABKAIQKAIICyABKAIMELYCQQBIBEAgAUEBNgIsIAEoAggEQCABKAIIEB4LDAQLIAEoAggEQCABKAIIEB4LDAELIAEoAgwiACAALwEMQff/A3E7AQwgASgCWCABKAIMQYACEF1BAEgEQCABQQE2AiwMAwsgASABKAJYIAEpA1AgASgCWEEIahB/IgM3AwAgA1AEQCABQQE2AiwMAwsgASgCWCgCACABKQMAQQAQKkEASARAIAEoAlhBCGogASgCWCgCABAaIAFBATYCLAwDCyABKAJYIAEoAgwpAyAQtQJBAEgEQCABQQE2AiwMAwsLCyABIAEpA0hCAXw3A0gMAQsLIAEoAixFBEAgASgCWCABKAIoIAEpA0AQswJBAEgEQCABQQE2AiwLCyABKAIoEBggASgCLEUEQCABKAJYKAIAELoCBEAgASgCWEEIaiABKAJYKAIAEBogAUEBNgIsCwsgASgCWCgCVBD8AiABKAIsBEAgASgCWCgCABBkIAFBfzYCXAwBCyABKAJYEEEgAUEANgJcCyABKAJcIQAgAUHgAGokACAAC7MBAQF/IwBBEGsiASQAIAEgADYCCAJAA0AgASgCCARAIAEoAggpAxhCgIAEg0IAUgRAIAEgASgCCEEAQgBBEBAkNwMAIAEpAwBCAFMEQCABQf8BOgAPDAQLIAEpAwBCA1UEQCABKAIIQQxqQRRBABAXIAFB/wE6AA8MBAsgASABKQMAPAAPDAMFIAEgASgCCCgCADYCCAwCCwALCyABQQA6AA8LIAEsAA8hACABQRBqJAAgAAvMAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIkQQFHBEAgASgCCEEMakESQQAQFyABQX82AgwMAQsgASgCCCgCIEEBSwRAIAEoAghBDGpBHUEAEBcgAUF/NgIMDAELIAEoAggoAiBBAEsEQCABKAIIEDRBAEgEQCABQX82AgwMAgsLIAEoAghBAEIAQQkQJEIAUwRAIAEoAghBAjYCJCABQX82AgwMAQsgASgCCEEANgIkIAFBADYCDAsgASgCDCEAIAFBEGokACAAC+UJAQF/IwBBsAFrIgUkACAFIAA2AqQBIAUgATYCoAEgBSACNgKcASAFIAM3A5ABIAUgBDYCjAEgBSAFKAKgATYCiAECQAJAIAUoAowBIgBBDksNAAJAAkACQAJAAkACQAJAAkACQCAAQQFrDg4BAgMEBQcICQkJCQkJBgALIAUoAogBQgA3AyAgBUIANwOoAQwJCyAFIAUoAqQBIAUoApwBIAUpA5ABEC8iAzcDgAEgA0IAUwRAIAUoAogBQQhqIAUoAqQBEBogBUJ/NwOoAQwJCwJAIAUpA4ABUARAIAUoAogBKQMoIAUoAogBKQMgUQRAIAUoAogBQQE2AgQgBSgCiAEgBSgCiAEpAyA3AxggBSgCiAEoAgAEQCAFKAKkASAFQcgAahA5QQBIBEAgBSgCiAFBCGogBSgCpAEQGiAFQn83A6gBDA0LAkAgBSkDSEIgg1ANACAFKAJ0IAUoAogBKAIwRg0AIAUoAogBQQhqQQdBABAXIAVCfzcDqAEMDQsCQCAFKQNIQgSDUA0AIAUpA2AgBSgCiAEpAxhRDQAgBSgCiAFBCGpBFUEAEBcgBUJ/NwOoAQwNCwsLDAELAkAgBSgCiAEoAgQNACAFKAKIASkDICAFKAKIASkDKFYNACAFIAUoAogBKQMoIAUoAogBKQMgfTcDQANAIAUpA0AgBSkDgAFUBEAgBQJ+Qv////8PQv////8PIAUpA4ABIAUpA0B9VA0AGiAFKQOAASAFKQNAfQs3AzggBSgCiAEoAjAgBSgCnAEgBSkDQKdqIAUpAzinEB0hACAFKAKIASAANgIwIAUoAogBIgAgBSkDOCAAKQMofDcDKCAFIAUpAzggBSkDQHw3A0AMAQsLCwsgBSgCiAEiACAFKQOAASAAKQMgfDcDICAFIAUpA4ABNwOoAQwICyAFQgA3A6gBDAcLIAUgBSgCnAE2AjQgBSgCiAEoAgQEQCAFKAI0IAUoAogBKQMYNwMYIAUoAjQgBSgCiAEoAjA2AiwgBSgCNCAFKAKIASkDGDcDICAFKAI0QQA7ATAgBSgCNEEAOwEyIAUoAjQiACAAKQMAQuwBhDcDAAsgBUIANwOoAQwGCyAFIAUoAogBQQhqIAUoApwBIAUpA5ABEEQ3A6gBDAULIAUoAogBEBggBUIANwOoAQwECyMAQRBrIgAgBSgCpAE2AgwgBSAAKAIMKQMYNwMoIAUpAyhCAFMEQCAFKAKIAUEIaiAFKAKkARAaIAVCfzcDqAEMBAsgBSkDKCEDIAVBfzYCGCAFQRA2AhQgBUEPNgIQIAVBDTYCDCAFQQw2AgggBUEKNgIEIAVBCTYCACAFQQggBRA3Qn+FIAODNwOoAQwDCyAFAn8gBSkDkAFCEFQEQCAFKAKIAUEIakESQQAQF0EADAELIAUoApwBCzYCHCAFKAIcRQRAIAVCfzcDqAEMAwsCQCAFKAKkASAFKAIcKQMAIAUoAhwoAggQKkEATgRAIAUgBSgCpAEQTCIDNwMgIANCAFkNAQsgBSgCiAFBCGogBSgCpAEQGiAFQn83A6gBDAMLIAUoAogBIAUpAyA3AyAgBUIANwOoAQwCCyAFIAUoAogBKQMgNwOoAQwBCyAFKAKIAUEIakEcQQAQFyAFQn83A6gBCyAFKQOoASEDIAVBsAFqJAAgAwvMBgEBfyMAQUBqIgQkACAEIAA2AjQgBCABNgIwIAQgAjYCLCAEIAM3AyACQAJ/IwBBEGsiACAEKAIwNgIMIAAoAgwoAgALBEAgBEJ/NwM4DAELAkAgBCkDIFBFBEAgBCgCMC0ADUEBcUUNAQsgBEIANwM4DAELIARCADcDCCAEQQA6ABsDQCAELQAbQQFxBH9BAAUgBCkDCCAEKQMgVAtBAXEEQCAEIAQpAyAgBCkDCH03AwAgBCAEKAIwKAKsQCAEKAIsIAQpAwinaiAEIAQoAjAoAqhAKAIcEQIANgIcIAQoAhxBAkcEQCAEIAQpAwAgBCkDCHw3AwgLAkAgBCgCHCIAQQNLDQACQAJAAkAgAEEBaw4DAAIBAwsgBCgCMEEBOgANAkAgBCgCMC0ADEEBcQ0ACyAEKAIwKQMgQgBTBEAgBCgCMEEUQQAQFyAEQQE6ABsMAwsCQCAEKAIwLQAOQQFxRQ0AIAQoAjApAyAgBCkDCFYNACAEKAIwQQE6AA8gBCgCMCAEKAIwKQMgNwMYIAQoAiwgBCgCMEEoaiAEKAIwKQMYpxAcGiAEIAQoAjApAxg3AzgMBgsgBEEBOgAbDAILIAQoAjAtAAxBAXEEQCAEQQE6ABsMAgsgBCAEKAI0IAQoAjBBKGpCgMAAEC8iAzcDECADQgBTBEAgBCgCMCAEKAI0EBogBEEBOgAbDAILAkAgBCkDEFAEQCAEKAIwQQE6AAwgBCgCMCgCrEAgBCgCMCgCqEAoAhgRAwAgBCgCMCkDIEIAUwRAIAQoAjBCADcDIAsMAQsCQCAEKAIwKQMgQgBZBEAgBCgCMEEAOgAODAELIAQoAjAgBCkDEDcDIAsgBCgCMCgCrEAgBCgCMEEoaiAEKQMQIAQoAjAoAqhAKAIUEREAGgsMAQsCfyMAQRBrIgAgBCgCMDYCDCAAKAIMKAIARQsEQCAEKAIwQRRBABAXCyAEQQE6ABsLDAELCyAEKQMIQgBWBEAgBCgCMEEAOgAOIAQoAjAiACAEKQMIIAApAxh8NwMYIAQgBCkDCDcDOAwBCyAEQX9BAAJ/IwBBEGsiACAEKAIwNgIMIAAoAgwoAgALG6w3AzgLIAQpAzghAyAEQUBrJAAgAwvnBQEBfyMAQTBrIgUkACAFIAA2AiQgBSABNgIgIAUgAjYCHCAFIAM3AxAgBSAENgIMIAUgBSgCIDYCCAJAAkAgBSgCDCIAQRBLDQACQAJAAkACQAJAAkACQAJAIABBAWsOEAECAwUGCAgICAgICAgHCAQACyAFKAIIQgA3AxggBSgCCEEAOgAMIAUoAghBADoADSAFKAIIQQA6AA8gBSgCCEJ/NwMgIAUoAggoAqxAIAUoAggoAqhAKAIMEQAAQQFxRQRAIAVCfzcDKAwJCyAFQgA3AygMCAsgBSAFKAIkIAUoAgggBSgCHCAFKQMQELwCNwMoDAcLIAUoAggoAqxAIAUoAggoAqhAKAIQEQAAQQFxRQRAIAVCfzcDKAwHCyAFQgA3AygMBgsgBSAFKAIcNgIEAkAgBSgCCC0AEEEBcQRAIAUoAggtAA1BAXEEQCAFKAIEAn9BACAFKAIILQAPQQFxDQAaAn8CQCAFKAIIKAIUQX9HBEAgBSgCCCgCFEF+Rw0BC0EIDAELIAUoAggoAhQLQf//A3ELOwEwIAUoAgQgBSgCCCkDGDcDICAFKAIEIgAgACkDAELIAIQ3AwAMAgsgBSgCBCIAIAApAwBCt////w+DNwMADAELIAUoAgRBADsBMCAFKAIEIgAgACkDAELAAIQ3AwACQCAFKAIILQANQQFxBEAgBSgCBCAFKAIIKQMYNwMYIAUoAgQiACAAKQMAQgSENwMADAELIAUoAgQiACAAKQMAQvv///8PgzcDAAsLIAVCADcDKAwFCyAFAn9BACAFKAIILQAPQQFxDQAaIAUoAggoAqxAIAUoAggoAqhAKAIIEQAAC6w3AygMBAsgBSAFKAIIIAUoAhwgBSkDEBBENwMoDAMLIAUoAggQpAEgBUIANwMoDAILIAVBfzYCACAFQRAgBRA3Qj+ENwMoDAELIAUoAghBFEEAEBcgBUJ/NwMoCyAFKQMoIQMgBUEwaiQAIAML/gIBAX8jAEEgayIEJAAgBCAANgIYIAQgAToAFyAEIAI2AhAgBCADNgIMIARBsMAAEBsiADYCCAJAIABFBEAgBEEANgIcDAELIwBBEGsiACAEKAIINgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAQoAggCfyAELQAXQQFxBEAgBCgCGEF/RwR/IAQoAhhBfkYFQQELQQFxDAELQQALQQBHOgAOIAQoAgggBCgCDDYCqEAgBCgCCCAEKAIYNgIUIAQoAgggBC0AF0EBcToAECAEKAIIQQA6AAwgBCgCCEEAOgANIAQoAghBADoADyAEKAIIKAKoQCgCACEAAn8CQCAEKAIYQX9HBEAgBCgCGEF+Rw0BC0EIDAELIAQoAhgLQf//A3EgBCgCECAEKAIIIAARAgAhACAEKAIIIAA2AqxAIABFBEAgBCgCCBA4IAQoAggQGCAEQQA2AhwMAQsgBCAEKAIINgIcCyAEKAIcIQAgBEEgaiQAIAALTQEBfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEIAM2AgAgBCgCDCAEKAIIIAQoAgRBASAEKAIAEKUBIQAgBEEQaiQAIAALWQEBfyAAIAAtAEoiAUF/aiABcjoASiAAKAIAIgFBCHEEQCAAIAFBIHI2AgBBfw8LIABCADcCBCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQQQALWwEBfyMAQRBrIgEkACABIAA2AgggAUEBOgAHAkAgASgCCEUEQCABQQE6AA8MAQsgASABKAIIIAEtAAdBAXEQpgFBAEc6AA8LIAEtAA9BAXEhACABQRBqJAAgAAs8AQF/IwBBEGsiAyQAIAMgADsBDiADIAE2AgggAyACNgIEQQAgAygCCCADKAIEEKcBIQAgA0EQaiQAIAALugIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYNgIMIAMoAgwCfkL/////D0L/////DyADKAIQKQMAVA0AGiADKAIQKQMACz4CICADKAIMIAMoAhQ2AhwCQCADKAIMLQAEQQFxBEAgAyADKAIMQRBqQQRBACADKAIMLQAMQQFxGxDaAjYCCAwBCyADIAMoAgxBEGoQzgI2AggLIAMoAhAiACAAKQMAIAMoAgw1AiB9NwMAAkACQCADKAIIQQVqIgBBBksNAAJAAkACQCAAQQFrDgYDAwMDAAECCyADQQA2AhwMAwsgA0EBNgIcDAILIAMoAgwoAhRFBEAgA0EDNgIcDAILCyADKAIMKAIAQQ0gAygCCBAXIANBAjYCHAsgAygCHCEAIANBIGokACAACyQBAX8jAEEQayIBIAA2AgwgASABKAIMNgIIIAEoAghBAToADAuZAQEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjcDCCADIAMoAhg2AgQCQAJAIAMpAwhC/////w9YBEAgAygCBCgCFEEATQ0BCyADKAIEKAIAQRJBABAXIANBADoAHwwBCyADKAIEIAMpAwg+AhQgAygCBCADKAIUNgIQIANBAToAHwsgAy0AH0EBcSEAIANBIGokACAAC5ABAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAgg2AgQCQCABKAIELQAEQQFxBEAgASABKAIEQRBqEKoBNgIADAELIAEgASgCBEEQahDLAjYCAAsCQCABKAIABEAgASgCBCgCAEENIAEoAgAQFyABQQA6AA8MAQsgAUEBOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALwAEBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCDYCBCABKAIEQQA2AhQgASgCBEEANgIQIAEoAgRBADYCICABKAIEQQA2AhwCQCABKAIELQAEQQFxBEAgASABKAIEQRBqIAEoAgQoAggQ3wI2AgAMAQsgASABKAIEQRBqEM8CNgIACwJAIAEoAgAEQCABKAIEKAIAQQ0gASgCABAXIAFBADoADwwBCyABQQE6AA8LIAEtAA9BAXEhACABQRBqJAAgAAtvAQF/IwBBEGsiASAANgIIIAEgASgCCDYCBAJAIAEoAgQtAARBAXFFBEAgAUEANgIMDAELIAEoAgQoAghBA0gEQCABQQI2AgwMAQsgASgCBCgCCEEHSgRAIAFBATYCDAwBCyABQQA2AgwLIAEoAgwLLAEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAEoAggQGCABQRBqJAALPAEBfyMAQRBrIgMkACADIAA7AQ4gAyABNgIIIAMgAjYCBEEBIAMoAgggAygCBBCnASEAIANBEGokACAAC5kBAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggQTQRAIAFBfjYCDAwBCyABIAEoAggoAhw2AgQgASgCBCgCOARAIAEoAggoAiggASgCBCgCOCABKAIIKAIkEQQACyABKAIIKAIoIAEoAggoAhwgASgCCCgCJBEEACABKAIIQQA2AhwgAUEANgIMCyABKAIMIQAgAUEQaiQAIAALnQQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIcNgIMAkAgAygCDCgCOEUEQCADKAIYKAIoQQEgAygCDCgCKHRBASADKAIYKAIgEQIAIQAgAygCDCAANgI4IAMoAgwoAjhFBEAgA0EBNgIcDAILCyADKAIMKAIsRQRAIAMoAgxBASADKAIMKAIodDYCLCADKAIMQQA2AjQgAygCDEEANgIwCwJAIAMoAhAgAygCDCgCLE8EQCADKAIMKAI4IAMoAhQgAygCDCgCLGsgAygCDCgCLBAcGiADKAIMQQA2AjQgAygCDCADKAIMKAIsNgIwDAELIAMgAygCDCgCLCADKAIMKAI0azYCCCADKAIIIAMoAhBLBEAgAyADKAIQNgIICyADKAIMKAI4IAMoAgwoAjRqIAMoAhQgAygCEGsgAygCCBAcGiADIAMoAhAgAygCCGs2AhACQCADKAIQBEAgAygCDCgCOCADKAIUIAMoAhBrIAMoAhAQHBogAygCDCADKAIQNgI0IAMoAgwgAygCDCgCLDYCMAwBCyADKAIMIgAgAygCCCAAKAI0ajYCNCADKAIMKAI0IAMoAgwoAixGBEAgAygCDEEANgI0CyADKAIMKAIwIAMoAgwoAixJBEAgAygCDCIAIAMoAgggACgCMGo2AjALCwsgA0EANgIcCyADKAIcIQAgA0EgaiQAIAALPAEBfyMAQRBrIgEgADYCDCABKAIMQbD2ADYCUCABKAIMQQk2AlggASgCDEGwhgE2AlQgASgCDEEFNgJcC65PAQR/IwBB4ABrIgEkACABIAA2AlggAUECNgJUAkACQAJAIAEoAlgQTQ0AIAEoAlgoAgxFDQAgASgCWCgCAA0BIAEoAlgoAgRFDQELIAFBfjYCXAwBCyABIAEoAlgoAhw2AlAgASgCUCgCBEG//gBGBEAgASgCUEHA/gA2AgQLIAEgASgCWCgCDDYCSCABIAEoAlgoAhA2AkAgASABKAJYKAIANgJMIAEgASgCWCgCBDYCRCABIAEoAlAoAjw2AjwgASABKAJQKAJANgI4IAEgASgCRDYCNCABIAEoAkA2AjAgAUEANgIQA0ACQCABKAJQKAIEQcyBf2oiAEEfTQRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQQFrDh8BAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fAAsgASgCUCgCDEUEQCABKAJQQcD+ADYCBAwiCwNAIAEoAjhBEEkEQCABKAJERQ0iIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEoAlAoAgxBAnFFDQAgASgCPEGflgJHDQAgASgCUCgCKEUEQCABKAJQQQ82AigLQQBBAEEAEB0hACABKAJQIAA2AhwgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAdIQAgASgCUCAANgIcIAFBADYCPCABQQA2AjggASgCUEG1/gA2AgQMIgsgASgCUEEANgIUIAEoAlAoAiQEQCABKAJQKAIkQX82AjALAkAgASgCUCgCDEEBcQRAIAEoAjxB/wFxQQh0IAEoAjxBCHZqQR9wRQ0BCyABKAJYQdbyADYCGCABKAJQQdH+ADYCBAwiCyABKAI8QQ9xQQhHBEAgASgCWEHt8gA2AhggASgCUEHR/gA2AgQMIgsgASABKAI8QQR2NgI8IAEgASgCOEEEazYCOCABIAEoAjxBD3FBCGo2AhQgASgCUCgCKEUEQCABKAJQIAEoAhQ2AigLAkAgASgCFEEPTQRAIAEoAhQgASgCUCgCKE0NAQsgASgCWEGI8wA2AhggASgCUEHR/gA2AgQMIgsgASgCUEEBIAEoAhR0NgIYQQBBAEEAEEAhACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBvf4AQb/+ACABKAI8QYAEcRs2AgQgAUEANgI8IAFBADYCOAwhCwNAIAEoAjhBEEkEQCABKAJERQ0hIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjw2AhQgASgCUCgCFEH/AXFBCEcEQCABKAJYQe3yADYCGCABKAJQQdH+ADYCBAwhCyABKAJQKAIUQYDAA3EEQCABKAJYQZzzADYCGCABKAJQQdH+ADYCBAwhCyABKAJQKAIkBEAgASgCUCgCJCABKAI8QQh2QQFxNgIACwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAdIQAgASgCUCAANgIcCyABQQA2AjwgAUEANgI4IAEoAlBBtv4ANgIECwNAIAEoAjhBIEkEQCABKAJERQ0gIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQKAIkBEAgASgCUCgCJCABKAI8NgIECwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABIAEoAjxBEHY6AA4gASABKAI8QRh2OgAPIAEoAlAoAhwgAUEMakEEEB0hACABKAJQIAA2AhwLIAFBADYCPCABQQA2AjggASgCUEG3/gA2AgQLA0AgASgCOEEQSQRAIAEoAkRFDR8gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAoAiQEQCABKAJQKAIkIAEoAjxB/wFxNgIIIAEoAlAoAiQgASgCPEEIdjYCDAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASgCUCgCHCABQQxqQQIQHSEAIAEoAlAgADYCHAsgAUEANgI8IAFBADYCOCABKAJQQbj+ADYCBAsCQCABKAJQKAIUQYAIcQRAA0AgASgCOEEQSQRAIAEoAkRFDSAgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAgASgCPDYCRCABKAJQKAIkBEAgASgCUCgCJCABKAI8NgIUCwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASABKAI8OgAMIAEgASgCPEEIdjoADSABKAJQKAIcIAFBDGpBAhAdIQAgASgCUCAANgIcCyABQQA2AjwgAUEANgI4DAELIAEoAlAoAiQEQCABKAJQKAIkQQA2AhALCyABKAJQQbn+ADYCBAsgASgCUCgCFEGACHEEQCABIAEoAlAoAkQ2AiwgASgCLCABKAJESwRAIAEgASgCRDYCLAsgASgCLARAAkAgASgCUCgCJEUNACABKAJQKAIkKAIQRQ0AIAEgASgCUCgCJCgCFCABKAJQKAJEazYCFCABKAJQKAIkKAIQIAEoAhRqIAEoAkwCfyABKAIUIAEoAixqIAEoAlAoAiQoAhhLBEAgASgCUCgCJCgCGCABKAIUawwBCyABKAIsCxAcGgsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEoAlAoAhwgASgCTCABKAIsEB0hACABKAJQIAA2AhwLIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASgCUCIAIAAoAkQgASgCLGs2AkQLIAEoAlAoAkQNHAsgASgCUEEANgJEIAEoAlBBuv4ANgIECwJAIAEoAlAoAhRBgBBxBEAgASgCREUNHCABQQA2AiwDQCABKAJMIQAgASABKAIsIgJBAWo2AiwgASAAIAJqLQAANgIUAkAgASgCUCgCJEUNACABKAJQKAIkKAIcRQ0AIAEoAlAoAkQgASgCUCgCJCgCIE8NACABKAIUIQIgASgCUCgCJCgCHCEDIAEoAlAiBCgCRCEAIAQgAEEBajYCRCAAIANqIAI6AAALIAEoAhQEfyABKAIsIAEoAkRJBUEAC0EBcQ0ACwJAIAEoAlAoAhRBgARxRQ0AIAEoAlAoAgxBBHFFDQAgASgCUCgCHCABKAJMIAEoAiwQHSEAIAEoAlAgADYCHAsgASABKAJEIAEoAixrNgJEIAEgASgCLCABKAJMajYCTCABKAIUDRwMAQsgASgCUCgCJARAIAEoAlAoAiRBADYCHAsLIAEoAlBBADYCRCABKAJQQbv+ADYCBAsCQCABKAJQKAIUQYAgcQRAIAEoAkRFDRsgAUEANgIsA0AgASgCTCEAIAEgASgCLCICQQFqNgIsIAEgACACai0AADYCFAJAIAEoAlAoAiRFDQAgASgCUCgCJCgCJEUNACABKAJQKAJEIAEoAlAoAiQoAihPDQAgASgCFCECIAEoAlAoAiQoAiQhAyABKAJQIgQoAkQhACAEIABBAWo2AkQgACADaiACOgAACyABKAIUBH8gASgCLCABKAJESQVBAAtBAXENAAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEoAlAoAhwgASgCTCABKAIsEB0hACABKAJQIAA2AhwLIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASgCFA0bDAELIAEoAlAoAiQEQCABKAJQKAIkQQA2AiQLCyABKAJQQbz+ADYCBAsgASgCUCgCFEGABHEEQANAIAEoAjhBEEkEQCABKAJERQ0bIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEoAlAoAgxBBHFFDQAgASgCPCABKAJQKAIcQf//A3FGDQAgASgCWEG18wA2AhggASgCUEHR/gA2AgQMGwsgAUEANgI8IAFBADYCOAsgASgCUCgCJARAIAEoAlAoAiQgASgCUCgCFEEJdUEBcTYCLCABKAJQKAIkQQE2AjALQQBBAEEAEB0hACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBv/4ANgIEDBkLA0AgASgCOEEgSQRAIAEoAkRFDRkgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAgASgCPEEIdkGA/gNxIAEoAjxBGHZqIAEoAjxBgP4DcUEIdGogASgCPEH/AXFBGHRqIgA2AhwgASgCWCAANgIwIAFBADYCPCABQQA2AjggASgCUEG+/gA2AgQLIAEoAlAoAhBFBEAgASgCWCABKAJINgIMIAEoAlggASgCQDYCECABKAJYIAEoAkw2AgAgASgCWCABKAJENgIEIAEoAlAgASgCPDYCPCABKAJQIAEoAjg2AkAgAUECNgJcDBkLQQBBAEEAEEAhACABKAJQIAA2AhwgASgCWCAANgIwIAEoAlBBv/4ANgIECyABKAJUQQVGDRUgASgCVEEGRg0VCyABKAJQKAIIBEAgASABKAI8IAEoAjhBB3F2NgI8IAEgASgCOCABKAI4QQdxazYCOCABKAJQQc7+ADYCBAwWCwNAIAEoAjhBA0kEQCABKAJERQ0WIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjxBAXE2AgggASABKAI8QQF2NgI8IAEgASgCOEEBazYCOAJAIAEoAjxBA3EiAEEDSw0AAkACQAJAAkAgAEEBaw4DAQIDAAsgASgCUEHB/gA2AgQMAwsgASgCUBDNAiABKAJQQcf+ADYCBCABKAJUQQZGBEAgASABKAI8QQJ2NgI8IAEgASgCOEECazYCOAwYCwwCCyABKAJQQcT+ADYCBAwBCyABKAJYQcnzADYCGCABKAJQQdH+ADYCBAsgASABKAI8QQJ2NgI8IAEgASgCOEECazYCOAwVCyABIAEoAjwgASgCOEEHcXY2AjwgASABKAI4IAEoAjhBB3FrNgI4A0AgASgCOEEgSQRAIAEoAkRFDRUgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAjxB//8DcSABKAI8QRB2Qf//A3NHBEAgASgCWEHc8wA2AhggASgCUEHR/gA2AgQMFQsgASgCUCABKAI8Qf//A3E2AkQgAUEANgI8IAFBADYCOCABKAJQQcL+ADYCBCABKAJUQQZGDRMLIAEoAlBBw/4ANgIECyABIAEoAlAoAkQ2AiwgASgCLARAIAEoAiwgASgCREsEQCABIAEoAkQ2AiwLIAEoAiwgASgCQEsEQCABIAEoAkA2AiwLIAEoAixFDRIgASgCSCABKAJMIAEoAiwQHBogASABKAJEIAEoAixrNgJEIAEgASgCLCABKAJMajYCTCABIAEoAkAgASgCLGs2AkAgASABKAIsIAEoAkhqNgJIIAEoAlAiACAAKAJEIAEoAixrNgJEDBMLIAEoAlBBv/4ANgIEDBILA0AgASgCOEEOSQRAIAEoAkRFDRIgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAgASgCPEEfcUGBAmo2AmQgASABKAI8QQV2NgI8IAEgASgCOEEFazYCOCABKAJQIAEoAjxBH3FBAWo2AmggASABKAI8QQV2NgI8IAEgASgCOEEFazYCOCABKAJQIAEoAjxBD3FBBGo2AmAgASABKAI8QQR2NgI8IAEgASgCOEEEazYCOAJAIAEoAlAoAmRBngJNBEAgASgCUCgCaEEeTQ0BCyABKAJYQfnzADYCGCABKAJQQdH+ADYCBAwSCyABKAJQQQA2AmwgASgCUEHF/gA2AgQLA0AgASgCUCgCbCABKAJQKAJgSQRAA0AgASgCOEEDSQRAIAEoAkRFDRMgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAjxBB3EhAiABKAJQQfQAaiEDIAEoAlAiBCgCbCEAIAQgAEEBajYCbCAAQQF0QbDyAGovAQBBAXQgA2ogAjsBACABIAEoAjxBA3Y2AjwgASABKAI4QQNrNgI4DAELCwNAIAEoAlAoAmxBE0kEQCABKAJQQfQAaiECIAEoAlAiAygCbCEAIAMgAEEBajYCbCAAQQF0QbDyAGovAQBBAXQgAmpBADsBAAwBCwsgASgCUCABKAJQQbQKajYCcCABKAJQIAEoAlAoAnA2AlAgASgCUEEHNgJYIAFBACABKAJQQfQAakETIAEoAlBB8ABqIAEoAlBB2ABqIAEoAlBB9AVqEHM2AhAgASgCEARAIAEoAlhBnfQANgIYIAEoAlBB0f4ANgIEDBELIAEoAlBBADYCbCABKAJQQcb+ADYCBAsDQAJAIAEoAlAoAmwgASgCUCgCZCABKAJQKAJoak8NAANAAkAgASABKAJQKAJQIAEoAjxBASABKAJQKAJYdEEBa3FBAnRqKAEANgEgIAEtACEgASgCOE0NACABKAJERQ0SIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEvASJBEEgEQCABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAEvASIhAiABKAJQQfQAaiEDIAEoAlAiBCgCbCEAIAQgAEEBajYCbCAAQQF0IANqIAI7AQAMAQsCQCABLwEiQRBGBEADQCABKAI4IAEtACFBAmpJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABKAJQKAJsRQRAIAEoAlhBtvQANgIYIAEoAlBB0f4ANgIEDAQLIAEgASgCUCABKAJQKAJsQQF0ai8BcjYCFCABIAEoAjxBA3FBA2o2AiwgASABKAI8QQJ2NgI8IAEgASgCOEECazYCOAwBCwJAIAEvASJBEUYEQANAIAEoAjggAS0AIUEDakkEQCABKAJERQ0WIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAFBADYCFCABIAEoAjxBB3FBA2o2AiwgASABKAI8QQN2NgI8IAEgASgCOEEDazYCOAwBCwNAIAEoAjggAS0AIUEHakkEQCABKAJERQ0VIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAFBADYCFCABIAEoAjxB/wBxQQtqNgIsIAEgASgCPEEHdjYCPCABIAEoAjhBB2s2AjgLCyABKAJQKAJsIAEoAixqIAEoAlAoAmQgASgCUCgCaGpLBEAgASgCWEG29AA2AhggASgCUEHR/gA2AgQMAgsDQCABIAEoAiwiAEF/ajYCLCAABEAgASgCFCECIAEoAlBB9ABqIQMgASgCUCIEKAJsIQAgBCAAQQFqNgJsIABBAXQgA2ogAjsBAAwBCwsLDAELCyABKAJQKAIEQdH+AEYNDyABKAJQLwH0BEUEQCABKAJYQdD0ADYCGCABKAJQQdH+ADYCBAwQCyABKAJQIAEoAlBBtApqNgJwIAEoAlAgASgCUCgCcDYCUCABKAJQQQk2AlggAUEBIAEoAlBB9ABqIAEoAlAoAmQgASgCUEHwAGogASgCUEHYAGogASgCUEH0BWoQczYCECABKAIQBEAgASgCWEH19AA2AhggASgCUEHR/gA2AgQMEAsgASgCUCABKAJQKAJwNgJUIAEoAlBBBjYCXCABQQIgASgCUEH0AGogASgCUCgCZEEBdGogASgCUCgCaCABKAJQQfAAaiABKAJQQdwAaiABKAJQQfQFahBzNgIQIAEoAhAEQCABKAJYQZH1ADYCGCABKAJQQdH+ADYCBAwQCyABKAJQQcf+ADYCBCABKAJUQQZGDQ4LIAEoAlBByP4ANgIECwJAIAEoAkRBBkkNACABKAJAQYICSQ0AIAEoAlggASgCSDYCDCABKAJYIAEoAkA2AhAgASgCWCABKAJMNgIAIAEoAlggASgCRDYCBCABKAJQIAEoAjw2AjwgASgCUCABKAI4NgJAIAEoAlggASgCMBDUAiABIAEoAlgoAgw2AkggASABKAJYKAIQNgJAIAEgASgCWCgCADYCTCABIAEoAlgoAgQ2AkQgASABKAJQKAI8NgI8IAEgASgCUCgCQDYCOCABKAJQKAIEQb/+AEYEQCABKAJQQX82Asg3CwwOCyABKAJQQQA2Asg3A0ACQCABIAEoAlAoAlAgASgCPEEBIAEoAlAoAlh0QQFrcUECdGooAQA2ASAgAS0AISABKAI4TQ0AIAEoAkRFDQ4gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLAkAgAS0AIEUNACABLQAgQfABcQ0AIAEgASgBIDYBGANAAkAgASABKAJQKAJQIAEvARogASgCPEEBIAEtABkgAS0AGGp0QQFrcSABLQAZdmpBAnRqKAEANgEgIAEtABkgAS0AIWogASgCOE0NACABKAJERQ0PIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AGXY2AjwgASABKAI4IAEtABlrNgI4IAEoAlAiACABLQAZIAAoAsg3ajYCyDcLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCIAIAEtACEgACgCyDdqNgLINyABKAJQIAEvASI2AkQgAS0AIEUEQCABKAJQQc3+ADYCBAwOCyABLQAgQSBxBEAgASgCUEF/NgLINyABKAJQQb/+ADYCBAwOCyABLQAgQcAAcQRAIAEoAlhBp/UANgIYIAEoAlBB0f4ANgIEDA4LIAEoAlAgAS0AIEEPcTYCTCABKAJQQcn+ADYCBAsgASgCUCgCTARAA0AgASgCOCABKAJQKAJMSQRAIAEoAkRFDQ4gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAiACAAKAJEIAEoAjxBASABKAJQKAJMdEEBa3FqNgJEIAEgASgCPCABKAJQKAJMdjYCPCABIAEoAjggASgCUCgCTGs2AjggASgCUCIAIAEoAlAoAkwgACgCyDdqNgLINwsgASgCUCABKAJQKAJENgLMNyABKAJQQcr+ADYCBAsDQAJAIAEgASgCUCgCVCABKAI8QQEgASgCUCgCXHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNDCABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgAS0AIEHwAXFFBEAgASABKAEgNgEYA0ACQCABIAEoAlAoAlQgAS8BGiABKAI8QQEgAS0AGSABLQAYanRBAWtxIAEtABl2akECdGooAQA2ASAgAS0AGSABLQAhaiABKAI4TQ0AIAEoAkRFDQ0gASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAZdjYCPCABIAEoAjggAS0AGWs2AjggASgCUCIAIAEtABkgACgCyDdqNgLINwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABKAJQIgAgAS0AISAAKALIN2o2Asg3IAEtACBBwABxBEAgASgCWEHD9QA2AhggASgCUEHR/gA2AgQMDAsgASgCUCABLwEiNgJIIAEoAlAgAS0AIEEPcTYCTCABKAJQQcv+ADYCBAsgASgCUCgCTARAA0AgASgCOCABKAJQKAJMSQRAIAEoAkRFDQwgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAlAiACAAKAJIIAEoAjxBASABKAJQKAJMdEEBa3FqNgJIIAEgASgCPCABKAJQKAJMdjYCPCABIAEoAjggASgCUCgCTGs2AjggASgCUCIAIAEoAlAoAkwgACgCyDdqNgLINwsgASgCUEHM/gA2AgQLIAEoAkBFDQggASABKAIwIAEoAkBrNgIsAkAgASgCUCgCSCABKAIsSwRAIAEgASgCUCgCSCABKAIsazYCLCABKAIsIAEoAlAoAjBLBEAgASgCUCgCxDcEQCABKAJYQdn1ADYCGCABKAJQQdH+ADYCBAwNCwsCQCABKAIsIAEoAlAoAjRLBEAgASABKAIsIAEoAlAoAjRrNgIsIAEgASgCUCgCOCABKAJQKAIsIAEoAixrajYCKAwBCyABIAEoAlAoAjggASgCUCgCNCABKAIsa2o2AigLIAEoAiwgASgCUCgCREsEQCABIAEoAlAoAkQ2AiwLDAELIAEgASgCSCABKAJQKAJIazYCKCABIAEoAlAoAkQ2AiwLIAEoAiwgASgCQEsEQCABIAEoAkA2AiwLIAEgASgCQCABKAIsazYCQCABKAJQIgAgACgCRCABKAIsazYCRANAIAEgASgCKCIAQQFqNgIoIAAtAAAhACABIAEoAkgiAkEBajYCSCACIAA6AAAgASABKAIsQX9qIgA2AiwgAA0ACyABKAJQKAJERQRAIAEoAlBByP4ANgIECwwJCyABKAJARQ0HIAEoAlAoAkQhACABIAEoAkgiAkEBajYCSCACIAA6AAAgASABKAJAQX9qNgJAIAEoAlBByP4ANgIEDAgLIAEoAlAoAgwEQANAIAEoAjhBIEkEQCABKAJERQ0JIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjAgASgCQGs2AjAgASgCWCIAIAEoAjAgACgCFGo2AhQgASgCUCIAIAEoAjAgACgCIGo2AiACQCABKAJQKAIMQQRxRQ0AIAEoAjBFDQACfyABKAJQKAIUBEAgASgCUCgCHCABKAJIIAEoAjBrIAEoAjAQHQwBCyABKAJQKAIcIAEoAkggASgCMGsgASgCMBBACyEAIAEoAlAgADYCHCABKAJYIAA2AjALIAEgASgCQDYCMAJAIAEoAlAoAgxBBHFFDQACfyABKAJQKAIUBEAgASgCPAwBCyABKAI8QQh2QYD+A3EgASgCPEEYdmogASgCPEGA/gNxQQh0aiABKAI8Qf8BcUEYdGoLIAEoAlAoAhxGDQAgASgCWEH39QA2AhggASgCUEHR/gA2AgQMCQsgAUEANgI8IAFBADYCOAsgASgCUEHP/gA2AgQLAkAgASgCUCgCDEUNACABKAJQKAIURQ0AA0AgASgCOEEgSQRAIAEoAkRFDQggASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEoAjwgASgCUCgCIEcEQCABKAJYQYz2ADYCGCABKAJQQdH+ADYCBAwICyABQQA2AjwgAUEANgI4CyABKAJQQdD+ADYCBAsgAUEBNgIQDAQLIAFBfTYCEAwDCyABQXw2AlwMBAsLIAFBfjYCXAwCCwsgASgCWCABKAJINgIMIAEoAlggASgCQDYCECABKAJYIAEoAkw2AgAgASgCWCABKAJENgIEIAEoAlAgASgCPDYCPCABKAJQIAEoAjg2AkACQAJAIAEoAlAoAiwNACABKAIwIAEoAlgoAhBGDQEgASgCUCgCBEHR/gBPDQEgASgCUCgCBEHO/gBJDQAgASgCVEEERg0BCyABKAJYIAEoAlgoAgwgASgCMCABKAJYKAIQaxDMAgRAIAEoAlBB0v4ANgIEIAFBfDYCXAwCCwsgASABKAI0IAEoAlgoAgRrNgI0IAEgASgCMCABKAJYKAIQazYCMCABKAJYIgAgASgCNCAAKAIIajYCCCABKAJYIgAgASgCMCAAKAIUajYCFCABKAJQIgAgASgCMCAAKAIgajYCIAJAIAEoAlAoAgxBBHFFDQAgASgCMEUNAAJ/IAEoAlAoAhQEQCABKAJQKAIcIAEoAlgoAgwgASgCMGsgASgCMBAdDAELIAEoAlAoAhwgASgCWCgCDCABKAIwayABKAIwEEALIQAgASgCUCAANgIcIAEoAlggADYCMAsgASgCWCABKAJQKAJAQcAAQQAgASgCUCgCCBtqQYABQQAgASgCUCgCBEG//gBGG2pBgAJBACABKAJQKAIEQcf+AEcEfyABKAJQKAIEQcL+AEYFQQELQQFxG2o2AiwCQAJAIAEoAjRFBEAgASgCMEUNAQsgASgCVEEERw0BCyABKAIQDQAgAUF7NgIQCyABIAEoAhA2AlwLIAEoAlwhACABQeAAaiQAIAAL6AIBAX8jAEEgayIBJAAgASAANgIYIAFBcTYCFCABQbCHATYCECABQTg2AgwCQAJAAkAgASgCEEUNACABKAIQLAAAQaDyACwAAEcNACABKAIMQThGDQELIAFBejYCHAwBCyABKAIYRQRAIAFBfjYCHAwBCyABKAIYQQA2AhggASgCGCgCIEUEQCABKAIYQQc2AiAgASgCGEEANgIoCyABKAIYKAIkRQRAIAEoAhhBCDYCJAsgASABKAIYKAIoQQFB0DcgASgCGCgCIBECADYCBCABKAIERQRAIAFBfDYCHAwBCyABKAIYIAEoAgQ2AhwgASgCBCABKAIYNgIAIAEoAgRBADYCOCABKAIEQbT+ADYCBCABIAEoAhggASgCFBDQAjYCCCABKAIIBEAgASgCGCgCKCABKAIEIAEoAhgoAiQRBAAgASgCGEEANgIcCyABIAEoAgg2AhwLIAEoAhwhACABQSBqJAAgAAutAgEBfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkAgAigCGBBNBEAgAkF+NgIcDAELIAIgAigCGCgCHDYCDAJAIAIoAhRBAEgEQCACQQA2AhAgAkEAIAIoAhRrNgIUDAELIAIgAigCFEEEdUEFajYCECACKAIUQTBIBEAgAiACKAIUQQ9xNgIUCwsCQCACKAIURQ0AIAIoAhRBCE4EQCACKAIUQQ9MDQELIAJBfjYCHAwBCwJAIAIoAgwoAjhFDQAgAigCDCgCKCACKAIURg0AIAIoAhgoAiggAigCDCgCOCACKAIYKAIkEQQAIAIoAgxBADYCOAsgAigCDCACKAIQNgIMIAIoAgwgAigCFDYCKCACIAIoAhgQ0QI2AhwLIAIoAhwhACACQSBqJAAgAAtyAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggQTQRAIAFBfjYCDAwBCyABIAEoAggoAhw2AgQgASgCBEEANgIsIAEoAgRBADYCMCABKAIEQQA2AjQgASABKAIIENICNgIMCyABKAIMIQAgAUEQaiQAIAALmwIBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCBBNBEAgAUF+NgIMDAELIAEgASgCCCgCHDYCBCABKAIEQQA2AiAgASgCCEEANgIUIAEoAghBADYCCCABKAIIQQA2AhggASgCBCgCDARAIAEoAgggASgCBCgCDEEBcTYCMAsgASgCBEG0/gA2AgQgASgCBEEANgIIIAEoAgRBADYCECABKAIEQYCAAjYCGCABKAIEQQA2AiQgASgCBEEANgI8IAEoAgRBADYCQCABKAIEIAEoAgRBtApqIgA2AnAgASgCBCAANgJUIAEoAgQgADYCUCABKAIEQQE2AsQ3IAEoAgRBfzYCyDcgAUEANgIMCyABKAIMIQAgAUEQaiQAIAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBUKAgICAgIDA/0N8IAVCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQQMAgsgBEKAgICAgICAgEB9IQQgAEKAgICAgICAgAiFQgBSDQEgBEIBgyAEfCEEDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBAwBC0KAgICAgICA+P8AIQQgBUL///////+//8MAVg0AQgAhBCAFQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQ4AIgAkEQaiAAIAQgA0H/iH9qENkCIAIpAwhCBIYgAikDACIAQjyIhCEEIAIpAxAgAikDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgBEIBfCEEDAELIABCgICAgICAgIAIhUIAUg0AIARCAYMgBHwhBAsgAkEgaiQAIAQgAUKAgICAgICAgIB/g4S/C5IVAQF/IwBB4ABrIgIgADYCXCACIAE2AlggAiACKAJcKAIcNgJUIAIgAigCXCgCADYCUCACIAIoAlAgAigCXCgCBEEFa2o2AkwgAiACKAJcKAIMNgJIIAIgAigCSCACKAJYIAIoAlwoAhBrazYCRCACIAIoAkggAigCXCgCEEGBAmtqNgJAIAIgAigCVCgCLDYCPCACIAIoAlQoAjA2AjggAiACKAJUKAI0NgI0IAIgAigCVCgCODYCMCACIAIoAlQoAjw2AiwgAiACKAJUKAJANgIoIAIgAigCVCgCUDYCJCACIAIoAlQoAlQ2AiAgAkEBIAIoAlQoAlh0QQFrNgIcIAJBASACKAJUKAJcdEEBazYCGANAIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCJCACKAIsIAIoAhxxQQJ0aigBADYBAAJAAkADQCACIAItABE2AgwgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAItABA2AgwgAigCDEUEQCACLwESIQAgAiACKAJIIgFBAWo2AkggASAAOgAADAILIAIoAgxBEHEEQCACIAIvARI2AgggAiACKAIMQQ9xNgIMIAIoAgwEQCACKAIoIAIoAgxJBEAgAiACKAJQIgBBAWo2AlAgAiACKAIsIAAtAAAgAigCKHRqNgIsIAIgAigCKEEIajYCKAsgAiACKAIIIAIoAixBASACKAIMdEEBa3FqNgIIIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AigLIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCICACKAIsIAIoAhhxQQJ0aigBADYBAAJAA0AgAiACLQARNgIMIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACLQAQNgIMIAIoAgxBEHEEQCACIAIvARI2AgQgAiACKAIMQQ9xNgIMIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoCwsgAiACKAIEIAIoAixBASACKAIMdEEBa3FqNgIEIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACKAJIIAIoAkRrNgIMAkAgAigCBCACKAIMSwRAIAIgAigCBCACKAIMazYCDCACKAIMIAIoAjhLBEAgAigCVCgCxDcEQCACKAJcQdDxADYCGCACKAJUQdH+ADYCBAwKCwsgAiACKAIwNgIAAkAgAigCNEUEQCACIAIoAgAgAigCPCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALDAELAkAgAigCNCACKAIMSQRAIAIgAigCACACKAI8IAIoAjRqIAIoAgxrajYCACACIAIoAgwgAigCNGs2AgwgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAjA2AgAgAigCNCACKAIISQRAIAIgAigCNDYCDCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsMAQsgAiACKAIAIAIoAjQgAigCDGtqNgIAIAIoAgwgAigCCEkEQCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsLA0AgAigCCEECTUUEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAghBA2s2AggMAQsLDAELIAIgAigCSCACKAIEazYCAANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCCACKAIIQQJLDQALCyACKAIIBEAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACKAIIQQFLBEAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAAAsLDAILIAIoAgxBwABxRQRAIAJBEGogAigCICACLwESIAIoAixBASACKAIMdEEBa3FqQQJ0aigBADYBAAwBCwsgAigCXEHu8QA2AhggAigCVEHR/gA2AgQMBAsMAgsgAigCDEHAAHFFBEAgAkEQaiACKAIkIAIvARIgAigCLEEBIAIoAgx0QQFrcWpBAnRqKAEANgEADAELCyACKAIM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AhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhggAigCFEkLQQFxDQALIAIoAihBggIgAigCFCACKAIYa2s2AmAgAigCKCgCYCACKAIoKAJ0SwRAIAIoAiggAigCKCgCdDYCYAsLCwJAIAIoAigoAmBBA08EQCACIAIoAigoAmBBfWo6ABMgAkEBOwEQIAIoAigiACgCpC0gACgCoC1BAXRqIAIvARA7AQAgAi0AEyEBIAIoAigiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvARBBf2o7ARAgAigCKCACLQATQaDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCKEGIE2oCfyACLwEQQYACSARAIAIvARAtAKBZDAELIAIvARBBB3VBgAJqLQCgWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdCACKAIoKAJgazYCdCACKAIoIgAgAigCKCgCYCAAKAJsajYCbCACKAIoQQA2AmAMAQsgAiACKAIoIgAoAjggACgCbGotAAA6AA8gAigCKCIAKAKkLSAAKAKgLUEBdGpBADsBACACLQAPIQEgAigCKCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIoAiggAi0AD0ECdGoiACAALwGUAUEBajsBlAEgAiACKAIoKAKgLSACKAIoKAKcLUEBa0Y2AiAgAigCKCIAIAAoAnRBf2o2AnQgAigCKCIAIAAoAmxBAWo2AmwLIAIoAiAEQCACKAIoAn8gAigCKCgCXEEATgRAIAIoAigoAjggAigCKCgCXGoMAQtBAAsgAigCKCgCbCACKAIoKAJca0EAECsgAigCKCACKAIoKAJsNgJcIAIoAigoAgAQHyACKAIo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AjBB//8DcRBOC0EAQQBBABBAIQAgAigCOCAANgIwIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCyACKAIsKAIEQTlGBEBBAEEAQQAQHSEAIAIoAjggADYCMCACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBHzoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBiwE6AAAgAigCLCgCCCEBIAIoAiwiAygCFCEAIAMgAEEBajYCFCAAIAFqQQg6AAACQCACKAIsKAIcRQRAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAAn9BAiACKAIsKAKEAUEJRg0AGkEBIQBBBEEAIAIoAiwoAogBQQJIBH8gAigCLCgChAFBAkgFQQELQQFxGwshACACKAIsKAIIIQMgAigCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogADoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBAzoAACACKAIsQfEANgIEIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwwBC0EBQQAgAigCLCgCHCgCABtBAkEAIAIoAiwoAhwoAiwbakEEQQAgAigCLCgCHCgCEBtqQQhBACACKAIsKAIcKAIcG2pBEEEAIAIoAiwoAhwoAiQbaiEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAiwoAhwoAgRB/wFxIQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCLCgCHCgCBEEIdkH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIU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FEEASA0AIAIoAhRBBEoNACACKAIcQQhHDQEgAigCBEEBRg0BCyACQX42AiwMAQsgAigCHEEIRgRAIAJBCTYCHAsgAiACKAIoKAIoQQFBxC0gAigCKCgCIBECADYCCCACKAIIRQRAIAJBfDYCLAwBCyACKAIoIAIoAgg2AhwgAigCCCACKAIoNgIAIAIoAghBKjYCBCACKAIIIAIoAgQ2AhggAigCCEEANgIcIAIoAgggAigCHDYCMCACKAIIQQEgAigCCCgCMHQ2AiwgAigCCCACKAIIKAIsQQFrNgI0IAIoAgggAigCGEEHajYCUCACKAIIQQEgAigCCCgCUHQ2AkwgAigCCCACKAIIKAJMQQFrNgJUIAIoAgggAigCCCgCUEECakEDbjYCWCACKAIoKAIoIAIoAggoAixBAiACKAIoKAIgEQIAIQAgAigCCCAANgI4IAIoAigoAiggAigCCCgCLEECIAIoAigoAiARAgAhACACKAIIIAA2AkAgAigCKCgCKCACKAIIKAJMQQIgAigCKCgCIBECACEAIAIoAgggADYCRCACKAIIQQA2AsAtIAIoAghBASACKAIYQQZqdDYCnC0gAiACKAIoKAIoIAIoAggoApwtQQQgAigCKCgCIBECADYCACACKAIIIAIoAgA2AgggAigCCCACKAIIKAKcLUECdDYCDAJAAkAgAigCCCgCOEUNACACKAIIKAJARQ0AIAIoAggoAkRFDQAgAigCCCgCCA0BCyACKAIIQZoFNgIEIAIoAihBiNkAKAIANgIYIAIoAigQqgEaIAJBfDYCLAwBCyACKAIIIAIoAgAgAigCCCgCnC1BAXZBAXRqNgKkLSACKAIIIAIoAggoAgggAigCCCgCnC1BA2xqNgKYLSACKAIIIAIoAiQ2AoQBIAIoAgggAigCFDYCiAEgAigCCCACKAIgOgAkIAIgAigCKBDeAjYCLAsgAigCLCEAIAJBMGokACAAC1ABAX4CQCADQcAAcQRAIAIgA0FAaq2IIQFCACECDAELIANFDQAgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiCECCyAAIAE3AwAgACACNwMIC2wBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADYCBANAIAIgAigCBCACKAIMQQFxcjYCBCACIAIoAgxBAXY2AgwgAiACKAIEQQF0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AygCGCADKAIMQRB0cjYCHAwBCwNAIAMoAhBBsCtJRQRAIAMgAygCEEGwK2s2AhAgA0HbAjYCCANAIAMgAygCFC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQABIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAIgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AAyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAEIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAUgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAHIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAggAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAKIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAsgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQANIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA4gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIUQRBqNgIUIAMgAygCCEF/aiIANgIIIAANAAsgAyADKAIYQfH/A3A2AhggAyADKAIMQfH/A3A2AgwMAQsLIAMoAhAEQANAIAMoAhBBEElFBEAgAyADKAIQQRBrNgIQIAMgAygCFC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQABIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAIgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AAyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAEIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAUgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAHIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAggAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAKIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAsgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQANIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA4gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADyADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIUQRBqNgIUDAELCwNAIAMgAygCECIAQX9qNgIQIAAEQCADIAMoAhQiAEEBajYCFCADIAAtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMDAELCyADIAMoAhhB8f8DcDYCGCADIAMoAgxB8f8DcDYCDAsgAyADKAIYIAMoAgxBEHRyNgIcCyADKAIcCykBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCACKAIIEBggAkEQaiQACzoBAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCCCADKAIEbBAbIQAgA0EQaiQAIAALhAICAX8BfiMAQeAAayICJAAgAiAANgJYIAIgATYCVCACIAIoAlggAkHIAGpCDBAvIgM3AwgCQCADQgBTBEAgAigCVCACKAJYEBogAkF/NgJcDAELIAIpAwhCDFIEQCACKAJUQRFBABAXIAJBfzYCXAwBCyACKAJUIAJByABqIgAgAEIMQQAQeSACKAJYIAJBEGoQOUEASARAIAJBADYCXAwBCyACKAI4IAJBBmogAkEEahC9AQJAIAItAFMgAigCPEEYdkYNACACLQBTIAIvAQZBCHVGDQAgAigCVEEbQQAQFyACQX82AlwMAQsgAkEANgJcCyACKAJcIQAgAkHgAGokACAAC9UDAQF/IwBB0ABrIgUk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BEAgA0IANwM4DAELIAMpAyhC////////////AFYEQCADQn83AzgMAQsgAyADKAI0KQNANwMYIAMgAygCNCkDOCADKAI0KAIEIAMpAxinQQN0aikDAH03AxAgA0IANwMgA0AgAykDICADKQMoVARAIAMCfiADKQMoIAMpAyB9IAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9VARAIAMpAyggAykDIH0MAQsgAygCNCgCACADKQMYp0EEdGopAwggAykDEH0LNwMIIAMoAjAgAykDIKdqIAMoAjQoAgAgAykDGKdBBHRqKAIAIAMpAxCnaiADKQMIpxAcGiADKQMIIAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9UQRAIAMgAykDGEIBfDcDGAsgAyADKQMIIAMpAyB8NwMgIANCADcDEAwBCwsgAygCNCIAIAMpAyAgACkDOHw3AzggAygCNCADKQMYNwNAIAMgAykDIDcDOAsgAykDOCECIANBQGskACACC64EAQF/IwBBQGoiAyQAIAMgADYCOCADIAE3AzAgAyACNgIsAkAgAykDMFAEQCADQQBCAEEBIAMoAiwQTzYCPAwBCyADKQMwIAMoAjgpAzBWBEAgAygCLEESQQAQFyADQQA2AjwMAQsgAygCOCgCKARAIAMoAixBHUEAEBcgA0EANgI8DAELIAMgAygCOCADKQMwELQBNwMgIAMgAykDMCADKAI4KAIEIAMpAyCnQQN0aikDAH03AxggAykDGFAEQCADIAMpAyBCf3w3AyAgAyADKAI4KAIAIAMpAyCnQQR0aikDCDcDGAsgAyADKAI4KAIAIAMpAyCnQQR0aikDCCADKQMYfTcDECADKQMQIAMpAzBWBEAgAygCLEEcQQAQFyADQQA2AjwMAQsgAyADKAI4KAIAIAMpAyBCAXxBACADKAIsEE8iADYCDCAARQRAIANBADYCPAwBCyADKAIMKAIAIAMoAgwpAwhCAX2nQQR0aiADKQMYNwMIIAMoAgwoAgQgAygCDCkDCKdBA3RqIAMpAzA3AwAgAygCDCADKQMwNwMwIAMoAgwCfiADKAI4KQMYIAMoAgwpAwhCAX1UBEAgAygCOCkDGAwBCyADKAIMKQMIQgF9CzcDGCADKAI4IAMoAgw2AiggAygCDCADKAI4NgIoIAMoAjggAygCDCkD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f0F/IAMpA5gBQv////8PWg0AGiADKQOYAacLECMgAygCLAJ/QX8gAykDoAFC/////w9aDQAaIAMpA6ABpwsQIyADAn8gAygCtAEtAChBAXEEQCADKAK0ASgCJAwBCyADKAK0ASgCIAs2ApQBIAMoAiwCfyADKAKUAQRAIAMoApQBLwEEDAELQQALQf//A3EQIgJ/IwBBEGsiACADKAIsNgIMIAAoAgwtAABBAXFFCwRAIAMoArQBQQhqQRRBABAXIAMoAiwQGSADQn83A7gBDAELIAMoArQBAn8jAEEQayIAIAMoAiw2AgwgACgCDCgCBAsCfiMAQRBrIgAgAygCLDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA8QQBIBEAgAygCLBAZIANCfzcDuAEMAQsgAygCLBAZIAMoApQBBEAgAygCtAEgAygClAEoAgAgAygClAEvAQStEDxBAEgEQCADQn83A7gBDAILCyADIAMpA5gBNwO4AQsgAykDuAEhAiADQcABaiQAIAILtwUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAXIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFyACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQKkEASARAIAIoAihBCGogAigCKCgCABAaIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQyIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAgOwESIAIgAigCFBAgOwEQIAIoAhQQSUEBcUUEQCACKAIUEBkgAigCKEEIakEUQQAQFyACQX82AiwMAQsgAigCFBAZIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQKkEASARAIAIoAihBCGpBBEG0nAEoAgAQFyACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQggE2AgggAigCCEUEQCACQX82AiwMAgsgAigCCCACLwEQQYACIAJBDGogAigCKEEIahDEAUEBcUUEQCACKAIIEBggAkF/NgIsDAILIAIoAggQGCACKAIMBEAgAiACKAIMEMMBNgIMIAIoAhwoAgAoAjQgAigCDBDFASEAIAIoAhwoAgAgADYCNAsLIAIoAhwoAgBBAToABAJAIAIoAhwoAgRFDQAgAigCHCgCBC0ABEEBcQ0AIAIoAhwoAgQgAigCHCgCACgCNDYCNCACKAIcKAIEQQE6AAQLIAJBADYCLAsgAigCLCEAIAJBMGokACAACwcAIAAvATALjAEBAX8jAEEgayICJAAgAiAANgIYIAIgATYCFCACQQA2AhACQCACKAIURQRAIAJBADYCHAwBCyACIAIoAhQQGzYCDCACKAIMRQRAIAIoAhBBDkEAEBcgAkEANgIcDAELIAIoAgwgAigCGCACKAIUEBwaIAIgAigCDDYCHAsgAigCHCEAIAJBIGokACAACwcAIAAoAiALiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBcgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAkNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCABKQMIEDE2AhwLIAEoAhwaIAFBIGokAAsHACAAKAIACwgAQQFBOBBlCwMAAQsL4Y0BJQBBgAgLEC0rICAgMFgweAAobnVsbCkAQaAIC0ERAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBB8QgLIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBBqwkLAQwAQbcJCxUMAAAAAAwAAAAACQwAAAAAAAwAAAwAQeUJCwEOAEHxCQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGfCgsBEABBqwoLHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBB4goLDhIAAAASEhIAAAAAAAAJAEGTCwsBCwBBnwsLFQoAAAAACgAAAAAJCwAAAAAACwAACwBBzQsLAQwAQdkLC+gGDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAE5vIGVycm9yAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFNlZWsgZXJyb3IAUmVhZCBlcnJvcgBXcml0ZSBlcnJvcgBDUkMgZXJyb3IAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAE5vIHN1Y2ggZmlsZQBGaWxlIGFscmVhZHkgZXhpc3RzAENhbid0IG9wZW4gZmlsZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBabGliIGVycm9yAE1hbGxvYyBmYWlsdXJlAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAEludmFsaWQgYXJndW1lbnQATm90IGEgemlwIGFyY2hpdmUASW50ZXJuYWwgZXJyb3IAWmlwIGFyY2hpdmUgaW5jb25zaXN0ZW50AENhbid0IHJlbW92ZSBmaWxlAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABSZWFkLW9ubHkgYXJjaGl2ZQBObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABSZXNvdXJjZSBzdGlsbCBpbiB1c2UAVGVsbCBlcnJvcgBDb21wcmVzc2VkIGRhdGEgaW52YWxpZAAAAAAAAAAlBgAALgYAAFQGAABzBgAAjgYAAJkGAACkBgAAsAYAALoGAADcBgAA6QYAAP0GAAANBwAALgcAADkHAABIBwAAXwcAAIAHAACWBwAApwcAALkHAADIBwAA4QcAAPMHAAAKCAAAKggAADwI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ogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA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AEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAVW5rbm93biBlcnJvciAlZAAlcyVzJXMAADogAC9wcm9jL3NlbGYvZmQvAC9kZXYvdXJhbmRvbQByd2EAJXMuWFhYWFhYAHIrYgByYgBQSwUGAEHAmQELAmBOAEH4mQELWQwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAABAAAACAAAAPhMAAAYTQAAHwAAAGRNAAADAEHkmgELjAEt9FFYz4yxwEb2tcspMQPHBFtwMLRd/SB4f4ua2FkpUGhIiaunVgNs/7fNiD/Ud7QrpaNw8brkqPxBg/3Zb+GKei8tdJYHHw0JXgN2LHD3QKUsp29XQaiqdN+gWGQDSsfEPFOur18YBBWx420ohqsMpL9D8OlQgTlXFlI3/////////////////////w==";RY(oh)||(oh=PCe(oh));function eme(){try{if(Fb)return new Uint8Array(Fb);var t=dY(oh);if(t)return t;if(kb)return kb(oh);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){or(e)}}function rme(){var t={a:tme};function e(n,s){var o=n.exports;V.asm=o,Ub("wasm-instantiate")}FY("wasm-instantiate");function r(){var n,s,o;try{o=eme(),s=new WebAssembly.Module(o),n=new WebAssembly.Instance(s,t)}catch(l){var a=l.toString();throw xr("failed to compile wasm module: "+a),(a.indexOf("imported Memory")>=0||a.indexOf("memory import")>=0)&&xr("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)."),l}e(n,s)}if(V.instantiateWasm)try{var i=V.instantiateWasm(t,e);return i}catch(n){return xr("Module.instantiateWasm callback failed with error: "+n),!1}return r(),V.asm}var wr,Ns;kY.push({func:function(){ime()}});function nme(t){return t}function sme(t){var e=/\b_Z[\w\d_]+/g;return t.replace(e,function(r){var i=nme(r);return r===i?r:i+" ["+r+"]"})}function ome(){var t=new Error;if(!t.stack){try{throw new Error}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function ame(){var t=ome();return V.extraStackTrace&&(t+=` -`+V.extraStackTrace()),sme(t)}function Ame(){}var st={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=st.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=st.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return st.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return st.normalize(t.join("/"))},join2:function(t,e){return st.normalize(t+"/"+e)}};function bm(t){return V.___errno_location&&(Ne[V.___errno_location()>>2]=t),t}var Xn={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=st.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=Xn.resolve(t).substr(1),e=Xn.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` -`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` -`));if(!e)return null;t.input=Yb(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(ih(zl(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(ih(zl(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(xr(zl(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(xr(zl(t.output,0)),t.output=[])}}},tt={ops_table:null,mount:function(t){return tt.createNode(null,"/",16384|511,0)},createNode:function(t,e,r,i){if(E.isBlkdev(r)||E.isFIFO(r))throw new E.ErrnoError(63);tt.ops_table||(tt.ops_table={dir:{node:{getattr:tt.node_ops.getattr,setattr:tt.node_ops.setattr,lookup:tt.node_ops.lookup,mknod:tt.node_ops.mknod,rename:tt.node_ops.rename,unlink:tt.node_ops.unlink,rmdir:tt.node_ops.rmdir,readdir:tt.node_ops.readdir,symlink:tt.node_ops.symlink},stream:{llseek:tt.stream_ops.llseek}},file:{node:{getattr:tt.node_ops.getattr,setattr:tt.node_ops.setattr},stream:{llseek:tt.stream_ops.llseek,read:tt.stream_ops.read,write:tt.stream_ops.write,allocate:tt.stream_ops.allocate,mmap:tt.stream_ops.mmap,msync:tt.stream_ops.msync}},link:{node:{getattr:tt.node_ops.getattr,setattr:tt.node_ops.setattr,readlink:tt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:tt.node_ops.getattr,setattr:tt.node_ops.setattr},stream:E.chrdev_stream_ops}});var n=E.createNode(t,e,r,i);return E.isDir(n.mode)?(n.node_ops=tt.ops_table.dir.node,n.stream_ops=tt.ops_table.dir.stream,n.contents={}):E.isFile(n.mode)?(n.node_ops=tt.ops_table.file.node,n.stream_ops=tt.ops_table.file.stream,n.usedBytes=0,n.contents=null):E.isLink(n.mode)?(n.node_ops=tt.ops_table.link.node,n.stream_ops=tt.ops_table.link.stream):E.isChrdev(n.mode)&&(n.node_ops=tt.ops_table.chrdev.node,n.stream_ops=tt.ops_table.chrdev.stream),n.timestamp=Date.now(),t&&(t.contents[e]=n),n},getFileDataAsRegularArray:function(t){if(t.contents&&t.contents.subarray){for(var e=[],r=0;r=e)){var i=1024*1024;e=Math.max(e,r*(r0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e){if(e==0){t.contents=null,t.usedBytes=0;return}if(!t.contents||t.contents.subarray){var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e;return}if(t.contents||(t.contents=[]),t.contents.length>e)t.contents.length=e;else for(;t.contents.length=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||n+i>2)}catch(r){throw r.code?new E.ErrnoError(Je.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),st.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Je.flagsForNodeMap)t&r&&(e|=Je.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Je.realPath(t),r;try{r=et.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Je.convertNodeCode(i)):i}return Je.isWindows&&!r.blksize&&(r.blksize=4096),Je.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Je.realPath(t);try{if(e.mode!==void 0&&(et.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);et.utimesSync(r,i,i)}e.size!==void 0&&et.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Je.convertNodeCode(n)):n}},lookup:function(t,e){var r=st.join2(Je.realPath(t),e),i=Je.getMode(r);return Je.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Je.createNode(t,e,r,i),s=Je.realPath(n);try{E.isDir(n.mode)?et.mkdirSync(s,n.mode):et.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Je.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Je.realPath(t),n=st.join2(Je.realPath(e),r);try{et.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Je.convertNodeCode(s)):s}},unlink:function(t,e){var r=st.join2(Je.realPath(t),e);try{et.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Je.convertNodeCode(i)):i}},rmdir:function(t,e){var r=st.join2(Je.realPath(t),e);try{et.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Je.convertNodeCode(i)):i}},readdir:function(t){var e=Je.realPath(t);try{return et.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Je.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=st.join2(Je.realPath(t),e);try{et.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Je.convertNodeCode(n)):n}},readlink:function(t){var e=Je.realPath(t);try{return e=et.readlinkSync(e),e=jb.relative(jb.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Je.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Je.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=et.openSync(e,Je.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Je.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&et.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Je.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return et.readSync(t.nfd,Je.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Je.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return et.writeSync(t.nfd,Je.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Je.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=et.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Je.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i}}},LY={lookupPath:function(t){return{path:t,node:{mode:Je.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?et.mkdirSync(t,e):et.writeFileSync(t,"",{mode:e})},mkdir:function(){et.mkdirSync.apply(void 0,arguments)},symlink:function(){et.symlinkSync.apply(void 0,arguments)},rename:function(){et.renameSync.apply(void 0,arguments)},rmdir:function(){et.rmdirSync.apply(void 0,arguments)},readdir:function(){et.readdirSync.apply(void 0,arguments)},unlink:function(){et.unlinkSync.apply(void 0,arguments)},readlink:function(){return et.readlinkSync.apply(void 0,arguments)},stat:function(){return et.statSync.apply(void 0,arguments)},lstat:function(){return et.lstatSync.apply(void 0,arguments)},chmod:function(){et.chmodSync.apply(void 0,arguments)},fchmod:function(){et.fchmodSync.apply(void 0,arguments)},chown:function(){et.chownSync.apply(void 0,arguments)},fchown:function(){et.fchownSync.apply(void 0,arguments)},truncate:function(){et.truncateSync.apply(void 0,arguments)},ftruncate:function(){et.ftruncateSync.apply(void 0,arguments)},utime:function(){et.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=ah.modeStringToFlags(e));var n=et.openSync(t,Je.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||et.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return ah.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=et.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(eA.EINVAL);if(i<0)throw new E.ErrnoError(eA.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return ah.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=et.readSync(t.nfd,Je.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return ah.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=et.writeSync(t.nfd,Je.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(eA.EOPNOTSUPP)},mmap:function(){throw new E.ErrnoError(eA.ENODEV)},msync:function(){return 0},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(eA.ENOTTY)}},E={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(t){if(!(t instanceof E.ErrnoError))throw t+" : "+ame();return bm(t.errno)},lookupPath:function(t,e){if(t=Xn.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=st.normalizeArray(t.split("/").filter(function(h){return!!h}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){if(!E.FSNode){E.FSNode=function(a,l,c,u){a||(a=this),this.parent=a,this.mount=a.mount,this.mounted=null,this.id=E.nextInode++,this.name=l,this.mode=c,this.node_ops={},this.stream_ops={},this.rdev=u},E.FSNode.prototype={};var n=292|73,s=146;Object.defineProperties(E.FSNode.prototype,{read:{get:function(){return(this.mode&n)===n},set:function(a){a?this.mode|=n:this.mode&=~n}},write:{get:function(){return(this.mode&s)===s},set:function(a){a?this.mode|=s:this.mode&=~s}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}})}var o=new E.FSNode(t,e,r,i);return E.hashAddNode(o),o},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.indexOf("r")!==-1&&!(t.mode&292)||e.indexOf("w")!==-1&&!(t.mode&146)||e.indexOf("x")!==-1&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={},Object.defineProperties(E.FSStream.prototype,{object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}}));var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&xr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.indexOf(a.mount)!==-1&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=st.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||h<0)){var f=h%this.chunkSize,p=h/this.chunkSize|0;return this.getter(p)[f]}},s.prototype.setDataGetter=function(h){this.getter=h},s.prototype.cacheLength=function(){var h=new XMLHttpRequest;if(h.open("HEAD",r,!1),h.send(null),!(h.status>=200&&h.status<300||h.status===304))throw new Error("Couldn't load "+r+". Status: "+h.status);var f=Number(h.getResponseHeader("Content-length")),p,m=(p=h.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=h.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=f);var B=function(k,N){if(k>N)throw new Error("invalid range ("+k+", "+N+") or no bytes requested!");if(N>f-1)throw new Error("only "+f+" bytes available! programmer error!");var O=new XMLHttpRequest;if(O.open("GET",r,!1),f!==y&&O.setRequestHeader("Range","bytes="+k+"-"+N),typeof Uint8Array!="undefined"&&(O.responseType="arraybuffer"),O.overrideMimeType&&O.overrideMimeType("text/plain; charset=x-user-defined"),O.send(null),!(O.status>=200&&O.status<300||O.status===304))throw new Error("Couldn't load "+r+". Status: "+O.status);return O.response!==void 0?new Uint8Array(O.response||[]):Yb(O.responseText||"",!0)},P=this;P.setDataGetter(function(k){var N=k*y,O=(k+1)*y-1;if(O=Math.min(O,f-1),typeof P.chunks[k]=="undefined"&&(P.chunks[k]=B(N,O)),typeof P.chunks[k]=="undefined")throw new Error("doXHR failed!");return P.chunks[k]}),(I||!f)&&(y=f=1,f=this.getter(0).length,y=f,ih("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=f,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!fY)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var h=l.stream_ops[g];c[g]=function(){if(!E.forceLoadFile(l))throw new E.ErrnoError(29);return h.apply(null,arguments)}}),c.read=function(h,f,p,m,I){if(!E.forceLoadFile(l))throw new E.ErrnoError(29);var y=h.node.contents;if(I>=y.length)return 0;var B=Math.min(y.length-I,m);if(y.slice)for(var P=0;P>2]=i.dev,Ne[r+4>>2]=0,Ne[r+8>>2]=i.ino,Ne[r+12>>2]=i.mode,Ne[r+16>>2]=i.nlink,Ne[r+20>>2]=i.uid,Ne[r+24>>2]=i.gid,Ne[r+28>>2]=i.rdev,Ne[r+32>>2]=0,Ns=[i.size>>>0,(wr=i.size,+Mb(wr)>=1?wr>0?(Tb(+Ob(wr/4294967296),4294967295)|0)>>>0:~~+Nb((wr-+(~~wr>>>0))/4294967296)>>>0:0)],Ne[r+40>>2]=Ns[0],Ne[r+44>>2]=Ns[1],Ne[r+48>>2]=4096,Ne[r+52>>2]=i.blocks,Ne[r+56>>2]=i.atime.getTime()/1e3|0,Ne[r+60>>2]=0,Ne[r+64>>2]=i.mtime.getTime()/1e3|0,Ne[r+68>>2]=0,Ne[r+72>>2]=i.ctime.getTime()/1e3|0,Ne[r+76>>2]=0,Ns=[i.ino>>>0,(wr=i.ino,+Mb(wr)>=1?wr>0?(Tb(+Ob(wr/4294967296),4294967295)|0)>>>0:~~+Nb((wr-+(~~wr>>>0))/4294967296)>>>0:0)],Ne[r+80>>2]=Ns[0],Ne[r+84>>2]=Ns[1],0},doMsync:function(t,e,r,i,n){var s=_a.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=st.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,wm(i)),s=mi[e+n];return Lb(i,e,r+1),mi[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=Ne[e+(s*8+4)>>2],l=E.read(t,mi,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=Ne[e+(s*8+4)>>2],l=E.write(t,mi,o,a,i);if(l<0)return-1;n+=l}return n},varargs:0,get:function(t){qe.varargs+=4;var e=Ne[qe.varargs-4>>2];return e},getStr:function(){var t=BY(qe.get());return t},getStreamFromFD:function(t){t===void 0&&(t=qe.get());var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(){var t=qe.get(),e=qe.get();return t},getZero:function(){qe.get()}};function lme(t,e){qe.varargs=e;try{var r=qe.getStr();return E.unlink(r),0}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&or(i),-i.errno}}function cme(t,e){qe.varargs=e;try{var r=qe.getStr(),i=qe.get();return E.chmod(r,i),0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&or(n),-n.errno}}function ume(t,e){qe.varargs=e;try{var r=qe.getStr(),i=qe.get();return qe.doStat(E.stat,r,i)}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&or(n),-n.errno}}function gme(t,e){qe.varargs=e;try{var r=qe.getStreamFromFD(),i=qe.get();return qe.doStat(E.stat,r.path,i)}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&or(n),-n.errno}}function hme(t,e){qe.varargs=e;try{var r=qe.getStreamFromFD(),i=qe.get();switch(i){case 0:{var n=qe.get();if(n<0)return-28;var s;return s=E.open(r.path,r.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return r.flags;case 4:{var n=qe.get();return r.flags|=n,0}case 12:{var n=qe.get(),o=0;return Rb[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return bm(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&or(a),-a.errno}}function fme(t,e){qe.varargs=e;try{var r=qe.getStreamFromFD(),i=qe.get(),n=qe.get();return E.read(r,mi,i,n)}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&or(s),-s.errno}}function pme(t,e){qe.varargs=e;try{var r=qe.getStr(),i=qe.getStr();return E.rename(r,i),0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&or(n),-n.errno}}function dme(t,e){qe.varargs=e;try{var r=qe.getStr();return E.rmdir(r),0}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&or(i),-i.errno}}function Cme(t,e){qe.varargs=e;try{var r=qe.getStr(),i=qe.get(),n=qe.get(),s=E.open(r,i,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&or(o),-o.errno}}function mme(t,e){qe.varargs=e;try{var r=qe.getStreamFromFD(),i=qe.get();switch(i){case 21509:case 21505:return r.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return r.tty?0:-59;case 21519:{if(!r.tty)return-59;var n=qe.get();return Ne[n>>2]=0,0}case 21520:return r.tty?-28:-59;case 21531:{var n=qe.get();return E.ioctl(r,i,n)}case 21523:return r.tty?0:-59;case 21524:return r.tty?0:-59;default:or("bad ioctl syscall "+i)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&or(s),-s.errno}}function Ime(){}function Eme(){return _a.length}function yme(t,e,r){_a.set(_a.subarray(e,e+r),t)}function Bme(t){try{return Za.grow(t-nh.byteLength+65535>>16),SY(Za.buffer),1}catch(e){}}function wme(t){var e=Eme(),r=65536,i=2147483648-r;if(t>i)return!1;for(var n=16777216,s=1;s<=4;s*=2){var o=e*(1+.2/s);o=Math.min(o,t+100663296);var a=Math.min(i,UCe(Math.max(n,t,o),r)),l=Bme(a);if(l)return!0}return!1}function Qme(t){try{var e=qe.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&or(r),r.errno}}function bme(t,e){try{var r=qe.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return mi[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&or(n),n.errno}}function Dme(t,e,r,i){try{var n=qe.getStreamFromFD(t),s=qe.doReadv(n,e,r);return Ne[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&or(o),o.errno}}function Sme(t,e,r,i,n){try{var s=qe.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),Ns=[s.position>>>0,(wr=s.position,+Mb(wr)>=1?wr>0?(Tb(+Ob(wr/4294967296),4294967295)|0)>>>0:~~+Nb((wr-+(~~wr>>>0))/4294967296)>>>0:0)],Ne[n>>2]=Ns[0],Ne[n+4>>2]=Ns[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&or(c),c.errno}}function Pme(t,e,r,i){try{var n=qe.getStreamFromFD(t),s=qe.doWritev(n,e,r);return Ne[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&or(o),o.errno}}var xme=20656,kme=(Lb("GMT",20704,4),20704);function vme(t,e){var r=new Date(Ne[t>>2]*1e3);Ne[e>>2]=r.getUTCSeconds(),Ne[e+4>>2]=r.getUTCMinutes(),Ne[e+8>>2]=r.getUTCHours(),Ne[e+12>>2]=r.getUTCDate(),Ne[e+16>>2]=r.getUTCMonth(),Ne[e+20>>2]=r.getUTCFullYear()-1900,Ne[e+24>>2]=r.getUTCDay(),Ne[e+36>>2]=0,Ne[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ne[e+28>>2]=n,Ne[e+40>>2]=kme,e}function Fme(t){return vme(t,xme)}function Rme(t){kCe(t|0)}function Lme(t){var e=Date.now()/1e3|0;return t&&(Ne[t>>2]=e),e}function Gb(){if(Gb.called)return;Gb.called=!0,Ne[Nme()>>2]=new Date().getTimezoneOffset()*60;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1);Ne[Mme()>>2]=Number(e.getTimezoneOffset()!=r.getTimezoneOffset());function i(l){var c=l.toTimeString().match(/\(([A-Za-z ]+)\)$/);return c?c[1]:"GMT"}var n=i(e),s=i(r),o=DY(n),a=DY(s);r.getTimezoneOffset()>2]=o,Ne[Dm()+4>>2]=a):(Ne[Dm()>>2]=a,Ne[Dm()+4>>2]=o)}function Ome(t){Gb();var e=Date.UTC(Ne[t+20>>2]+1900,Ne[t+16>>2],Ne[t+12>>2],Ne[t+8>>2],Ne[t+4>>2],Ne[t>>2],0),r=new Date(e);Ne[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ne[t+28>>2]=n,r.getTime()/1e3|0}E.staticInit();Va&&(et=uY,jb=require("path"),Je.staticInit());var et,jb;if(Va){MY=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(eA[e.code]):e}}},ah=Object.assign({},E);for(var NY in LY)E[NY]=MY(LY[NY])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var MY,ah;function Yb(t,e,r){var i=r>0?r:wm(t)+1,n=new Array(i),s=Bm(t,n,0,n.length);return e&&(n.length=s),n}var Tme=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(zCe(),$a>0))return;function e(){Sm||(Sm=!0,!EY&&(XCe(),VCe(),V.onRuntimeInitialized&&V.onRuntimeInitialized(),_Ce()))}V.setStatus?(V.setStatus("Running..."),setTimeout(function(){setTimeout(function(){V.setStatus("")},1),e()},1)):e()}V.run=qb;if(V.preInit)for(typeof V.preInit=="function"&&(V.preInit=[V.preInit]);V.preInit.length>0;)V.preInit.pop()();CY=!0;qb()});var UY=C((Y6e,KY)=>{"use strict";function Ume(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function tA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,tA)}Ume(tA,Error);tA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g>",W=ut(">>",!1),ie=">&",ae=ut(">&",!1),me=">",ot=ut(">",!1),ct="<<<",wt=ut("<<<",!1),In="<&",li=ut("<&",!1),Jt="<",Yi=ut("<",!1),Tn=function(d){return{type:"argument",segments:[].concat(...d)}},Ca=function(d){return d},xu="'",lo=ut("'",!1),nd=function(d){return[{type:"text",text:d}]},sd='"',od=ut('"',!1),ku=function(d){return d},_y=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},$y=function(d){return{type:"shell",shell:d,quoted:!0}},ad=function(d){return{type:"variable",...d,quoted:!0}},Ad=function(d){return{type:"text",text:d}},eB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},ld=function(d){return{type:"shell",shell:d,quoted:!1}},tB=function(d){return{type:"variable",...d,quoted:!1}},rB=function(d){return{type:"glob",pattern:d}},ds="\\",co=ut("\\",!1),ji=ms(),Pi=function(d){return d},cd=/^[^']/,ud=Rr(["'"],!0,!1),ma=function(d){return d.join("")},gd=/^[^$"]/,hd=Rr(["$",'"'],!0,!1),il="-",vu=ut("-",!1),Fu="+",nl=ut("+",!1),uo=/^[0-9]/,go=Rr([["0","9"]],!1,!1),iB=".",nB=ut(".",!1),sB=function(d,Q,x){return{type:"number",value:(d==="-"?-1:1)*parseFloat(Q.join("")+"."+x.join(""))}},fd=function(d,Q){return{type:"number",value:(d==="-"?-1:1)*parseInt(Q.join(""))}},pd=function(d){return{type:"variable",...d}},oB=function(d){return{type:"variable",name:d}},dd=function(d){return d},Cd="*",md=ut("*",!1),aB=function(d,Q){return{type:"multiplication",left:d,right:Q}},AB="/",lB=ut("/",!1),cB=function(d,Q){return{type:"division",left:d,right:Q}},uB=function(d,Q){return{type:"addition",left:d,right:Q}},L=function(d,Q){return{type:"subtraction",left:d,right:Q}},_e="$((",sl=ut("$((",!1),xi="))",Ru=ut("))",!1),Fe=function(d){return d},Ia="$(",Id=ut("$(",!1),sR=function(d){return d},Ea="${",Ed=ut("${",!1),vt=":-",Kn=ut(":-",!1),gB=function(d,Q){return{name:d,defaultValue:Q}},yd=":-}",ho=ut(":-}",!1),Bd=function(d){return{name:d,defaultValue:[]}},fo=function(d){return{name:d}},Ye="$",hB=ut("$",!1),wd=function(d){return e.isGlobPattern(d)},Qd=function(d){return d},bd=/^[a-zA-Z0-9_]/,Lu=Rr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Mu=function(){return pB()},Nu=/^[$@*?#a-zA-Z0-9_\-]/,ya=Rr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Ba=/^[(){}<>$|&; \t"']/,fB=Rr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Dd=/^[<>&; \t"']/,Sd=Rr(["<",">","&",";"," "," ",'"',"'"],!1,!1),Pd=/^[ \t]/,po=Rr([" "," "],!1,!1),D=0,xe=0,wa=[{line:1,column:1}],ci=0,ol=[],ye=0,Cs;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pB(){return t.substring(xe,D)}function dB(){return M(xe,D)}function Ou(d,Q){throw Q=Q!==void 0?Q:M(xe,D),ge([al(d)],t.substring(xe,D),Q)}function lr(d,Q){throw Q=Q!==void 0?Q:M(xe,D),de(d,Q)}function ut(d,Q){return{type:"literal",text:d,ignoreCase:Q}}function Rr(d,Q,x){return{type:"class",parts:d,inverted:Q,ignoreCase:x}}function ms(){return{type:"any"}}function xd(){return{type:"end"}}function al(d){return{type:"other",description:d}}function S(d){var Q=wa[d],x;if(Q)return Q;for(x=d-1;!wa[x];)x--;for(Q=wa[x],Q={line:Q.line,column:Q.column};xci&&(ci=D,ol=[]),ol.push(d))}function de(d,Q){return new tA(d,null,null,Q)}function ge(d,Q,x){return new tA(tA.buildMessage(d,Q),d,Q,x)}function ve(){var d,Q;return d=D,Q=Ze(),Q===r&&(Q=null),Q!==r&&(xe=d,Q=s(Q)),d=Q,d}function Ze(){var d,Q,x,K,_;if(d=D,Q=CB(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();x!==r?(K=Is(),K!==r?(_=Ft(),_===r&&(_=null),_!==r?(xe=d,Q=o(Q,K,_),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;if(d===r)if(d=D,Q=CB(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();x!==r?(K=Is(),K===r&&(K=null),K!==r?(xe=d,Q=a(Q,K),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;return d}function Ft(){var d,Q,x,K,_;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r)if(x=Ze(),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();K!==r?(xe=d,Q=l(x),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r;return d}function Is(){var d;return t.charCodeAt(D)===59?(d=c,D++):(d=r,ye===0&&H(u)),d===r&&(t.charCodeAt(D)===38?(d=g,D++):(d=r,ye===0&&H(h))),d}function CB(){var d,Q,x;return d=D,Q=oR(),Q!==r?(x=Vne(),x===r&&(x=null),x!==r?(xe=d,Q=f(Q,x),d=Q):(D=d,d=r)):(D=d,d=r),d}function Vne(){var d,Q,x,K,_,Be,Qt;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r)if(x=Zne(),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();if(K!==r)if(_=CB(),_!==r){for(Be=[],Qt=Ie();Qt!==r;)Be.push(Qt),Qt=Ie();Be!==r?(xe=d,Q=p(x,_),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r;return d}function Zne(){var d;return t.substr(D,2)===m?(d=m,D+=2):(d=r,ye===0&&H(I)),d===r&&(t.substr(D,2)===y?(d=y,D+=2):(d=r,ye===0&&H(B))),d}function oR(){var d,Q,x;return d=D,Q=ese(),Q!==r?(x=_ne(),x===r&&(x=null),x!==r?(xe=d,Q=P(Q,x),d=Q):(D=d,d=r)):(D=d,d=r),d}function _ne(){var d,Q,x,K,_,Be,Qt;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r)if(x=$ne(),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();if(K!==r)if(_=oR(),_!==r){for(Be=[],Qt=Ie();Qt!==r;)Be.push(Qt),Qt=Ie();Be!==r?(xe=d,Q=k(x,_),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r;return d}function $ne(){var d;return t.substr(D,2)===N?(d=N,D+=2):(d=r,ye===0&&H(O)),d===r&&(t.charCodeAt(D)===124?(d=v,D++):(d=r,ye===0&&H(U))),d}function kd(){var d,Q,x,K,_,Be;if(d=D,Q=fR(),Q!==r)if(t.charCodeAt(D)===61?(x=re,D++):(x=r,ye===0&&H(F)),x!==r)if(K=AR(),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(xe=d,Q=A(Q,K),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r;else D=d,d=r;if(d===r)if(d=D,Q=fR(),Q!==r)if(t.charCodeAt(D)===61?(x=re,D++):(x=r,ye===0&&H(F)),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();K!==r?(xe=d,Q=q(Q),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r;return d}function ese(){var d,Q,x,K,_,Be,Qt,Al,Lr,ui,Co;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r)if(t.charCodeAt(D)===40?(x=Z,D++):(x=r,ye===0&&H($)),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();if(K!==r)if(_=Ze(),_!==r){for(Be=[],Qt=Ie();Qt!==r;)Be.push(Qt),Qt=Ie();if(Be!==r)if(t.charCodeAt(D)===41?(Qt=T,D++):(Qt=r,ye===0&&H(G)),Qt!==r){for(Al=[],Lr=Ie();Lr!==r;)Al.push(Lr),Lr=Ie();if(Al!==r){for(Lr=[],ui=Tu();ui!==r;)Lr.push(ui),ui=Tu();if(Lr!==r){for(ui=[],Co=Ie();Co!==r;)ui.push(Co),Co=Ie();ui!==r?(xe=d,Q=Qe(_,Lr),d=Q):(D=d,d=r)}else D=d,d=r}else D=d,d=r}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r;if(d===r){for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r)if(t.charCodeAt(D)===123?(x=Pe,D++):(x=r,ye===0&&H(He)),x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();if(K!==r)if(_=Ze(),_!==r){for(Be=[],Qt=Ie();Qt!==r;)Be.push(Qt),Qt=Ie();if(Be!==r)if(t.charCodeAt(D)===125?(Qt=Re,D++):(Qt=r,ye===0&&H(ee)),Qt!==r){for(Al=[],Lr=Ie();Lr!==r;)Al.push(Lr),Lr=Ie();if(Al!==r){for(Lr=[],ui=Tu();ui!==r;)Lr.push(ui),ui=Tu();if(Lr!==r){for(ui=[],Co=Ie();Co!==r;)ui.push(Co),Co=Ie();ui!==r?(xe=d,Q=ne(_,Lr),d=Q):(D=d,d=r)}else D=d,d=r}else D=d,d=r}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r}else D=d,d=r;else D=d,d=r;if(d===r){for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r){for(x=[],K=kd();K!==r;)x.push(K),K=kd();if(x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();if(K!==r){if(_=[],Be=aR(),Be!==r)for(;Be!==r;)_.push(Be),Be=aR();else _=r;if(_!==r){for(Be=[],Qt=Ie();Qt!==r;)Be.push(Qt),Qt=Ie();Be!==r?(xe=d,Q=Ee(x,_),d=Q):(D=d,d=r)}else D=d,d=r}else D=d,d=r}else D=d,d=r}else D=d,d=r;if(d===r){for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r){if(x=[],K=kd(),K!==r)for(;K!==r;)x.push(K),K=kd();else x=r;if(x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();K!==r?(xe=d,Q=le(x),d=Q):(D=d,d=r)}else D=d,d=r}else D=d,d=r}}}return d}function tse(){var d,Q,x,K,_;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r){if(x=[],K=vd(),K!==r)for(;K!==r;)x.push(K),K=vd();else x=r;if(x!==r){for(K=[],_=Ie();_!==r;)K.push(_),_=Ie();K!==r?(xe=d,Q=fe(x),d=Q):(D=d,d=r)}else D=d,d=r}else D=d,d=r;return d}function aR(){var d,Q,x;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();if(Q!==r?(x=Tu(),x!==r?(xe=d,Q=ue(x),d=Q):(D=d,d=r)):(D=d,d=r),d===r){for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();Q!==r?(x=vd(),x!==r?(xe=d,Q=ue(x),d=Q):(D=d,d=r)):(D=d,d=r)}return d}function Tu(){var d,Q,x,K;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();return Q!==r?(x=rse(),x!==r?(K=vd(),K!==r?(xe=d,Q=De(x,K),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d}function rse(){var d;return t.substr(D,2)===z?(d=z,D+=2):(d=r,ye===0&&H(W)),d===r&&(t.substr(D,2)===ie?(d=ie,D+=2):(d=r,ye===0&&H(ae)),d===r&&(t.charCodeAt(D)===62?(d=me,D++):(d=r,ye===0&&H(ot)),d===r&&(t.substr(D,3)===ct?(d=ct,D+=3):(d=r,ye===0&&H(wt)),d===r&&(t.substr(D,2)===In?(d=In,D+=2):(d=r,ye===0&&H(li)),d===r&&(t.charCodeAt(D)===60?(d=Jt,D++):(d=r,ye===0&&H(Yi))))))),d}function vd(){var d,Q,x;for(d=D,Q=[],x=Ie();x!==r;)Q.push(x),x=Ie();return Q!==r?(x=AR(),x!==r?(xe=d,Q=ue(x),d=Q):(D=d,d=r)):(D=d,d=r),d}function AR(){var d,Q,x;if(d=D,Q=[],x=lR(),x!==r)for(;x!==r;)Q.push(x),x=lR();else Q=r;return Q!==r&&(xe=d,Q=Tn(Q)),d=Q,d}function lR(){var d,Q;return d=D,Q=ise(),Q!==r&&(xe=d,Q=Ca(Q)),d=Q,d===r&&(d=D,Q=nse(),Q!==r&&(xe=d,Q=Ca(Q)),d=Q,d===r&&(d=D,Q=sse(),Q!==r&&(xe=d,Q=Ca(Q)),d=Q)),d}function ise(){var d,Q,x,K;return d=D,t.charCodeAt(D)===39?(Q=xu,D++):(Q=r,ye===0&&H(lo)),Q!==r?(x=ose(),x!==r?(t.charCodeAt(D)===39?(K=xu,D++):(K=r,ye===0&&H(lo)),K!==r?(xe=d,Q=nd(x),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d}function nse(){var d,Q,x,K;if(d=D,t.charCodeAt(D)===34?(Q=sd,D++):(Q=r,ye===0&&H(od)),Q!==r){for(x=[],K=cR();K!==r;)x.push(K),K=cR();x!==r?(t.charCodeAt(D)===34?(K=sd,D++):(K=r,ye===0&&H(od)),K!==r?(xe=d,Q=ku(x),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;return d}function sse(){var d,Q,x;if(d=D,Q=[],x=uR(),x!==r)for(;x!==r;)Q.push(x),x=uR();else Q=r;return Q!==r&&(xe=d,Q=ku(Q)),d=Q,d}function cR(){var d,Q;return d=D,Q=gR(),Q!==r&&(xe=d,Q=_y(Q)),d=Q,d===r&&(d=D,Q=hR(),Q!==r&&(xe=d,Q=$y(Q)),d=Q,d===r&&(d=D,Q=IB(),Q!==r&&(xe=d,Q=ad(Q)),d=Q,d===r&&(d=D,Q=ase(),Q!==r&&(xe=d,Q=Ad(Q)),d=Q))),d}function uR(){var d,Q;return d=D,Q=gR(),Q!==r&&(xe=d,Q=eB(Q)),d=Q,d===r&&(d=D,Q=hR(),Q!==r&&(xe=d,Q=ld(Q)),d=Q,d===r&&(d=D,Q=IB(),Q!==r&&(xe=d,Q=tB(Q)),d=Q,d===r&&(d=D,Q=lse(),Q!==r&&(xe=d,Q=rB(Q)),d=Q,d===r&&(d=D,Q=Ase(),Q!==r&&(xe=d,Q=Ad(Q)),d=Q)))),d}function ose(){var d,Q,x,K,_;for(d=D,Q=[],x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(cd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(ud)));x!==r;)Q.push(x),x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(cd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(ud)));return Q!==r&&(xe=d,Q=ma(Q)),d=Q,d}function ase(){var d,Q,x,K,_;if(d=D,Q=[],x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(gd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(hd))),x!==r)for(;x!==r;)Q.push(x),x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(gd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(hd)));else Q=r;return Q!==r&&(xe=d,Q=ma(Q)),d=Q,d}function Ase(){var d,Q,x,K,_;if(d=D,Q=[],x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(x=D,K=D,ye++,_=pR(),ye--,_===r?K=void 0:(D=K,K=r),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r)),x!==r)for(;x!==r;)Q.push(x),x=D,t.charCodeAt(D)===92?(K=ds,D++):(K=r,ye===0&&H(co)),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x===r&&(x=D,K=D,ye++,_=pR(),ye--,_===r?K=void 0:(D=K,K=r),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r));else Q=r;return Q!==r&&(xe=d,Q=ma(Q)),d=Q,d}function mB(){var d,Q,x,K,_,Be;if(d=D,t.charCodeAt(D)===45?(Q=il,D++):(Q=r,ye===0&&H(vu)),Q===r&&(t.charCodeAt(D)===43?(Q=Fu,D++):(Q=r,ye===0&&H(nl))),Q===r&&(Q=null),Q!==r){if(x=[],uo.test(t.charAt(D))?(K=t.charAt(D),D++):(K=r,ye===0&&H(go)),K!==r)for(;K!==r;)x.push(K),uo.test(t.charAt(D))?(K=t.charAt(D),D++):(K=r,ye===0&&H(go));else x=r;if(x!==r)if(t.charCodeAt(D)===46?(K=iB,D++):(K=r,ye===0&&H(nB)),K!==r){if(_=[],uo.test(t.charAt(D))?(Be=t.charAt(D),D++):(Be=r,ye===0&&H(go)),Be!==r)for(;Be!==r;)_.push(Be),uo.test(t.charAt(D))?(Be=t.charAt(D),D++):(Be=r,ye===0&&H(go));else _=r;_!==r?(xe=d,Q=sB(Q,x,_),d=Q):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;if(d===r){if(d=D,t.charCodeAt(D)===45?(Q=il,D++):(Q=r,ye===0&&H(vu)),Q===r&&(t.charCodeAt(D)===43?(Q=Fu,D++):(Q=r,ye===0&&H(nl))),Q===r&&(Q=null),Q!==r){if(x=[],uo.test(t.charAt(D))?(K=t.charAt(D),D++):(K=r,ye===0&&H(go)),K!==r)for(;K!==r;)x.push(K),uo.test(t.charAt(D))?(K=t.charAt(D),D++):(K=r,ye===0&&H(go));else x=r;x!==r?(xe=d,Q=fd(Q,x),d=Q):(D=d,d=r)}else D=d,d=r;if(d===r&&(d=D,Q=IB(),Q!==r&&(xe=d,Q=pd(Q)),d=Q,d===r&&(d=D,Q=Uu(),Q!==r&&(xe=d,Q=oB(Q)),d=Q,d===r)))if(d=D,t.charCodeAt(D)===40?(Q=Z,D++):(Q=r,ye===0&&H($)),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(K=Fd(),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(t.charCodeAt(D)===41?(Be=T,D++):(Be=r,ye===0&&H(G)),Be!==r?(xe=d,Q=dd(K),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r}return d}function Ku(){var d,Q,x,K,_,Be;if(d=D,Q=mB(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(t.charCodeAt(D)===42?(K=Cd,D++):(K=r,ye===0&&H(md)),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(Be=Ku(),Be!==r?(xe=d,Q=aB(Q,Be),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;if(d===r){if(d=D,Q=mB(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(t.charCodeAt(D)===47?(K=AB,D++):(K=r,ye===0&&H(lB)),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(Be=Ku(),Be!==r?(xe=d,Q=cB(Q,Be),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;d===r&&(d=mB())}return d}function Fd(){var d,Q,x,K,_,Be;if(d=D,Q=Ku(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(t.charCodeAt(D)===43?(K=Fu,D++):(K=r,ye===0&&H(nl)),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(Be=Fd(),Be!==r?(xe=d,Q=uB(Q,Be),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;if(d===r){if(d=D,Q=Ku(),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(t.charCodeAt(D)===45?(K=il,D++):(K=r,ye===0&&H(vu)),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(Be=Fd(),Be!==r?(xe=d,Q=L(Q,Be),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;d===r&&(d=Ku())}return d}function gR(){var d,Q,x,K,_,Be;if(d=D,t.substr(D,3)===_e?(Q=_e,D+=3):(Q=r,ye===0&&H(sl)),Q!==r){for(x=[],K=Ie();K!==r;)x.push(K),K=Ie();if(x!==r)if(K=Fd(),K!==r){for(_=[],Be=Ie();Be!==r;)_.push(Be),Be=Ie();_!==r?(t.substr(D,2)===xi?(Be=xi,D+=2):(Be=r,ye===0&&H(Ru)),Be!==r?(xe=d,Q=Fe(K),d=Q):(D=d,d=r)):(D=d,d=r)}else D=d,d=r;else D=d,d=r}else D=d,d=r;return d}function hR(){var d,Q,x,K;return d=D,t.substr(D,2)===Ia?(Q=Ia,D+=2):(Q=r,ye===0&&H(Id)),Q!==r?(x=Ze(),x!==r?(t.charCodeAt(D)===41?(K=T,D++):(K=r,ye===0&&H(G)),K!==r?(xe=d,Q=sR(x),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d}function IB(){var d,Q,x,K,_,Be;return d=D,t.substr(D,2)===Ea?(Q=Ea,D+=2):(Q=r,ye===0&&H(Ed)),Q!==r?(x=Uu(),x!==r?(t.substr(D,2)===vt?(K=vt,D+=2):(K=r,ye===0&&H(Kn)),K!==r?(_=tse(),_!==r?(t.charCodeAt(D)===125?(Be=Re,D++):(Be=r,ye===0&&H(ee)),Be!==r?(xe=d,Q=gB(x,_),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d===r&&(d=D,t.substr(D,2)===Ea?(Q=Ea,D+=2):(Q=r,ye===0&&H(Ed)),Q!==r?(x=Uu(),x!==r?(t.substr(D,3)===yd?(K=yd,D+=3):(K=r,ye===0&&H(ho)),K!==r?(xe=d,Q=Bd(x),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d===r&&(d=D,t.substr(D,2)===Ea?(Q=Ea,D+=2):(Q=r,ye===0&&H(Ed)),Q!==r?(x=Uu(),x!==r?(t.charCodeAt(D)===125?(K=Re,D++):(K=r,ye===0&&H(ee)),K!==r?(xe=d,Q=fo(x),d=Q):(D=d,d=r)):(D=d,d=r)):(D=d,d=r),d===r&&(d=D,t.charCodeAt(D)===36?(Q=Ye,D++):(Q=r,ye===0&&H(hB)),Q!==r?(x=Uu(),x!==r?(xe=d,Q=fo(x),d=Q):(D=d,d=r)):(D=d,d=r)))),d}function lse(){var d,Q,x;return d=D,Q=cse(),Q!==r?(xe=D,x=wd(Q),x?x=void 0:x=r,x!==r?(xe=d,Q=Qd(Q),d=Q):(D=d,d=r)):(D=d,d=r),d}function cse(){var d,Q,x,K,_;if(d=D,Q=[],x=D,K=D,ye++,_=dR(),ye--,_===r?K=void 0:(D=K,K=r),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r),x!==r)for(;x!==r;)Q.push(x),x=D,K=D,ye++,_=dR(),ye--,_===r?K=void 0:(D=K,K=r),K!==r?(t.length>D?(_=t.charAt(D),D++):(_=r,ye===0&&H(ji)),_!==r?(xe=x,K=Pi(_),x=K):(D=x,x=r)):(D=x,x=r);else Q=r;return Q!==r&&(xe=d,Q=ma(Q)),d=Q,d}function fR(){var d,Q,x;if(d=D,Q=[],bd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(Lu)),x!==r)for(;x!==r;)Q.push(x),bd.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(Lu));else Q=r;return Q!==r&&(xe=d,Q=Mu()),d=Q,d}function Uu(){var d,Q,x;if(d=D,Q=[],Nu.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(ya)),x!==r)for(;x!==r;)Q.push(x),Nu.test(t.charAt(D))?(x=t.charAt(D),D++):(x=r,ye===0&&H(ya));else Q=r;return Q!==r&&(xe=d,Q=Mu()),d=Q,d}function pR(){var d;return Ba.test(t.charAt(D))?(d=t.charAt(D),D++):(d=r,ye===0&&H(fB)),d}function dR(){var d;return Dd.test(t.charAt(D))?(d=t.charAt(D),D++):(d=r,ye===0&&H(Sd)),d}function Ie(){var d,Q;if(d=[],Pd.test(t.charAt(D))?(Q=t.charAt(D),D++):(Q=r,ye===0&&H(po)),Q!==r)for(;Q!==r;)d.push(Q),Pd.test(t.charAt(D))?(Q=t.charAt(D),D++):(Q=r,ye===0&&H(po));else d=r;return d}if(Cs=n(),Cs!==r&&D===t.length)return Cs;throw Cs!==r&&D{"use strict";function Yme(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function rA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,rA)}Yme(rA,Error);rA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;gN&&(N=B,O=[]),O.push(z))}function ee(z,W){return new rA(z,null,null,W)}function ne(z,W,ie){return new rA(rA.buildMessage(z,W),z,W,ie)}function Ee(){var z,W,ie,ae;return z=B,W=le(),W!==r?(t.charCodeAt(B)===47?(ie=s,B++):(ie=r,v===0&&Re(o)),ie!==r?(ae=le(),ae!==r?(P=z,W=a(W,ae),z=W):(B=z,z=r)):(B=z,z=r)):(B=z,z=r),z===r&&(z=B,W=le(),W!==r&&(P=z,W=l(W)),z=W),z}function le(){var z,W,ie,ae;return z=B,W=fe(),W!==r?(t.charCodeAt(B)===64?(ie=c,B++):(ie=r,v===0&&Re(u)),ie!==r?(ae=De(),ae!==r?(P=z,W=g(W,ae),z=W):(B=z,z=r)):(B=z,z=r)):(B=z,z=r),z===r&&(z=B,W=fe(),W!==r&&(P=z,W=h(W)),z=W),z}function fe(){var z,W,ie,ae,me;return z=B,t.charCodeAt(B)===64?(W=c,B++):(W=r,v===0&&Re(u)),W!==r?(ie=ue(),ie!==r?(t.charCodeAt(B)===47?(ae=s,B++):(ae=r,v===0&&Re(o)),ae!==r?(me=ue(),me!==r?(P=z,W=f(),z=W):(B=z,z=r)):(B=z,z=r)):(B=z,z=r)):(B=z,z=r),z===r&&(z=B,W=ue(),W!==r&&(P=z,W=f()),z=W),z}function ue(){var z,W,ie;if(z=B,W=[],p.test(t.charAt(B))?(ie=t.charAt(B),B++):(ie=r,v===0&&Re(m)),ie!==r)for(;ie!==r;)W.push(ie),p.test(t.charAt(B))?(ie=t.charAt(B),B++):(ie=r,v===0&&Re(m));else W=r;return W!==r&&(P=z,W=f()),z=W,z}function De(){var z,W,ie;if(z=B,W=[],I.test(t.charAt(B))?(ie=t.charAt(B),B++):(ie=r,v===0&&Re(y)),ie!==r)for(;ie!==r;)W.push(ie),I.test(t.charAt(B))?(ie=t.charAt(B),B++):(ie=r,v===0&&Re(y));else W=r;return W!==r&&(P=z,W=f()),z=W,z}if(U=n(),U!==r&&B===t.length)return U;throw U!==r&&B{"use strict";function qY(t){return typeof t=="undefined"||t===null}function Gme(t){return typeof t=="object"&&t!==null}function qme(t){return Array.isArray(t)?t:qY(t)?[]:[t]}function Jme(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function lh(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}lh.prototype=Object.create(Error.prototype);lh.prototype.constructor=lh;lh.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};JY.exports=lh});var XY=C((z6e,WY)=>{"use strict";var zY=nA();function Wb(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}Wb.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),zY.repeat(" ",e)+i+a+s+` -`+zY.repeat(" ",e+this.position-n+i.length)+"^"};Wb.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: -`+r)),i};WY.exports=Wb});var dr=C((X6e,VY)=>{"use strict";var ZY=Xl(),Xme=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Vme=["scalar","sequence","mapping"];function Zme(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function _me(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(Xme.indexOf(r)===-1)throw new ZY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Zme(e.styleAliases||null),Vme.indexOf(this.kind)===-1)throw new ZY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}VY.exports=_me});var sA=C((V6e,_Y)=>{"use strict";var $Y=nA(),vm=Xl(),$me=dr();function zb(t,e,r){var i=[];return t.include.forEach(function(n){r=zb(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function eIe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var tIe=dr();ej.exports=new tIe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var ij=C((_6e,rj)=>{"use strict";var rIe=dr();rj.exports=new rIe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var sj=C(($6e,nj)=>{"use strict";var iIe=dr();nj.exports=new iIe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var Fm=C((e7e,oj)=>{"use strict";var nIe=sA();oj.exports=new nIe({explicit:[tj(),ij(),sj()]})});var Aj=C((t7e,aj)=>{"use strict";var sIe=dr();function oIe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function aIe(){return null}function AIe(t){return t===null}aj.exports=new sIe("tag:yaml.org,2002:null",{kind:"scalar",resolve:oIe,construct:aIe,predicate:AIe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var cj=C((r7e,lj)=>{"use strict";var lIe=dr();function cIe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function uIe(t){return t==="true"||t==="True"||t==="TRUE"}function gIe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}lj.exports=new lIe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:cIe,construct:uIe,predicate:gIe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var gj=C((i7e,uj)=>{"use strict";var hIe=nA(),fIe=dr();function pIe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function dIe(t){return 48<=t&&t<=55}function CIe(t){return 48<=t&&t<=57}function mIe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var pj=C((n7e,hj)=>{"use strict";var fj=nA(),yIe=dr(),BIe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function wIe(t){return!(t===null||!BIe.test(t)||t[t.length-1]==="_")}function QIe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var bIe=/^[-+]?[0-9]+e/;function DIe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(fj.isNegativeZero(t))return"-0.0";return r=t.toString(10),bIe.test(r)?r.replace("e",".e"):r}function SIe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||fj.isNegativeZero(t))}hj.exports=new yIe("tag:yaml.org,2002:float",{kind:"scalar",resolve:wIe,construct:QIe,predicate:SIe,represent:DIe,defaultStyle:"lowercase"})});var Xb=C((s7e,dj)=>{"use strict";var PIe=sA();dj.exports=new PIe({include:[Fm()],implicit:[Aj(),cj(),gj(),pj()]})});var Vb=C((o7e,Cj)=>{"use strict";var xIe=sA();Cj.exports=new xIe({include:[Xb()]})});var yj=C((a7e,mj)=>{"use strict";var kIe=dr(),Ij=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ej=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function vIe(t){return t===null?!1:Ij.exec(t)!==null||Ej.exec(t)!==null}function FIe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,h;if(e=Ij.exec(t),e===null&&(e=Ej.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),h=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&h.setTime(h.getTime()-c),h}function RIe(t){return t.toISOString()}mj.exports=new kIe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:vIe,construct:FIe,instanceOf:Date,represent:RIe})});var wj=C((A7e,Bj)=>{"use strict";var LIe=dr();function MIe(t){return t==="<<"||t===null}Bj.exports=new LIe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:MIe})});var Dj=C((l7e,Qj)=>{"use strict";var oA;try{bj=require,oA=bj("buffer").Buffer}catch(t){}var bj,NIe=dr(),Zb=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function OIe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=Zb;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function TIe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=Zb,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),oA?oA.from?oA.from(a):new oA(a):a}function KIe(t){var e="",r=0,i,n,s=t.length,o=Zb;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function UIe(t){return oA&&oA.isBuffer(t)}Qj.exports=new NIe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:OIe,construct:TIe,predicate:UIe,represent:KIe})});var Pj=C((c7e,Sj)=>{"use strict";var HIe=dr(),YIe=Object.prototype.hasOwnProperty,jIe=Object.prototype.toString;function GIe(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var JIe=dr(),WIe=Object.prototype.toString;function zIe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var VIe=dr(),ZIe=Object.prototype.hasOwnProperty;function _Ie(t){if(t===null)return!0;var e,r=t;for(e in r)if(ZIe.call(r,e)&&r[e]!==null)return!1;return!0}function $Ie(t){return t!==null?t:{}}vj.exports=new VIe("tag:yaml.org,2002:set",{kind:"mapping",resolve:_Ie,construct:$Ie})});var Zl=C((h7e,Rj)=>{"use strict";var eEe=sA();Rj.exports=new eEe({include:[Vb()],implicit:[yj(),wj()],explicit:[Dj(),Pj(),kj(),Fj()]})});var Mj=C((f7e,Lj)=>{"use strict";var tEe=dr();function rEe(){return!0}function iEe(){}function nEe(){return""}function sEe(t){return typeof t=="undefined"}Lj.exports=new tEe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:rEe,construct:iEe,predicate:sEe,represent:nEe})});var Oj=C((p7e,Nj)=>{"use strict";var oEe=dr();function aEe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function AEe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function lEe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function cEe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}Nj.exports=new oEe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:aEe,construct:AEe,predicate:cEe,represent:lEe})});var Uj=C((d7e,Tj)=>{"use strict";var Rm;try{Kj=require,Rm=Kj("esprima")}catch(t){typeof window!="undefined"&&(Rm=window.esprima)}var Kj,uEe=dr();function gEe(t){if(t===null)return!1;try{var e="("+t+")",r=Rm.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function hEe(t){var e="("+t+")",r=Rm.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function fEe(t){return t.toString()}function pEe(t){return Object.prototype.toString.call(t)==="[object Function]"}Tj.exports=new uEe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:gEe,construct:hEe,predicate:pEe,represent:fEe})});var ch=C((C7e,Hj)=>{"use strict";var Yj=sA();Hj.exports=Yj.DEFAULT=new Yj({include:[Zl()],explicit:[Mj(),Oj(),Uj()]})});var sG=C((m7e,uh)=>{"use strict";var Vn=nA(),jj=Xl(),dEe=XY(),_b=Zl(),CEe=ch(),aA=Object.prototype.hasOwnProperty,Lm=1,Gj=2,qj=3,Mm=4,$b=1,mEe=2,Jj=3,IEe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,EEe=/[\x85\u2028\u2029]/,yEe=/[,\[\]\{\}]/,Wj=/^(?:!|!!|![a-z\-]+!)$/i,zj=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Xj(t){return Object.prototype.toString.call(t)}function Zn(t){return t===10||t===13}function AA(t){return t===9||t===32}function Ii(t){return t===9||t===32||t===10||t===13}function _l(t){return t===44||t===91||t===93||t===123||t===125}function BEe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function wEe(t){return t===120?2:t===117?4:t===85?8:0}function QEe(t){return 48<=t&&t<=57?t-48:-1}function Vj(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` -`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function bEe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Zj=new Array(256),_j=new Array(256);for(var $l=0;$l<256;$l++)Zj[$l]=Vj($l)?1:0,_j[$l]=Vj($l);function DEe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||CEe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function $j(t,e){return new jj(e,new dEe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function ze(t,e){throw $j(t,e)}function Nm(t,e){t.onWarning&&t.onWarning.call(null,$j(t,e))}var eG={YAML:function(e,r,i){var n,s,o;e.version!==null&&ze(e,"duplication of %YAML directive"),i.length!==1&&ze(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ze(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ze(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&Nm(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&ze(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Wj.test(n)||ze(e,"ill-formed tag handle (first argument) of the TAG directive"),aA.call(e.tagMap,n)&&ze(e,'there is a previously declared suffix for "'+n+'" tag handle'),zj.test(s)||ze(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function Oo(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Vn.repeat(` -`,e-1))}function SEe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,h=t.result,f;if(f=t.input.charCodeAt(t.position),Ii(f)||_l(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(n=t.input.charCodeAt(t.position+1),Ii(n)||r&&_l(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;f!==0;){if(f===58){if(n=t.input.charCodeAt(t.position+1),Ii(n)||r&&_l(n))break}else if(f===35){if(i=t.input.charCodeAt(t.position-1),Ii(i))break}else{if(t.position===t.lineStart&&Om(t)||r&&_l(f))break;if(Zn(f))if(l=t.line,c=t.lineStart,u=t.lineIndent,ar(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(Oo(t,s,o,!1),tD(t,t.line-l),s=o=t.position,a=!1),AA(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return Oo(t,s,o,!1),t.result?!0:(t.kind=g,t.result=h,!1)}function PEe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Oo(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else Zn(r)?(Oo(t,i,n,!0),tD(t,ar(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Om(t)?ze(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);ze(t,"unexpected end of the stream within a single quoted scalar")}function xEe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return Oo(t,r,t.position,!0),t.position++,!0;if(a===92){if(Oo(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),Zn(a))ar(t,!1,e);else if(a<256&&Zj[a])t.result+=_j[a],t.position++;else if((o=wEe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=BEe(a))>=0?s=(s<<4)+o:ze(t,"expected hexadecimal character");t.result+=bEe(s),t.position++}else ze(t,"unknown escape sequence");r=i=t.position}else Zn(a)?(Oo(t,r,i,!0),tD(t,ar(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Om(t)?ze(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}ze(t,"unexpected end of the stream within a double quoted scalar")}function kEe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,h={},f,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(ar(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||ze(t,"missed comma between flow collection entries"),p=f=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),Ii(a)&&(c=u=!0,t.position++,ar(t,!0,e))),i=t.line,tc(t,e,Lm,!1,!0),p=t.tag,f=t.result,ar(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),ar(t,!0,e),tc(t,e,Lm,!1,!0),m=t.result),g?ec(t,s,h,p,f,m):c?s.push(ec(t,null,h,p,f,m)):s.push(f),ar(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}ze(t,"unexpected end of the stream within a flow collection")}function vEe(t,e){var r,i,n=$b,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)$b===n?n=g===43?Jj:mEe:ze(t,"repeat of a chomping mode identifier");else if((u=QEe(g))>=0)u===0?ze(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ze(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(AA(g)){do g=t.input.charCodeAt(++t.position);while(AA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!Zn(g)&&g!==0)}for(;g!==0;){for(eD(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),Zn(g)){l++;continue}if(t.lineIndente)&&l!==0)ze(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(tc(t,e,Mm,!0,n)&&(p?h=t.result:f=t.result),p||(ec(t,c,u,g,h,f,s,o),g=h=f=null),ar(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)ze(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "'+f.kind+'", not "'+t.kind+'"'),f.resolve(t.result)?(t.result=f.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):ze(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):ze(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function NEe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(ar(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Ii(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&ze(t,"directive name must not be less than one character in length");o!==0;){for(;AA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Zn(o));break}if(Zn(o))break;for(r=t.position;o!==0&&!Ii(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&eD(t),aA.call(eG,i)?eG[i](t,i,n):Nm(t,'unknown document directive "'+i+'"')}if(ar(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,ar(t,!0,-1)):s&&ze(t,"directives end mark is expected"),tc(t,t.lineIndent-1,Mm,!1,!0),ar(t,!0,-1),t.checkLineBreaks&&EEe.test(t.input.slice(e,t.position))&&Nm(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Om(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,ar(t,!0,-1));return}if(t.position{"use strict";var gh=nA(),hh=Xl(),KEe=ch(),UEe=Zl(),oG=Object.prototype.toString,aG=Object.prototype.hasOwnProperty,HEe=9,Tm=10,YEe=32,jEe=33,GEe=34,AG=35,qEe=37,JEe=38,WEe=39,zEe=42,lG=44,XEe=45,cG=58,VEe=62,ZEe=63,_Ee=64,uG=91,gG=93,$Ee=96,hG=123,eye=124,fG=125,Kr={};Kr[0]="\\0";Kr[7]="\\a";Kr[8]="\\b";Kr[9]="\\t";Kr[10]="\\n";Kr[11]="\\v";Kr[12]="\\f";Kr[13]="\\r";Kr[27]="\\e";Kr[34]='\\"';Kr[92]="\\\\";Kr[133]="\\N";Kr[160]="\\_";Kr[8232]="\\L";Kr[8233]="\\P";var tye=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function rye(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;ni&&t[u+1]!==" ",u=s);else if(!fh(o))return Km;g=g&&mG(o)}l=l||c&&s-u-1>i&&t[u+1]!==" "}return!a&&!l?g&&!n(t)?EG:yG:r>9&&IG(t)?Km:l?wG:BG}function lye(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&tye.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return nye(t,l)}switch(oye(e,o,t.indent,s,a)){case EG:return e;case yG:return"'"+e.replace(/'/g,"''")+"'";case BG:return"|"+QG(e,t.indent)+bG(dG(e,n));case wG:return">"+QG(e,t.indent)+bG(dG(aye(e,s),n));case Km:return'"'+Aye(e,s)+'"';default:throw new hh("impossible error: invalid scalar style")}}()}function QG(t,e){var r=IG(t)?String(e):"",i=t[t.length-1]===` -`,n=i&&(t[t.length-2]===` -`||t===` -`),s=n?"+":i?"":"-";return r+s+` -`}function bG(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function aye(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` -`);return c=c!==-1?c:t.length,r.lastIndex=c,DG(t.slice(0,c),e)}(),n=t[0]===` -`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+DG(l,e),n=s}return i}function DG(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` -`+t.slice(n,s),n=s+1),o=a;return l+=` -`,t.length-n>e&&o>n?l+=t.slice(n,o)+` -`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function Aye(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=pG((r-55296)*1024+i-56320+65536),s++;continue}n=Kr[r],e+=!n&&fh(r)?t[s]:n||pG(r)}return e}function cye(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!lA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function hye(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,h;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new hh("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Tm===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,g&&(h+=nD(t,e)),!!lA(t,e+1,u,!0,g)&&(t.dump&&Tm===t.dump.charCodeAt(0)?h+=":":h+=": ",h+=t.dump,n+=h));t.tag=s,t.dump=n||"{}"}function SG(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function lA(t,e,r,i,n,s){t.tag=null,t.dump=r,SG(t,r,!1)||SG(t,r,!0);var o=oG.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(hye(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(gye(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(uye(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(cye(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&lye(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new hh("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function fye(t,e){var r=[],i=[],n,s;for(sD(t,r,i),n=0,s=i.length;n{"use strict";var Um=sG(),kG=xG();function Hm(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Wt.exports.Type=dr();Wt.exports.Schema=sA();Wt.exports.FAILSAFE_SCHEMA=Fm();Wt.exports.JSON_SCHEMA=Xb();Wt.exports.CORE_SCHEMA=Vb();Wt.exports.DEFAULT_SAFE_SCHEMA=Zl();Wt.exports.DEFAULT_FULL_SCHEMA=ch();Wt.exports.load=Um.load;Wt.exports.loadAll=Um.loadAll;Wt.exports.safeLoad=Um.safeLoad;Wt.exports.safeLoadAll=Um.safeLoadAll;Wt.exports.dump=kG.dump;Wt.exports.safeDump=kG.safeDump;Wt.exports.YAMLException=Xl();Wt.exports.MINIMAL_SCHEMA=Fm();Wt.exports.SAFE_SCHEMA=Zl();Wt.exports.DEFAULT_SCHEMA=ch();Wt.exports.scan=Hm("scan");Wt.exports.parse=Hm("parse");Wt.exports.compose=Hm("compose");Wt.exports.addConstructor=Hm("addConstructor")});var RG=C((y7e,FG)=>{"use strict";var dye=vG();FG.exports=dye});var MG=C((B7e,LG)=>{"use strict";function Cye(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function cA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cA)}Cye(cA,Error);cA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g({[de]:H})))},N=function(S){return S},O=function(S){return S},v=ho("correct indentation"),U=" ",re=vt(" ",!1),F=function(S){return S.length===al*xd},A=function(S){return S.length===(al+1)*xd},q=function(){return al++,!0},Z=function(){return al--,!0},$=function(){return Id()},T=ho("pseudostring"),G=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Qe=Kn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Pe=/^[^\r\n\t ,\][{}:#"']/,He=Kn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Re=function(){return Id().replace(/^ *| *$/g,"")},ee="--",ne=vt("--",!1),Ee=/^[a-zA-Z\/0-9]/,le=Kn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ue=Kn(["\r",` -`," "," ",":",","],!0,!1),De="null",z=vt("null",!1),W=function(){return null},ie="true",ae=vt("true",!1),me=function(){return!0},ot="false",ct=vt("false",!1),wt=function(){return!1},In=ho("string"),li='"',Jt=vt('"',!1),Yi=function(){return""},Tn=function(S){return S},Ca=function(S){return S.join("")},xu=/^[^"\\\0-\x1F\x7F]/,lo=Kn(['"',"\\",["\0",""],"\x7F"],!0,!1),nd='\\"',sd=vt('\\"',!1),od=function(){return'"'},ku="\\\\",_y=vt("\\\\",!1),$y=function(){return"\\"},ad="\\/",Ad=vt("\\/",!1),eB=function(){return"/"},ld="\\b",tB=vt("\\b",!1),rB=function(){return"\b"},ds="\\f",co=vt("\\f",!1),ji=function(){return"\f"},Pi="\\n",cd=vt("\\n",!1),ud=function(){return` -`},ma="\\r",gd=vt("\\r",!1),hd=function(){return"\r"},il="\\t",vu=vt("\\t",!1),Fu=function(){return" "},nl="\\u",uo=vt("\\u",!1),go=function(S,M,H,de){return String.fromCharCode(parseInt(`0x${S}${M}${H}${de}`))},iB=/^[0-9a-fA-F]/,nB=Kn([["0","9"],["a","f"],["A","F"]],!1,!1),sB=ho("blank space"),fd=/^[ \t]/,pd=Kn([" "," "],!1,!1),oB=ho("white space"),dd=/^[ \t\n\r]/,Cd=Kn([" "," ",` -`,"\r"],!1,!1),md=`\r -`,aB=vt(`\r -`,!1),AB=` -`,lB=vt(` -`,!1),cB="\r",uB=vt("\r",!1),L=0,_e=0,sl=[{line:1,column:1}],xi=0,Ru=[],Fe=0,Ia;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "${e.startRule}".`);n=i[e.startRule]}function Id(){return t.substring(_e,L)}function sR(){return fo(_e,L)}function Ea(S,M){throw M=M!==void 0?M:fo(_e,L),wd([ho(S)],t.substring(_e,L),M)}function Ed(S,M){throw M=M!==void 0?M:fo(_e,L),hB(S,M)}function vt(S,M){return{type:"literal",text:S,ignoreCase:M}}function Kn(S,M,H){return{type:"class",parts:S,inverted:M,ignoreCase:H}}function gB(){return{type:"any"}}function yd(){return{type:"end"}}function ho(S){return{type:"other",description:S}}function Bd(S){var M=sl[S],H;if(M)return M;for(H=S-1;!sl[H];)H--;for(M=sl[H],M={line:M.line,column:M.column};Hxi&&(xi=L,Ru=[]),Ru.push(S))}function hB(S,M){return new cA(S,null,null,M)}function wd(S,M,H){return new cA(cA.buildMessage(S,M),S,M,H)}function Qd(){var S;return S=Mu(),S}function bd(){var S,M,H;for(S=L,M=[],H=Lu();H!==r;)M.push(H),H=Lu();return M!==r&&(_e=S,M=s(M)),S=M,S}function Lu(){var S,M,H,de,ge;return S=L,M=Ba(),M!==r?(t.charCodeAt(L)===45?(H=o,L++):(H=r,Fe===0&&Ye(a)),H!==r?(de=lr(),de!==r?(ge=ya(),ge!==r?(_e=S,M=l(ge),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r),S}function Mu(){var S,M,H;for(S=L,M=[],H=Nu();H!==r;)M.push(H),H=Nu();return M!==r&&(_e=S,M=c(M)),S=M,S}function Nu(){var S,M,H,de,ge,ve,Ze,Ft,Is;if(S=L,M=lr(),M===r&&(M=null),M!==r){if(H=L,t.charCodeAt(L)===35?(de=u,L++):(de=r,Fe===0&&Ye(g)),de!==r){if(ge=[],ve=L,Ze=L,Fe++,Ft=ms(),Fe--,Ft===r?Ze=void 0:(L=Ze,Ze=r),Ze!==r?(t.length>L?(Ft=t.charAt(L),L++):(Ft=r,Fe===0&&Ye(h)),Ft!==r?(Ze=[Ze,Ft],ve=Ze):(L=ve,ve=r)):(L=ve,ve=r),ve!==r)for(;ve!==r;)ge.push(ve),ve=L,Ze=L,Fe++,Ft=ms(),Fe--,Ft===r?Ze=void 0:(L=Ze,Ze=r),Ze!==r?(t.length>L?(Ft=t.charAt(L),L++):(Ft=r,Fe===0&&Ye(h)),Ft!==r?(Ze=[Ze,Ft],ve=Ze):(L=ve,ve=r)):(L=ve,ve=r);else ge=r;ge!==r?(de=[de,ge],H=de):(L=H,H=r)}else L=H,H=r;if(H===r&&(H=null),H!==r){if(de=[],ge=Rr(),ge!==r)for(;ge!==r;)de.push(ge),ge=Rr();else de=r;de!==r?(_e=S,M=f(),S=M):(L=S,S=r)}else L=S,S=r}else L=S,S=r;if(S===r&&(S=L,M=Ba(),M!==r?(H=Pd(),H!==r?(de=lr(),de===r&&(de=null),de!==r?(t.charCodeAt(L)===58?(ge=p,L++):(ge=r,Fe===0&&Ye(m)),ge!==r?(ve=lr(),ve===r&&(ve=null),ve!==r?(Ze=ya(),Ze!==r?(_e=S,M=I(H,Ze),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r),S===r&&(S=L,M=Ba(),M!==r?(H=po(),H!==r?(de=lr(),de===r&&(de=null),de!==r?(t.charCodeAt(L)===58?(ge=p,L++):(ge=r,Fe===0&&Ye(m)),ge!==r?(ve=lr(),ve===r&&(ve=null),ve!==r?(Ze=ya(),Ze!==r?(_e=S,M=I(H,Ze),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r),S===r))){if(S=L,M=Ba(),M!==r)if(H=po(),H!==r)if(de=lr(),de!==r)if(ge=xe(),ge!==r){if(ve=[],Ze=Rr(),Ze!==r)for(;Ze!==r;)ve.push(Ze),Ze=Rr();else ve=r;ve!==r?(_e=S,M=I(H,ge),S=M):(L=S,S=r)}else L=S,S=r;else L=S,S=r;else L=S,S=r;else L=S,S=r;if(S===r)if(S=L,M=Ba(),M!==r)if(H=po(),H!==r){if(de=[],ge=L,ve=lr(),ve===r&&(ve=null),ve!==r?(t.charCodeAt(L)===44?(Ze=y,L++):(Ze=r,Fe===0&&Ye(B)),Ze!==r?(Ft=lr(),Ft===r&&(Ft=null),Ft!==r?(Is=po(),Is!==r?(_e=ge,ve=P(H,Is),ge=ve):(L=ge,ge=r)):(L=ge,ge=r)):(L=ge,ge=r)):(L=ge,ge=r),ge!==r)for(;ge!==r;)de.push(ge),ge=L,ve=lr(),ve===r&&(ve=null),ve!==r?(t.charCodeAt(L)===44?(Ze=y,L++):(Ze=r,Fe===0&&Ye(B)),Ze!==r?(Ft=lr(),Ft===r&&(Ft=null),Ft!==r?(Is=po(),Is!==r?(_e=ge,ve=P(H,Is),ge=ve):(L=ge,ge=r)):(L=ge,ge=r)):(L=ge,ge=r)):(L=ge,ge=r);else de=r;de!==r?(ge=lr(),ge===r&&(ge=null),ge!==r?(t.charCodeAt(L)===58?(ve=p,L++):(ve=r,Fe===0&&Ye(m)),ve!==r?(Ze=lr(),Ze===r&&(Ze=null),Ze!==r?(Ft=ya(),Ft!==r?(_e=S,M=k(H,de,Ft),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)}else L=S,S=r;else L=S,S=r}return S}function ya(){var S,M,H,de,ge,ve,Ze;if(S=L,M=L,Fe++,H=L,de=ms(),de!==r?(ge=fB(),ge!==r?(t.charCodeAt(L)===45?(ve=o,L++):(ve=r,Fe===0&&Ye(a)),ve!==r?(Ze=lr(),Ze!==r?(de=[de,ge,ve,Ze],H=de):(L=H,H=r)):(L=H,H=r)):(L=H,H=r)):(L=H,H=r),Fe--,H!==r?(L=M,M=void 0):M=r,M!==r?(H=Rr(),H!==r?(de=Dd(),de!==r?(ge=bd(),ge!==r?(ve=Sd(),ve!==r?(_e=S,M=N(ge),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r),S===r&&(S=L,M=ms(),M!==r?(H=Dd(),H!==r?(de=Mu(),de!==r?(ge=Sd(),ge!==r?(_e=S,M=N(de),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r),S===r))if(S=L,M=D(),M!==r){if(H=[],de=Rr(),de!==r)for(;de!==r;)H.push(de),de=Rr();else H=r;H!==r?(_e=S,M=O(M),S=M):(L=S,S=r)}else L=S,S=r;return S}function Ba(){var S,M,H;for(Fe++,S=L,M=[],t.charCodeAt(L)===32?(H=U,L++):(H=r,Fe===0&&Ye(re));H!==r;)M.push(H),t.charCodeAt(L)===32?(H=U,L++):(H=r,Fe===0&&Ye(re));return M!==r?(_e=L,H=F(M),H?H=void 0:H=r,H!==r?(M=[M,H],S=M):(L=S,S=r)):(L=S,S=r),Fe--,S===r&&(M=r,Fe===0&&Ye(v)),S}function fB(){var S,M,H;for(S=L,M=[],t.charCodeAt(L)===32?(H=U,L++):(H=r,Fe===0&&Ye(re));H!==r;)M.push(H),t.charCodeAt(L)===32?(H=U,L++):(H=r,Fe===0&&Ye(re));return M!==r?(_e=L,H=A(M),H?H=void 0:H=r,H!==r?(M=[M,H],S=M):(L=S,S=r)):(L=S,S=r),S}function Dd(){var S;return _e=L,S=q(),S?S=void 0:S=r,S}function Sd(){var S;return _e=L,S=Z(),S?S=void 0:S=r,S}function Pd(){var S;return S=Cs(),S===r&&(S=wa()),S}function po(){var S,M,H;if(S=Cs(),S===r){if(S=L,M=[],H=ci(),H!==r)for(;H!==r;)M.push(H),H=ci();else M=r;M!==r&&(_e=S,M=$()),S=M}return S}function D(){var S;return S=ol(),S===r&&(S=ye(),S===r&&(S=Cs(),S===r&&(S=wa()))),S}function xe(){var S;return S=ol(),S===r&&(S=Cs(),S===r&&(S=ci())),S}function wa(){var S,M,H,de,ge,ve;if(Fe++,S=L,G.test(t.charAt(L))?(M=t.charAt(L),L++):(M=r,Fe===0&&Ye(Qe)),M!==r){for(H=[],de=L,ge=lr(),ge===r&&(ge=null),ge!==r?(Pe.test(t.charAt(L))?(ve=t.charAt(L),L++):(ve=r,Fe===0&&Ye(He)),ve!==r?(ge=[ge,ve],de=ge):(L=de,de=r)):(L=de,de=r);de!==r;)H.push(de),de=L,ge=lr(),ge===r&&(ge=null),ge!==r?(Pe.test(t.charAt(L))?(ve=t.charAt(L),L++):(ve=r,Fe===0&&Ye(He)),ve!==r?(ge=[ge,ve],de=ge):(L=de,de=r)):(L=de,de=r);H!==r?(_e=S,M=Re(),S=M):(L=S,S=r)}else L=S,S=r;return Fe--,S===r&&(M=r,Fe===0&&Ye(T)),S}function ci(){var S,M,H,de,ge;if(S=L,t.substr(L,2)===ee?(M=ee,L+=2):(M=r,Fe===0&&Ye(ne)),M===r&&(M=null),M!==r)if(Ee.test(t.charAt(L))?(H=t.charAt(L),L++):(H=r,Fe===0&&Ye(le)),H!==r){for(de=[],fe.test(t.charAt(L))?(ge=t.charAt(L),L++):(ge=r,Fe===0&&Ye(ue));ge!==r;)de.push(ge),fe.test(t.charAt(L))?(ge=t.charAt(L),L++):(ge=r,Fe===0&&Ye(ue));de!==r?(_e=S,M=Re(),S=M):(L=S,S=r)}else L=S,S=r;else L=S,S=r;return S}function ol(){var S,M;return S=L,t.substr(L,4)===De?(M=De,L+=4):(M=r,Fe===0&&Ye(z)),M!==r&&(_e=S,M=W()),S=M,S}function ye(){var S,M;return S=L,t.substr(L,4)===ie?(M=ie,L+=4):(M=r,Fe===0&&Ye(ae)),M!==r&&(_e=S,M=me()),S=M,S===r&&(S=L,t.substr(L,5)===ot?(M=ot,L+=5):(M=r,Fe===0&&Ye(ct)),M!==r&&(_e=S,M=wt()),S=M),S}function Cs(){var S,M,H,de;return Fe++,S=L,t.charCodeAt(L)===34?(M=li,L++):(M=r,Fe===0&&Ye(Jt)),M!==r?(t.charCodeAt(L)===34?(H=li,L++):(H=r,Fe===0&&Ye(Jt)),H!==r?(_e=S,M=Yi(),S=M):(L=S,S=r)):(L=S,S=r),S===r&&(S=L,t.charCodeAt(L)===34?(M=li,L++):(M=r,Fe===0&&Ye(Jt)),M!==r?(H=pB(),H!==r?(t.charCodeAt(L)===34?(de=li,L++):(de=r,Fe===0&&Ye(Jt)),de!==r?(_e=S,M=Tn(H),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)),Fe--,S===r&&(M=r,Fe===0&&Ye(In)),S}function pB(){var S,M,H;if(S=L,M=[],H=dB(),H!==r)for(;H!==r;)M.push(H),H=dB();else M=r;return M!==r&&(_e=S,M=Ca(M)),S=M,S}function dB(){var S,M,H,de,ge,ve;return xu.test(t.charAt(L))?(S=t.charAt(L),L++):(S=r,Fe===0&&Ye(lo)),S===r&&(S=L,t.substr(L,2)===nd?(M=nd,L+=2):(M=r,Fe===0&&Ye(sd)),M!==r&&(_e=S,M=od()),S=M,S===r&&(S=L,t.substr(L,2)===ku?(M=ku,L+=2):(M=r,Fe===0&&Ye(_y)),M!==r&&(_e=S,M=$y()),S=M,S===r&&(S=L,t.substr(L,2)===ad?(M=ad,L+=2):(M=r,Fe===0&&Ye(Ad)),M!==r&&(_e=S,M=eB()),S=M,S===r&&(S=L,t.substr(L,2)===ld?(M=ld,L+=2):(M=r,Fe===0&&Ye(tB)),M!==r&&(_e=S,M=rB()),S=M,S===r&&(S=L,t.substr(L,2)===ds?(M=ds,L+=2):(M=r,Fe===0&&Ye(co)),M!==r&&(_e=S,M=ji()),S=M,S===r&&(S=L,t.substr(L,2)===Pi?(M=Pi,L+=2):(M=r,Fe===0&&Ye(cd)),M!==r&&(_e=S,M=ud()),S=M,S===r&&(S=L,t.substr(L,2)===ma?(M=ma,L+=2):(M=r,Fe===0&&Ye(gd)),M!==r&&(_e=S,M=hd()),S=M,S===r&&(S=L,t.substr(L,2)===il?(M=il,L+=2):(M=r,Fe===0&&Ye(vu)),M!==r&&(_e=S,M=Fu()),S=M,S===r&&(S=L,t.substr(L,2)===nl?(M=nl,L+=2):(M=r,Fe===0&&Ye(uo)),M!==r?(H=Ou(),H!==r?(de=Ou(),de!==r?(ge=Ou(),ge!==r?(ve=Ou(),ve!==r?(_e=S,M=go(H,de,ge,ve),S=M):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)):(L=S,S=r)))))))))),S}function Ou(){var S;return iB.test(t.charAt(L))?(S=t.charAt(L),L++):(S=r,Fe===0&&Ye(nB)),S}function lr(){var S,M;if(Fe++,S=[],fd.test(t.charAt(L))?(M=t.charAt(L),L++):(M=r,Fe===0&&Ye(pd)),M!==r)for(;M!==r;)S.push(M),fd.test(t.charAt(L))?(M=t.charAt(L),L++):(M=r,Fe===0&&Ye(pd));else S=r;return Fe--,S===r&&(M=r,Fe===0&&Ye(sB)),S}function ut(){var S,M;if(Fe++,S=[],dd.test(t.charAt(L))?(M=t.charAt(L),L++):(M=r,Fe===0&&Ye(Cd)),M!==r)for(;M!==r;)S.push(M),dd.test(t.charAt(L))?(M=t.charAt(L),L++):(M=r,Fe===0&&Ye(Cd));else S=r;return Fe--,S===r&&(M=r,Fe===0&&Ye(oB)),S}function Rr(){var S,M,H,de,ge,ve;if(S=L,M=ms(),M!==r){for(H=[],de=L,ge=lr(),ge===r&&(ge=null),ge!==r?(ve=ms(),ve!==r?(ge=[ge,ve],de=ge):(L=de,de=r)):(L=de,de=r);de!==r;)H.push(de),de=L,ge=lr(),ge===r&&(ge=null),ge!==r?(ve=ms(),ve!==r?(ge=[ge,ve],de=ge):(L=de,de=r)):(L=de,de=r);H!==r?(M=[M,H],S=M):(L=S,S=r)}else L=S,S=r;return S}function ms(){var S;return t.substr(L,2)===md?(S=md,L+=2):(S=r,Fe===0&&Ye(aB)),S===r&&(t.charCodeAt(L)===10?(S=AB,L++):(S=r,Fe===0&&Ye(lB)),S===r&&(t.charCodeAt(L)===13?(S=cB,L++):(S=r,Fe===0&&Ye(uB)))),S}let xd=2,al=0;if(Ia=n(),Ia!==r&&L===t.length)return Ia;throw Ia!==r&&L{var Fye=typeof global=="object"&&global&&global.Object===Object&&global;eq.exports=Fye});var xn=C((Z7e,tq)=>{var Rye=fD(),Lye=typeof self=="object"&&self&&self.Object===Object&&self,Mye=Rye||Lye||Function("return this")();tq.exports=Mye});var hA=C((_7e,rq)=>{var Nye=xn(),Oye=Nye.Symbol;rq.exports=Oye});var nq=C(($7e,iq)=>{function Tye(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var Kye=Array.isArray;sq.exports=Kye});var lq=C((tXe,oq)=>{var aq=hA(),Aq=Object.prototype,Uye=Aq.hasOwnProperty,Hye=Aq.toString,Eh=aq?aq.toStringTag:void 0;function Yye(t){var e=Uye.call(t,Eh),r=t[Eh];try{t[Eh]=void 0;var i=!0}catch(s){}var n=Hye.call(t);return i&&(e?t[Eh]=r:delete t[Eh]),n}oq.exports=Yye});var uq=C((rXe,cq)=>{var jye=Object.prototype,Gye=jye.toString;function qye(t){return Gye.call(t)}cq.exports=qye});var fA=C((iXe,gq)=>{var hq=hA(),Jye=lq(),Wye=uq(),zye="[object Null]",Xye="[object Undefined]",fq=hq?hq.toStringTag:void 0;function Vye(t){return t==null?t===void 0?Xye:zye:fq&&fq in Object(t)?Jye(t):Wye(t)}gq.exports=Vye});var _n=C((nXe,pq)=>{function Zye(t){return t!=null&&typeof t=="object"}pq.exports=Zye});var Vm=C((sXe,dq)=>{var _ye=fA(),$ye=_n(),eBe="[object Symbol]";function tBe(t){return typeof t=="symbol"||$ye(t)&&_ye(t)==eBe}dq.exports=tBe});var Bq=C((oXe,Cq)=>{var mq=hA(),rBe=nq(),iBe=an(),nBe=Vm(),sBe=1/0,Iq=mq?mq.prototype:void 0,Eq=Iq?Iq.toString:void 0;function yq(t){if(typeof t=="string")return t;if(iBe(t))return rBe(t,yq)+"";if(nBe(t))return Eq?Eq.call(t):"";var e=t+"";return e=="0"&&1/t==-sBe?"-0":e}Cq.exports=yq});var rc=C((aXe,wq)=>{var oBe=Bq();function aBe(t){return t==null?"":oBe(t)}wq.exports=aBe});var pD=C((AXe,Qq)=>{function ABe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var lBe=pD();function cBe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:lBe(t,e,r)}bq.exports=cBe});var dD=C((cXe,Sq)=>{var uBe="\\ud800-\\udfff",gBe="\\u0300-\\u036f",hBe="\\ufe20-\\ufe2f",fBe="\\u20d0-\\u20ff",pBe=gBe+hBe+fBe,dBe="\\ufe0e\\ufe0f",CBe="\\u200d",mBe=RegExp("["+CBe+uBe+pBe+dBe+"]");function IBe(t){return mBe.test(t)}Sq.exports=IBe});var xq=C((uXe,Pq)=>{function EBe(t){return t.split("")}Pq.exports=EBe});var Oq=C((gXe,kq)=>{var vq="\\ud800-\\udfff",yBe="\\u0300-\\u036f",BBe="\\ufe20-\\ufe2f",wBe="\\u20d0-\\u20ff",QBe=yBe+BBe+wBe,bBe="\\ufe0e\\ufe0f",DBe="["+vq+"]",CD="["+QBe+"]",mD="\\ud83c[\\udffb-\\udfff]",SBe="(?:"+CD+"|"+mD+")",Fq="[^"+vq+"]",Rq="(?:\\ud83c[\\udde6-\\uddff]){2}",Lq="[\\ud800-\\udbff][\\udc00-\\udfff]",PBe="\\u200d",Mq=SBe+"?",Nq="["+bBe+"]?",xBe="(?:"+PBe+"(?:"+[Fq,Rq,Lq].join("|")+")"+Nq+Mq+")*",kBe=Nq+Mq+xBe,vBe="(?:"+[Fq+CD+"?",CD,Rq,Lq,DBe].join("|")+")",FBe=RegExp(mD+"(?="+mD+")|"+vBe+kBe,"g");function RBe(t){return t.match(FBe)||[]}kq.exports=RBe});var Kq=C((hXe,Tq)=>{var LBe=xq(),MBe=dD(),NBe=Oq();function OBe(t){return MBe(t)?NBe(t):LBe(t)}Tq.exports=OBe});var Hq=C((fXe,Uq)=>{var TBe=Dq(),KBe=dD(),UBe=Kq(),HBe=rc();function YBe(t){return function(e){e=HBe(e);var r=KBe(e)?UBe(e):void 0,i=r?r[0]:e.charAt(0),n=r?TBe(r,1).join(""):e.slice(1);return i[t]()+n}}Uq.exports=YBe});var jq=C((pXe,Yq)=>{var jBe=Hq(),GBe=jBe("toUpperCase");Yq.exports=GBe});var ID=C((dXe,Gq)=>{var qBe=rc(),JBe=jq();function WBe(t){return JBe(qBe(t).toLowerCase())}Gq.exports=WBe});var Jq=C((CXe,qq)=>{"use strict";qq.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Zm=C((mXe,ED)=>{"use strict";var zBe=Jq(),Wq=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=zBe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};ED.exports=Wq;ED.exports.default=Wq});var eJ=C((PXe,eI)=>{function XBe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,h=12,f=13,p=14,m=15,I=16,y=17,B=0,P=1,k=2,N=3,O=4;function v(A,q){return 55296<=A.charCodeAt(q)&&A.charCodeAt(q)<=56319&&56320<=A.charCodeAt(q+1)&&A.charCodeAt(q+1)<=57343}function U(A,q){q===void 0&&(q=0);var Z=A.charCodeAt(q);if(55296<=Z&&Z<=56319&&q=1){var $=A.charCodeAt(q-1),T=Z;return 55296<=$&&$<=56319?($-55296)*1024+(T-56320)+65536:T}return Z}function re(A,q,Z){var $=[A].concat(q).concat([Z]),T=$[$.length-2],G=Z,Qe=$.lastIndexOf(p);if(Qe>1&&$.slice(1,Qe).every(function(Re){return Re==i})&&[i,f,y].indexOf(A)==-1)return k;var Pe=$.lastIndexOf(n);if(Pe>0&&$.slice(1,Pe).every(function(Re){return Re==n})&&[h,n].indexOf(T)==-1)return $.filter(function(Re){return Re==n}).length%2==1?N:O;if(T==t&&G==e)return B;if(T==r||T==t||T==e)return G==p&&q.every(function(Re){return Re==i})?k:P;if(G==r||G==t||G==e)return P;if(T==o&&(G==o||G==a||G==c||G==u))return B;if((T==c||T==a)&&(G==a||G==l))return B;if((T==u||T==l)&&G==l)return B;if(G==i||G==m)return B;if(G==s)return B;if(T==h)return B;var He=$.indexOf(i)!=-1?$.lastIndexOf(i)-1:$.length-2;return[f,y].indexOf($[He])!=-1&&$.slice(He+1,-1).every(function(Re){return Re==i})&&G==p||T==m&&[I,y].indexOf(G)!=-1?B:q.indexOf(n)!=-1?k:T==n&&G==n?B:P}this.nextBreak=function(A,q){if(q===void 0&&(q=0),q<0)return 0;if(q>=A.length-1)return A.length;for(var Z=F(U(A,q)),$=[],T=q+1;T{var VBe=eJ(),ZBe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,_Be=new VBe;tJ.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(ZBe)||[t,t,void 0],l=_Be.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var sc=C((eVe,pJ)=>{"use strict";var dJ=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),$Xe=pJ.exports=t=>t?Object.keys(t).map(e=>[dJ.has(e)?dJ.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var mJ=C((tVe,CJ)=>{"use strict";CJ.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var nI=C((rVe,IJ)=>{"use strict";IJ.exports=dt;dt.Node=pA;dt.create=dt;function dt(t){var e=this;if(e instanceof dt||(e=new dt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};dt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};dt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};dt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};dt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};dt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var pwe=require("events"),yJ=require("stream"),wh=nI(),BJ=require("string_decoder").StringDecoder,Hs=Symbol("EOF"),Qh=Symbol("maybeEmitEnd"),Ho=Symbol("emittedEnd"),sI=Symbol("emittingEnd"),oI=Symbol("closed"),wJ=Symbol("read"),QD=Symbol("flush"),QJ=Symbol("flushChunk"),yi=Symbol("encoding"),Ys=Symbol("decoder"),aI=Symbol("flowing"),bh=Symbol("paused"),Dh=Symbol("resume"),ni=Symbol("bufferLength"),bJ=Symbol("bufferPush"),bD=Symbol("bufferShift"),Hr=Symbol("objectMode"),Yr=Symbol("destroyed"),DJ=global._MP_NO_ITERATOR_SYMBOLS_!=="1",dwe=DJ&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Cwe=DJ&&Symbol.iterator||Symbol("iterator not implemented"),SJ=t=>t==="end"||t==="finish"||t==="prefinish",mwe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Iwe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);EJ.exports=class PJ extends yJ{constructor(e){super();this[aI]=!1,this[bh]=!1,this.pipes=new wh,this.buffer=new wh,this[Hr]=e&&e.objectMode||!1,this[Hr]?this[yi]=null:this[yi]=e&&e.encoding||null,this[yi]==="buffer"&&(this[yi]=null),this[Ys]=this[yi]?new BJ(this[yi]):null,this[Hs]=!1,this[Ho]=!1,this[sI]=!1,this[oI]=!1,this.writable=!0,this.readable=!0,this[ni]=0,this[Yr]=!1}get bufferLength(){return this[ni]}get encoding(){return this[yi]}set encoding(e){if(this[Hr])throw new Error("cannot set encoding in objectMode");if(this[yi]&&e!==this[yi]&&(this[Ys]&&this[Ys].lastNeed||this[ni]))throw new Error("cannot change encoding");this[yi]!==e&&(this[Ys]=e?new BJ(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Ys].write(r)))),this[yi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hr]}set objectMode(e){this[Hr]=this[Hr]||!!e}write(e,r,i){if(this[Hs])throw new Error("write after end");return this[Yr]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Hr]&&!Buffer.isBuffer(e)&&(Iwe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):mwe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[ni]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Hr]&&!(r===this[yi]&&!this[Ys].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[yi]&&(e=this[Ys].write(e)),this.flowing?(this[ni]!==0&&this[QD](!0),this.emit("data",e)):this[bJ](e),this[ni]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Yr])return null;try{return this[ni]===0||e===0||e>this[ni]?null:(this[Hr]&&(e=null),this.buffer.length>1&&!this[Hr]&&(this.encoding?this.buffer=new wh([Array.from(this.buffer).join("")]):this.buffer=new wh([Buffer.concat(Array.from(this.buffer),this[ni])])),this[wJ](e||null,this.buffer.head.value))}finally{this[Qh]()}}[wJ](e,r){return e===r.length||e===null?this[bD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[ni]-=e),this.emit("data",r),!this.buffer.length&&!this[Hs]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[Hs]=!0,this.writable=!1,(this.flowing||!this[bh])&&this[Qh](),this}[Dh](){this[Yr]||(this[bh]=!1,this[aI]=!0,this.emit("resume"),this.buffer.length?this[QD]():this[Hs]?this[Qh]():this.emit("drain"))}resume(){return this[Dh]()}pause(){this[aI]=!1,this[bh]=!0}get destroyed(){return this[Yr]}get flowing(){return this[aI]}get paused(){return this[bh]}[bJ](e){return this[Hr]?this[ni]+=1:this[ni]+=e.length,this.buffer.push(e)}[bD](){return this.buffer.length&&(this[Hr]?this[ni]-=1:this[ni]-=this.buffer.head.value.length),this.buffer.shift()}[QD](e){do;while(this[QJ](this[bD]()));!e&&!this.buffer.length&&!this[Hs]&&this.emit("drain")}[QJ](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Yr])return;let i=this[Ho];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[Dh]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[Dh](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[Dh]():SJ(e)&&this[Ho]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[Ho]}[Qh](){!this[sI]&&!this[Ho]&&!this[Yr]&&this.buffer.length===0&&this[Hs]&&(this[sI]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[oI]&&this.emit("close"),this[sI]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Yr&&this[Yr])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[Ho]===!0)return;this[Ho]=!0,this.readable=!1,this[Ys]&&(r=this[Ys].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[oI]=!0,!this[Ho]&&!this[Yr]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Hr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Hr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hr]?Promise.reject(new Error("cannot concat in objectMode")):this[yi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Yr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[dwe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Hs])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Hs]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Yr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[Cwe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Yr]?(e?this.emit("error",e):this.emit(Yr),this):(this[Yr]=!0,this.buffer=new wh,this[ni]=0,typeof this.close=="function"&&!this[oI]&&this.close(),e?this.emit("error",e):this.emit(Yr),this)}static isStream(e){return!!e&&(e instanceof PJ||e instanceof yJ||e instanceof pwe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var kJ=C((nVe,xJ)=>{var Ewe=require("zlib").constants||{ZLIB_VERNUM:4736};xJ.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Ewe))});var LD=C(Ni=>{"use strict";var DD=require("assert"),Yo=require("buffer").Buffer,vJ=require("zlib"),dA=Ni.constants=kJ(),ywe=oc(),FJ=Yo.concat,CA=Symbol("_superWrite"),Sh=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Bwe=Symbol("opts"),Ph=Symbol("flushFlag"),RJ=Symbol("finishFlushFlag"),SD=Symbol("fullFlushFlag"),Pt=Symbol("handle"),AI=Symbol("onError"),ac=Symbol("sawError"),PD=Symbol("level"),xD=Symbol("strategy"),kD=Symbol("ended"),sVe=Symbol("_defaultFullFlush"),vD=class extends ywe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[ac]=!1,this[kD]=!1,this[Bwe]=e,this[Ph]=e.flush,this[RJ]=e.finishFlush;try{this[Pt]=new vJ[r](e)}catch(i){throw new Sh(i)}this[AI]=i=>{this[ac]||(this[ac]=!0,this.close(),this.emit("error",i))},this[Pt].on("error",i=>this[AI](new Sh(i))),this.once("end",()=>this.close)}close(){this[Pt]&&(this[Pt].close(),this[Pt]=null,this.emit("close"))}reset(){if(!this[ac])return DD(this[Pt],"zlib binding closed"),this[Pt].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[SD]),this.write(Object.assign(Yo.alloc(0),{[Ph]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[RJ]),this[kD]=!0,super.end(null,null,i)}get ended(){return this[kD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=Yo.from(e,r)),this[ac])return;DD(this[Pt],"zlib binding closed");let n=this[Pt]._handle,s=n.close;n.close=()=>{};let o=this[Pt].close;this[Pt].close=()=>{},Yo.concat=c=>c;let a;try{let c=typeof e[Ph]=="number"?e[Ph]:this[Ph];a=this[Pt]._processChunk(e,c),Yo.concat=FJ}catch(c){Yo.concat=FJ,this[AI](new Sh(c))}finally{this[Pt]&&(this[Pt]._handle=n,n.close=s,this[Pt].close=o,this[Pt].removeAllListeners("error"))}this[Pt]&&this[Pt].on("error",c=>this[AI](new Sh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[CA](Yo.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Pt].params(e,r)}finally{this[Pt].flush=i}this[Pt]&&(this[PD]=e,this[xD]=r)}}}},LJ=class extends jo{constructor(e){super(e,"Deflate")}},MJ=class extends jo{constructor(e){super(e,"Inflate")}},FD=Symbol("_portable"),NJ=class extends jo{constructor(e){super(e,"Gzip");this[FD]=e&&!!e.portable}[CA](e){return this[FD]?(this[FD]=!1,e[9]=255,super[CA](e)):super[CA](e)}},OJ=class extends jo{constructor(e){super(e,"Gunzip")}},TJ=class extends jo{constructor(e){super(e,"DeflateRaw")}},KJ=class extends jo{constructor(e){super(e,"InflateRaw")}},UJ=class extends jo{constructor(e){super(e,"Unzip")}},RD=class extends vD{constructor(e,r){e=e||{},e.flush=e.flush||dA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||dA.BROTLI_OPERATION_FINISH,super(e,r),this[SD]=dA.BROTLI_OPERATION_FLUSH}},HJ=class extends RD{constructor(e){super(e,"BrotliCompress")}},YJ=class extends RD{constructor(e){super(e,"BrotliDecompress")}};Ni.Deflate=LJ;Ni.Inflate=MJ;Ni.Gzip=NJ;Ni.Gunzip=OJ;Ni.DeflateRaw=TJ;Ni.InflateRaw=KJ;Ni.Unzip=UJ;typeof vJ.BrotliCompress=="function"?(Ni.BrotliCompress=HJ,Ni.BrotliDecompress=YJ):Ni.BrotliCompress=Ni.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var xh=C(lI=>{"use strict";lI.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);lI.code=new Map(Array.from(lI.name).map(t=>[t[1],t[0]]))});var kh=C((cVe,jJ)=>{"use strict";var AVe=xh(),wwe=oc(),MD=Symbol("slurp");jJ.exports=class extends wwe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[MD](r),i&&this[MD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[MD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var JJ=C(ND=>{"use strict";var uVe=ND.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?bwe(t,e):Qwe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Qwe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},bwe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=GJ(n):n===0?e[i-1]=0:(r=!0,e[i-1]=qJ(n))}},gVe=ND.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=Swe(t.slice(1,t.length));else if(r===255)i=Dwe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},Dwe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=GJ(s):s===0?o=s:(i=!0,o=qJ(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},Swe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},GJ=t=>(255^t)&255,qJ=t=>(255^t)+1&255});var lc=C((fVe,WJ)=>{"use strict";var OD=xh(),Ac=require("path").posix,zJ=JJ(),TD=Symbol("slurp"),Oi=Symbol("type"),XJ=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Oi]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=mA(e,r,100),this.mode=Go(e,r+100,8),this.uid=Go(e,r+108,8),this.gid=Go(e,r+116,8),this.size=Go(e,r+124,12),this.mtime=KD(e,r+136,12),this.cksum=Go(e,r+148,12),this[TD](i),this[TD](n,!0),this[Oi]=mA(e,r+156,1),this[Oi]===""&&(this[Oi]="0"),this[Oi]==="0"&&this.path.substr(-1)==="/"&&(this[Oi]="5"),this[Oi]==="5"&&(this.size=0),this.linkpath=mA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=mA(e,r+265,32),this.gname=mA(e,r+297,32),this.devmaj=Go(e,r+329,8),this.devmin=Go(e,r+337,8),e[r+475]!==0){let o=mA(e,r+345,155);this.path=o+"/"+this.path}else{let o=mA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=KD(e,r+476,12),this.ctime=KD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=Pwe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=IA(e,r,100,s)||this.needPax,this.needPax=qo(e,r+100,8,this.mode)||this.needPax,this.needPax=qo(e,r+108,8,this.uid)||this.needPax,this.needPax=qo(e,r+116,8,this.gid)||this.needPax,this.needPax=qo(e,r+124,12,this.size)||this.needPax,this.needPax=UD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Oi].charCodeAt(0),this.needPax=IA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=IA(e,r+265,32,this.uname)||this.needPax,this.needPax=IA(e,r+297,32,this.gname)||this.needPax,this.needPax=qo(e,r+329,8,this.devmaj)||this.needPax,this.needPax=qo(e,r+337,8,this.devmin)||this.needPax,this.needPax=IA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=IA(e,r+345,155,o)||this.needPax:(this.needPax=IA(e,r+345,130,o)||this.needPax,this.needPax=UD(e,r+476,12,this.atime)||this.needPax,this.needPax=UD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Ac.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Ac.join(Ac.basename(n),i),n=Ac.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},mA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),KD=(t,e,r)=>xwe(Go(t,e,r)),xwe=t=>t===null?null:new Date(t*1e3),Go=(t,e,r)=>t[e]&128?zJ.parse(t.slice(e,e+r)):kwe(t,e,r),vwe=t=>isNaN(t)?null:t,kwe=(t,e,r)=>vwe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Fwe={12:8589934591,8:2097151},qo=(t,e,r,i)=>i===null?!1:i>Fwe[r]||i<0?(zJ.encode(i,t.slice(e,e+r)),!0):(Rwe(t,e,r,i),!1),Rwe=(t,e,r,i)=>t.write(Lwe(i,r),e,r,"ascii"),Lwe=(t,e)=>Mwe(Math.floor(t).toString(8),e),Mwe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",UD=(t,e,r,i)=>i===null?!1:qo(t,e,r,i.getTime()/1e3),Nwe=new Array(156).join("\0"),IA=(t,e,r,i)=>i===null?!1:(t.write(i+Nwe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);WJ.exports=XJ});var uI=C((pVe,VJ)=>{"use strict";var Owe=lc(),Twe=require("path"),cI=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new Owe({path:("PaxHeader/"+Twe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};cI.parse=(t,e,r)=>new cI(Kwe(Uwe(t),e),r);var Kwe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,Uwe=t=>t.replace(/\n$/,"").split(` -`).reduce(Hwe,Object.create(null)),Hwe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};VJ.exports=cI});var gI=C((dVe,ZJ)=>{"use strict";ZJ.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var YD=C((CVe,_J)=>{"use strict";var hI=["|","<",">","?",":"],HD=hI.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),Ywe=new Map(hI.map((t,e)=>[t,HD[e]])),jwe=new Map(HD.map((t,e)=>[t,hI[e]]));_J.exports={encode:t=>hI.reduce((e,r)=>e.split(r).join(Ywe.get(r)),t),decode:t=>HD.reduce((e,r)=>e.split(r).join(jwe.get(r)),t)}});var e3=C((mVe,$J)=>{"use strict";$J.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var XD=C((wVe,t3)=>{"use strict";var r3=oc(),i3=uI(),n3=lc(),IVe=kh(),es=require("fs"),cc=require("path"),EVe=xh(),Gwe=16*1024*1024,s3=Symbol("process"),o3=Symbol("file"),a3=Symbol("directory"),jD=Symbol("symlink"),A3=Symbol("hardlink"),vh=Symbol("header"),fI=Symbol("read"),GD=Symbol("lstat"),pI=Symbol("onlstat"),qD=Symbol("onread"),JD=Symbol("onreadlink"),WD=Symbol("openfile"),zD=Symbol("onopenfile"),EA=Symbol("close"),dI=Symbol("mode"),l3=gI(),qwe=YD(),c3=e3(),CI=l3(class extends r3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||Gwe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&cc.win32.isAbsolute(e)){let n=cc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=qwe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||cc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[pI](this.statCache.get(this.absolute)):this[GD]()}[GD](){es.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[pI](r)})}[pI](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Jwe(e),this.emit("stat",e),this[s3]()}[s3](){switch(this.type){case"File":return this[o3]();case"Directory":return this[a3]();case"SymbolicLink":return this[jD]();default:return this.end()}}[dI](e){return c3(e,this.type==="Directory",this.portable)}[vh](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new n3({path:this.path,linkpath:this.linkpath,mode:this[dI](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new i3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[a3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[vh](),this.end()}[jD](){es.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[JD](r)})}[JD](e){this.linkpath=e.replace(/\\/g,"/"),this[vh](),this.end()}[A3](e){this.type="Link",this.linkpath=cc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[vh](),this.end()}[o3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[A3](r)}this.linkCache.set(e,this.absolute)}if(this[vh](),this.stat.size===0)return this.end();this[WD]()}[WD](){es.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[zD](r)})}[zD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[fI](e,n,0,n.length,0,this.stat.size,r)}[fI](e,r,i,n,s,o,a){es.read(e,r,i,n,s,(l,c)=>{if(l)return this[EA](e,()=>this.emit("error",l));this[qD](e,r,i,n,s,o,a,c)})}[EA](e,r){es.close(e,r)}[qD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[EA](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[EA](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[fI](e,r,i,n,s,o,a)}}),u3=class extends CI{constructor(e,r){super(e,r)}[GD](){this[pI](es.lstatSync(this.absolute))}[jD](){this[JD](es.readlinkSync(this.absolute))}[WD](){this[zD](es.openSync(this.absolute,"r"))}[fI](e,r,i,n,s,o,a){let l=!0;try{let c=es.readSync(e,r,i,n,s);this[qD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[EA](e,()=>{})}catch(c){}}}[EA](e,r){es.closeSync(e),r()}},Wwe=l3(class extends r3{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[dI](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(cc.isAbsolute(this.path)&&!this.preservePaths){let n=cc.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new n3({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new i3({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[dI](e){return c3(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});CI.Sync=u3;CI.Tar=Wwe;var Jwe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";t3.exports=CI});var bI=C((bVe,g3)=>{"use strict";var VD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},zwe=oc(),Xwe=LD(),Vwe=kh(),ZD=XD(),Zwe=ZD.Sync,_we=ZD.Tar,$we=nI(),h3=Buffer.alloc(1024),mI=Symbol("onStat"),II=Symbol("ended"),ts=Symbol("queue"),uc=Symbol("current"),yA=Symbol("process"),EI=Symbol("processing"),f3=Symbol("processJob"),rs=Symbol("jobs"),_D=Symbol("jobDone"),yI=Symbol("addFSEntry"),p3=Symbol("addTarEntry"),$D=Symbol("stat"),eS=Symbol("readdir"),BI=Symbol("onreaddir"),wI=Symbol("pipe"),d3=Symbol("entry"),tS=Symbol("entryOpt"),rS=Symbol("writeEntryClass"),C3=Symbol("write"),iS=Symbol("ondrain"),QI=require("fs"),m3=require("path"),eQe=gI(),nS=eQe(class extends zwe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[rS]=ZD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Xwe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[iS]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[iS]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[ts]=new $we,this[rs]=0,this.jobs=+e.jobs||4,this[EI]=!1,this[II]=!1}[C3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[II]=!0,this[yA](),this}write(e){if(this[II])throw new Error("write after end");return e instanceof Vwe?this[p3](e):this[yI](e),this.flowing}[p3](e){let r=m3.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new VD(e.path,r,!1);i.entry=new _we(e,this[tS](i)),i.entry.on("end",n=>this[_D](i)),this[rs]+=1,this[ts].push(i)}this[yA]()}[yI](e){let r=m3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[ts].push(new VD(e,r)),this[yA]()}[$D](e){e.pending=!0,this[rs]+=1;let r=this.follow?"stat":"lstat";QI[r](e.absolute,(i,n)=>{e.pending=!1,this[rs]-=1,i?this.emit("error",i):this[mI](e,n)})}[mI](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[yA]()}[eS](e){e.pending=!0,this[rs]+=1,QI.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[rs]-=1,r)return this.emit("error",r);this[BI](e,i)})}[BI](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[yA]()}[yA](){if(!this[EI]){this[EI]=!0;for(let e=this[ts].head;e!==null&&this[rs]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[d3](e){this[rs]+=1;try{return new this[rS](e.path,this[tS](e)).on("end",()=>this[_D](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[iS](){this[uc]&&this[uc].entry&&this[uc].entry.resume()}[wI](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[yI](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),I3=class extends nS{constructor(e){super(e);this[rS]=Zwe}pause(){}resume(){}[$D](e){let r=this.follow?"statSync":"lstatSync";this[mI](e,QI[r](e.absolute))}[eS](e,r){this[BI](e,QI.readdirSync(e.absolute))}[wI](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[yI](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[C3](n)})}};nS.Sync=I3;g3.exports=nS});var Cc=C(Fh=>{"use strict";var tQe=oc(),rQe=require("events").EventEmitter,An=require("fs"),DI=process.binding("fs"),DVe=DI.writeBuffers,iQe=DI.FSReqWrap||DI.FSReqCallback,gc=Symbol("_autoClose"),is=Symbol("_close"),Rh=Symbol("_ended"),bt=Symbol("_fd"),E3=Symbol("_finished"),BA=Symbol("_flags"),sS=Symbol("_flush"),oS=Symbol("_handleChunk"),aS=Symbol("_makeBuf"),AS=Symbol("_mode"),SI=Symbol("_needDrain"),hc=Symbol("_onerror"),fc=Symbol("_onopen"),lS=Symbol("_onread"),wA=Symbol("_onwrite"),Jo=Symbol("_open"),Wo=Symbol("_path"),QA=Symbol("_pos"),ns=Symbol("_queue"),pc=Symbol("_read"),y3=Symbol("_readSize"),zo=Symbol("_reading"),PI=Symbol("_remain"),B3=Symbol("_size"),xI=Symbol("_write"),dc=Symbol("_writing"),kI=Symbol("_defaultFlag"),cS=class extends tQe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[bt]=typeof r.fd=="number"?r.fd:null,this[Wo]=e,this[y3]=r.readSize||16*1024*1024,this[zo]=!1,this[B3]=typeof r.size=="number"?r.size:Infinity,this[PI]=this[B3],this[gc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[bt]=="number"?this[pc]():this[Jo]()}get fd(){return this[bt]}get path(){return this[Wo]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Jo](){An.open(this[Wo],"r",(e,r)=>this[fc](e,r))}[fc](e,r){e?this[hc](e):(this[bt]=r,this.emit("open",r),this[pc]())}[aS](){return Buffer.allocUnsafe(Math.min(this[y3],this[PI]))}[pc](){if(!this[zo]){this[zo]=!0;let e=this[aS]();if(e.length===0)return process.nextTick(()=>this[lS](null,0,e));An.read(this[bt],e,0,e.length,null,(r,i,n)=>this[lS](r,i,n))}}[lS](e,r,i){this[zo]=!1,e?this[hc](e):this[oS](r,i)&&this[pc]()}[is](){this[gc]&&typeof this[bt]=="number"&&(An.close(this[bt],e=>this.emit("close")),this[bt]=null)}[hc](e){this[zo]=!0,this[is](),this.emit("error",e)}[oS](e,r){let i=!1;return this[PI]-=e,e>0&&(i=super.write(ethis[fc](e,r))}[fc](e,r){this[kI]&&this[BA]==="r+"&&e&&e.code==="ENOENT"?(this[BA]="w",this[Jo]()):e?this[hc](e):(this[bt]=r,this.emit("open",r),this[sS]())}end(e,r){e&&this.write(e,r),this[Rh]=!0,!this[dc]&&!this[ns].length&&typeof this[bt]=="number"&&this[wA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[Rh]?(this.emit("error",new Error("write() after end()")),!1):this[bt]===null||this[dc]||this[ns].length?(this[ns].push(e),this[SI]=!0,!1):(this[dc]=!0,this[xI](e),!0)}[xI](e){An.write(this[bt],e,0,e.length,this[QA],(r,i)=>this[wA](r,i))}[wA](e,r){e?this[hc](e):(this[QA]!==null&&(this[QA]+=r),this[ns].length?this[sS]():(this[dc]=!1,this[Rh]&&!this[E3]?(this[E3]=!0,this[is](),this.emit("finish")):this[SI]&&(this[SI]=!1,this.emit("drain"))))}[sS](){if(this[ns].length===0)this[Rh]&&this[wA](null,0);else if(this[ns].length===1)this[xI](this[ns].pop());else{let e=this[ns];this[ns]=[],nQe(this[bt],e,this[QA],(r,i)=>this[wA](r,i))}}[is](){this[gc]&&typeof this[bt]=="number"&&(An.close(this[bt],e=>this.emit("close")),this[bt]=null)}},Q3=class extends uS{[Jo](){let e;try{e=An.openSync(this[Wo],this[BA],this[AS])}catch(r){if(this[kI]&&this[BA]==="r+"&&r&&r.code==="ENOENT")return this[BA]="w",this[Jo]();throw r}this[fc](null,e)}[is](){if(this[gc]&&typeof this[bt]=="number"){try{An.closeSync(this[bt])}catch(e){}this[bt]=null,this.emit("close")}}[xI](e){try{this[wA](null,An.writeSync(this[bt],e,0,e.length,this[QA]))}catch(r){this[wA](r,0)}}},nQe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new iQe;s.oncomplete=n,DI.writeBuffers(t,e,r,s)};Fh.ReadStream=cS;Fh.ReadStreamSync=w3;Fh.WriteStream=uS;Fh.WriteStreamSync=Q3});var Nh=C((kVe,b3)=>{"use strict";var sQe=gI(),PVe=require("path"),oQe=lc(),aQe=require("events"),AQe=nI(),lQe=1024*1024,cQe=kh(),D3=uI(),uQe=LD(),gS=Buffer.from([31,139]),ln=Symbol("state"),bA=Symbol("writeEntry"),js=Symbol("readEntry"),hS=Symbol("nextEntry"),S3=Symbol("processEntry"),cn=Symbol("extendedHeader"),Lh=Symbol("globalExtendedHeader"),Xo=Symbol("meta"),P3=Symbol("emitMeta"),Nt=Symbol("buffer"),Gs=Symbol("queue"),DA=Symbol("ended"),x3=Symbol("emittedEnd"),SA=Symbol("emit"),Bi=Symbol("unzip"),vI=Symbol("consumeChunk"),FI=Symbol("consumeChunkSub"),fS=Symbol("consumeBody"),k3=Symbol("consumeMeta"),v3=Symbol("consumeHeader"),RI=Symbol("consuming"),pS=Symbol("bufferConcat"),dS=Symbol("maybeEnd"),Mh=Symbol("writing"),Vo=Symbol("aborted"),LI=Symbol("onDone"),PA=Symbol("sawValidEntry"),MI=Symbol("sawNullBlock"),NI=Symbol("sawEOF"),gQe=t=>!0;b3.exports=sQe(class extends aQe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[PA]=null,this.on(LI,r=>{(this[ln]==="begin"||this[PA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(LI,e.ondone):this.on(LI,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||lQe,this.filter=typeof e.filter=="function"?e.filter:gQe,this.writable=!0,this.readable=!1,this[Gs]=new AQe,this[Nt]=null,this[js]=null,this[bA]=null,this[ln]="begin",this[Xo]="",this[cn]=null,this[Lh]=null,this[DA]=!1,this[Bi]=null,this[Vo]=!1,this[MI]=!1,this[NI]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[v3](e,r){this[PA]===null&&(this[PA]=!1);let i;try{i=new oQe(e,r,this[cn],this[Lh])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[MI]?(this[NI]=!0,this[ln]==="begin"&&(this[ln]="header"),this[SA]("eof")):(this[MI]=!0,this[SA]("nullBlock"));else if(this[MI]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[bA]=new cQe(i,this[cn],this[Lh]);if(!this[PA])if(s.remain){let o=()=>{s.invalid||(this[PA]=!0)};s.on("end",o)}else this[PA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[SA]("ignoredEntry",s),this[ln]="ignore",s.resume()):s.size>0&&(this[Xo]="",s.on("data",o=>this[Xo]+=o),this[ln]="meta"):(this[cn]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[SA]("ignoredEntry",s),this[ln]=s.remain?"ignore":"header",s.resume()):(s.remain?this[ln]="body":(this[ln]="header",s.end()),this[js]?this[Gs].push(s):(this[Gs].push(s),this[hS]())))}}}[S3](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[js]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[hS]()),r=!1)):(this[js]=null,r=!1),r}[hS](){do;while(this[S3](this[Gs].shift()));if(!this[Gs].length){let e=this[js];!e||e.flowing||e.size===e.remain?this[Mh]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[fS](e,r){let i=this[bA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[ln]="header",this[bA]=null,i.end()),s.length}[k3](e,r){let i=this[bA],n=this[fS](e,r);return this[bA]||this[P3](i),n}[SA](e,r,i){!this[Gs].length&&!this[js]?this.emit(e,r,i):this[Gs].push([e,r,i])}[P3](e){switch(this[SA]("meta",this[Xo]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[cn]=D3.parse(this[Xo],this[cn],!1);break;case"GlobalExtendedHeader":this[Lh]=D3.parse(this[Xo],this[Lh],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[cn]=this[cn]||Object.create(null),this[cn].path=this[Xo].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[cn]=this[cn]||Object.create(null),this[cn].linkpath=this[Xo].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Vo]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Vo])return;if(this[Bi]===null&&e){if(this[Nt]&&(e=Buffer.concat([this[Nt],e]),this[Nt]=null),e.lengththis[vI](s)),this[Bi].on("error",s=>this.abort(s)),this[Bi].on("end",s=>{this[DA]=!0,this[vI]()}),this[Mh]=!0;let n=this[Bi][i?"end":"write"](e);return this[Mh]=!1,n}}this[Mh]=!0,this[Bi]?this[Bi].write(e):this[vI](e),this[Mh]=!1;let r=this[Gs].length?!1:this[js]?this[js].flowing:!0;return!r&&!this[Gs].length&&this[js].once("drain",i=>this.emit("drain")),r}[pS](e){e&&!this[Vo]&&(this[Nt]=this[Nt]?Buffer.concat([this[Nt],e]):e)}[dS](){if(this[DA]&&!this[x3]&&!this[Vo]&&!this[RI]){this[x3]=!0;let e=this[bA];if(e&&e.blockRemain){let r=this[Nt]?this[Nt].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Nt]&&e.write(this[Nt]),e.end()}this[SA](LI)}}[vI](e){if(this[RI])this[pS](e);else if(!e&&!this[Nt])this[dS]();else{if(this[RI]=!0,this[Nt]){this[pS](e);let r=this[Nt];this[Nt]=null,this[FI](r)}else this[FI](e);for(;this[Nt]&&this[Nt].length>=512&&!this[Vo]&&!this[NI];){let r=this[Nt];this[Nt]=null,this[FI](r)}this[RI]=!1}(!this[Nt]||this[DA])&&this[dS]()}[FI](e){let r=0,i=e.length;for(;r+512<=i&&!this[Vo]&&!this[NI];)switch(this[ln]){case"begin":case"header":this[v3](e,r),r+=512;break;case"ignore":case"body":r+=this[fS](e,r);break;case"meta":r+=this[k3](e,r);break;default:throw new Error("invalid state: "+this[ln])}r{"use strict";var hQe=sc(),R3=Nh(),mc=require("fs"),fQe=Cc(),L3=require("path"),vVe=F3.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=hQe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&dQe(i,e),i.noResume||pQe(i),i.file&&i.sync?CQe(i):i.file?mQe(i,r):M3(i)},pQe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},dQe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||L3.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(L3.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},CQe=t=>{let e=M3(t),r=t.file,i=!0,n;try{let s=mc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new R3(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),mc.stat(n,(l,c)=>{if(l)a(l);else{let u=new fQe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},M3=t=>new R3(t)});var H3=C((MVe,N3)=>{"use strict";var IQe=sc(),TI=bI(),RVe=require("fs"),O3=Cc(),T3=OI(),K3=require("path"),LVe=N3.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=IQe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?EQe(i,e):i.file?yQe(i,e,r):i.sync?BQe(i,e):wQe(i,e)},EQe=(t,e)=>{let r=new TI.Sync(t),i=new O3.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),U3(r,e)},yQe=(t,e,r)=>{let i=new TI(t),n=new O3.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return CS(i,e),r?s.then(r,r):s},U3=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?T3({file:K3.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},CS=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return T3({file:K3.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>CS(t,e));t.add(r)}t.end()},BQe=(t,e)=>{let r=new TI.Sync(t);return U3(r,e),r},wQe=(t,e)=>{let r=new TI(t);return CS(r,e),r}});var mS=C((TVe,Y3)=>{"use strict";var QQe=sc(),j3=bI(),NVe=Nh(),un=require("fs"),G3=Cc(),q3=OI(),J3=require("path"),W3=lc(),OVe=Y3.exports=(t,e,r)=>{let i=QQe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?bQe(i,e):DQe(i,e,r)},bQe=(t,e)=>{let r=new j3.Sync(t),i=!0,n,s;try{try{n=un.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=un.openSync(t.file,"w+");else throw l}let o=un.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,SQe(t,r,s,n,e)}finally{if(i)try{un.closeSync(n)}catch(o){}}},SQe=(t,e,r,i,n)=>{let s=new G3.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),PQe(e,n)},DQe=(t,e,r)=>{e=Array.from(e);let i=new j3(t),n=(o,a,l)=>{let c=(p,m)=>{p?un.close(o,I=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,h=Buffer.alloc(512),f=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return un.read(o,h,g,h.length-g,u+g,f);if(u===0&&h[0]===31&&h[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let I=new W3(h);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,un.read(o,h,0,512,u,f)};un.read(o,h,0,512,u,f)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",un.open(t.file,l,c);if(u)return a(u);un.fstat(g,(h,f)=>{if(h)return a(h);n(g,f.size,(p,m)=>{if(p)return a(p);let I=new G3.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),z3(i,e)})})};un.open(t.file,l,c)});return r?s.then(r,r):s},PQe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?q3({file:J3.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},z3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return q3({file:J3.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>z3(t,e));t.add(r)}t.end()}});var V3=C((UVe,X3)=>{"use strict";var xQe=sc(),kQe=mS(),KVe=X3.exports=(t,e,r)=>{let i=xQe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),vQe(i),kQe(i,e,r)},vQe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var $3=C((HVe,Z3)=>{var{promisify:_3}=require("util"),Zo=require("fs"),FQe=t=>{if(!t)t={mode:511,fs:Zo};else if(typeof t=="object")t={mode:511,fs:Zo,...t};else if(typeof t=="number")t={mode:t,fs:Zo};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Zo};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Zo.mkdir,t.mkdirAsync=_3(t.mkdir),t.stat=t.stat||t.fs.stat||Zo.stat,t.statAsync=_3(t.stat),t.statSync=t.statSync||t.fs.statSync||Zo.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Zo.mkdirSync,t};Z3.exports=FQe});var tW=C((YVe,eW)=>{var RQe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:LQe,parse:MQe}=require("path"),NQe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=LQe(t),RQe==="win32"){let e=/[*|"<>?:]/,{root:r}=MQe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};eW.exports=NQe});var oW=C((jVe,rW)=>{var{dirname:iW}=require("path"),nW=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?nW(t,iW(e),e):void 0),sW=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?sW(t,iW(e),e):void 0}};rW.exports={findMade:nW,findMadeSync:sW}});var yS=C((GVe,aW)=>{var{dirname:AW}=require("path"),IS=(t,e,r)=>{e.recursive=!1;let i=AW(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return IS(i,e).then(s=>IS(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},ES=(t,e,r)=>{let i=AW(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return ES(t,e,ES(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};aW.exports={mkdirpManual:IS,mkdirpManualSync:ES}});var uW=C((qVe,lW)=>{var{dirname:cW}=require("path"),{findMade:OQe,findMadeSync:TQe}=oW(),{mkdirpManual:KQe,mkdirpManualSync:UQe}=yS(),HQe=(t,e)=>(e.recursive=!0,cW(t)===t?e.mkdirAsync(t,e):OQe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return KQe(t,e);throw n}))),YQe=(t,e)=>{if(e.recursive=!0,cW(t)===t)return e.mkdirSync(t,e);let i=TQe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return UQe(t,e);throw n}};lW.exports={mkdirpNative:HQe,mkdirpNativeSync:YQe}});var pW=C((JVe,gW)=>{var hW=require("fs"),jQe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,BS=jQe.replace(/^v/,"").split("."),fW=+BS[0]>10||+BS[0]==10&&+BS[1]>=12,GQe=fW?t=>t.mkdir===hW.mkdir:()=>!1,qQe=fW?t=>t.mkdirSync===hW.mkdirSync:()=>!1;gW.exports={useNative:GQe,useNativeSync:qQe}});var yW=C((WVe,dW)=>{var Ic=$3(),Ec=tW(),{mkdirpNative:CW,mkdirpNativeSync:mW}=uW(),{mkdirpManual:IW,mkdirpManualSync:EW}=yS(),{useNative:JQe,useNativeSync:WQe}=pW(),yc=(t,e)=>(t=Ec(t),e=Ic(e),JQe(e)?CW(t,e):IW(t,e)),zQe=(t,e)=>(t=Ec(t),e=Ic(e),WQe(e)?mW(t,e):EW(t,e));yc.sync=zQe;yc.native=(t,e)=>CW(Ec(t),Ic(e));yc.manual=(t,e)=>IW(Ec(t),Ic(e));yc.nativeSync=(t,e)=>mW(Ec(t),Ic(e));yc.manualSync=(t,e)=>EW(Ec(t),Ic(e));dW.exports=yc});var PW=C((zVe,BW)=>{"use strict";var gn=require("fs"),xA=require("path"),XQe=gn.lchown?"lchown":"chown",VQe=gn.lchownSync?"lchownSync":"chownSync",wW=gn.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),QW=(t,e,r)=>{try{return gn[VQe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},ZQe=(t,e,r)=>{try{return gn.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},_Qe=wW?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):gn.chown(t,e,r,i)}:(t,e,r,i)=>i,wS=wW?(t,e,r)=>{try{return QW(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;ZQe(t,e,r)}}:(t,e,r)=>QW(t,e,r),$Qe=process.version,bW=(t,e,r)=>gn.readdir(t,e,r),e0e=(t,e)=>gn.readdirSync(t,e);/^v4\./.test($Qe)&&(bW=(t,e,r)=>gn.readdir(t,r));var KI=(t,e,r,i)=>{gn[XQe](t,e,r,_Qe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},DW=(t,e,r,i,n)=>{if(typeof e=="string")return gn.lstat(xA.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,DW(t,o,r,i,n)});if(e.isDirectory())QS(xA.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=xA.resolve(t,e.name);KI(o,r,i,n)});else{let s=xA.resolve(t,e.name);KI(s,r,i,n)}},QS=(t,e,r,i)=>{bW(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return KI(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return KI(t,e,r,i)}};s.forEach(c=>DW(t,c,e,r,l))})},t0e=(t,e,r,i)=>{if(typeof e=="string")try{let n=gn.lstatSync(xA.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&SW(xA.resolve(t,e.name),r,i),wS(xA.resolve(t,e.name),r,i)},SW=(t,e,r)=>{let i;try{i=e0e(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return wS(t,e,r);throw n}return i&&i.length&&i.forEach(n=>t0e(t,n,e,r)),wS(t,e,r)};BW.exports=QS;QS.sync=SW});var FW=C((ZVe,bS)=>{"use strict";var xW=yW(),hn=require("fs"),UI=require("path"),kW=PW(),DS=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},Oh=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},XVe=bS.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,h=e.cwd,f=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?kW(y,o,a,B=>f(B)):s?hn.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return f();if(t===h)return hn.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new Oh(t,I&&I.code||"ENOTDIR")),f(I)});if(c)return xW(t,{mode:n}).then(I=>f(null,I),f);let m=UI.relative(h,t).split(/\/|\\/);HI(h,m,n,g,u,h,null,f)},HI=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return HI(c,e,r,i,n,s,o,a);hn.mkdir(c,r,vW(c,e,r,i,n,s,o,a))},vW=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&UI.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new Oh(s,l.code));hn.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())HI(t,e,r,i,n,s,o,a);else if(n)hn.unlink(t,g=>{if(g)return a(g);hn.mkdir(t,r,vW(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new DS(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,HI(t,e,r,i,n,s,o,a)},VVe=bS.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,h=I=>{u.set(t,!0),I&&a&&kW.sync(I,s,o),n&&hn.chmodSync(t,i)};if(u&&u.get(t)===!0)return h();if(t===g){let I=!1,y="ENOTDIR";try{I=hn.statSync(t).isDirectory()}catch(B){y=B.code}finally{if(!I)throw new Oh(t,y)}h();return}if(l)return h(xW.sync(t,i));let p=UI.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{hn.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(B){if(B.path&&UI.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new Oh(g,B.code);let P=hn.lstatSync(y);if(P.isDirectory()){u.set(y,!0);continue}else if(c){hn.unlinkSync(y),hn.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(P.isSymbolicLink())return new DS(y,y+"/"+p.join("/"))}return h(m)}});var MW=C((_Ve,RW)=>{var LW=require("assert");RW.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,h)=>g.length?g.concat(r(g[g.length-1],h)):[h],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(h=>t.get(h)),dirs:[...g.dirs].map(h=>t.get(h))}},o=u=>{let{paths:g,dirs:h}=s(u);return g.every(f=>f[0]===u)&&h.every(f=>f[0]instanceof Set&&f[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:h}=e.get(u),f=new Set;return g.forEach(p=>{let m=t.get(p);LW.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?f.add(m[0]):m[0].forEach(I=>f.add(I)))}),h.forEach(p=>{let m=t.get(p);LW(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),f.add(m[0])):m[0].delete(u)}),n.delete(u),f.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let h=new Set(u.map(f=>i(f)).reduce((f,p)=>f.concat(p)));return e.set(g,{dirs:h,paths:u}),u.forEach(f=>{let p=t.get(f);p?p.push(g):t.set(f,[g])}),h.forEach(f=>{let p=t.get(f);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(f,[new Set([g])])}),a(g)}}}});var TW=C(($Ve,NW)=>{var r0e=process.env.__FAKE_PLATFORM__||process.platform,i0e=r0e==="win32",n0e=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:s0e,O_TRUNC:o0e,O_WRONLY:a0e,UV_FS_O_FILEMAP:OW=0}=n0e.constants,A0e=i0e&&!!OW,l0e=512*1024,c0e=OW|o0e|s0e|a0e;NW.exports=A0e?t=>t"w"});var MS=C((iZe,KW)=>{"use strict";var u0e=require("assert"),eZe=require("events").EventEmitter,g0e=Nh(),yt=require("fs"),h0e=Cc(),qs=require("path"),SS=FW(),tZe=SS.sync,UW=YD(),f0e=MW(),HW=Symbol("onEntry"),PS=Symbol("checkFs"),YW=Symbol("checkFs2"),xS=Symbol("isReusable"),Js=Symbol("makeFs"),kS=Symbol("file"),vS=Symbol("directory"),YI=Symbol("link"),jW=Symbol("symlink"),GW=Symbol("hardlink"),qW=Symbol("unsupported"),rZe=Symbol("unknown"),JW=Symbol("checkPath"),Bc=Symbol("mkdir"),si=Symbol("onError"),jI=Symbol("pending"),WW=Symbol("pend"),wc=Symbol("unpend"),FS=Symbol("ended"),RS=Symbol("maybeClose"),LS=Symbol("skip"),Th=Symbol("doChown"),Kh=Symbol("uid"),Uh=Symbol("gid"),zW=require("crypto"),XW=TW(),GI=()=>{throw new Error("sync function called cb somehow?!?")},p0e=(t,e)=>{if(process.platform!=="win32")return yt.unlink(t,e);let r=t+".DELETE."+zW.randomBytes(16).toString("hex");yt.rename(t,r,i=>{if(i)return e(i);yt.unlink(r,e)})},d0e=t=>{if(process.platform!=="win32")return yt.unlinkSync(t);let e=t+".DELETE."+zW.randomBytes(16).toString("hex");yt.renameSync(t,e),yt.unlinkSync(e)},VW=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,qI=class extends g0e{constructor(e){if(e||(e={}),e.ondone=r=>{this[FS]=!0,this[RS]()},super(e),this.reservations=f0e(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[jI]=0,this[FS]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=qs.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[HW](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[RS](){this[FS]&&this[jI]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[JW](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(qs.win32.isAbsolute(r)){let i=qs.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=qs.win32.parse(e.path);e.path=r.root===""?UW.encode(e.path):r.root+UW.encode(e.path.substr(r.root.length))}return qs.isAbsolute(e.path)?e.absolute=e.path:e.absolute=qs.resolve(this.cwd,e.path),!0}[HW](e){if(!this[JW](e))return e.resume();switch(u0e.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[PS](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[qW](e)}}[si](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[wc](),r.resume())}[Bc](e,r,i){SS(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[Th](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Kh](e){return VW(this.uid,e.uid,this.processUid)}[Uh](e){return VW(this.gid,e.gid,this.processGid)}[kS](e,r){let i=e.mode&4095||this.fmode,n=new h0e.WriteStream(e.absolute,{flags:XW(e.size),mode:i,autoClose:!1});n.on("error",l=>this[si](l,e));let s=1,o=l=>{if(l)return this[si](l,e);--s==0&&yt.close(n.fd,c=>{r(),c?this[si](c,e):this[wc]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,h=e.mtime;yt.futimes(u,g,h,f=>f?yt.utimes(c,g,h,p=>o(p&&f)):o())}if(this[Th](e)){s++;let g=this[Kh](e),h=this[Uh](e);yt.fchown(u,g,h,f=>f?yt.chown(c,g,h,p=>o(p&&f)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[si](l,e)),e.pipe(a)),a.pipe(n)}[vS](e,r){let i=e.mode&4095||this.dmode;this[Bc](e.absolute,i,n=>{if(n)return r(),this[si](n,e);let s=1,o=a=>{--s==0&&(r(),this[wc](),e.resume())};e.mtime&&!this.noMtime&&(s++,yt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[Th](e)&&(s++,yt.chown(e.absolute,this[Kh](e),this[Uh](e),o)),o()})}[qW](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[jW](e,r){this[YI](e,e.linkpath,"symlink",r)}[GW](e,r){this[YI](e,qs.resolve(this.cwd,e.linkpath),"link",r)}[WW](){this[jI]++}[wc](){this[jI]--,this[RS]()}[LS](e){this[wc](),e.resume()}[xS](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[PS](e){this[WW]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[YW](e,i))}[YW](e,r){this[Bc](qs.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[si](i,e);yt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[LS](e),r()):n||this[xS](e,s)?this[Js](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Js](null,e,r):yt.chmod(e.absolute,e.mode,o=>this[Js](o,e,r)):yt.rmdir(e.absolute,o=>this[Js](o,e,r)):p0e(e.absolute,o=>this[Js](o,e,r))})})}[Js](e,r,i){if(e)return this[si](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[kS](r,i);case"Link":return this[GW](r,i);case"SymbolicLink":return this[jW](r,i);case"Directory":case"GNUDumpDir":return this[vS](r,i)}}[YI](e,r,i,n){yt[i](r,e.absolute,s=>{if(s)return this[si](s,e);n(),this[wc](),e.resume()})}},ZW=class extends qI{constructor(e){super(e)}[PS](e){let r=this[Bc](qs.dirname(e.absolute),this.dmode,GI);if(r)return this[si](r,e);try{let i=yt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[LS](e);if(this[xS](e,i))return this[Js](null,e,GI);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&yt.chmodSync(e.absolute,e.mode):yt.rmdirSync(e.absolute):d0e(e.absolute),this[Js](null,e,GI)}catch(n){return this[si](n,e)}}catch(i){return this[Js](null,e,GI)}}[kS](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{yt.closeSync(o)}catch(u){c=u}(l||c)&&this[si](l||c,e)},s,o;try{o=yt.openSync(e.absolute,XW(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[si](l,e)),e.pipe(a)),a.on("data",l=>{try{yt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{yt.futimesSync(o,u,g)}catch(h){try{yt.utimesSync(e.absolute,u,g)}catch(f){c=h}}}if(this[Th](e)){let u=this[Kh](e),g=this[Uh](e);try{yt.fchownSync(o,u,g)}catch(h){try{yt.chownSync(e.absolute,u,g)}catch(f){c=c||h}}}n(c)})}[vS](e,r){let i=e.mode&4095||this.dmode,n=this[Bc](e.absolute,i);if(n)return this[si](n,e);if(e.mtime&&!this.noMtime)try{yt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[Th](e))try{yt.chownSync(e.absolute,this[Kh](e),this[Uh](e))}catch(s){}e.resume()}[Bc](e,r){try{return SS.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[YI](e,r,i,n){try{yt[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[si](s,e)}}};qI.Sync=ZW;KW.exports=qI});var r8=C((sZe,_W)=>{"use strict";var C0e=sc(),JI=MS(),$W=require("fs"),e8=Cc(),t8=require("path"),nZe=_W.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=C0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&m0e(i,e),i.file&&i.sync?I0e(i):i.file?E0e(i,r):i.sync?y0e(i):B0e(i)},m0e=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||t8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(t8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},I0e=t=>{let e=new JI.Sync(t),r=t.file,i=!0,n,s=$W.statSync(r),o=t.maxReadSize||16*1024*1024;new e8.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},E0e=(t,e)=>{let r=new JI(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),$W.stat(n,(l,c)=>{if(l)a(l);else{let u=new e8.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},y0e=t=>new JI.Sync(t),B0e=t=>new JI(t)});var i8=C(Cr=>{"use strict";Cr.c=Cr.create=H3();Cr.r=Cr.replace=mS();Cr.t=Cr.list=OI();Cr.u=Cr.update=V3();Cr.x=Cr.extract=r8();Cr.Pack=bI();Cr.Unpack=MS();Cr.Parse=Nh();Cr.ReadEntry=kh();Cr.WriteEntry=XD();Cr.Header=lc();Cr.Pax=uI();Cr.types=xh()});var s8=C((aZe,NS)=>{"use strict";var w0e=Object.prototype.hasOwnProperty,oi="~";function Hh(){}Object.create&&(Hh.prototype=Object.create(null),new Hh().__proto__||(oi=!1));function Q0e(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function n8(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Q0e(r,i||t,n),o=oi?oi+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function WI(t,e){--t._eventsCount==0?t._events=new Hh:delete t._events[e]}function jr(){this._events=new Hh,this._eventsCount=0}jr.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)w0e.call(r,i)&&e.push(oi?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};jr.prototype.listeners=function(e){var r=oi?oi+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";o8.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var l8=C((lZe,zI)=>{"use strict";var b0e=a8(),OS=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},A8=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new OS(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);b0e(t.then(i,n),()=>{clearTimeout(s)})});zI.exports=A8;zI.exports.default=A8;zI.exports.TimeoutError=OS});var c8=C(TS=>{"use strict";Object.defineProperty(TS,"__esModule",{value:!0});function D0e(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}TS.default=D0e});var g8=C(KS=>{"use strict";Object.defineProperty(KS,"__esModule",{value:!0});var S0e=c8(),u8=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=S0e.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};KS.default=u8});var p8=C(US=>{"use strict";Object.defineProperty(US,"__esModule",{value:!0});var P0e=s8(),h8=l8(),x0e=g8(),XI=()=>{},k0e=new h8.TimeoutError,f8=class extends P0e{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=XI,this._resolveIdle=XI,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:x0e.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():h8.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(k0e)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};US.default=f8});var E8=C((fZe,I8)=>{var YS;I8.exports.getContent=()=>(typeof YS=="undefined"&&(YS=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),YS)});var S8=C((jS,D8)=>{(function(t,e){typeof jS=="object"?D8.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(jS,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",h=0,f,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(y,B){B>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var I=e(s,c);I.forEach(function(y){f=++h===I.length,r(y,s[y],f,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var L8=C((MZe,JS)=>{"use strict";var T0e=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=T0e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};JS.exports=R8;JS.exports.default=R8});var Xs=C(iP=>{"use strict";Object.defineProperty(iP,"__esModule",{value:!0});iP.default=H8;function H8(){}H8.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],h=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&h+1>=l)return o([{value:this.join(r),count:r.length}]);function f(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],B=g[m+1],P=(B?B.newPos:0)-m;y&&(g[m-1]=void 0);var k=y&&y.newPos+1=a&&P+1>=l)return o(G0e(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();f()||m()},0)})();else for(;c<=u;){var p=f();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1f.length?m:f}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var h=e[o-1];return o>1&&typeof h.value=="string"&&(h.added||h.removed)&&t.equals("",h.value)&&(e[o-2].value+=h.value,e.pop()),e}function q0e(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var j8=C(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.diffChars=J0e;Gh.characterDiff=void 0;var z0e=W0e(Xs());function W0e(t){return t&&t.__esModule?t:{default:t}}var Y8=new z0e.default;Gh.characterDiff=Y8;function J0e(t,e,r){return Y8.diff(t,e,r)}});var sP=C(nP=>{"use strict";Object.defineProperty(nP,"__esModule",{value:!0});nP.generateOptions=X0e;function X0e(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var J8=C(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.diffWords=V0e;Sc.diffWordsWithSpace=Z0e;Sc.wordDiff=void 0;var $0e=_0e(Xs()),ebe=sP();function _0e(t){return t&&t.__esModule?t:{default:t}}var G8=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,q8=/\S/,qh=new $0e.default;Sc.wordDiff=qh;qh.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!q8.test(t)&&!q8.test(e)};qh.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.diffLines=tbe;Pc.diffTrimmedLines=rbe;Pc.lineDiff=void 0;var nbe=ibe(Xs()),sbe=sP();function ibe(t){return t&&t.__esModule?t:{default:t}}var tE=new nbe.default;Pc.lineDiff=tE;tE.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Jh,"__esModule",{value:!0});Jh.diffSentences=obe;Jh.sentenceDiff=void 0;var Abe=abe(Xs());function abe(t){return t&&t.__esModule?t:{default:t}}var oP=new Abe.default;Jh.sentenceDiff=oP;oP.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function obe(t,e,r){return oP.diff(t,e,r)}});var z8=C(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0});Wh.diffCss=lbe;Wh.cssDiff=void 0;var ube=cbe(Xs());function cbe(t){return t&&t.__esModule?t:{default:t}}var aP=new ube.default;Wh.cssDiff=aP;aP.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function lbe(t,e,r){return aP.diff(t,e,r)}});var V8=C(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.diffJson=gbe;xc.canonicalize=iE;xc.jsonDiff=void 0;var X8=hbe(Xs()),fbe=rE();function hbe(t){return t&&t.__esModule?t:{default:t}}function nE(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?nE=function(r){return typeof r}:nE=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},nE(t)}var pbe=Object.prototype.toString,vA=new X8.default;xc.jsonDiff=vA;vA.useLongestToken=!0;vA.tokenize=fbe.lineDiff.tokenize;vA.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(iE(t,null,null,n),n," ")};vA.equals=function(t,e){return X8.default.prototype.equals.call(vA,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function gbe(t,e,r){return vA.diff(t,e,r)}function iE(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(zh,"__esModule",{value:!0});zh.diffArrays=dbe;zh.arrayDiff=void 0;var mbe=Cbe(Xs());function Cbe(t){return t&&t.__esModule?t:{default:t}}var Xh=new mbe.default;zh.arrayDiff=Xh;Xh.tokenize=function(t){return t.slice()};Xh.join=Xh.removeEmpty=function(t){return t};function dbe(t,e,r){return Xh.diff(t,e,r)}});var sE=C(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.parsePatch=Ibe;function Ibe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.default=Ebe;function Ebe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var tz=C(oE=>{"use strict";Object.defineProperty(oE,"__esModule",{value:!0});oE.applyPatch=$8;oE.applyPatches=ybe;var ez=sE(),wbe=Bbe(_8());function Bbe(t){return t&&t.__esModule?t:{default:t}}function $8(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,ez.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(T,G,Qe,Pe){return G===Pe},a=0,l=r.fuzzFactor||0,c=0,u=0,g,h;function f(T,G){for(var Qe=0;Qe0?Pe[0]:" ",Re=Pe.length>0?Pe.substr(1):Pe;if(He===" "||He==="-"){if(!o(G+1,i[G],He,Re)&&(a++,a>l))return!1;G++}}return!0}for(var p=0;p0?re[0]:" ",A=re.length>0?re.substr(1):re,q=O.linedelimiters[U];if(F===" ")v++;else if(F==="-")i.splice(v,1),n.splice(v,1);else if(F==="+")i.splice(v,0,A),n.splice(v,0,q),v++;else if(F==="\\"){var Z=O.lines[U-1]?O.lines[U-1][0]:null;Z==="+"?g=!0:Z==="-"&&(h=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else h&&(i.push(""),n.push(` -`));for(var $=0;${"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.structuredPatch=rz;Vh.createTwoFilesPatch=iz;Vh.createPatch=Qbe;var bbe=rE();function cP(t){return Pbe(t)||Sbe(t)||Dbe()}function Dbe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Sbe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function Pbe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(O.lines.slice(-o.context)):[],u-=h.length,g-=h.length)}(N=h).push.apply(N,cP(k.map(function($){return(P.added?"+":"-")+$}))),P.added?p+=k.length:f+=k.length}else{if(u)if(k.length<=o.context*2&&B=a.length-2&&k.length<=o.context){var A=/\n$/.test(r),q=/\n$/.test(i),Z=k.length==0&&h.length>F.oldLines;!A&&Z&&h.splice(F.oldLines,0,"\\ No newline at end of file"),(!A&&!Z||!q)&&h.push("\\ No newline at end of file")}c.push(F),u=0,g=0,h=[]}f+=k.length,p+=k.length}},I=0;I{"use strict";Object.defineProperty(aE,"__esModule",{value:!0});aE.arrayEqual=xbe;aE.arrayStartsWith=nz;function xbe(t,e){return t.length!==e.length?!1:nz(t,e)}function nz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(AE,"__esModule",{value:!0});AE.calcLineCount=oz;AE.merge=kbe;var vbe=uP(),Fbe=sE(),gP=sz();function kc(t){return Mbe(t)||Lbe(t)||Rbe()}function Rbe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Lbe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function Mbe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});pP.convertChangesToDMP=Kbe;function Kbe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});dP.convertChangesToXML=Ube;function Ube(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(Hbe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function Hbe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var wz=C(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Object.defineProperty(Xt,"Diff",{enumerable:!0,get:function(){return Ybe.default}});Object.defineProperty(Xt,"diffChars",{enumerable:!0,get:function(){return jbe.diffChars}});Object.defineProperty(Xt,"diffWords",{enumerable:!0,get:function(){return Iz.diffWords}});Object.defineProperty(Xt,"diffWordsWithSpace",{enumerable:!0,get:function(){return Iz.diffWordsWithSpace}});Object.defineProperty(Xt,"diffLines",{enumerable:!0,get:function(){return Ez.diffLines}});Object.defineProperty(Xt,"diffTrimmedLines",{enumerable:!0,get:function(){return Ez.diffTrimmedLines}});Object.defineProperty(Xt,"diffSentences",{enumerable:!0,get:function(){return Gbe.diffSentences}});Object.defineProperty(Xt,"diffCss",{enumerable:!0,get:function(){return qbe.diffCss}});Object.defineProperty(Xt,"diffJson",{enumerable:!0,get:function(){return yz.diffJson}});Object.defineProperty(Xt,"canonicalize",{enumerable:!0,get:function(){return yz.canonicalize}});Object.defineProperty(Xt,"diffArrays",{enumerable:!0,get:function(){return Jbe.diffArrays}});Object.defineProperty(Xt,"applyPatch",{enumerable:!0,get:function(){return Bz.applyPatch}});Object.defineProperty(Xt,"applyPatches",{enumerable:!0,get:function(){return Bz.applyPatches}});Object.defineProperty(Xt,"parsePatch",{enumerable:!0,get:function(){return Wbe.parsePatch}});Object.defineProperty(Xt,"merge",{enumerable:!0,get:function(){return zbe.merge}});Object.defineProperty(Xt,"structuredPatch",{enumerable:!0,get:function(){return CP.structuredPatch}});Object.defineProperty(Xt,"createTwoFilesPatch",{enumerable:!0,get:function(){return CP.createTwoFilesPatch}});Object.defineProperty(Xt,"createPatch",{enumerable:!0,get:function(){return CP.createPatch}});Object.defineProperty(Xt,"convertChangesToDMP",{enumerable:!0,get:function(){return Xbe.convertChangesToDMP}});Object.defineProperty(Xt,"convertChangesToXML",{enumerable:!0,get:function(){return Vbe.convertChangesToXML}});var Ybe=Zbe(Xs()),jbe=j8(),Iz=J8(),Ez=rE(),Gbe=W8(),qbe=z8(),yz=V8(),Jbe=Z8(),Bz=tz(),Wbe=sE(),zbe=dz(),CP=uP(),Xbe=Cz(),Vbe=mz();function Zbe(t){return t&&t.__esModule?t:{default:t}}});var cE=C((i$e,Qz)=>{var _be=an(),$be=Vm(),eDe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tDe=/^\w*$/;function rDe(t,e){if(_be(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||$be(t)?!0:tDe.test(t)||!eDe.test(t)||e!=null&&t in Object(e)}Qz.exports=rDe});var Fn=C((n$e,bz)=>{function iDe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}bz.exports=iDe});var uE=C((s$e,Dz)=>{var nDe=fA(),sDe=Fn(),oDe="[object AsyncFunction]",aDe="[object Function]",ADe="[object GeneratorFunction]",lDe="[object Proxy]";function cDe(t){if(!sDe(t))return!1;var e=nDe(t);return e==aDe||e==ADe||e==oDe||e==lDe}Dz.exports=cDe});var Pz=C((o$e,Sz)=>{var uDe=xn(),gDe=uDe["__core-js_shared__"];Sz.exports=gDe});var vz=C((a$e,xz)=>{var mP=Pz(),kz=function(){var t=/[^.]+$/.exec(mP&&mP.keys&&mP.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function hDe(t){return!!kz&&kz in t}xz.exports=hDe});var IP=C((A$e,Fz)=>{var fDe=Function.prototype,pDe=fDe.toString;function dDe(t){if(t!=null){try{return pDe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}Fz.exports=dDe});var Lz=C((l$e,Rz)=>{var CDe=uE(),mDe=vz(),IDe=Fn(),EDe=IP(),yDe=/[\\^$.*+?()[\]{}|]/g,BDe=/^\[object .+?Constructor\]$/,wDe=Function.prototype,QDe=Object.prototype,bDe=wDe.toString,DDe=QDe.hasOwnProperty,SDe=RegExp("^"+bDe.call(DDe).replace(yDe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function PDe(t){if(!IDe(t)||mDe(t))return!1;var e=CDe(t)?SDe:BDe;return e.test(EDe(t))}Rz.exports=PDe});var Nz=C((c$e,Mz)=>{function xDe(t,e){return t==null?void 0:t[e]}Mz.exports=xDe});var $o=C((u$e,Oz)=>{var kDe=Lz(),vDe=Nz();function FDe(t,e){var r=vDe(t,e);return kDe(r)?r:void 0}Oz.exports=FDe});var Zh=C((g$e,Tz)=>{var RDe=$o(),LDe=RDe(Object,"create");Tz.exports=LDe});var Hz=C((h$e,Kz)=>{var Uz=Zh();function MDe(){this.__data__=Uz?Uz(null):{},this.size=0}Kz.exports=MDe});var jz=C((f$e,Yz)=>{function NDe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}Yz.exports=NDe});var qz=C((p$e,Gz)=>{var ODe=Zh(),TDe="__lodash_hash_undefined__",KDe=Object.prototype,UDe=KDe.hasOwnProperty;function HDe(t){var e=this.__data__;if(ODe){var r=e[t];return r===TDe?void 0:r}return UDe.call(e,t)?e[t]:void 0}Gz.exports=HDe});var Wz=C((d$e,Jz)=>{var YDe=Zh(),jDe=Object.prototype,GDe=jDe.hasOwnProperty;function qDe(t){var e=this.__data__;return YDe?e[t]!==void 0:GDe.call(e,t)}Jz.exports=qDe});var Xz=C((C$e,zz)=>{var JDe=Zh(),WDe="__lodash_hash_undefined__";function zDe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=JDe&&e===void 0?WDe:e,this}zz.exports=zDe});var Zz=C((m$e,Vz)=>{var XDe=Hz(),VDe=jz(),ZDe=qz(),_De=Wz(),$De=Xz();function vc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function eSe(){this.__data__=[],this.size=0}_z.exports=eSe});var Fc=C((E$e,e4)=>{function tSe(t,e){return t===e||t!==t&&e!==e}e4.exports=tSe});var _h=C((y$e,t4)=>{var rSe=Fc();function iSe(t,e){for(var r=t.length;r--;)if(rSe(t[r][0],e))return r;return-1}t4.exports=iSe});var i4=C((B$e,r4)=>{var nSe=_h(),sSe=Array.prototype,oSe=sSe.splice;function aSe(t){var e=this.__data__,r=nSe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():oSe.call(e,r,1),--this.size,!0}r4.exports=aSe});var s4=C((w$e,n4)=>{var ASe=_h();function lSe(t){var e=this.__data__,r=ASe(e,t);return r<0?void 0:e[r][1]}n4.exports=lSe});var a4=C((Q$e,o4)=>{var cSe=_h();function uSe(t){return cSe(this.__data__,t)>-1}o4.exports=uSe});var l4=C((b$e,A4)=>{var gSe=_h();function hSe(t,e){var r=this.__data__,i=gSe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}A4.exports=hSe});var $h=C((D$e,c4)=>{var fSe=$z(),pSe=i4(),dSe=s4(),CSe=a4(),mSe=l4();function Rc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var ISe=$o(),ESe=xn(),ySe=ISe(ESe,"Map");u4.exports=ySe});var f4=C((P$e,g4)=>{var h4=Zz(),BSe=$h(),wSe=gE();function QSe(){this.size=0,this.__data__={hash:new h4,map:new(wSe||BSe),string:new h4}}g4.exports=QSe});var d4=C((x$e,p4)=>{function bSe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}p4.exports=bSe});var ef=C((k$e,C4)=>{var DSe=d4();function SSe(t,e){var r=t.__data__;return DSe(e)?r[typeof e=="string"?"string":"hash"]:r.map}C4.exports=SSe});var I4=C((v$e,m4)=>{var PSe=ef();function xSe(t){var e=PSe(this,t).delete(t);return this.size-=e?1:0,e}m4.exports=xSe});var y4=C((F$e,E4)=>{var kSe=ef();function vSe(t){return kSe(this,t).get(t)}E4.exports=vSe});var w4=C((R$e,B4)=>{var FSe=ef();function RSe(t){return FSe(this,t).has(t)}B4.exports=RSe});var b4=C((L$e,Q4)=>{var LSe=ef();function MSe(t,e){var r=LSe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}Q4.exports=MSe});var hE=C((M$e,D4)=>{var NSe=f4(),OSe=I4(),TSe=y4(),KSe=w4(),USe=b4();function Lc(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var P4=hE(),HSe="Expected a function";function EP(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(HSe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(EP.Cache||P4),r}EP.Cache=P4;S4.exports=EP});var v4=C((O$e,k4)=>{var YSe=x4(),jSe=500;function GSe(t){var e=YSe(t,function(i){return r.size===jSe&&r.clear(),i}),r=e.cache;return e}k4.exports=GSe});var R4=C((T$e,F4)=>{var qSe=v4(),JSe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,WSe=/\\(\\)?/g,zSe=qSe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(JSe,function(r,i,n,s){e.push(n?s.replace(WSe,"$1"):i||r)}),e});F4.exports=zSe});var Mc=C((K$e,L4)=>{var XSe=an(),VSe=cE(),ZSe=R4(),_Se=rc();function $Se(t,e){return XSe(t)?t:VSe(t,e)?[t]:ZSe(_Se(t))}L4.exports=$Se});var RA=C((U$e,M4)=>{var ePe=Vm(),tPe=1/0;function rPe(t){if(typeof t=="string"||ePe(t))return t;var e=t+"";return e=="0"&&1/t==-tPe?"-0":e}M4.exports=rPe});var tf=C((H$e,N4)=>{var iPe=Mc(),nPe=RA();function sPe(t,e){e=iPe(e,t);for(var r=0,i=e.length;t!=null&&r{var oPe=$o(),aPe=function(){try{var t=oPe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();O4.exports=aPe});var Nc=C((j$e,T4)=>{var K4=yP();function APe(t,e,r){e=="__proto__"&&K4?K4(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}T4.exports=APe});var fE=C((G$e,U4)=>{var lPe=Nc(),cPe=Fc(),uPe=Object.prototype,gPe=uPe.hasOwnProperty;function hPe(t,e,r){var i=t[e];(!(gPe.call(t,e)&&cPe(i,r))||r===void 0&&!(e in t))&&lPe(t,e,r)}U4.exports=hPe});var rf=C((q$e,H4)=>{var fPe=9007199254740991,pPe=/^(?:0|[1-9]\d*)$/;function dPe(t,e){var r=typeof t;return e=e==null?fPe:e,!!e&&(r=="number"||r!="symbol"&&pPe.test(t))&&t>-1&&t%1==0&&t{var CPe=fE(),mPe=Mc(),IPe=rf(),j4=Fn(),EPe=RA();function yPe(t,e,r,i){if(!j4(t))return t;e=mPe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var BPe=tf(),wPe=BP(),QPe=Mc();function bPe(t,e,r){for(var i=-1,n=e.length,s={};++i{function DPe(t,e){return t!=null&&e in Object(t)}J4.exports=DPe});var X4=C((X$e,z4)=>{var SPe=fA(),PPe=_n(),xPe="[object Arguments]";function kPe(t){return PPe(t)&&SPe(t)==xPe}z4.exports=kPe});var nf=C((V$e,V4)=>{var Z4=X4(),vPe=_n(),_4=Object.prototype,FPe=_4.hasOwnProperty,RPe=_4.propertyIsEnumerable,LPe=Z4(function(){return arguments}())?Z4:function(t){return vPe(t)&&FPe.call(t,"callee")&&!RPe.call(t,"callee")};V4.exports=LPe});var pE=C((Z$e,$4)=>{var MPe=9007199254740991;function NPe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=MPe}$4.exports=NPe});var wP=C((_$e,e5)=>{var OPe=Mc(),TPe=nf(),KPe=an(),UPe=rf(),HPe=pE(),YPe=RA();function jPe(t,e,r){e=OPe(e,t);for(var i=-1,n=e.length,s=!1;++i{var GPe=W4(),qPe=wP();function JPe(t,e){return t!=null&&qPe(t,e,GPe)}t5.exports=JPe});var i5=C((eet,r5)=>{var WPe=q4(),zPe=QP();function XPe(t,e){return WPe(t,e,function(r,i){return zPe(t,i)})}r5.exports=XPe});var dE=C((tet,n5)=>{function VPe(t,e){for(var r=-1,i=e.length,n=t.length;++r{var o5=hA(),ZPe=nf(),_Pe=an(),a5=o5?o5.isConcatSpreadable:void 0;function $Pe(t){return _Pe(t)||ZPe(t)||!!(a5&&t&&t[a5])}s5.exports=$Pe});var u5=C((iet,l5)=>{var exe=dE(),txe=A5();function c5(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=txe),n||(n=[]);++s0&&r(a)?e>1?c5(a,e-1,r,i,n):exe(n,a):i||(n[n.length]=a)}return n}l5.exports=c5});var h5=C((net,g5)=>{var rxe=u5();function ixe(t){var e=t==null?0:t.length;return e?rxe(t,1):[]}g5.exports=ixe});var p5=C((set,f5)=>{function nxe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}f5.exports=nxe});var bP=C((oet,d5)=>{var sxe=p5(),C5=Math.max;function oxe(t,e,r){return e=C5(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=C5(i.length-e,0),o=Array(s);++n{function axe(t){return function(){return t}}m5.exports=axe});var CE=C((Aet,E5)=>{function Axe(t){return t}E5.exports=Axe});var w5=C((cet,y5)=>{var lxe=I5(),B5=yP(),cxe=CE(),uxe=B5?function(t,e){return B5(t,"toString",{configurable:!0,enumerable:!1,value:lxe(e),writable:!0})}:cxe;y5.exports=uxe});var b5=C((uet,Q5)=>{var gxe=800,hxe=16,fxe=Date.now;function pxe(t){var e=0,r=0;return function(){var i=fxe(),n=hxe-(i-r);if(r=i,n>0){if(++e>=gxe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Q5.exports=pxe});var DP=C((get,D5)=>{var dxe=w5(),Cxe=b5(),mxe=Cxe(dxe);D5.exports=mxe});var P5=C((het,S5)=>{var Ixe=h5(),Exe=bP(),yxe=DP();function Bxe(t){return yxe(Exe(t,void 0,Ixe),t+"")}S5.exports=Bxe});var k5=C((fet,x5)=>{var wxe=i5(),Qxe=P5(),bxe=Qxe(function(t,e){return t==null?{}:wxe(t,e)});x5.exports=bxe});var H5=C((irt,T5)=>{"use strict";var NP;try{NP=Map}catch(t){}var OP;try{OP=Set}catch(t){}function K5(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(U5);if(NP&&t instanceof NP)return new Map(Array.from(t.entries()));if(OP&&t instanceof OP)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:K5(t[n],e,r)}return i}return t}function U5(t){return K5(t,[],[])}T5.exports=U5});var Af=C(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});TP.default=Lxe;var Mxe=Object.prototype.toString,Nxe=Error.prototype.toString,Oxe=RegExp.prototype.toString,Txe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",Kxe=/^Symbol\((.*)\)(.*)$/;function Uxe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function Y5(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return Uxe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return Txe.call(t).replace(Kxe,"Symbol($1)");let i=Mxe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+Nxe.call(t)+"]":i==="RegExp"?Oxe.call(t):null}function Lxe(t,e){let r=Y5(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=Y5(this[i],e);return s!==null?s:n},2)}});var Vs=C(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=Qr.array=Qr.object=Qr.boolean=Qr.date=Qr.number=Qr.string=Qr.mixed=void 0;var j5=Hxe(Af());function Hxe(t){return t&&t.__esModule?t:{default:t}}var G5={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,j5.default)(r,!0)}\``+(n?` (cast from the value \`${(0,j5.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Qr.mixed=G5;var q5={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Qr.string=q5;var J5={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Qr.number=J5;var W5={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Qr.date=W5;var z5={isValue:"${path} field must be ${value}"};Qr.boolean=z5;var X5={noUnknown:"${path} field has unspecified keys: ${unknown}"};Qr.object=X5;var V5={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Qr.array=V5;var Yxe=Object.assign(Object.create(null),{mixed:G5,string:q5,number:J5,date:W5,object:X5,array:V5,boolean:z5});Qr.default=Yxe});var _5=C((ort,Z5)=>{var jxe=Object.prototype,Gxe=jxe.hasOwnProperty;function qxe(t,e){return t!=null&&Gxe.call(t,e)}Z5.exports=qxe});var BE=C((art,$5)=>{var Jxe=_5(),Wxe=wP();function zxe(t,e){return t!=null&&Wxe(t,e,Jxe)}$5.exports=zxe});var Tc=C(wE=>{"use strict";Object.defineProperty(wE,"__esModule",{value:!0});wE.default=void 0;var Xxe=t=>t&&t.__isYupSchema__;wE.default=Xxe});var r9=C(QE=>{"use strict";Object.defineProperty(QE,"__esModule",{value:!0});QE.default=void 0;var Vxe=e9(BE()),Zxe=e9(Tc());function e9(t){return t&&t.__esModule?t:{default:t}}var t9=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,Vxe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,Zxe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},_xe=t9;QE.default=_xe});var UP=C(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});KP.default=$xe;function $xe(t){return t==null?[]:[].concat(t)}});var MA=C(bE=>{"use strict";Object.defineProperty(bE,"__esModule",{value:!0});bE.default=void 0;var eke=i9(Af()),tke=i9(UP());function i9(t){return t&&t.__esModule?t:{default:t}}function HP(){return HP=Object.assign||function(t){for(var e=1;e(0,eke.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,tke.default)(e).forEach(s=>{lf.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,lf)}};bE.default=lf});var DE=C(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});YP.default=ike;var jP=nke(MA());function nke(t){return t&&t.__esModule?t:{default:t}}var ske=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function ike(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=ske(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new jP.default(o,s,l)):c(null,s);for(let h=0;h{function oke(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}n9.exports=oke});var GP=C((frt,o9)=>{var ake=s9(),Ake=ake();o9.exports=Ake});var A9=C((prt,a9)=>{function lke(t,e){for(var r=-1,i=Array(t);++r{function cke(){return!1}l9.exports=cke});var uf=C((cf,Kc)=>{var uke=xn(),gke=c9(),u9=typeof cf=="object"&&cf&&!cf.nodeType&&cf,g9=u9&&typeof Kc=="object"&&Kc&&!Kc.nodeType&&Kc,hke=g9&&g9.exports===u9,h9=hke?uke.Buffer:void 0,fke=h9?h9.isBuffer:void 0,pke=fke||gke;Kc.exports=pke});var p9=C((Crt,f9)=>{var dke=fA(),Cke=pE(),mke=_n(),Ike="[object Arguments]",Eke="[object Array]",yke="[object Boolean]",Bke="[object Date]",wke="[object Error]",Qke="[object Function]",bke="[object Map]",Dke="[object Number]",Ske="[object Object]",Pke="[object RegExp]",xke="[object Set]",kke="[object String]",vke="[object WeakMap]",Fke="[object ArrayBuffer]",Rke="[object DataView]",Lke="[object Float32Array]",Mke="[object Float64Array]",Nke="[object Int8Array]",Oke="[object Int16Array]",Tke="[object Int32Array]",Kke="[object Uint8Array]",Uke="[object Uint8ClampedArray]",Hke="[object Uint16Array]",Yke="[object Uint32Array]",Ot={};Ot[Lke]=Ot[Mke]=Ot[Nke]=Ot[Oke]=Ot[Tke]=Ot[Kke]=Ot[Uke]=Ot[Hke]=Ot[Yke]=!0;Ot[Ike]=Ot[Eke]=Ot[Fke]=Ot[yke]=Ot[Rke]=Ot[Bke]=Ot[wke]=Ot[Qke]=Ot[bke]=Ot[Dke]=Ot[Ske]=Ot[Pke]=Ot[xke]=Ot[kke]=Ot[vke]=!1;function jke(t){return mke(t)&&Cke(t.length)&&!!Ot[dke(t)]}f9.exports=jke});var SE=C((mrt,d9)=>{function Gke(t){return function(e){return t(e)}}d9.exports=Gke});var PE=C((gf,Uc)=>{var qke=fD(),C9=typeof gf=="object"&&gf&&!gf.nodeType&&gf,hf=C9&&typeof Uc=="object"&&Uc&&!Uc.nodeType&&Uc,Jke=hf&&hf.exports===C9,qP=Jke&&qke.process,Wke=function(){try{var t=hf&&hf.require&&hf.require("util").types;return t||qP&&qP.binding&&qP.binding("util")}catch(e){}}();Uc.exports=Wke});var xE=C((Irt,m9)=>{var zke=p9(),Xke=SE(),I9=PE(),E9=I9&&I9.isTypedArray,Vke=E9?Xke(E9):zke;m9.exports=Vke});var JP=C((Ert,y9)=>{var Zke=A9(),_ke=nf(),$ke=an(),eve=uf(),tve=rf(),rve=xE(),ive=Object.prototype,nve=ive.hasOwnProperty;function sve(t,e){var r=$ke(t),i=!r&&_ke(t),n=!r&&!i&&eve(t),s=!r&&!i&&!n&&rve(t),o=r||i||n||s,a=o?Zke(t.length,String):[],l=a.length;for(var c in t)(e||nve.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||tve(c,l)))&&a.push(c);return a}y9.exports=sve});var kE=C((yrt,B9)=>{var ove=Object.prototype;function ave(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||ove;return t===r}B9.exports=ave});var WP=C((Brt,w9)=>{function Ave(t,e){return function(r){return t(e(r))}}w9.exports=Ave});var b9=C((wrt,Q9)=>{var lve=WP(),cve=lve(Object.keys,Object);Q9.exports=cve});var S9=C((Qrt,D9)=>{var uve=kE(),gve=b9(),hve=Object.prototype,fve=hve.hasOwnProperty;function pve(t){if(!uve(t))return gve(t);var e=[];for(var r in Object(t))fve.call(t,r)&&r!="constructor"&&e.push(r);return e}D9.exports=pve});var ff=C((brt,P9)=>{var dve=uE(),Cve=pE();function mve(t){return t!=null&&Cve(t.length)&&!dve(t)}P9.exports=mve});var Hc=C((Drt,x9)=>{var Ive=JP(),Eve=S9(),yve=ff();function Bve(t){return yve(t)?Ive(t):Eve(t)}x9.exports=Bve});var zP=C((Srt,k9)=>{var wve=GP(),Qve=Hc();function bve(t,e){return t&&wve(t,e,Qve)}k9.exports=bve});var F9=C((Prt,v9)=>{var Dve=$h();function Sve(){this.__data__=new Dve,this.size=0}v9.exports=Sve});var L9=C((xrt,R9)=>{function Pve(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}R9.exports=Pve});var N9=C((krt,M9)=>{function xve(t){return this.__data__.get(t)}M9.exports=xve});var T9=C((vrt,O9)=>{function kve(t){return this.__data__.has(t)}O9.exports=kve});var U9=C((Frt,K9)=>{var vve=$h(),Fve=gE(),Rve=hE(),Lve=200;function Mve(t,e){var r=this.__data__;if(r instanceof vve){var i=r.__data__;if(!Fve||i.length{var Nve=$h(),Ove=F9(),Tve=L9(),Kve=N9(),Uve=T9(),Hve=U9();function Yc(t){var e=this.__data__=new Nve(t);this.size=e.size}Yc.prototype.clear=Ove;Yc.prototype.delete=Tve;Yc.prototype.get=Kve;Yc.prototype.has=Uve;Yc.prototype.set=Hve;H9.exports=Yc});var j9=C((Lrt,Y9)=>{var Yve="__lodash_hash_undefined__";function jve(t){return this.__data__.set(t,Yve),this}Y9.exports=jve});var q9=C((Mrt,G9)=>{function Gve(t){return this.__data__.has(t)}G9.exports=Gve});var W9=C((Nrt,J9)=>{var qve=hE(),Jve=j9(),Wve=q9();function vE(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new qve;++e{function zve(t,e){for(var r=-1,i=t==null?0:t.length;++r{function Xve(t,e){return t.has(e)}V9.exports=Xve});var XP=C((Krt,_9)=>{var Vve=W9(),Zve=X9(),_ve=Z9(),$ve=1,eFe=2;function tFe(t,e,r,i,n,s){var o=r&$ve,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,h=!0,f=r&eFe?new Vve:void 0;for(s.set(t,e),s.set(e,t);++g{var rFe=xn(),iFe=rFe.Uint8Array;$9.exports=iFe});var t6=C((Hrt,e6)=>{function nFe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}e6.exports=nFe});var i6=C((Yrt,r6)=>{function sFe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}r6.exports=sFe});var A6=C((jrt,n6)=>{var s6=hA(),o6=VP(),oFe=Fc(),aFe=XP(),AFe=t6(),lFe=i6(),cFe=1,uFe=2,gFe="[object Boolean]",hFe="[object Date]",fFe="[object Error]",pFe="[object Map]",dFe="[object Number]",CFe="[object RegExp]",mFe="[object Set]",IFe="[object String]",EFe="[object Symbol]",yFe="[object ArrayBuffer]",BFe="[object DataView]",a6=s6?s6.prototype:void 0,ZP=a6?a6.valueOf:void 0;function wFe(t,e,r,i,n,s,o){switch(r){case BFe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case yFe:return!(t.byteLength!=e.byteLength||!s(new o6(t),new o6(e)));case gFe:case hFe:case dFe:return oFe(+t,+e);case fFe:return t.name==e.name&&t.message==e.message;case CFe:case IFe:return t==e+"";case pFe:var a=AFe;case mFe:var l=i&cFe;if(a||(a=lFe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=uFe,o.set(t,e);var u=aFe(a(t),a(e),i,n,s,o);return o.delete(t),u;case EFe:if(ZP)return ZP.call(t)==ZP.call(e)}return!1}n6.exports=wFe});var _P=C((Grt,l6)=>{var QFe=dE(),bFe=an();function DFe(t,e,r){var i=e(t);return bFe(t)?i:QFe(i,r(t))}l6.exports=DFe});var u6=C((qrt,c6)=>{function SFe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function PFe(){return[]}g6.exports=PFe});var FE=C((Wrt,h6)=>{var xFe=u6(),kFe=$P(),vFe=Object.prototype,FFe=vFe.propertyIsEnumerable,f6=Object.getOwnPropertySymbols,RFe=f6?function(t){return t==null?[]:(t=Object(t),xFe(f6(t),function(e){return FFe.call(t,e)}))}:kFe;h6.exports=RFe});var ex=C((zrt,p6)=>{var LFe=_P(),MFe=FE(),NFe=Hc();function OFe(t){return LFe(t,NFe,MFe)}p6.exports=OFe});var m6=C((Xrt,d6)=>{var C6=ex(),TFe=1,KFe=Object.prototype,UFe=KFe.hasOwnProperty;function HFe(t,e,r,i,n,s){var o=r&TFe,a=C6(t),l=a.length,c=C6(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var h=a[g];if(!(o?h in e:UFe.call(e,h)))return!1}var f=s.get(t),p=s.get(e);if(f&&p)return f==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var I=o;++g{var YFe=$o(),jFe=xn(),GFe=YFe(jFe,"DataView");I6.exports=GFe});var B6=C((Zrt,y6)=>{var qFe=$o(),JFe=xn(),WFe=qFe(JFe,"Promise");y6.exports=WFe});var Q6=C((_rt,w6)=>{var zFe=$o(),XFe=xn(),VFe=zFe(XFe,"Set");w6.exports=VFe});var D6=C(($rt,b6)=>{var ZFe=$o(),_Fe=xn(),$Fe=ZFe(_Fe,"WeakMap");b6.exports=$Fe});var df=C((eit,S6)=>{var tx=E6(),rx=gE(),ix=B6(),nx=Q6(),sx=D6(),P6=fA(),jc=IP(),x6="[object Map]",eRe="[object Object]",k6="[object Promise]",v6="[object Set]",F6="[object WeakMap]",R6="[object DataView]",tRe=jc(tx),rRe=jc(rx),iRe=jc(ix),nRe=jc(nx),sRe=jc(sx),NA=P6;(tx&&NA(new tx(new ArrayBuffer(1)))!=R6||rx&&NA(new rx)!=x6||ix&&NA(ix.resolve())!=k6||nx&&NA(new nx)!=v6||sx&&NA(new sx)!=F6)&&(NA=function(t){var e=P6(t),r=e==eRe?t.constructor:void 0,i=r?jc(r):"";if(i)switch(i){case tRe:return R6;case rRe:return x6;case iRe:return k6;case nRe:return v6;case sRe:return F6}return e});S6.exports=NA});var H6=C((tit,L6)=>{var ox=pf(),oRe=XP(),aRe=A6(),ARe=m6(),M6=df(),N6=an(),O6=uf(),lRe=xE(),cRe=1,T6="[object Arguments]",K6="[object Array]",RE="[object Object]",uRe=Object.prototype,U6=uRe.hasOwnProperty;function gRe(t,e,r,i,n,s){var o=N6(t),a=N6(e),l=o?K6:M6(t),c=a?K6:M6(e);l=l==T6?RE:l,c=c==T6?RE:c;var u=l==RE,g=c==RE,h=l==c;if(h&&O6(t)){if(!O6(e))return!1;o=!0,u=!1}if(h&&!u)return s||(s=new ox),o||lRe(t)?oRe(t,e,r,i,n,s):aRe(t,e,l,r,i,n,s);if(!(r&cRe)){var f=u&&U6.call(t,"__wrapped__"),p=g&&U6.call(e,"__wrapped__");if(f||p){var m=f?t.value():t,I=p?e.value():e;return s||(s=new ox),n(m,I,r,i,s)}}return h?(s||(s=new ox),ARe(t,e,r,i,n,s)):!1}L6.exports=gRe});var ax=C((rit,Y6)=>{var hRe=H6(),j6=_n();function G6(t,e,r,i,n){return t===e?!0:t==null||e==null||!j6(t)&&!j6(e)?t!==t&&e!==e:hRe(t,e,r,i,G6,n)}Y6.exports=G6});var J6=C((iit,q6)=>{var fRe=pf(),pRe=ax(),dRe=1,CRe=2;function mRe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var IRe=Fn();function ERe(t){return t===t&&!IRe(t)}W6.exports=ERe});var X6=C((sit,z6)=>{var yRe=Ax(),BRe=Hc();function wRe(t){for(var e=BRe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,yRe(n)]}return e}z6.exports=wRe});var lx=C((oit,V6)=>{function QRe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}V6.exports=QRe});var _6=C((ait,Z6)=>{var bRe=J6(),DRe=X6(),SRe=lx();function PRe(t){var e=DRe(t);return e.length==1&&e[0][2]?SRe(e[0][0],e[0][1]):function(r){return r===t||bRe(r,t,e)}}Z6.exports=PRe});var LE=C((Ait,$6)=>{var xRe=tf();function kRe(t,e,r){var i=t==null?void 0:xRe(t,e);return i===void 0?r:i}$6.exports=kRe});var t7=C((lit,e7)=>{var vRe=ax(),FRe=LE(),RRe=QP(),LRe=cE(),MRe=Ax(),NRe=lx(),ORe=RA(),TRe=1,KRe=2;function URe(t,e){return LRe(t)&&MRe(e)?NRe(ORe(t),e):function(r){var i=FRe(r,t);return i===void 0&&i===e?RRe(r,t):vRe(e,i,TRe|KRe)}}e7.exports=URe});var i7=C((cit,r7)=>{function HRe(t){return function(e){return e==null?void 0:e[t]}}r7.exports=HRe});var s7=C((uit,n7)=>{var YRe=tf();function jRe(t){return function(e){return YRe(e,t)}}n7.exports=jRe});var a7=C((git,o7)=>{var GRe=i7(),qRe=s7(),JRe=cE(),WRe=RA();function zRe(t){return JRe(t)?GRe(WRe(t)):qRe(t)}o7.exports=zRe});var cx=C((hit,A7)=>{var XRe=_6(),VRe=t7(),ZRe=CE(),_Re=an(),$Re=a7();function eLe(t){return typeof t=="function"?t:t==null?ZRe:typeof t=="object"?_Re(t)?VRe(t[0],t[1]):XRe(t):$Re(t)}A7.exports=eLe});var ux=C((fit,l7)=>{var tLe=Nc(),rLe=zP(),iLe=cx();function nLe(t,e){var r={};return e=iLe(e,3),rLe(t,function(i,n,s){tLe(r,n,e(i,n,s))}),r}l7.exports=nLe});var Cf=C((pit,c7)=>{"use strict";function OA(t){this._maxSize=t,this.clear()}OA.prototype.clear=function(){this._size=0,this._values=Object.create(null)};OA.prototype.get=function(t){return this._values[t]};OA.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var sLe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,u7=/^\d+$/,oLe=/^\d/,aLe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,ALe=/^\s*(['"]?)(.*?)(\1)\s*$/,gx=512,g7=new OA(gx),h7=new OA(gx),f7=new OA(gx);c7.exports={Cache:OA,split:fx,normalizePath:hx,setter:function(t){var e=hx(t);return h7.get(t)||h7.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.create=hLe;mf.default=void 0;var fLe=Cf(),ME={context:"$",value:"."};function hLe(t,e){return new NE(t,e)}var NE=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===ME.context,this.isValue=this.key[0]===ME.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?ME.context:this.isValue?ME.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,fLe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};mf.default=NE;NE.prototype.__isYupRef=!0});var p7=C(dx=>{"use strict";Object.defineProperty(dx,"__esModule",{value:!0});dx.default=pLe;var dLe=Cx(ux()),OE=Cx(MA()),CLe=Cx(TA());function Cx(t){return t&&t.__esModule?t:{default:t}}function TE(){return TE=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function pLe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=mLe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:h,params:f,message:p}=t,{parent:m,context:I}=a;function y(O){return CLe.default.isRef(O)?O.getValue(n,m,I):O}function B(O={}){let v=(0,dLe.default)(TE({value:n,originalValue:l,label:o,path:O.path||s},f,O.params),y),U=new OE.default(OE.default.formatError(O.message||p,v),n,v.path,O.type||g);return U.params=v,U}let P=TE({path:s,parent:m,type:g,createError:B,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(h.call(P,n,P)).then(O=>{OE.default.isError(O)?i(O):O?i(null,O):i(B())})}catch(O){i(O)}return}let k;try{var N;if(k=h.call(P,n,P),typeof((N=k)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${P.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(O){i(O);return}OE.default.isError(k)?i(k):k?i(null,k):i(B())}return e.OPTIONS=t,e}});var mx=C(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});If.getIn=d7;If.default=void 0;var ILe=Cf(),ELe=t=>t.substr(0,t.length-1).substr(1);function d7(t,e,r,i=r){let n,s,o;return e?((0,ILe.forEach)(e,(a,l,c)=>{let u=l?ELe(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var yLe=(t,e,r,i)=>d7(t,e,r,i).schema,BLe=yLe;If.default=BLe});var m7=C(KE=>{"use strict";Object.defineProperty(KE,"__esModule",{value:!0});KE.default=void 0;var C7=wLe(TA());function wLe(t){return t&&t.__esModule?t:{default:t}}var UE=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){C7.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){C7.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new UE;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};KE.default=UE});var _s=C(HE=>{"use strict";Object.defineProperty(HE,"__esModule",{value:!0});HE.default=void 0;var I7=Zs(H5()),Gc=Vs(),QLe=Zs(r9()),E7=Zs(DE()),YE=Zs(p7()),y7=Zs(Af()),bLe=Zs(TA()),DLe=mx(),SLe=Zs(UP()),B7=Zs(MA()),w7=Zs(m7());function Zs(t){return t&&t.__esModule?t:{default:t}}function fn(){return fn=Object.assign||function(t){for(var e=1;e{this.typeError(Gc.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=fn({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=fn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,I7.default)(fn({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=fn({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(fn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,y7.default)(e),o=(0,y7.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". - -attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,fn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,E7.default)({args:g,value:u,path:s,sync:n,tests:h,endEarly:c},f=>{if(f)return void i(f,u);(0,E7.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(fn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(fn({},r,{value:e})),n;return i._validate(e,fn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(B7.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(B7.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,I7.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Gc.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Gc.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Gc.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,YE.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,SLe.default)(e).map(s=>new bLe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new QLe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,YE.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Gc.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,YE.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Gc.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,YE.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};HE.default=os;os.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])os.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,DLe.getIn)(this,e,r,i.context);return o[t](n&&n[s],fn({},i,{parent:n,path:e}))};for(let t of["equals","is"])os.prototype[t]=os.prototype.oneOf;for(let t of["not","nope"])os.prototype[t]=os.prototype.notOneOf;os.prototype.optional=os.prototype.notRequired});var b7=C(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});Ef.create=Q7;Ef.default=void 0;var xLe=PLe(_s());function PLe(t){return t&&t.__esModule?t:{default:t}}var Ix=xLe.default,kLe=Ix;Ef.default=kLe;function Q7(){return new Ix}Q7.prototype=Ix.prototype});var qc=C(jE=>{"use strict";Object.defineProperty(jE,"__esModule",{value:!0});jE.default=void 0;var vLe=t=>t==null;jE.default=vLe});var k7=C(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});yf.create=D7;yf.default=void 0;var FLe=S7(_s()),P7=Vs(),x7=S7(qc());function S7(t){return t&&t.__esModule?t:{default:t}}function D7(){return new GE}var GE=class extends FLe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=P7.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,x7.default)(r)||r===!0}})}isFalse(e=P7.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,x7.default)(r)||r===!1}})}};yf.default=GE;D7.prototype=GE.prototype});var R7=C(Bf=>{"use strict";Object.defineProperty(Bf,"__esModule",{value:!0});Bf.create=v7;Bf.default=void 0;var as=Vs(),$s=F7(qc()),RLe=F7(_s());function F7(t){return t&&t.__esModule?t:{default:t}}var LLe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,MLe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,NLe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,OLe=t=>(0,$s.default)(t)||t===t.trim(),TLe={}.toString();function v7(){return new qE}var qE=class extends RLe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===TLe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=as.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,$s.default)(i)||i.length===this.resolve(e)}})}min(e,r=as.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,$s.default)(i)||i.length>=this.resolve(e)}})}max(e,r=as.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,$s.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||as.string.matches,params:{regex:e},test:o=>(0,$s.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=as.string.email){return this.matches(LLe,{name:"email",message:e,excludeEmptyString:!0})}url(e=as.string.url){return this.matches(MLe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=as.string.uuid){return this.matches(NLe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=as.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:OLe})}lowercase(e=as.string.lowercase){return this.transform(r=>(0,$s.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,$s.default)(r)||r===r.toLowerCase()})}uppercase(e=as.string.uppercase){return this.transform(r=>(0,$s.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,$s.default)(r)||r===r.toUpperCase()})}};Bf.default=qE;v7.prototype=qE.prototype});var N7=C(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});wf.create=L7;wf.default=void 0;var KA=Vs(),UA=M7(qc()),KLe=M7(_s());function M7(t){return t&&t.__esModule?t:{default:t}}var ULe=t=>t!=+t;function L7(){return new JE}var JE=class extends KLe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!ULe(e)}min(e,r=KA.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,UA.default)(i)||i>=this.resolve(e)}})}max(e,r=KA.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,UA.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=KA.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,UA.default)(i)||ithis.resolve(e)}})}positive(e=KA.number.positive){return this.moreThan(0,e)}negative(e=KA.number.negative){return this.lessThan(0,e)}integer(e=KA.number.integer){return this.test({name:"integer",message:e,test:r=>(0,UA.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,UA.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,UA.default)(n)?n:Math[e](n))}};wf.default=JE;L7.prototype=JE.prototype});var O7=C(Ex=>{"use strict";Object.defineProperty(Ex,"__esModule",{value:!0});Ex.default=HLe;var YLe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function HLe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=YLe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var U7=C(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.create=yx;Qf.default=void 0;var jLe=WE(O7()),T7=Vs(),K7=WE(qc()),GLe=WE(TA()),qLe=WE(_s());function WE(t){return t&&t.__esModule?t:{default:t}}var Bx=new Date(""),JLe=t=>Object.prototype.toString.call(t)==="[object Date]";function yx(){return new bf}var bf=class extends qLe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,jLe.default)(e),isNaN(e)?Bx:new Date(e))})})}_typeCheck(e){return JLe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(GLe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=T7.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,K7.default)(n)||n>=this.resolve(i)}})}max(e,r=T7.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,K7.default)(n)||n<=this.resolve(i)}})}};Qf.default=bf;bf.INVALID_DATE=Bx;yx.prototype=bf.prototype;yx.INVALID_DATE=Bx});var Y7=C((Pit,H7)=>{function WLe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function zLe(t){return function(e){return t==null?void 0:t[e]}}j7.exports=zLe});var J7=C((kit,q7)=>{var XLe=G7(),VLe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ZLe=XLe(VLe);q7.exports=ZLe});var z7=C((vit,W7)=>{var _Le=J7(),$Le=rc(),eMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,tMe="\\u0300-\\u036f",rMe="\\ufe20-\\ufe2f",iMe="\\u20d0-\\u20ff",nMe=tMe+rMe+iMe,sMe="["+nMe+"]",oMe=RegExp(sMe,"g");function aMe(t){return t=$Le(t),t&&t.replace(eMe,_Le).replace(oMe,"")}W7.exports=aMe});var V7=C((Fit,X7)=>{var AMe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function lMe(t){return t.match(AMe)||[]}X7.exports=lMe});var _7=C((Rit,Z7)=>{var cMe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function uMe(t){return cMe.test(t)}Z7.exports=uMe});var CX=C((Lit,$7)=>{var eX="\\ud800-\\udfff",gMe="\\u0300-\\u036f",hMe="\\ufe20-\\ufe2f",fMe="\\u20d0-\\u20ff",pMe=gMe+hMe+fMe,tX="\\u2700-\\u27bf",rX="a-z\\xdf-\\xf6\\xf8-\\xff",dMe="\\xac\\xb1\\xd7\\xf7",CMe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",mMe="\\u2000-\\u206f",IMe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iX="A-Z\\xc0-\\xd6\\xd8-\\xde",EMe="\\ufe0e\\ufe0f",nX=dMe+CMe+mMe+IMe,sX="['\u2019]",oX="["+nX+"]",yMe="["+pMe+"]",aX="\\d+",BMe="["+tX+"]",AX="["+rX+"]",lX="[^"+eX+nX+aX+tX+rX+iX+"]",wMe="\\ud83c[\\udffb-\\udfff]",QMe="(?:"+yMe+"|"+wMe+")",bMe="[^"+eX+"]",cX="(?:\\ud83c[\\udde6-\\uddff]){2}",uX="[\\ud800-\\udbff][\\udc00-\\udfff]",Jc="["+iX+"]",DMe="\\u200d",gX="(?:"+AX+"|"+lX+")",SMe="(?:"+Jc+"|"+lX+")",hX="(?:"+sX+"(?:d|ll|m|re|s|t|ve))?",fX="(?:"+sX+"(?:D|LL|M|RE|S|T|VE))?",pX=QMe+"?",dX="["+EMe+"]?",PMe="(?:"+DMe+"(?:"+[bMe,cX,uX].join("|")+")"+dX+pX+")*",xMe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",kMe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",vMe=dX+pX+PMe,FMe="(?:"+[BMe,cX,uX].join("|")+")"+vMe,RMe=RegExp([Jc+"?"+AX+"+"+hX+"(?="+[oX,Jc,"$"].join("|")+")",SMe+"+"+fX+"(?="+[oX,Jc+gX,"$"].join("|")+")",Jc+"?"+gX+"+"+hX,Jc+"+"+fX,kMe,xMe,aX,FMe].join("|"),"g");function LMe(t){return t.match(RMe)||[]}$7.exports=LMe});var IX=C((Mit,mX)=>{var MMe=V7(),NMe=_7(),OMe=rc(),TMe=CX();function KMe(t,e,r){return t=OMe(t),e=r?void 0:e,e===void 0?NMe(t)?TMe(t):MMe(t):t.match(e)||[]}mX.exports=KMe});var wx=C((Nit,EX)=>{var UMe=Y7(),HMe=z7(),YMe=IX(),jMe="['\u2019]",GMe=RegExp(jMe,"g");function qMe(t){return function(e){return UMe(YMe(HMe(e).replace(GMe,"")),t,"")}}EX.exports=qMe});var BX=C((Oit,yX)=>{var JMe=wx(),WMe=JMe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});yX.exports=WMe});var QX=C((Tit,wX)=>{var zMe=ID(),XMe=wx(),VMe=XMe(function(t,e,r){return e=e.toLowerCase(),t+(r?zMe(e):e)});wX.exports=VMe});var DX=C((Kit,bX)=>{var ZMe=Nc(),_Me=zP(),$Me=cx();function eNe(t,e){var r={};return e=$Me(e,3),_Me(t,function(i,n,s){ZMe(r,e(i,n,s),i)}),r}bX.exports=eNe});var PX=C((Uit,Qx)=>{Qx.exports=function(t){return SX(tNe(t),t)};Qx.exports.array=SX;function SX(t,e){var r=t.length,i=new Array(r),n={},s=r,o=rNe(e),a=iNe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var h;try{h=", node was:"+JSON.stringify(c)}catch(m){h=""}throw new Error("Cyclic dependency"+h)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var f=o.get(c)||new Set;if(f=Array.from(f),u=f.length){g.add(c);do{var p=f[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function tNe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(bx,"__esModule",{value:!0});bx.default=nNe;var sNe=zE(BE()),oNe=zE(PX()),aNe=Cf(),ANe=zE(TA()),lNe=zE(Tc());function zE(t){return t&&t.__esModule?t:{default:t}}function nNe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,aNe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,sNe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),ANe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,lNe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return oNe.default.array(i,r).reverse()}});var vX=C(Dx=>{"use strict";Object.defineProperty(Dx,"__esModule",{value:!0});Dx.default=cNe;function kX(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function cNe(t){return(e,r)=>kX(t,e)-kX(t,r)}});var TX=C(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});Df.create=FX;Df.default=void 0;var RX=As(BE()),LX=As(BX()),uNe=As(QX()),gNe=As(DX()),hNe=As(ux()),fNe=Cf(),MX=Vs(),pNe=As(xX()),NX=As(vX()),dNe=As(DE()),CNe=As(MA()),Sx=As(_s());function As(t){return t&&t.__esModule?t:{default:t}}function Wc(){return Wc=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function mNe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var INe=(0,NX.default)([]),XE=class extends Sx.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=INe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return OX(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Wc({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let h=s[g],f=(0,RX.default)(n,g);if(h){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,h=h.resolve({value:m,context:r.context,parent:l});let I="spec"in h?h.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?h.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else f&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!CNe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!OX(g)){i(n[0]||null,g);return}a=a||g;let h=this._nodes.map(f=>(p,m)=>{let I=f.indexOf(".")===-1?(r.path?`${r.path}.`:"")+f:`${r.path||""}["${f}"]`,y=this.fields[f];if(y&&"validate"in y){y.validate(g[f],Wc({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[f]}),m);return}m(null)});(0,dNe.default)({sync:s,tests:h,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Wc({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof Sx.default&&s instanceof Sx.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,NX.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,pNe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,fNe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,RX.default)(s,e)&&(o=Wc({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=MX.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=mNe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=MX.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,gNe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(uNe.default)}snakeCase(){return this.transformKeys(LX.default)}constantCase(){return this.transformKeys(e=>(0,LX.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,hNe.default)(this.fields,r=>r.describe()),e}};Df.default=XE;function FX(t){return new XE(t)}FX.prototype=XE.prototype});var UX=C(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.create=KX;Sf.default=void 0;var Px=zc(qc()),ENe=zc(Tc()),yNe=zc(Af()),xx=Vs(),BNe=zc(DE()),wNe=zc(MA()),QNe=zc(_s());function zc(t){return t&&t.__esModule?t:{default:t}}function VE(){return VE=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,VE({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(f,p)=>{if(f){if(!wNe.default.isError(f)||u)return void i(f,p);o.push(f)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}h=h||p;let m=new Array(p.length);for(let I=0;Ic.validate(y,P,N)}(0,BNe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,ENe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,yNe.default)(e));return r.innerType=e,r}length(e,r=xx.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Px.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||xx.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Px.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||xx.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Px.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};Sf.default=ZE;KX.prototype=ZE.prototype});var HX=C(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});Pf.create=bNe;Pf.default=void 0;var SNe=DNe(Tc());function DNe(t){return t&&t.__esModule?t:{default:t}}function bNe(t){return new kx(t)}var kx=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,SNe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},PNe=kx;Pf.default=PNe});var YX=C(vx=>{"use strict";Object.defineProperty(vx,"__esModule",{value:!0});vx.default=xNe;var vNe=kNe(Vs());function kNe(t){return t&&t.__esModule?t:{default:t}}function xNe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{vNe.default[e][r]=t[e][r]})})}});var Rx=C(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.addMethod=FNe;Object.defineProperty(Tt,"MixedSchema",{enumerable:!0,get:function(){return jX.default}});Object.defineProperty(Tt,"mixed",{enumerable:!0,get:function(){return jX.create}});Object.defineProperty(Tt,"BooleanSchema",{enumerable:!0,get:function(){return Fx.default}});Object.defineProperty(Tt,"bool",{enumerable:!0,get:function(){return Fx.create}});Object.defineProperty(Tt,"boolean",{enumerable:!0,get:function(){return Fx.create}});Object.defineProperty(Tt,"StringSchema",{enumerable:!0,get:function(){return GX.default}});Object.defineProperty(Tt,"string",{enumerable:!0,get:function(){return GX.create}});Object.defineProperty(Tt,"NumberSchema",{enumerable:!0,get:function(){return qX.default}});Object.defineProperty(Tt,"number",{enumerable:!0,get:function(){return qX.create}});Object.defineProperty(Tt,"DateSchema",{enumerable:!0,get:function(){return JX.default}});Object.defineProperty(Tt,"date",{enumerable:!0,get:function(){return JX.create}});Object.defineProperty(Tt,"ObjectSchema",{enumerable:!0,get:function(){return WX.default}});Object.defineProperty(Tt,"object",{enumerable:!0,get:function(){return WX.create}});Object.defineProperty(Tt,"ArraySchema",{enumerable:!0,get:function(){return zX.default}});Object.defineProperty(Tt,"array",{enumerable:!0,get:function(){return zX.create}});Object.defineProperty(Tt,"ref",{enumerable:!0,get:function(){return RNe.create}});Object.defineProperty(Tt,"lazy",{enumerable:!0,get:function(){return LNe.create}});Object.defineProperty(Tt,"ValidationError",{enumerable:!0,get:function(){return MNe.default}});Object.defineProperty(Tt,"reach",{enumerable:!0,get:function(){return NNe.default}});Object.defineProperty(Tt,"isSchema",{enumerable:!0,get:function(){return XX.default}});Object.defineProperty(Tt,"setLocale",{enumerable:!0,get:function(){return ONe.default}});Object.defineProperty(Tt,"BaseSchema",{enumerable:!0,get:function(){return TNe.default}});var jX=HA(b7()),Fx=HA(k7()),GX=HA(R7()),qX=HA(N7()),JX=HA(U7()),WX=HA(TX()),zX=HA(UX()),RNe=TA(),LNe=HX(),MNe=xf(MA()),NNe=xf(mx()),XX=xf(Tc()),ONe=xf(YX()),TNe=xf(_s());function xf(t){return t&&t.__esModule?t:{default:t}}function VX(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return VX=function(){return t},t}function HA(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=VX();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function FNe(t,e,r){if(!t||!(0,XX.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var tV=C((ont,vf)=>{"use strict";var YNe=process.env.TERM_PROGRAM==="Hyper",jNe=process.platform==="win32",_X=process.platform==="linux",Lx={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},$X=Object.assign({},Lx,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),eV=Object.assign({},Lx,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:_X?"\u25B8":"\u276F",pointerSmall:_X?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});vf.exports=jNe&&!YNe?$X:eV;Reflect.defineProperty(vf.exports,"common",{enumerable:!1,value:Lx});Reflect.defineProperty(vf.exports,"windows",{enumerable:!1,value:$X});Reflect.defineProperty(vf.exports,"other",{enumerable:!1,value:eV})});var Rn=C((ant,Mx)=>{"use strict";var GNe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),qNe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,rV=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` -`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=qNe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!GNe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=tV(),t.define=n,t};Mx.exports=rV();Mx.exports.create=rV});var qr=C(At=>{"use strict";var JNe=Object.prototype.toString,pn=Rn(),iV=!1,Nx=[],nV={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};At.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);At.hasColor=t=>!!t&&pn.hasColor(t);var $E=At.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);At.nativeType=t=>JNe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");At.isAsyncFn=t=>At.nativeType(t)==="asyncfunction";At.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";At.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;At.scrollDown=(t=[])=>[...t.slice(1),t[0]];At.scrollUp=(t=[])=>[t.pop(),...t];At.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};At.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};At.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};At.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` -`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};At.unmute=t=>{let e=t.stack.find(i=>pn.keys.color.includes(i));return e?pn[e]:t.stack.find(i=>i.slice(2)==="bg")?pn[e.slice(2)]:i=>i};At.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";At.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>pn.keys.color.includes(i));if(e){let i=pn["bg"+At.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?pn[r.slice(2).toLowerCase()]||t:pn.none};At.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>pn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return pn[nV[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=nV[i];return n&&pn["bg"+At.pascal(n)]||t}return pn.none};At.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};At.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!At.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};At.mixin=(t,e)=>{if(!$E(t))return e;if(!$E(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&$E(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);$E(n.value)?t[r]=At.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};At.merge=(...t)=>{let e={};for(let r of t)At.mixin(e,r);return e};At.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?At.define(t,i,n.bind(e)):At.define(t,i,n)}};At.onExit=t=>{let e=(r,i)=>{iV||(iV=!0,Nx.forEach(n=>n()),r===!0&&process.exit(128+i))};Nx.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Nx.push(t)};At.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};At.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var sV=C(Vc=>{"use strict";Vc.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Vc.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Vc.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Vc.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Vc.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var AV=C((cnt,oV)=>{"use strict";var aV=require("readline"),WNe=sV(),zNe=/^(?:\x1b)([a-zA-Z0-9])$/,XNe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,VNe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function ZNe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function _Ne(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var ey=(t="",e={})=>{let r,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` -`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=zNe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=XNe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=VNe[s],i.shift=ZNe(s)||i.shift,i.ctrl=_Ne(s)||i.ctrl}return i};ey.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=aV.createInterface({terminal:!0,input:r});aV.emitKeypressEvents(r,i);let n=(a,l)=>e(a,ey(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};ey.action=(t,e,r)=>{let i={...WNe,...r};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};oV.exports=ey});var cV=C((unt,lV)=>{"use strict";lV.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),$Ne(t,r,i)}};function $Ne(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var hV=C((gnt,uV)=>{"use strict";var{define:eOe,width:tOe}=qr(),gV=class{constructor(e){let r=e.options;eOe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=tOe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};uV.exports=gV});var pV=C((hnt,fV)=>{"use strict";var Ox=qr(),vr=Rn(),Tx={default:vr.noop,noop:vr.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||Ox.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||Ox.complement(this.primary)},primary:vr.cyan,success:vr.green,danger:vr.magenta,strong:vr.bold,warning:vr.yellow,muted:vr.dim,disabled:vr.gray,dark:vr.dim.gray,underline:vr.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};Tx.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(vr.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(vr.visible=t.styles.visible);let e=Ox.merge({},Tx,t.styles);delete e.merge;for(let r of Object.keys(vr))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>vr[r]});for(let r of Object.keys(vr.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>vr[r]});return e};fV.exports=Tx});var CV=C((fnt,dV)=>{"use strict";var Kx=process.platform==="win32",eo=Rn(),rOe=qr(),Ux={...eo.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:eo.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:eo.symbols.question,submitted:eo.symbols.check,cancelled:eo.symbols.cross},separator:{pending:eo.symbols.pointerSmall,submitted:eo.symbols.middot,cancelled:eo.symbols.middot},radio:{off:Kx?"( )":"\u25EF",on:Kx?"(*)":"\u25C9",disabled:Kx?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};Ux.merge=t=>{let e=rOe.merge({},eo.symbols,Ux,t.symbols);return delete e.merge,e};dV.exports=Ux});var IV=C((pnt,mV)=>{"use strict";var iOe=pV(),nOe=CV(),sOe=qr();mV.exports=t=>{t.options=sOe.merge({},t.options.theme,t.options),t.symbols=nOe.merge(t.options),t.styles=iOe.merge(t.options)}});var QV=C((EV,yV)=>{"use strict";var BV=process.env.TERM_PROGRAM==="Apple_Terminal",oOe=Rn(),Hx=qr(),Ln=yV.exports=EV,qt="[",wV="\x07",Yx=!1,ea=Ln.code={bell:wV,beep:wV,beginning:`${qt}G`,down:`${qt}J`,esc:qt,getPosition:`${qt}6n`,hide:`${qt}?25l`,line:`${qt}2K`,lineEnd:`${qt}K`,lineStart:`${qt}1K`,restorePosition:qt+(BV?"8":"u"),savePosition:qt+(BV?"7":"s"),screen:`${qt}2J`,show:`${qt}?25h`,up:`${qt}1J`},YA=Ln.cursor={get hidden(){return Yx},hide(){return Yx=!0,ea.hide},show(){return Yx=!1,ea.show},forward:(t=1)=>`${qt}${t}C`,backward:(t=1)=>`${qt}${t}D`,nextLine:(t=1)=>`${qt}E`.repeat(t),prevLine:(t=1)=>`${qt}F`.repeat(t),up:(t=1)=>t?`${qt}${t}A`:"",down:(t=1)=>t?`${qt}${t}B`:"",right:(t=1)=>t?`${qt}${t}C`:"",left:(t=1)=>t?`${qt}${t}D`:"",to(t,e){return e?`${qt}${e+1};${t+1}H`:`${qt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?YA.left(-t):t>0?YA.right(t):"",r+=e<0?YA.up(-e):e>0?YA.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Hx.isPrimitive(i)?String(i):"",n=Hx.isPrimitive(n)?String(n):"",a=Hx.isPrimitive(a)?String(a):"",o){let l=Ln.cursor.up(o)+Ln.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Ln.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Ln.cursor.move(l)}}},jx=Ln.erase={screen:ea.screen,up:ea.up,down:ea.down,line:ea.line,lineEnd:ea.lineEnd,lineStart:ea.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return jx.line+YA.to(0);let r=s=>[...oOe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(jx.line+YA.prevLine()).repeat(n-1)+jx.line+YA.to(0)}});var Zc=C((dnt,bV)=>{"use strict";var aOe=require("events"),DV=Rn(),Gx=AV(),AOe=cV(),lOe=hV(),cOe=IV(),wi=qr(),jA=QV(),ty=class extends aOe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,cOe(this),AOe(this),this.state=new lOe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=gOe(this.options.margin),this.setMaxListeners(0),uOe(this)}async keypress(e,r={}){this.keypressed=!0;let i=Gx.action(e,Gx(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(jA.code.beep)}cursorHide(){this.stdout.write(jA.cursor.hide()),wi.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(jA.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(jA.cursor.down(e)+jA.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=jA.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=DV.unstyle(i);let n=DV.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` -`),c=l[0],u=l[l.length-1],h=(i+(r?" "+r:"")).length,f=he.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,wi.isObject(e)&&(e=e[i.status]||e.pending),wi.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return wi.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return wi.isObject(s)&&(s=s[i.status]||s.pending),wi.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&wi.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=wi.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&wi.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return wi.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return wi.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return wi.resolve(this,e,...r)}get base(){return ty.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||wi.height(this.stdout,25)}get width(){return this.options.columns||wi.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function uOe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function gOe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}bV.exports=ty});var xV=C((Cnt,SV)=>{"use strict";var hOe=qr(),PV={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return PV.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};SV.exports=(t,e={})=>{let r=hOe.merge({},PV,e.roles);return r[t]||r.default}});var Ff=C((mnt,kV)=>{"use strict";var fOe=Rn(),pOe=Zc(),dOe=xV(),ry=qr(),{reorder:qx,scrollUp:COe,scrollDown:mOe,isObject:vV,swap:IOe}=ry,FV=class extends pOe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");vV(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=dOe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,ry.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,fOe.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return RV(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=qx(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=qx(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=qx(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=COe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=mOe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){IOe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(vV(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=ry.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return RV(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function RV(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(ry.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}kV.exports=FV});var ta=C((Int,LV)=>{"use strict";var EOe=Ff(),Jx=qr(),MV=class extends EOe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!Jx.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!Jx.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(Jx.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` -`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` -`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};LV.exports=MV});var TV=C((Ent,NV)=>{"use strict";var yOe=ta(),BOe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},OV=class extends yOe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=BOe(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};NV.exports=OV});var zx=C((ynt,KV)=>{"use strict";var Wx=qr();KV.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=Wx.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",h=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,h=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=Wx.isPrimitive(i)?`${i}`:"",r=Wx.isPrimitive(r)?`${r}`:"";let f=i&&i.startsWith(r)&&i!==r,p=f?c(i[r.length]):h;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),f){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var iy=C((Bnt,UV)=>{"use strict";var wOe=Rn(),QOe=ta(),bOe=zx(),HV=class extends QOe{constructor(e){super({...e,multiple:!0});this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:h,danger:f}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let P=this.values[a]=c||o,k=c?"success":"dark";await I.call(e,P,this.state)!==!0&&(k="danger");let O=n[k](await this.indicator(e,r))+(e.pad||""),v=this.indent(e),U=()=>[v,O,B+y,c,p].filter(Boolean).join(" ");if(i.submitted)return B=wOe.unstyle(B),c=g(c),p="",U();if(e.format)c=await e.format.call(this,c,e,r);else{let re=this.styles.muted;c=bOe(this,{input:c,initial:o,pos:s,showCursor:m,color:re})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,P,e,r)),m&&(B=h(B)),e.error?c+=(c?" ":"")+f(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),U()}async submit(){return this.value=this.values,super.base.submit.call(this)}};UV.exports=HV});var Xx=C((wnt,YV)=>{"use strict";var DOe=iy(),SOe=()=>{throw new Error("expected prompt to have a custom authenticate method")},jV=(t=SOe)=>{class e extends DOe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return jV(i)}}return e};YV.exports=jV()});var JV=C((Qnt,GV)=>{"use strict";var POe=Xx();function xOe(t,e){return t.username===this.options.username&&t.password===this.options.password}var qV=(t=xOe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends POe.create(t){constructor(n){super({...n,choices:e})}static create(n){return qV(n)}}return r};GV.exports=qV()});var ny=C((bnt,WV)=>{"use strict";var kOe=Zc(),{isPrimitive:vOe,hasColor:FOe}=qr(),zV=class extends kOe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return vOe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return FOe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),h=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,h].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};WV.exports=zV});var ZV=C((Dnt,XV)=>{"use strict";var ROe=ny(),VV=class extends ROe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};XV.exports=VV});var eZ=C((Snt,_V)=>{"use strict";var LOe=ta(),MOe=iy(),_c=MOe.prototype,$V=class extends LOe{constructor(e){super({...e,multiple:!0});this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():_c.dispatch.call(this,e,r)}append(e,r){return _c.append.call(this,e,r)}delete(e,r){return _c.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?_c.next.call(this):super.next()}prev(){return this.focused.editable?_c.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?_c.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};_V.exports=$V});var GA=C((Pnt,tZ)=>{"use strict";var NOe=Zc(),OOe=zx(),{isPrimitive:TOe}=qr(),rZ=class extends NOe{constructor(e){super(e);this.initial=TOe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` -`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):OOe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};tZ.exports=rZ});var nZ=C((xnt,iZ)=>{"use strict";var KOe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),sy=t=>KOe(t).filter(Boolean);iZ.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:sy([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:sy([...s,r]),present:o};case"save":return{past:sy([...i,r]),present:""};case"remove":return o=sy(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var Vx=C((knt,sZ)=>{"use strict";var UOe=GA(),oZ=nZ(),aZ=class extends UOe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=oZ(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=oZ("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};sZ.exports=aZ});var cZ=C((vnt,AZ)=>{"use strict";var HOe=GA(),lZ=class extends HOe{format(){return""}};AZ.exports=lZ});var hZ=C((Fnt,uZ)=>{"use strict";var YOe=GA(),gZ=class extends YOe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};uZ.exports=gZ});var dZ=C((Rnt,fZ)=>{"use strict";var jOe=ta(),pZ=class extends jOe{constructor(e){super({...e,multiple:!0})}};fZ.exports=pZ});var Zx=C((Lnt,CZ)=>{"use strict";var GOe=GA(),mZ=class extends GOe{constructor(e={}){super({style:"number",...e});this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};CZ.exports=mZ});var EZ=C((Mnt,IZ)=>{IZ.exports=Zx()});var wZ=C((Nnt,yZ)=>{"use strict";var qOe=GA(),BZ=class extends qOe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};yZ.exports=BZ});var SZ=C((Ont,QZ)=>{"use strict";var JOe=Rn(),WOe=Ff(),bZ=qr(),DZ=class extends WOe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` - `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` -`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!bZ.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=JOe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let f=bZ.wordWrap(c,{width:this.widths[0],newline:a}).split(` -`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),f=f.map(p=>this.styles.info(p))),f[0]+=u,this.linebreak&&f.push(""),[l+n,f.join(` -`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` -`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),h=await this.footer(),f=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&f!=null&&(o+=this.styles.danger(f)),this.clear(r),this.write([a,o,c,g,h].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};QZ.exports=DZ});var vZ=C((Tnt,PZ)=>{"use strict";var xZ=Rn(),zOe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",kZ=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=zOe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},XOe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],h=()=>s[u+1],f=p=>{p.line=c,o.push(p)};for(f({type:"bos",value:""});uk.name===y.key);y.field=n.find(k=>k.name===y.key),P||(P=new kZ(y),a.push(P)),P.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:f({type:"text",value:p})}return f({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};PZ.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await XOe(e,i),a=_x("result",t,e),l=_x("format",t,e),c=_x("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},h=!1)=>{let f=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,P,k,N)=>{let O=await c(B,P,k,N);return O===!1?"Invalid field "+k.name:O};for(let B of n){let P=B.value,k=B.key;if(B.type!=="template"){P&&(g.output+=P);continue}if(B.type==="template"){let N=s.find(F=>F.name===k);e.required===!0&&g.required.add(N.name);let O=[N.input,g.values[N.value],N.value,P].find(u),U=(N.field||{}).message||B.inner;if(h){let F=await p(g.values[k],g,N,f);if(F&&typeof F=="string"||F===!1){g.invalid.set(k,F);continue}g.invalid.delete(k);let A=await a(g.values[k],g,N,f);g.output+=xZ.unstyle(A);continue}N.placeholder=!1;let re=P;P=await l(P,g,N,f),O!==P?(g.values[k]=O,P=t.styles.typing(O),g.missing.delete(U)):(g.values[k]=void 0,O=`<${U}>`,P=t.styles.primary(O),N.placeholder=!0,g.required.has(k)&&g.missing.add(U)),g.missing.has(U)&&g.validating&&(P=t.styles.warning(O)),g.invalid.has(k)&&g.validating&&(P=t.styles.danger(O)),f===g.index&&(re!==P?P=t.styles.underline(P):P=t.styles.heading(xZ.unstyle(P))),f++}P&&(g.output+=P)}let m=g.output.split(` -`).map(B=>" "+B),I=s.length,y=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(P=>{m[P][0]===" "&&(m[P]=g.styles.danger(g.symbols.bullet)+m[P].slice(1))}),t.isValue(g.values[B.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` -`),g.output}};function _x(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var LZ=C((Knt,FZ)=>{"use strict";var VOe=Rn(),ZOe=vZ(),_Oe=Zc(),RZ=class extends _Oe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await ZOe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` -`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",h=await this.hint()||"",f=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),h&&!m&&this.state.completed===0&&(c+=" "+h),this.clear(n);let y=[u,c,f,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} -`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=VOe.unstyle(i).split(` -`).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};FZ.exports=RZ});var OZ=C((Unt,MZ)=>{"use strict";var $Oe="(Use + to sort)",eTe=ta(),NZ=class extends eTe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0});this.state.hint=[this.options.hint,$Oe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};MZ.exports=NZ});var UZ=C((Hnt,TZ)=>{"use strict";var tTe=Ff(),KZ=class extends tTe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=rTe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=P=>(P?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,h=await this.resolve(e.message,this.state,e,r),f=this.indent(e),p=f+e.scale.map((P,k)=>c(k===e.scaleIdx)).join(a),m=P=>P===e.scaleIdx?g(P):P,I=f+e.scale.map((P,k)=>m(k)).join(l),y=()=>[u,h].filter(Boolean).join(" "),B=()=>[y(),p,I," "].filter(Boolean).join(` -`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` -`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function rTe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let r=[];for(let i=1;i{HZ.exports=Vx()});var qZ=C((jnt,jZ)=>{"use strict";var iTe=ny(),GZ=class extends iTe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};jZ.exports=GZ});var zZ=C((Gnt,JZ)=>{"use strict";var nTe=ta(),WZ=class extends nTe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};JZ.exports=WZ});var VZ=C($x=>{"use strict";var XZ=qr(),Ir=(t,e)=>{XZ.defineExport($x,t,e),XZ.defineExport($x,t.toLowerCase(),e)};Ir("AutoComplete",()=>TV());Ir("BasicAuth",()=>JV());Ir("Confirm",()=>ZV());Ir("Editable",()=>eZ());Ir("Form",()=>iy());Ir("Input",()=>Vx());Ir("Invisible",()=>cZ());Ir("List",()=>hZ());Ir("MultiSelect",()=>dZ());Ir("Numeral",()=>EZ());Ir("Password",()=>wZ());Ir("Scale",()=>SZ());Ir("Select",()=>ta());Ir("Snippet",()=>LZ());Ir("Sort",()=>OZ());Ir("Survey",()=>UZ());Ir("Text",()=>YZ());Ir("Toggle",()=>qZ());Ir("Quiz",()=>zZ())});var _Z=C((Jnt,ZZ)=>{ZZ.exports={ArrayPrompt:Ff(),AuthPrompt:Xx(),BooleanPrompt:ny(),NumberPrompt:Zx(),StringPrompt:GA()}});var Lf=C((Wnt,$Z)=>{"use strict";var e_=require("assert"),ek=require("events"),ra=qr(),ls=class extends ek{constructor(e,r){super();this.options=ra.merge({},e),this.answers={...r}}register(e,r){if(ra.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}e_.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ra.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ra.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ra;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];e_(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Zc()}static get prompts(){return VZ()}static get types(){return _Z()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ra.mixinEmitter(e,new ek),e}};ra.mixinEmitter(ls,new ek);var tk=ls.prompts;for(let t of Object.keys(tk)){let e=t.toLowerCase(),r=i=>new tk[t](i).run();ls.prompt[e]=r,ls[e]=r,ls[t]||Reflect.defineProperty(ls,t,{get:()=>tk[t]})}var Rf=t=>{ra.defineExport(ls,t,()=>ls.types[t])};Rf("ArrayPrompt");Rf("AuthPrompt");Rf("BooleanPrompt");Rf("NumberPrompt");Rf("StringPrompt");$Z.exports=ls});var u_=C((Mst,c_)=>{function ATe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var lTe=fE(),cTe=Nc();function uTe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var gTe=$c(),hTe=Hc();function fTe(t,e){return t&&gTe(e,hTe(e),t)}h_.exports=fTe});var d_=C((Tst,p_)=>{function pTe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}p_.exports=pTe});var m_=C((Kst,C_)=>{var dTe=Fn(),CTe=kE(),mTe=d_(),ITe=Object.prototype,ETe=ITe.hasOwnProperty;function yTe(t){if(!dTe(t))return mTe(t);var e=CTe(t),r=[];for(var i in t)i=="constructor"&&(e||!ETe.call(t,i))||r.push(i);return r}C_.exports=yTe});var eu=C((Ust,I_)=>{var BTe=JP(),wTe=m_(),QTe=ff();function bTe(t){return QTe(t)?BTe(t,!0):wTe(t)}I_.exports=bTe});var y_=C((Hst,E_)=>{var DTe=$c(),STe=eu();function PTe(t,e){return t&&DTe(e,STe(e),t)}E_.exports=PTe});var ok=C((Hf,tu)=>{var xTe=xn(),B_=typeof Hf=="object"&&Hf&&!Hf.nodeType&&Hf,w_=B_&&typeof tu=="object"&&tu&&!tu.nodeType&&tu,kTe=w_&&w_.exports===B_,Q_=kTe?xTe.Buffer:void 0,b_=Q_?Q_.allocUnsafe:void 0;function vTe(t,e){if(e)return t.slice();var r=t.length,i=b_?b_(r):new t.constructor(r);return t.copy(i),i}tu.exports=vTe});var ak=C((Yst,D_)=>{function FTe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var RTe=$c(),LTe=FE();function MTe(t,e){return RTe(t,LTe(t),e)}S_.exports=MTe});var ay=C((Gst,x_)=>{var NTe=WP(),OTe=NTe(Object.getPrototypeOf,Object);x_.exports=OTe});var Ak=C((qst,k_)=>{var TTe=dE(),KTe=ay(),UTe=FE(),HTe=$P(),YTe=Object.getOwnPropertySymbols,jTe=YTe?function(t){for(var e=[];t;)TTe(e,UTe(t)),t=KTe(t);return e}:HTe;k_.exports=jTe});var F_=C((Jst,v_)=>{var GTe=$c(),qTe=Ak();function JTe(t,e){return GTe(t,qTe(t),e)}v_.exports=JTe});var L_=C((Wst,R_)=>{var WTe=_P(),zTe=Ak(),XTe=eu();function VTe(t){return WTe(t,XTe,zTe)}R_.exports=VTe});var N_=C((zst,M_)=>{var ZTe=Object.prototype,_Te=ZTe.hasOwnProperty;function $Te(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&_Te.call(t,"index")&&(r.index=t.index,r.input=t.input),r}M_.exports=$Te});var Ay=C((Xst,O_)=>{var T_=VP();function eKe(t){var e=new t.constructor(t.byteLength);return new T_(e).set(new T_(t)),e}O_.exports=eKe});var U_=C((Vst,K_)=>{var tKe=Ay();function rKe(t,e){var r=e?tKe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}K_.exports=rKe});var Y_=C((Zst,H_)=>{var iKe=/\w*$/;function nKe(t){var e=new t.constructor(t.source,iKe.exec(t));return e.lastIndex=t.lastIndex,e}H_.exports=nKe});var W_=C((_st,j_)=>{var G_=hA(),q_=G_?G_.prototype:void 0,J_=q_?q_.valueOf:void 0;function sKe(t){return J_?Object(J_.call(t)):{}}j_.exports=sKe});var lk=C(($st,z_)=>{var oKe=Ay();function aKe(t,e){var r=e?oKe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}z_.exports=aKe});var V_=C((eot,X_)=>{var AKe=Ay(),lKe=U_(),cKe=Y_(),uKe=W_(),gKe=lk(),hKe="[object Boolean]",fKe="[object Date]",pKe="[object Map]",dKe="[object Number]",CKe="[object RegExp]",mKe="[object Set]",IKe="[object String]",EKe="[object Symbol]",yKe="[object ArrayBuffer]",BKe="[object DataView]",wKe="[object Float32Array]",QKe="[object Float64Array]",bKe="[object Int8Array]",DKe="[object Int16Array]",SKe="[object Int32Array]",PKe="[object Uint8Array]",xKe="[object Uint8ClampedArray]",kKe="[object Uint16Array]",vKe="[object Uint32Array]";function FKe(t,e,r){var i=t.constructor;switch(e){case yKe:return AKe(t);case hKe:case fKe:return new i(+t);case BKe:return lKe(t,r);case wKe:case QKe:case bKe:case DKe:case SKe:case PKe:case xKe:case kKe:case vKe:return gKe(t,r);case pKe:return new i;case dKe:case IKe:return new i(t);case CKe:return cKe(t);case mKe:return new i;case EKe:return uKe(t)}}X_.exports=FKe});var $_=C((tot,Z_)=>{var RKe=Fn(),__=Object.create,LKe=function(){function t(){}return function(e){if(!RKe(e))return{};if(__)return __(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Z_.exports=LKe});var ck=C((rot,e$)=>{var MKe=$_(),NKe=ay(),OKe=kE();function TKe(t){return typeof t.constructor=="function"&&!OKe(t)?MKe(NKe(t)):{}}e$.exports=TKe});var r$=C((iot,t$)=>{var KKe=df(),UKe=_n(),HKe="[object Map]";function YKe(t){return UKe(t)&&KKe(t)==HKe}t$.exports=YKe});var o$=C((not,i$)=>{var jKe=r$(),GKe=SE(),n$=PE(),s$=n$&&n$.isMap,qKe=s$?GKe(s$):jKe;i$.exports=qKe});var A$=C((sot,a$)=>{var JKe=df(),WKe=_n(),zKe="[object Set]";function XKe(t){return WKe(t)&&JKe(t)==zKe}a$.exports=XKe});var g$=C((oot,l$)=>{var VKe=A$(),ZKe=SE(),c$=PE(),u$=c$&&c$.isSet,_Ke=u$?ZKe(u$):VKe;l$.exports=_Ke});var C$=C((aot,h$)=>{var $Ke=pf(),e1e=u_(),t1e=fE(),r1e=f_(),i1e=y_(),n1e=ok(),s1e=ak(),o1e=P_(),a1e=F_(),A1e=ex(),l1e=L_(),c1e=df(),u1e=N_(),g1e=V_(),h1e=ck(),f1e=an(),p1e=uf(),d1e=o$(),C1e=Fn(),m1e=g$(),I1e=Hc(),E1e=eu(),y1e=1,B1e=2,w1e=4,f$="[object Arguments]",Q1e="[object Array]",b1e="[object Boolean]",D1e="[object Date]",S1e="[object Error]",p$="[object Function]",P1e="[object GeneratorFunction]",x1e="[object Map]",k1e="[object Number]",d$="[object Object]",v1e="[object RegExp]",F1e="[object Set]",R1e="[object String]",L1e="[object Symbol]",M1e="[object WeakMap]",N1e="[object ArrayBuffer]",O1e="[object DataView]",T1e="[object Float32Array]",K1e="[object Float64Array]",U1e="[object Int8Array]",H1e="[object Int16Array]",Y1e="[object Int32Array]",j1e="[object Uint8Array]",G1e="[object Uint8ClampedArray]",q1e="[object Uint16Array]",J1e="[object Uint32Array]",xt={};xt[f$]=xt[Q1e]=xt[N1e]=xt[O1e]=xt[b1e]=xt[D1e]=xt[T1e]=xt[K1e]=xt[U1e]=xt[H1e]=xt[Y1e]=xt[x1e]=xt[k1e]=xt[d$]=xt[v1e]=xt[F1e]=xt[R1e]=xt[L1e]=xt[j1e]=xt[G1e]=xt[q1e]=xt[J1e]=!0;xt[S1e]=xt[p$]=xt[M1e]=!1;function ly(t,e,r,i,n,s){var o,a=e&y1e,l=e&B1e,c=e&w1e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!C1e(t))return t;var u=f1e(t);if(u){if(o=u1e(t),!a)return s1e(t,o)}else{var g=c1e(t),h=g==p$||g==P1e;if(p1e(t))return n1e(t,a);if(g==d$||g==f$||h&&!n){if(o=l||h?{}:h1e(t),!a)return l?a1e(t,i1e(o,t)):o1e(t,r1e(o,t))}else{if(!xt[g])return n?t:{};o=g1e(t,g,a)}}s||(s=new $Ke);var f=s.get(t);if(f)return f;s.set(t,o),m1e(t)?t.forEach(function(I){o.add(ly(I,e,r,I,t,s))}):d1e(t)&&t.forEach(function(I,y){o.set(y,ly(I,e,r,y,t,s))});var p=c?l?l1e:A1e:l?E1e:I1e,m=u?void 0:p(t);return e1e(m||t,function(I,y){m&&(y=I,I=t[y]),t1e(o,y,ly(I,e,r,y,t,s))}),o}h$.exports=ly});var uk=C((Aot,m$)=>{var W1e=C$(),z1e=1,X1e=4;function V1e(t){return W1e(t,z1e|X1e)}m$.exports=V1e});var E$=C((lot,I$)=>{var Z1e=BP();function _1e(t,e,r){return t==null?t:Z1e(t,e,r)}I$.exports=_1e});var D$=C((pot,b$)=>{function $1e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}b$.exports=$1e});var P$=C((dot,S$)=>{var eUe=tf(),tUe=pD();function rUe(t,e){return e.length<2?t:eUe(t,tUe(e,0,-1))}S$.exports=rUe});var k$=C((Cot,x$)=>{var iUe=Mc(),nUe=D$(),sUe=P$(),oUe=RA();function aUe(t,e){return e=iUe(e,t),t=sUe(t,e),t==null||delete t[oUe(nUe(e))]}x$.exports=aUe});var F$=C((mot,v$)=>{var AUe=k$();function lUe(t,e){return t==null?!0:AUe(t,e)}v$.exports=lUe});var H$=C((Xot,U$)=>{U$.exports={name:"@yarnpkg/cli",version:"3.0.0-rc.2",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0-rc.2","@yarnpkg/fslib":"workspace:^2.5.0-rc.2","@yarnpkg/libzip":"workspace:^2.2.1","@yarnpkg/parsers":"workspace:^2.3.1-rc.2","@yarnpkg/plugin-compat":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-dlx":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-essentials":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-file":"workspace:^2.2.1-rc.2","@yarnpkg/plugin-git":"workspace:^2.4.0-rc.2","@yarnpkg/plugin-github":"workspace:^2.2.0-rc.2","@yarnpkg/plugin-http":"workspace:^2.1.3-rc.2","@yarnpkg/plugin-init":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-link":"workspace:^2.1.2-rc.2","@yarnpkg/plugin-node-modules":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-npm":"workspace:^2.5.0-rc.2","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-pack":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-patch":"workspace:^3.0.0-rc.2","@yarnpkg/plugin-pnp":"workspace:^3.0.0-rc.2","@yarnpkg/shell":"workspace:^3.0.0-rc.2",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.0-rc.10",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"beta"},peerDependencies:{"@yarnpkg/core":"^3.0.0-rc.2"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"},stableVersion:"2.4.0"}});var Ok=C((Egt,Lee)=>{"use strict";Lee.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var Tk=C((ygt,Mee)=>{"use strict";var MUe=Ok();function Nee(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=MUe(t);return t=t.substring(t.indexOf("://")+3),Nee(e)?!0:t.indexOf("@"){"use strict";var NUe=Ok(),OUe=Tk(),TUe=require("querystring");function KUe(t){t=(t||"").trim();var e={protocols:NUe(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(OUe(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=TUe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}Oee.exports=KUe});var Hee=C((wgt,Kee)=>{"use strict";var UUe=typeof URL=="undefined"?require("url").URL:URL,Uee=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);Kee.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new UUe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Uee(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Uee(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var jee=C((Qgt,Yee)=>{"use strict";var HUe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},YUe=Tee(),jUe=Hee();function GUe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":HUe(e))!=="object"&&(e={stripFragment:!1}),t=jUe(t,e));var r=YUe(t);return r}Yee.exports=GUe});var Jee=C((bgt,Gee)=>{"use strict";var qUe=jee(),qee=Tk();function JUe(t){var e=qUe(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),qee(e.protocols)||qee(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}Gee.exports=JUe});var zee=C((Dgt,Wee)=>{"use strict";var WUe=Jee();function Kk(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=WUe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return Kk.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}Kk.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?zUe(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function zUe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}Wee.exports=Kk});var $k=C((Cht,rte)=>{var i2e=Nc(),n2e=Fc();function s2e(t,e,r){(r!==void 0&&!n2e(t[e],r)||r===void 0&&!(e in t))&&i2e(t,e,r)}rte.exports=s2e});var nte=C((mht,ite)=>{var o2e=ff(),a2e=_n();function A2e(t){return a2e(t)&&o2e(t)}ite.exports=A2e});var ate=C((Iht,ste)=>{var l2e=fA(),c2e=ay(),u2e=_n(),g2e="[object Object]",h2e=Function.prototype,f2e=Object.prototype,ote=h2e.toString,p2e=f2e.hasOwnProperty,d2e=ote.call(Object);function C2e(t){if(!u2e(t)||l2e(t)!=g2e)return!1;var e=c2e(t);if(e===null)return!0;var r=p2e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&ote.call(r)==d2e}ste.exports=C2e});var ev=C((Eht,Ate)=>{function m2e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Ate.exports=m2e});var cte=C((yht,lte)=>{var I2e=$c(),E2e=eu();function y2e(t){return I2e(t,E2e(t))}lte.exports=y2e});var dte=C((Bht,ute)=>{var gte=$k(),B2e=ok(),w2e=lk(),Q2e=ak(),b2e=ck(),hte=nf(),fte=an(),D2e=nte(),S2e=uf(),P2e=uE(),x2e=Fn(),k2e=ate(),v2e=xE(),pte=ev(),F2e=cte();function R2e(t,e,r,i,n,s,o){var a=pte(t,r),l=pte(e,r),c=o.get(l);if(c){gte(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var h=fte(l),f=!h&&S2e(l),p=!h&&!f&&v2e(l);u=l,h||f||p?fte(a)?u=a:D2e(a)?u=Q2e(a):f?(g=!1,u=B2e(l,!0)):p?(g=!1,u=w2e(l,!0)):u=[]:k2e(l)||hte(l)?(u=a,hte(a)?u=F2e(a):(!x2e(a)||P2e(a))&&(u=b2e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),gte(t,r,u)}ute.exports=R2e});var Ite=C((wht,Cte)=>{var L2e=pf(),M2e=$k(),N2e=GP(),O2e=dte(),T2e=Fn(),K2e=eu(),U2e=ev();function mte(t,e,r,i,n){t!==e&&N2e(e,function(s,o){if(n||(n=new L2e),T2e(s))O2e(t,e,o,r,mte,i,n);else{var a=i?i(U2e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),M2e(t,o,a)}},K2e)}Cte.exports=mte});var yte=C((Qht,Ete)=>{var H2e=CE(),Y2e=bP(),j2e=DP();function G2e(t,e){return j2e(Y2e(t,e,H2e),t+"")}Ete.exports=G2e});var wte=C((bht,Bte)=>{var q2e=Fc(),J2e=ff(),W2e=rf(),z2e=Fn();function X2e(t,e,r){if(!z2e(r))return!1;var i=typeof e;return(i=="number"?J2e(r)&&W2e(e,r.length):i=="string"&&e in r)?q2e(r[e],t):!1}Bte.exports=X2e});var bte=C((Dht,Qte)=>{var V2e=yte(),Z2e=wte();function _2e(t){return V2e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&Z2e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var $2e=Ite(),eHe=bte(),tHe=eHe(function(t,e,r){$2e(t,e,r)});Dte.exports=tHe});var pv=C(exports=>{We(exports,{dynamicRequire:()=>dynamicRequire,dynamicRequireNoCache:()=>dynamicRequireNoCache});var dynamicRequire=eval("require");function dynamicRequireNoCache(path){let physicalPath=npath.fromPortablePath(path),currentCacheEntry=dynamicRequire.cache[physicalPath];delete dynamicRequire.cache[physicalPath];let result;try{result=dynamicRequire(physicalPath);let freshCacheEntry=dynamicRequire.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{dynamicRequire.cache[physicalPath]=currentCacheEntry}return result}});var Xte=C((cpt,zte)=>{var Ev;zte.exports=()=>(typeof Ev=="undefined"&&(Ev=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Ev)});var tre=C(Bv=>{function Au(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Au(n[u],c))?g.replace("*",l.substring(u.length-1)):WA(i,l,1)}return WA(i,l)}}function xHe(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){kv&&typeof kv=="object"&&typeof vv!="undefined"?vv.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var pre=C((Udt,gre)=>{"use strict";Fv.ifExists=KHe;var uu=require("util"),dn=require("path"),hre=ure(),UHe=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,HHe={createPwshFile:!0,createCmdFile:hre(),fs:require("fs")},YHe=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function fre(t){let e={...HHe,...t},r=e.fs;return e.fs_={chmod:r.chmod?uu.promisify(r.chmod):async()=>{},mkdir:uu.promisify(r.mkdir),readFile:uu.promisify(r.readFile),stat:uu.promisify(r.stat),unlink:uu.promisify(r.unlink),writeFile:uu.promisify(r.writeFile)},e}async function Fv(t,e,r){let i=fre(r);await i.fs_.stat(t),await jHe(t,e,i)}function KHe(t,e,r){return Fv(t,e,r).catch(()=>{})}function GHe(t,e){return e.fs_.unlink(t).catch(()=>{})}async function jHe(t,e,r){let i=await WHe(t,r);return await qHe(e,r),JHe(t,e,i,r)}function qHe(t,e){return e.fs_.mkdir(dn.dirname(t),{recursive:!0})}function JHe(t,e,r,i){let n=fre(i),s=[{generator:VHe,extension:""}];return n.createCmdFile&&s.push({generator:XHe,extension:".cmd"}),n.createPwshFile&&s.push({generator:ZHe,extension:".ps1"}),Promise.all(s.map(o=>zHe(t,e+o.extension,r,o.generator,n)))}function _He(t,e){return GHe(t,e)}function eYe(t,e){return $He(t,e)}async function WHe(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(UHe);if(!n){let s=dn.extname(t).toLowerCase();return{program:YHe.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function zHe(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await _He(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),eYe(e,n)}function XHe(t,e,r){let n=dn.relative(dn.dirname(e),t).split("/").join("\\"),s=dn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=Rv(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r -`:"";return o?g+=`@IF EXIST ${o} (\r - ${o} ${l} ${n} ${u}%*\r -) ELSE (\r - @SETLOCAL\r - @SET PATHEXT=%PATHEXT:;.JS;=;%\r - ${a} ${l} ${n} ${u}%*\r -)\r -`:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function VHe(t,e,r){let i=dn.relative(dn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=dn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=Rv(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") - -case \`uname\` in - *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; -esac - -`,g=r.nodePath?`export NODE_PATH="${l}" -`:"";return s?u+=`${g}if [ -x ${s} ]; then - exec ${s} ${a} ${i} ${c}"$@" -else - exec ${n} ${a} ${i} ${c}"$@" -fi -`:u+=`${g}${n} ${a} ${i} ${c}"$@" -exit $? -`,u}function ZHe(t,e,r){let i=dn.relative(dn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=dn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=Rv(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",f=`#!/usr/bin/env pwsh -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - -$exe="" -${r.nodePath?`$env_node_path=$env:NODE_PATH -$env:NODE_PATH="${u}" -`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - # Fix case when both the Windows and Linux builds of Node - # are installed in the same directory - $exe=".exe" -}`;return r.nodePath&&(f+=` else { - $env:NODE_PATH="${g}" -}`),o?f+=` -$ret=0 -if (Test-Path ${o}) { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${o} ${l} ${i} ${h}$args - } else { - & ${o} ${l} ${i} ${h}$args - } - $ret=$LASTEXITCODE -} else { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${s} ${l} ${i} ${h}$args - } else { - & ${s} ${l} ${i} ${h}$args - } - $ret=$LASTEXITCODE -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $ret -`:f+=` -# Support pipeline input -if ($MyInvocation.ExpectingInput) { - $input | & ${s} ${l} ${i} ${h}$args -} else { - & ${s} ${l} ${i} ${h}$args -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $LASTEXITCODE -`,f}function $He(t,e){return e.fs_.chmod(t,493)}function Rv(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(dn.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}gre.exports=Fv});var $v=C((Bmt,vre)=>{vre.exports=require("stream")});var Mre=C((wmt,Fre)=>{"use strict";function Rre(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function EYe(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return by.alloc(0);for(var i=by.allocUnsafe(r>>>0),n=this.head,s=0;n;)DYe(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=by.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:bYe,value:function(r,i){return eF(this,EYe({},i,{depth:0,customInspect:!1}))}}]),t}()});var rF=C((Qmt,Nre)=>{"use strict";function SYe(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(tF,this,t)):process.nextTick(tF,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Dy,r):(r._writableState.errorEmitted=!0,process.nextTick(Ore,r,s)):process.nextTick(Ore,r,s):e?(process.nextTick(Dy,r),e(s)):process.nextTick(Dy,r)}),this)}function Ore(t,e){tF(t,e),Dy(t)}function Dy(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function PYe(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function tF(t,e){t.emit("error",e)}function xYe(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}Nre.exports={destroy:SYe,undestroy:PYe,errorOrDestroy:xYe}});var ca=C((bmt,Tre)=>{"use strict";var Kre={};function Cn(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Kre[t]=n}function Ure(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function kYe(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function vYe(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function FYe(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Cn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Cn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&kYe(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(vYe(t," argument"))n=`The ${t} ${i} ${Ure(e,"type")}`;else{let s=FYe(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${Ure(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Cn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Cn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Cn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Cn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Cn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Cn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Cn("ERR_STREAM_WRITE_AFTER_END","write after end");Cn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Cn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Cn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Tre.exports.codes=Kre});var iF=C((Dmt,Hre)=>{"use strict";var RYe=ca().codes.ERR_INVALID_OPT_VALUE;function LYe(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function MYe(t,e,r,i){var n=LYe(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new RYe(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Hre.exports={getHighWaterMark:MYe}});var Yre=C((Smt,nF)=>{typeof Object.create=="function"?nF.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:nF.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var ZA=C((Pmt,sF)=>{try{if(oF=require("util"),typeof oF.inherits!="function")throw"";sF.exports=oF.inherits}catch(t){sF.exports=Yre()}var oF});var Gre=C((xmt,jre)=>{jre.exports=require("util").deprecate});var lF=C((kmt,qre)=>{"use strict";qre.exports=Zt;function Jre(t){var e=this;this.next=null,this.entry=null,this.finish=function(){NYe(e,t)}}var fu;Zt.WritableState=Sp;var OYe={deprecate:Gre()},Wre=$v(),Sy=require("buffer").Buffer,TYe=global.Uint8Array||function(){};function KYe(t){return Sy.from(t)}function UYe(t){return Sy.isBuffer(t)||t instanceof TYe}var aF=rF(),HYe=iF(),YYe=HYe.getHighWaterMark,ua=ca().codes,jYe=ua.ERR_INVALID_ARG_TYPE,GYe=ua.ERR_METHOD_NOT_IMPLEMENTED,qYe=ua.ERR_MULTIPLE_CALLBACK,JYe=ua.ERR_STREAM_CANNOT_PIPE,WYe=ua.ERR_STREAM_DESTROYED,zYe=ua.ERR_STREAM_NULL_VALUES,XYe=ua.ERR_STREAM_WRITE_AFTER_END,VYe=ua.ERR_UNKNOWN_ENCODING,pu=aF.errorOrDestroy;ZA()(Zt,Wre);function ZYe(){}function Sp(t,e,r){fu=fu||_A(),t=t||{},typeof r!="boolean"&&(r=e instanceof fu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=YYe(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){_Ye(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Jre(this)}Sp.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(Sp.prototype,"buffer",{get:OYe.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var Py;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Py=Function.prototype[Symbol.hasInstance],Object.defineProperty(Zt,Symbol.hasInstance,{value:function(e){return Py.call(this,e)?!0:this!==Zt?!1:e&&e._writableState instanceof Sp}})):Py=function(e){return e instanceof this};function Zt(t){fu=fu||_A();var e=this instanceof fu;if(!e&&!Py.call(Zt,this))return new Zt(t);this._writableState=new Sp(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Wre.call(this)}Zt.prototype.pipe=function(){pu(this,new JYe)};function $Ye(t,e){var r=new XYe;pu(t,r),process.nextTick(e,r)}function eje(t,e,r,i){var n;return r===null?n=new zYe:typeof r!="string"&&!e.objectMode&&(n=new jYe("chunk",["string","Buffer"],r)),n?(pu(t,n),process.nextTick(i,n),!1):!0}Zt.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&UYe(t);return s&&!Sy.isBuffer(t)&&(t=KYe(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=ZYe),i.ending?$Ye(this,r):(s||eje(this,i,t,r))&&(i.pendingcb++,n=tje(this,i,s,t,e,r)),n};Zt.prototype.cork=function(){this._writableState.corked++};Zt.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&zre(this,t))};Zt.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new VYe(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Zt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function rje(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=Sy.from(e,r)),e}Object.defineProperty(Zt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function tje(t,e,r,i,n,s){if(!r){var o=rje(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var lje=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Zre.exports=us;var _re=cF(),uF=lF();ZA()(us,_re);{gF=lje(uF.prototype);for(var hF=0;hF{var ky=require("buffer"),so=ky.Buffer;function eie(t,e){for(var r in t)e[r]=t[r]}so.from&&so.alloc&&so.allocUnsafe&&so.allocUnsafeSlow?$re.exports=ky:(eie(ky,fF),fF.Buffer=du);function du(t,e,r){return so(t,e,r)}eie(so,du);du.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return so(t,e,r)};du.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=so(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};du.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return so(t)};du.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ky.SlowBuffer(t)}});var CF=C(rie=>{"use strict";var pF=tie().Buffer,iie=pF.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function gje(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function hje(t){var e=gje(t);if(typeof e!="string"&&(pF.isEncoding===iie||!iie(t)))throw new Error("Unknown encoding: "+t);return e||t}rie.StringDecoder=xp;function xp(t){this.encoding=hje(t);var e;switch(this.encoding){case"utf16le":this.text=pje,this.end=dje,e=4;break;case"utf8":this.fillLast=fje,e=4;break;case"base64":this.text=Cje,this.end=mje,e=3;break;default:this.write=Ije,this.end=Eje;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=pF.allocUnsafe(e)}xp.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function wje(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function Qje(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function fje(t){var e=this.lastTotal-this.lastNeed,r=Qje(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function Bje(t,e){var r=wje(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function yje(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function pje(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function dje(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function Cje(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function mje(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Ije(t){return t.toString(this.encoding)}function Eje(t){return t&&t.length?this.write(t):""}});var vy=C((Rmt,nie)=>{"use strict";var sie=ca().codes.ERR_STREAM_PREMATURE_CLOSE;function bje(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var Fy;function ga(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Pje=vy(),ha=Symbol("lastResolve"),$A=Symbol("lastReject"),kp=Symbol("error"),Ry=Symbol("ended"),el=Symbol("lastPromise"),mF=Symbol("handlePromise"),tl=Symbol("stream");function fa(t,e){return{value:t,done:e}}function xje(t){var e=t[ha];if(e!==null){var r=t[tl].read();r!==null&&(t[el]=null,t[ha]=null,t[$A]=null,e(fa(r,!1)))}}function kje(t){process.nextTick(xje,t)}function vje(t,e){return function(r,i){t.then(function(){if(e[Ry]){r(fa(void 0,!0));return}e[mF](r,i)},i)}}var Fje=Object.getPrototypeOf(function(){}),Rje=Object.setPrototypeOf((Fy={get stream(){return this[tl]},next:function(){var e=this,r=this[kp];if(r!==null)return Promise.reject(r);if(this[Ry])return Promise.resolve(fa(void 0,!0));if(this[tl].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[kp]?a(e[kp]):o(fa(void 0,!0))})});var i=this[el],n;if(i)n=new Promise(vje(i,this));else{var s=this[tl].read();if(s!==null)return Promise.resolve(fa(s,!1));n=new Promise(this[mF])}return this[el]=n,n}},ga(Fy,Symbol.asyncIterator,function(){return this}),ga(Fy,"return",function(){var e=this;return new Promise(function(r,i){e[tl].destroy(null,function(n){if(n){i(n);return}r(fa(void 0,!0))})})}),Fy),Fje),Lje=function(e){var r,i=Object.create(Rje,(r={},ga(r,tl,{value:e,writable:!0}),ga(r,ha,{value:null,writable:!0}),ga(r,$A,{value:null,writable:!0}),ga(r,kp,{value:null,writable:!0}),ga(r,Ry,{value:e._readableState.endEmitted,writable:!0}),ga(r,mF,{value:function(s,o){var a=i[tl].read();a?(i[el]=null,i[ha]=null,i[$A]=null,s(fa(a,!1))):(i[ha]=s,i[$A]=o)},writable:!0}),r));return i[el]=null,Pje(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[$A];s!==null&&(i[el]=null,i[ha]=null,i[$A]=null,s(n)),i[kp]=n;return}var o=i[ha];o!==null&&(i[el]=null,i[ha]=null,i[$A]=null,o(fa(void 0,!0))),i[Ry]=!0}),e.on("readable",kje.bind(null,i)),i};aie.exports=Lje});var gie=C((Mmt,lie)=>{"use strict";function cie(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function Mje(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){cie(s,i,n,o,a,"next",l)}function a(l){cie(s,i,n,o,a,"throw",l)}o(void 0)})}}function uie(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function Oje(t){for(var e=1;e{"use strict";hie.exports=ht;var Cu;ht.ReadableState=fie;var Nmt=require("events").EventEmitter,pie=function(e,r){return e.listeners(r).length},vp=$v(),Ly=require("buffer").Buffer,Uje=global.Uint8Array||function(){};function Hje(t){return Ly.from(t)}function Yje(t){return Ly.isBuffer(t)||t instanceof Uje}var IF=require("util"),at;IF&&IF.debuglog?at=IF.debuglog("stream"):at=function(){};var jje=Mre(),EF=rF(),Gje=iF(),qje=Gje.getHighWaterMark,My=ca().codes,Jje=My.ERR_INVALID_ARG_TYPE,Wje=My.ERR_STREAM_PUSH_AFTER_EOF,zje=My.ERR_METHOD_NOT_IMPLEMENTED,Xje=My.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,mu,yF,BF;ZA()(ht,vp);var Fp=EF.errorOrDestroy,wF=["error","close","destroy","pause","resume"];function Vje(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function fie(t,e,r){Cu=Cu||_A(),t=t||{},typeof r!="boolean"&&(r=e instanceof Cu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=qje(this,t,"readableHighWaterMark",r),this.buffer=new jje,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(mu||(mu=CF().StringDecoder),this.decoder=new mu(t.encoding),this.encoding=t.encoding)}function ht(t){if(Cu=Cu||_A(),!(this instanceof ht))return new ht(t);var e=this instanceof Cu;this._readableState=new fie(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),vp.call(this)}Object.defineProperty(ht.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});ht.prototype.destroy=EF.destroy;ht.prototype._undestroy=EF.undestroy;ht.prototype._destroy=function(t,e){e(t)};ht.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=Ly.from(t,e),e=""),i=!0),die(this,t,e,!1,i)};ht.prototype.unshift=function(t){return die(this,t,null,!0,!1)};function die(t,e,r,i,n){at("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,_je(t,s);else{var o;if(n||(o=Zje(s,e)),o)Fp(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==Ly.prototype&&(e=Hje(e)),i)s.endEmitted?Fp(t,new Xje):QF(t,s,e,!0);else if(s.ended)Fp(t,new Wje);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?QF(t,s,e,!1):bF(t,s)):QF(t,s,e,!1)}else i||(s.reading=!1,bF(t,s))}return!s.ended&&(s.length=Cie?t=Cie:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function mie(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=$je(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}ht.prototype.read=function(t){at("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return at("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?DF(this):Ny(this),null;if(t=mie(t,e),t===0&&e.ended)return e.length===0&&DF(this),null;var i=e.needReadable;at("need readable",i),(e.length===0||e.length-t0?n=Iie(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&DF(this)),n!==null&&this.emit("data",n),n};function _je(t,e){if(at("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Ny(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Eie(t)))}}function Ny(t){var e=t._readableState;at("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(at("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Eie,t))}function Eie(t){var e=t._readableState;at("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,SF(t)}function bF(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(eGe,t,e))}function eGe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&yie(i.pipes,t)!==-1)&&!c&&(at("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function h(I){at("onerror",I),m(),t.removeListener("error",h),pie(t,"error")===0&&Fp(t,I)}Vje(t,"error",h);function f(){t.removeListener("finish",p),m()}t.once("close",f);function p(){at("onfinish"),t.removeListener("close",f),m()}t.once("finish",p);function m(){at("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(at("pipe resume"),r.resume()),t};function tGe(t){return function(){var r=t._readableState;at("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&pie(t,"data")&&(r.flowing=!0,SF(t))}}ht.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,at("on readable",i.length,i.reading),i.length?Ny(this):i.reading||process.nextTick(rGe,this)),r};ht.prototype.addListener=ht.prototype.on;ht.prototype.removeListener=function(t,e){var r=vp.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Bie,this),r};ht.prototype.removeAllListeners=function(t){var e=vp.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Bie,this),e};function Bie(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function rGe(t){at("readable nexttick read 0"),t.read(0)}ht.prototype.resume=function(){var t=this._readableState;return t.flowing||(at("resume"),t.flowing=!t.readableListening,iGe(this,t)),t.paused=!1,this};function iGe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(nGe,t,e))}function nGe(t,e){at("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),SF(t),e.flowing&&!e.reading&&t.read(0)}ht.prototype.pause=function(){return at("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(at("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function SF(t){var e=t._readableState;for(at("flow",e.flowing);e.flowing&&t.read()!==null;);}ht.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(at("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(at("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function DF(t){var e=t._readableState;at("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(sGe,e,t))}function sGe(t,e){if(at("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(ht.from=function(t,e){return BF===void 0&&(BF=gie()),BF(ht,t,e)});function yie(t,e){for(var r=0,i=t.length;r{"use strict";wie.exports=oo;var Oy=ca().codes,oGe=Oy.ERR_METHOD_NOT_IMPLEMENTED,aGe=Oy.ERR_MULTIPLE_CALLBACK,AGe=Oy.ERR_TRANSFORM_ALREADY_TRANSFORMING,lGe=Oy.ERR_TRANSFORM_WITH_LENGTH_0,Ty=_A();ZA()(oo,Ty);function cGe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new aGe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";bie.exports=Rp;var Die=PF();ZA()(Rp,Die);function Rp(t){if(!(this instanceof Rp))return new Rp(t);Die.call(this,t)}Rp.prototype._transform=function(t,e,r){r(null,t)}});var Fie=C((Umt,Pie)=>{"use strict";var xF;function gGe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var xie=ca().codes,hGe=xie.ERR_MISSING_ARGS,fGe=xie.ERR_STREAM_DESTROYED;function kie(t){if(t)throw t}function pGe(t){return t.setHeader&&typeof t.abort=="function"}function dGe(t,e,r,i){i=gGe(i);var n=!1;t.on("close",function(){n=!0}),xF===void 0&&(xF=vy()),xF(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,pGe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new fGe("pipe"))}}}function vie(t){t()}function CGe(t,e){return t.pipe(e)}function mGe(t){return!t.length||typeof t[t.length-1]!="function"?kie:t.pop()}function IGe(){for(var t=arguments.length,e=new Array(t),r=0;r0;return dGe(o,l,c,function(u){n||(n=u),u&&s.forEach(vie),!l&&(s.forEach(vie),i(n))})});return e.reduce(CGe)}Pie.exports=IGe});var Iu=C((mn,Lp)=>{var Mp=require("stream");process.env.READABLE_STREAM==="disable"&&Mp?(Lp.exports=Mp.Readable,Object.assign(Lp.exports,Mp),Lp.exports.Stream=Mp):(mn=Lp.exports=cF(),mn.Stream=Mp||mn,mn.Readable=mn,mn.Writable=lF(),mn.Duplex=_A(),mn.Transform=PF(),mn.PassThrough=Sie(),mn.finished=vy(),mn.pipeline=Fie())});var Lie=C((Hmt,Rie)=>{"use strict";var kF=Iu().Duplex,EGe=require("util");function Dt(t){if(!(this instanceof Dt))return new Dt(t);if(this._bufs=[],this.length=0,typeof t=="function"){this._callback=t;var e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)})}else this.append(t);kF.call(this)}EGe.inherits(Dt,kF);Dt.prototype._offset=function(e){var r=0,i=0,n;if(e===0)return[0,0];for(;ithis.length||e<0)){var r=this._offset(e);return this._bufs[r[0]][r[1]]}};Dt.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Dt.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Buffer.alloc(0);var s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1],g,h;if(i===0&&n==this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Buffer.concat(this._bufs,this.length);for(h=0;hg)this._bufs[h].copy(e,c,u);else{this._bufs[h].copy(e,c,u,u+l);break}c+=g,l-=g,u&&(u=0)}return e};Dt.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return new Dt;var i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]==0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!=0&&(s[0]=s[0].slice(i[1])),new Dt(s)};Dt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Dt.prototype.consume=function(e){for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Dt.prototype.duplicate=function(){for(var e=0,r=new Dt;ethis.length?this.length:e;var i=this._offset(e),n=i[0],s=i[1];for(n;n=t.length){var l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{var c=this._reverseOffset([n,s]);if(this._match(c,t))return c;s++}}s=0}return-1};Dt.prototype._match=function(t,e){if(this.length-t{var yGe=Buffer.alloc,BGe="0000000000000000000",wGe="7777777777777777777",Mie="0".charCodeAt(0),QGe="ustar\x0000",bGe=parseInt("7777",8),DGe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},SGe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},PGe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Nie=function(t,e,r,i){for(;re?wGe.slice(0,e)+" ":BGe.slice(0,e-t.length)+t+" "};function xGe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=!1,i=[],n=t.length-1;n>0;n--){var s=t[n];e?i.push(s):r&&s===0?i.push(0):r?(r=!1,i.push(256-s)):i.push(255-s)}var o=0,a=i.length;for(n=0;n=Math.pow(10,r)&&r++,e+r+t};Eu.decodeLongPath=function(t,e){return yu(t,0,t.length,e)};Eu.encodePax=function(t){var e="";t.name&&(e+=vF(" path="+t.name+` -`)),t.linkname&&(e+=vF(" linkpath="+t.linkname+` -`));var r=t.pax;if(r)for(var i in r)e+=vF(" "+i+"="+r[i]+` -`);return Buffer.from(e)};Eu.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(pa(t.mode&bGe,6),100),e.write(pa(t.uid,6),108),e.write(pa(t.gid,6),116),e.write(pa(t.size,11),124),e.write(pa(t.mtime.getTime()/1e3|0,11),136),e[156]=Mie+PGe(t.type),t.linkname&&e.write(t.linkname,157),e.write(QGe,257),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(pa(t.devmajor||0,6),329),e.write(pa(t.devminor||0,6),337),i&&e.write(i,345),e.write(pa(Oie(e),6),148),e)};Eu.decode=function(t,e){var r=t[156]===0?0:t[156]-Mie,i=yu(t,0,100,e),n=da(t,100,8),s=da(t,108,8),o=da(t,116,8),a=da(t,124,12),l=da(t,136,12),c=SGe(r),u=t[157]===0?null:yu(t,157,100,e),g=yu(t,265,32),h=yu(t,297,32),f=da(t,329,8),p=da(t,337,8);t[345]&&(i=yu(t,345,155,e)+"/"+i),r===0&&i&&i[i.length-1]==="/"&&(r=5);var m=Oie(t);if(m===8*32)return null;if(m!==da(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");return{name:i,mode:n,uid:s,gid:o,size:a,mtime:new Date(1e3*l),type:c,linkname:u,uname:g,gname:h,devmajor:f,devminor:p}}});var Gie=C((jmt,Tie)=>{var Kie=require("util"),kGe=Lie(),Np=FF(),Uie=Iu().Writable,Hie=Iu().PassThrough,Yie=function(){},jie=function(t){return t&=511,t&&512-t},vGe=function(t,e){var r=new Ky(t,e);return r.end(),r},FGe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Ky=function(t,e){this._parent=t,this.offset=e,Hie.call(this)};Kie.inherits(Ky,Hie);Ky.prototype.destroy=function(t){this._parent.destroy(t)};var ao=function(t){if(!(this instanceof ao))return new ao(t);Uie.call(this,t),t=t||{},this._offset=0,this._buffer=kGe(),this._missing=0,this._partial=!1,this._onparse=Yie,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(h){if(e._locked=!1,h)return e.destroy(h);e._stream||i()},s=function(){e._stream=null;var h=jie(e._header.size);h?e._parse(h,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(jie(e._header.size)),e._parse(512,g),i()},a=function(){var h=e._header.size;e._paxGlobal=Np.decodePax(r.slice(0,h)),r.consume(h),s()},l=function(){var h=e._header.size;e._pax=Np.decodePax(r.slice(0,h)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(h),s()},c=function(){var h=e._header.size;this._gnuLongPath=Np.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},u=function(){var h=e._header.size;this._gnuLongLinkPath=Np.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},g=function(){var h=e._offset,f;try{f=e._header=Np.decode(r.slice(0,512),t.filenameEncoding)}catch(p){e.emit("error",p)}if(r.consume(512),!f){e._parse(512,g),i();return}if(f.type==="gnu-long-path"){e._parse(f.size,c),i();return}if(f.type==="gnu-long-link-path"){e._parse(f.size,u),i();return}if(f.type==="pax-global-header"){e._parse(f.size,a),i();return}if(f.type==="pax-header"){e._parse(f.size,l),i();return}if(e._gnuLongPath&&(f.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(f.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=f=FGe(f,e._pax),e._pax=null),e._locked=!0,!f.size||f.type==="directory"){e._parse(512,g),e.emit("entry",f,vGe(e,h),n);return}e._stream=new Ky(e,h),e.emit("entry",f,e._stream,n),e._parse(f.size,s),i()};this._onheader=g,this._parse(512,g)};Kie.inherits(ao,Uie);ao.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};ao.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};ao.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=Yie,this._overflow?this._write(this._overflow,void 0,t):t()}};ao.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};ao.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Tie.exports=ao});var Jie=C((Gmt,qie)=>{qie.exports=require("fs").constants||require("constants")});var Zie=C((qmt,Wie)=>{var Bu=Jie(),zie=Q0(),Uy=ZA(),RGe=Buffer.alloc,Xie=Iu().Readable,wu=Iu().Writable,LGe=require("string_decoder").StringDecoder,Hy=FF(),MGe=parseInt("755",8),NGe=parseInt("644",8),Vie=RGe(1024),RF=function(){},LF=function(t,e){e&=511,e&&t.push(Vie.slice(0,512-e))};function OGe(t){switch(t&Bu.S_IFMT){case Bu.S_IFBLK:return"block-device";case Bu.S_IFCHR:return"character-device";case Bu.S_IFDIR:return"directory";case Bu.S_IFIFO:return"fifo";case Bu.S_IFLNK:return"symlink"}return"file"}var Yy=function(t){wu.call(this),this.written=0,this._to=t,this._destroyed=!1};Uy(Yy,wu);Yy.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Yy.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var jy=function(){wu.call(this),this.linkname="",this._decoder=new LGe("utf-8"),this._destroyed=!1};Uy(jy,wu);jy.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};jy.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Op=function(){wu.call(this),this._destroyed=!1};Uy(Op,wu);Op.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};Op.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var gs=function(t){if(!(this instanceof gs))return new gs(t);Xie.call(this,t),this._drain=RF,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Uy(gs,Xie);gs.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=RF);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=OGe(t.mode)),t.mode||(t.mode=t.type==="directory"?MGe:NGe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e))return t.size=e.length,this._encode(t),this.push(e),LF(i,t.size),process.nextTick(r),new Op;if(t.type==="symlink"&&!t.linkname){var n=new jy;return zie(n,function(o){if(o)return i.destroy(),r(o);t.linkname=n.linkname,i._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new Op;var s=new Yy(this);return this._stream=s,zie(s,function(o){if(i._stream=null,o)return i.destroy(),r(o);if(s.written!==t.size)return i.destroy(),r(new Error("size mismatch"));LF(i,t.size),i._finalizing&&i.finalize(),r()}),s}};gs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Vie),this.push(null))};gs.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};gs.prototype._encode=function(t){if(!t.pax){var e=Hy.encode(t);if(e){this.push(e);return}}this._encodePax(t)};gs.prototype._encodePax=function(t){var e=Hy.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Hy.encode(r)),this.push(e),LF(this,e.length),r.size=t.size,r.type=t.type,this.push(Hy.encode(r))};gs.prototype._read=function(t){var e=this._drain;this._drain=RF,e()};Wie.exports=gs});var _ie=C(MF=>{MF.extract=Gie();MF.pack=Zie()});var une=C((fIt,ane)=>{"use strict";var Qu=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=lne(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return HF(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):VGe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Qu(this.__specs,this.__opts,lne(this.__providers).concat(e)),Ane)}};try{let t=require("util");Qu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function ZGe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function HF(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))ZGe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=cne(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=cne(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function cne(t,e){let r;return e.__isFiggyPudding?r=HF(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Ane={has(t,e){return e in t.__specs&&HF(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Qu.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};ane.exports=_Ge;function _Ge(t,e){function r(...i){return new Proxy(new Qu(t,e,i),Ane)}return r}function lne(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function VGe(t){return Object.keys(t).map(e=>[e,t[e]])}});var fne=C((pIt,hs)=>{"use strict";var Kp=require("crypto"),$Ge=une(),eqe=require("stream").Transform,gne=["sha256","sha384","sha512"],tqe=/^[a-z0-9+/]+(?:=?=?)$/i,rqe=/^([^-]+)-([^?]+)([?\S*]*)$/,iqe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,nqe=/^[\x21-\x7E]+$/,Ai=$Ge({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>sqe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),rl=class{get isHash(){return!0}constructor(e,r){r=Ai(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?iqe:rqe);if(!n||i&&!gne.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Ai(e),e.strict&&!(gne.some(i=>i===this.algorithm)&&this.digest.match(tqe)&&(this.options||[]).every(i=>i.match(nqe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},bu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Ai(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>rl.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=Ai(r);let i=typeof e=="string"?e:Up(e,r);return fs(`${this.toString(r)} ${i}`,r)}hexDigest(){return fs(this,{single:!0}).hexDigest()}match(e,r){r=Ai(r);let i=fs(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Ai(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};hs.exports.parse=fs;function fs(t,e){if(e=Ai(e),typeof t=="string")return YF(t,e);if(t.algorithm&&t.digest){let r=new bu;return r[t.algorithm]=[t],YF(Up(r,e),e)}else return YF(Up(t,e),e)}function YF(t,e){return e.single?new rl(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new rl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new bu)}hs.exports.stringify=Up;function Up(t,e){return e=Ai(e),t.algorithm&&t.digest?rl.prototype.toString.call(t,e):typeof t=="string"?Up(fs(t,e),e):bu.prototype.toString.call(t,e)}hs.exports.fromHex=oqe;function oqe(t,e,r){r=Ai(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return fs(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}hs.exports.fromData=aqe;function aqe(t,e){e=Ai(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Kp.createHash(s).update(t).digest("base64"),a=new rl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new bu)}hs.exports.fromStream=Aqe;function Aqe(t,e){e=Ai(e);let r=e.Promise||Promise,i=jF(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}hs.exports.checkData=lqe;function lqe(t,e,r){if(r=Ai(r),e=fs(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=Kp.createHash(i).update(t).digest("base64"),s=fs({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. - Wanted: ${r.size} - Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}hs.exports.checkStream=cqe;function cqe(t,e,r){r=Ai(r);let i=r.Promise||Promise,n=jF(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}hs.exports.integrityStream=jF;function jF(t){t=Ai(t);let e=t.integrity&&fs(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Kp.createHash),a=0,l=new eqe({transform(c,u,g){a+=c.length,o.forEach(h=>h.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=fs(o.map((h,f)=>`${s[f]}-${h.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let h=new Error(`stream size mismatch when checking ${e}. - Wanted: ${t.size} - Found: ${a}`);h.code="EBADSIZE",h.found=a,h.expected=t.size,h.sri=e,l.emit("error",h)}else if(t.integrity&&!g){let h=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);h.code="EINTEGRITY",h.found=u,h.expected=n,h.algorithm=i,h.sri=e,l.emit("error",h)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}hs.exports.create=uqe;function uqe(t){t=Ai(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Kp.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new rl(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new bu)}}}var gqe=new Set(Kp.getHashes()),hne=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>gqe.has(t));function sqe(t,e){return hne.indexOf(t.toLowerCase())>=hne.indexOf(e.toLowerCase())?t:e}});var af={};We(af,{BuildType:()=>Ki,Cache:()=>lt,Configuration:()=>oe,DEFAULT_LOCK_FILENAME:()=>_S,DEFAULT_RC_FILENAME:()=>ZS,FormatType:()=>kA,LightReport:()=>zs,LinkType:()=>nt,Manifest:()=>je,MessageName:()=>J,PackageExtensionStatus:()=>Or,PackageExtensionType:()=>yr,Project:()=>ke,ProjectLookup:()=>_o,Report:()=>ti,ReportError:()=>Ge,SettingsType:()=>Ae,StreamReport:()=>we,TAG_REGEXP:()=>bc,TelemetryManager:()=>of,ThrowReport:()=>mr,VirtualFetcher:()=>Yh,Workspace:()=>sf,WorkspaceResolver:()=>ai,YarnVersion:()=>Mi,execUtils:()=>ur,folderUtils:()=>WB,formatUtils:()=>se,hashUtils:()=>pi,httpUtils:()=>Mt,miscUtils:()=>he,scriptUtils:()=>Et,semverUtils:()=>St,structUtils:()=>b,tgzUtils:()=>Ar,treeUtils:()=>vn});var ur={};We(ur,{EndStrategy:()=>Wi,execvp:()=>roe,pipevp:()=>ws});var tg={};We(tg,{AliasFS:()=>xa,CwdFS:()=>Ct,DEFAULT_COMPRESSION_LEVEL:()=>Pa,FakeFS:()=>yn,Filename:()=>ft,JailFS:()=>ys,LazyFS:()=>Vu,LinkStrategy:()=>Gu,NoFS:()=>Yd,NodeFS:()=>It,PortablePath:()=>pe,PosixFS:()=>Zu,ProxiedFS:()=>cr,VirtualFS:()=>_t,ZipFS:()=>Er,ZipOpenFS:()=>Ji,extendFs:()=>Gd,normalizeLineEndings:()=>ll,npath:()=>npath,opendir:()=>Qa,patchFs:()=>eg,ppath:()=>w,statUtils:()=>EB,toFilename:()=>Ut,xfs:()=>R});var EB={};We(EB,{BigIntStatsEntry:()=>Hu,DirEntry:()=>mR,StatEntry:()=>Eo,areStatsEqual:()=>BB,clearStats:()=>Ld,convertToBigIntStats:()=>Md,makeDefaultStats:()=>Yu,makeEmptyStats:()=>Cse});var yB=X(require("util"));var Gi=61440,mo=16384,Es=32768,Io=40960;var mR=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Gi)===mo}isFIFO(){return!1}isFile(){return(this.mode&Gi)===Es}isSocket(){return!1}isSymbolicLink(){return(this.mode&Gi)===Io}},Eo=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Es|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Gi)===mo}isFIFO(){return!1}isFile(){return(this.mode&Gi)===Es}isSocket(){return!1}isSymbolicLink(){return(this.mode&Gi)===Io}},Hu=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Es|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(Gi))===BigInt(mo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(Gi))===BigInt(Es)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(Gi))===BigInt(Io)}};function Yu(){return new Eo}function Cse(){return Ld(Yu())}function Ld(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):yB.types.isDate(r)&&(t[e]=new Date(0))}return t}function Md(t){let e=new Hu;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):yB.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function BB(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var Od=X(require("fs"));var ju=X(require("path")),IR;(function(t){t[t.File=0]="File",t[t.Portable=1]="Portable",t[t.Native=2]="Native"})(IR||(IR={}));var pe={root:"/",dot:"."},ft={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},npath=Object.create(ju.default),w=Object.create(ju.default.posix);npath.cwd=()=>process.cwd();w.cwd=()=>wB(process.cwd());w.resolve=(...t)=>t.length>0&&w.isAbsolute(t[0])?ju.default.posix.resolve(...t):ju.default.posix.resolve(w.cwd(),...t);var ER=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};npath.fromPortablePath=yR;npath.toPortablePath=wB;npath.contains=(t,e)=>ER(npath,t,e);w.contains=(t,e)=>ER(w,t,e);var BR=/^([a-zA-Z]:.*)$/,wR=/^\\\\(\.\\)?(.*)$/,QR=/^\/([a-zA-Z]:.*)$/,bR=/^\/unc\/(\.dot\/)?(.*)$/;function yR(t){if(process.platform!=="win32")return t;if(t.match(QR))t=t.replace(QR,"$1");else if(t.match(bR))t=t.replace(bR,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function wB(t){return process.platform!=="win32"?t:(t.match(BR)?t=t.replace(BR,"/$1"):t.match(wR)&&(t=t.replace(wR,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function Nd(t,e){return t===npath?yR(e):wB(e)}function Ut(t){if(npath.parse(t).dir!==""||w.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var DR=new Date(315532800*1e3),Gu;(function(t){t.Allow="allow",t.ReadOnly="readOnly"})(Gu||(Gu={}));async function SR(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await QB(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function QB(t,e,r,i,n,s,o,a){var h,f;let l=await mse(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:DR,atime:DR}:c,g;switch(!0){case c.isDirectory():g=await Ise(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await Ese(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await yse(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==u.mtime.getTime()||((f=l==null?void 0:l.atime)==null?void 0:f.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function mse(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Ise(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let h of g.sort())await QB(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)&&(u=!0);else(await Promise.all(g.map(async f=>{await QB(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)}))).some(f=>f)&&(u=!0);return u}var bB=new WeakMap;function DB(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===Gu.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Bse(t,e,r,i,n){let s=bB.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,Od.default.constants.COPYFILE_FICLONE_FORCE),bB.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")bB.set(t,!1),await DB(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,Od.default.constants.COPYFILE_FICLONE_FORCE):DB(t,e,r,i,n)}async function Ese(t,e,r,i,n,s,o,a,l,c){var h;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(h=c.linkStrategy)!=null?h:null,g=i===o?u!==null?Bse(i,n,a,l,u):async()=>i.copyFilePromise(a,n,Od.default.constants.COPYFILE_FICLONE):u!==null?DB(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function yse(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(Nd(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function qi(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function Td(t){return qi("EBUSY",t)}function qu(t,e){return qi("ENOSYS",`${t}, ${e}`)}function yo(t){return qi("EINVAL",`invalid argument, ${t}`)}function Wr(t){return qi("EBADF",`bad file descriptor, ${t}`)}function En(t){return qi("ENOENT",`no such file or directory, ${t}`)}function Un(t){return qi("ENOTDIR",`not a directory, ${t}`)}function Ju(t){return qi("EISDIR",`illegal operation on a directory, ${t}`)}function Kd(t){return qi("EEXIST",`file already exists, ${t}`)}function gi(t){return qi("EROFS",`read-only filesystem, ${t}`)}function PR(t){return qi("ENOTEMPTY",`directory not empty, ${t}`)}function xR(t){return qi("EOPNOTSUPP",`operation not supported, ${t}`)}function kR(){return qi("ERR_DIR_CLOSED","Directory handle was closed")}var SB=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var vR=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw kR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function Qa(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new vR(e,n,i)}var FR=X(require("os"));var yn=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} -`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} -`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};yn.DEFAULT_TIME=315532800;var ba=class extends yn{constructor(){super(w)}};function wse(t){let e=t.match(/\r?\n/g);if(e===null)return FR.EOL;let r=e.filter(n=>n===`\r -`).length,i=e.length-r;return r>i?`\r -`:` -`}function ll(t,e){return e.replace(/\r?\n/g,wse(t))}var cl=X(require("fs")),PB=X(require("stream")),NR=X(require("util")),xB=X(require("zlib"));var RR=X(require("fs"));var It=class extends ba{constructor(e=RR.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return pe.root}resolve(e){return w.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(npath.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(npath.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(npath.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(npath.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(npath.fromPortablePath(e),r):this.realFs.opendirSync(npath.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?npath.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?npath.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(npath.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>npath.toPortablePath(r))}realpathSync(e){return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(npath.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(npath.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(npath.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(npath.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(npath.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(npath.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(npath.fromPortablePath(e),r):this.realFs.statSync(npath.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(npath.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(npath.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(npath.fromPortablePath(e),r):this.realFs.lstatSync(npath.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(npath.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(npath.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(npath.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(npath.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(npath.fromPortablePath(e),npath.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(npath.fromPortablePath(e),npath.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(npath.fromPortablePath(e),npath.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(npath.fromPortablePath(e),npath.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?npath.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?npath.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?npath.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?npath.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(npath.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(npath.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(npath.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(npath.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw qu("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,npath.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw qu("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,npath.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(npath.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(npath.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(npath.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(npath.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(npath.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(npath.fromPortablePath(e),npath.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(npath.fromPortablePath(e),npath.fromPortablePath(r))}async symlinkPromise(e,r,i){let n=i||(e.endsWith("/")?"dir":"file");return await new Promise((s,o)=>{this.realFs.symlink(npath.fromPortablePath(e.replace(/\/+$/,"")),npath.fromPortablePath(r),n,this.makeCallback(s,o))})}symlinkSync(e,r,i){let n=i||(e.endsWith("/")?"dir":"file");return this.realFs.symlinkSync(npath.fromPortablePath(e.replace(/\/+$/,"")),npath.fromPortablePath(r),n)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?npath.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?npath.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,{withFileTypes:r}={}){return await new Promise((i,n)=>{r?this.realFs.readdir(npath.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(npath.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,{withFileTypes:r}={}){return r?this.realFs.readdirSync(npath.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(npath.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(npath.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>npath.toPortablePath(r))}readlinkSync(e){return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(npath.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(npath.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(npath.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(npath.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(npath.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var LR=X(require("events"));var Da;(function(t){t.Change="change",t.Stop="stop"})(Da||(Da={}));var Sa;(function(t){t.Ready="ready",t.Running="running",t.Stopped="stopped"})(Sa||(Sa={}));function MR(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Wu=class extends LR.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=Sa.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new Wu(e,r,i);return n.start(),n}start(){MR(this.status,Sa.Ready),this.status=Sa.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(Da.Change,this.lastStats,this.lastStats)},3)}stop(){MR(this.status,Sa.Running),this.status=Sa.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(Da.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new Hu:new Eo;return Ld(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;BB(i,n)||(this.lastStats=i,this.emit(Da.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(Da.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(Da.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var Ud=new WeakMap;function Hd(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=Ud.get(t);typeof l=="undefined"&&Ud.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Wu.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function zu(t,e,r){let i=Ud.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Xu(t){let e=Ud.get(t);if(typeof e!="undefined")for(let r of e.keys())zu(t,r)}var Pa="mixed";function Qse(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if(NR.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}var Er=class extends ba{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:Pa,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new It}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Yu();else throw o}else this.stats=Yu();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(npath.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(pe.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw Td("archive closed, close");Xu(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)?this.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return w.resolve(pe.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Un(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return Qa(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Wr("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?Wr("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Wr("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new PB.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw gi(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new PB.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw En(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw Td(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=w.resolve(pe.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=cl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`access '${e}'`);if(this.readOnly&&r&cl.constants.W_OK)throw gi(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Un(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw Wr("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw En(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Un(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Un(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),h=(this.libzip.struct.statMtime(s)>>>0)*1e3,f=h,p=h,m=h,I=new Date(f),y=new Date(p),B=new Date(m),P=new Date(h),k=this.listings.has(r)?mo:this.isSymbolicLink(n)?Io:Es,N=k===mo?493:420,O=k|this.getUnixMode(n,N)&511,v=this.libzip.struct.statCrc(s),U=Object.assign(new Eo,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:B,mtime:P,atimeMs:f,birthtimeMs:p,ctimeMs:m,mtimeMs:h,mode:O,crc:v});return i.bigint===!0?Md(U):U}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,h=this.stats.mtimeMs,f=this.stats.mtimeMs,p=new Date(u),m=new Date(g),I=new Date(h),y=new Date(f),B=mo|493,P=0,k=Object.assign(new Eo,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:h,mtimeMs:f,mode:B,crc:P});return i.bigint===!0?Md(k):k}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(w.dirname(e));return r=new Set,i.add(w.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(w.dirname(e)).add(w.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(w.dirname(e));r==null||r.delete(w.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw Td(`archive closed, ${e}`);let n=w.resolve(pe.root,r);if(n==="/")return pe.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,w.resolve(w.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,w.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw En(e);if(!a)throw Un(e);if(n=w.resolve(o,w.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=w.resolve(w.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=w.relative(pe.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&Gi)===Io}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),h=Buffer.from(g);if(a===0)return this.fileSources.set(e,h),h;if(r.asyncDecompress)return new Promise((f,p)=>{xB.default.inflateRaw(h,(m,I)=>{m?p(m):(this.fileSources.set(e,I),f(I))})});{let f=xB.default.inflateRawSync(h);return this.fileSources.set(e,f),f}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw gi(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Es|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw gi(`copyfile '${e} -> '${r}'`);if((i&cl.constants.COPYFILE_FICLONE_FORCE)!=0)throw qu("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw yo(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(cl.constants.COPYFILE_EXCL|cl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw Kd(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw gi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i={flag:"a",...i}),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw gi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i={flag:"a",...i}),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw Wr("read");if(this.readOnly)throw gi(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Ju(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw gi(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Ju(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw yo(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw gi(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw gi(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,Qse(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw gi(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw Kd(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw gi(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Un(`rmdir '${e}'`);if(n.size>0)throw PR(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw yo(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,w.relative(pe.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw xR(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw gi(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Ju(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw Kd(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Io|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Un(`open '${e}'`);if(this.listings.has(i))throw Ju("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,{withFileTypes:r}={}){return this.readdirSync(e,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw En(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Un(`scandir '${e}'`);let s=[...n];return r?s.map(o=>Object.assign(this.statImpl("lstat",w.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw En(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Un(`open '${e}'`);if(this.listings.has(r))throw yo(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw yo(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw yo(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw yo(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=this.resolveFilename(`open '${e}'`,e);return Hd(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return zu(this,i,r)}};var cr=class extends yn{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){return this.baseFs.symlinkPromise(this.mapToBase(e),this.mapToBase(r),i)}symlinkSync(e,r,i){return this.baseFs.symlinkSync(this.mapToBase(e),this.mapToBase(r),i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,{withFileTypes:r}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:r})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var xa=class extends cr{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var Ct=class extends cr{constructor(e,{baseFs:r=new It}={}){super(w);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?w.normalize(e):this.baseFs.resolve(w.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var OR=pe.root,ys=class extends cr{constructor(e,{baseFs:r=new It}={}){super(w);this.target=this.pathUtils.resolve(pe.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(pe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(OR,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(OR,this.pathUtils.relative(this.target,e))}};var Vu=class extends cr{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var Oe=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),kB=class extends yn{constructor(){super(w)}getExtractHint(){throw Oe()}getRealPath(){throw Oe()}resolve(){throw Oe()}async openPromise(){throw Oe()}openSync(){throw Oe()}async opendirPromise(){throw Oe()}opendirSync(){throw Oe()}async readPromise(){throw Oe()}readSync(){throw Oe()}async writePromise(){throw Oe()}writeSync(){throw Oe()}async closePromise(){throw Oe()}closeSync(){throw Oe()}createWriteStream(){throw Oe()}createReadStream(){throw Oe()}async realpathPromise(){throw Oe()}realpathSync(){throw Oe()}async readdirPromise(){throw Oe()}readdirSync(){throw Oe()}async existsPromise(e){throw Oe()}existsSync(e){throw Oe()}async accessPromise(){throw Oe()}accessSync(){throw Oe()}async statPromise(){throw Oe()}statSync(){throw Oe()}async fstatPromise(e){throw Oe()}fstatSync(e){throw Oe()}async lstatPromise(e){throw Oe()}lstatSync(e){throw Oe()}async chmodPromise(){throw Oe()}chmodSync(){throw Oe()}async chownPromise(){throw Oe()}chownSync(){throw Oe()}async mkdirPromise(){throw Oe()}mkdirSync(){throw Oe()}async rmdirPromise(){throw Oe()}rmdirSync(){throw Oe()}async linkPromise(){throw Oe()}linkSync(){throw Oe()}async symlinkPromise(){throw Oe()}symlinkSync(){throw Oe()}async renamePromise(){throw Oe()}renameSync(){throw Oe()}async copyFilePromise(){throw Oe()}copyFileSync(){throw Oe()}async appendFilePromise(){throw Oe()}appendFileSync(){throw Oe()}async writeFilePromise(){throw Oe()}writeFileSync(){throw Oe()}async unlinkPromise(){throw Oe()}unlinkSync(){throw Oe()}async utimesPromise(){throw Oe()}utimesSync(){throw Oe()}async readFilePromise(){throw Oe()}readFileSync(){throw Oe()}async readlinkPromise(){throw Oe()}readlinkSync(){throw Oe()}async truncatePromise(){throw Oe()}truncateSync(){throw Oe()}watch(){throw Oe()}watchFile(){throw Oe()}unwatchFile(){throw Oe()}},Yd=kB;Yd.instance=new kB;var Zu=class extends cr{constructor(e){super(npath);this.baseFs=e}mapFromBase(e){return npath.fromPortablePath(e)}mapToBase(e){return npath.toPortablePath(e)}};var bse=/^[0-9]+$/,vB=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Dse=/^([^/]+-)?[a-f0-9]+$/,_t=class extends cr{static makeVirtualPath(e,r,i){if(w.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!w.basename(r).match(Dse))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=w.relative(w.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(TR);if(e<=0||t[e-1]===w.sep)return null;let r=e+TR.length;return t.length>r&&t[r]!==w.sep?null:t.slice(0,r)},Ji=class extends ba{constructor({libzip:e,baseFs:r=new It,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzip=e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a}static async openPromise(e,r){let i=new Ji(r);try{return await e(i)}finally{i.saveAndClose()}}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Xu(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(Xu(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Bs;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Bs)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Wr("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Bs)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Wr("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Bs)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Wr("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Bs)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Wr("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Bs)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Wr("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Bs)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Wr("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(pe.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(pe.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Bs)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Wr("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Bs)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Wr("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&_u.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&_u.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&_u.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&_u.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,{withFileTypes:r}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:r}),async(i,{subPath:n})=>await i.readdirPromise(n,{withFileTypes:r}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:r}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:r}),(i,{subPath:n})=>i.readdirSync(n,{withFileTypes:r}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>Hd(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>zu(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=Sse(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(pe.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Er(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Er(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Er(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Er(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var $u=X(require("util"));var jd=X(require("url"));var FB=class extends cr{constructor(e){super(npath);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof jd.URL?jd.fileURLToPath(e):e}};var Pse=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),KR=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),xse=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function eg(t,e){e=new FB(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[$u.promisify.custom])!="undefined"&&(s[$u.promisify.custom]=o[$u.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l)})})});for(let i of KR){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of Pse){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of KR){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of xse){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[$u.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function Gd(t,e){let r=Object.create(t);return eg(r,e),r}var UR=X(require("os"));function HR(t){let e=npath.toPortablePath(UR.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return w.join(e,`${t}${r}`)}var Bn=new Set,YR=!1;function jR(){YR||(YR=!0,process.once("exit",()=>{R.rmtempSync()}))}var R=Object.assign(new It,{detachTemp(t){Bn.delete(t)},mktempSync(t){for(jR();;){let e=HR("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(Bn.add(r),typeof t!="undefined")try{return t(r)}finally{if(Bn.has(r)){Bn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(jR();;){let e=HR("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(Bn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(Bn.has(r)){Bn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(Bn.values()).map(async t=>{try{await R.removePromise(t,{maxRetries:0}),Bn.delete(t)}catch{}}))},rmtempSync(){for(let t of Bn)try{R.removeSync(t),Bn.delete(t)}catch{}}});var jB=X(YB()),Wi;(function(t){t[t.Never=0]="Never",t[t.ErrorCode=1]="ErrorCode",t[t.Always=2]="Always"})(Wi||(Wi={}));function ka(t){return t!==null&&typeof t.fd=="number"}var va=new Set;function GB(){}function qB(){for(let t of va)t.kill()}async function ws(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":ka(s)&&(c[0]=s),ka(o)&&(c[1]=o),ka(a)&&(c[2]=a);let u=jB.default(t,e,{cwd:npath.fromPortablePath(r),env:{...i,PWD:npath.fromPortablePath(r)},stdio:c});va.add(u),va.size===1&&(process.on("SIGINT",GB),process.on("SIGTERM",qB)),!ka(s)&&s!==null&&s.pipe(u.stdin),ka(o)||u.stdout.pipe(o,{end:!1}),ka(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let h of new Set([o,a]))ka(h)||h.end()};return new Promise((h,f)=>{u.on("error",p=>{va.delete(u),va.size===0&&(process.off("SIGINT",GB),process.off("SIGTERM",qB)),(l===2||l===1)&&g(),f(p)}),u.on("close",(p,m)=>{va.delete(u),va.size===0&&(process.off("SIGINT",GB),process.off("SIGTERM",qB)),(l===2||l===1&&p>0)&&g(),p===0||!n?h({code:JB(p,m)}):f(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function roe(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=npath.fromPortablePath(r);typeof i.PWD!="undefined"&&(i={...i,PWD:c});let u=jB.default(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,h)=>{u.on("error",()=>{h()}),u.on("close",(f,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);f===0||!s?g({code:JB(f,p),stdout:m,stderr:I}):h(Object.assign(new Error(`Child "${t}" exited with exit code ${f} - -${I}`),{code:JB(f,p),stdout:m,stderr:I}))})})}var ioe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function JB(t,e){let r=ioe.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var WB={};We(WB,{getDefaultGlobalFolder:()=>XB,getHomeFolder:()=>rg,isFolderInside:()=>VB});var zB=X(require("os"));function XB(){if(process.platform==="win32"){let t=npath.toPortablePath(process.env.LOCALAPPDATA||npath.join(zB.homedir(),"AppData","Local"));return w.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=npath.toPortablePath(process.env.XDG_DATA_HOME);return w.resolve(t,"yarn/berry")}return w.resolve(rg(),".yarn/berry")}function rg(){return npath.toPortablePath(zB.homedir()||"/usr/local/share")}function VB(t,e){let r=w.relative(e,t);return r&&!r.startsWith("..")&&!w.isAbsolute(r)}var se={};We(se,{LogLevel:()=>Dn,Style:()=>qa,Type:()=>be,addLogFilterSupport:()=>jg,applyColor:()=>Li,applyHyperlink:()=>Ml,applyStyle:()=>$C,json:()=>Nl,mark:()=>ZQ,pretty:()=>Ue,prettyField:()=>Wa,prettyList:()=>A0,supportsColor:()=>ZC,supportsHyperlinks:()=>o0,tuple:()=>Ja});var Yg=X(AM()),dU=X(og()),CU=X(dM());var J;(function(t){t[t.UNNAMED=0]="UNNAMED",t[t.EXCEPTION=1]="EXCEPTION",t[t.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",t[t.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",t[t.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",t[t.BUILD_DISABLED=5]="BUILD_DISABLED",t[t.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",t[t.MUST_BUILD=7]="MUST_BUILD",t[t.MUST_REBUILD=8]="MUST_REBUILD",t[t.BUILD_FAILED=9]="BUILD_FAILED",t[t.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",t[t.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",t[t.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",t[t.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",t[t.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",t[t.REMOTE_INVALID=15]="REMOTE_INVALID",t[t.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",t[t.RESOLUTION_PACK=17]="RESOLUTION_PACK",t[t.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",t[t.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",t[t.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",t[t.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",t[t.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",t[t.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",t[t.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",t[t.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",t[t.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",t[t.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",t[t.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",t[t.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",t[t.FETCH_FAILED=30]="FETCH_FAILED",t[t.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",t[t.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",t[t.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",t[t.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",t[t.NETWORK_ERROR=35]="NETWORK_ERROR",t[t.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",t[t.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",t[t.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",t[t.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",t[t.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",t[t.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",t[t.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",t[t.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",t[t.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",t[t.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",t[t.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",t[t.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",t[t.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",t[t.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",t[t.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",t[t.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",t[t.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",t[t.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",t[t.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",t[t.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",t[t.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",t[t.INVALID_MANIFEST=57]="INVALID_MANIFEST",t[t.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",t[t.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",t[t.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",t[t.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",t[t.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",t[t.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",t[t.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",t[t.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",t[t.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",t[t.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",t[t.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",t[t.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",t[t.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",t[t.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",t[t.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED"})(J||(J={}));function Vd(t){return`YN${t.toString(10).padStart(4,"0")}`}var fg={};We(fg,{Builtins:()=>dw,Cli:()=>jn,Command:()=>ce,Option:()=>j,UsageError:()=>UsageError});var Fa=0,ag=1,zr=2,ow="",Dr="\0",Cl=-1,aw=/^(-h|--help)(?:=([0-9]+))?$/,Zd=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,CM=/^-[a-zA-Z]{2,}$/,Aw=/^([^=]+)=([\s\S]*)$/,mM=process.env.DEBUG_CLI==="1";var UsageError=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ag=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} - -${this.candidates.map(({usage:n})=>`$ ${n}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${i} -${lw(e)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${lw(e)}`}},cw=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${lw(e)}`}},lw=t=>`While running ${t.filter(e=>e!==Dr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var lg=Symbol("clipanion/isOption");function Xr(t){return{...t,[lg]:!0}}function Yn(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function _d(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function cg(t,e){return e.length===1?new UsageError(`${t}: ${_d(e[0],!0)}`):new UsageError(`${t}: -${e.map(r=>` -- ${_d(r)}`).join("")}`)}function $d(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw cg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var ce=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>X(Qo())),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw cg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};ce.isOption=lg;ce.Default=[];function hi(t){mM&&console.log(t)}var PM={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Cl};function xM(){return{nodes:[Vr(),Vr(),Vr()]}}function mae(t){let e=xM(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:h})=>g.to===h)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(Fa)}function Eae(t,{prefix:e=""}={}){hi(`${e}Nodes are:`);for(let r=0;rl!==zr).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===zr))throw new Ag(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=yae(a)}if(i.length>0){hi(" Results:");for(let s of i)hi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else hi(" No results");return i}function Bae(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Dr)){for(let{to:r}of t.statics[Dr])if(r===ag)return!0}return!1}function Qae(t,e,r){let i=r&&e.length>0?[""]:[],n=vM(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let f=g;g=[];for(let p of f){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let B=I[0];for(let{to:P,reducer:k}of m.statics[B])k==="pushPath"&&(u||l.push(B),g.push(P))}}u=!1}let h=JSON.stringify(l);o.has(h)||(s.push(l),o.add(h))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=Bae(u,c);for(let[h,f]of Object.entries(u.statics))(g&&h!==Dr||!h.startsWith("-")&&f.some(({reducer:p})=>p==="pushPath"))&&a([...i,h],l);if(!!g)for(let[h,{to:f}]of u.dynamics){if(f===zr)continue;let p=wae(h,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function Dae(t,e){let r=vM(t,[...e,Dr]);return bae(e,r.map(({state:i})=>i))}function yae(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function bae(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(h=>h.some(f=>g.options.find(p=>p.name===f))));if(i.length===0)throw new Ag(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:h})=>!h).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=Sae(c);if(u.length>1)throw new cw(t,u.map(g=>g.candidateUsage));return u[0]}function Sae(t){let e=[],r=[];for(let i of t)i.selectedIndex===Cl?r.push(i):e.push(i);return r.length>0&&e.push({...PM,path:FM(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])}),e}function FM(t,e,...r){return e===void 0?Array.from(t):FM(t.filter((i,n)=>i===e[n]),...r)}function Vr(){return{dynamics:[],shortcuts:[],statics:{}}}function kM(t){return t===ag||t===zr}function hw(t,e=0){return{to:kM(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function Cae(t,e=0){let r=Vr();for(let[i,n]of t.dynamics)r.dynamics.push([i,hw(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(hw(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>hw(s,e));return r}function Sr(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function ml(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Qs(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function tC(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function wae(t,e){let r=Array.isArray(t)?rC[t[0]]:rC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var rC={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&CM.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(Aw);return!t.ignoreOptions&&!!n&&Zd.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&aw.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&Zd.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!Zd.test(e)};rC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var gw={setCandidateState:(t,e,r)=>({...t,...r}),setSelectedIndex:(t,e,r)=>({...t,selectedIndex:r}),pushBatch:(t,e)=>({...t,options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(Aw);return{...t,options:t.options.concat({name:r,value:i})}},pushPath:(t,e)=>({...t,path:t.path.concat(e)}),pushPositional:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:vi})}),pushTrue:(t,e,r=e)=>({...t,options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>({...t,options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>({...t,options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i={...t,options:[...t.options]},n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r={...t,options:[...t.options]},i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(aw);return typeof i!="undefined"?{...t,options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}:{...t,options:[{name:"-c",value:String(r)}]}},setError:(t,e,r)=>e===Dr?{...t,errorMessage:`${r}.`}:{...t,errorMessage:`${r} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},vi=Symbol(),RM=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===vi)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==vi?this.arity.extra.push(e):this.arity.extra!==vi&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===vi)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let f=0;f`:`[${h}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===vi?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=xM(),r=Fa,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=wn(e,Vr()),Qs(e,Fa,ow,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let h=wn(e,Vr());ml(e,l,h),this.registerOptions(e,h),l=h}for(let h=0;h0||!this.arity.proxy){let h=wn(e,Vr());Sr(e,l,"isHelp",h,["useHelp",this.cliIndex]),Qs(e,h,Dr,ag,["setSelectedIndex",Cl]),this.registerOptions(e,l)}this.arity.leading.length>0&&Qs(e,l,Dr,zr,["setError","Not enough positional arguments"]);let c=l;for(let h=0;h0||h+1!==this.arity.leading.length)&&Qs(e,f,Dr,zr,["setError","Not enough positional arguments"]),Sr(e,c,"isNotOptionLike",f,"pushPositional"),c=f}let u=c;if(this.arity.extra===vi||this.arity.extra.length>0){let h=wn(e,Vr());if(ml(e,c,h),this.arity.extra===vi){let f=wn(e,Vr());this.arity.proxy||this.registerOptions(e,f),Sr(e,c,s,f,"pushExtraNoLimits"),Sr(e,f,s,f,"pushExtraNoLimits"),ml(e,f,h)}else for(let f=0;f0&&Qs(e,u,Dr,zr,["setError","Not enough positional arguments"]);let g=u;for(let h=0;ho.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Sr(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Sr(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=wn(e,Vr());for(let o of i.names)Sr(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eDae(i,n),suggest:(n,s)=>Qae(i,n,s)}}};var LM=80,fw=Array(LM).fill("\u2501");for(let t=0;t<=24;++t)fw[fw.length-t]=`[38;5;${232+t}m\u2501`;var pw={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},MM={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function Xi(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` -`),t=t.replace(/^[\t ]+|[\t ]+$/gm,""),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^-([^\n]*?)\n+/gm,`-$1 - -`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^[*-][\t ]+(.*)/);return n?n[1].match(/(.{1,78})(?: |$)/g).map((s,o)=>(o===0?"- ":" ")+s).join(` -`):i.match(/(.{1,80})(?: |$)/g).join(` -`)}).join(` - -`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} -`:""}var hg=class extends ce{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new hg(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var NM=Symbol("clipanion/errorCommand");function Pae(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var jn=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=Pae()}={}){this.registrations=new Map,this.builder=new gg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new jn(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ce.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Cl:return hg.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[NM]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,{...r,...o}),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Xi(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Xi(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Xi(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([h,f])=>[Xi(h,{format:this.format(e),paragraphs:!1}),f.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){let s=e!==null&&e instanceof ce?e.constructor:e,o="";if(s)if(i){let{description:a="",details:l="",examples:c=[]}=s.usage||{};a!==""&&(o+=Xi(a,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),o+=` -`),(l!==""||c.length>0)&&(o+=`${this.format(r).header("Usage")} -`,o+=` -`);let{usage:u,options:g}=this.getUsageByRegistration(s,{inlineOptions:!1});if(o+=`${this.format(r).bold(n)}${u} -`,g.length>0){o+=` -`,o+=`${pw.header("Options")} -`;let h=g.reduce((f,p)=>Math.max(f,p.definition.length),0);o+=` -`;for(let{definition:f,description:p}of g)o+=` ${this.format(r).bold(f.padEnd(h))} ${Xi(p,{format:this.format(r),paragraphs:!1})}`}if(l!==""&&(o+=` -`,o+=`${this.format(r).header("Details")} -`,o+=` -`,o+=Xi(l,{format:this.format(r),paragraphs:!0})),c.length>0){o+=` -`,o+=`${this.format(r).header("Examples")} -`;for(let[h,f]of c)o+=` -`,o+=Xi(h,{format:this.format(r),paragraphs:!1}),o+=`${f.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:a}=this.getUsageByRegistration(s);o+=`${this.format(r).bold(n)}${a} -`}else{let a=new Map;for(let[g,{index:h}]of this.registrations.entries()){if(typeof g.usage=="undefined")continue;let f=typeof g.usage.category!="undefined"?Xi(g.usage.category,{format:this.format(r),paragraphs:!1}):null,p=a.get(f);typeof p=="undefined"&&a.set(f,p=[]);let{usage:m}=this.getUsageByIndex(h);p.push({commandClass:g,usage:m})}let l=Array.from(a.keys()).sort((g,h)=>g===null?-1:h===null?1:g.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),c=typeof this.binaryLabel!="undefined",u=typeof this.binaryVersion!="undefined";c||u?(c&&u?o+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:c?o+=`${this.format(r).header(`${this.binaryLabel}`)} -`:o+=`${this.format(r).header(`${this.binaryVersion}`)} -`,o+=` ${this.format(r).bold(n)}${this.binaryName} -`):o+=`${this.format(r).bold(n)}${this.binaryName} -`;for(let g of l){let h=a.get(g).slice().sort((p,m)=>p.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),f=g!==null?g.trim():"General commands";o+=` -`,o+=`${this.format(r).header(`${f}`)} -`;for(let{commandClass:p,usage:m}of h){let I=p.usage.description||"undocumented";o+=` -`,o+=` ${this.format(r).bold(m)} -`,o+=` ${Xi(I,{format:this.format(r),paragraphs:!1})}`}}o+=` -`,o+=Xi("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return o}error(e,r){var i,{colored:n,command:s=(i=e[NM])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} -`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` -`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?pw:MM}};jn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var dw={};We(dw,{DefinitionsCommand:()=>iC,HelpCommand:()=>nC,VersionCommand:()=>sC});var iC=class extends ce{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};iC.path=[["--clipanion=definitions"]];var nC=class extends ce{async execute(){this.context.stdout.write(this.cli.usage(null))}};nC.paths=[["-h"],["--help"]];var sC=class extends ce{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};sC.paths=[["-v"],["--version"]];var j={};We(j,{Array:()=>OM,Boolean:()=>TM,Counter:()=>KM,Proxy:()=>UM,Rest:()=>HM,String:()=>YM,applyValidator:()=>$d,cleanValidationError:()=>_d,formatError:()=>cg,isOptionSymbol:()=>lg,makeCommandOption:()=>Xr,rerouteArguments:()=>Yn});function OM(t,e,r){let[i,n]=Yn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return Xr({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:h,value:f}of u.options)!a.has(h)||(g=g!=null?g:[],g.push(f));return g}})}function TM(t,e,r){let[i,n]=Yn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return Xr({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u=h);return u}})}function KM(t,e,r){let[i,n]=Yn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return Xr({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u!=null||(u=0),h?u+=1:u=0);return u}})}function UM(t={}){return Xr({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function HM(t={}){return Xr({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===vi||a.extra===!1&&oo)}})}function xae(t,e,r){let[i,n]=Yn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return Xr({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,h=i;for(let{name:f,value:p}of u.options)!a.has(f)||(g=f,h=p);return typeof h=="string"?$d(g!=null?g:c,h,n.validator):h}})}function kae(t={}){let{required:e=!0}=t;return Xr({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){for(let s=0;sgU,areIdentsEqual:()=>Tg,areLocatorsEqual:()=>e0,areVirtualPackagesEquivalent:()=>afe,bindDescriptor:()=>sfe,bindLocator:()=>ofe,convertDescriptorToLocator:()=>WC,convertLocatorToDescriptor:()=>zC,convertPackageToLocator:()=>nfe,convertToIdent:()=>ife,convertToManifestRange:()=>cfe,copyPackage:()=>Mg,devirtualizeDescriptor:()=>Ng,devirtualizeLocator:()=>Og,getIdentVendorPath:()=>ufe,isVirtualDescriptor:()=>So,isVirtualLocator:()=>Wn,makeDescriptor:()=>Yt,makeIdent:()=>Do,makeLocator:()=>$r,makeRange:()=>XC,parseDescriptor:()=>Po,parseFileStyleRange:()=>Afe,parseIdent:()=>di,parseLocator:()=>Ga,parseRange:()=>Fl,prettyDependent:()=>n0,prettyDescriptor:()=>Rt,prettyIdent:()=>fr,prettyLocator:()=>$e,prettyLocatorNoColors:()=>r0,prettyRange:()=>qC,prettyReference:()=>Ug,prettyResolution:()=>i0,prettyWorkspace:()=>Hg,renamePackage:()=>Lg,slugifyIdent:()=>t0,slugifyLocator:()=>Rl,sortDescriptors:()=>Ll,stringifyDescriptor:()=>Ci,stringifyIdent:()=>gt,stringifyLocator:()=>tn,tryParseDescriptor:()=>Kg,tryParseIdent:()=>hU,tryParseLocator:()=>fU,virtualizeDescriptor:()=>_Q,virtualizePackage:()=>$Q});var vl=X(require("querystring")),cU=X(hr());var pi={};We(pi,{checksumFile:()=>jC,checksumPattern:()=>GC,makeHash:()=>_r});var YC=X(require("crypto")),VQ=X(XQ());function _r(...t){let e=YC.createHash("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function jC(t,{baseFs:e,algorithm:r}={baseFs:R,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=YC.createHash(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function GC(t,{cwd:e}){let i=(await VQ.default(t,{cwd:npath.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await VQ.default([t,...i],{cwd:npath.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=npath.toPortablePath(a),u=await R.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await R.readlinkPromise(c))):u.isFile()&&l.push(await R.readFilePromise(c)),l.join("\0")})),o=YC.createHash("sha512");for(let a of s)o.update(a);return o.digest("hex")}var uU=X(Zi());var JC="virtual:",rfe=5;function Do(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:_r(t,e),scope:t,name:e}}function Yt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:_r(t.identHash,e),range:e}}function $r(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:_r(t.identHash,e),reference:e}}function ife(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function WC(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function zC(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function nfe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function Lg(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function Mg(t){return Lg(t,t)}function _Q(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Yt(t,`virtual:${e}#${t.range}`)}function $Q(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Lg(t,$r(t,`virtual:${e}#${t.reference}`))}function So(t){return t.range.startsWith(JC)}function Wn(t){return t.reference.startsWith(JC)}function Ng(t){if(!So(t))throw new Error("Not a virtual descriptor");return Yt(t,t.range.replace(/^[^#]*#/,""))}function Og(t){if(!Wn(t))throw new Error("Not a virtual descriptor");return $r(t,t.reference.replace(/^[^#]*#/,""))}function sfe(t,e){return t.range.includes("::")?t:Yt(t,`${t.range}::${vl.default.stringify(e)}`)}function ofe(t,e){return t.reference.includes("::")?t:$r(t,`${t.reference}::${vl.default.stringify(e)}`)}function Tg(t,e){return t.identHash===e.identHash}function gU(t,e){return t.descriptorHash===e.descriptorHash}function e0(t,e){return t.locatorHash===e.locatorHash}function afe(t,e){if(!Wn(t))throw new Error("Invalid package type");if(!Wn(e))throw new Error("Invalid package type");if(!Tg(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!gU(r,i))return!1}return!0}function di(t){let e=hU(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function hU(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Do(n,i)}function Po(t,e=!1){let r=Kg(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function Kg(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Yt(Do(o,n),a)}function Ga(t,e=!1){let r=fU(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function fU(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return $r(Do(o,n),a)}function Fl(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?vl.default.parse(s):s,a=typeof r[4]!="undefined"?vl.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Afe(t,{protocol:e}){let{selector:r,params:i}=Fl(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Ga(i.locator,!0),path:r}}function pU(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function lfe(t){return t===null?!1:Object.entries(t).length>0}function XC({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${pU(e)}#`),n+=pU(r),lfe(i)&&(n+=`::${vl.default.stringify(i)}`),n}function cfe(t){let{params:e,protocol:r,source:i,selector:n}=Fl(t);for(let s in e)s.startsWith("__")&&delete e[s];return XC({protocol:r,source:i,params:e,selector:n})}function gt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Ci(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function tn(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function t0(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Rl(t){let{protocol:e,selector:r}=Fl(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=cU.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${t0(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${t0(t)}-${s}-${t.locatorHash.slice(0,o)}`;return Ut(a)}function fr(t,e){return e.scope?`${Ue(t,`@${e.scope}/`,be.SCOPE)}${Ue(t,e.name,be.NAME)}`:`${Ue(t,e.name,be.NAME)}`}function VC(t){if(t.startsWith(JC)){let e=VC(t.substr(t.indexOf("#")+1)),r=t.substr(JC.length,rfe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function qC(t,e){return`${Ue(t,VC(e),be.RANGE)}`}function Rt(t,e){return`${fr(t,e)}${Ue(t,"@",be.RANGE)}${qC(t,e.range)}`}function Ug(t,e){return`${Ue(t,VC(e),be.REFERENCE)}`}function $e(t,e){return`${fr(t,e)}${Ue(t,"@",be.REFERENCE)}${Ug(t,e.reference)}`}function r0(t){return`${gt(t)}@${VC(t.reference)}`}function Ll(t){return uU.sortMap(t,[e=>gt(e),e=>e.range])}function Hg(t,e){return fr(t,e.locator)}function i0(t,e,r){let i=So(e)?Ng(e):e;return r===null?`${Rt(t,i)} \u2192 ${ZQ(t).Cross}`:i.identHash===r.identHash?`${Rt(t,i)} \u2192 ${Ug(t,r.reference)}`:`${Rt(t,i)} \u2192 ${$e(t,r)}`}function n0(t,e,r){return r===null?`${$e(t,e)}`:`${$e(t,e)} (via ${qC(t,r.range)})`}function ufe(t){return`node_modules/${gt(t)}`}var nt;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(nt||(nt={}));var yr;(function(t){t.Dependency="Dependency",t.PeerDependency="PeerDependency",t.PeerDependencyMeta="PeerDependencyMeta"})(yr||(yr={}));var Or;(function(t){t.Inactive="inactive",t.Redundant="redundant",t.Active="active"})(Or||(Or={}));var be={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},qa;(function(t){t[t.BOLD=2]="BOLD"})(qa||(qa={}));var s0=process.env.GITHUB_ACTIONS?{level:2}:Yg.default.supportsColor?{level:Yg.default.supportsColor.level}:{level:0},ZC=s0.level!==0,o0=ZC&&!process.env.GITHUB_ACTIONS&&!dU.CIRCLE,a0=new Yg.default.Instance(s0),gfe=new Map([[be.NO_HINT,null],[be.NULL,["#a853b5",129]],[be.SCOPE,["#d75f00",166]],[be.NAME,["#d7875f",173]],[be.RANGE,["#00afaf",37]],[be.REFERENCE,["#87afff",111]],[be.NUMBER,["#ffd700",220]],[be.PATH,["#d75fd7",170]],[be.URL,["#d75fd7",170]],[be.ADDED,["#5faf00",70]],[be.REMOVED,["#d70000",160]],[be.CODE,["#87afff",111]],[be.SIZE,["#ffd700",220]]]),bn=t=>t,_C={[be.NUMBER]:bn({pretty:(t,e)=>`${e}`,json:t=>t}),[be.IDENT]:bn({pretty:(t,e)=>fr(t,e),json:t=>gt(t)}),[be.LOCATOR]:bn({pretty:(t,e)=>$e(t,e),json:t=>tn(t)}),[be.DESCRIPTOR]:bn({pretty:(t,e)=>Rt(t,e),json:t=>Ci(t)}),[be.RESOLUTION]:bn({pretty:(t,{descriptor:e,locator:r})=>i0(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Ci(t),locator:e!==null?tn(e):null})}),[be.DEPENDENT]:bn({pretty:(t,{locator:e,descriptor:r})=>n0(t,e,r),json:({locator:t,descriptor:e})=>({locator:tn(t),descriptor:Ci(e)})}),[be.PACKAGE_EXTENSION]:bn({pretty:(t,e)=>{switch(e.type){case yr.Dependency:return`${fr(t,e.parentDescriptor)} \u27A4 ${Li(t,"dependencies",be.CODE)} \u27A4 ${fr(t,e.descriptor)}`;case yr.PeerDependency:return`${fr(t,e.parentDescriptor)} \u27A4 ${Li(t,"peerDependencies",be.CODE)} \u27A4 ${fr(t,e.descriptor)}`;case yr.PeerDependencyMeta:return`${fr(t,e.parentDescriptor)} \u27A4 ${Li(t,"peerDependenciesMeta",be.CODE)} \u27A4 ${fr(t,di(e.selector))} \u27A4 ${Li(t,e.key,be.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case yr.Dependency:return`${gt(t.parentDescriptor)} > ${gt(t.descriptor)}`;case yr.PeerDependency:return`${gt(t.parentDescriptor)} >> ${gt(t.descriptor)}`;case yr.PeerDependencyMeta:return`${gt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[be.SETTING]:bn({pretty:(t,e)=>(t.get(e),Ml(t,Li(t,e,be.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[be.DURATION]:bn({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[be.SIZE]:bn({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Li(t,`${s} ${r[i-1]}`,be.NUMBER)},json:t=>t}),[be.PATH]:bn({pretty:(t,e)=>Li(t,npath.fromPortablePath(e),be.PATH),json:t=>npath.fromPortablePath(t)})};function Ja(t,e){return[e,t]}function $C(t,e,r){return t.get("enableColors")&&r&2&&(e=Yg.default.bold(e)),e}function Li(t,e,r){if(!t.get("enableColors"))return e;let i=gfe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:s0.level>=3?i[0]:i[1],s=typeof n=="number"?a0.ansi256(n):n.startsWith("#")?a0.hex(n):a0[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var hfe=!!process.env.KONSOLE_VERSION;function Ml(t,e,r){return t.get("enableHyperlinks")?hfe?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function Ue(t,e,r){if(e===null)return Li(t,"null",be.NULL);if(Object.prototype.hasOwnProperty.call(_C,r))return _C[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Li(t,e,r)}function A0(t,e,r,{separator:i=", "}={}){return[...e].map(n=>Ue(t,n,r)).join(i)}function Nl(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(_C,e))return mU.overrideType(e),_C[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function ZQ(t){return{Check:Li(t,"\u2713","green"),Cross:Li(t,"\u2718","red"),Question:Li(t,"?","cyan")}}function Wa(t,{label:e,value:[r,i]}){return`${Ue(t,e,be.CODE)}: ${Ue(t,r,i)}`}var Dn;(function(t){t.Error="error",t.Warning="warning",t.Info="info",t.Discard="discard"})(Dn||(Dn={}));function jg(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map;for(let u of r){let g=u.get("level");if(typeof g=="undefined")continue;let h=u.get("code");typeof h!="undefined"&&i.set(h,g);let f=u.get("text");typeof f!="undefined"&&n.set(f,g)}let s=(u,g,h)=>{if(u===null||u===J.UNNAMED)return h;if(n.size>0){let f=n.get(CU.default(g));if(typeof f!="undefined")return f!=null?f:h}if(i.size>0){let f=i.get(Vd(u));if(typeof f!="undefined")return f!=null?f:h}return h},o=t.reportInfo,a=t.reportWarning,l=t.reportError,c=function(u,g,h,f){switch(s(g,h,f)){case Dn.Info:o.call(u,g,h);break;case Dn.Warning:a.call(u,g!=null?g:J.UNNAMED,h);break;case Dn.Error:l.call(u,g!=null?g:J.UNNAMED,h);break}};t.reportInfo=function(...u){return c(this,...u,Dn.Info)},t.reportWarning=function(...u){return c(this,...u,Dn.Warning)},t.reportError=function(...u){return c(this,...u,Dn.Error)}}var Mt={};We(Mt,{Method:()=>Xa,RequestError:()=>sY.RequestError,del:()=>SCe,get:()=>bCe,getNetworkSettings:()=>lY,post:()=>Db,put:()=>DCe,request:()=>eh});var rY=X(Cm()),iY=X(require("https")),nY=X(require("http")),wb=X(Qn()),Qb=X($H()),mm=X(require("url"));var eY=X(require("stream")),tY=X(require("string_decoder"));var Ge=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function ECe(t){return typeof t.reportCode!="undefined"}var ti=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var bb=X(Zi()),sY=X(Cm()),oY=new Map,aY=new Map,yCe=new nY.Agent({keepAlive:!0}),BCe=new iY.Agent({keepAlive:!0});function AY(t){let e=new mm.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function wCe(t){return bb.getFactoryWithDefault(aY,t,()=>R.readFilePromise(t).then(e=>(aY.set(t,e),e)))}function QCe({statusCode:t,statusMessage:e},r){let i=Ue(r,t,be.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Ml(r,`${i}${e?` (${e})`:""}`,n)}async function Im(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof rY.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ue(e,"httpTimeout",be.SETTING)})`);let a=new Ge(J.NETWORK_ERROR,o,l=>{s.response&&l.reportError(J.NETWORK_ERROR,` ${Wa(e,{label:"Response Code",value:Ja(be.NO_HINT,QCe(s.response,e))})}`),s.request&&(l.reportError(J.NETWORK_ERROR,` ${Wa(e,{label:"Request Method",value:Ja(be.NO_HINT,s.request.options.method)})}`),l.reportError(J.NETWORK_ERROR,` ${Wa(e,{label:"Request URL",value:Ja(be.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(J.NETWORK_ERROR,` ${Wa(e,{label:"Request Redirects",value:Ja(be.NO_HINT,A0(e,s.request.redirects,be.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(J.NETWORK_ERROR,` ${Wa(e,{label:"Request Retry Count",value:Ja(be.NO_HINT,`${Ue(e,s.request.retryCount,be.NUMBER)} (can be increased via ${Ue(e,"httpRetry",be.SETTING)})`)})}`)});throw a.originalError=s,a}}function lY(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=new mm.URL(t);for(let[o,a]of r)if(wb.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Xa;(function(t){t.GET="GET",t.PUT="PUT",t.POST="POST",t.DELETE="DELETE"})(Xa||(Xa={}));async function eh(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=Xa.GET}){let a=lY(t,{configuration:r});if(a.enableNetwork===!1)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let l=new mm.URL(t);if(l.protocol==="http:"&&!wb.default.isMatch(l.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${l.hostname})`);let u={agent:{http:a.httpProxy?Qb.default.httpOverHttp(AY(a.httpProxy)):yCe,https:a.httpsProxy?Qb.default.httpsOverHttp(AY(a.httpsProxy)):BCe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),h=r.get("httpRetry"),f=r.get("enableStrictSsl"),p=a.caFilePath,{default:m}=await Promise.resolve().then(()=>X(Cm())),I=p?await wCe(p):void 0,y=m.extend({timeout:{socket:g},retry:h,https:{rejectUnauthorized:f,certificateAuthority:I},...u});return r.getLimit("networkConcurrency")(()=>y(t))}async function bCe(t,{configuration:e,jsonResponse:r,...i}){let n=bb.getFactoryWithDefault(oY,t,()=>Im(eh(t,null,{configuration:e,...i}),{configuration:e}).then(s=>(oY.set(t,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),r?JSON.parse(n.toString()):n}async function DCe(t,e,{customErrorMessage:r,...i}){return(await Im(eh(t,e,{...i,method:Xa.PUT}),i)).body}async function Db(t,e,{customErrorMessage:r,...i}){return(await Im(eh(t,e,{...i,method:Xa.POST}),i)).body}async function SCe(t,{customErrorMessage:e,...r}){return(await Im(eh(t,null,{...r,method:Xa.DELETE}),r)).body}var he=X(Zi());var Et={};We(Et,{executePackageAccessibleBinary:()=>fJ,executePackageScript:()=>rI,executePackageShellcode:()=>wD,executeWorkspaceAccessibleBinary:()=>uwe,executeWorkspaceLifecycleScript:()=>hJ,executeWorkspaceScript:()=>gJ,getPackageAccessibleBinaries:()=>iI,getWorkspaceAccessibleBinaries:()=>uJ,hasPackageScript:()=>Awe,hasWorkspaceScript:()=>BD,makeScriptEnv:()=>Bh,maybeExecuteWorkspaceLifecycleScript:()=>cwe,prepareExternalProject:()=>awe});var Ah={};We(Ah,{getLibzipPromise:()=>ri,getLibzipSync:()=>TY});var Lo=["number","number"],Sb;(function(t){t[t.ZIP_ER_OK=0]="ZIP_ER_OK",t[t.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",t[t.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",t[t.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",t[t.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",t[t.ZIP_ER_READ=5]="ZIP_ER_READ",t[t.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",t[t.ZIP_ER_CRC=7]="ZIP_ER_CRC",t[t.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",t[t.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",t[t.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",t[t.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",t[t.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",t[t.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",t[t.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",t[t.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",t[t.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",t[t.ZIP_ER_EOF=17]="ZIP_ER_EOF",t[t.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",t[t.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",t[t.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",t[t.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",t[t.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",t[t.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",t[t.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",t[t.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",t[t.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",t[t.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",t[t.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",t[t.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",t[t.ZIP_ER_TELL=30]="ZIP_ER_TELL",t[t.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(Sb||(Sb={}));var cY=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:Sb,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Lo,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Lo,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Lo,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Lo,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Lo,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Lo,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Lo,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Lo,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var Jb=null;function TY(){return Jb===null&&(Jb=cY(OY())),Jb}async function ri(){return TY()}var Ch={};We(Ch,{ShellError:()=>To,execute:()=>Xm,globUtils:()=>jm});var ph={};We(ph,{parseResolution:()=>xm,parseShell:()=>Pm,parseSyml:()=>kr,stringifyResolution:()=>km,stringifySyml:()=>Os});var HY=X(UY());function Pm(t,e={isGlobPattern:()=>!1}){try{return HY.parse(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}var GY=X(jY());function xm(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return GY.parse(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function km(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var Ym=X(RG()),NG=X(MG()),Iye=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,OG=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],oD=class{constructor(e){this.data=e}};function TG(t){return t.match(Iye)?t:JSON.stringify(t)}function KG(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>KG(t[e])):!1}function aD(t,e,r){if(t===null)return`null -`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} -`;if(typeof t=="string")return`${TG(t)} -`;if(Array.isArray(t)){if(t.length===0)return`[] -`;let i=" ".repeat(e);return` -${t.map(s=>`${i}- ${aD(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof oD?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=OG.indexOf(l),g=OG.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!KG(i[l])).map((l,c)=>{let u=i[l],g=TG(l),h=aD(u,e+1,!0),f=c>0||r?s:"";return h.startsWith(` -`)?`${f}${g}:${h}`:`${f}${g}: ${h}`}).join(e===0?` -`:"")||` -`;return r?` -${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Os(t){try{let e=aD(t,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Os.PreserveOrdering=oD;function Eye(t){return t.endsWith(` -`)||(t+=` -`),NG.parse(t)}var yye=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Bye(t){if(yye.test(t))return Eye(t);let e=Ym.safeLoad(t,{schema:Ym.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function kr(t){return Bye(t)}var zG=X(require("os")),on=X(require("stream"));var To=class extends Error{constructor(e){super(e);this.name="ShellError"}};var jm={};We(jm,{fastGlobOptions:()=>YG,isBraceExpansion:()=>jG,isGlobPattern:()=>wye,match:()=>Qye,micromatchOptions:()=>qm});var UG=X(MC()),HG=X(require("fs")),Gm=X(Qn()),qm={strictBrackets:!0},YG={onlyDirectories:!1,onlyFiles:!1};function wye(t){if(!Gm.default.scan(t,qm).isGlob)return!1;try{Gm.default.parse(t,qm)}catch{return!1}return!0}function Qye(t,{cwd:e,baseFs:r}){return UG.default(t,{...YG,cwd:npath.fromPortablePath(e),fs:Gd(HG.default,new Zu(r))})}function jG(t){return Gm.default.scan(t,qm).isBrace}var GG=X(YB()),Ts=X(require("stream")),Ei;(function(t){t[t.STDIN=0]="STDIN",t[t.STDOUT=1]="STDOUT",t[t.STDERR=2]="STDERR"})(Ei||(Ei={}));var uA=new Set;function AD(){}function lD(){for(let t of uA)t.kill()}function qG(t,e,r,i){return n=>{let s=n[0]instanceof Ts.Transform?"pipe":n[0],o=n[1]instanceof Ts.Transform?"pipe":n[1],a=n[2]instanceof Ts.Transform?"pipe":n[2],l=GG.default(t,e,{...i,stdio:[s,o,a]});return uA.add(l),uA.size===1&&(process.on("SIGINT",AD),process.on("SIGTERM",lD)),n[0]instanceof Ts.Transform&&n[0].pipe(l.stdin),n[1]instanceof Ts.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Ts.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(uA.delete(l),uA.size===0&&(process.off("SIGINT",AD),process.off("SIGTERM",lD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} -`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} -`),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("exit",u=>{uA.delete(l),uA.size===0&&(process.off("SIGINT",AD),process.off("SIGTERM",lD)),c(u!==null?u:129)})})}}}function JG(t){return e=>{let r=e[0]==="pipe"?new Ts.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Pn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},WG=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},dh=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new dh(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new dh(this,e),n=new WG;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Jm(t,e){return dh.start(t,e)}var Ur;(function(t){t[t.Readable=1]="Readable",t[t.Writable=2]="Writable"})(Ur||(Ur={}));function XG(t,e,r){let i=new on.PassThrough({autoDestroy:!0});switch(t){case Ei.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof on.Writable&&i.pipe(r.stdin,{end:!1});break;case Ei.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Ei.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new To(`Bad file descriptor: "${t}"`)}return i}function cD(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}var bye=new Map([["cd",async([t=zG.homedir(),...e],r,i)=>{let n=w.resolve(i.cwd,npath.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory -`),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${npath.fromPortablePath(r.cwd)} -`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} -`),0)],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await Jm(i,{stdin:new Pn(r.stdin),stdout:new Pn(r.stdout),stderr:new Pn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=0;for(;t[l]!=="--";){let u=t[l++],g=Number(t[l++]),h=l+g;for(let f=l;fe.baseFs.createReadStream(w.resolve(r.cwd,npath.toPortablePath(t[f]))));break;case"<<<":o.push(()=>{let p=new on.PassThrough;return process.nextTick(()=>{p.write(`${t[f]} -`),p.end()}),p});break;case"<&":o.push(()=>XG(Number(t[f]),1,r));break;case">":case">>":{let p=w.resolve(r.cwd,npath.toPortablePath(t[f]));p==="/dev/null"?a.push(new on.Writable({autoDestroy:!0,emitClose:!0,write(m,I,y){setImmediate(y)}})):a.push(e.baseFs.createWriteStream(p,u===">>"?{flags:"a"}:void 0))}break;case">&":a.push(XG(Number(t[f]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${u}"`)}}if(o.length>0){let u=new on.PassThrough;i=u;let g=h=>{if(h===o.length)u.end();else{let f=o[h]();f.pipe(u,{end:!1}),f.on("end",()=>{g(h+1)})}};g(0)}if(a.length>0){let u=new on.PassThrough;n=u;for(let g of a)u.pipe(g)}let c=await Jm(mh(t.slice(l+1),e,r),{stdin:new Pn(i),stdout:new Pn(n),stderr:new Pn(s)}).run();return await Promise.all(a.map(u=>new Promise((g,h)=>{u.on("error",f=>{h(f)}),u.on("close",()=>{g()}),u.end()}))),c}]]);async function Dye(t,e,r){let i=[],n=new on.PassThrough;return n.on("data",s=>i.push(s)),await Wm(t,e,cD(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function VG(t,e,r){let i=t.map(async s=>{let o=await gA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function uD(t){return t.match(/[^ \r\n\t]+/g)||[]}async function ZG(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=uD(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function Ih(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await ZG({...t,quoted:!0},e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?Ih({type:"variable",name:i.join(" ")},e,r):Ih({type:"number",value:n},e,r)}else return Sye[t.type](await Ih(t.left,e,r),await Ih(t.right,e,r))}async function gA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g)=>{let h=i.get(u);typeof h=="undefined"&&i.set(u,h=[]),h.push(g)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let h=await gA(u.args,e,r);for(let f of h)c(u.subtype,f)}break;case"argument":for(let h of u.segments)switch(h.type){case"text":o(h.text);break;case"glob":o(h.pattern),g=!0;break;case"shell":{let f=await Dye(h.shell,e,r);if(h.quoted)o(f);else{let p=uD(f);for(let m=0;m0){let u=[];for(let[g,h]of i.entries())u.splice(u.length,0,g,String(h.length),...h);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function mh(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=npath.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n={...n,PWD:i});let[s,...o]=t;if(s==="command")return qG(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return JG(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function Pye(t,e,r){return i=>{let n=new on.PassThrough,s=Wm(t,e,cD(r,{stdin:n}));return{stdin:n,promise:s}}}function xye(t,e,r){return i=>{let n=new on.PassThrough,s=Wm(t,e,r);return{stdin:n,promise:s}}}function _G(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=t,mh([...e,"__ysh_run_procedure",n],r,i)}}async function kye(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?{...r}:r,a;switch(i.type){case"command":{let l=await gA(i.args,e,r),c=await VG(i.envs,e,r);a=i.envs.length?mh(l,e,cD(o,{environment:c})):mh(l,e,o)}break;case"subshell":{let l=await gA(i.args,e,r),c=Pye(i.subshell,e,o);a=_G(c,l,e,o)}break;case"group":{let l=await gA(i.args,e,r),c=xye(i.group,e,o);a=_G(c,l,e,o)}break;case"envs":{let l=await VG(i.envs,e,r);o.environment={...o.environment,...l},a=mh(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Jm(a,{stdin:new Pn(o.stdin),stdout:new Pn(o.stdout),stderr:new Pn(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Ei.STDOUT);break;case"|&":s=s.pipeTo(a,Ei.STDOUT|Ei.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function vye(t,e,r){let i,n=o=>{i=o,r.variables["?"]=String(o)},s=async o=>{try{return await kye(o,e,r)}catch(a){if(!(a instanceof To))throw a;return r.stderr.write(`${a.message} -`),1}};for(n(await s(t.chain));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":i===0&&n(await s(t.then.line.chain));break;case"||":i!==0&&n(await s(t.then.line.chain));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return i}async function Wm(t,e,r){let i=0;for(let{command:n,type:s}of t){if(s==="&")throw new Error("Background jobs aren't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/1349");if(i=await vye(n,e,r),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(i)}return i}function $G(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>zm(e));case"arithmetic":return gD(t.arithmetic);case"shell":return hD(t.shell);default:return!1}}function zm(t){switch(t.type){case"redirection":return t.args.some(e=>zm(e));case"argument":return t.segments.some(e=>$G(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function gD(t){switch(t.type){case"variable":return $G(t);case"number":return!1;default:return gD(t.left)||gD(t.right)}}function hD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=hD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>zm(s)))||r.args.some(n=>zm(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Xm(t,e=[],{baseFs:r=new It,builtins:i={},cwd:n=npath.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=jm}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let h=new Map(bye);for(let[p,m]of Object.entries(i))h.set(p,m);o===null&&(o=new on.PassThrough,o.end());let f=Pm(t,u);if(!hD(f)&&f.length>0&&e.length>0){let{command:p}=f[f.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await Wm(f,{args:e,baseFs:r,builtins:h,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0})})}var AJ=X(ID()),lJ=X(Zm()),nc=X(require("stream"));var Zq=X(hr()),ic=X(Zi());var St={};We(St,{SemVer:()=>zq.SemVer,satisfiesWithPrereleases:()=>yh,validRange:()=>kn});var _m=X(hr()),zq=X(hr()),Xq=new Map;function yh(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=Xq.get(i);if(typeof n=="undefined")try{n=new _m.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Xq.set(i,n||null)}else if(n===null)return!1;let s;try{s=new _m.default.SemVer(t,n),s.prerelease&&(s.prerelease=[])}catch(o){return!1}return n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))})}var Vq=new Map;function kn(t){if(t.indexOf(":")!==-1)return null;let e=Vq.get(t);if(typeof e!="undefined")return e;try{e=new _m.default.Range(t)}catch{e=null}return Vq.set(t,e),e}var Ko=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new It}={}){let i=w.join(e,"package.json");return await r.existsPromise(i)?await Ko.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await Ko.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new It}={}){let i=new Ko;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new Ko;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse($q(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=_q(e)}async loadFile(e,{baseFs:r=new It}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse($q(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=_q(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=di(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=ii(e.main):this.main=null,typeof e.module=="string"?this.module=ii(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=ii(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(ii(s),typeof o=="string"?ii(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,ii(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,ii(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=di(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=di(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=di(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!kn(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Yt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=Po(s),l=this.ensureDependencyMeta(a),c=$m(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=$m(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=$m(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=Po(s),l=this.ensurePeerDependencyMeta(a),c=$m(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:xm(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=ii(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=ii(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=ii(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(ii(s),typeof o=="string"?ii(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,ii(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,ii(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(ii(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=di(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l);let c=Yt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}isCompatibleWithOS(e){return Ko.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return Ko.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!Zq.default.valid(e.range))throw new Error(`Invalid meta field range for '${Ci(e)}'`);let r=gt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Ci(e)}'`);let r=gt(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=gt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:s})=>s)}:e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let s of this.dependencies.values()){let o=this.dependenciesMeta.get(gt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...Ll(i).map(s=>({[gt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ll(n).map(s=>({[gt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ll(this.devDependencies.values()).map(s=>({[gt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ll(this.peerDependencies.values()).map(s=>({[gt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of ic.sortMap(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of ic.sortMap(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?Ci(Yt(di(s),a)):s,u={...l};r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...ic.sortMap(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[km(s)]:o}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}},je=Ko;je.fileName="package.json",je.allDependencies=["dependencies","devDependencies","peerDependencies"],je.hardDependencies=["dependencies","devDependencies"];function _q(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function $q(t){return t.charCodeAt(0)===65279?t.slice(1):t}function ii(t){return t.replace(/\\/g,"/")}function $m(t,{yamlCompatibilityMode:e}){return e?ic.tryParseOptionalBoolean(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var iJ=X(rJ());var nJ=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],sJ=80,$Be=new Set([J.FETCH_NOT_CACHED,J.UNUSED_CACHE_ENTRY]),ewe=5,Uo=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} -`,end:t=>`::endgroup:: -`}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t} -`,end:t=>`travis_fold:end:${t} -`}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t} -`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,oJ=new Date,twe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,rwe=t=>t,tI=rwe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),iwe=twe&&Object.keys(tI).find(t=>{let e=tI[t];return!(e.date&&(e.date[0]!==oJ.getDate()||e.date[1]!==oJ.getMonth()+1))})||"default";function aJ(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=Vd(t===null?0:t);return!r&&t===null?Ue(e,n,"grey"):n}function yD(t,{configuration:e,json:r}){let i=aJ(t,{configuration:e,json:r});if(!i||t===null||t===J.UNNAMED)return i;let n=J[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ml(e,i,s)}var we=class extends ti{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=ewe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];jg(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...$Be]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||iwe;if(!Object.prototype.hasOwnProperty.call(tI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=tI[u];let g="\u27A4 YN0000: \u250C ".length,h=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*h/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(J.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(J.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,Uo!==null&&!this.json&&this.stdout.write(Uo.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,Uo!==null&&!this.json&&this.stdout.write(Uo.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ue(this.configuration,l-a,be.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,Uo!==null&&!this.json&&this.stdout.write(Uo.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,Uo!==null&&!this.json&&this.stdout.write(Uo.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ue(this.configuration,l-a,be.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${Ue(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ue(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ue(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return{...i,stop:n}}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=Ue(this.configuration,Date.now()-this.startTime,be.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(J.UNNAMED,i):this.warningCount>0?this.reportWarning(J.UNNAMED,i):this.reportInfo(J.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} -`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} -`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${$e(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${$e(this.configuration,this.lastCacheMiss)})`),this.reportInfo(J.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>sJ&&(this.progressFrame=(this.progressFrame+1)%nJ.length,this.progressTime=e);let r=nJ[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${Ue(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},sJ)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=iJ.default(e,0,process.stdout.columns-1)),e}formatName(e){return aJ(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return yD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Mi="3.0.0-rc.2.git.20210516.hash-aec98f9e";var Ks=X(Zi());var $n;(function(t){t.Yarn1="Yarn Classic",t.Yarn2="Yarn",t.Npm="npm",t.Pnpm="pnpm"})($n||($n={}));async function Us(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await R.writeFilePromise(w.format({dir:t,name:e,ext:".cmd"}),n)}await R.writeFilePromise(w.join(t,e),`#!/bin/sh -exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`),await R.chmodPromise(w.join(t,e),493)}async function nwe(t){let e=null;try{e=await R.readFilePromise(w.join(t,ft.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:$n.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:$n.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:R.existsSync(w.join(t,"package-lock.json"))?{packageManager:$n.Npm,reason:`found npm's "package-lock.json" lockfile`}:R.existsSync(w.join(t,"pnpm-lock.yaml"))?{packageManager:$n.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Bh({project:t,locator:e,binFolder:r,lifecycleScript:i}){var a,l;let n={};for(let[c,u]of Object.entries(process.env))typeof u!="undefined"&&(n[c.toLowerCase()!=="path"?c:"PATH"]=u);let s=npath.fromPortablePath(r);if(n.BERRY_BIN_FOLDER=npath.fromPortablePath(s),await Promise.all([Us(r,"node",process.execPath),...Mi!==null?[Us(r,"run",process.execPath,[process.argv[1],"run"]),Us(r,"yarn",process.execPath,[process.argv[1]]),Us(r,"yarnpkg",process.execPath,[process.argv[1]]),Us(r,"node-gyp",process.execPath,[process.argv[1],"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=npath.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=npath.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${npath.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${npath.sep}yarn`,n.npm_node_execpath=`${s}${npath.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let c=t.tryWorkspaceByLocator(e),u=c?(a=c.manifest.version)!=null?a:"":(l=t.storedPackages.get(e.locatorHash).version)!=null?l:"";n.npm_package_name=gt(e),n.npm_package_version=u}let o=Mi!==null?`yarn/${Mi}`:`yarn/${Ks.dynamicRequire("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${o} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(c=>c.setupScriptEnvironment,t,n,async(c,u,g)=>await Us(r,Ut(c),u,g)),n}var swe=2,owe=lJ.default(swe);async function awe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await owe(async()=>{await R.mktempPromise(async o=>{let a=w.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:npath.fromPortablePath(t),report:i}),g=s&&Wn(s)?Og(s):s,h=g?tn(g):"an external project";c.write(`Packing ${h} from sources -`);let f=await nwe(t),p;f!==null?(c.write(`Using ${f.packageManager} for bootstrap. Reason: ${f.reason} - -`),p=f.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn - -`),p=$n.Yarn2),await R.mktempPromise(async m=>{let I=await Bh({binFolder:m}),B=new Map([[$n.Yarn1,async()=>{let k=n!==null?["workspace",n]:[],N=await ws("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:Wi.ErrorCode});if(N.code!==0)return N.code;await R.appendFilePromise(w.join(t,".npmignore"),`/.yarn -`),c.write(` -`);let O=await ws("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:Wi.ErrorCode});if(O.code!==0)return O.code;c.write(` -`);let v=await ws("yarn",[...k,"pack","--filename",npath.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return v.code!==0?v.code:0}],[$n.Yarn2,async()=>{let k=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=w.join(t,ft.lockfile);await R.existsPromise(N)||await R.writeFilePromise(N,"");let O=await ws("yarn",[...k,"pack","--install-if-needed","--filename",npath.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return O.code!==0?O.code:0}],[$n.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let k=await ws("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:Wi.ErrorCode});if(k.code!==0)return k.code;let N=new nc.PassThrough,O=Ks.bufferStream(N);N.pipe(c);let v=await ws("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(v.code!==0)return v.code;let U=(await O).toString().trim(),re=w.resolve(t,npath.toPortablePath(U));return await R.renamePromise(re,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let P=await B();if(!(P===0||typeof P=="undefined"))throw R.detachTemp(o),new Ge(J.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${P}, logs can be found here: ${a})`)})})})}async function Awe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return BD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${$e(r.configuration,t)} not found in the project`);return await Ji.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new we({stdout:new nc.PassThrough,configuration:o})},c=a.find(f=>f.supportsPackage(n,l));if(!c)throw new Error(`The package ${$e(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new Ct(u,{baseFs:s});return(await je.find(pe.dot,{baseFs:g})).scripts.has(e)},{libzip:await ri()})}async function rI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await R.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await cJ(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),h=c.scripts.get(e);if(typeof h=="undefined")return 1;let f=async()=>await Xm(h,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,f,n,t,e,{script:h,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function wD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await R.mktempPromise(async l=>{let{env:c,cwd:u}=await cJ(t,{project:n,binFolder:l,cwd:i});return await Xm(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function lwe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Bh({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await uJ(t),([s,[,o]])=>Us(e,Ut(s),process.execPath,[o]))),typeof r=="undefined"&&(r=w.dirname(await R.realpathPromise(w.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function cJ(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return lwe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${$e(e.configuration,t)} not found in the project`);return await Ji.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new we({stdout:new nc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${$e(e.configuration,o)} isn't supported by any of the available linkers`);let h=await Bh({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await iI(t,{project:e}),([I,[,y]])=>Us(r,Ut(I),process.execPath,[y])));let f=await g.findPackageLocation(o,u),p=new Ct(f,{baseFs:a}),m=await je.find(pe.dot,{baseFs:p});return typeof i=="undefined"&&(i=f),{manifest:m,binFolder:r,env:h,cwd:i}},{libzip:await ri()})}async function gJ(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await rI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function BD(t,e){return t.manifest.scripts.has(e)}async function hJ(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await R.mktempPromise(async o=>{let a=w.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:$e(n,t.anchoredLocator),header:l});i.reportInfo(J.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await gJ(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw R.detachTemp(o),new Ge(J.LIFECYCLE_SCRIPT,`${AJ.default(e)} script failed (exit code ${Ue(n,g,be.NUMBER)}, logs can be found here: ${Ue(n,a,be.PATH)}); run ${Ue(n,`yarn ${e}`,be.CODE)} to investigate`)})}async function cwe(t,e,r){BD(t,e)&&await hJ(t,e,r)}async function iI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${$e(r,t)} not found in the project`);let s=new nc.Writable,o=r.getLinkers(),a={project:e,report:new we({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Rt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Ks.mapAndFilter.skip;let h=o.find(p=>p.supportsPackage(g,a));if(!h)return Ks.mapAndFilter.skip;let f=null;try{f=await h.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Ks.mapAndFilter.skip;throw p}return{dependency:g,packageLocation:f}}));for(let u of c){if(u===Ks.mapAndFilter.skip)continue;let{dependency:g,packageLocation:h}=u;for(let[f,p]of g.bin)i.set(f,[g,npath.fromPortablePath(w.resolve(h,p))])}return i}async function uJ(t){return await iI(t.anchoredLocator,{project:t.project})}async function fJ(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await iI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${$e(n.configuration,t)}`);return await R.mktempPromise(async g=>{let[,h]=u,f=await Bh({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>Us(f.BERRY_BIN_FOLDER,Ut(m),process.execPath,[I])));let p;try{p=await ws(process.execPath,[...l,h,...r],{cwd:i,env:f,stdin:s,stdout:o,stderr:a})}finally{await R.removePromise(f.BERRY_BIN_FOLDER)}return p.code})}async function uwe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await fJ(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ar={};We(Ar,{convertToZip:()=>F0e,extractArchiveTo:()=>L0e,makeArchiveFromDirectory:()=>v0e,safeTime:()=>Ti});var y8=X(require("stream")),B8=X(i8());var d8=X(require("os")),C8=X(p8()),m8=X(require("worker_threads")),HS=class{constructor(e){this.source=e;this.pool=[];this.queue=new C8.default({concurrency:d8.cpus().length});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new m8.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var w8=X(Zi()),Q8=X(E8()),Ti=456789e3;async function v0e(t,{baseFs:e=new It,prefixPath:r=pe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await ri(),o;if(n)o=new Er(null,{libzip:s,level:i});else{let l=await R.mktempPromise(),c=w.join(l,"archive.zip");o=new Er(c,{create:!0,libzip:s,level:i})}let a=w.resolve(pe.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var b8;async function F0e(t,e){let r=await R.mktempPromise(),i=w.join(r,"archive.zip");return b8||(b8=new HS(Q8.getContent())),await b8.run({tmpFile:i,tgz:t,opts:e}),new Er(i,{libzip:await ri(),level:e.compressionLevel})}async function*R0e(t){let e=new B8.default.Parse,r=new y8.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function L0e(t,e,{stripComponents:r=0,prefixPath:i=pe.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of R0e(t)){if(n(a))continue;let l=w.normalize(npath.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=w.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(w.dirname(u),{chmod:493,utimes:[Ti,Ti]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,Ti,Ti);break;case"OldFile":case"File":e.mkdirpSync(w.dirname(u),{chmod:493,utimes:[Ti,Ti]}),e.writeFileSync(u,await w8.bufferStream(a)),e.chmodSync(u,g),e.utimesSync(u,Ti,Ti);break;case"SymbolicLink":e.mkdirpSync(w.dirname(u),{chmod:493,utimes:[Ti,Ti]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Ti,Ti);break}}return e}var vn={};We(vn,{emitList:()=>M0e,emitTree:()=>v8,treeNodeToJson:()=>k8,treeNodeToTreeify:()=>x8});var P8=X(S8());function x8(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push($C(e,l,qa.BOLD)),typeof c!="undefined"&&g.push(Ue(e,c[0],c[1])),g.length===0&&g.push($C(e,`${a}`,qa.BOLD));let h=g.join(": "),f=s[h]={};typeof u!="undefined"&&i(u,f)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function k8(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Nl(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Nl(r.value[0],r.value[1]),children:n}};return e(t)}function M0e(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));v8({children:n},{configuration:e,stdout:r,json:i})}function v8(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(k8(l))} -`);return}let s=P8.asTree(x8(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 -$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var GS=X(require("fs"));var F8=X(Zi());var N0e=8,lt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==Pa?`c${o}`:"";this.cacheKey=[N0e,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new lt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Rl(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=O0e(r).slice(0,10);return`${Rl(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?w.resolve(this.cwd,this.getVersionFilename(e)):r===null||qS(r)!==this.cacheKey?null:w.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?w.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await R.existsPromise(this.cwd))throw new Ge(J.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await R.mkdirPromise(this.cwd,{recursive:!0});let e=w.resolve(this.cwd,".gitignore");await R.changeFilePromise(e,`/.gitignore -*.flock -`)}(this.mirrorCwd||!this.immutable)&&await R.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new It,c=async(N,O=null)=>{let v=!o||!r?`${this.cacheKey}/${await jC(N)}`:r;if(O!==null){let U=!o||!r?`${this.cacheKey}/${await jC(O)}`:r;if(v!==U)throw new Ge(J.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&v!==r){let U;switch(this.check?U="throw":qS(r)!==qS(v)?U="update":U=this.configuration.get("checksumBehavior"),U){case"ignore":return r;case"update":return v;default:case"throw":throw new Ge(J.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return v},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${$e(this.configuration,e)}`);let O=await s(),v=O.getRealPath();return O.saveAndClose(),await R.chmodPromise(v,420),await c(N,v)},g=async()=>{if(a===null||!await R.existsPromise(a)){let v=await s(),U=v.getRealPath();return v.saveAndClose(),{source:"loader",path:U}}let N=await R.mktempPromise(),O=w.join(N,this.getVersionFilename(e));return await R.copyFilePromise(a,O,GS.default.constants.COPYFILE_FICLONE),{source:"mirror",path:O}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${$e(this.configuration,e)}`);if(this.immutable)throw new Ge(J.IMMUTABLE_CACHE,`Cache entry required but missing for ${$e(this.configuration,e)}`);let{path:N,source:O}=await g();await R.chmodPromise(N,420);let v=await c(N),U=this.getLocatorPath(e,v);if(!U)throw new Error("Assertion failed: Expected the cache path to be available");let re=null;if(O!=="mirror"&&a!==null){let F=await R.mktempPromise();re=w.join(F,this.getVersionFilename(e)),await R.copyFilePromise(N,re,GS.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(U,async()=>await this.writeFileWithLock(O==="mirror"?null:a,async()=>(await R.movePromise(N,U),re&&a&&await R.movePromise(re,a),[U,v])))},f=async()=>{let O=(async()=>{let v=this.getLocatorPath(e,r),U=v!==null?await l.existsPromise(v):!1,re=U?i:n;if(re&&re(),U){let F=null,A=v;return this.check?F=await u(A):F=await c(A),[A,F]}else return h()})();this.mutexes.set(e.locatorHash,O);try{return await O}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await f();this.markedFiles.add(p);let I=null,y=await ri(),B=new Vu(()=>F8.prettifySyncErrors(()=>I=new Er(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${$e(this.configuration,e)}: ${N}`),w);return[new xa(p,{baseFs:B,pathUtils:w}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await R.lockPromise(e,async()=>await r())}};function qS(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function O0e(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var K8=X(L8()),ZI=X(og());var U8=X(Zm()),VS=X(require("stream"));var M8={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==gt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==gt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Yt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Hg(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(J.INVALID_MANIFEST,i.message)}}};var WS=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new Ge(J.FETCHER_NOT_FOUND,`${$e(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Qc=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Rt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${$e(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var N8=X(hr());var bc=/^(?!v)[a-z0-9._-]+$/i,zS=class{supportsDescriptor(e,r){return!!(kn(e.range)||bc.test(e.range))}supportsLocator(e,r){return!!(N8.default.valid(e.reference)||bc.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return Lg(i,e)}forwardDescriptor(e,r){return Yt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return $r(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Yh=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=$r(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=$r(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Rl(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=_t.makeVirtualPath(s,o,n),l=new xa(a,{baseFs:r.packageFs,pathUtils:w});return{...r,packageFs:l}}};var Dc=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Dc.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Dc.protocol)}supportsDescriptor(e,r){return Dc.isVirtualDescriptor(e)}supportsLocator(e,r){return Dc.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},VI=Dc;VI.protocol="virtual:";var jh=class{supportsDescriptor(e,r){return!!(e.range.startsWith(jh.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(jh.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(jh.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:nt.SOFT,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},ai=jh;ai.protocol="workspace:";var XS=class{supports(e){return!!e.reference.startsWith(ai.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new Ct(i),prefixPath:pe.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(ai.protocol.length))}};var zt=X(Zi());var O8=X(require("module"));function T8(){return new Set(O8.default.builtinModules||Object.keys(process.binding("natives")))}var K0e=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput"]),_I="yarn_",ZS=".yarnrc.yml",_S="yarn.lock",U0e="********",Ae;(function(t){t.ANY="ANY",t.BOOLEAN="BOOLEAN",t.ABSOLUTE_PATH="ABSOLUTE_PATH",t.LOCATOR="LOCATOR",t.LOCATOR_LOOSE="LOCATOR_LOOSE",t.NUMBER="NUMBER",t.STRING="STRING",t.SECRET="SECRET",t.SHAPE="SHAPE",t.MAP="MAP"})(Ae||(Ae={}));var kA=be,$S={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:Ae.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:Ae.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:Ae.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:Ae.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:Ae.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:Ae.ABSOLUTE_PATH,default:XB()},cacheFolder:{description:"Folder where the cache files must be written",type:Ae.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:Ae.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Pa},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:Ae.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:Ae.STRING,default:_S},installStatePath:{description:"Path of the file where the install state will be persisted",type:Ae.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:Ae.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:Ae.STRING,default:$I()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:Ae.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:Ae.BOOLEAN,default:ZC,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:Ae.BOOLEAN,default:o0,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:Ae.BOOLEAN,default:ZI.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:Ae.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:Ae.BOOLEAN,default:!ZI.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:Ae.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:Ae.BOOLEAN,default:ZI.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:Ae.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:Ae.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:Ae.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:Ae.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:Ae.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:Ae.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:Ae.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ae.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ae.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ae.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:Ae.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:Ae.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:Ae.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:Ae.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:Ae.MAP,valueDefinition:{description:"",type:Ae.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:Ae.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ae.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ae.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ae.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:Ae.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:Ae.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:Ae.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:Ae.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:Ae.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:Ae.STRING,values:Object.values(Dn),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:Ae.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:Ae.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:Ae.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:Ae.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:Ae.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:Ae.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:Ae.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:Ae.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:Ae.MAP,valueDefinition:{description:"A range",type:Ae.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:Ae.MAP,valueDefinition:{description:"A semver range",type:Ae.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:Ae.MAP,valueDefinition:{description:"The peerDependency meta",type:Ae.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:Ae.BOOLEAN,default:!1}}}}}}}};function tP(t,e,r,i,n){if(i.isArray||i.type===Ae.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>eP(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>eP(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return eP(t,e,r,i,n)}function eP(t,e,r,i,n){var a;switch(i.type){case Ae.ANY:return r;case Ae.SHAPE:return H0e(t,e,r,i,n);case Ae.MAP:return Y0e(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===Ae.BOOLEAN&&typeof r!="string")return zt.parseBoolean(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=zt.replaceEnvVariables(r,{env:process.env});switch(i.type){case Ae.ABSOLUTE_PATH:return w.resolve(n,npath.toPortablePath(l));case Ae.LOCATOR_LOOSE:return Ga(l,!1);case Ae.NUMBER:return parseInt(l);case Ae.LOCATOR:return Ga(l);case Ae.BOOLEAN:return zt.parseBoolean(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function H0e(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new UsageError(`Object configuration settings "${e}" must be an object`);let s=rP(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new UsageError(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,tP(t,l,a,i.properties[o],n))}return s}function Y0e(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new UsageError(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,tP(t,c,a,u,n))}return s}function rP(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case Ae.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,rP(t,s));return i}break;case Ae.MAP:return e.isArray&&!r?[]:new Map;case Ae.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?w.isAbsolute(e.default)?w.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>w.resolve(t.projectCwd,i)):w.resolve(t.projectCwd,e.default);default:return e.default}}function eE(t,e,r){if(e.type===Ae.SECRET&&typeof t=="string"&&r.hideSecrets)return U0e;if(e.type===Ae.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return npath.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(eE(n,e,r));return i}if(e.type===Ae.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,eE(s,e.valueDefinition,r));return i}if(e.type===Ae.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,eE(s,o,r))}return i}return t}function j0e(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(_I)&&(e=K8.default(e.slice(_I.length)),t[e]=r);return t}function $I(){let t=`${_I}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return ZS}var _o;(function(t){t[t.LOCKFILE=0]="LOCKFILE",t[t.MANIFEST=1]="MANIFEST",t[t.NONE=2]="NONE"})(_o||(_o={}));var Ws=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Ws(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings($S);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=j0e();delete a.rcFilename;let l=await Ws.findRcFiles(e),c=await Ws.findHomeRcFile();if(c){let y=l.find(B=>B.path===c.path);y?y.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:y,yarnPath:B,ignorePath:P,lockfileFilename:k})=>({ignoreCwd:y,yarnPath:B,ignorePath:P,lockfileFilename:k}),g=({ignoreCwd:y,yarnPath:B,ignorePath:P,lockfileFilename:k,...N})=>N,h=new Ws(e);h.importSettings(u($S)),h.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:B,data:P}of l)h.useWithSource(y,u(P),B,{strict:!1});if(s){let y=h.get("yarnPath"),B=h.get("ignorePath");if(y!==null&&!B)return h}let f=h.get("lockfileFilename"),p;switch(i){case 0:p=await Ws.findProjectCwd(e,f);break;case 1:p=await Ws.findProjectCwd(e,null);break;case 2:R.existsSync(w.join(e,"package.json"))?p=w.resolve(e):p=null;break}h.startingCwd=e,h.projectCwd=p,h.importSettings(g($S));let m=new Map([["@@core",M8]]),I=y=>y.__esModule?y.default:y;if(r!==null){for(let N of r.plugins.keys())m.set(N,I(r.modules.get(N)));let y=new Map;for(let N of T8())y.set(N,()=>zt.dynamicRequire(N));for(let[N,O]of r.modules)y.set(N,()=>O);let B=new Set,P=N=>N.default||N,k=(N,O)=>{let{factory:v,name:U}=zt.dynamicRequire(npath.fromPortablePath(N));if(B.has(U))return;let re=new Map(y),F=q=>{if(re.has(q))return re.get(q)();throw new UsageError(`This plugin cannot access the package referenced via ${q} which is neither a builtin, nor an exposed entry`)},A=zt.prettifySyncErrors(()=>P(v(F)),q=>`${q} (when initializing ${U}, defined in ${O})`);y.set(U,()=>A),B.add(U),m.set(U,A)};if(a.plugins)for(let N of a.plugins.split(";")){let O=w.resolve(e,npath.toPortablePath(N));k(O,"")}for(let{path:N,cwd:O,data:v}of l)if(!!o&&!!Array.isArray(v.plugins))for(let U of v.plugins){let re=typeof U!="string"?U.path:U,F=w.resolve(O,npath.toPortablePath(re));k(F,N)}}for(let[y,B]of m)h.activatePlugin(y,B);h.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:B,data:P,strict:k}of l)h.useWithSource(y,g(P),B,{strict:k!=null?k:n});return h.get("enableGlobalCache")&&(h.values.set("cacheFolder",`${h.get("globalFolder")}/cache`),h.sources.set("cacheFolder","")),await h.refreshPackageExtensions(),h}static async findRcFiles(e){let r=$I(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=w.join(s,r);if(R.existsSync(o)){let a=await R.readFilePromise(o,"utf8"),l;try{l=kr(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new UsageError(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=w.dirname(s)}return i}static async findHomeRcFile(){let e=$I(),r=rg(),i=w.join(r,e);if(R.existsSync(i)){let n=await R.readFilePromise(i,"utf8"),s=kr(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,R.existsSync(w.join(s,"package.json"))&&(i=s),r!==null){if(R.existsSync(w.join(s,r))){i=s;break}}else if(i!==null)break;n=w.dirname(s)}return i}static async updateConfiguration(e,r){let i=$I(),n=w.join(e,i),s=R.existsSync(n)?kr(await R.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await R.changeFilePromise(n,Os(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=rg();return await Ws.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,rP(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${Ue(this,e,be.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&K0e.has(o))continue;if(o==="rcFilename")throw new UsageError(`The rcFilename settings can only be set via ${`${_I}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new UsageError(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===Ae.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=tP(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${Ue(this,e,be.PATH)}`,u}if(l.type===Ae.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new UsageError(`Couldn't find a configuration settings named "${e}"`);return eE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=R.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ue(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ue(this,"STDERR","red")}`);s=new VS.PassThrough,s.pipe(l),s.pipe(a),o=new VS.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new Qc([new VI,new ai,new zS,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new WS([new Yh,new XS,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new je;o.load(n,{yamlCompatibilityMode:!0});let a=zt.getArrayWithDefault(e,i.identHash),l=[];a.push([i.range,l]);let c={status:Or.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:yr.Dependency,descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:yr.PeerDependency,descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[h,f]of Object.entries(g))l.push({...c,type:yr.PeerDependencyMeta,selector:u,key:h,value:f})};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Po(i,!0),zt.convertMapsToIndexableObjects(n),{userProvided:!0})}normalizePackage(e){let r=Mg(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!yh(s,o))for(let l of a)switch(l.status===Or.Inactive&&(l.status=Or.Redundant),l.type){case yr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Or.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case yr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Or.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case yr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=Or.Active,zt.getFactoryWithDefault(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:zt.assertNever(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Do("types",o),l=gt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=di(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Yt(o,"*"))}return r.dependencies=new Map(zt.sortMap(r.dependencies,([,s])=>Ci(s))),r.peerDependencies=new Map(zt.sortMap(r.peerDependencies,([,s])=>Ci(s))),r}getLimit(e){return zt.getFactoryWithDefault(this.limits,e,()=>U8.default(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},oe=Ws;oe.telemetry=null;var Ki;(function(t){t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE"})(Ki||(Ki={}));var zs=class extends ti{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;jg(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${Ue(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} -`)}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` -`),this.stdout.write(`${Ue(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. -`),this.suggestInstall&&this.stdout.write(`${Ue(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(e){return yD(e,{configuration:this.configuration,json:!1})}};var IE=X(require("crypto")),F5=X(wz()),EE=X(k5()),R5=X(Zm()),L5=X(hr()),xP=X(require("util")),kP=X(require("v8")),vP=X(require("zlib"));var Dxe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>XC({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],SP=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=w.join(e.cwd,e.configuration.get("lockfileFilename"));if(!R.existsSync(i))return;let n=await R.readFilePromise(i,"utf8"),s=kr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=Kg(a);if(!l){r.reportWarning(J.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}kn(l.range)&&(l=Yt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[f,p]of Dxe){let m=u.match(f);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(J.YARN_IMPORT_FAILED,`${Rt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let h=l;try{let f=Fl(l.range),p=Kg(f.selector,!0);p&&(h=p)}catch{}o.set(l.descriptorHash,$r(h,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var mE=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(WC(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(WC(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var PP=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new Ge(J.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new Ge(J.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Ge(J.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var mr=class extends ti{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var v5=X(XQ());var sf=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=R.existsSync(w.join(this.cwd,je.fileName))?await je.find(this.cwd):new je,this.relativeCwd=w.relative(this.project.cwd,this.cwd)||pe.dot;let e=this.manifest.name?this.manifest.name:Do(null,`${this.computeCandidateName()}-${_r(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=$r(e,r),this.anchoredDescriptor=Yt(this.locator,`${ai.protocol}${this.relativeCwd}`),this.anchoredLocator=$r(this.locator,`${ai.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await v5.default(i,{absolute:!0,cwd:npath.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=w.resolve(this.cwd,npath.toPortablePath(s));R.existsSync(w.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===ai.protocol&&w.normalize(n)===this.relativeCwd||i===ai.protocol&&n==="*")return!0;let s=kn(n);return s?i===ai.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${w.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=je.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=w.join(this.cwd,je.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await R.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var Gr=X(Zi());var FP=4,Sxe=1,Pxe=/ *, */g,M5=/\/$/,xxe=32,kxe=xP.promisify(vP.default.gzip),vxe=xP.promisify(vP.default.gunzip),RP={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},ke=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new UsageError(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,R.existsSync(w.join(s,ft.manifest))){i=s;break}n=w.dirname(s)}let o=new ke(e.projectCwd,{configuration:e});(c=oe.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=oe.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=oe.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((h,f)=>h+f.manifest.dependencies.size+f.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new UsageError(`The nearest package directory (${Ue(e,i,be.PATH)}) doesn't seem to be part of the project declared in ${Ue(e,o.cwd,be.PATH)}. - -- If the project directory is right, it might be that you forgot to list ${Ue(e,w.relative(o.cwd,i),be.PATH)} as a workspace. -- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=w.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(R.existsSync(e)){let i=await R.readFilePromise(e,"utf8");this.lockFileChecksum=_r(`${Sxe}`,i);let n=kr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=Ga(l.resolution,!0),u=new je;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,h=u.languageName||r,f=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,B=u.bin;if(l.checksum!=null){let P=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,P)}if(s>=FP){let P={...c,version:g,languageName:h,linkType:f,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:B};this.originalPackages.set(P.locatorHash,P)}for(let P of a.split(Pxe)){let k=Po(P);if(this.storedDescriptors.set(k.descriptorHash,k),s>=FP)this.storedResolutions.set(k.descriptorHash,c.locatorHash);else{let N=zC(c);N.descriptorHash!==k.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(k.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new sf(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${fr(this.configuration,r.locator)}: ${npath.fromPortablePath(e)} conflicts with ${npath.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){w.isAbsolute(e)||(e=w.resolve(this.cwd,e)),e=w.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)w.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${fr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){So(e)&&(e=Ng(e));let r=this.tryWorkspaceByIdent(e);return r===null||!r.accepts(e.range)?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Rt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){Wn(e)&&(e=Og(e));let r=this.tryWorkspaceByIdent(e);return r===null||r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${$e(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Hg(this.configuration,e)} (${Ue(this.configuration,w.join(e.cwd,ft.manifest),be.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)So(i)&&e.dependencies.set(r,Ng(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(gt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!L5.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new mr,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(M5,"")!==e.replace(M5,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new SP;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new Qc([new mE,new PP(r)]):new Qc([new mE,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,h=new Map,f=[],p=async v=>{let U=await Gr.prettifyAsyncErrors(async()=>await n.resolve(v,o),F=>`${$e(this.configuration,v)}: ${F}`);if(!e0(v,U))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${$e(this.configuration,v)} to ${$e(this.configuration,U)})`);u.set(U.locatorHash,U);let re=this.configuration.normalizePackage(U);for(let[F,A]of re.dependencies){let q=await this.configuration.reduceHook($=>$.reduceDependency,A,this,re,A,{resolver:n,resolveOptions:o});if(!Tg(A,q))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Z=n.bindDescriptor(q,v,o);re.dependencies.set(F,Z)}return f.push(Promise.all([...re.dependencies.values()].map(F=>B(F)))),l.set(re.locatorHash,re),re},m=async v=>{let U=g.get(v.locatorHash);if(typeof U!="undefined")return U;let re=Promise.resolve().then(()=>p(v));return g.set(v.locatorHash,re),re},I=async(v,U)=>{let re=await B(U);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,re.locatorHash),re},y=async v=>{let U=this.resolutionAliases.get(v.descriptorHash);if(typeof U!="undefined")return I(v,this.storedDescriptors.get(U));let re=n.getResolutionDependencies(v,o),F=new Map(await Promise.all(re.map(async Z=>[Z.descriptorHash,await B(Z)]))),q=(await Gr.prettifyAsyncErrors(async()=>await n.getCandidates(v,F,o),Z=>`${Rt(this.configuration,v)}: ${Z}`))[0];if(typeof q=="undefined")throw new Error(`${Rt(this.configuration,v)}: No candidates found`);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,q.locatorHash),m(q)},B=v=>{let U=h.get(v.descriptorHash);if(typeof U!="undefined")return U;a.set(v.descriptorHash,v);let re=Promise.resolve().then(()=>y(v));return h.set(v.descriptorHash,re),re};for(let v of this.workspaces){let U=v.anchoredDescriptor;f.push(B(U))}for(;f.length>0;){let v=[...f];f.length=0,await Promise.all(v)}let P=new Set(this.resolutionAliases.values()),k=new Set(l.keys()),N=new Set,O=new Map;Fxe({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:P,optionalBuilds:k,peerRequirements:O,allDescriptors:a,allResolutions:c,allPackages:l});for(let v of P)a.delete(v),c.delete(v);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=k,this.peerRequirements=O,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i}){let n=i||this.configuration.makeFetcher(),s={checksums:this.storedChecksums,project:this,cache:e,fetcher:n,report:r},o=Array.from(new Set(Gr.sortMap(this.storedResolutions.values(),[u=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");return tn(g)}]))),a=!1,l=ti.progressViaCounter(o.length);r.reportProgress(l);let c=R5.default(xxe);if(await r.startCacheReport(async()=>{await Promise.all(o.map(u=>c(async()=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");if(Wn(g))return;let h;try{h=await n.fetch(g,s)}catch(f){f.message=`${$e(this.configuration,g)}: ${f.message}`,r.reportExceptionOnce(f),a=f;return}h.checksum?this.storedChecksums.set(g.locatorHash,h.checksum):this.storedChecksums.delete(g.locatorHash),h.releaseFs&&h.releaseFs()}).finally(()=>{l.tick()})))}),a)throw a}async linkEverything({cache:e,report:r,fetcher:i,skipBuild:n}){var re;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(F=>{let A=F.makeInstaller(l),q=A.getCustomDataKey(),Z=this.installersCustomData.get(q);return typeof Z!="undefined"&&A.attachCustomData(Z),[F,A]})),u=new Map,g=new Map,h=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async F=>{let A=this.storedPackages.get(F);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[F,await s.fetch(A,o)]})));for(let F of this.accessibleLocators){let A=this.storedPackages.get(F);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let q=f.get(A.locatorHash);if(typeof q=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let Z=this.tryWorkspaceByLocator(A);if(Z!==null){let $=[],{scripts:T}=Z.manifest;for(let Qe of["preinstall","install","postinstall"])T.has(Qe)&&$.push([Ki.SCRIPT,Qe]);try{for(let Qe of c.values())if((await Qe.installPackage(A,q)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{q.releaseFs&&q.releaseFs()}let G=w.join(q.packageFs.getRealPath(),q.prefixPath);g.set(A.locatorHash,G),!Wn(A)&&$.length>0&&h.set(A.locatorHash,{directives:$,buildLocations:[G]})}else{let $=a.find(Qe=>Qe.supportsPackage(A,l));if(!$)throw new Ge(J.LINKER_NOT_FOUND,`${$e(this.configuration,A)} isn't supported by any available linker`);let T=c.get($);if(!T)throw new Error("Assertion failed: The installer should have been registered");let G;try{G=await T.installPackage(A,q)}finally{q.releaseFs&&q.releaseFs()}u.set(A.locatorHash,$),g.set(A.locatorHash,G.packageLocation),G.buildDirective&&G.packageLocation&&h.set(A.locatorHash,{directives:G.buildDirective,buildLocations:[G.packageLocation]})}}let p=new Map;for(let F of this.accessibleLocators){let A=this.storedPackages.get(F);if(!A)throw new Error("Assertion failed: The locator should have been registered");let q=this.tryWorkspaceByLocator(A)!==null,Z=async($,T)=>{let G=g.get(A.locatorHash);if(typeof G=="undefined")throw new Error(`Assertion failed: The package (${$e(this.configuration,A)}) should have been registered`);let Qe=[];for(let Pe of A.dependencies.values()){let He=this.storedResolutions.get(Pe.descriptorHash);if(typeof He=="undefined")throw new Error(`Assertion failed: The resolution (${Rt(this.configuration,Pe)}, from ${$e(this.configuration,A)})should have been registered`);let Re=this.storedPackages.get(He);if(typeof Re=="undefined")throw new Error(`Assertion failed: The package (${He}, resolved from ${Rt(this.configuration,Pe)}) should have been registered`);let ee=this.tryWorkspaceByLocator(Re)===null?u.get(He):null;if(typeof ee=="undefined")throw new Error(`Assertion failed: The package (${He}, resolved from ${Rt(this.configuration,Pe)}) should have been registered`);ee===$||q||ee===null?g.get(Re.locatorHash)!==null&&Qe.push([Pe,Re]):G!==null&&Gr.getArrayWithDefault(p,He).push(G)}G!==null&&await T.attachInternalDependencies(A,Qe)};if(q)for(let[$,T]of c)await Z($,T);else{let $=u.get(A.locatorHash);if(!$)throw new Error("Assertion failed: The linker should have been found");let T=c.get($);if(!T)throw new Error("Assertion failed: The installer should have been registered");await Z($,T)}}for(let[F,A]of p){let q=this.storedPackages.get(F);if(!q)throw new Error("Assertion failed: The package should have been registered");let Z=u.get(q.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let $=c.get(Z);if(!$)throw new Error("Assertion failed: The installer should have been registered");await $.attachExternalDependents(q,A)}let m=new Map;for(let F of c.values()){let A=await F.finalizeInstall();for(let q of(re=A==null?void 0:A.records)!=null?re:[])h.set(q.locatorHash,{directives:q.buildDirective,buildLocations:q.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(F.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n)return;let I=new Set(this.storedPackages.keys()),y=new Set(h.keys());for(let F of y)I.delete(F);let B=IE.createHash("sha512");B.update(process.versions.node),await this.configuration.triggerHook(F=>F.globalHashGeneration,this,F=>{B.update("\0"),B.update(F)});let P=B.digest("hex"),k=new Map,N=F=>{let A=k.get(F.locatorHash);if(typeof A!="undefined")return A;let q=this.storedPackages.get(F.locatorHash);if(typeof q=="undefined")throw new Error("Assertion failed: The package should have been registered");let Z=IE.createHash("sha512");Z.update(F.locatorHash),k.set(F.locatorHash,"");for(let $ of q.dependencies.values()){let T=this.storedResolutions.get($.descriptorHash);if(typeof T=="undefined")throw new Error(`Assertion failed: The resolution (${Rt(this.configuration,$)}) should have been registered`);let G=this.storedPackages.get(T);if(typeof G=="undefined")throw new Error("Assertion failed: The package should have been registered");Z.update(N(G))}return A=Z.digest("hex"),k.set(F.locatorHash,A),A},O=(F,A)=>{let q=IE.createHash("sha512");q.update(P),q.update(N(F));for(let Z of A)q.update(Z);return q.digest("hex")},v=new Map,U=!1;for(;y.size>0;){let F=y.size,A=[];for(let q of y){let Z=this.storedPackages.get(q);if(!Z)throw new Error("Assertion failed: The package should have been registered");let $=!0;for(let Qe of Z.dependencies.values()){let Pe=this.storedResolutions.get(Qe.descriptorHash);if(!Pe)throw new Error(`Assertion failed: The resolution (${Rt(this.configuration,Qe)}) should have been registered`);if(y.has(Pe)){$=!1;break}}if(!$)continue;y.delete(q);let T=h.get(Z.locatorHash);if(!T)throw new Error("Assertion failed: The build directive should have been registered");let G=O(Z,T.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===G){v.set(Z.locatorHash,G);continue}U||(await this.persistInstallStateFile(),U=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(J.MUST_REBUILD,`${$e(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(J.MUST_BUILD,`${$e(this.configuration,Z)} must be built because it never has been before or the last one failed`);for(let Qe of T.buildLocations){if(!w.isAbsolute(Qe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${Qe})`);A.push((async()=>{for(let[Pe,He]of T.directives){let Re=`# This file contains the result of Yarn building a package (${tn(Z)}) -`;switch(Pe){case Ki.SCRIPT:Re+=`# Script name: ${He} -`;break;case Ki.SHELLCODE:Re+=`# Script code: ${He} -`;break}let ee=null;if(!await R.mktempPromise(async Ee=>{let le=w.join(Ee,"build.log"),{stdout:fe,stderr:ue}=this.configuration.getSubprocessStreams(le,{header:Re,prefix:$e(this.configuration,Z),report:r}),De;try{switch(Pe){case Ki.SCRIPT:De=await rI(Z,He,[],{cwd:Qe,project:this,stdin:ee,stdout:fe,stderr:ue});break;case Ki.SHELLCODE:De=await wD(Z,He,[],{cwd:Qe,project:this,stdin:ee,stdout:fe,stderr:ue});break}}catch(W){ue.write(W.stack),De=1}if(fe.end(),ue.end(),De===0)return v.set(Z.locatorHash,G),!0;R.detachTemp(Ee);let z=`${$e(this.configuration,Z)} couldn't be built successfully (exit code ${Ue(this.configuration,De,be.NUMBER)}, logs can be found here: ${Ue(this.configuration,le,be.PATH)})`;return this.optionalBuilds.has(Z.locatorHash)?(r.reportInfo(J.BUILD_FAILED,z),v.set(Z.locatorHash,G),!0):(r.reportError(J.BUILD_FAILED,z),!1)}))return}})())}}if(await Promise.all(A),F===y.size){let q=Array.from(y).map(Z=>{let $=this.storedPackages.get(Z);if(!$)throw new Error("Assertion failed: The package should have been registered");return $e(this.configuration,$)}).join(", ");r.reportError(J.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${q})`);break}}this.storedBuildState=v}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=oe.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=Or.Inactive;let i=w.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await R.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new Ge(J.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let h=Ue(this.configuration,g,be.PACKAGE_EXTENSION);switch(g.status){case Or.Inactive:e.report.reportWarning(J.UNUSED_PACKAGE_EXTENSION,`${h}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case Or.Redundant:e.report.reportWarning(J.REDUNDANT_PACKAGE_EXTENSION,`${h}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ll(n,this.generateLockfile());if(c!==n){let u=F5.structuredPatch(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let h of g.lines)h.startsWith("+")?e.report.reportError(J.FROZEN_LOCKFILE_EXCEPTION,Ue(this.configuration,h,be.ADDED)):h.startsWith("-")?e.report.reportError(J.FROZEN_LOCKFILE_EXCEPTION,Ue(this.configuration,h,be.REMOVED)):e.report.reportInfo(null,Ue(this.configuration,h,"grey"))}throw e.report.reportSeparator(),new Ge(J.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===Or.Active&&((l=oe.telemetry)==null||l.reportPackageExtension(Nl(g,be.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>GC(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{await this.linkEverything(e);let c=await Promise.all(s.map(async u=>GC(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:FP};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let h of s){let f=this.storedDescriptors.get(h);if(!f)throw new Error("Assertion failed: The descriptor should have been registered");a.push(f)}let l=a.map(h=>Ci(h)).sort().join(", "),c=new je;c.version=o.linkType===nt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let h=g.indexOf("/");if(h===-1)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");let f=g.slice(0,h),p=g.slice(h+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=f),f===r.__metadata.cacheKey?u=p:u=g}r[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:tn(o),checksum:u}}return`${[`# This file is generated by running "yarn install" inside your project. -`,`# Manual changes might be lost - proceed with caution! -`].join("")} -`+Os(r)}async persistLockfile(){let e=w.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await R.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(RP))e.push(...o);let r=EE.default(this,e),i=kP.default.serialize(r),n=_r(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await R.mkdirPromise(w.dirname(s),{recursive:!0}),await R.writeFilePromise(s,await kxe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!R.existsSync(n)){r&&await this.applyLightResolution();return}let s=await vxe(await R.readFilePromise(n));this.installStateChecksum=_r(s);let o=kP.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,EE.default(o,RP.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,EE.default(o,RP.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new mr}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!VB(e.cwd,this.cwd)||!await R.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await R.readdirPromise(e.cwd)){if(i.has(a))continue;let l=w.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(J.IMMUTABLE_CACHE,`${Ue(this.configuration,w.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(J.UNUSED_CACHE_ENTRY,`${Ue(this.configuration,w.basename(l),"magenta")} appears to be unused - removing`),await R.removePromise(l)))}n&&s!==0&&r.reportInfo(J.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function Fxe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var re;let u=new Map,g=[],h=new Map,f=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(F=>{let A=F.anchoredLocator.locatorHash,q=i.get(A);if(typeof q=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,Mg(q)]})),B=()=>{let F=R.mktempSync(),A=w.join(F,"stacktrace.log"),q=String(g.length+1).length,Z=g.map(($,T)=>`${`${T+1}.`.padStart(q," ")} ${tn($)} -`).join("");throw R.writeFileSync(A,Z),R.detachTemp(F),new Ge(J.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${npath.fromPortablePath(A)}`)},P=F=>{let A=r.get(F.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let q=i.get(A);if(!q)throw new Error("Assertion failed: The package could not be found");return q},k=(F,A,{top:q,optional:Z})=>{g.length>1e3&&B(),g.push(F);let $=N(F,A,{top:q,optional:Z});return g.pop(),$},N=(F,A,{top:q,optional:Z})=>{if(n.has(F.locatorHash))return;n.add(F.locatorHash),Z||s.delete(F.locatorHash);let $=i.get(F.locatorHash);if(!$){if(c)return;throw new Error(`Assertion failed: The package (${$e(t.configuration,F)}) should have been registered`)}let T=[],G=[],Qe=[],Pe=[],He=[];for(let ee of Array.from($.dependencies.values())){if($.peerDependencies.has(ee.identHash)&&$.locatorHash!==q)continue;if(So(ee))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ee.descriptorHash);let ne=Z;if(!ne){let ie=$.dependenciesMeta.get(gt(ee));if(typeof ie!="undefined"){let ae=ie.get(null);typeof ae!="undefined"&&ae.optional&&(ne=!0)}}let Ee=r.get(ee.descriptorHash);if(!Ee){if(c)continue;throw new Error(`Assertion failed: The resolution (${Rt(t.configuration,ee)}) should have been registered`)}let le=y.get(Ee)||i.get(Ee);if(!le)throw new Error(`Assertion failed: The package (${Ee}, resolved from ${Rt(t.configuration,ee)}) should have been registered`);if(le.peerDependencies.size===0){k(le,new Map,{top:q,optional:ne});continue}let fe=u.get(le.locatorHash);typeof fe=="number"&&fe>=2&&B();let ue,De,z=new Set,W;G.push(()=>{ue=_Q(ee,F.locatorHash),De=$Q(le,F.locatorHash),$.dependencies.delete(ee.identHash),$.dependencies.set(ue.identHash,ue),r.set(ue.descriptorHash,De.locatorHash),e.set(ue.descriptorHash,ue),i.set(De.locatorHash,De),T.push([le,ue,De])}),Qe.push(()=>{var ie;W=new Map;for(let ae of De.peerDependencies.values()){let me=$.dependencies.get(ae.identHash);if(!me&&Tg(F,ae)&&(me=zC(F),e.set(me.descriptorHash,me),r.set(me.descriptorHash,F.locatorHash),o.delete(me.descriptorHash)),!me&&De.dependencies.has(ae.identHash)){De.peerDependencies.delete(ae.identHash);continue}me||(me=Yt(ae,"missing:")),De.dependencies.set(me.identHash,me),So(me)&&Gr.getSetWithDefault(p,me.descriptorHash).add(De.locatorHash),h.set(me.identHash,me),me.range==="missing:"&&z.add(me.identHash),W.set(ae.identHash,(ie=A.get(ae.identHash))!=null?ie:De.locatorHash)}De.dependencies=new Map(Gr.sortMap(De.dependencies,([ae,me])=>gt(me)))}),Pe.push(()=>{if(!i.has(De.locatorHash))return;let ie=u.get(le.locatorHash),ae=typeof ie!="undefined"?ie+1:1;u.set(le.locatorHash,ae),k(De,W,{top:q,optional:ne}),u.set(le.locatorHash,ae-1)}),He.push(()=>{let ie=$.dependencies.get(ee.identHash);if(typeof ie=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ae=r.get(ie.descriptorHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Gr.getSetWithDefault(I,ae).add(F.locatorHash),!!i.has(De.locatorHash)){for(let me of De.peerDependencies.values()){let ot=W.get(me.identHash);if(typeof ot=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Gr.getArrayWithDefault(Gr.getMapWithDefault(m,ot),gt(me)).push(De.locatorHash)}for(let me of z)De.dependencies.delete(me)}})}for(let ee of[...G,...Qe])ee();let Re;do{Re=!0;for(let[ee,ne,Ee]of T){if(!i.has(Ee.locatorHash))continue;let le=Gr.getMapWithDefault(f,ee.locatorHash),fe=_r(...[...Ee.dependencies.values()].map(W=>{let ie=W.range!=="missing:"?r.get(W.descriptorHash):"missing:";if(typeof ie=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Rt(t.configuration,W)} to have been registered`);return ie===q?`${ie} (top)`:ie}),ne.identHash),ue=le.get(fe);if(typeof ue=="undefined"){le.set(fe,ne);continue}if(ue===ne)continue;Re=!1,i.delete(Ee.locatorHash),e.delete(ne.descriptorHash),r.delete(ne.descriptorHash),n.delete(Ee.locatorHash);let De=p.get(ne.descriptorHash)||[],z=[$.locatorHash,...De];p.delete(ne.descriptorHash);for(let W of z){let ie=i.get(W);typeof ie!="undefined"&&ie.dependencies.set(ne.identHash,ue)}}}while(!Re);for(let ee of[...Pe,...He])ee()};for(let F of t.workspaces){let A=F.anchoredLocator;o.delete(F.anchoredDescriptor.descriptorHash),k(A,new Map,{top:A.locatorHash,optional:!1})}var O;(function(F){F[F.NotProvided=0]="NotProvided",F[F.NotCompatible=1]="NotCompatible"})(O||(O={}));let v=[];for(let[F,A]of I){let q=i.get(F);if(typeof q=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let Z=m.get(F);if(typeof Z!="undefined")for(let $ of A){let T=i.get($);if(typeof T!="undefined")for(let[G,Qe]of Z){let Pe=di(G);if(T.peerDependencies.has(Pe.identHash))continue;let He=`p${_r($,G,F).slice(0,5)}`;a.set(He,{subject:$,requested:Pe,rootRequester:F,allRequesters:Qe});let Re=q.dependencies.get(Pe.identHash);if(typeof Re!="undefined"){let ne=(re=P(Re).version)!=null?re:"0.0.0",Ee=new Set;for(let fe of Qe){let ue=i.get(fe);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let De=ue.peerDependencies.get(Pe.identHash);if(typeof De=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");Ee.add(De.range)}[...Ee].every(fe=>yh(ne,fe))||v.push({type:1,subject:T,requested:Pe,requester:q,version:ne,hash:He,requirementCount:Qe.length})}else{let ee=q.peerDependenciesMeta.get(G);(ee==null?void 0:ee.optional)||v.push({type:0,subject:T,requested:Pe,requester:q,hash:He})}}}}let U=[F=>r0(F.subject),F=>gt(F.requested),F=>`${F.type}`];for(let F of Gr.sortMap(v,U))switch(F.type){case 0:l==null||l.reportWarning(J.MISSING_PEER_DEPENDENCY,`${$e(t.configuration,F.subject)} doesn't provide ${fr(t.configuration,F.requested)} (${Ue(t.configuration,F.hash,be.CODE)}), requested by ${fr(t.configuration,F.requester)}`);break;case 1:{let A=F.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(J.INCOMPATIBLE_PEER_DEPENDENCY,`${$e(t.configuration,F.subject)} provides ${fr(t.configuration,F.requested)} (${Ue(t.configuration,F.hash,be.CODE)}) with version ${Ug(t.configuration,F.version)}, which doesn't satisfy what ${fr(t.configuration,F.requester)} ${A}`)}break}v.length>0&&(l==null||l.reportWarning(J.UNNAMED,`Some peer dependencies are incorrectly met; run ${Ue(t.configuration,"yarn explain peer-requirements ",be.CODE)} for details, where ${Ue(t.configuration,"",be.CODE)} is the six-letter p-prefixed code`))}var LA=X(Zi()),ss;(function(t){t.VERSION="version",t.COMMAND_NAME="commandName",t.PLUGIN_NAME="pluginName",t.INSTALL_COUNT="installCount",t.PROJECT_COUNT="projectCount",t.WORKSPACE_COUNT="workspaceCount",t.DEPENDENCY_COUNT="dependencyCount",t.EXTENSION="packageExtension"})(ss||(ss={}));var of=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!R.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(ss.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(ss.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(ss.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ss.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ss.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ss.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ss.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ss.DEPENDENCY_COUNT,String(e))}reportValue(e,r){LA.getSetWithDefault(this.values,e).add(r)}reportEnumerator(e,r){LA.getSetWithDefault(this.enumerators,e).add(_r(r))}reportHit(e,r="*"){let i=LA.getMapWithDefault(this.hits,e),n=LA.getFactoryWithDefault(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return w.join(e,"telemetry.json")}sendReport(e){var u,g,h;let r=this.getRegistryPath(),i;try{i=R.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{R.mkdirSync(w.dirname(r),{recursive:!0}),R.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=f=>Db(l,f,{configuration:this.configuration}).catch(()=>{});for(let[f,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=f,m.reportType="primary";for(let B of Object.keys((h=m.enumerators)!=null?h:{}))m.enumerators[B]=m.enumerators[B].length;c(m);let I=new Map,y=20;for(let[B,P]of Object.entries(m.values))P.length>0&&I.set(B,P.slice(0,y));for(;I.size>0;){let B={};B.userId=f,B.reportType="secondary",B.metrics={};for(let[P,k]of I)B.metrics[P]=k.shift(),k.length===0&&I.delete(P);c(B)}}}applyChanges(){var o,a,l,c,u,g,h,f,p;let e=this.getRegistryPath(),r;try{r=R.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[B,P]of this.hits.get(m))y[B]=((g=y[B])!=null?g:0)+P}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(h=s[m])!=null?h:{};y[I]=[...new Set([...(f=y[I])!=null?f:[],...(p=this[m].get(I))!=null?p:[]])]}R.mkdirSync(w.dirname(e),{recursive:!0}),R.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var LP=X(require("child_process")),N5=X(og());var MP=X(require("fs"));var Oc=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function Rxe(t){let e=npath.fromPortablePath(t);process.on("SIGINT",()=>{}),e?LP.execFileSync(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):LP.execFileSync(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function yE({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new jn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var g,h,f,p,m;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!St.satisfiesWithPrereleases(s,o))throw new UsageError(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await oe.find(npath.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd");if(!c&&!u&&l===npath.toPortablePath(npath.resolve(process.argv[1]))){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!R.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{Rxe(l)}catch(I){process.exitCode=I.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!N5.isCI&&process.stdout.isTTY&&(oe.telemetry=new of(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(g=oe.telemetry)==null||g.reportVersion(t);for(let[P,k]of a.plugins.entries()){Oc.has((f=(h=P.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:h[1])!=null?f:"")&&((p=oe.telemetry)==null||p.reportPluginName(P));for(let N of k.commands||[])n.register(N)}let y=n.process(process.argv.slice(2));y.help||(m=oe.telemetry)==null||m.reportCommandName(y.path.join(" "));let B=y.cwd;if(typeof B!="undefined"&&!u){let P=MP.realpathSync(process.cwd()),k=MP.realpathSync(B);if(P!==k){process.chdir(B),await r();return}}await n.runExit(y,{cwd:npath.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>R.rmtempPromise())}function O5(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var kf={};We(kf,{BaseCommand:()=>Ce,WorkspaceRequiredError:()=>Xe,getDynamicLibs:()=>ZX,getPluginConfiguration:()=>_E,main:()=>yE,openWorkspace:()=>Xc,pluginCommands:()=>Oc});var Ce=class extends ce{constructor(){super(...arguments);this.cwd=j.String("--cwd",{hidden:!0})}};var Xe=class extends UsageError{constructor(e,r){let i=w.relative(e,r),n=w.join(e,je.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var KNe=X(hr()),UNe=X(Qo()),HNe=X(Rx()),ZX=()=>new Map([["@yarnpkg/cli",kf],["@yarnpkg/core",af],["@yarnpkg/fslib",tg],["@yarnpkg/libzip",Ah],["@yarnpkg/parsers",ph],["@yarnpkg/shell",Ch],["clipanion",fg],["semver",KNe],["typanion",UNe],["yup",HNe]]);async function Xc(t,e){let{project:r,workspace:i}=await ke.find(t,e);if(!i)throw new Xe(r.cwd,e);return i}var Hqe=X(hr()),Yqe=X(Qo()),jqe=X(Rx());var Bk={};We(Bk,{dedupeUtils:()=>oy,default:()=>SUe,suggestUtils:()=>oy});var bee=X(og());var n_=X(Lf());var oy={};We(oy,{Modifier:()=>qA,Strategy:()=>tr,Target:()=>Vt,applyModifier:()=>r_,extractDescriptorFromPath:()=>nk,extractRangeModifier:()=>t_,fetchDescriptorFrom:()=>ik,findProjectDescriptors:()=>i_,getModifier:()=>Mf,getSuggestedDescriptors:()=>Nf});var rk=X(hr()),Vt;(function(t){t.REGULAR="dependencies",t.DEVELOPMENT="devDependencies",t.PEER="peerDependencies"})(Vt||(Vt={}));var qA;(function(t){t.CARET="^",t.TILDE="~",t.EXACT=""})(qA||(qA={}));var tr;(function(t){t.KEEP="keep",t.REUSE="reuse",t.PROJECT="project",t.LATEST="latest",t.CACHE="cache"})(tr||(tr={}));function Mf(t,e){return t.exact?qA.EXACT:t.caret?qA.CARET:t.tilde?qA.TILDE:e.configuration.get("defaultSemverRangePrefix")}var sTe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function t_(t,{project:e}){let r=t.match(sTe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function r_(t,e){let{protocol:r,source:i,params:n,selector:s}=b.parseRange(t.range);return rk.default.valid(s)&&(s=`${e}${t.range}`),b.makeDescriptor(t,b.makeRange({protocol:r,source:i,params:n,selector:s}))}async function i_(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===Vt.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===Vt.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function nk(t,{cwd:e,workspace:r}){return await oTe(async i=>{w.isAbsolute(t)||(t=w.relative(r.cwd,w.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await ik(b.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new mr,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=b.convertDescriptorToLocator(u),h=await l.fetch(g,c),f=await je.find(h.prefixPath,{baseFs:h.packageFs});if(!f.name)throw new Error("Target path doesn't have a name");return b.makeDescriptor(f.name,t)})}async function Nf(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${b.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async h=>{try{await h()}catch(f){u.push(f)}};for(let h of o){if(c.length>=a)break;switch(h){case tr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${b.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case tr.REUSE:await g(async()=>{for(let{descriptor:f,locators:p}of(await i_(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(tr.KEEP))continue;let m=`(originally used by ${b.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:f,name:`Reuse ${b.prettyDescriptor(e.configuration,f)}`,reason:m})}});break;case tr.CACHE:await g(async()=>{for(let f of e.storedDescriptors.values())f.identHash===t.identHash&&c.push({descriptor:f,name:`Reuse ${b.prettyDescriptor(e.configuration,f)}`,reason:"(already used somewhere in the lockfile)"})});break;case tr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let f=e.tryWorkspaceByIdent(t);f!==null&&c.push({descriptor:f.anchoredDescriptor,name:`Attach ${b.prettyWorkspace(e.configuration,f)}`,reason:`(local workspace at ${f.cwd})`})});break;case tr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${b.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===Vt.PEER)c.push({descriptor:b.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:se.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let f=await ik(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});f&&(f=r_(f,s),c.push({descriptor:f,name:`Use ${b.prettyDescriptor(e.configuration,f)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function ik(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=b.makeDescriptor(t,e),a=new mr,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},h=c.bindDescriptor(o,n.anchoredLocator,g),f=await c.getCandidates(h,new Map,g);if(f.length===0)return null;let p=f[0],{protocol:m,source:I,params:y,selector:B}=b.parseRange(b.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),rk.default.valid(B)&&s!==!1){let P=typeof s=="string"?s:o.range;B=t_(P,{project:r})+B}return b.makeDescriptor(p,b.makeRange({protocol:m,source:I,params:y,selector:B}))}async function oTe(t){return await R.mktempPromise(async e=>{let r=oe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new lt(e,{configuration:r,check:!1,immutable:!1}))})}var Of=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=j.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=j.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=j.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=j.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=j.Boolean("-i,--interactive",!1,{description:"Reuse the specified package from other workspaces in the project"});this.cached=j.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.packages=j.Rest()}async execute(){var m;let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=Mf(this,r),a=[...s?[tr.REUSE]:[],tr.PROJECT,...this.cached?[tr.CACHE]:[],tr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await nk(I,{cwd:this.context.cwd,workspace:i}):b.parseDescriptor(I),B=aTe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),P=await Nf(y,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[y,P,B]})),u=await zs.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:B,rejections:P}]of c)if(B.filter(N=>N.descriptor!==null).length===0){let[N]=P;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(J.CANT_SUGGEST_RESOLUTIONS,`${b.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(J.CANT_SUGGEST_RESOLUTIONS,`${b.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,h=[],f=[];for(let[,{suggestions:I},y]of c){let B,P=I.filter(v=>v.descriptor!==null),k=P[0].descriptor,N=P.every(v=>b.areDescriptorsEqual(v.descriptor,k));P.length===1||N?B=k:(g=!0,{answer:B}=await n_.prompt({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:v,name:U,reason:re})=>v?{name:U,hint:re,descriptor:v}:{name:U,hint:re,disabled:!0}),onCancel:()=>process.exit(130),result(v){return this.find(v,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let O=i.manifest[y].get(B.identHash);(typeof O=="undefined"||O.descriptorHash!==B.descriptorHash)&&(i.manifest[y].set(B.identHash,B),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta({...B,range:"unknown"}).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta({...B,range:"unknown"}).optional=!0)),typeof O=="undefined"?h.push([i,y,B,a]):f.push([i,y,O,B]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,h),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),g&&this.context.stdout.write(` -`),(await we.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I})})).exitCode()}};Of.paths=[["add"]],Of.usage=ce.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var s_=Of;function aTe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[Vt.REGULAR].has(e.identHash),a=t.manifest[Vt.DEVELOPMENT].has(e.identHash),l=t.manifest[Vt.PEER].has(e.identHash);if((r||i)&&o)throw new UsageError(`Package "${b.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new UsageError(`Package "${b.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new UsageError(`Package "${b.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new UsageError(`Package "${b.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new UsageError(`Package "${b.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Vt.PEER:r||n?Vt.DEVELOPMENT:o?Vt.REGULAR:a?Vt.DEVELOPMENT:Vt.REGULAR}var Tf=class extends Ce{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=j.String({required:!1})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ke.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Et.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new UsageError(`Couldn't find a binary named "${this.name}" for package "${b.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} -`),0}return(await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Et.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:b.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${b.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};Tf.paths=[["bin"]],Tf.usage=ce.Usage({description:"get the path to a binary script",details:` - When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. - - When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var o_=Tf;var Kf=class extends Ce{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r=await lt.find(e);return(await we.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await R.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await R.removePromise(r.cwd)})).exitCode()}};Kf.paths=[["cache","clean"],["cache","clear"]],Kf.usage=ce.Usage({description:"remove the shared cache files",details:` - This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var a_=Kf;var A_=X(LE()),sk=X(require("util")),Uf=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new UsageError(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=he.convertMapsToIndexableObjects(s),a=i?A_.default(o,i):o,l=await we.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} -`),l.exitCode();sk.inspect.styles.name="cyan",this.context.stdout.write(`${sk.inspect(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} -`)}return l.exitCode()}};Uf.paths=[["config","get"]],Uf.usage=ce.Usage({description:"read a configuration settings",details:` - This command will print a configuration setting. - - Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var l_=Uf;var y$=X(uk()),B$=X(LE()),w$=X(E$()),gk=X(require("util")),Yf=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new UsageError("This command must be run from within a project folder");let r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(r)=="undefined")throw new UsageError(`Couldn't find a configuration settings named "${r}"`);let s=this.json?JSON.parse(this.value):this.value;await(this.home?h=>oe.updateHomeConfiguration(h):h=>oe.updateConfiguration(e.projectCwd,h))(h=>{if(i){let f=y$.default(h);return w$.default(f,this.name,s),f}else return{...h,[r]:s}});let l=(await oe.find(this.context.cwd,this.context.plugins)).getSpecial(r,{hideSecrets:!0,getNativePaths:!0}),c=he.convertMapsToIndexableObjects(l),u=i?B$.default(c,i):c;return(await we.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{gk.inspect.styles.name="cyan",h.reportInfo(J.UNNAMED,`Successfully set ${this.name} to ${gk.inspect(u,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Yf.paths=[["config","set"]],Yf.usage=ce.Usage({description:"change a configuration settings",details:` - This command will set a configuration setting. - - When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). - - When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var Q$=Yf;var R$=X(uk()),hk=X(F$()),jf=class extends Ce{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new UsageError("This command must be run from within a project folder");let r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(r)=="undefined")throw new UsageError(`Couldn't find a configuration settings named "${r}"`);return await(this.home?a=>oe.updateHomeConfiguration(a):a=>oe.updateConfiguration(e.projectCwd,a))(a=>{if(i){let l=R$.default(a);return hk.default(l,this.name),l}else return hk.default({...a},r)}),(await we.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async a=>{a.reportInfo(J.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};jf.paths=[["config","unset"]],jf.usage=ce.Usage({description:"unset a configuration setting",details:` - This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var L$=jf;var fk=X(require("util")),Gf=class extends Ce{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(J.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=he.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson({key:s,effective:a,source:l,...o})}}else{let n=he.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${fk.inspect(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${fk.inspect(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};Gf.paths=[["config"]],Gf.usage=ce.Usage({description:"display the current configuration",details:` - This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});var M$=Gf;var T$=X(Qo());var N$=X(Qn()),ru;(function(t){t.HIGHEST="highest"})(ru||(ru={}));var jot=new Set(Object.values(ru)),cUe={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);he.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!N$.default.isMatch(b.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),h=await r.getSatisfying(a,g,n),f=h==null?void 0:h[0];if(typeof f=="undefined")return null;let p=f.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function O$(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new mr,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let h=await cUe[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),f=ti.progressViaCounter(h.length);n.reportProgress(f);let p=0;await Promise.all(h.map(y=>y.then(B=>{if(B===null)return;p++;let{descriptor:P,currentPackage:k,updatedPackage:N}=B;n.reportInfo(J.UNNAMED,`${b.prettyDescriptor(s,P)} can be deduped from ${b.prettyLocator(s,k)} to ${b.prettyLocator(s,N)}`),n.reportJson({descriptor:b.stringifyDescriptor(P),currentResolution:b.stringifyLocator(k),updatedResolution:b.stringifyLocator(N)}),t.storedResolutions.set(P.descriptorHash,N.locatorHash)}).finally(()=>f.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=se.pretty(s,e,se.Type.CODE);return n.reportInfo(J.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var qf=class extends Ce{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",ru.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:T$.isEnum(ru)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd),i=await lt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await we.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await O$(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await we.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a})})).exitCode()}};qf.paths=[["dedupe"]],qf.usage=ce.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var K$=qf;var cy=class extends ce{async execute(){let{plugins:e}=await oe.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=jn.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=H$()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify({commands:i},null,2)} -`)}};cy.paths=[["--clipanion=definitions"]];var Y$=cy;var uy=class extends ce{async execute(){this.context.stdout.write(this.cli.usage(null))}};uy.paths=[["help"],["--help"],["-h"]];var j$=uy;var pk=class extends ce{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!b.tryParseIdent(this.leadingArgument)){let e=w.resolve(this.context.cwd,npath.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},G$=pk;var gy=class extends ce{async execute(){this.context.stdout.write(`${Mi||""} -`)}};gy.paths=[["-v"],["--version"]];var q$=gy;var Jf=class extends Ce{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ke.find(e,this.context.cwd);return await R.mktempPromise(async n=>{let{code:s}=await ur.pipevp(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Et.makeScriptEnv({project:r,locator:i,binFolder:n})});return s})}};Jf.paths=[["exec"]],Jf.usage=ce.Usage({description:"execute a shell command",details:` - This command simply executes a shell binary within the context of the root directory of the active workspace. - - It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a shell command","$0 exec echo Hello World"]]});var J$=Jf;var iu=X(Qo()),Wf=class extends Ce{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:iu.applyCascade(iu.isString(),[iu.matchesRegExp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await uUe(this.hash,r,{stdout:this.context.stdout}):(await we.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>b.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>b.stringifyIdent(a.requested)];for(let[a,l]of he.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,h=se.pretty(e,a,se.Type.CODE),f=b.prettyLocator(e,c),p=b.prettyIdent(e,l.requested),m=b.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,B=I>0?` and ${I} ${y}`:"",P=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${h} \u2192 ${f} ${P} ${p} to ${m}${B}`)}})).exitCode()}};Wf.paths=[["explain","peer-requirements"]],Wf.usage=ce.Usage({description:"explain a set of peer requirements",details:` - A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. - - When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. - - When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. - - **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var W$=Wf;async function uUe(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await we.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let h=[...n.allRequesters.values()].map(P=>{let k=e.storedPackages.get(P);if(typeof k=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=b.devirtualizeLocator(k),O=e.storedPackages.get(N.locatorHash);if(typeof O=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let v=O.peerDependencies.get(n.requested.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:k,peerDependency:v}});if(g!==null){let P=h.every(({peerDependency:k})=>St.satisfiesWithPrereleases(g.version,k.range));o.reportInfo(J.UNNAMED,`${b.prettyLocator(i,a)} provides ${b.prettyLocator(i,g)} with version ${b.prettyReference(i,(B=g.version)!=null?B:"")}, which ${P?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(J.UNNAMED,`${b.prettyLocator(i,a)} doesn't provide ${b.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let f=se.mark(i),p=[];for(let{pkg:P,peerDependency:k}of he.sortMap(h,N=>b.stringifyLocator(N.pkg))){let O=(g!==null?St.satisfiesWithPrereleases(g.version,k.range):!1)?f.Check:f.Cross;p.push({stringifiedLocator:b.stringifyLocator(P),prettyLocator:b.prettyLocator(i,P),prettyRange:b.prettyRange(i,k.range),mark:O})}let m=Math.max(...p.map(({stringifiedLocator:P})=>P.length)),I=Math.max(...p.map(({prettyRange:P})=>P.length));for(let{stringifiedLocator:P,prettyLocator:k,prettyRange:N,mark:O}of he.sortMap(p,({stringifiedLocator:v})=>v))o.reportInfo(null,`${k.padEnd(m+(k.length-P.length)," ")} \u2192 ${N.padEnd(I," ")} ${O}`);p.length>1&&(o.reportSeparator(),o.reportInfo(J.UNNAMED,`Note: these requirements start with ${b.prettyLocator(e.configuration,l)}`))})).exitCode()}var z$=X(Qn()),zf=class extends Ce{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i&&!this.all)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(P,{recursive:k})=>{let N=P.anchoredLocator.locatorHash,O=new Map,v=[N];for(;v.length>0;){let U=v.shift();if(O.has(U))continue;let re=r.storedPackages.get(U);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(O.set(U,re),b.isVirtualLocator(re)&&v.push(b.devirtualizeLocator(re).locatorHash),!(!k&&U!==N))for(let F of re.dependencies.values()){let A=r.storedResolutions.get(F.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");v.push(A)}}return O.values()},a=({recursive:P})=>{let k=new Map;for(let N of r.workspaces)for(let O of o(N,{recursive:P}))k.set(O.locatorHash,O);return k.values()},l=({all:P,recursive:k})=>P&&k?r.storedPackages.values():P?a({recursive:k}):o(i,{recursive:k}),c=({all:P,recursive:k})=>{let N=l({all:P,recursive:k}),O=this.patterns.map(re=>{let F=b.parseLocator(re),A=z$.default.makeRe(b.stringifyIdent(F)),q=b.isVirtualLocator(F),Z=q?b.devirtualizeLocator(F):F;return $=>{let T=b.stringifyIdent($);if(!A.test(T))return!1;if(F.reference==="unknown")return!0;let G=b.isVirtualLocator($),Qe=G?b.devirtualizeLocator($):$;return!(q&&G&&F.reference!==$.reference||Z.reference!==Qe.reference)}}),v=he.sortMap([...N],re=>b.stringifyLocator(re));return{selection:v.filter(re=>O.length===0||O.some(F=>F(re))),sortedLookup:v}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new UsageError("No package matched your request");let h=new Map;if(this.dependents)for(let P of g)for(let k of P.dependencies.values()){let N=r.storedResolutions.get(k.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");he.getArrayWithDefault(h,N).push(P)}let f=new Map;for(let P of g){if(!b.isVirtualLocator(P))continue;let k=b.devirtualizeLocator(P);he.getArrayWithDefault(f,k.locatorHash).push(P)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new mr,skipIntegrityCheck:!0},B=[async(P,k,N)=>{var U,re;if(!k.has("manifest"))return;let O=await I.fetch(P,y),v;try{v=await je.find(O.prefixPath,{baseFs:O.packageFs})}finally{(U=O.releaseFs)==null||U.call(O)}N("Manifest",{License:se.tuple(se.Type.NO_HINT,v.license),Homepage:se.tuple(se.Type.URL,(re=v.raw.homepage)!=null?re:null)})},async(P,k,N)=>{var F;if(!k.has("cache"))return;let O=(F=r.storedChecksums.get(P.locatorHash))!=null?F:null,v=n.getLocatorPath(P,O),U;if(v!==null)try{U=R.statSync(v)}catch{}let re=typeof U!="undefined"?[U.size,se.Type.SIZE]:void 0;N("Cache",{Checksum:se.tuple(se.Type.NO_HINT,O),Path:se.tuple(se.Type.PATH,v),Size:re})}];for(let P of u){let k=b.isVirtualLocator(P);if(!this.virtuals&&k)continue;let N={},O={value:[P,se.Type.LOCATOR],children:N};if(p[b.stringifyLocator(P)]=O,this.nameOnly){delete O.children;continue}let v=f.get(P.locatorHash);typeof v!="undefined"&&(N.Instances={label:"Instances",value:se.tuple(se.Type.NUMBER,v.length)}),N.Version={label:"Version",value:se.tuple(se.Type.NO_HINT,P.version)};let U=(F,A)=>{let q={};if(N[F]=q,Array.isArray(A))q.children=A.map(Z=>({value:Z}));else{let Z={};q.children=Z;for(let[$,T]of Object.entries(A))typeof T!="undefined"&&(Z[$]={label:$,value:T})}};if(!k){for(let F of B)await F(P,s,U);await e.triggerHook(F=>F.fetchPackageInfo,P,s,U)}P.bin.size>0&&!k&&U("Exported Binaries",[...P.bin.keys()].map(F=>se.tuple(se.Type.PATH,F)));let re=h.get(P.locatorHash);typeof re!="undefined"&&re.length>0&&U("Dependents",re.map(F=>se.tuple(se.Type.LOCATOR,F))),P.dependencies.size>0&&!k&&U("Dependencies",[...P.dependencies.values()].map(F=>{var Z;let A=r.storedResolutions.get(F.descriptorHash),q=typeof A!="undefined"&&(Z=r.storedPackages.get(A))!=null?Z:null;return se.tuple(se.Type.RESOLUTION,{descriptor:F,locator:q})})),P.peerDependencies.size>0&&k&&U("Peer dependencies",[...P.peerDependencies.values()].map(F=>{var $,T;let A=P.dependencies.get(F.identHash),q=typeof A!="undefined"&&($=r.storedResolutions.get(A.descriptorHash))!=null?$:null,Z=q!==null&&(T=r.storedPackages.get(q))!=null?T:null;return se.tuple(se.Type.RESOLUTION,{descriptor:F,locator:Z})}))}vn.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};zf.paths=[["info"]],zf.usage=ce.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var X$=zf;var Xf=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=j.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=j.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=j.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=j.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.skipBuilds=j.Boolean("--skip-builds",!1,{description:"Skip the build step altogether"});this.cacheFolder=j.String("--cache-folder",{hidden:!0});this.frozenLockfile=j.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=j.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=j.Boolean("--non-interactive",{hidden:!0});this.preferOffline=j.Boolean("--prefer-offline",{hidden:!0});this.production=j.Boolean("--production",{hidden:!0});this.registry=j.String("--registry",{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await oe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(h,{error:f})=>{let p=await we.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{f?m.reportError(J.DEPRECATED_CLI_SETTINGS,h):m.reportWarning(J.DEPRECATED_CLI_SETTINGS,h)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let h=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(h!==null)return h}if(typeof this.registry!="undefined"){let h=await s("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline!="undefined"){let h=await s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(h!==null)return h}if(typeof this.production!="undefined"){let h=await s("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive!="undefined"){let h=await s("The --non-interactive option is deprecated",{error:!n});if(h!==null)return h}if(typeof this.frozenLockfile!="undefined"&&(await s("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let h=await s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(h!==null)return h}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let h=await we.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{await gUe(e,o)&&(f.reportInfo(J.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let h=e.projectCwd,f;try{f=await R.readFilePromise(w.join(h,ft.lockfile),"utf8")}catch{}if(f==null?void 0:f.includes("yarn lockfile v1")){let p=await we.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(J.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await oe.updateConfiguration(h,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let h=await we.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{var p;((p=oe.telemetry)==null?void 0:p.isNew)&&(f.reportInfo(J.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),f.reportInfo(J.TELEMETRY_NOTICE,`Run ${se.pretty(e,"yarn config set --home enableTelemetry 0",se.Type.CODE)} to disable`),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:a,workspace:l}=await ke.find(e,this.context.cwd),c=await lt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Xe(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await we.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await a.install({cache:c,report:h,immutable:o,skipBuild:this.skipBuilds})})).exitCode()}};Xf.paths=[["install"],ce.Default],Xf.usage=ce.Usage({description:"install the project dependencies",details:` - This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics: - - - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). - - - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where are stored the cache files). - - - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). - - - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. - - Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. - - If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. - - If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). - - If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. - - If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. - - If the \`--skip-builds\` option is set, Yarn will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var V$=Xf,hUe="|||||||",fUe=">>>>>>>",pUe="=======",Z$="<<<<<<<";async function gUe(t,e){if(!t.projectCwd)return!1;let r=w.join(t.projectCwd,t.get("lockfileFilename"));if(!await R.existsPromise(r))return!1;let i=await R.readFilePromise(r,"utf8");if(!i.includes(Z$))return!1;if(e)throw new Ge(J.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=dUe(i),o,a;try{o=kr(n),a=kr(s)}catch(c){throw new Ge(J.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await R.changeFilePromise(r,Os(l),{automaticNewlines:!0}),!0}function dUe(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Z$)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===pUe){i=!1;break}else if(i||s.startsWith(hUe)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(fUe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` -`),e[1].join(` -`)]}var Vf=class extends Ce{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=w.resolve(this.context.cwd,npath.toPortablePath(this.destination)),o=await oe.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ke.find(o,s);if(!l)throw new Xe(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let h of a.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&u.push(h);if(u.length===0)throw new UsageError("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new UsageError("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new UsageError("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let h of u){let f=b.stringifyIdent(h.locator),p=this.relative?w.relative(r.cwd,h.cwd):h.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:f}},reference:`portal:${p}`})}return(await we.start({configuration:e,stdout:this.context.stdout},async h=>{await r.install({cache:n,report:h})})).exitCode()}};Vf.paths=[["link"]],Vf.usage=ce.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n\n There is no `yarn unlink` command. To unlink the workspaces from the current project one must revert the changes made to the `resolutions` field.\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var _$=Vf;var Zf=class extends Ce{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Zf.paths=[["node"]],Zf.usage=ce.Usage({description:"run node with the hook already setup",details:` - This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - - The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var $$=Zf;var cee=X(require("os"));var iee=X(require("os"));var CUe="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function JA(t){let e=await Mt.get(CUe,{configuration:t});return kr(e.toString())}var _f=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);return(await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await JA(e);for(let[s,{experimental:o,...a}]of Object.entries(n)){let l=s;o&&(l+=" [experimental]"),i.reportJson({name:s,experimental:o,...a}),i.reportInfo(null,l)}})).exitCode()}};_f.paths=[["plugin","list"]],_f.usage=ce.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var eee=_f;var tee=X(hr()),$f=class extends Ce{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r;if(this.version==="latest"||this.version==="berry")r="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if(this.version==="classic")r="https://nightly.yarnpkg.com/latest.js";else if(St.satisfiesWithPrereleases(this.version,">=2.0.0"))r=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(St.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))r=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else throw St.validRange(this.version)?new UsageError("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new UsageError(`Invalid version descriptor "${this.version}"`);return(await we.start({configuration:e,stdout:this.context.stdout},async n=>{n.reportInfo(J.UNNAMED,`Downloading ${se.pretty(e,r,"green")}`);let s=await Mt.get(r,{configuration:e});await dk(e,null,s,{report:n})})).exitCode()}};$f.paths=[["set","version"]],$f.usage=ce.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]});var ree=$f;async function dk(t,e,r,{report:i}){var g;e===null&&await R.mktempPromise(async h=>{let f=w.join(h,"yarn.cjs");await R.writeFilePromise(f,r);let{stdout:p}=await ur.execvp(process.execPath,[npath.fromPortablePath(f),"--version"],{cwd:h,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=p.trim(),!tee.default.valid(e))throw new Error(`Invalid semver version. ${se.pretty(t,"yarn --version",se.Type.CODE)} returned: -${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=w.resolve(n,".yarn/releases"),o=w.resolve(s,`yarn-${e}.cjs`),a=w.relative(t.startingCwd,o),l=w.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);i.reportInfo(J.UNNAMED,`Saving the new release in ${se.pretty(t,a,"magenta")}`),await R.removePromise(w.dirname(o)),await R.mkdirPromise(w.dirname(o),{recursive:!0}),await R.writeFilePromise(o,r),await R.chmodPromise(o,493),u&&await oe.updateConfiguration(n,{yarnPath:l})}var mUe=/^[0-9]+$/;function nee(t){return mUe.test(t)?`pull/${t}/head`:t}var IUe=({repository:t,branch:e},r)=>[["git","init",npath.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",nee(e)],["git","reset","--hard","FETCH_HEAD"]],EUe=({branch:t})=>[["git","fetch","origin",nee(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],yUe=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",w.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],ep=class extends Ce{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?w.resolve(this.context.cwd,npath.toPortablePath(this.installPath)):w.resolve(npath.toPortablePath(iee.tmpdir()),"yarnpkg-sources",pi.makeHash(this.repository).slice(0,6));return(await we.start({configuration:e,stdout:this.context.stdout},async s=>{await mk(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(J.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await tp(yUe(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=w.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await R.readFilePromise(o);await dk(e,"sources",a,{report:s}),this.skipPlugins||await BUe(this,{project:r,report:s,target:i})})).exitCode()}};ep.paths=[["set","version","from","sources"]],ep.usage=ce.Usage({description:"build Yarn from master",details:` - This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. - - By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]});var see=ep;async function tp(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await ur.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${se.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await ur.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function mk(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&R.existsSync(w.join(i,".git"))){r.reportInfo(J.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await tp(EUe(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(J.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(J.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await R.removePromise(i),await R.mkdirPromise(i,{recursive:!0}),await tp(IUe(t,i),{configuration:e,context:t.context,target:i}))}async function BUe(t,{project:e,report:r,target:i}){let n=await JA(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await Ck(o,t,{project:e,report:r,target:i})}var oee=X(hr()),aee=X(require("url")),Aee=X(require("vm"));var rp=class extends Ce{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);return(await we.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ke.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||npath.isAbsolute(this.name)){let a=w.resolve(this.context.cwd,npath.toPortablePath(this.name));i.reportInfo(J.UNNAMED,`Reading ${se.pretty(e,a,se.Type.PATH)}`),s=w.relative(n.cwd,a),o=await R.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new aee.URL(this.name)}catch{throw new Ge(J.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=b.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!oee.default.valid(l.reference))throw new Ge(J.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=b.stringifyIdent(l),u=await JA(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new Ge(J.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Mi!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Mi}/`))}i.reportInfo(J.UNNAMED,`Downloading ${se.pretty(e,a,"green")}`),o=await Mt.get(a,{configuration:e})}await Ik(s,o,{project:n,report:i})})).exitCode()}};rp.paths=[["plugin","import"]],rp.usage=ce.Usage({category:"Plugin-related commands",description:"download a plugin",details:` - This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. - - Three types of plugin references are accepted: - - - If the plugin is stored within the Yarn repository, it can be referenced by name. - - Third-party plugins can be referenced directly through their public urls. - - Local plugins can be referenced by their path on the disk. - - Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var lee=rp;async function Ik(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};Aee.runInNewContext(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=w.resolve(r.cwd,l);i.reportInfo(J.UNNAMED,`Saving the new plugin in ${se.pretty(n,l,"magenta")}`),await R.mkdirPromise(w.dirname(c),{recursive:!0}),await R.writeFilePromise(c,e);let u={path:l,spec:t};await oe.updateConfiguration(r.cwd,g=>{let h=[],f=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=w.resolve(r.cwd,npath.toPortablePath(m)),{name:y}=he.dynamicRequire(npath.fromPortablePath(I));y!==a?h.push(p):(h.push(u),f=!0)}return f||h.push(u),{...g,plugins:h}})}var wUe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],ip=class extends Ce{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?w.resolve(this.context.cwd,npath.toPortablePath(this.installPath)):w.resolve(npath.toPortablePath(cee.tmpdir()),"yarnpkg-sources",pi.makeHash(this.repository).slice(0,6));return(await we.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ke.find(e,this.context.cwd),o=b.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=b.stringifyIdent(o),l=await JA(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new Ge(J.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await mk(this,{configuration:e,report:n,target:r}),await Ck(c,this,{project:s,report:n,target:r})})).exitCode()}};ip.paths=[["plugin","import","from","sources"]],ip.usage=ce.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` - This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. - - The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var uee=ip;async function Ck(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(J.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await tp(wUe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=w.resolve(s,`packages/${o}/bundles/${t}.js`),c=await R.readFilePromise(l);await Ik(t,c,{project:i,report:n})}var np=class extends Ce{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd);return(await we.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=b.parseIdent(s);if(!e.plugins.has(s))throw new UsageError(`${b.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=w.resolve(r.cwd,a);R.existsSync(l)&&(n.reportInfo(J.UNNAMED,`Removing ${se.pretty(e,a,se.Type.PATH)}...`),await R.removePromise(l)),n.reportInfo(J.UNNAMED,"Updating the configuration..."),await oe.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:{...c,plugins:u}})})).exitCode()}};np.paths=[["plugin","remove"]],np.usage=ce.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` - This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. - - **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var gee=np;var sp=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins);return(await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};sp.paths=[["plugin","runtime"]],sp.usage=ce.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` - This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var hee=sp;var op=class extends Ce{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(b.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new mr}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await we.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};op.paths=[["rebuild"]],op.usage=ce.Usage({description:"rebuild the project's native packages",details:` - This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. - - Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). - - By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var fee=op;var Ek=X(Qn());var ap=class extends Ce{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.patterns=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[Vt.REGULAR,Vt.DEVELOPMENT,Vt.PEER],a=[],l=!1,c=[];for(let f of this.patterns){let p=!1,m=b.parseIdent(f);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let B of Ek.default(y,f))I.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let P=I.manifest.getForScope(B),k=[...P.values()].map(N=>b.stringifyIdent(N));for(let N of Ek.default(k,b.stringifyIdent(m))){let{identHash:O}=b.parseIdent(N),v=P.get(O);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[B].delete(O),c.push([I,B,v]),l=!0,p=!0}}}p||a.push(f)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",h=this.all?"any":"this";if(a.length>0)throw new UsageError(`${u} ${se.prettyList(e,a,kA.CODE)} ${g} match any packages referenced by ${h} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await we.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p})})).exitCode()):0}};ap.paths=[["remove"]],ap.usage=ce.Usage({description:"remove dependencies from the project",details:` - This command will remove the packages matching the specified patterns from the current workspace. - - This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var pee=ap;var dee=X(require("util")),hy=class extends Ce{async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);return(await we.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=he.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${dee.inspect(g,l)}`)})).exitCode()}};hy.paths=[["run"]];var Cee=hy;var Ap=class extends Ce{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await ke.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Et.hasPackageScript(s,this.scriptName,{project:r}))return await Et.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Et.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Et.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Et.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${b.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${b.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new UsageError("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Oc)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new UsageError(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new UsageError(`Couldn't find a script named "${this.scriptName}".`)}}};Ap.paths=[["run"]],Ap.usage=ce.Usage({description:"run a script defined in the package.json",details:` - This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - - - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. - - - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. - - - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. - - Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var mee=Ap;var lp=class extends Ce{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Xe(r.cwd,this.context.cwd);let s=b.parseDescriptor(this.descriptor,!0),o=b.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await we.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};lp.paths=[["set","resolution"]],lp.usage=ce.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Iee=lp;var Eee=X(Lf()),yk=X(Qn()),fy=X(Qo());var nu=class extends Ce{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>b.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(b.parseDescriptor(u).range!=="unknown")throw new UsageError("Ranges aren't allowed when using --recursive");for(let g of yk.default(o,u)){let h=b.parseIdent(g);a.add(h.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await we.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=Mf(this,r),a=s?[tr.KEEP,tr.REUSE,tr.PROJECT,tr.LATEST]:[tr.PROJECT,tr.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,B=b.parseDescriptor(I);for(let P of r.workspaces)for(let k of[Vt.REGULAR,Vt.DEVELOPMENT]){let O=[...P.manifest.getForScope(k).values()].map(v=>b.stringifyIdent(v));for(let v of yk.default(O,b.stringifyIdent(B))){let U=b.parseIdent(v),re=P.manifest[k].get(U.identHash);if(typeof re=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let F=b.makeDescriptor(U,B.range);l.push(Promise.resolve().then(async()=>[P,k,re,await Nf(F,{project:r,workspace:P,cache:n,target:k,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new UsageError(`Patterns ${se.prettyList(e,c,kA.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new UsageError(`Pattern ${se.prettyList(e,c,kA.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await zs.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:B,rejections:P}]of u){let k=B.filter(N=>N.descriptor!==null);if(k.length===0){let[N]=P;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let O=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(J.CANT_SUGGEST_RESOLUTIONS,`${b.prettyDescriptor(e,y)} can't be resolved to a satisfying range - -${O}`):I.reportError(J.CANT_SUGGEST_RESOLUTIONS,`${b.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) - -${O}`)}else k.length>1&&!s&&I.reportError(J.CANT_SUGGEST_RESOLUTIONS,`${b.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let h=!1,f=[];for(let[I,y,,{suggestions:B}]of u){let P,k=B.filter(U=>U.descriptor!==null),N=k[0].descriptor,O=k.every(U=>b.areDescriptorsEqual(U.descriptor,N));k.length===1||O?P=N:(h=!0,{answer:P}=await Eee.prompt({type:"select",name:"answer",message:`Which range to you want to use in ${b.prettyWorkspace(e,I)} \u276F ${y}?`,choices:B.map(({descriptor:U,name:re,reason:F})=>U?{name:re,hint:F,descriptor:U}:{name:re,hint:F,disabled:!0}),onCancel:()=>process.exit(130),result(U){return this.find(U,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let v=I.manifest[y].get(P.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(v.descriptorHash!==P.descriptorHash)I.manifest[y].set(P.identHash,P),f.push([I,y,v,P]);else{let U=e.makeResolver(),re={project:r,resolver:U},F=U.bindDescriptor(v,I.anchoredLocator,re);r.forgetResolution(F)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),h&&this.context.stdout.write(` -`),(await we.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I})})).exitCode()}};nu.paths=[["up"]],nu.usage=ce.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),nu.schema=[fy.hasKeyRelationship("recursive",fy.KeyRelationship.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var yee=nu;var cp=class extends Ce{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=b.parseIdent(this.package).identHash,s=this.recursive?bUe(r,n,{configuration:e,peers:this.peers}):QUe(r,n,{configuration:e,peers:this.peers});vn.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};cp.paths=[["why"]],cp.usage=ce.Usage({description:"display the reason why a package is needed",details:` - This command prints the exact reasons why a package appears in the dependency tree. - - If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var Bee=cp;function QUe(t,e,{configuration:r,peers:i}){let n=he.sortMap(t.storedPackages.values(),a=>b.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let h=t.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The package should have been registered");if(h.identHash!==e)continue;if(c===null){let p=b.stringifyLocator(a);s[p]={value:[a,se.Type.LOCATOR],children:l}}let f=b.stringifyLocator(h);l[f]={value:[{descriptor:u,locator:h},se.Type.DEPENDENT]}}}return o}function bUe(t,e,{configuration:r,peers:i}){let n=he.sortMap(t.workspaces,h=>b.stringifyLocator(h.anchoredLocator)),s=new Set,o=new Set,a=h=>{if(s.has(h.locatorHash))return o.has(h.locatorHash);if(s.add(h.locatorHash),h.identHash===e)return o.add(h.locatorHash),!0;let f=!1;h.identHash===e&&(f=!0);for(let p of h.dependencies.values()){if(!i&&h.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(f=!0)}return f&&o.add(h.locatorHash),f};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");a(f)}let l=new Set,c={},u={children:c},g=(h,f,p)=>{if(!o.has(h.locatorHash))return;let m=p!==null?se.tuple(se.Type.DEPENDENT,{locator:h,descriptor:p}):se.tuple(se.Type.LOCATOR,h),I={},y={value:m,children:I},B=b.stringifyLocator(h);if(f[B]=y,!l.has(h.locatorHash)&&(l.add(h.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(h))))for(let P of h.dependencies.values()){if(!i&&h.peerDependencies.has(P.identHash))continue;let k=t.storedResolutions.get(P.descriptorHash);if(!k)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(k);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,P)}};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");g(f,c,null)}return u}var up=class extends Ce{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd);return(await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of je.hardDependencies)for(let[g,h]of o.getForScope(u)){let f=r.tryWorkspaceByDescriptor(h);f===null?r.workspacesByIdent.has(g)&&c.add(h):l.add(f)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>b.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson({location:s.relativeCwd,name:o.name?b.stringifyIdent(o.name):null,...a})}})).exitCode()}};up.paths=[["workspaces","list"]],up.usage=ce.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var wee=up;var gp=class extends ce{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=b.convertToIdent(a.locator);return[b.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new UsageError(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - - ${a.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};gp.paths=[["workspace"]],gp.usage=ce.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` - This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Qee=gp;var DUe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:Ae.BOOLEAN,default:bee.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:Ae.STRING,values:["^","~",""],default:qA.CARET}},commands:[a_,l_,Q$,L$,Iee,see,ree,wee,Y$,j$,G$,q$,s_,o_,M$,K$,J$,W$,X$,V$,_$,$$,uee,lee,gee,eee,hee,fee,pee,Cee,mee,yee,Bee,Qee]},SUe=DUe;var Dk={};We(Dk,{default:()=>xUe});var Jr={optional:!0},Dee=[["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Jr,zenObservable:Jr}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Jr,zenObservable:Jr}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Jr}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Jr,["postcss-jsx"]:Jr,["postcss-less"]:Jr,["postcss-markdown"]:Jr,["postcss-scss"]:Jr}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@*",{peerDependenciesMeta:{webpack:Jr}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Jr}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Jr,"vue-template-compiler":Jr}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Jr,"utf-8-validate":Jr}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}]];var wk;function See(){return typeof wk=="undefined"&&(wk=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),wk}var Qk;function Pee(){return typeof Qk=="undefined"&&(Qk=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),Qk}var bk;function xee(){return typeof bk=="undefined"&&(bk=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),bk}var kee=new Map([[b.makeIdent(null,"fsevents").identHash,See],[b.makeIdent(null,"resolve").identHash,Pee],[b.makeIdent(null,"typescript").identHash,xee]]),PUe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of Dee)e(b.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=b.parseIdent(e.slice(r.length)),n=(s=kee.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof kee.get(t.identHash)=="undefined"?t:b.makeDescriptor(t,b.makeRange({protocol:"patch:",source:b.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},xUe=PUe;var Sk={};We(Sk,{default:()=>vUe});var py=class extends Ce{constructor(){super(...arguments);this.pkg=j.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=b.parseIdent(this.command),i=b.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,b.stringifyIdent(i),...this.args])}};py.paths=[["create"]];var vee=py;var hp=class extends Ce{constructor(){super(...arguments);this.packages=j.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){return oe.telemetry=null,await R.mktempPromise(async e=>{var p;let r=w.join(e,`dlx-${process.pid}`);await R.mkdirPromise(r),await R.writeFilePromise(w.join(r,"package.json"),`{} -`),await R.writeFilePromise(w.join(r,"yarn.lock"),"");let i=w.join(r,".yarnrc.yml"),n=await oe.findProjectCwd(this.context.cwd,ft.lockfile),s=!(await oe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?w.join(n,".yarnrc.yml"):null;o!==null&&R.existsSync(o)?(await R.copyFilePromise(o,i),await oe.updateConfiguration(r,m=>{let I={...m,enableGlobalCache:s,enableTelemetry:!1};return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let B=typeof y=="string"?y:y.path,P=npath.isAbsolute(B)?B:npath.resolve(npath.fromPortablePath(n),B);return typeof y=="string"?P:{path:P,spec:y.spec}})),I})):await R.writeFilePromise(i,`enableGlobalCache: ${s} -enableTelemetry: false -`);let a=(p=this.packages)!=null?p:[this.command],l=b.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` -`);let u=await oe.find(r,this.context.plugins),{project:g,workspace:h}=await ke.find(u,r);if(h===null)throw new Xe(g.cwd,r);await g.restoreInstallState();let f=await Et.getWorkspaceAccessibleBinaries(h);return f.has(l)===!1&&f.size===1&&typeof this.packages=="undefined"&&(l=Array.from(f)[0][0]),await Et.executeWorkspaceAccessibleBinary(h,l,this.args,{packageAccessibleBinaries:f,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};hp.paths=[["dlx"]],hp.usage=ce.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var Fee=hp;var kUe={commands:[vee,Fee]},vUe=kUe;var Nk={};We(Nk,{default:()=>LUe,fileUtils:()=>Pk});var su=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,fp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,rr="file:";var Pk={};We(Pk,{makeArchiveFromLocator:()=>dy,makeBufferFromLocator:()=>vk,makeLocator:()=>kk,makeSpec:()=>Ree,parseSpec:()=>xk});function xk(t){let{params:e,selector:r}=b.parseRange(t),i=npath.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?b.parseLocator(e.locator):null,path:i}}function Ree({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:b.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return b.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function kk(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return b.makeLocator(t,Ree({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function dy(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=b.parseFileStyleRange(t.reference,{protocol:e}),o=w.isAbsolute(s)?{packageFs:new Ct(pe.root),prefixPath:pe.dot,localPath:pe.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new Ct(pe.root),prefixPath:w.relative(pe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=w.join(a.prefixPath,s);return await he.releaseAfterUseAsync(async()=>await Ar.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:b.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function vk(t,{protocol:e,fetchOptions:r}){return(await dy(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var Fk=class{supports(e,r){return!!e.reference.startsWith(rr)}getLocalPath(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:rr});if(w.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:w.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return dy(e,{protocol:rr,fetchOptions:r})}};var FUe=1,Rk=class{supportsDescriptor(e,r){return e.range.match(su)?!0:!!e.range.startsWith(rr)}supportsLocator(e,r){return!!e.reference.startsWith(rr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return su.test(e.range)&&(e=b.makeDescriptor(e,`${rr}${e.range}`)),b.bindDescriptor(e,{locator:b.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=xk(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await vk(b.makeLocator(e,b.makeRange({protocol:rr,source:n,selector:n,params:{locator:b.stringifyLocator(s)}})),{protocol:rr,fetchOptions:i.fetchOptions}),a=pi.makeHash(`${FUe}`,o).slice(0,6);return[kk(e,{parentLocator:s,path:n,folderHash:a,protocol:rr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await he.releaseAfterUseAsync(async()=>await je.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Lk=class{supports(e,r){return fp.test(e.reference)?!!e.reference.startsWith(rr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:rr}),s=w.isAbsolute(n)?{packageFs:new Ct(pe.root),prefixPath:pe.dot,localPath:pe.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ct(pe.root),prefixPath:w.relative(pe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=w.join(o.prefixPath,n),c=await a.readFilePromise(l);return await he.releaseAfterUseAsync(async()=>await Ar.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Mk=class{supportsDescriptor(e,r){return fp.test(e.range)?!!(e.range.startsWith(rr)||su.test(e.range)):!1}supportsLocator(e,r){return fp.test(e.reference)?!!e.reference.startsWith(rr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return su.test(e.range)&&(e=b.makeDescriptor(e,`${rr}${e.range}`)),b.bindDescriptor(e,{locator:b.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(rr)&&(n=n.slice(rr.length)),[b.makeLocator(e,`${rr}${npath.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await he.releaseAfterUseAsync(async()=>await je.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var RUe={fetchers:[Lk,Fk],resolvers:[Mk,Rk]},LUe=RUe;var Wk={};We(Wk,{default:()=>ZUe,gitUtils:()=>pp});var pp={};We(pp,{TreeishProtocols:()=>Qi,clone:()=>Gk,isGitUrl:()=>au,lsRemote:()=>Zee,normalizeLocator:()=>Yk,normalizeRepoUrl:()=>dp,resolveUrl:()=>jk,splitRepoUrl:()=>Cp});var Uk=X(zee()),ou=X(require("querystring")),Hk=X(hr()),Xee=X(require("url"));function Vee(){return{...process.env,GIT_SSH_COMMAND:"ssh -o BatchMode=yes"}}var XUe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Qi;(function(t){t.Commit="commit",t.Head="head",t.Tag="tag",t.Semver="semver"})(Qi||(Qi={}));function au(t){return t?XUe.some(e=>!!t.match(e)):!1}function Cp(t){t=dp(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:Qi.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=ou.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Qi).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=Qi.Head,a="HEAD");for(let l of Object.values(Qi))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function dp(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=Xee.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function Yk(t){return b.makeLocator(t,dp(t.reference))}async function Zee(t,e){let r=dp(t,{git:!0});if(!Mt.getNetworkSettings(`https://${Uk.default(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await ur.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:Vee(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function jk(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Cp(t),o=await Zee(r,e),a=(c,u)=>{switch(c){case Qi.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return ou.default.stringify({...s,commit:u})}case Qi.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return ou.default.stringify({...s,commit:g})}case Qi.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return ou.default.stringify({...s,commit:g})}case Qi.Semver:{let g=St.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let h=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[Hk.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),f=Hk.default.maxSatisfying([...h.keys()],g);if(f===null)throw new Error(`No matching range ("${u}")`);return ou.default.stringify({...s,commit:h.get(f)})}case null:{let g;if((g=l(Qi.Commit,u))!==null||(g=l(Qi.Tag,u))!==null||(g=l(Qi.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function Gk(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Cp(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=dp(r,{git:!0});if(Mt.getNetworkSettings(`https://${Uk.default(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await R.mktempPromise(),a={cwd:o,env:Vee(),strict:!0};try{await ur.execvp("git",["clone","-c core.autocrlf=false",s,npath.fromPortablePath(o)],a),await ur.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var qk=class{supports(e,r){return au(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=Yk(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o={...r,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:l,releaseFs:c,prefixPath:b.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await Gk(e.reference,r.project.configuration),n=Cp(e.reference),s=w.join(i,"package.tgz");await Et.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await R.readFilePromise(s);return await he.releaseAfterUseAsync(async()=>await Ar.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1}))}};var Jk=class{supportsDescriptor(e,r){return au(e.range)}supportsLocator(e,r){return au(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await jk(e.range,i.project.configuration);return[b.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await he.releaseAfterUseAsync(async()=>await je.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var VUe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:Ae.NUMBER,default:2}},fetchers:[qk],resolvers:[Jk]};var ZUe=VUe;var Xk={};We(Xk,{default:()=>e2e});var _ee=X(require("querystring")),$ee=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function ete(t){return t?$ee.some(e=>!!t.match(e)):!1}function tte(t){let e;for(let a of $ee)if(e=t.match(a),e)break;if(!e)throw new Error(_Ue(t));let[,r,i,n,s="master"]=e,{commit:o}=_ee.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function _Ue(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var zk=class{supports(e,r){return!!ete(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Mt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await R.mktempPromise(async n=>{let s=new Ct(n);await Ar.extractArchiveTo(i,s,{stripComponents:1});let o=pp.splitRepoUrl(e.reference),a=w.join(n,"package.tgz");await Et.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await R.readFilePromise(a);return await Ar.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=tte(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var $Ue={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new zk;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},e2e=$Ue;var _k={};We(_k,{default:()=>r2e});var mp=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Ip=/^https?:/;var Vk=class{supports(e,r){return mp.test(e.reference)?!!Ip.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Mt.get(e.reference,{configuration:r.project.configuration});return await Ar.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1})}};var Zk=class{supportsDescriptor(e,r){return mp.test(e.range)?!!Ip.test(e.range):!1}supportsLocator(e,r){return mp.test(e.reference)?!!Ip.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[b.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await he.releaseAfterUseAsync(async()=>await je.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var t2e={fetchers:[Vk],resolvers:[Zk]},r2e=t2e;var rv={};We(rv,{default:()=>iHe});var Pte=X(Ste()),tv=X(require("util")),Ep=class extends Ce{constructor(){super(...arguments);this.private=j.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=j.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=j.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=j.Boolean("-2",!1,{hidden:!0});this.yes=j.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=j.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){if(R.existsSync(w.join(this.context.cwd,je.fileName)))throw new UsageError("A package.json already exists in the specified directory");let e=await oe.find(this.context.cwd,this.context.plugins),r=this.install?this.install===!0?"latest":this.install:null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.get("yarnPath")!==null)throw new UsageError(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(e.projectCwd!==null)throw new UsageError("Cannot use the --install flag when the current directory is already part of a project");R.existsSync(this.context.cwd)||await R.mkdirPromise(this.context.cwd,{recursive:!0});let i=w.join(this.context.cwd,e.get("lockfileFilename"));R.existsSync(i)||await R.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r]);if(n!==0)return n;this.context.stdout.write(` -`);let s=["--assume-fresh-project"];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await R.mktempPromise(async o=>{let{code:a}=await ur.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Et.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){let r=null;if(!this.assumeFreshProject)try{r=await ke.find(e,this.context.cwd)}catch{r=null}R.existsSync(this.context.cwd)||await R.mkdirPromise(this.context.cwd,{recursive:!0});let i=new je,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=b.makeIdent(e.get("initScope"),w.basename(this.context.cwd)),i.private=this.private||this.workspace,this.workspace&&(await R.mkdirPromise(w.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),tv.inspect.styles.name="cyan",this.context.stdout.write(`${tv.inspect(s,{depth:Infinity,colors:!0,compact:!1})} -`);let o=w.join(this.context.cwd,je.fileName);await R.changeFilePromise(o,`${JSON.stringify(s,null,2)} -`);let a=w.join(this.context.cwd,"README.md");if(R.existsSync(a)||await R.writeFilePromise(a,`# ${b.stringifyIdent(i.name)} -`),!r){let l=w.join(this.context.cwd,ft.lockfile);await R.writeFilePromise(l,"");let u=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} -`).join(""),g=w.join(this.context.cwd,".gitignore");R.existsSync(g)||await R.writeFilePromise(g,u);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};Pte.default(h,e.get("initEditorConfig"));let f=`root = true -`;for(let[m,I]of Object.entries(h)){f+=` -[${m}] -`;for(let[y,B]of Object.entries(I))f+=`${y.replace(/[A-Z]/g,k=>`_${k.toLowerCase()}`)} = ${B} -`}let p=w.join(this.context.cwd,".editorconfig");R.existsSync(p)||await R.writeFilePromise(p,f),await ur.execvp("git",["init"],{cwd:this.context.cwd})}}};Ep.paths=[["init"]],Ep.usage=ce.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var xte=Ep;var rHe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:Ae.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:Ae.MAP,valueDefinition:{description:"",type:Ae.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:Ae.MAP,valueDefinition:{description:"",type:Ae.ANY}}},commands:[xte]},iHe=rHe;var av={};We(av,{default:()=>sHe});var to="portal:",ro="link:";var iv=class{supports(e,r){return!!e.reference.startsWith(to)}getLocalPath(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:to});if(w.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:w.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:to}),s=w.isAbsolute(n)?{packageFs:new Ct(pe.root),prefixPath:pe.dot,localPath:pe.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ct(pe.root),prefixPath:w.relative(pe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=w.join(o.prefixPath,n);return s.localPath?{packageFs:new Ct(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:pe.dot,localPath:l}:{packageFs:new ys(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:pe.dot}}};var nv=class{supportsDescriptor(e,r){return!!e.range.startsWith(to)}supportsLocator(e,r){return!!e.reference.startsWith(to)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return b.bindDescriptor(e,{locator:b.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(to.length);return[b.makeLocator(e,`${to}${npath.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await he.releaseAfterUseAsync(async()=>await je.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var sv=class{supports(e,r){return!!e.reference.startsWith(ro)}getLocalPath(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:ro});if(w.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:w.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=b.parseFileStyleRange(e.reference,{protocol:ro}),s=w.isAbsolute(n)?{packageFs:new Ct(pe.root),prefixPath:pe.dot,localPath:pe.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ct(pe.root),prefixPath:w.relative(pe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=w.join(o.prefixPath,n);return s.localPath?{packageFs:new Ct(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:pe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new ys(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:pe.dot,discardFromLookup:!0}}};var ov=class{supportsDescriptor(e,r){return!!e.range.startsWith(ro)}supportsLocator(e,r){return!!e.reference.startsWith(ro)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return b.bindDescriptor(e,{locator:b.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(ro.length);return[b.makeLocator(e,`${ro}${npath.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:nt.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var nHe={fetchers:[sv,iv],resolvers:[ov,nv]},sHe=nHe;var Hv={};We(Hv,{default:()=>cYe});var mv=X(require("fs"));var Kte=X(require("fs"));var Av=X(require("events")),kte=class extends Av.EventEmitter{constructor(e,r,i){super();this.dirWatchers=e,this.watchPath=r,this.watcherId=i}close(){let e=this.dirWatchers.get(this.watchPath);e.eventEmitters.delete(this.watcherId),e.eventEmitters.size===0&&this.dirWatchers.delete(this.watchPath)}},lv=class extends Av.EventEmitter{constructor(){super(...arguments);this.dirWatchers=new Map;this.lastWatcherId=0}registerWatcher(e,r,i){let n=this.dirWatchers.get(e);n||(n={eventEmitters:new Map,dirEntries:r},this.dirWatchers.set(e,n));let s=this.lastWatcherId++,o=new kte(this.dirWatchers,e,s);return n.eventEmitters.set(s,o),o.on("rename",a=>i("rename",a)),o}notifyWatchers(e){for(let[r,i]of this.dirWatchers){let n=e(r).dirList||new Set,s=new Set;for(let o of n)i.dirEntries.has(o)||s.add(o);for(let o of i.dirEntries)n.has(o)||s.add(o);for(let o of s)for(let a of i.eventEmitters.values())a.emit("rename",o);i.dirEntries=n}}};var io;(function(t){t[t.YES=0]="YES",t[t.NO=1]="NO",t[t.DEPENDS=2]="DEPENDS"})(io||(io={}));var cv=(t,e)=>`${t}@${e}`,vte=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return cv(t,i)},Ui;(function(t){t[t.NONE=-1]="NONE",t[t.PERF=0]="PERF",t[t.CHECK=1]="CHECK",t[t.REASONS=2]="REASONS",t[t.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Ui||(Ui={}));var Rte=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=oHe(t,s),l=!1,c=0;do l=uv(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=yp(a);if(uv(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: -${u}, next tree: -${yp(a)}`);let h=Fte(a);if(h)throw new Error(`${h}, after hoisting finished: -${yp(a)}`)}return s.debugLevel>=2&&console.log(yp(a)),aHe(a)},AHe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},lHe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},Lte=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,h={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},f=h.dependencies.get(r);return f&&f.ident==h.ident&&h.dependencies.set(r,h),t.dependencies.set(h.name,h),h},cHe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},gv=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},uv=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=gHe(o),l=cHe(o,a),c=t==o?new Map:n.fastLookupPossible?AHe(e):lHe(e),u,g=!1,h=!1,f=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=uHe(t,e,r,c,f,l,i,p,n);m.isGraphChanged&&(h=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(f.delete(I),y.shift(),f.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=uv(t,[...e,m],r,p,n);I.isGraphChanged&&(h=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:h}},hHe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>bi(m)).join("\u2192")}`);let h=r[r.length-1],p=!(i.ident===h.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${bi(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${bi(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let P=r[y].dependencies.get(i.name);if(P&&P.ident!==i.ident){m=!1;let k=a.get(h);k||(k=new Set,a.set(h,k)),k.add(i.name),l&&(u=`- filled by ${bi(P.locator)} at ${r.slice(0,y).map(N=>bi(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${bi(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let B=r[y];for(let P of I){if(B.peerNames.has(P)&&B.originalDependencies.has(P))continue;let k=B.dependencies.get(P);k&&t.dependencies.get(P)!==k&&(y===r.length-1?g.add(k):(g=null,m=!1,l&&(u=`- peer dependency ${bi(k.locator)} from parent ${bi(B.locator)} was not hoisted to ${c}`))),I.delete(P)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},uHe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,h=!1,f=(I,y,B,P)=>{if(u.has(B))return;let k=[...y,B.locator],N=new Map,O=new Map;for(let F of gv(B)){let A=hHe(c,r,[c,...I,B],F,i,n,s,a,{outputReason:l.debugLevel>=2});if(O.set(F,A),A.isHoistable===2)for(let q of A.dependsOn){let Z=N.get(q.name)||new Set;Z.add(F.name),N.set(q.name,Z)}}let v=new Set,U=(F,A,q)=>{if(!v.has(F)){v.add(F),O.set(F,{isHoistable:1,reason:q});for(let Z of N.get(F.name)||[])U(B.dependencies.get(Z),A,l.debugLevel>=2?`- peer dependency ${bi(F.locator)} from parent ${bi(B.locator)} was not hoisted`:"")}};for(let[F,A]of O)A.isHoistable===1&&U(F,A,A.reason);for(let F of O.keys())if(!v.has(F)){h=!0;let A=o.get(B);A&&A.has(F.name)&&(g=!0),B.dependencies.delete(F.name),B.hoistedDependencies.set(F.name,F),B.reasons.delete(F.name);let q=c.dependencies.get(F.name),Z=null;if(l.debugLevel>=2&&(Z=Array.from(y).concat([B.locator]).map($=>bi($)).join("\u2192")),!q)c.ident!==F.ident&&(c.dependencies.set(F.name,F),l.debugLevel>=2&&F.hoistedFrom.push(Z),P.add(F));else for(let $ of F.references)q.references.add($),l.debugLevel>=2&&q.hoistedFrom.push(Z)}if(l.check){let F=Fte(t);if(F)throw new Error(`${F}, after hoisting dependencies of ${[c,...I,B].map(A=>bi(A.locator)).join("\u2192")}: -${yp(t)}`)}let re=gv(B);for(let F of re)if(v.has(F)){let A=O.get(F);if((n.get(F.name)===F.ident||!B.reasons.has(F.name))&&A.isHoistable!==0&&B.reasons.set(F.name,A.reason),!F.isHoistBorder&&k.indexOf(F.locator)<0){u.add(B);let Z=Lte(B,F);f([...I,B],[...y,B.locator],Z,m),u.delete(B)}}},p,m=new Set(gv(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=Lte(c,I);f([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:h}},Fte=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>bi(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` -`)},oHe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:cv(r,n),ident:vte(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),h=!!g;if(!g){let{name:f,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:f,references:new Set([m]),locator:cv(p,m),ident:vte(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(f):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),h){let f=new Set,p=m=>{if(!f.has(m)){f.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let f of c.dependencies)l(f,g)};for(let c of t.dependencies)l(c,o);return o},hv=t=>t.substring(0,t.indexOf("@",1)),aHe=t=>{let e={name:t.name,identName:hv(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:hv(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},gHe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},bi=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Mte=5e4,yp=t=>{let e=0,r=(n,s,o="")=>{if(e>Mte||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(h!==u.name?`a:${u.name}:`:"")+bi(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} -`,l+=r(u,s,`${o}${cMte?` -Tree is too large, part of the tree has been dunped -`:"")};var ia;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(ia||(ia={}));var Di;(function(t){t.WORKSPACES="workspaces",t.DEPENDENCIES="dependencies",t.NONE="none"})(Di||(Di={}));var Nte="node_modules",Cy="$wsroot$";var na=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=fHe(t,e),o=null;if(n.length===0){let a=Rte(r,{hoistingLimits:i});o=pHe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},cs=t=>`${t.name}@${t.reference}`,fv=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(w.delimiter).length,o=n.split(w.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Ote=(t,e)=>{let r=b.isVirtualLocator(t)?b.devirtualizeLocator(t):t,i=b.isVirtualLocator(e)?b.devirtualizeLocator(e):e;return b.areLocatorsEqual(r,i)},fHe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=npath.toPortablePath(a.packageLocation),u=cs(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(w.sep);for(let[P,k]of e.project.workspacesByCwd){let N=P.split(w.sep).slice(y.length),O=I;for(let v of N){let U=O.children.get(v);U||(U={children:new Map},O.children.set(v,U)),O=U}O.workspaceLocator={name:b.stringifyIdent(k.anchoredLocator),reference:k.anchoredLocator.reference}}let B=(P,k)=>{if(P.workspaceLocator){let N=cs(k),O=o.get(N);O||(O=new Set,o.set(N,O)),O.add(P.workspaceLocator)}for(let N of P.children.values())B(N,P.workspaceLocator||k)};for(let P of I.children.values())B(P,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},h=new Map,f=(I,y)=>`${cs(y)}:${I}`,p=(I,y)=>{if(I.linkType!==ia.SOFT||!e.project)return!1;let B=npath.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return w.contains(e.project.cwd,B)===null},m=(I,y,B,P,k,N,O)=>{var Z,$;let v=f(I,B),U=h.get(v),re=!!U;if(!re&&B.name===l.name&&B.reference===l.reference&&(U=g,h.set(v,g)),U||(U={name:I,identName:B.name,reference:B.reference,dependencies:new Set,peerNames:y.packagePeers},h.set(v,U)),O&&!p(y,B)){let T=cs({name:P.identName,reference:P.reference}),G=s.get(T)||new Set;s.set(T,G),G.add(U.name)}let F=new Map(y.packageDependencies);if(e.project){let T=e.project.workspacesByCwd.get(npath.toPortablePath(y.packageLocation.slice(0,-1)));if(T){let G=new Set([...Array.from(T.manifest.peerDependencies.values(),Qe=>b.stringifyIdent(Qe)),...Array.from(T.manifest.peerDependenciesMeta.keys())]);for(let Qe of G)F.has(Qe)||(F.set(Qe,k.get(Qe)||null),U.peerNames.add(Qe))}}let A=cs(B),q=o.get(A);if(q)for(let T of q)F.set(`${T.name}${Cy}`,T.reference);if(P.dependencies.add(U),!re){let T=new Map;for(let[G,Qe]of F)if(Qe!==null){let Pe=t.getLocator(G,Qe),He=t.getLocator(G.replace(Cy,""),Qe),Re=t.getPackageInformation(He);if(Re===null)throw new Error("Assertion failed: Expected the package to have been registered");let ee=p(Re,Pe);if(e.validateExternalSoftLinks&&e.project&&ee){Re.packageDependencies.size>0&&(n=!0);for(let[ue,De]of Re.packageDependencies){let z=b.parseLocator(Array.isArray(De)?`${De[0]}@${De[1]}`:`${ue}@${De}`);if(cs(z)!==cs(Pe)){let W=F.get(ue);if(W){let ie=b.parseLocator(Array.isArray(W)?`${W[0]}@${W[1]}`:`${ue}@${W}`);Ote(ie,z)||i.push({messageName:J.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${b.prettyIdent(e.project.configuration,b.parseIdent(Pe.name))} into ${b.prettyLocator(e.project.configuration,b.parseLocator(`${B.name}@${B.reference}`))} dependency ${b.prettyLocator(e.project.configuration,z)} conflicts with parent dependency ${b.prettyLocator(e.project.configuration,ie)}`})}else{let ie=T.get(ue);if(ie){let ae=ie.target,me=b.parseLocator(Array.isArray(ae)?`${ae[0]}@${ae[1]}`:`${ue}@${ae}`);Ote(me,z)||i.push({messageName:J.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${b.prettyIdent(e.project.configuration,b.parseIdent(Pe.name))} into ${b.prettyLocator(e.project.configuration,b.parseLocator(`${B.name}@${B.reference}`))} dependency ${b.prettyLocator(e.project.configuration,z)} conflicts with dependency ${b.prettyLocator(e.project.configuration,me)} from sibling portal ${b.prettyIdent(e.project.configuration,b.parseIdent(ie.portal.name))}`})}else T.set(ue,{target:z.reference,portal:Pe})}}}}let ne=(Z=e.hoistingLimitsByCwd)==null?void 0:Z.get(N),Ee=ee?N:w.relative(c,npath.toPortablePath(Re.packageLocation))||pe.dot,le=($=e.hoistingLimitsByCwd)==null?void 0:$.get(Ee),fe=ne===Di.DEPENDENCIES||le===Di.DEPENDENCIES||le===Di.WORKSPACES;m(cs(Pe)===cs(B)?I:G,Re,Pe,U,F,Ee,fe)}}};return m(l.name,a,l,g,a.packageDependencies,pe.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function dHe(t,e,r){let i=e.getLocator(t.name.replace(Cy,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=npath.toPortablePath(n.packageLocation),s=ia.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=npath.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var pHe=(t,e,r)=>{let i=new Map,n=(u,g,h)=>{let{linkType:f,target:p}=dHe(u,t,r);return{locator:cs(u),nodePath:g,target:p,linkType:f,aliases:h}},s=u=>{let[g,h]=u.split("/");return h?{scope:Ut(g),name:Ut(h)}:{scope:null,name:Ut(g)}},o=new Set,a=(u,g,h)=>{if(!o.has(u)){o.add(u);for(let f of u.dependencies){if(f===u)continue;let p=Array.from(f.references).sort(),m={name:f.identName,reference:p[0]},{name:I,scope:y}=s(f.name),B=y?[y,I]:[I],P=w.join(g,Nte),k=w.join(P,...B),N=`${h}/${m.name}`,O=n(m,h,p.slice(1));if(!f.name.endsWith(Cy)){let v=i.get(k);if(v){if(v.dirList)throw new Error(`Assertion failed: ${k} cannot merge dir node with leaf node`);{let A=b.parseLocator(v.locator),q=b.parseLocator(O.locator);if(v.linkType!==O.linkType)throw new Error(`Assertion failed: ${k} cannot merge nodes with different link types ${v.nodePath}/${b.stringifyLocator(A)} and ${h}/${b.stringifyLocator(q)}`);if(A.identHash!==q.identHash)throw new Error(`Assertion failed: ${k} cannot merge nodes with different idents ${v.nodePath}/${b.stringifyLocator(A)} and ${h}/s${b.stringifyLocator(q)}`);O.aliases=[...O.aliases,...v.aliases,b.parseLocator(v.locator).reference]}}i.set(k,O);let U=k.split("/"),re=U.indexOf(Nte),F=U.length-1;for(;re>=0&&F>re;){let A=npath.toPortablePath(U.slice(0,F).join(w.sep)),q=Ut(U[F]),Z=i.get(A);if(!Z)i.set(A,{dirList:new Set([q])});else if(Z.dirList){if(Z.dirList.has(q))break;Z.dirList.add(q)}F--}}a(f,O.linkType===ia.SOFT?O.target:k,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var Ute=X(pv());var Tte="node_modules",dv=(t,e)=>{let r={resolvedPath:t},i=t.split(w.sep),n=i.indexOf(Tte);if(n<0)return r;let s=i.lastIndexOf(Tte);typeof i[s+1]!="undefined"&&s++,i[s][0]==="@"&&typeof i[s+1]!="undefined"&&s++;let o=npath.toPortablePath(i.slice(0,n).join(w.sep)),a,l,c,u=n,g=pe.dot;for(;u<=s;){let h=Ut(i[u]);o=w.join(o,h),a=e.get(o),a?(a.linkType===ia.SOFT&&(o=a.target),l=a,g=pe.dot,c=a.dirList?o:a.target):g=w.join(g,h),u++}return g=w.join(g,...i.slice(s+1).map(h=>Ut(h))),l&&(!l.dirList||g!==pe.dot?(r.resolvedPath=w.join(c,g),r.isSymlink=l&&l.linkType===ia.SOFT&&g===pe.dot):g===pe.dot&&(r.dirList=l.dirList,r.forwardedDirPath=npath.toPortablePath(i.slice(0,n).join(w.sep)),r.forwardedDirPath.endsWith(".zip")&&(r.forwardedDirPath=w.dirname(r.forwardedDirPath)))),r};var Cv=class extends cr{constructor(e,{realFs:r=Kte.default,pnpifyFs:i=!0}={}){super(npath);this.baseFs=new Bp(e,{baseFs:new It(r),pnpifyFs:i})}mapFromBase(e){return npath.fromPortablePath(e)}mapToBase(e){return npath.toPortablePath(e)}},Hte=/[+wa]/,Bp=class extends yn{constructor(e,{baseFs:r=new It,pnpifyFs:i=!0}={}){super(w);if(!e.getDependencyTreeRoots)throw new Error("NodeModulesFS supports PnP API versions 3+, please upgrade your PnP API provider");this.options={baseFs:r,pnpifyFs:i},this.baseFs=r;let{tree:n,errors:s}=na(e,this.options);if(!n)throw new Error(`Assertion failed. Have got non-persistable node_modules graph, errors: -${JSON.stringify(s)}`);this.nodeModulesTree=n,this.watchManager=new lv;let o=npath.toPortablePath(e.getPackageInformation(e.topLevel).packageLocation);this.pnpFilePath=w.join(o,ft.pnpCjs),this.watchPnpFile(o)}watchPnpFile(e){this.baseFs.watch(e,{persistent:!1},(r,i)=>{if(i===ft.pnpCjs){let n=Ute.dynamicRequireNoCache(this.pnpFilePath);if(!na(n,this.options))throw new Error("Assertion failed. Have got non-persistable node_modules graph");this.watchManager.notifyWatchers(o=>dv(o,this.nodeModulesTree))}})}persistPath(e){let r=[],i=e;for(;!this.baseFs.existsSync(i);)r.push(i),i=w.dirname(i);for(let n of r.reverse())this.baseFs.mkdirSync(n)}persistVirtualParentFolder(e){if(typeof e!="number"){let r=this.resolvePath(w.dirname(e));r.dirList&&this.persistPath(r.resolvedPath)}}getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.baseFs.resolve(this.resolvePath(e).resolvedPath)}getBaseFs(){return this.baseFs}resolvePath(e){if(typeof e=="number")return{resolvedPath:e,fullOriginalPath:e};{let r=this.pathUtils.resolve(e);return{...dv(r,this.nodeModulesTree),fullOriginalPath:r}}}resolveFilePath(e){return typeof e=="number"?e:this.resolvePath(e).resolvedPath}resolveDirOrFilePath(e){if(typeof e=="number")return e;let r=this.resolvePath(e);return r.forwardedDirPath||r.resolvedPath}resolveLink(e){let{p:r,onSymlink:i,onRealPath:n,statOptions:s}=e,o=this.resolvePath(r);if(o.isSymlink){let a;try{a=this.baseFs.lstatSync(o.resolvedPath,s)}catch(l){}if(a)return i(a,this.pathUtils.relative(this.pathUtils.dirname(o.fullOriginalPath),o.resolvedPath))}return n(o.forwardedDirPath||o.resolvedPath)}static makeSymlinkStats(e){return Object.assign(e,{isFile:()=>!1,isDirectory:()=>!1,isSymbolicLink:()=>!0})}getRealPath(){return this.baseFs.getRealPath()}async openPromise(e,r,i){return Hte.test(r)&&this.persistVirtualParentFolder(e),await this.baseFs.openPromise(this.resolveFilePath(e),r,i)}openSync(e,r,i){return Hte.test(r)&&this.persistVirtualParentFolder(e),this.baseFs.openSync(this.resolveFilePath(e),r,i)}async opendirPromise(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(w.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return Qa(this,e,s)}else return await this.baseFs.opendirPromise(i.resolvedPath,r)}opendirSync(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(w.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return Qa(this,e,s)}else return this.baseFs.opendirSync(i.resolvedPath,r)}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){await this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.resolveFilePath(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.resolveDirOrFilePath(e):e,r)}async realpathPromise(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathPromise(r.resolvedPath)}realpathSync(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathSync(r.resolvedPath)}async existsPromise(e){let r=this.resolvePath(e);return r.dirList?!0:await this.baseFs.existsPromise(r.resolvedPath)}existsSync(e){let r=this.resolvePath(e);return r.dirList?!0:this.baseFs.existsSync(r.resolvedPath)}async accessPromise(e,r){return await this.baseFs.accessPromise(this.resolveDirOrFilePath(e),r)}accessSync(e,r){return this.baseFs.accessSync(this.resolveDirOrFilePath(e),r)}async statPromise(e,r){return await this.baseFs.statPromise(this.resolveDirOrFilePath(e),r)}statSync(e,r){return this.baseFs.statSync(this.resolveDirOrFilePath(e),r)}async fstatPromise(e,r){return await this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>Bp.makeSymlinkStats(i),onRealPath:async i=>await this.baseFs.lstatPromise(i,r),statOptions:r})}lstatSync(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>Bp.makeSymlinkStats(i),onRealPath:i=>this.baseFs.lstatSync(i,r),statOptions:r})}async chmodPromise(e,r){return await this.baseFs.chmodPromise(this.resolveDirOrFilePath(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.resolveDirOrFilePath(e),r)}async chownPromise(e,r,i){return await this.baseFs.chownPromise(this.resolveDirOrFilePath(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.resolveDirOrFilePath(e),r,i)}async renamePromise(e,r){return await this.baseFs.renamePromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}renameSync(e,r){return this.baseFs.renameSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async copyFilePromise(e,r,i){return await this.baseFs.copyFilePromise(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}copyFileSync(e,r,i){return this.baseFs.copyFileSync(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}async appendFilePromise(e,r,i){return await this.baseFs.appendFilePromise(this.resolveDirOrFilePath(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.resolveDirOrFilePath(e),r,i)}async writeFilePromise(e,r,i){return await this.baseFs.writeFilePromise(this.resolveDirOrFilePath(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.resolveDirOrFilePath(e),r,i)}async unlinkPromise(e){return await this.baseFs.unlinkPromise(this.resolveDirOrFilePath(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.resolveDirOrFilePath(e))}async utimesPromise(e,r,i){return await this.baseFs.utimesPromise(this.resolveDirOrFilePath(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.resolveDirOrFilePath(e),r,i)}async mkdirPromise(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirPromise(i.resolvedPath,r)}mkdirSync(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirSync(i.resolvedPath,r)}async rmdirPromise(e,r){return await this.baseFs.rmdirPromise(this.resolveDirOrFilePath(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.resolveDirOrFilePath(e),r)}async linkPromise(e,r){return await this.baseFs.linkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}linkSync(e,r){return this.baseFs.linkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async symlinkPromise(e,r){return await this.baseFs.symlinkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}symlinkSync(e,r){return this.baseFs.symlinkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async readFilePromise(e,r){switch(r){case"utf8":return await this.baseFs.readFilePromise(this.resolveFilePath(e),r);default:return await this.baseFs.readFilePromise(this.resolveFilePath(e),r)}}readFileSync(e,r){switch(r){case"utf8":return this.baseFs.readFileSync(this.resolveFilePath(e),r);default:return this.baseFs.readFileSync(this.resolveFilePath(e),r)}}async readdirPromise(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(w.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(w.join(e,o)),{name:o})):s}else return await this.baseFs.readdirPromise(i.resolvedPath,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(w.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(w.join(e,o)),{name:o})):s}else return this.baseFs.readdirSync(i.resolvedPath,{withFileTypes:r})}async readlinkPromise(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:async r=>await this.baseFs.readlinkPromise(this.resolveDirOrFilePath(r))})}readlinkSync(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:r=>this.baseFs.readlinkSync(this.resolveDirOrFilePath(r))})}async truncatePromise(e,r){return await this.baseFs.truncatePromise(this.resolveDirOrFilePath(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.resolveDirOrFilePath(e),r)}watch(e,r,i){let n=this.resolvePath(e),s=n.resolvedPath;if(s&&n.dirList){let o=typeof r=="function"?r:typeof i=="function"?i:()=>{};return this.watchManager.registerWatcher(s,n.dirList,o)}else return this.baseFs.watch(this.resolveDirOrFilePath(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.resolveDirOrFilePath(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.resolveDirOrFilePath(e),r)}};var Yte=X(pv()),jte=!1,Iv;try{Iv=Yte.dynamicRequire("pnpapi")}catch(t){}var CHe=()=>{if(Iv&&!jte){let t={...mv.default},e=new Cv(Iv,{realFs:t});eg(mv.default,e),jte=!0}};process.mainModule||CHe();var xv={};We(xv,{PnpInstaller:()=>cu,PnpLinker:()=>VA,default:()=>THe,getPnpPath:()=>XA,jsInstallUtils:()=>sa,pnpUtils:()=>Sv,quotePathIfNeeded:()=>cre});var lre=X(hr());var Gte;(function(t){t.HARD="HARD",t.SOFT="SOFT"})(Gte||(Gte={}));var Bt;(function(t){t.DEFAULT="DEFAULT",t.TOP_LEVEL="TOP_LEVEL",t.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",t.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",t.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",t.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",t.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",t.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",t.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",t.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",t.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",t.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Bt||(Bt={}));var qte={[Bt.DEFAULT]:{collapsed:!1,next:{["*"]:Bt.DEFAULT}},[Bt.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Bt.FALLBACK_EXCLUSION_LIST,packageRegistryData:Bt.PACKAGE_REGISTRY_DATA,["*"]:Bt.DEFAULT}},[Bt.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Bt.FALLBACK_EXCLUSION_ENTRIES}},[Bt.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Bt.FALLBACK_EXCLUSION_DATA}},[Bt.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Bt.DEFAULT}},[Bt.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Bt.PACKAGE_REGISTRY_ENTRIES}},[Bt.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Bt.PACKAGE_STORE_DATA}},[Bt.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Bt.PACKAGE_STORE_ENTRIES}},[Bt.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Bt.PACKAGE_INFORMATION_DATA}},[Bt.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Bt.PACKAGE_DEPENDENCIES,["*"]:Bt.DEFAULT}},[Bt.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Bt.PACKAGE_DEPENDENCY}},[Bt.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Bt.DEFAULT}}};function mHe(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function BHe(t){let e=new Map,r=wp(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function wHe(t){return wp(t.fallbackPool||[],([e])=>e)}function QHe(t){let e=[];for(let[r,i]of wp(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of wp(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of wp(a.entries(),([I])=>I))g.push([p,m]);let h=l&&l.size>0?Array.from(l):void 0,f=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:h,linkType:c,discardFromLookup:f}])}}return e}function Qp(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:BHe(t),fallbackPool:wHe(t),packageRegistryData:QHe(t)}}var Vte=X(Xte());function Zte(t,e){return[t?`${t} -`:"",`/* eslint-disable */ - -`,`try { -`,` Object.freeze({}).detectStrictMode = true; -`,`} catch (error) { -`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} -`,` -`,`var __non_webpack_module__ = module; -`,` -`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,e.replace(/^/gm," "),`} -`,` -`,Vte.default()].join("")}function bHe(t){return JSON.stringify(t,null,2)}function DHe(t){return[`return hydrateRuntimeState(${Wte(t)}, {basePath: basePath || __dirname}); -`].join("")}function SHe(t){return[`var path = require('path'); -`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); -`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function _te(t){let e=Qp(t),r=DHe(e);return Zte(t.shebang,r)}function $te(t){let e=Qp(t),r=SHe(t.dataLocation),i=Zte(t.shebang,r);return{dataFile:bHe(e),loaderFile:i}}var ire=X(require("fs")),vHe=X(require("path")),nre=X(require("util"));function yv(t,{basePath:e}){let r=npath.toPortablePath(e),i=w.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,h])=>[g,new Map(h.map(([f,p])=>{var P;if(g===null!=(f===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(P=p.discardFromLookup)!=null?P:!1,I={name:g,reference:f},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let B=null;return[f,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return B||(B=w.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,h])=>[g,new Set(h)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var lu=X(require("module")),rre=X(tre()),wv=X(require("util"));var Gt;(function(t){t.API_ERROR="API_ERROR",t.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",t.MISSING_DEPENDENCY="MISSING_DEPENDENCY",t.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",t.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",t.INTERNAL="INTERNAL",t.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",t.UNSUPPORTED="UNSUPPORTED"})(Gt||(Gt={}));var kHe=new Set([Gt.BUILTIN_NODE_RESOLUTION_FAILED,Gt.MISSING_DEPENDENCY,Gt.MISSING_PEER_DEPENDENCY,Gt.QUALIFIED_PATH_RESOLUTION_FAILED,Gt.UNDECLARED_DEPENDENCY]);function Fr(t,e,r={}){let i=kHe.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:t},data:{...n,value:r}})}function zA(t){return npath.normalize(npath.fromPortablePath(t))}function Qv(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(lu.Module.builtinModules||Object.keys(process.binding("natives"))),s=ee=>n.has(ee)||ee.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],h=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ee of["react-scripts","gatsby"]){let ne=t.packageRegistry.get(ee);if(ne)for(let Ee of ne.keys()){if(Ee===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ee,reference:Ee})}}let{ignorePattern:f,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ee,ne){return{fn:ee,args:ne,error:null,result:null}}function y(ee){var ue,De,z,W,ie,ae;let ne=(z=(De=(ue=process.stderr)==null?void 0:ue.hasColors)==null?void 0:De.call(ue))!=null?z:process.stdout.isTTY,Ee=(me,ot)=>`[${me}m${ot}`;ee.error?console.error(Ee("31;1",`\u2716 ${(W=ee.error)==null?void 0:W.message.replace(/\n.*/s,"")}`)):console.error(Ee("33;1","\u203C Resolution")),ee.args.length>0&&console.error();for(let me of ee.args)console.error(` ${Ee("37;1","In \u2190")} ${wv.inspect(me,{colors:ne,compact:!0})}`);ee.result&&(console.error(),console.error(` ${Ee("37;1","Out \u2192")} ${wv.inspect(ee.result,{colors:ne,compact:!0})}`));let fe=(ae=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?ae:[];if(fe.length>0){console.error();for(let me of fe)console.error(` ${Ee("38;5;244",me)}`)}console.error()}function B(ee,ne){if(e.allowDebug===!1)return ne;if(Number.isFinite(i)){if(i>=2)return(...Ee)=>{let le=I(ee,Ee);try{return le.result=ne(...Ee)}catch(fe){throw le.error=fe}finally{y(le)}};if(i>=1)return(...Ee)=>{try{return ne(...Ee)}catch(le){let fe=I(ee,Ee);throw fe.error=le,y(fe),le}}}return ne}function P(ee){let ne=q(ee);if(!ne)throw Fr(Gt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ne}function k(ee){if(ee.name===null)return!0;for(let ne of t.dependencyTreeRoots)if(ne.name===ee.name&&ne.reference===ee.reference)return!0;return!1}function N(ee){let ne=T(w.join(ee,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(ne===null)throw Fr(Gt.INTERNAL,`The locator that owns the "${ee}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Ee}=P(ne),le=w.join(Ee,ft.manifest);if(!e.fakeFs.existsSync(le))return null;let fe=JSON.parse(e.fakeFs.readFileSync(le,"utf8")),ue=w.contains(Ee,ee);if(ue===null)throw Fr(Gt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(ue)||(ue=`./${ue}`);let De=rre.resolve(fe,w.normalize(ue),{browser:!1,require:!0,conditions:[]});return typeof De=="string"?w.join(Ee,De):null}function O(ee,ne,{extensions:Ee}){let le;try{ne.push(ee),le=e.fakeFs.statSync(ee)}catch(fe){}if(le&&!le.isDirectory())return e.fakeFs.realpathSync(ee);if(le&&le.isDirectory()){let fe;try{fe=JSON.parse(e.fakeFs.readFileSync(w.join(ee,ft.manifest),"utf8"))}catch(De){}let ue;if(fe&&fe.main&&(ue=w.resolve(ee,fe.main)),ue&&ue!==ee){let De=O(ue,ne,{extensions:Ee});if(De!==null)return De}}for(let fe=0,ue=Ee.length;fe{let z=JSON.stringify(De.name);if(le.has(z))return;le.add(z);let W=Z(De);for(let ie of W)if(P(ie).packagePeers.has(ee))fe(ie);else{let me=Ee.get(ie.name);typeof me=="undefined"&&Ee.set(ie.name,me=new Set),me.add(ie.reference)}};fe(ne);let ue=[];for(let De of[...Ee.keys()].sort())for(let z of[...Ee.get(De)].sort())ue.push({name:De,reference:z});return ue}function T(ee,{resolveIgnored:ne=!1,includeDiscardFromLookup:Ee=!1}={}){if(re(ee)&&!ne)return null;let le=w.relative(t.basePath,ee);le.match(a)||(le=`./${le}`),le.endsWith("/")||(le=`${le}/`);do{let fe=m.get(le);if(typeof fe=="undefined"||fe.discardFromLookup&&!Ee){le=le.substring(0,le.lastIndexOf("/",le.length-2)+1);continue}return fe.locator}while(le!=="");return null}function G(ee,ne,{considerBuiltins:Ee=!0}={}){if(ee==="pnpapi")return npath.toPortablePath(e.pnpapiResolution);if(Ee&&s(ee))return null;let le=zA(ee),fe=ne&&zA(ne);if(ne&&re(ne)&&(!w.isAbsolute(ee)||T(ee)===null)){let z=U(ee,ne);if(z===!1)throw Fr(Gt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${le}" -Required by: ${fe} -`,{request:le,issuer:fe});return npath.toPortablePath(z)}let ue,De=ee.match(o);if(De){if(!ne)throw Fr(Gt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:le,issuer:fe});let[,z,W]=De,ie=T(ne);if(!ie){let Jt=U(ee,ne);if(Jt===!1)throw Fr(Gt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${le}" -Required by: ${fe} -`,{request:le,issuer:fe});return npath.toPortablePath(Jt)}let me=P(ie).packageDependencies.get(z),ot=null;if(me==null&&ie.name!==null){let Jt=t.fallbackExclusionList.get(ie.name);if(!Jt||!Jt.has(ie.reference)){for(let Tn=0,Ca=g.length;Tnk(Yi))?ct=Fr(Gt.MISSING_PEER_DEPENDENCY,`${ie.name} tried to access ${z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${ie.name}@${ie.reference} (via ${fe}) -${Jt.map(Yi=>`Ancestor breaking the chain: ${Yi.name}@${Yi.reference} -`).join("")} -`,{request:le,issuer:fe,issuerLocator:Object.assign({},ie),dependencyName:z,brokenAncestors:Jt}):ct=Fr(Gt.MISSING_PEER_DEPENDENCY,`${ie.name} tried to access ${z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${ie.name}@${ie.reference} (via ${fe}) - -${Jt.map(Yi=>`Ancestor breaking the chain: ${Yi.name}@${Yi.reference} -`).join("")} -`,{request:le,issuer:fe,issuerLocator:Object.assign({},ie),dependencyName:z,brokenAncestors:Jt})}else me===void 0&&(!Ee&&s(ee)?k(ie)?ct=Fr(Gt.UNDECLARED_DEPENDENCY,`Your application tried to access ${z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${fe} -`,{request:le,issuer:fe,dependencyName:z}):ct=Fr(Gt.UNDECLARED_DEPENDENCY,`${ie.name} tried to access ${z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${z} isn't otherwise declared in ${ie.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${fe} -`,{request:le,issuer:fe,issuerLocator:Object.assign({},ie),dependencyName:z}):k(ie)?ct=Fr(Gt.UNDECLARED_DEPENDENCY,`Your application tried to access ${z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${fe} -`,{request:le,issuer:fe,dependencyName:z}):ct=Fr(Gt.UNDECLARED_DEPENDENCY,`${ie.name} tried to access ${z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${z}${z!==le?` (via "${le}")`:""} -Required by: ${ie.name}@${ie.reference} (via ${fe}) -`,{request:le,issuer:fe,issuerLocator:Object.assign({},ie),dependencyName:z}));if(me==null){if(ot===null||ct===null)throw ct||new Error("Assertion failed: Expected an error to have been set");me=ot;let Jt=ct.message.replace(/\n.*/g,"");ct.message=Jt,!h.has(Jt)&&i!==0&&(h.add(Jt),process.emitWarning(ct))}let wt=Array.isArray(me)?{name:me[0],reference:me[1]}:{name:z,reference:me},In=P(wt);if(!In.packageLocation)throw Fr(Gt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${wt.name}@${wt.reference}${wt.name!==le?` (via "${le}")`:""} -Required by: ${ie.name}@${ie.reference} (via ${fe}) -`,{request:le,issuer:fe,dependencyLocator:Object.assign({},wt)});let li=In.packageLocation;W?ue=w.join(li,W):ue=li}else if(w.isAbsolute(ee))ue=w.normalize(ee);else{if(!ne)throw Fr(Gt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:le,issuer:fe});let z=w.resolve(ne);ne.match(l)?ue=w.normalize(w.join(z,ee)):ue=w.normalize(w.join(w.dirname(z),ee))}return w.normalize(ue)}function Qe(ee,ne){if(a.test(ee))return ne;let Ee=N(ne);return Ee?w.normalize(Ee):ne}function Pe(ee,{extensions:ne=Object.keys(lu.Module._extensions)}={}){let Ee=[],le=O(ee,Ee,{extensions:ne});if(le)return w.normalize(le);{let fe=zA(ee);throw Fr(Gt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. - -Source path: ${fe} -${Ee.map(ue=>`Not found: ${zA(ue)} -`).join("")}`,{unqualifiedPath:fe})}}function He(ee,ne,{considerBuiltins:Ee,extensions:le}={}){let fe=G(ee,ne,{considerBuiltins:Ee});if(fe===null)return null;let ue=()=>ne!==null?re(ne):!1,De=(!Ee||!s(ee))&&!ue()?Qe(ee,fe):fe;try{return Pe(De,{extensions:le})}catch(z){throw z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(z.data,{request:zA(ee),issuer:ne&&zA(ne)}),z}}function Re(ee){let ne=w.normalize(ee),Ee=_t.resolveVirtual(ne);return Ee!==ne?Ee:null}return{VERSIONS:F,topLevel:A,getLocator:(ee,ne)=>Array.isArray(ne)?{name:ne[0],reference:ne[1]}:{name:ee,reference:ne},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ee=[];for(let[ne,Ee]of p)for(let le of Ee.keys())ne!==null&&le!==null&&ee.push({name:ne,reference:le});return ee},getPackageInformation:ee=>{let ne=q(ee);if(ne===null)return null;let Ee=npath.fromPortablePath(ne.packageLocation);return{...ne,packageLocation:Ee}},findPackageLocator:ee=>T(npath.toPortablePath(ee)),resolveToUnqualified:B("resolveToUnqualified",(ee,ne,Ee)=>{let le=ne!==null?npath.toPortablePath(ne):null,fe=G(npath.toPortablePath(ee),le,Ee);return fe===null?null:npath.fromPortablePath(fe)}),resolveUnqualified:B("resolveUnqualified",(ee,ne)=>npath.fromPortablePath(Pe(npath.toPortablePath(ee),ne))),resolveRequest:B("resolveRequest",(ee,ne,Ee)=>{let le=ne!==null?npath.toPortablePath(ne):null,fe=He(npath.toPortablePath(ee),le,Ee);return fe===null?null:npath.fromPortablePath(fe)}),resolveVirtual:B("resolveVirtual",ee=>{let ne=Re(npath.toPortablePath(ee));return ne!==null?npath.fromPortablePath(ne):null})}}var vpt=nre.promisify(ire.readFile);var sre=(t,e,r)=>{let i=Qp(t),n=yv(i,{basePath:e}),s=npath.join(e,ft.pnpCjs);return Qv(n,{fakeFs:r,pnpapiResolution:s})};var sa={};We(sa,{checkAndReportManifestCompatibility:()=>ore,extractBuildScripts:()=>Iy,getExtractHint:()=>bv,hasBindingGyp:()=>Dv});function ore(t,e,r,{configuration:i,report:n}){return je.isManifestFieldCompatible(e.manifest.os,process.platform)?je.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(J.INCOMPATIBLE_CPU,`${b.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(J.INCOMPATIBLE_OS,`${b.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function Iy(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Ki.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Ki.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==nt.HARD?(n==null||n.reportWarningOnce(J.SOFT_LINK_BUILD,`${b.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(J.BUILD_DISABLED,`${b.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(J.DISABLED_BUILD_SCRIPTS,`${b.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):ore(t,e,"build",{configuration:i,report:n})?s:[]}var FHe=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function bv(t){return t.packageFs.getExtractHint({relevantExtensions:FHe})}function Dv(t){let e=w.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var Sv={};We(Sv,{getUnpluggedPath:()=>bp});function bp(t,{configuration:e}){return w.resolve(e.get("pnpUnpluggedFolder"),b.slugifyLocator(t))}var RHe=new Set([b.makeIdent(null,"nan").identHash,b.makeIdent(null,"node-gyp").identHash,b.makeIdent(null,"node-pre-gyp").identHash,b.makeIdent(null,"node-addon-api").identHash,b.makeIdent(null,"fsevents").identHash]),VA=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=XA(r.project).cjs;if(!R.existsSync(i))throw new UsageError(`The project in ${se.pretty(r.project.configuration,`${r.project.cwd}/package.json`,se.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=he.getFactoryWithDefault(this.pnpCache,i,()=>he.dynamicRequireNoCache(i)),s={name:b.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new UsageError(`Couldn't find ${b.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return npath.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=XA(r.project).cjs;if(!R.existsSync(i))return null;let s=he.getFactoryWithDefault(this.pnpCache,i,()=>he.dynamicRequireNoCache(i)).findPackageLocator(npath.fromPortablePath(e));return s?b.makeLocator(b.parseIdent(s.name),s.reference):null}makeInstaller(e){return new cu(e)}},cu=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=b.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!b.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==nt.SOFT,c=this.customData.store.get(e.locatorHash);typeof c=="undefined"&&(c=await LHe(e,r),e.linkType===nt.HARD&&this.customData.store.set(e.locatorHash,c));let u=this.opts.project.getDependencyMeta(e,e.version),g=a?Iy(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(w.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let f=w.resolve(h.getRealPath(),r.prefixPath),p=Pv(this.opts.project.cwd,f),m=new Map,I=new Set;if(b.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(b.stringifyIdent(y),null),I.add(b.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=b.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:Pv(this.opts.project.cwd,_t.resolveVirtual(f)),locator:y})}}return he.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:f,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=b.areIdentsEqual(n,s)?s.reference:[b.stringifyIdent(s),s.reference];i.packageDependencies.set(b.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(b.stringifyIdent(e),e.reference)}async finalizeInstall(){for(let{locator:c,location:u}of this.virtualTemplates.values())he.getMapWithDefault(this.packageRegistry,b.stringifyIdent(c)).set(c.reference,{packageLocation:u,packageDependencies:new Map,packagePeers:new Set,linkType:nt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let e=this.opts.project.configuration.get("pnpFallbackMode"),r=this.opts.project.workspaces.map(({anchoredLocator:c})=>({name:b.stringifyIdent(c),reference:c.reference})),i=e!=="none",n=[],s=new Map,o=he.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),a=this.packageRegistry,l=this.opts.project.configuration.get("pnpShebang");if(e==="dependencies-only")for(let c of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(c)&&n.push({name:b.stringifyIdent(c),reference:c.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:r,enableTopLevelFallback:i,fallbackExclusionList:n,fallbackPool:s,ignorePattern:o,packageRegistry:a,shebang:l}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let r=XA(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath");if(R.existsSync(r.cjsLegacy)&&(this.opts.report.reportWarning(J.UNNAMED,`Removing the old ${se.pretty(this.opts.project.configuration,ft.pnpJs,se.Type.PATH)} file. You might need to manually update existing references to reference the new ${se.pretty(this.opts.project.configuration,ft.pnpCjs,se.Type.PATH)} file. If you use PnPify SDKs, you'll have to rerun ${se.pretty(this.opts.project.configuration,"yarn pnpify --sdk",se.Type.CODE)}.`),await R.removePromise(r.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await R.removePromise(r.cjs),await R.removePromise(i);return}let n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(J.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await R.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=_te(e);await R.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await R.chmodPromise(r.cjs,493),await R.removePromise(i)}else{let o=w.relative(w.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=$te({...e,dataLocation:o});await R.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await R.chmodPromise(r.cjs,493),await R.changeFilePromise(i,a,{automaticNewlines:!0}),await R.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await R.removePromise(s);else for(let o of await R.readdirPromise(s)){let a=w.resolve(s,o);this.unpluggedPaths.has(a)||await R.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=w.join(n.cwd,"node_modules");if(i&&i.test(w.relative(this.opts.project.cwd,n.cwd))||!R.existsSync(s))continue;let o=await R.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(w.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:RHe.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Iy(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=bp(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=w.join(i,r.prefixPath,".ready");return await R.existsPromise(n)?new Ct(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await R.mkdirPromise(i,{recursive:!0}),await R.copyPromise(i,pe.dot,{baseFs:r.packageFs,overwrite:!1}),await R.writeFilePromise(n,""),new Ct(i))}getPackageInformation(e){let r=b.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${b.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${b.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=he.getMapWithDefault(this.packageRegistry,"@@disk"),i=Pv(this.opts.project.cwd,e);return he.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:nt.SOFT,discardFromLookup:!1}))}};function Pv(t,e){let r=w.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function LHe(t,e){var n;let r=(n=await je.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new je,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:bv(e),hasBindingGyp:Dv(e)}}}var are=X(Qn());var Dp=class extends Ce{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new UsageError("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(h=>{let f=b.parseDescriptor(h),p=f.range!=="unknown"?f:b.makeDescriptor(f,"*");if(!St.validRange(p.range))throw new UsageError(`The range of the descriptor patterns must be a valid semver range (${b.prettyDescriptor(e,p)})`);return m=>{let I=b.stringifyIdent(m);return!are.default.isMatch(I,b.stringifyIdent(p))||m.version&&!St.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(h),!0)}}),a=()=>{let h=[];for(let f of r.storedPackages.values())!r.tryWorkspaceByLocator(f)&&!b.isVirtualLocator(f)&&o.some(p=>p(f))&&h.push(f);return h},l=h=>{let f=new Set,p=[],m=(I,y)=>{if(!f.has(I.locatorHash)&&(f.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(B=>B(I))&&p.push(I),!(y>0&&!this.recursive)))for(let B of I.dependencies.values()){let P=r.storedResolutions.get(B.descriptorHash);if(!P)throw new Error("Assertion failed: The resolution should have been registered");let k=r.storedPackages.get(P);if(!k)throw new Error("Assertion failed: The package should have been registered");m(k,y+1)}};for(let I of h){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new UsageError(`Patterns ${se.prettyList(e,s,se.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new UsageError(`Pattern ${se.prettyList(e,s,se.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=he.sortMap(c,h=>b.stringifyLocator(h)),(await we.start({configuration:e,stdout:this.context.stdout,json:this.json},async h=>{var f;for(let p of c){let m=(f=p.version)!=null?f:"unknown",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(b.makeDescriptor(p,m));I.unplugged=!0,h.reportInfo(J.UNNAMED,`Will unpack ${b.prettyLocator(e,p)} to ${se.pretty(e,bp(p,{configuration:e}),se.Type.PATH)}`),h.reportJson({locator:b.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),h.reportSeparator(),await r.install({cache:n,report:h})})).exitCode()}};Dp.paths=[["unplug"]],Dp.usage=ce.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Are=Dp;var XA=t=>({cjs:w.join(t.cwd,ft.pnpCjs),cjsLegacy:w.join(t.cwd,ft.pnpJs)}),cre=t=>/\s/.test(t)?JSON.stringify(t):t;async function MHe(t,e,r){let i=XA(t).cjs,n=`--require ${cre(npath.fromPortablePath(i))}`;if(i.includes(" ")&&lre.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(R.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function NHe(t,e){e(XA(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var OHe={hooks:{populateYarnPaths:NHe,setupScriptEnvironment:MHe},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:Ae.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:Ae.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:Ae.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:Ae.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:Ae.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:Ae.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:Ae.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:Ae.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[VA],commands:[Are]},THe=OHe;var dre=X(pre());var Lv=X(require("crypto")),Cre=X(require("fs")),mre=1,br="node_modules",Mv=".bin",Ire=".yarn-state.yml",Si;(function(t){t.CLASSIC="classic",t.HARDLINKS_LOCAL="hardlinks-local",t.HARDLINKS_GLOBAL="hardlinks-global"})(Si||(Si={}));var Nv=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await he.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Ov(r.project,{unrollAliases:!0}));if(n===null)throw new UsageError("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(b.stringifyLocator(e));if(!s){let a=new UsageError(`Couldn't find ${b.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>w.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await he.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Ov(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=Ey(w.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return b.parseLocator(a)}makeInstaller(e){return new Ere(e)}},Ere=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=w.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await tYe(e,r),e.linkType===nt.HARD&&this.customData.store.set(e.locatorHash,n)),!sa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(b.stringifyIdent(e))||s.set(b.stringifyIdent(e),e.reference);let a=e;if(b.isVirtualLocator(e)){a=b.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(b.stringifyIdent(g),null),o.add(b.stringifyIdent(g))}let l={packageLocation:`${npath.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=b.areIdentsEqual(n,s)?s.reference:[b.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(b.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new _t({baseFs:new Ji({libzip:await ri(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await Ov(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(g=>{var f,p;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=he.validateEnum(Di,(p=(f=g.manifest.installConfig)==null?void 0:f.hoistingLimits)!=null?p:h)}catch(m){let I=b.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(J.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Di).join(", ")}, using default: "${h}"`)}return[g.relativeCwd,h]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:g,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let h=g.anchoredLocator;return{name:b.stringifyIdent(g.locator),reference:h.reference}}),getPackageInformation:g=>{let h=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:b.makeLocator(b.parseIdent(g.name),g.reference),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return f.pnpNode},findPackageLocator:g=>{let h=this.opts.project.tryWorkspaceByCwd(npath.toPortablePath(g));if(h!==null){let f=h.anchoredLocator;return{name:b.stringifyIdent(f),reference:f.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:g=>npath.fromPortablePath(_t.resolveVirtual(npath.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=na(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:h}of a)this.opts.report.reportError(g,h);return}let c=fv(o);await rYe(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let h=b.parseLocator(g),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return f.customPackageData.manifest}});let u=[];for(let[g,h]of c.entries()){if(yre(g))continue;let f=b.parseLocator(g),p=this.localStore.get(f.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=sa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:h.locations,locatorHash:f.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(J.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${se.pretty(this.opts.project.configuration,"--preserve-symlinks",se.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:u}}};async function tYe(t,e){var n;let r=(n=await je.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new je,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:sa.getExtractHint(e),hasBindingGyp:sa.hasBindingGyp(e)}}}async function iYe(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will -`,n+=`# cause your node_modules installation to become invalidated. -`,n+=` -`,n+=`__metadata: -`,n+=` version: ${mre} -`,n+=` nmMode: ${i} -`;let s=Array.from(e.keys()).sort(),o=b.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` -`,n+=`${JSON.stringify(c)}: -`,n+=` locations: -`;for(let g of u.locations){let h=w.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(h)} -`}if(u.aliases.length>0){n+=` aliases: -`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} -`}if(c===o&&r.size>0){n+=` bin: -`;for(let[g,h]of r){let f=w.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(f)}: -`;for(let[p,m]of h){let I=w.relative(w.join(g,br),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} -`}}}}let a=t.cwd,l=w.join(a,br,Ire);await R.changeFilePromise(l,n,{automaticNewlines:!0})}async function Ov(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=w.join(r,br,Ire);if(!R.existsSync(i))return null;let n=kr(await R.readFilePromise(i,"utf8"));if(n.__metadata.version>mre)return null;let s=n.__metadata.nmMode||Si.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(h=>w.join(r,h)),g=c.bin;if(g)for(let[h,f]of Object.entries(g)){let p=w.join(r,npath.toPortablePath(h)),m=he.getMapWithDefault(a,p);for(let[I,y]of Object.entries(f))m.set(Ut(I),npath.toPortablePath([p,br,y].join(w.delimiter)))}if(o.set(l,{target:pe.dot,linkType:nt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let h of c.aliases){let{scope:f,name:p}=b.parseLocator(l),m=b.makeLocator(b.makeIdent(f,p),h),I=b.stringifyLocator(m);o.set(I,{target:pe.dot,linkType:nt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Bre(o,{skipPrefix:t.cwd}),nmMode:s}}var gu=async(t,e)=>{if(t.split(w.sep).indexOf(br)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await R.lstatPromise(t)).isSymbolicLink()){await R.unlinkPromise(t);return}let r=await R.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=w.join(t,Ut(i.name));i.isDirectory()?(i.name!==br||e&&e.innerLoop)&&await gu(n,{innerLoop:!0,contentsOnly:!1}):await R.unlinkPromise(n)}e.contentsOnly||await R.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},wre=4,Ey=(t,{skipPrefix:e})=>{let r=w.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(w.sep).filter(l=>l!==""),n=i.indexOf(br),s=i.slice(0,n).join(w.sep),o=w.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Bre=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:nt.HARD});for(let[n,s]of t.entries()){if(s.linkType===nt.SOFT&&w.contains(e,s.target)!==null){let a=he.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=Ey(o,{skipPrefix:e}),c=he.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await R.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await R.symlinkPromise(t,e,"junction"):await R.symlinkPromise(w.relative(w.dirname(e),t),e)};async function Qre(t,e,r){let i=w.join(t,Ut(`${Lv.default.randomBytes(16).toString("hex")}.tmp`));try{await R.writeFilePromise(i,r);try{await R.linkPromise(i,e)}catch(n){}}finally{await R.unlinkPromise(i)}}async function nYe({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Si.HARDLINKS_GLOBAL&&i&&o){let l=w.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await pi.checksumFile(l,{baseFs:R,algorithm:"sha1"})!==o){let g=w.join(i,Ut(`${Lv.default.randomBytes(16).toString("hex")}.tmp`));await R.renamePromise(l,g);let h=await n.readFilePromise(t);await R.writeFilePromise(g,h);try{await R.linkPromise(g,l),await R.unlinkPromise(g)}catch(f){}}await R.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await Qre(i,l,u),await R.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await R.chmodPromise(e,a)}var oa;(function(t){t.FILE="file",t.DIRECTORY="directory",t.SYMLINK="symlink"})(oa||(oa={}));var sYe=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await R.mkdirPromise(t,{recursive:!0});let o=async(l=pe.dot)=>{let c=w.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let h of u){let f=w.join(l,h.name),p,m=w.join(c,h.name);if(h.isFile()){if(p={kind:oa.FILE,mode:(await r.lstatPromise(m)).mode},n===Si.HARDLINKS_GLOBAL){let I=await pi.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(h.isDirectory())p={kind:oa.DIRECTORY};else if(h.isSymbolicLink())p={kind:oa.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(f,p),h.isDirectory()&&f!==br){let I=await o(f);for(let[y,B]of I)g.set(y,B)}}return g},a;if(n===Si.HARDLINKS_GLOBAL&&i&&s){let l=w.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await R.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await Qre(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=w.join(e,l),g=w.join(t,l);c.kind===oa.DIRECTORY?await R.mkdirPromise(g,{recursive:!0}):c.kind===oa.FILE?await nYe({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===oa.SYMLINK&&await Tv(w.resolve(w.dirname(g),c.symlinkTo),g)}};function oYe(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=w.join(n,br);if(!R.existsSync(o)){s.children.delete(br);for(let a of i.keys())w.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function yre(t){let e=b.parseDescriptor(t);return b.isVirtualDescriptor(e)&&(e=b.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function aYe(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=yre(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,h]of c.bin){let f=w.join(l[0],h);h!==""&&R.existsSync(f)&&u.set(g,h)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=w.contains(r,a);if(c.locator&&g!==null){let h=n.get(c.locator);for(let[f,p]of h){let m=w.join(a,npath.toPortablePath(p));u.set(Ut(f),m)}for(let[f,p]of c.children){let m=w.join(a,f),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[h,f]of c.children){let p=o(w.join(a,h),l,f);for(let[m,I]of p)u.set(m,I)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var bre=(t,e)=>{if(!t||!e)return t===e;let r=b.parseLocator(t);b.isVirtualLocator(r)&&(r=b.devirtualizeLocator(r));let i=b.parseLocator(e);return b.isVirtualLocator(i)&&(i=b.devirtualizeLocator(i)),b.areLocatorsEqual(r,i)};function Kv(t){return w.join(t.get("globalFolder"),"store")}async function rYe(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=w.join(i.cwd,br),{locationTree:l,binSymlinks:c}=oYe(t.locationTree,t.binSymlinks),u=Bre(e,{skipPrefix:i.cwd}),g=[],h=async({srcDir:N,dstDir:O,linkType:v,globalHardlinksStore:U,nmMode:re,packageChecksum:F})=>{let A=(async()=>{try{v===nt.SOFT?(await R.mkdirPromise(w.dirname(O),{recursive:!0}),await Tv(w.resolve(N),O)):await sYe(O,N,{baseFs:r,globalHardlinksStore:U,nmMode:re,packageChecksum:F})}catch(q){throw q.message=`While persisting ${N} -> ${O} ${q.message}`,q}finally{B.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>wre&&await Promise.race(g)},f=async(N,O,v)=>{let U=(async()=>{let re=async(F,A,q)=>{try{q.innerLoop||await R.mkdirPromise(A,{recursive:!0});let Z=await R.readdirPromise(F,{withFileTypes:!0});for(let $ of Z){if(!q.innerLoop&&$.name===Mv)continue;let T=w.join(F,$.name),G=w.join(A,$.name);$.isDirectory()?($.name!==br||q&&q.innerLoop)&&(await R.mkdirPromise(G,{recursive:!0}),await re(T,G,{...q,innerLoop:!0})):k===Si.HARDLINKS_LOCAL||k===Si.HARDLINKS_GLOBAL?await R.linkPromise(T,G):await R.copyFilePromise(T,G,Cre.default.constants.COPYFILE_FICLONE)}}catch(Z){throw q.innerLoop||(Z.message=`While cloning ${F} -> ${A} ${Z.message}`),Z}finally{q.innerLoop||B.tick()}};await re(N,O,v)})().then(()=>g.splice(g.indexOf(U),1));g.push(U),g.length>wre&&await Promise.race(g)},p=async(N,O,v)=>{if(!v)O.children.has(br)&&await gu(w.join(N,br),{contentsOnly:!1}),await gu(N,{contentsOnly:N===a});else for(let[U,re]of O.children){let F=v.children.get(U);await p(w.join(N,U),re,F)}};for(let[N,O]of l){let v=u.get(N);for(let[U,re]of O.children){if(U===".")continue;let F=v&&v.children.get(U);await p(w.join(N,U),re,F)}}let m=async(N,O,v)=>{if(!v)O.children.has(br)&&await gu(w.join(N,br),{contentsOnly:!0}),await gu(N,{contentsOnly:O.linkType===nt.HARD});else{bre(O.locator,v.locator)||await gu(N,{contentsOnly:O.linkType===nt.HARD});for(let[U,re]of O.children){let F=v.children.get(U);await m(w.join(N,U),re,F)}}};for(let[N,O]of u){let v=l.get(N);for(let[U,re]of O.children){if(U===".")continue;let F=v&&v.children.get(U);await m(w.join(N,U),re,F)}}let I=new Map,y=[];for(let[N,{locations:O}]of t.locatorMap.entries())for(let v of O){let{locationRoot:U,segments:re}=Ey(v,{skipPrefix:i.cwd}),F=u.get(U),A=U;if(F){for(let q of re)if(A=w.join(A,q),F=F.children.get(q),!F)break;if(F){let q=bre(F.locator,N),Z=e.get(F.locator),$=Z.target,T=A,G=Z.linkType;if(q)I.has($)||I.set($,T);else if($!==T){let Qe=b.parseLocator(F.locator);b.isVirtualLocator(Qe)&&(Qe=b.devirtualizeLocator(Qe)),y.push({srcDir:$,dstDir:T,linkType:G,realLocatorHash:Qe.locatorHash})}}}}for(let[N,{locations:O}]of e.entries())for(let v of O){let{locationRoot:U,segments:re}=Ey(v,{skipPrefix:i.cwd}),F=l.get(U),A=u.get(U),q=U,Z=e.get(N),$=b.parseLocator(N);b.isVirtualLocator($)&&($=b.devirtualizeLocator($));let T=$.locatorHash,G=Z.target,Qe=v;if(G===Qe)continue;let Pe=Z.linkType;for(let He of re)A=A.children.get(He);if(!F)y.push({srcDir:G,dstDir:Qe,linkType:Pe,realLocatorHash:T});else for(let He of re)if(q=w.join(q,He),F=F.children.get(He),!F){y.push({srcDir:G,dstDir:Qe,linkType:Pe,realLocatorHash:T});break}}let B=ti.progressViaCounter(y.length),P=n.reportProgress(B),k=i.configuration.get("nmMode");try{let N=k===Si.HARDLINKS_GLOBAL?`${Kv(i.configuration)}/v1`:null;if(N&&!await R.existsPromise(N)){await R.mkdirpPromise(N);for(let v=0;v<256;v++)await R.mkdirPromise(w.join(N,v.toString(16).padStart(2,"0")))}for(let v of y)(v.linkType===nt.SOFT||!I.has(v.srcDir))&&(I.set(v.srcDir,v.dstDir),await h({...v,globalHardlinksStore:N,nmMode:k,packageChecksum:o.get(v.realLocatorHash)||null}));await Promise.all(g),g.length=0;for(let v of y){let U=I.get(v.srcDir);v.linkType!==nt.SOFT&&v.dstDir!==U&&await f(U,v.dstDir,{nmMode:k})}await Promise.all(g),await R.mkdirPromise(a,{recursive:!0});let O=await aYe(e,u,i.cwd,{loadManifest:s});await AYe(c,O,i.cwd),await iYe(i,e,O,k)}finally{P.stop()}}async function AYe(t,e,r){for(let i of t.keys()){if(w.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=w.join(i,br,Mv);await R.removePromise(n)}}for(let[i,n]of e){if(w.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=w.join(i,br,Mv),o=t.get(i)||new Map;await R.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await R.removePromise(w.join(s,a)),process.platform==="win32"&&await R.removePromise(w.join(s,Ut(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=w.join(s,a);c!==l&&(process.platform==="win32"?await dre.default(npath.fromPortablePath(l),npath.fromPortablePath(u),{createPwshFile:!1}):(await R.removePromise(u),await Tv(l,u),w.contains(r,await R.realpathPromise(l))!==null&&await R.chmodPromise(l,493)))}}}var Uv=class extends VA{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Dre(e)}},Dre=class extends cu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new _t({baseFs:new Ji({libzip:await ri(),maxOpenFiles:80,readOnlyArchives:!0})}),i=sre(e,this.opts.project.cwd,r),{tree:n,errors:s}=na(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let h=b.parseLocator(g.locator),f=b.stringifyIdent(h);f===u?o.set(u,h.reference):o.set(u,[f,h.reference])},l=w.join(this.opts.project.cwd,ft.nodeModules),c=n.get(l);if(typeof c=="undefined")throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=w.join(l,u),h=n.get(g);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)a(u,h);else for(let f of h.dirList){let p=w.join(g,f),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${f}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}};var lYe={hooks:{cleanGlobalArtifacts:async t=>{let e=Kv(t);await R.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:Ae.STRING,values:[Di.WORKSPACES,Di.DEPENDENCIES,Di.NONE],default:Di.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:Ae.STRING,values:[Si.CLASSIC,Si.HARDLINKS_LOCAL,Si.HARDLINKS_GLOBAL],default:Si.CLASSIC}},linkers:[Nv,Uv]},cYe=lYe;var GF={};We(GF,{default:()=>pqe,npmConfigUtils:()=>Kt,npmHttpUtils:()=>mt,npmPublishUtils:()=>Hp});var xre=X(hr());var kt="npm:";var mt={};We(mt,{AuthType:()=>Hi,customPackageError:()=>hYe,del:()=>dYe,get:()=>Mn,getIdentUrl:()=>la,handleInvalidAuthenticationError:()=>Aa,post:()=>fYe,put:()=>pYe});var Pre=X(Lf()),By=X(require("url"));var Kt={};We(Kt,{RegistryType:()=>aa,getAuthConfiguration:()=>jv,getDefaultRegistry:()=>yy,getPublishRegistry:()=>uYe,getRegistryConfiguration:()=>Sre,getScopeConfiguration:()=>Yv,getScopeRegistry:()=>no,normalizeRegistry:()=>hu});var aa;(function(t){t.FETCH_REGISTRY="npmRegistryServer",t.PUBLISH_REGISTRY="npmPublishRegistry"})(aa||(aa={}));function hu(t){return t.replace(/\/$/,"")}function uYe(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?hu(t.publishConfig.registry):t.name?no(t.name.scope,{configuration:e,type:aa.PUBLISH_REGISTRY}):yy({configuration:e,type:aa.PUBLISH_REGISTRY})}function no(t,{configuration:e,type:r=aa.FETCH_REGISTRY}){let i=Yv(t,{configuration:e});if(i===null)return yy({configuration:e,type:r});let n=i.get(r);return n===null?yy({configuration:e,type:r}):hu(n)}function yy({configuration:t,type:e=aa.FETCH_REGISTRY}){let r=t.get(e);return hu(r!==null?r:t.get(aa.FETCH_REGISTRY))}function Sre(t,{configuration:e}){let r=e.get("npmRegistries"),i=r.get(t);if(typeof i!="undefined")return i;let n=r.get(t.replace(/^[a-z]+:/,""));return typeof n!="undefined"?n:null}function Yv(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function jv(t,{configuration:e,ident:r}){let i=r&&Yv(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Sre(t,{configuration:e})||e}var Hi;(function(t){t[t.NO_AUTH=0]="NO_AUTH",t[t.BEST_EFFORT=1]="BEST_EFFORT",t[t.CONFIGURATION=2]="CONFIGURATION",t[t.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(Hi||(Hi={}));async function Aa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new Ge(J.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await gYe(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function hYe(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function la(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Mn(t,{configuration:e,headers:r,ident:i,authType:n,registry:s,...o}){if(i&&typeof s=="undefined"&&(s=no(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await wy(s,{authType:n,configuration:e,ident:i});a&&(r={...r,authorization:a});let l;try{l=new By.URL(t)}catch(c){l=new By.URL(s+t)}try{return await Mt.get(l.href,{configuration:e,headers:r,...o})}catch(c){throw await Aa(c,{registry:s,configuration:e,headers:r}),c}}async function fYe(t,e,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,...l}){if(s&&typeof a=="undefined"&&(a=no(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let c=await wy(a,{authType:o,configuration:i,ident:s});c&&(n={...n,authorization:c});try{return await Mt.post(a+t,e,{configuration:i,headers:n,...l})}catch(u){if(!qv(u))throw await Aa(u,{attemptedAs:r,registry:a,configuration:i,headers:n}),u;let g=await Gv(),h={...n,...Jv(g)};try{return await Mt.post(`${a}${t}`,e,{configuration:i,headers:h,...l})}catch(f){throw await Aa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f}}}async function pYe(t,e,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,...l}){if(s&&typeof a=="undefined"&&(a=no(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let c=await wy(a,{authType:o,configuration:i,ident:s});c&&(n={...n,authorization:c});try{return await Mt.put(a+t,e,{configuration:i,headers:n,...l})}catch(u){if(!qv(u))throw await Aa(u,{attemptedAs:r,registry:a,configuration:i,headers:n}),u;let g=await Gv(),h={...n,...Jv(g)};try{return await Mt.put(`${a}${t}`,e,{configuration:i,headers:h,...l})}catch(f){throw await Aa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f}}}async function dYe(t,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o,...a}){if(n&&typeof o=="undefined"&&(o=no(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let l=await wy(o,{authType:s,configuration:r,ident:n});l&&(i={...i,authorization:l});try{return await Mt.del(o+t,{configuration:r,headers:i,...a})}catch(c){if(!qv(c))throw await Aa(c,{attemptedAs:e,registry:o,configuration:r,headers:i}),c;let u=await Gv(),g={...i,...Jv(u)};try{return await Mt.del(`${o}${t}`,{configuration:r,headers:g,...a})}catch(h){throw await Aa(h,{attemptedAs:e,registry:o,configuration:r,headers:i}),h}}}async function wy(t,{authType:e=2,configuration:r,ident:i}){let n=jv(t,{configuration:r,ident:i}),s=CYe(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent"))return`Basic ${n.get("npmAuthIdent")}`;if(s&&e!==1)throw new Ge(J.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function CYe(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function gYe(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Mt.get(new By.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function Gv(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await Pre.prompt({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function qv(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function Jv(t){return{["npm-otp"]:t}}var Wv=class{supports(e,r){if(!e.reference.startsWith(kt))return!1;let{selector:i,params:n}=b.parseRange(e.reference);return!(!xre.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=b.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Mn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await Ar.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1})}};var zv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(kt)||!b.tryParseDescriptor(e.range.slice(kt.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=b.parseDescriptor(e.range.slice(kt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=b.parseDescriptor(e.range.slice(kt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=b.parseDescriptor(e.range.slice(kt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var Xv=X(hr()),kre=X(require("url"));var Nn=class{supports(e,r){if(!e.reference.startsWith(kt))return!1;let i=new kre.URL(e.reference);return!(!Xv.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Mn(Nn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Mn(Nn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await Ar.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:b.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=no(e.scope,{configuration:i}),s=Nn.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Xv.default.clean(e.reference.slice(kt.length));if(r===null)throw new Ge(J.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${la(e)}/-/${e.name}-${r}.tgz`}};var Vv=X(hr());var Qy=b.makeIdent(null,"node-gyp"),mYe=/\b(node-gyp|prebuild-install)\b/,Zv=class{supportsDescriptor(e,r){return e.range.startsWith(kt)?!!St.validRange(e.range.slice(kt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(kt))return!1;let{selector:i}=b.parseRange(e.reference);return!!Vv.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=St.validRange(e.range.slice(kt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(kt.length)}`);let s=await Mn(la(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=he.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new St.SemVer(c);if(n.test(u))return u}catch{}return he.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=b.makeLocator(e,`${kt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Nn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:b.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=St.validRange(e.range.slice(kt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(kt.length)}`);return he.mapAndFilter(r,s=>{try{let{selector:o}=b.parseRange(s,{requireProtocol:kt}),a=new St.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return he.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>b.makeLocator(e,s))}async resolve(e,r){let{selector:i}=b.parseRange(e.reference),n=Vv.default.clean(i);if(n===null)throw new Ge(J.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Mn(la(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new Ge(J.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new Ge(J.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new je;if(o.load(s.versions[n]),!o.dependencies.has(Qy.identHash)&&!o.peerDependencies.has(Qy.identHash)){for(let a of o.scripts.values())if(a.match(mYe)){o.dependencies.set(Qy.identHash,b.makeDescriptor(Qy,"latest")),r.report.reportWarning(J.NODE_GYP_INJECTED,`${b.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(J.DEPRECATED_PACKAGE,`${b.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),{...e,version:n,languageName:"node",linkType:nt.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var _v=class{supportsDescriptor(e,r){return!(!e.range.startsWith(kt)||!bc.test(e.range.slice(kt.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(kt.length),s=await Mn(la(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new Ge(J.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new Ge(J.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=b.makeLocator(e,`${kt}${a}`),c=s.versions[a].dist.tarball;return Nn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[b.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Hp={};We(Hp,{makePublishBody:()=>hqe});var UF={};We(UF,{default:()=>XGe,packUtils:()=>Ao});var Ao={};We(Ao,{genPackList:()=>Gy,genPackStream:()=>KF,genPackageManifest:()=>tne,hasPackScripts:()=>OF,prepareForPack:()=>TF});var NF=X(Qn()),$ie=X(_ie()),ene=X(require("zlib")),TGe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],KGe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function OF(t){return!!(Et.hasWorkspaceScript(t,"prepack")||Et.hasWorkspaceScript(t,"postpack"))}async function TF(t,{report:e},r){await Et.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await Et.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function KF(t,e){var s,o;typeof e=="undefined"&&(e=await Gy(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(w.normalize(a));for(let a of t.manifest.bin.values())r.add(w.normalize(a));let i=$ie.default.pack();process.nextTick(async()=>{for(let a of e){let l=w.normalize(a),c=w.resolve(t.cwd,l),u=w.join("package",l),g=await R.lstatPromise(c),h={name:u,mtime:new Date(Ar.safeTime*1e3)},f=r.has(l)?493:420,p,m,I=new Promise((B,P)=>{p=B,m=P}),y=B=>{B?m(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await tne(t),null,2)):B=await R.readFilePromise(c),i.entry({...h,mode:f,type:"file"},B,y)}else g.isSymbolicLink()?i.entry({...h,mode:f,type:"symlink",linkname:await R.readlinkPromise(c)},y):y(new Error(`Unsupported file type ${g.mode} for ${npath.fromPortablePath(l)}`));await I}i.finalize()});let n=ene.createGzip();return i.pipe(n),n}async function tne(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Gy(t){var g,h,f,p,m,I,y,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let P of KGe)i.reject.push(P);for(let P of TGe)i.accept.push(P);i.reject.push(r.get("rcFilename"));let n=P=>{if(P===null||!P.startsWith(`${t.cwd}/`))return;let k=w.relative(t.cwd,P),N=w.resolve(pe.root,k);i.reject.push(N)};n(w.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(P=>P.populateYarnPaths,e,P=>{n(P)});for(let P of e.workspaces){let k=w.relative(t.cwd,P.cwd);k!==""&&!k.match(/^(\.\.)?\//)&&i.reject.push(`/${k}`)}let s={accept:[],reject:[]},o=(h=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?h:t.manifest.main,a=(p=(f=t.manifest.publishConfig)==null?void 0:f.module)!=null?p:t.manifest.module,l=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(B=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(w.resolve(pe.root,o)),a!=null&&s.accept.push(w.resolve(pe.root,a)),typeof l=="string"&&s.accept.push(w.resolve(pe.root,l));for(let P of c.values())s.accept.push(w.resolve(pe.root,P));if(l instanceof Map)for(let[P,k]of l.entries())s.accept.push(w.resolve(pe.root,P)),typeof k=="string"&&s.accept.push(w.resolve(pe.root,k));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let P of t.manifest.files)rne(s.accept,P,{cwd:pe.root})}return await UGe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function UGe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new ys(t),o=[[pe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!nne(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,h=!1;if(!e||a!==pe.root)for(let m of u)g=g||m===".gitignore",h=h||m===".npmignore";let f=h?await ine(s,a,".npmignore"):g?await ine(s,a,".gitignore"):null,p=f!==null?[f].concat(l):l;nne(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([w.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(w.relative(pe.root,a))}return n.sort()}async function ine(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(w.join(e,r),"utf8");for(let s of n.split(/\n/g))rne(i.reject,s,{cwd:e});return i}function HGe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=w.resolve(e,t)),r&&(t=`!${t}`),t}function rne(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(HGe(i,{cwd:r}))}function nne(t,{globalList:e,ignoreLists:r}){if(qy(t,e.accept))return!1;if(qy(t,e.reject))return!0;if(r!==null)for(let i of r){if(qy(t,i.accept))return!1;if(qy(t,i.reject))return!0}return!1}function qy(t,e){let r=e,i=[];for(let n=0;n{await TF(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await Gy(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await KF(i,c),g=R.createWriteStream(s);u.pipe(g),await new Promise(h=>{g.on("finish",h)})}}),this.dryRun||(l.reportInfo(J.UNNAMED,`Package archive generated in ${se.pretty(e,s,se.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};Tp.paths=[["pack"]],Tp.usage=ce.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var one=Tp;function YGe(t,{workspace:e}){let r=t.replace("%s",jGe(e)).replace("%v",GGe(e));return npath.toPortablePath(r)}function jGe(t){return t.manifest.name!==null?b.slugifyIdent(t.manifest.name):"package"}function GGe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var qGe=["dependencies","devDependencies","peerDependencies"],JGe="workspace:",WGe=(t,e)=>{var i;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let n of qGe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=b.parseRange(s.range);if(a.protocol===JGe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new Ge(J.WORKSPACE_NOT_FOUND,`${b.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;b.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][b.stringifyIdent(s)]=l}}},zGe={hooks:{beforeWorkspacePacking:WGe},commands:[one]},XGe=zGe;var pne=X(require("crypto")),dne=X(fne()),Cne=X(require("url"));async function hqe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=b.stringifyIdent(o),c=pne.createHash("sha1").update(e).digest("hex"),u=dne.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Ao.genPackageManifest(t),h=`${l}-${a}.tgz`,f=new Cne.URL(`${l}/-/${h}`,n);return{_id:l,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:{...g,_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:f.toString()}}}}}var qF={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ae.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:Ae.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:Ae.SECRET,default:null}},mne={npmPublishRegistry:{description:"Registry to push packages to",type:Ae.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ae.STRING,default:"https://registry.yarnpkg.com"}},fqe={configuration:{...qF,...mne,npmScopes:{description:"Settings per package scope",type:Ae.MAP,valueDefinition:{description:"",type:Ae.SHAPE,properties:{...qF,...mne}}},npmRegistries:{description:"Settings per registry",type:Ae.MAP,normalizeKeys:hu,valueDefinition:{description:"",type:Ae.SHAPE,properties:{...qF}}}},fetchers:[Wv,Nn],resolvers:[zv,Zv,_v]},pqe=fqe;var VF={};We(VF,{default:()=>Qqe});var JF=X(Qo());var ps;(function(t){t.All="all",t.Production="production",t.Development="development"})(ps||(ps={}));var On;(function(t){t.Info="info",t.Low="low",t.Moderate="moderate",t.High="high",t.Critical="critical"})(On||(On={}));var Jy=[On.Info,On.Low,On.Moderate,On.High,On.Critical];function Ine(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function dqe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function Cqe(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(h=>h.manifest),s=new Set(n.map(h=>[...h.dependencies].map(([f,p])=>f)).flat()),o=new Set(n.map(h=>[...h.devDependencies].map(([f,p])=>f)).flat()),a=i.map(h=>[...h.dependencies.values()]).flat(),l=a.filter(h=>s.has(h.identHash)).map(h=>h.descriptorHash),c=a.filter(h=>o.has(h.identHash)).map(h=>h.descriptorHash),u=Ine(t,l),g=Ine(t,c);return dqe(g,u)}function Ene(t){let e={};for(let r of t)e[b.stringifyIdent(r)]=b.parseRange(r.range).selector;return e}function yne(t){if(typeof t=="undefined")return new Set;let e=Jy.indexOf(t),r=Jy.slice(e);return new Set(r)}function mqe(t,e){let r=yne(e),i={};for(let n of r)i[n]=t[n];return i}function Bne(t,e){var i;let r=mqe(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function wne(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=yne(e);n=n.filter(o=>s.has(o.severity))}for(let s of he.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:se.tuple(se.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:se.tuple(se.Type.NO_HINT,s.title)},URL:{label:"URL",value:se.tuple(se.Type.URL,s.url)},Severity:{label:"Severity",value:se.tuple(se.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:se.tuple(se.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:se.tuple(se.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:se.tuple(se.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:se.tuple(se.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function Qne(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[ps.All,ps.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[ps.All,ps.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Ene([...o,...l].filter(c=>b.parseRange(c.range).protocol===null))}function bne(t,e,{all:r}){var s;let i=Cqe(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[b.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Ene(o.dependencies.values()),dev:i.has(b.convertLocatorToDescriptor(o).descriptorHash)};return n}var Yp=class extends Ce{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=j.String("--environment",ps.All,{description:"Which environments to cover",validator:JF.isEnum(ps)});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=j.String("--severity",On.Info,{description:"Minimal severity requested for packages to be displayed",validator:JF.isEnum(On)})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Qne(r,i,{all:this.all,environment:this.environment}),s=bne(r,i,{all:this.all});if(!this.recursive)for(let h of Object.keys(s))Object.prototype.hasOwnProperty.call(n,h)?s[h].requires={}:delete s[h];let o={requires:n,dependencies:s},a=Kt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await zs.start({configuration:e,stdout:this.context.stdout},async()=>{l=await mt.post("/-/npm/v1/security/audits/quick",o,{authType:mt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Bne(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(vn.emitTree(wne(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await we.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async h=>{h.reportJson(l),u||h.reportInfo(J.EXCEPTION,"No audit suggestions")})).exitCode()}};Yp.paths=[["npm","audit"]],Yp.usage=ce.Usage({description:"perform a vulnerability audit against the installed packages",details:` - This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). - - For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Jy.map(e=>`\`${e}\``).join(", ")}. - - If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. - - To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Dne=Yp;var Sne=X(require("path")),WF=X(hr()),zF=X(require("util")),jp=class extends Ce{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r}=await ke.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await we.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let P=r.topLevelWorkspace;if(!P.manifest.name)throw new UsageError(`Missing 'name' field in ${Sne.default.join(P.cwd,"package.json")}`);c=b.makeDescriptor(P.manifest.name,"unknown")}else c=b.parseDescriptor(l);let u=mt.getIdentUrl(c),g=XF(await mt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:mt.customPackageError})),h=Object.keys(g.versions).sort(WF.default.compareLoose),p=g["dist-tags"].latest||h[h.length-1],m=St.validRange(c.range);if(m){let P=WF.default.maxSatisfying(h,m);P!==null?p=P:(a.reportWarning(J.UNNAMED,`Unmet range ${b.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(J.UNNAMED,`Invalid range ${b.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y={...g,...I,version:p,versions:h},B;if(i!==null){B={};for(let P of i){let k=y[P];if(typeof k!="undefined")B[P]=k;else{a.reportWarning(J.EXCEPTION,`The '${P}' field doesn't exist inside ${b.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),B=y;a.reportJson(B),this.json||n.push(B)}});zF.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` -`),this.context.stdout.write(`${zF.inspect(a,{depth:Infinity,colors:!0,compact:!1})} -`);return o.exitCode()}};jp.paths=[["npm","info"]],jp.usage=ce.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var Pne=jp;function XF(t){if(Array.isArray(t)){let e=[];for(let r of t)r=XF(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=XF(t[r]);i&&(e[r]=i)}return e}else return t||null}var xne=X(Lf()),Gp=class extends Ce{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r=await Wy({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await we.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await Eqe({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await mt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:mt.AuthType.NO_AUTH});return await Iqe(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(J.UNNAMED,"Successfully logged in")})).exitCode()}};Gp.paths=[["npm","login"]],Gp.usage=ce.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var kne=Gp;async function Wy({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Kt.getScopeRegistry(t,{configuration:r,type:Kt.RegistryType.PUBLISH_REGISTRY}):t?Kt.getScopeRegistry(t,{configuration:r}):e?Kt.getPublishRegistry((await Xc(r,i)).manifest,{configuration:r}):Kt.getDefaultRegistry({configuration:r})}async function Iqe(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=he.isIndexableObject(a)?a:{},c=l[o],u=he.isIndexableObject(c)?c:{};return{...l,[o]:{...u,npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await oe.updateHomeConfiguration(s)}async function Eqe({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(J.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(J.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await xne.prompt([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Du=new Set(["npmAuthIdent","npmAuthToken"]),qp=class extends Ce{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=j.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await Wy({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await oe.find(this.context.cwd,this.context.plugins),o=b.makeIdent((l=this.scope)!=null?l:null,"pkg");return!Kt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await we.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await yqe(),n.reportInfo(J.UNNAMED,"Successfully logged out from everything")),this.scope){await vne("npmScopes",this.scope),await r()?n.reportInfo(J.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(J.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await Wy({configuration:e,cwd:this.context.cwd,publish:this.publish});await vne("npmRegistries",s),await r()?n.reportInfo(J.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(J.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};qp.paths=[["npm","logout"]],qp.usage=ce.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Fne=qp;function Bqe(t,e){let r=t[e];if(!he.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Du].every(s=>!i.has(s)))return!1;for(let s of Du)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n={...r};for(let s of Du)delete n[s];return t[e]=n,!0}async function yqe(){let t=e=>{let r=!1,i=he.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))Bqe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await oe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function vne(t,e){return await oe.updateHomeConfiguration({[t]:r=>{let i=he.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=he.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Du].every(l=>!o.has(l)))return r;for(let l of Du)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of Du)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var Jp=class extends Ce{constructor(){super(...arguments);this.access=j.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=j.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=j.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);if(i.manifest.private)throw new UsageError("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new UsageError("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=Kt.getPublishRegistry(i.manifest,{configuration:e});return(await we.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await mt.get(mt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new Ge(J.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(J.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Et.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Ao.prepareForPack(i,{report:l},async()=>{let g=await Ao.genPackList(i);for(let m of g)l.reportInfo(null,m);let h=await Ao.genPackStream(i,g),f=await he.bufferStream(h),p=await Hp.makePublishBody(i,f,{access:this.access,tag:this.tag,registry:o});await mt.put(mt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(J.UNNAMED,"Package archive published")})).exitCode()}};Jp.paths=[["npm","publish"]],Jp.usage=ce.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Rne=Jp;var Mne=X(hr());var Wp=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String({required:!1})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=b.parseIdent(this.package);else{if(!i)throw new Xe(r.cwd,this.context.cwd);if(!i.manifest.name)throw new UsageError(`Missing 'name' field in ${w.join(i.cwd,ft.manifest)}`);n=i.manifest.name}let s=await zp(n,e),a={children:he.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:se.tuple(se.Type.RESOLUTION,{descriptor:b.makeDescriptor(n,l),locator:b.makeLocator(n,c)})}))};return vn.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};Wp.paths=[["npm","tag","list"]],Wp.usage=ce.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` - This command will list all tags of a package from the npm registry. - - If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Lne=Wp;async function zp(t,e){let r=`/-/package${mt.getIdentUrl(t)}/dist-tags`;return mt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:mt.customPackageError})}var Xp=class extends Ce{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=b.parseDescriptor(this.package,!0),s=n.range;if(!Mne.default.valid(s))throw new UsageError(`The range ${se.pretty(e,n.range,se.Type.RANGE)} must be a valid semver version`);let o=Kt.getPublishRegistry(i.manifest,{configuration:e}),a=se.pretty(e,n,se.Type.IDENT),l=se.pretty(e,s,se.Type.RANGE),c=se.pretty(e,this.tag,se.Type.CODE);return(await we.start({configuration:e,stdout:this.context.stdout},async g=>{let h=await zp(n,e);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===s&&g.reportWarning(J.UNNAMED,`Tag ${c} is already set to version ${l}`);let f=`/-/package${mt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await mt.put(f,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(J.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Xp.paths=[["npm","tag","add"]],Xp.usage=ce.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` - This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Nne=Xp;var Vp=class extends Ce{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new UsageError("The 'latest' tag cannot be removed.");let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=b.parseIdent(this.package),s=Kt.getPublishRegistry(i.manifest,{configuration:e}),o=se.pretty(e,this.tag,se.Type.CODE),a=se.pretty(e,n,se.Type.IDENT),l=await zp(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new UsageError(`${o} is not a tag of package ${a}`);return(await we.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${mt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await mt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(J.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Vp.paths=[["npm","tag","remove"]],Vp.usage=ce.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` - This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var One=Vp;var Zp=class extends Ce{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Kt.getScopeRegistry(this.scope,{configuration:e,type:Kt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Kt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Kt.getPublishRegistry((await Xc(e,this.context.cwd)).manifest,{configuration:e}):r=Kt.getDefaultRegistry({configuration:e}),(await we.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await mt.get("/-/whoami",{configuration:e,registry:r,authType:mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?b.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(J.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(J.UNNAMED,s.username)})).exitCode()}};Zp.paths=[["npm","whoami"]],Zp.usage=ce.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Tne=Zp;var wqe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:Ae.STRING,default:null}},commands:[Dne,Pne,kne,Fne,Rne,Nne,Lne,One,Tne]},Qqe=wqe;var nR={};We(nR,{default:()=>Uqe,patchUtils:()=>ZF});var ZF={};We(ZF,{applyPatchFile:()=>Zy,diffFolders:()=>tR,extractPackageToDisk:()=>eR,extractPatchFlags:()=>Jne,isParentRequired:()=>$F,loadPatchFiles:()=>td,makeDescriptor:()=>Oqe,makeLocator:()=>_F,parseDescriptor:()=>$p,parseLocator:()=>ed,parsePatchFile:()=>Xy});var _p=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var bqe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Su(t){return w.relative(pe.root,w.resolve(pe.root,npath.toPortablePath(t)))}function Dqe(t){let e=t.trim().match(bqe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var Sqe=420,Pqe=493,ir;(function(t){t.Context="context",t.Insertion="insertion",t.Deletion="deletion"})(ir||(ir={}));var Kne=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),xqe=t=>({header:Dqe(t),parts:[]}),kqe={["@"]:"header",["-"]:ir.Deletion,["+"]:ir.Insertion,[" "]:ir.Context,["\\"]:"pragma",undefined:ir.Context};function Fqe(t){let e=[],r=Kne(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Kne()}for(let l=0;l0?"patch":"mode change",B=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Su(u),toPath:Su(g)}),B=g}break;case"file deletion":{let P=n||p;if(!P)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:Su(P),mode:zy(l),hash:h})}break;case"file creation":{let P=s||m;if(!P)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:Su(P),mode:zy(c),hash:f})}break;case"patch":case"mode change":B=m||s;break;default:he.assertNever(y);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Su(B),oldMode:zy(o),newMode:zy(a)}),B&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:Su(B),hunks:I,beforeHash:h,afterHash:f})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function zy(t){let e=parseInt(t,8)&511;if(e!==Sqe&&e!==Pqe)throw new Error(`Unexpected file mode string: ${t}`);return e}function Xy(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),Rqe(Fqe(e))}function vqe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case ir.Context:r+=n.length,e+=n.length;break;case ir.Deletion:e+=n.length;break;case ir.Insertion:r+=n.length;break;default:he.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}var Vy=315532800;async function Pu(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function Zy(t,{baseFs:e=new It,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!St.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Pu(e,w.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Pu(e,w.dirname(n.fromPath),async()=>{await Pu(e,w.dirname(n.toPath),async()=>{await Pu(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` -`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(w.dirname(n.path),{chmod:493,utimes:[Vy,Vy]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Vy,Vy)}break;case"patch":await Pu(e,n.path,async()=>{await Lqe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(Une(n.newMode)!==Une(o))continue;await Pu(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:he.assertNever(n);break}}function Une(t){return(t&64)>0}function Hne(t){return t.replace(/\s+$/,"")}function Mqe(t,e){return Hne(t)===Hne(e)}async function Lqe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let h=Math.max(c,g.header.patched.start+l),f=Math.max(0,h-c),p=Math.max(0,o.length-h-g.header.original.length),m=Math.max(f,p),I=0,y=0,B=null;for(;I<=m;){if(I<=f&&(y=h-I,B=Yne(g,o,y),B!==null)){I=-I;break}if(I<=p&&(y=h+I,B=Yne(g,o,y),B!==null))break;I+=1}if(B===null)throw new _p(t.indexOf(g),g);a.push(B),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let h of g)switch(h.type){case"splice":{let f=h.index+u;o.splice(f,h.numToDelete,...h.linesToInsert),u+=h.linesToInsert.length-h.numToDelete}break;case"pop":o.pop();break;case"push":o.push(h.line);break;default:he.assertNever(h);break}await r.writeFilePromise(e,o.join(` -`),{mode:n})}function Yne(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case ir.Context:case ir.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!Mqe(o,s))return null;r+=1}n.type===ir.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case ir.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:he.assertNever(n.type);break}return i}var Nqe=/^builtin<([^>]+)>$/;function jne(t,e){let{source:r,selector:i,params:n}=b.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>npath.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?b.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function $p(t){let{sourceItem:e,...r}=jne(t.range,b.parseDescriptor);return{...r,sourceDescriptor:e}}function ed(t){let{sourceItem:e,...r}=jne(t.reference,b.parseLocator);return{...r,sourceLocator:e}}function Gne({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:b.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return b.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:{...a,...l,...o}})}function Oqe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return b.makeLocator(t,Gne({parentLocator:e,sourceItem:r,patchPaths:i},b.stringifyDescriptor))}function _F(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return b.makeLocator(t,Gne({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},b.stringifyLocator))}function qne({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(Nqe);return s!==null?r(s[1]):w.isAbsolute(i)?t(i):e(i)}function Jne(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function $F(t){return qne({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function td(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new Ct(pe.root),prefixPath:w.relative(pe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await he.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Jne(o),l=await qne({onAbsolute:async()=>await R.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(w.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function eR(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new mr,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await R.mktempPromise(),c=w.join(l,"source"),u=w.join(l,"user"),g=w.join(l,".yarn-patch.json");return await Promise.all([R.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),R.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),R.writeJsonPromise(g,{locator:b.stringifyLocator(t),version:i.version})]),R.detachTemp(l),u}async function tR(t,e){let r=npath.fromPortablePath(t).replace(/\\/g,"/"),i=npath.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await ur.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:npath.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. -The following error was reported by 'git': -${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${he.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${he.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(he.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(he.escapeRegExp(`${i}/`),"g"),"")}function Wne(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case ir.Context:r.reportInfo(null,` ${se.pretty(e,n,"grey")}`);break;case ir.Deletion:r.reportError(J.FROZEN_LOCKFILE_EXCEPTION,`- ${se.pretty(e,n,se.Type.REMOVED)}`);break;case ir.Insertion:r.reportError(J.FROZEN_LOCKFILE_EXCEPTION,`+ ${se.pretty(e,n,se.Type.ADDED)}`);break;default:he.assertNever(i.type)}}var rR=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${b.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:b.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=ed(e),a=await td(i,o,r),l=await R.mktempPromise(),c=w.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=b.getIdentVendorPath(e),h=await ri(),f=new Er(c,{libzip:h,create:!0,level:r.project.configuration.get("compressionLevel")});await f.mkdirpPromise(g),await he.releaseAfterUseAsync(async()=>{await f.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),f.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new Er(c,{libzip:h,level:r.project.configuration.get("compressionLevel")}),y=new Ct(w.resolve(pe.root,g),{baseFs:I});try{await Zy(Xy(p),{baseFs:y,version:s})}catch(B){if(!(B instanceof _p))throw B;let P=r.project.configuration.get("enableInlineHunks"),k=!P&&!m?" (set enableInlineHunks for details)":"",N=`${b.prettyLocator(r.project.configuration,e)}: ${B.message}${k}`,O=v=>{!P||Wne(B.hunk,{configuration:r.project.configuration,report:v})};if(I.discardAndClose(),m){r.report.reportWarningOnce(J.PATCH_HUNK_FAILED,N,{reportExtra:O});continue}else throw new Ge(J.PATCH_HUNK_FAILED,N,O)}I.saveAndClose()}return new Er(c,{libzip:h,level:r.project.configuration.get("compressionLevel")})}};var Tqe=2,iR=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=$p(e);return n.every(s=>!$F(s))?e:b.bindDescriptor(e,{locator:b.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=$p(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=$p(e),a=await td(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=pi.makeHash(`${Tqe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[_F(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=ed(e);return{...await r.resolver.resolve(i,r),...e}}};var rd=class extends Ce{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.resolve(this.context.cwd,npath.toPortablePath(this.patchFolder)),s=w.join(n,"../source"),o=w.join(n,"../.yarn-patch.json");if(!R.existsSync(s))throw new UsageError("The argument folder didn't get created by 'yarn patch'");let a=await tR(s,n),l=await R.readJsonPromise(o),c=b.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new UsageError("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=w.join(u,b.slugifyLocator(c));await R.mkdirPromise(u,{recursive:!0}),await R.writeFilePromise(g,a);let h=w.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:b.stringifyIdent(c),description:l.version}},reference:`patch:${b.stringifyLocator(c)}#${h}`}),await r.persist()}};rd.paths=[["patch-commit"]],rd.usage=ce.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var zne=rd;var id=class extends Ce{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String()}async execute(){let e=await oe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ke.find(e,this.context.cwd),n=await lt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=b.parseLocator(this.package);if(s.reference==="unknown"){let o=he.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?he.mapAndFilter.skip:b.isVirtualLocator(a)?he.mapAndFilter.skip:a);if(o.length===0)throw new UsageError("No package found in the project for the given locator");if(o.length>1)throw new UsageError(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): -${o.map(a=>` -- ${b.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new UsageError("No package found in the project for the given locator");await we.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await eR(s,{cache:n,project:r});o.reportJson({locator:b.stringifyLocator(s),path:npath.fromPortablePath(a)}),o.reportInfo(J.UNNAMED,`Package ${b.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(J.UNNAMED,`You can now edit the following folder: ${se.pretty(e,npath.fromPortablePath(a),"magenta")}`),o.reportInfo(J.UNNAMED,`Once you are done run ${se.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${npath.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};id.paths=[["patch"]],id.usage=ce.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var Xne=id;var Kqe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:Ae.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:Ae.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[zne,Xne],fetchers:[rR],resolvers:[iR]},Uqe=Kqe;var _E=()=>({modules:new Map([["@yarnpkg/cli",kf],["@yarnpkg/core",af],["@yarnpkg/fslib",tg],["@yarnpkg/libzip",Ah],["@yarnpkg/parsers",ph],["@yarnpkg/shell",Ch],["clipanion",O5(fg)],["semver",Hqe],["typanion",Yqe],["yup",jqe],["@yarnpkg/plugin-essentials",Bk],["@yarnpkg/plugin-compat",Dk],["@yarnpkg/plugin-dlx",Sk],["@yarnpkg/plugin-file",Nk],["@yarnpkg/plugin-git",Wk],["@yarnpkg/plugin-github",Xk],["@yarnpkg/plugin-http",_k],["@yarnpkg/plugin-init",rv],["@yarnpkg/plugin-link",av],["@yarnpkg/plugin-node-modules",Hv],["@yarnpkg/plugin-npm",GF],["@yarnpkg/plugin-npm-cli",VF],["@yarnpkg/plugin-pack",UF],["@yarnpkg/plugin-patch",nR],["@yarnpkg/plugin-pnp",xv]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});yE({binaryVersion:Mi||"",pluginConfiguration:_E()});})(); -/*! - * buildToken - * Builds OAuth token prefix (helper function) - * - * @name buildToken - * @function - * @param {GitUrl} obj The parsed Git url object. - * @return {String} token prefix - */ -/*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-windows - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ diff --git a/.yarnrc.yml b/.yarnrc.yml index e26322334..080f47edd 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,4 +4,4 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" -yarnPath: .yarn/releases/yarn-sources.cjs +yarnPath: .yarn/releases/yarn-2.4.2.cjs From 36d1d4928f6322a9e2df0ded3f86b3c0f82fef33 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 25 Jun 2021 18:54:48 +0000 Subject: [PATCH 056/300] chore: update yarn once again --- .../@yarnpkg/plugin-interactive-tools.cjs | 356 +++++++++- .yarn/releases/yarn-2.4.2.cjs | 55 -- .yarn/releases/yarn-sources.cjs | 615 ++++++++++++++++++ .yarnrc.yml | 2 +- 4 files changed, 937 insertions(+), 91 deletions(-) delete mode 100755 .yarn/releases/yarn-2.4.2.cjs create mode 100755 .yarn/releases/yarn-sources.cjs diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs index e64e6dda1..527659ff9 100644 --- a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +++ b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs @@ -1,17 +1,307 @@ /* eslint-disable */ +//prettier-ignore module.exports = { name: "@yarnpkg/plugin-interactive-tools", factory: function (require) { -var plugin;plugin=(()=>{var __webpack_modules__={7560:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>K});function r(e,t,n,r){var i,o=arguments.length,u=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(u=(o<3?i(u):o>3?i(t,n,u):i(t,n))||u);return o>3&&u&&Object.defineProperty(t,n,u),u}const i=require("@yarnpkg/cli"),o=require("@yarnpkg/core");var u=n(9245),a=n(7382);const l=(0,a.memo)(({active:e})=>{const t=(0,a.useMemo)(()=>e?"◉":"◯",[e]),n=(0,a.useMemo)(()=>e?"green":"yellow",[e]);return a.createElement(u.Text,{color:n},t)});function s({active:e},t,n){const{stdin:r}=(0,u.useStdin)(),i=(0,a.useCallback)((e,n)=>t(e,n),n);(0,a.useEffect)(()=>{if(e&&r)return r.on("keypress",i),()=>{r.off("keypress",i)}},[e,i,r])}var c;!function(e){e.BEFORE="before",e.AFTER="after"}(c||(c={}));const f=function(e,t,{active:n,minus:r,plus:i,set:o,loop:u=!0}){s({active:n},(n,a)=>{const l=t.indexOf(e);switch(a.name){case r:{const e=l-1;if(u)return void o(t[(t.length+e)%t.length]);if(e<0)return;o(t[e])}break;case i:{const e=l+1;if(u)return void o(t[e%t.length]);if(e>=t.length)return;o(t[e])}}},[t,e,i,o,u])},d=({active:e=!0,children:t=[],radius:n=10,size:r=1,loop:i=!0,onFocusRequest:o,willReachEnd:l})=>{const d=a.Children.map(t,e=>(e=>{if(null===e.key)throw new Error("Expected all children to have a key");return e.key})(e)),p=d[0],[h,v]=(0,a.useState)(p),m=d.indexOf(h);(0,a.useEffect)(()=>{d.includes(h)||v(p)},[t]),(0,a.useEffect)(()=>{l&&m>=d.length-2&&l()},[m]),function({active:e},t,n){s({active:e},(e,n)=>{"tab"===n.name&&(n.shift?t(c.BEFORE):t(c.AFTER))},n)}({active:e&&!!o},e=>{null==o||o(e)},[o]),f(h,d,{active:e,minus:"up",plus:"down",set:v,loop:i});let g=m-n,y=m+n;y>d.length&&(g-=y-d.length,y=d.length),g<0&&(y+=-g,g=0),y>=d.length&&(y=d.length-1);const _=[];for(let n=g;n<=y;++n){const i=d[n],o=e&&i===h;_.push(a.createElement(u.Box,{key:i,height:r},a.createElement(u.Box,{marginLeft:1,marginRight:1},a.createElement(u.Text,null,o?a.createElement(u.Text,{color:"cyan",bold:!0},">"):" ")),a.createElement(u.Box,null,a.cloneElement(t[n],{active:o}))))}return a.createElement(u.Box,{flexDirection:"column",width:"100%"},_)},p=require("readline"),h=a.createContext(null),v=({children:e})=>{const{stdin:t,setRawMode:n}=(0,u.useStdin)();(0,a.useEffect)(()=>{n&&n(!0),t&&(0,p.emitKeypressEvents)(t)},[t,n]);const[r,i]=(0,a.useState)(new Map),o=(0,a.useMemo)(()=>({getAll:()=>r,get:e=>r.get(e),set:(e,t)=>i(new Map([...r,[e,t]]))}),[r,i]);return a.createElement(h.Provider,{value:o,children:e})};function m(e,t){const n=(0,a.useContext)(h);if(null===n)throw new Error("Expected this hook to run with a ministore context attached");if(void 0===e)return n.getAll();const r=(0,a.useCallback)(t=>{n.set(e,t)},[e,n.set]);let i=n.get(e);return void 0===i&&(i=t),[i,r]}async function g(e,t){let n;const{waitUntilExit:r}=(0,u.render)(a.createElement(v,null,a.createElement(e,Object.assign({},t,{useSubmit:e=>{const{exit:t}=(0,u.useApp)();s({active:!0},(r,i)=>{"return"===i.name&&(n=e,t())},[t,e])}}))));return await r(),n}const y=require("clipanion");var _=n(7840),b=n(4410);const w={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},E=n.n(b)()(w.appId,w.apiKey).initIndex(w.indexName),D=async(e,t=0)=>await E.search(e,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:t,hitsPerPage:10}),S=["regular","dev","peer"];class C extends i.BaseCommand{async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),t=()=>a.createElement(u.Box,{flexDirection:"row"},a.createElement(u.Box,{flexDirection:"column",width:48},a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},""),"/",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),a.createElement(u.Box,null,a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),a.createElement(u.Box,{flexDirection:"column"},a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),n=()=>a.createElement(a.Fragment,null,a.createElement(u.Box,{width:15},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),a.createElement(u.Box,{width:11},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Version")),a.createElement(u.Box,{width:10},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),r=()=>a.createElement(u.Box,{width:17},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Target")),i=({hit:t,active:n})=>{const[r,i]=m(t.name,null);s({active:n},(e,t)=>{if("space"!==t.name)return;if(!r)return void i(S[0]);const n=S.indexOf(r)+1;n===S.length?i(null):i(S[n])},[r,i]);const l=o.structUtils.parseIdent(t.name),c=o.structUtils.prettyIdent(e,l);return a.createElement(u.Box,null,a.createElement(u.Box,{width:45},a.createElement(u.Text,{bold:!0,wrap:"wrap"},c)),a.createElement(u.Box,{width:14,marginLeft:1},a.createElement(u.Text,{bold:!0,wrap:"truncate"},t.owner.name)),a.createElement(u.Box,{width:10,marginLeft:1},a.createElement(u.Text,{italic:!0,wrap:"truncate"},t.version)),a.createElement(u.Box,{width:16,marginLeft:1},a.createElement(u.Text,null,t.humanDownloadsLast30Days)))},c=({name:t,active:n})=>{const[r]=m(t,null),i=o.structUtils.parseIdent(t);return a.createElement(u.Box,null,a.createElement(u.Box,{width:47},a.createElement(u.Text,{bold:!0}," - ",o.structUtils.prettyIdent(e,i))),S.map(e=>a.createElement(u.Box,{key:e,width:14,marginLeft:1},a.createElement(u.Text,null," ",a.createElement(l,{active:r===e})," ",a.createElement(u.Text,{bold:!0},e)))))},f=()=>a.createElement(u.Box,{marginTop:1},a.createElement(u.Text,null,"Powered by Algolia.")),p=await g(({useSubmit:e})=>{const o=m();e(o);const l=Array.from(o.keys()).filter(e=>null!==o.get(e)),[s,p]=(0,a.useState)(""),[h,v]=(0,a.useState)(0),[g,y]=(0,a.useState)([]);return(0,a.useEffect)(()=>{s?(async()=>{v(0);const e=await D(s);e.query===s&&y(e.hits)})():y([])},[s]),a.createElement(u.Box,{flexDirection:"column"},a.createElement(t,null),a.createElement(u.Box,{flexDirection:"row",marginTop:1},a.createElement(u.Text,{bold:!0},"Search: "),a.createElement(u.Box,{width:41},a.createElement(_.ZP,{value:s,onChange:e=>{e.match(/\t| /)||p(e)},placeholder:"i.e. babel, webpack, react...",showCursor:!1})),a.createElement(n,null)),g.length?a.createElement(d,{radius:2,loop:!1,children:g.map(e=>a.createElement(i,{key:e.name,hit:e,active:!1})),willReachEnd:async()=>{const e=await D(s,h+1);e.query===s&&e.page-1===h&&(v(e.page),y([...g,...e.hits]))}}):a.createElement(u.Text,{color:"gray"},"Start typing..."),a.createElement(u.Box,{flexDirection:"row",marginTop:1},a.createElement(u.Box,{width:49},a.createElement(u.Text,{bold:!0},"Selected:")),a.createElement(r,null)),l.length?l.map(e=>a.createElement(c,{key:e,name:e,active:!1})):a.createElement(u.Text,{color:"gray"},"No selected packages..."),a.createElement(f,null))},{});if(void 0===p)return 1;const h=Array.from(p.keys()).filter(e=>"regular"===p.get(e)),v=Array.from(p.keys()).filter(e=>"dev"===p.get(e)),y=Array.from(p.keys()).filter(e=>"peer"===p.get(e));return h.length&&await this.cli.run(["add",...h]),v.length&&await this.cli.run(["add","--dev",...v]),y&&await this.cli.run(["add","--peer",...y]),0}}C.usage=y.Command.Usage({category:"Interactive commands",description:"open the search interface",details:"\n This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry.\n ",examples:[["Open the search window","yarn search"]]}),r([y.Command.Path("search")],C.prototype,"execute",null);var k=n(5882),T=n.n(k);const x=({length:e,active:t})=>{if(0===e)return null;const n=e>1?" "+T().underline(" ".repeat(e-1)):" ";return a.createElement(u.Text,{dimColor:!t},n)},A=function({active:e,skewer:t,options:n,value:r,onChange:i,sizes:o=[]}){const s=n.map(({value:e})=>e),c=s.indexOf(r);return f(r,s,{active:e,minus:"left",plus:"right",set:i}),a.createElement(a.Fragment,null,n.map(({label:n},r)=>{const i=r===c,s=o[r]-1||0,f=n.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),d=Math.max(0,s-f.length-2);return a.createElement(u.Box,{key:n,width:s,marginLeft:1},a.createElement(u.Text,{wrap:"truncate"},a.createElement(l,{active:i})," ",n),t?a.createElement(x,{active:e,length:d}):null)}))},O=require("@yarnpkg/plugin-essentials");function P(){}function I(e,t,n,r,i){for(var o=0,u=t.length,a=0,l=0;oe.length?n:e})),s.value=e.join(f)}else s.value=e.join(n.slice(a,a+s.count));a+=s.count,s.added||(l+=s.count)}}var d=t[u-1];return u>1&&"string"==typeof d.value&&(d.added||d.removed)&&e.equals("",d.value)&&(t[u-2].value+=d.value,t.pop()),t}function N(e){return{newPos:e.newPos,components:e.components.slice(0)}}P.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var i=this;function o(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var u=(t=this.removeEmpty(this.tokenize(t))).length,a=e.length,l=1,s=u+a,c=[{newPos:-1,components:[]}],f=this.extractCommon(c[0],t,e,0);if(c[0].newPos+1>=u&&f+1>=a)return o([{value:this.join(t),count:t.length}]);function d(){for(var n=-1*l;n<=l;n+=2){var r=void 0,s=c[n-1],f=c[n+1],d=(f?f.newPos:0)-n;s&&(c[n-1]=void 0);var p=s&&s.newPos+1=u&&d+1>=a)return o(I(i,r.components,t,e,i.useLongestToken));c[n]=r}else c[n]=void 0}l++}if(r)!function e(){setTimeout((function(){if(l>s)return r();d()||e()}),0)}();else for(;l<=s;){var p=d();if(p)return p}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var i=t.length,o=n.length,u=e.newPos,a=u-r,l=0;u+1=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/;class Y extends i.BaseCommand{async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd),r=await o.Cache.find(e);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);const l=(t,n)=>{const r=(i=t,u=n,a=M(a,{ignoreWhitespace:!0}),L.diff(i,u,a));var i,u,a;let l="";for(const t of r)t.added?l+=o.formatUtils.pretty(e,t.value,"green"):t.removed||(l+=t.value);return l},s=(t,n)=>{if(t===n)return n;const r=o.structUtils.parseRange(t),i=o.structUtils.parseRange(n),u=r.selector.match($),a=i.selector.match($);if(!u||!a)return l(t,n);const s=["gray","red","yellow","green","magenta"];let c=null,f="";for(let t=1;t{const u=await O.suggestUtils.fetchDescriptorFrom(e,o,{project:t,cache:r,preserveModifier:i,workspace:n});return null!==u?u.range:e.range},f=()=>a.createElement(u.Box,{flexDirection:"row"},a.createElement(u.Box,{flexDirection:"column",width:49},a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},""),"/",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},""),"/",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),a.createElement(u.Box,{flexDirection:"column"},a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to install.")),a.createElement(u.Box,{marginLeft:1},a.createElement(u.Text,null,"Press ",a.createElement(u.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),p=()=>a.createElement(u.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},a.createElement(u.Box,{width:50},a.createElement(u.Text,{bold:!0},a.createElement(u.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),a.createElement(u.Box,{width:17},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Current")),a.createElement(u.Box,{width:17},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Range")),a.createElement(u.Box,{width:17},a.createElement(u.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),h=({active:t,descriptor:n,suggestions:r})=>{const[i,l]=m(n.descriptorHash,null),s=o.structUtils.stringifyIdent(n),c=Math.max(0,45-s.length);return a.createElement(a.Fragment,null,a.createElement(u.Box,null,a.createElement(u.Box,{width:45},a.createElement(u.Text,{bold:!0},o.structUtils.prettyIdent(e,n)),a.createElement(x,{active:t,length:c})),null!==r?a.createElement(A,{active:t,options:r,value:i,skewer:!0,onChange:l,sizes:[17,17,17]}):a.createElement(u.Box,{marginLeft:2},a.createElement(u.Text,{color:"gray"},"Fetching suggestions..."))))},v=({dependencies:e})=>{const[t,n]=(0,a.useState)(null),r=(0,a.useRef)(!0);return(0,a.useEffect)(()=>()=>{r.current=!1}),(0,a.useEffect)(()=>{Promise.all(e.map(e=>(async e=>{const t=G().valid(e.range)?"^"+e.range:e.range,[n,r]=await Promise.all([c(e,e.range,t).catch(()=>null),c(e,e.range,"latest").catch(()=>null)]),i=[{value:null,label:e.range}];return n&&n!==e.range&&i.push({value:n,label:s(e.range,n)}),r&&r!==n&&r!==e.range&&i.push({value:r,label:s(e.range,r)}),i})(e))).then(t=>{const i=e.map((e,n)=>[e,t[n]]).filter(([e,t])=>t.length>1);r.current&&n(i)})},[]),t?t.length?a.createElement(d,{radius:10,children:t.map(([e,t])=>a.createElement(h,{key:e.descriptorHash,active:!1,descriptor:e,suggestions:t}))}):a.createElement(u.Text,null,"No upgrades found"):a.createElement(u.Text,null,"Fetching suggestions...")},y=await g(({useSubmit:e})=>{e(m());const n=new Map;for(const e of t.workspaces)for(const r of["dependencies","devDependencies"])for(const i of e.manifest[r].values())null===t.tryWorkspaceByDescriptor(i)&&n.set(i.descriptorHash,i);const r=o.miscUtils.sortMap(n.values(),e=>o.structUtils.stringifyDescriptor(e));return a.createElement(u.Box,{flexDirection:"column"},a.createElement(f,null),a.createElement(p,null),a.createElement(v,{dependencies:r}))},{});if(void 0===y)return 1;let _=!1;for(const e of t.workspaces)for(const t of["dependencies","devDependencies"]){const n=e.manifest[t];for(const e of n.values()){const t=y.get(e.descriptorHash);null!=t&&(n.set(e.identHash,o.structUtils.makeDescriptor(e,t)),_=!0)}}if(!_)return 0;return(await o.StreamReport.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await t.install({cache:r,report:e})})).exitCode()}}Y.usage=y.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:"\n This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade.\n ",examples:[["Open the upgrade window","yarn upgrade-interactive"]]}),r([y.Command.Path("upgrade-interactive")],Y.prototype,"execute",null);const K={commands:[C,Y]}},7840:(e,t,n)=>{"use strict";const r=n(7382),i=n(7382),o=n(9245),u=n(1525),a=({value:e,placeholder:t="",focus:n=!0,mask:a,highlightPastedText:l=!1,showCursor:s=!0,onChange:c,onSubmit:f})=>{const[{cursorOffset:d,cursorWidth:p},h]=i.useState({cursorOffset:(e||"").length,cursorWidth:0});i.useEffect(()=>{h(t=>{if(!n||!s)return t;const r=e||"";return t.cursorOffset>r.length-1?{cursorOffset:r.length,cursorWidth:0}:t})},[e,n,s]);const v=l?p:0,m=a?a.repeat(e.length):e;let g=m,y=t?u.grey(t):void 0;if(s&&n){y=t.length>0?u.inverse(t[0])+u.grey(t.slice(1)):u.inverse(" "),g=m.length>0?"":u.inverse(" ");let e=0;for(const t of m)g+=e>=d-v&&e<=d?u.inverse(t):t,e++;m.length>0&&d===m.length&&(g+=u.inverse(" "))}return o.useInput((t,n)=>{if(n.upArrow||n.downArrow||n.ctrl&&"c"===t||n.tab||n.shift&&n.tab)return;if(n.return)return void(f&&f(e));let r=d,i=e,o=0;n.leftArrow?s&&r--:n.rightArrow?s&&r++:n.backspace||n.delete?d>0&&(i=e.slice(0,d-1)+e.slice(d,e.length),r--):(i=e.slice(0,d)+t+e.slice(d,e.length),r+=t.length,t.length>1&&(o=t.length)),d<0&&(r=0),d>e.length&&(r=e.length),h({cursorOffset:r,cursorWidth:o}),i!==e&&c(i)},{isActive:n}),r.createElement(o.Text,null,t?m.length>0?g:y:g)};t.ZP=a},9902:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1525)),o=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,u=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,a=(e,t)=>"foreground"===t?e:"bg"+e[0].toUpperCase()+e.slice(1);t.default=(e,t,n)=>{if(!t)return e;if(t in i.default){const r=a(t,n);return i.default[r](e)}if(t.startsWith("#")){const r=a("hex",n);return i.default[r](t)(e)}if(t.startsWith("ansi")){const r=u.exec(t);if(!r)return e;const o=a(r[1],n),l=Number(r[2]);return i.default[o](l)(e)}if(t.startsWith("rgb")||t.startsWith("hsl")||t.startsWith("hsv")||t.startsWith("hwb")){const r=o.exec(t);if(!r)return e;const u=a(r[1],n),l=Number(r[2]),s=Number(r[3]),c=Number(r[4]);return i.default[u](l,s,c)(e)}return e}},2773:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=o(n(7382)),l=u(n(1696)),s=u(n(5512)),c=u(n(1489)),f=u(n(6834)),d=u(n(5001)),p=u(n(2560)),h=u(n(9052));class v extends a.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{const{stdin:t}=this.props;if(!this.isRawModeSupported())throw t===process.stdin?new Error("Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported"):new Error("Raw mode is not supported on the stdin provided to Ink.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported");if(t.setEncoding("utf8"),e)return 0===this.rawModeEnabledCount&&(t.addListener("data",this.handleInput),t.resume(),t.setRawMode(!0)),void this.rawModeEnabledCount++;0==--this.rawModeEnabledCount&&(t.setRawMode(!1),t.removeListener("data",this.handleInput),t.pause())},this.handleInput=e=>{""===e&&this.props.exitOnCtrlC&&this.handleExit(),""===e&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&("\t"===e&&this.focusNext(),""===e&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{const t=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||t}})},this.focusPrevious=()=>{this.setState(e=>{const t=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||t}})},this.addFocusable=(e,{autoFocus:t})=>{this.setState(n=>{let r=n.activeFocusId;return!r&&t&&(r=e),{activeFocusId:r,focusables:[...n.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(t=>({activeFocusId:t.activeFocusId===e?void 0:t.activeFocusId,focusables:t.focusables.filter(t=>t.id!==e)}))},this.activateFocusable=e=>{this.setState(t=>({focusables:t.focusables.map(t=>t.id!==e?t:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(t=>({activeFocusId:t.activeFocusId===e?void 0:t.activeFocusId,focusables:t.focusables.map(t=>t.id!==e?t:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{for(let t=e.focusables.findIndex(t=>t.id===e.activeFocusId)+1;t{for(let t=e.focusables.findIndex(t=>t.id===e.activeFocusId)-1;t>=0;t--)if(e.focusables[t].isActive)return e.focusables[t].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return a.default.createElement(s.default.Provider,{value:{exit:this.handleExit}},a.default.createElement(c.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},a.default.createElement(f.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},a.default.createElement(d.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},a.default.createElement(p.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?a.default.createElement(h.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){l.default.hide(this.props.stdout)}componentWillUnmount(){l.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}}t.default=v,v.displayName="InternalApp"},5512:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7382).createContext({exit:()=>{}});r.displayName="InternalAppContext",t.default=r},5277:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},u=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i{var{children:n}=e,r=u(e,["children"]);const i=Object.assign(Object.assign({},r),{marginLeft:r.marginLeft||r.marginX||r.margin||0,marginRight:r.marginRight||r.marginX||r.margin||0,marginTop:r.marginTop||r.marginY||r.margin||0,marginBottom:r.marginBottom||r.marginY||r.margin||0,paddingLeft:r.paddingLeft||r.paddingX||r.padding||0,paddingRight:r.paddingRight||r.paddingX||r.padding||0,paddingTop:r.paddingTop||r.paddingY||r.padding||0,paddingBottom:r.paddingBottom||r.paddingY||r.padding||0});return a.default.createElement("ink-box",{ref:t,style:i},n)});l.displayName="Box",l.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1},t.default=l},9052:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=o(n(5747)),l=u(n(7382)),s=u(n(9796)),c=u(n(9908)),f=u(n(5277)),d=u(n(9146)),p=new s.default({cwd:process.cwd(),internals:s.default.nodeInternals()});t.default=({error:e})=>{const t=e.stack?e.stack.split("\n").slice(1):void 0,n=t?p.parseLine(t[0]):void 0;let r,i=0;if((null==n?void 0:n.file)&&(null==n?void 0:n.line)&&a.existsSync(n.file)){const e=a.readFileSync(n.file,"utf8");if(r=c.default(e,n.line),r)for(const{line:e}of r)i=Math.max(i,String(e).length)}return l.default.createElement(f.default,{flexDirection:"column",padding:1},l.default.createElement(f.default,null,l.default.createElement(d.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),l.default.createElement(d.default,null," ",e.message)),n&&l.default.createElement(f.default,{marginTop:1},l.default.createElement(d.default,{dimColor:!0},n.file,":",n.line,":",n.column)),n&&r&&l.default.createElement(f.default,{marginTop:1,flexDirection:"column"},r.map(({line:e,value:t})=>l.default.createElement(f.default,{key:e},l.default.createElement(f.default,{width:i+1},l.default.createElement(d.default,{dimColor:e!==n.line,backgroundColor:e===n.line?"red":void 0,color:e===n.line?"white":void 0},String(e).padStart(i," "),":")),l.default.createElement(d.default,{key:e,backgroundColor:e===n.line?"red":void 0,color:e===n.line?"white":void 0}," "+t)))),e.stack&&l.default.createElement(f.default,{marginTop:1,flexDirection:"column"},e.stack.split("\n").slice(1).map(e=>{const t=p.parseLine(e);return t?l.default.createElement(f.default,{key:e},l.default.createElement(d.default,{dimColor:!0},"- "),l.default.createElement(d.default,{dimColor:!0,bold:!0},t.function),l.default.createElement(d.default,{dimColor:!0,color:"gray"}," ","(",t.file,":",t.line,":",t.column,")")):l.default.createElement(f.default,{key:e},l.default.createElement(d.default,{dimColor:!0},"- "),l.default.createElement(d.default,{dimColor:!0,bold:!0},e))})))}},2560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7382).createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});r.displayName="InternalFocusContext",t.default=r},8200:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7382)),o=({count:e=1})=>i.default.createElement("ink-text",null,"\n".repeat(e));o.displayName="Newline",t.default=o},2198:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7382)),o=r(n(5277)),u=()=>i.default.createElement(o.default,{flexGrow:1});u.displayName="Spacer",t.default=u},8915:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const u=o(n(7382)),a=e=>{const{items:t,children:n,style:r}=e,[i,o]=u.useState(0),a=u.useMemo(()=>t.slice(i),[t,i]);u.useLayoutEffect(()=>{o(t.length)},[t.length]);const l=a.map((e,t)=>n(e,i+t)),s=u.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},r),[r]);return u.default.createElement("ink-box",{internal_static:!0,style:s},l)};a.displayName="Static",t.default=a},5001:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7382).createContext({stderr:void 0,write:()=>{}});r.displayName="InternalStderrContext",t.default=r},1489:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7382).createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});r.displayName="InternalStdinContext",t.default=r},6834:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(7382).createContext({stdout:void 0,write:()=>{}});r.displayName="InternalStdoutContext",t.default=r},9146:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7382)),o=r(n(1525)),u=r(n(9902)),a=({color:e,backgroundColor:t,dimColor:n,bold:r,italic:a,underline:l,strikethrough:s,inverse:c,wrap:f,children:d})=>{if(null==d)return null;return i.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:f},internal_transform:i=>(n&&(i=o.default.dim(i)),e&&(i=u.default(i,e,"foreground")),t&&(i=u.default(i,t,"background")),r&&(i=o.default.bold(i)),a&&(i=o.default.italic(i)),l&&(i=o.default.underline(i)),s&&(i=o.default.strikethrough(i)),c&&(i=o.default.inverse(i)),i)},d)};a.displayName="Text",a.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"},t.default=a},4592:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7382)),o=({children:e,transform:t})=>null==e?null:i.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:t},e);o.displayName="Transform",t.default=o},146:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(3296)),o=n(5187),u=global;u.WebSocket||(u.WebSocket=i.default),u.window||(u.window=global),u.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}],o.connectToDevTools()},9864:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.setTextNodeValue=t.createTextNode=t.setStyle=t.setAttribute=t.removeChildNode=t.insertBeforeNode=t.appendChildNode=t.createNode=t.TEXT_NAME=void 0;const i=r(n(6401)),o=r(n(8113)),u=r(n(5809)),a=r(n(2030)),l=r(n(9099));t.TEXT_NAME="#text",t.createNode=e=>{var t;const n={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:"ink-virtual-text"===e?void 0:i.default.Node.create()};return"ink-text"===e&&(null===(t=n.yogaNode)||void 0===t||t.setMeasureFunc(s.bind(null,n))),n},t.appendChildNode=(e,n)=>{var r;n.parentNode&&t.removeChildNode(n.parentNode,n),n.parentNode=e,e.childNodes.push(n),n.yogaNode&&(null===(r=e.yogaNode)||void 0===r||r.insertChild(n.yogaNode,e.yogaNode.getChildCount())),"ink-text"!==e.nodeName&&"ink-virtual-text"!==e.nodeName||f(e)},t.insertBeforeNode=(e,n,r)=>{var i,o;n.parentNode&&t.removeChildNode(n.parentNode,n),n.parentNode=e;const u=e.childNodes.indexOf(r);if(u>=0)return e.childNodes.splice(u,0,n),void(n.yogaNode&&(null===(i=e.yogaNode)||void 0===i||i.insertChild(n.yogaNode,u)));e.childNodes.push(n),n.yogaNode&&(null===(o=e.yogaNode)||void 0===o||o.insertChild(n.yogaNode,e.yogaNode.getChildCount())),"ink-text"!==e.nodeName&&"ink-virtual-text"!==e.nodeName||f(e)},t.removeChildNode=(e,t)=>{var n,r;t.yogaNode&&(null===(r=null===(n=t.parentNode)||void 0===n?void 0:n.yogaNode)||void 0===r||r.removeChild(t.yogaNode)),t.parentNode=null;const i=e.childNodes.indexOf(t);i>=0&&e.childNodes.splice(i,1),"ink-text"!==e.nodeName&&"ink-virtual-text"!==e.nodeName||f(e)},t.setAttribute=(e,t,n)=>{e.attributes[t]=n},t.setStyle=(e,t)=>{e.style=t,e.yogaNode&&u.default(e.yogaNode,t)},t.createTextNode=e=>{const n={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:null,style:{}};return t.setTextNodeValue(n,e),n};const s=function(e,t){var n,r;const i="#text"===e.nodeName?e.nodeValue:l.default(e),u=o.default(i);if(u.width<=t)return u;if(u.width>=1&&t>0&&t<1)return u;const s=null!==(r=null===(n=e.style)||void 0===n?void 0:n.textWrap)&&void 0!==r?r:"wrap",c=a.default(i,t,s);return o.default(c)},c=e=>{var t;if(e&&e.parentNode)return null!==(t=e.yogaNode)&&void 0!==t?t:c(e.parentNode)},f=e=>{const t=c(e);null==t||t.markDirty()};t.setTextNodeValue=(e,t)=>{"string"!=typeof t&&(t=String(t)),e.nodeValue=t,f(e)}},317:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6401));t.default=e=>e.getComputedWidth()-e.getComputedPadding(i.default.EDGE_LEFT)-e.getComputedPadding(i.default.EDGE_RIGHT)-e.getComputedBorder(i.default.EDGE_LEFT)-e.getComputedBorder(i.default.EDGE_RIGHT)},4699:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(5512));t.default=()=>i.useContext(o.default)},5442:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(2560));t.default=()=>{const e=i.useContext(o.default);return{enableFocus:e.enableFocus,disableFocus:e.disableFocus,focusNext:e.focusNext,focusPrevious:e.focusPrevious}}},8230:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(2560)),u=r(n(1541));t.default=({isActive:e=!0,autoFocus:t=!1}={})=>{const{isRawModeSupported:n,setRawMode:r}=u.default(),{activeId:a,add:l,remove:s,activate:c,deactivate:f}=i.useContext(o.default),d=i.useMemo(()=>Math.random().toString().slice(2,7),[]);return i.useEffect(()=>(l(d,{autoFocus:t}),()=>{s(d)}),[d,t]),i.useEffect(()=>{e?c(d):f(d)},[e,d]),i.useEffect(()=>{if(n&&e)return r(!0),()=>{r(!1)}},[e]),{isFocused:Boolean(d)&&a===d}}},4495:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(1541));t.default=(e,t={})=>{const{stdin:n,setRawMode:r,internal_exitOnCtrlC:u}=o.default();i.useEffect(()=>{if(!1!==t.isActive)return r(!0),()=>{r(!1)}},[t.isActive,r]),i.useEffect(()=>{if(!1===t.isActive)return;const r=t=>{let n=String(t);const r={upArrow:""===n,downArrow:""===n,leftArrow:""===n,rightArrow:""===n,pageDown:"[6~"===n,pageUp:"[5~"===n,return:"\r"===n,escape:""===n,ctrl:!1,shift:!1,tab:"\t"===n||""===n,backspace:"\b"===n,delete:""===n||"[3~"===n,meta:!1};n<=""&&!r.return&&(n=String.fromCharCode(n.charCodeAt(0)+"a".charCodeAt(0)-1),r.ctrl=!0),n.startsWith("")&&(n=n.slice(1),r.meta=!0);const i=n>="A"&&n<="Z",o=n>="А"&&n<="Я";1===n.length&&(i||o)&&(r.shift=!0),r.tab&&"[Z"===n&&(r.shift=!0),(r.tab||r.backspace||r.delete)&&(n=""),"c"===n&&r.ctrl&&u||e(n,r)};return null==n||n.on("data",r),()=>{null==n||n.off("data",r)}},[t.isActive,n,u,e])}},1686:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(5001));t.default=()=>i.useContext(o.default)},1541:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(1489));t.default=()=>i.useContext(o.default)},9890:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7382),o=r(n(6834));t.default=()=>i.useContext(o.default)},9245:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9417);Object.defineProperty(t,"render",{enumerable:!0,get:function(){return r.default}});var i=n(5277);Object.defineProperty(t,"Box",{enumerable:!0,get:function(){return i.default}});var o=n(9146);Object.defineProperty(t,"Text",{enumerable:!0,get:function(){return o.default}});var u=n(8915);Object.defineProperty(t,"Static",{enumerable:!0,get:function(){return u.default}});var a=n(4592);Object.defineProperty(t,"Transform",{enumerable:!0,get:function(){return a.default}});var l=n(8200);Object.defineProperty(t,"Newline",{enumerable:!0,get:function(){return l.default}});var s=n(2198);Object.defineProperty(t,"Spacer",{enumerable:!0,get:function(){return s.default}});var c=n(4495);Object.defineProperty(t,"useInput",{enumerable:!0,get:function(){return c.default}});var f=n(4699);Object.defineProperty(t,"useApp",{enumerable:!0,get:function(){return f.default}});var d=n(1541);Object.defineProperty(t,"useStdin",{enumerable:!0,get:function(){return d.default}});var p=n(9890);Object.defineProperty(t,"useStdout",{enumerable:!0,get:function(){return p.default}});var h=n(1686);Object.defineProperty(t,"useStderr",{enumerable:!0,get:function(){return h.default}});var v=n(8230);Object.defineProperty(t,"useFocus",{enumerable:!0,get:function(){return v.default}});var m=n(5442);Object.defineProperty(t,"useFocusManager",{enumerable:!0,get:function(){return m.default}});var g=n(3887);Object.defineProperty(t,"measureElement",{enumerable:!0,get:function(){return g.default}})},3206:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=u(n(7382)),l=n(464),s=u(n(503)),c=u(n(7589)),f=u(n(2738)),d=u(n(2633)),p=u(n(5117)),h=u(n(5691)),v=u(n(6458)),m=u(n(8070)),g=o(n(9864)),y=u(n(9679)),_=u(n(2773)),b="false"!==process.env.CI&&f.default,w=()=>{};t.default=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;const{output:e,outputHeight:t,staticOutput:n}=h.default(this.rootNode,this.options.stdout.columns||80),r=n&&"\n"!==n;return this.options.debug?(r&&(this.fullStaticOutput+=n),void this.options.stdout.write(this.fullStaticOutput+e)):b?(r&&this.options.stdout.write(n),void(this.lastOutput=e)):(r&&(this.fullStaticOutput+=n),t>=this.options.stdout.rows?(this.options.stdout.write(c.default.clearTerminal+this.fullStaticOutput+e),void(this.lastOutput=e)):(r&&(this.log.clear(),this.options.stdout.write(n),this.log(e)),r||e===this.lastOutput||this.throttledLog(e),void(this.lastOutput=e)))},d.default(this),this.options=e,this.rootNode=g.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:l.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=s.default.create(e.stdout),this.throttledLog=e.debug?this.log:l.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=p.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=v.default(this.unmount,{alwaysLast:!1}),"true"===process.env.DEV&&p.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),e.patchConsole&&this.patchConsole(),b||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){const t=a.default.createElement(_.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);p.default.updateContainer(t,this.container,null,w)}writeToStdout(e){this.isUnmounted||(this.options.debug?this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput):b?this.options.stdout.write(e):(this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)))}writeToStderr(e){if(!this.isUnmounted)return this.options.debug?(this.options.stderr.write(e),void this.options.stdout.write(this.fullStaticOutput+this.lastOutput)):void(b?this.options.stderr.write(e):(this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)))}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),"function"==typeof this.restoreConsole&&this.restoreConsole(),"function"==typeof this.unsubscribeResize&&this.unsubscribeResize(),b?this.options.stdout.write(this.lastOutput+"\n"):this.options.debug||this.log.done(),this.isUnmounted=!0,p.default.updateContainer(null,this.container,null,w),y.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,t)=>{this.resolveExitPromise=e,this.rejectExitPromise=t})),this.exitPromise}clear(){b||this.options.debug||this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=m.default((e,t)=>{if("stdout"===e&&this.writeToStdout(t),"stderr"===e){t.startsWith("The above error occurred")||this.writeToStderr(t)}}))}}},9679:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new WeakMap},503:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(7589)),o=r(n(1696));t.default={create:(e,{showCursor:t=!1}={})=>{let n=0,r="",u=!1;const a=a=>{t||u||(o.default.hide(),u=!0);const l=a+"\n";l!==r&&(r=l,e.write(i.default.eraseLines(n)+l),n=l.split("\n").length)};return a.clear=()=>{e.write(i.default.eraseLines(n)),r="",n=0},a.done=()=>{r="",n=0,t||(o.default.show(),u=!1)},a}}},3887:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{var t,n,r,i;return{width:null!==(n=null===(t=e.yogaNode)||void 0===t?void 0:t.getComputedWidth())&&void 0!==n?n:0,height:null!==(i=null===(r=e.yogaNode)||void 0===r?void 0:r.getComputedHeight())&&void 0!==i?i:0}}},8113:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(8949)),o={};t.default=e=>{if(0===e.length)return{width:0,height:0};if(o[e])return o[e];const t=i.default(e),n=e.split("\n").length;return o[e]={width:t,height:n},{width:t,height:n}}},4110:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(1566)),o=r(n(3262));t.default=class{constructor(e){this.writes=[];const{width:t,height:n}=e;this.width=t,this.height=n}write(e,t,n,r){const{transformers:i}=r;n&&this.writes.push({x:e,y:t,text:n,transformers:i})}get(){const e=[];for(let t=0;te.trimRight()).join("\n"),height:e.length}}}},5117:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7181),o=r(n(7714)),u=r(n(6401)),a=n(9864);"true"===process.env.DEV&&n(146);const l=e=>{null==e||e.unsetMeasureFunc(),null==e||e.freeRecursive()};t.default=o.default({schedulePassiveEffects:i.unstable_scheduleCallback,cancelPassiveEffects:i.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:e=>{if(e.isStaticDirty)return e.isStaticDirty=!1,void("function"==typeof e.onImmediateRender&&e.onImmediateRender());"function"==typeof e.onRender&&e.onRender()},getChildHostContext:(e,t)=>{const n="ink-text"===t||"ink-virtual-text"===t;return e.isInsideText===n?e:{isInsideText:n}},shouldSetTextContent:()=>!1,createInstance:(e,t,n,r)=>{if(r.isInsideText&&"ink-box"===e)throw new Error(" can’t be nested inside component");const i="ink-text"===e&&r.isInsideText?"ink-virtual-text":e,o=a.createNode(i);for(const[e,n]of Object.entries(t))"children"!==e&&("style"===e?a.setStyle(o,n):"internal_transform"===e?o.internal_transform=n:"internal_static"===e?o.internal_static=!0:a.setAttribute(o,e,n));return o},createTextInstance:(e,t,n)=>{if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside component`);return a.createTextNode(e)},resetTextContent:()=>{},hideTextInstance:e=>{a.setTextNodeValue(e,"")},unhideTextInstance:(e,t)=>{a.setTextNodeValue(e,t)},getPublicInstance:e=>e,hideInstance:e=>{var t;null===(t=e.yogaNode)||void 0===t||t.setDisplay(u.default.DISPLAY_NONE)},unhideInstance:e=>{var t;null===(t=e.yogaNode)||void 0===t||t.setDisplay(u.default.DISPLAY_FLEX)},appendInitialChild:a.appendChildNode,appendChild:a.appendChildNode,insertBefore:a.insertBeforeNode,finalizeInitialChildren:(e,t,n,r)=>(e.internal_static&&(r.isStaticDirty=!0,r.staticNode=e),!1),supportsMutation:!0,appendChildToContainer:a.appendChildNode,insertInContainerBefore:a.insertBeforeNode,removeChildFromContainer:(e,t)=>{a.removeChildNode(e,t),l(t.yogaNode)},prepareUpdate:(e,t,n,r,i)=>{e.internal_static&&(i.isStaticDirty=!0);const o={},u=Object.keys(r);for(const e of u)if(r[e]!==n[e]){if("style"===e&&"object"==typeof r.style&&"object"==typeof n.style){const e=r.style,t=n.style,i=Object.keys(e);for(const n of i){if("borderStyle"===n||"borderColor"===n){if("object"!=typeof o.style){const e={};o.style=e}o.style.borderStyle=e.borderStyle,o.style.borderColor=e.borderColor}if(e[n]!==t[n]){if("object"!=typeof o.style){const e={};o.style=e}o.style[n]=e[n]}}continue}o[e]=r[e]}return o},commitUpdate:(e,t)=>{for(const[n,r]of Object.entries(t))"children"!==n&&("style"===n?a.setStyle(e,r):"internal_transform"===n?e.internal_transform=r:"internal_static"===n?e.internal_static=!0:a.setAttribute(e,n,r))},commitTextUpdate:(e,t,n)=>{a.setTextNodeValue(e,n)},removeChild:(e,t)=>{a.removeChildNode(e,t),l(t.yogaNode)}})},4907:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(4097)),o=r(n(9902));t.default=(e,t,n,r)=>{if("string"==typeof n.style.borderStyle){const u=n.yogaNode.getComputedWidth(),a=n.yogaNode.getComputedHeight(),l=n.style.borderColor,s=i.default[n.style.borderStyle],c=o.default(s.topLeft+s.horizontal.repeat(u-2)+s.topRight,l,"foreground"),f=(o.default(s.vertical,l,"foreground")+"\n").repeat(a-2),d=o.default(s.bottomLeft+s.horizontal.repeat(u-2)+s.bottomRight,l,"foreground");r.write(e,t,c,{transformers:[]}),r.write(e,t+1,f,{transformers:[]}),r.write(e+u-1,t+1,f,{transformers:[]}),r.write(e,t+a-1,d,{transformers:[]})}}},3782:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6401)),o=r(n(8949)),u=r(n(9646)),a=r(n(2030)),l=r(n(317)),s=r(n(9099)),c=r(n(4907)),f=(e,t,n)=>{var r;const{offsetX:d=0,offsetY:p=0,transformers:h=[],skipStaticElements:v}=n;if(v&&e.internal_static)return;const{yogaNode:m}=e;if(m){if(m.getDisplay()===i.default.DISPLAY_NONE)return;const n=d+m.getComputedLeft(),g=p+m.getComputedTop();let y=h;if("function"==typeof e.internal_transform&&(y=[e.internal_transform,...h]),"ink-text"===e.nodeName){let i=s.default(e);if(i.length>0){const s=o.default(i),c=l.default(m);if(s>c){const t=null!==(r=e.style.textWrap)&&void 0!==r?r:"wrap";i=a.default(i,c,t)}i=((e,t)=>{var n;const r=null===(n=e.childNodes[0])||void 0===n?void 0:n.yogaNode;if(r){const e=r.getComputedLeft(),n=r.getComputedTop();t="\n".repeat(n)+u.default(t,e)}return t})(e,i),t.write(n,g,i,{transformers:y})}return}if("ink-box"===e.nodeName&&c.default(n,g,e,t),"ink-root"===e.nodeName||"ink-box"===e.nodeName)for(const r of e.childNodes)f(r,t,{offsetX:n,offsetY:g,transformers:y,skipStaticElements:v})}};t.default=f},9417:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(3206)),o=r(n(9679)),u=n(2413);t.default=(e,t)=>{const n=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},a(t)),r=l(n.stdout,()=>new i.default(n));return r.render(e),{rerender:r.render,unmount:()=>r.unmount(),waitUntilExit:r.waitUntilExit,cleanup:()=>o.default.delete(n.stdout),clear:r.clear}};const a=(e={})=>e instanceof u.Stream?{stdout:e,stdin:process.stdin}:e,l=(e,t)=>{let n;return o.default.has(e)?n=o.default.get(e):(n=t(),o.default.set(e,n)),n}},5691:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6401)),o=r(n(3782)),u=r(n(4110));t.default=(e,t)=>{var n;if(e.yogaNode.setWidth(t),e.yogaNode){e.yogaNode.calculateLayout(void 0,void 0,i.default.DIRECTION_LTR);const t=new u.default({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});let r;o.default(e,t,{skipStaticElements:!0}),(null===(n=e.staticNode)||void 0===n?void 0:n.yogaNode)&&(r=new u.default({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),o.default(e.staticNode,r,{skipStaticElements:!1}));const{output:a,height:l}=t.get();return{output:a,outputHeight:l,staticOutput:r?r.get().output+"\n":""}}return{output:"",outputHeight:0,staticOutput:""}}},9099:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e=>{let t="";if(e.childNodes.length>0)for(const r of e.childNodes){let e="";"#text"===r.nodeName?e=r.nodeValue:("ink-text"!==r.nodeName&&"ink-virtual-text"!==r.nodeName||(e=n(r)),e.length>0&&"function"==typeof r.internal_transform&&(e=r.internal_transform(e))),t+=e}return t};t.default=n},5809:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(6401));t.default=(e,t={})=>{((e,t)=>{"position"in t&&e.setPositionType("absolute"===t.position?i.default.POSITION_TYPE_ABSOLUTE:i.default.POSITION_TYPE_RELATIVE)})(e,t),((e,t)=>{"marginLeft"in t&&e.setMargin(i.default.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(i.default.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(i.default.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(i.default.EDGE_BOTTOM,t.marginBottom||0)})(e,t),((e,t)=>{"paddingLeft"in t&&e.setPadding(i.default.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(i.default.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(i.default.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(i.default.EDGE_BOTTOM,t.paddingBottom||0)})(e,t),((e,t)=>{var n;"flexGrow"in t&&e.setFlexGrow(null!==(n=t.flexGrow)&&void 0!==n?n:0),"flexShrink"in t&&e.setFlexShrink("number"==typeof t.flexShrink?t.flexShrink:1),"flexDirection"in t&&("row"===t.flexDirection&&e.setFlexDirection(i.default.FLEX_DIRECTION_ROW),"row-reverse"===t.flexDirection&&e.setFlexDirection(i.default.FLEX_DIRECTION_ROW_REVERSE),"column"===t.flexDirection&&e.setFlexDirection(i.default.FLEX_DIRECTION_COLUMN),"column-reverse"===t.flexDirection&&e.setFlexDirection(i.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&("number"==typeof t.flexBasis?e.setFlexBasis(t.flexBasis):"string"==typeof t.flexBasis?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(NaN)),"alignItems"in t&&("stretch"!==t.alignItems&&t.alignItems||e.setAlignItems(i.default.ALIGN_STRETCH),"flex-start"===t.alignItems&&e.setAlignItems(i.default.ALIGN_FLEX_START),"center"===t.alignItems&&e.setAlignItems(i.default.ALIGN_CENTER),"flex-end"===t.alignItems&&e.setAlignItems(i.default.ALIGN_FLEX_END)),"alignSelf"in t&&("auto"!==t.alignSelf&&t.alignSelf||e.setAlignSelf(i.default.ALIGN_AUTO),"flex-start"===t.alignSelf&&e.setAlignSelf(i.default.ALIGN_FLEX_START),"center"===t.alignSelf&&e.setAlignSelf(i.default.ALIGN_CENTER),"flex-end"===t.alignSelf&&e.setAlignSelf(i.default.ALIGN_FLEX_END)),"justifyContent"in t&&("flex-start"!==t.justifyContent&&t.justifyContent||e.setJustifyContent(i.default.JUSTIFY_FLEX_START),"center"===t.justifyContent&&e.setJustifyContent(i.default.JUSTIFY_CENTER),"flex-end"===t.justifyContent&&e.setJustifyContent(i.default.JUSTIFY_FLEX_END),"space-between"===t.justifyContent&&e.setJustifyContent(i.default.JUSTIFY_SPACE_BETWEEN),"space-around"===t.justifyContent&&e.setJustifyContent(i.default.JUSTIFY_SPACE_AROUND))})(e,t),((e,t)=>{var n,r;"width"in t&&("number"==typeof t.width?e.setWidth(t.width):"string"==typeof t.width?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&("number"==typeof t.height?e.setHeight(t.height):"string"==typeof t.height?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&("string"==typeof t.minWidth?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(null!==(n=t.minWidth)&&void 0!==n?n:0)),"minHeight"in t&&("string"==typeof t.minHeight?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(null!==(r=t.minHeight)&&void 0!==r?r:0))})(e,t),((e,t)=>{"display"in t&&e.setDisplay("flex"===t.display?i.default.DISPLAY_FLEX:i.default.DISPLAY_NONE)})(e,t),((e,t)=>{if("borderStyle"in t){const n="string"==typeof t.borderStyle?1:0;e.setBorder(i.default.EDGE_TOP,n),e.setBorder(i.default.EDGE_BOTTOM,n),e.setBorder(i.default.EDGE_LEFT,n),e.setBorder(i.default.EDGE_RIGHT,n)}})(e,t)}},2030:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(4332)),o=r(n(5301)),u={};t.default=(e,t,n)=>{const r=e+String(t)+String(n);if(u[r])return u[r];let a=e;if("wrap"===n&&(a=i.default(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let r="end";"truncate-middle"===n&&(r="middle"),"truncate-start"===n&&(r="start"),a=o.default(e,t,{position:r})}return u[r]=a,a}},5767:(e,t,n)=>{ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -e.exports=function t(r){"use strict";var i=n(9381),o=n(7382),u=n(7181);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nOe||(e.current=Ae[Oe],Ae[Oe]=null,Oe--)}function Ie(e,t){Oe++,Ae[Oe]=e.current,e.current=t}var Ne={},Me={current:Ne},Re={current:!1},Fe=Ne;function Le(e,t){var n=e.type.contextTypes;if(!n)return Ne;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Be(e){return null!=(e=e.childContextTypes)}function je(e){Pe(Re),Pe(Me)}function Ue(e){Pe(Re),Pe(Me)}function ze(e,t,n){if(Me.current!==Ne)throw Error(a(168));Ie(Me,t),Ie(Re,n)}function We(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(a(108,C(t)||"Unknown",o));return i({},n,{},r)}function He(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Ne,Fe=Me.current,Ie(Me,t),Ie(Re,Re.current),!0}function Ve(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(t=We(e,t,Fe),r.__reactInternalMemoizedMergedChildContext=t,Pe(Re),Pe(Me),Ie(Me,t)):Pe(Re),Ie(Re,n)}var qe=u.unstable_runWithPriority,Ge=u.unstable_scheduleCallback,$e=u.unstable_cancelCallback,Ye=u.unstable_shouldYield,Ke=u.unstable_requestPaint,Xe=u.unstable_now,Qe=u.unstable_getCurrentPriorityLevel,Je=u.unstable_ImmediatePriority,Ze=u.unstable_UserBlockingPriority,et=u.unstable_NormalPriority,tt=u.unstable_LowPriority,nt=u.unstable_IdlePriority,rt={},it=void 0!==Ke?Ke:function(){},ot=null,ut=null,at=!1,lt=Xe(),st=1e4>lt?Xe:function(){return Xe()-lt};function ct(){switch(Qe()){case Je:return 99;case Ze:return 98;case et:return 97;case tt:return 96;case nt:return 95;default:throw Error(a(332))}}function ft(e){switch(e){case 99:return Je;case 98:return Ze;case 97:return et;case 96:return tt;case 95:return nt;default:throw Error(a(332))}}function dt(e,t){return e=ft(e),qe(e,t)}function pt(e,t,n){return e=ft(e),Ge(e,t,n)}function ht(e){return null===ot?(ot=[e],ut=Ge(Je,mt)):ot.push(e),rt}function vt(){if(null!==ut){var e=ut;ut=null,$e(e)}mt()}function mt(){if(!at&&null!==ot){at=!0;var e=0;try{var t=ot;dt(99,(function(){for(;e=t&&(dr=!0),e.firstContext=null)}function It(e,t){if(kt!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(kt=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ct){if(null===St)throw Error(a(308));Ct=t,St.dependencies={expirationTime:0,firstContext:t,responders:null}}else Ct=Ct.next=t;return q?e._currentValue:e._currentValue2}var Nt=!1;function Mt(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rt(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Ft(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Lt(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function Bt(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,i=null;null===r&&(r=e.updateQueue=Mt(e.memoizedState))}else r=e.updateQueue,i=n.updateQueue,null===r?null===i?(r=e.updateQueue=Mt(e.memoizedState),i=n.updateQueue=Mt(n.memoizedState)):r=e.updateQueue=Rt(i):null===i&&(i=n.updateQueue=Rt(r));null===i||r===i?Lt(r,t):null===r.lastUpdate||null===i.lastUpdate?(Lt(r,t),Lt(i,t)):(Lt(r,t),i.lastUpdate=t)}function jt(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=Mt(e.memoizedState):Ut(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function Ut(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=Rt(t)),t}function zt(e,t,n,r,o,u){switch(n.tag){case 1:return"function"==typeof(e=n.payload)?e.call(u,r,o):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(null==(o="function"==typeof(e=n.payload)?e.call(u,r,o):e))break;return i({},r,o);case 2:Nt=!0}return r}function Wt(e,t,n,r,i){Nt=!1;for(var o=(t=Ut(e,t)).baseState,u=null,a=0,l=t.firstUpdate,s=o;null!==l;){var c=l.expirationTime;cd?(p=f,f=null):p=f.sibling;var h=m(i,f,a[d],l);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&t(i,f),u=o(h,u,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===a.length)return n(i,f),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var _=m(i,d,y.value,s);if(null===_){null===d&&(d=h);break}e&&d&&null===_.alternate&&t(i,d),u=o(_,u,p),null===f?c=_:f.sibling=_,f=_,d=h}if(y.done)return n(i,d),c;if(null===d){for(;!y.done;p++,y=l.next())null!==(y=v(i,y.value,s))&&(u=o(y,u,p),null===f?c=y:f.sibling=y,f=y);return c}for(d=r(i,d);!y.done;p++,y=l.next())null!==(y=g(d,i,p,y.value,s))&&(e&&null!==y.alternate&&d.delete(null===y.key?p:y.key),u=o(y,u,p),null===f?c=y:f.sibling=y,f=y);return e&&d.forEach((function(e){return t(i,e)})),c}return function(e,r,o,l){var s="object"==typeof o&&null!==o&&o.type===d&&null===o.key;s&&(o=o.props.children);var p="object"==typeof o&&null!==o;if(p)switch(o.$$typeof){case c:e:{for(p=o.key,s=r;null!==s;){if(s.key===p){if(7===s.tag?o.type===d:s.elementType===o.type){n(e,s.sibling),(r=i(s,o.type===d?o.props.children:o.props)).ref=en(e,s,o),r.return=e,e=r;break e}n(e,s);break}t(e,s),s=s.sibling}o.type===d?((r=so(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=lo(o.type,o.key,o.props,null,e.mode,l)).ref=en(e,r,o),l.return=e,e=l)}return u(e);case f:e:{for(s=o.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=fo(o,e.mode,l)).return=e,e=r}return u(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=co(o,e.mode,l)).return=e,e=r),u(e);if(Zt(o))return y(e,r,o,l);if(S(o))return _(e,r,o,l);if(p&&tn(e,o),void 0===o&&!s)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||"Component"))}return n(e,r)}}var rn=nn(!0),on=nn(!1),un={},an={current:un},ln={current:un},sn={current:un};function cn(e){if(e===un)throw Error(a(174));return e}function fn(e,t){Ie(sn,t),Ie(ln,e),Ie(an,un),t=P(t),Pe(an),Ie(an,t)}function dn(e){Pe(an),Pe(ln),Pe(sn)}function pn(e){var t=cn(sn.current),n=cn(an.current);n!==(t=I(n,e.type,t))&&(Ie(ln,e),Ie(an,t))}function hn(e){ln.current===e&&(Pe(an),Pe(ln))}var vn={current:0};function mn(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||ye(n)||_e(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function gn(e,t){return{responder:e,props:t}}var yn=l.ReactCurrentDispatcher,_n=l.ReactCurrentBatchConfig,bn=0,wn=null,En=null,Dn=null,Sn=null,Cn=null,kn=null,Tn=0,xn=null,An=0,On=!1,Pn=null,In=0;function Nn(){throw Error(a(321))}function Mn(e,t){if(null===t)return!1;for(var n=0;nTn&&zi(Tn=f)):(Ui(f,s.suspenseConfig),o=s.eagerReducer===e?s.eagerState:e(o,s.action)),u=s,s=s.next}while(null!==s&&s!==r);c||(l=u,i=o),_t(o,t.memoizedState)||(dr=!0),t.memoizedState=o,t.baseUpdate=l,t.baseState=i,n.lastRenderedState=o}return[t.memoizedState,n.dispatch]}function zn(e){var t=Ln();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:jn,lastRenderedState:e}).dispatch=Jn.bind(null,wn,e),[t.memoizedState,e]}function Wn(e){return Un(jn)}function Hn(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===xn?(xn={lastEffect:null}).lastEffect=e.next=e:null===(t=xn.lastEffect)?xn.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,xn.lastEffect=e),e}function Vn(e,t,n,r){var i=Ln();An|=e,i.memoizedState=Hn(t,n,void 0,void 0===r?null:r)}function qn(e,t,n,r){var i=Bn();r=void 0===r?null:r;var o=void 0;if(null!==En){var u=En.memoizedState;if(o=u.destroy,null!==r&&Mn(r,u.deps))return void Hn(0,n,o,r)}An|=e,i.memoizedState=Hn(t,n,o,r)}function Gn(e,t){return Vn(516,192,e,t)}function $n(e,t){return qn(516,192,e,t)}function Yn(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Kn(){}function Xn(e,t){return Ln().memoizedState=[e,void 0===t?null:t],e}function Qn(e,t){var n=Bn();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Mn(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Jn(e,t,n){if(!(25>In))throw Error(a(301));var r=e.alternate;if(e===wn||null!==r&&r===wn)if(On=!0,e={expirationTime:bn,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===Pn&&(Pn=new Map),void 0===(n=Pn.get(t)))Pn.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var i=xi(),o=qt.suspense;o={expirationTime:i=Ai(i,e,o),suspenseConfig:o,action:n,eagerReducer:null,eagerState:null,next:null};var u=t.last;if(null===u)o.next=o;else{var l=u.next;null!==l&&(o.next=l),u.next=o}if(t.last=o,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var s=t.lastRenderedState,c=r(s,n);if(o.eagerReducer=r,o.eagerState=c,_t(c,s))return}catch(e){}Oi(e,i)}}var Zn={readContext:It,useCallback:Nn,useContext:Nn,useEffect:Nn,useImperativeHandle:Nn,useLayoutEffect:Nn,useMemo:Nn,useReducer:Nn,useRef:Nn,useState:Nn,useDebugValue:Nn,useResponder:Nn,useDeferredValue:Nn,useTransition:Nn},er={readContext:It,useCallback:Xn,useContext:It,useEffect:Gn,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Vn(4,36,Yn.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Vn(4,36,e,t)},useMemo:function(e,t){var n=Ln();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ln();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Jn.bind(null,wn,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ln().memoizedState=e},useState:zn,useDebugValue:Kn,useResponder:gn,useDeferredValue:function(e,t){var n=zn(e),r=n[0],i=n[1];return Gn((function(){u.unstable_next((function(){var n=_n.suspense;_n.suspense=void 0===t?null:t;try{i(e)}finally{_n.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=zn(!1),n=t[0],r=t[1];return[Xn((function(t){r(!0),u.unstable_next((function(){var n=_n.suspense;_n.suspense=void 0===e?null:e;try{r(!1),t()}finally{_n.suspense=n}}))}),[e,n]),n]}},tr={readContext:It,useCallback:Qn,useContext:It,useEffect:$n,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,qn(4,36,Yn.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qn(4,36,e,t)},useMemo:function(e,t){var n=Bn();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Mn(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:Un,useRef:function(){return Bn().memoizedState},useState:Wn,useDebugValue:Kn,useResponder:gn,useDeferredValue:function(e,t){var n=Wn(),r=n[0],i=n[1];return $n((function(){u.unstable_next((function(){var n=_n.suspense;_n.suspense=void 0===t?null:t;try{i(e)}finally{_n.suspense=n}}))}),[e,t]),r},useTransition:function(e){var t=Wn(),n=t[0],r=t[1];return[Qn((function(t){r(!0),u.unstable_next((function(){var n=_n.suspense;_n.suspense=void 0===e?null:e;try{r(!1),t()}finally{_n.suspense=n}}))}),[e,n]),n]}},nr=null,rr=null,ir=!1;function or(e,t){var n=oo(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function ur(e,t){switch(e.tag){case 5:return null!==(t=me(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=ge(t,e.pendingProps))&&(e.stateNode=t,!0);case 13:default:return!1}}function ar(e){if(ir){var t=rr;if(t){var n=t;if(!ur(e,t)){if(!(t=be(n))||!ur(e,t))return e.effectTag=-1025&e.effectTag|2,ir=!1,void(nr=e);or(nr,n)}nr=e,rr=we(t)}else e.effectTag=-1025&e.effectTag|2,ir=!1,nr=e}}function lr(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;nr=e}function sr(e){if(!Y||e!==nr)return!1;if(!ir)return lr(e),ir=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!j(t,e.memoizedProps))for(t=rr;t;)or(e,t),t=be(t);if(lr(e),13===e.tag){if(!Y)throw Error(a(316));if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));rr=Se(e)}else rr=nr?be(e.stateNode):null;return!0}function cr(){Y&&(rr=nr=null,ir=!1)}var fr=l.ReactCurrentOwner,dr=!1;function pr(e,t,n,r){t.child=null===e?on(t,null,n,r):rn(t,e.child,n,r)}function hr(e,t,n,r,i){n=n.render;var o=t.ref;return Pt(t,i),r=Rn(e,t,n,r,o,i),null===e||dr?(t.effectTag|=1,pr(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Pr(e,t,i))}function vr(e,t,n,r,i,o){if(null===e){var u=n.type;return"function"!=typeof u||uo(u)||void 0!==u.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=lo(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=u,mr(e,t,u,r,i,o))}return u=e.child,it)&&Si.set(e,t))}}function Pi(e,t){e.expirationTime(e=e.nextKnownPendingLevel)?t:e:t}function Ni(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=ht(Ri.bind(null,e));else{var t=Ii(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=xi();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var i=e.callbackPriority;if(e.callbackExpirationTime===t&&i>=r)return;n!==rt&&$e(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?ht(Ri.bind(null,e)):pt(r,Mi.bind(null,e),{timeout:10*(1073741821-t)-st()}),e.callbackNode=t}}}function Mi(e,t){if(Ti=0,t)return go(e,t=xi()),Ni(e),null;var n=Ii(e);if(0!==n){if(t=e.callbackNode,0!=(48&oi))throw Error(a(327));if(Xi(),e===ui&&n===li||Li(e,n),null!==ai){var r=oi;oi|=ii;for(var i=ji();;)try{Hi();break}catch(t){Bi(e,t)}if(Tt(),oi=r,ni.current=i,1===si)throw t=ci,Li(e,n),vo(e,n),Ni(e),t;if(null===ai)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=si,ui=null,r){case 0:case 1:throw Error(a(345));case 2:go(e,2=n){e.lastPingedTime=n,Li(e,n);break}}if(0!==(o=Ii(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=W($i.bind(null,e),i);break}$i(e);break;case 4:if(vo(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=Gi(i)),vi&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,Li(e,n);break}if(0!==(i=Ii(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==di?r=10*(1073741821-di)-st():1073741823===fi?r=0:(r=10*(1073741821-fi)-5e3,0>(r=(i=st())-r)&&(r=0),(n=10*(1073741821-n)-i)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ti(r/1960))-r)&&(r=n)),10=(r=0|u.busyMinDurationMs)?r=0:(i=0|u.busyDelayMs,r=(o=st()-(10*(1073741821-o)-(0|u.timeoutMs||5e3)))<=i?0:i+r-o),10 component higher in the tree to provide a loading indicator or placeholder to display."+xe(i))}5!==si&&(si=2),o=Fr(o,i),l=r;do{switch(l.tag){case 3:u=o,l.effectTag|=4096,l.expirationTime=t,jt(l,Jr(l,u,t));break e;case 1:u=o;var g=l.type,y=l.stateNode;if(0==(64&l.effectTag)&&("function"==typeof g.getDerivedStateFromError||null!==y&&"function"==typeof y.componentDidCatch&&(null===bi||!bi.has(y)))){l.effectTag|=4096,l.expirationTime=t,jt(l,Zr(l,u,t));break e}}l=l.return}while(null!==l)}ai=qi(ai)}catch(e){t=e;continue}break}}function ji(){var e=ni.current;return ni.current=Zn,null===e?Zn:e}function Ui(e,t){ehi&&(hi=e)}function Wi(){for(;null!==ai;)ai=Vi(ai)}function Hi(){for(;null!==ai&&!Ye();)ai=Vi(ai)}function Vi(e){var t=ei(e.alternate,e,li);return e.memoizedProps=e.pendingProps,null===t&&(t=qi(e)),ri.current=null,t}function qi(e){ai=e;do{var t=ai.alternate;if(e=ai.return,0==(2048&ai.effectTag)){e:{var n=t,r=li,i=(t=ai).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:Be(t.type)&&je();break;case 3:dn(),Ue(),(i=t.stateNode).pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(null===n||null===n.child)&&sr(t)&&Ir(t),Dr(t);break;case 5:hn(t);var o=cn(sn.current);if(r=t.type,null!==n&&null!=t.stateNode)Sr(n,t,r,i,o),n.ref!==t.ref&&(t.effectTag|=128);else if(i){if(n=cn(an.current),sr(t)){if(i=t,!Y)throw Error(a(175));n=Ee(i.stateNode,i.type,i.memoizedProps,o,n,i),i.updateQueue=n,(n=null!==n)&&Ir(t)}else{var u=R(r,i,o,n,t);Er(u,t,!1,!1),t.stateNode=u,L(u,r,i,o,n)&&Ir(t)}null!==t.ref&&(t.effectTag|=128)}else if(null===t.stateNode)throw Error(a(166));break;case 6:if(n&&null!=t.stateNode)Cr(n,t,n.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(a(166));if(n=cn(sn.current),o=cn(an.current),sr(t)){if(n=t,!Y)throw Error(a(176));(n=De(n.stateNode,n.memoizedProps,n))&&Ir(t)}else t.stateNode=z(i,n,o,t)}break;case 11:break;case 13:if(Pe(vn),i=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=r;break e}i=null!==i,o=!1,null===n?void 0!==t.memoizedProps.fallback&&sr(t):(o=null!==(r=n.memoizedState),i||null===r||null!==(r=n.child.sibling)&&(null!==(u=t.firstEffect)?(t.firstEffect=r,r.nextEffect=u):(t.firstEffect=t.lastEffect=r,r.nextEffect=null),r.effectTag=8)),i&&!o&&0!=(2&t.mode)&&(null===n&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&vn.current)?0===si&&(si=3):(0!==si&&3!==si||(si=4),0!==hi&&null!==ui&&(vo(ui,li),mo(ui,hi)))),$&&i&&(t.effectTag|=4),G&&(i||o)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:dn(),Dr(t);break;case 10:At(t);break;case 9:case 14:break;case 17:Be(t.type)&&je();break;case 19:if(Pe(vn),null===(i=t.memoizedState))break;if(o=0!=(64&t.effectTag),null===(u=i.rendering)){if(o)Mr(i,!1);else if(0!==si||null!==n&&0!=(64&n.effectTag))for(n=t.child;null!==n;){if(null!==(u=mn(n))){for(t.effectTag|=64,Mr(i,!1),null!==(n=u.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),null===i.lastEffect&&(t.firstEffect=null),t.lastEffect=i.lastEffect,n=r,i=t.child;null!==i;)r=n,(o=i).effectTag&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(u=o.alternate)?(o.childExpirationTime=0,o.expirationTime=r,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null):(o.childExpirationTime=u.childExpirationTime,o.expirationTime=u.expirationTime,o.child=u.child,o.memoizedProps=u.memoizedProps,o.memoizedState=u.memoizedState,o.updateQueue=u.updateQueue,r=u.dependencies,o.dependencies=null===r?null:{expirationTime:r.expirationTime,firstContext:r.firstContext,responders:r.responders}),i=i.sibling;Ie(vn,1&vn.current|2),t=t.child;break e}n=n.sibling}}else{if(!o)if(null!==(n=mn(u))){if(t.effectTag|=64,o=!0,null!==(n=n.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),Mr(i,!0),null===i.tail&&"hidden"===i.tailMode&&!u.alternate){null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null);break}}else st()>i.tailExpiration&&1i&&(i=r),(u=o.childExpirationTime)>i&&(i=u),o=o.sibling;n.childExpirationTime=i}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ai.firstEffect),null!==ai.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ai.firstEffect),e.lastEffect=ai.lastEffect),1(e=e.childExpirationTime)?t:e}function $i(e){var t=ct();return dt(99,Yi.bind(null,e,t)),null}function Yi(e,t){do{Xi()}while(null!==Ei);if(0!=(48&oi))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=Gi(n);if(e.firstPendingTime=i,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===ui&&(ai=ui=null,li=0),1=n?Tr(e,t,n):(Ie(vn,1&vn.current),null!==(t=Pr(e,t,n))?t.sibling:null);Ie(vn,1&vn.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return Or(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),Ie(vn,vn.current),!r)return null}return Pr(e,t,n)}dr=!1}}else dr=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=Le(t,Me.current),Pt(t,n),i=Rn(null,t,r,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,Fn(),Be(r)){var o=!0;He(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null;var u=r.getDerivedStateFromProps;"function"==typeof u&&$t(t,r,u,e),i.updater=Yt,t.stateNode=i,i._reactInternalFiber=t,Jt(t,r,e,n),t=br(null,t,r,!0,o,n)}else t.tag=0,pr(null,t,i,n),t=t.child;return t;case 16:if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,o=t.tag=function(e){if("function"==typeof e)return uo(e)?1:0;if(null!=e){if((e=e.$$typeof)===y)return 11;if(e===w)return 14}return 2}(i),e=Et(i,e),o){case 0:t=yr(null,t,i,e,n);break;case 1:t=_r(null,t,i,e,n);break;case 11:t=hr(null,t,i,e,n);break;case 14:t=vr(null,t,i,Et(i.type,e),r,n);break;default:throw Error(a(306,i,""))}return t;case 0:return r=t.type,i=t.pendingProps,yr(e,t,r,i=t.elementType===r?i:Et(r,i),n);case 1:return r=t.type,i=t.pendingProps,_r(e,t,r,i=t.elementType===r?i:Et(r,i),n);case 3:if(wr(t),null===(r=t.updateQueue))throw Error(a(282));if(i=null!==(i=t.memoizedState)?i.element:null,Wt(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===i)cr(),t=Pr(e,t,n);else{if((i=t.stateNode.hydrate)&&(Y?(rr=we(t.stateNode.containerInfo),nr=t,i=ir=!0):i=!1),i)for(n=on(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else pr(e,t,r,n),cr();t=t.child}return t;case 5:return pn(t),null===e&&ar(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,u=i.children,j(r,i)?u=null:null!==o&&j(r,o)&&(t.effectTag|=16),gr(e,t),4&t.mode&&1!==n&&U(r,i)?(t.expirationTime=t.childExpirationTime=1,t=null):(pr(e,t,u,n),t=t.child),t;case 6:return null===e&&ar(t),null;case 13:return Tr(e,t,n);case 4:return fn(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=rn(t,null,r,n):pr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,hr(e,t,r,i=t.elementType===r?i:Et(r,i),n);case 7:return pr(e,t,t.pendingProps,n),t.child;case 8:case 12:return pr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,u=t.memoizedProps,xt(t,o=i.value),null!==u){var l=u.value;if(0===(o=_t(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(u.children===i.children&&!Re.current){t=Pr(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var s=l.dependencies;if(null!==s){u=l.child;for(var c=s.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===l.tag&&((c=Ft(n,null)).tag=2,Bt(l,c)),l.expirationTime=t&&e<=t}function vo(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function mo(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function go(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function yo(e){var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return null===(e=A(t))?null:e.stateNode}function _o(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime{"use strict";e.exports=n(5767)},3296:(e,t,n)=>{"use strict";const r=n(5760);r.createWebSocketStream=n(6387),r.Server=n(43),r.Receiver=n(1762),r.Sender=n(9576),e.exports=r},8716:(e,t,n)=>{"use strict";const{EMPTY_BUFFER:r}=n(5739);function i(e,t){if(0===e.length)return r;if(1===e.length)return e[0];const n=Buffer.allocUnsafe(t);let i=0;for(let t=0;t{"use strict";e.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}},7002:e=>{"use strict";class t{constructor(e,t){this.target=t,this.type=e}}class n extends t{constructor(e,t){super("message",t),this.data=e}}class r extends t{constructor(e,t,n){super("close",n),this.wasClean=n._closeFrameReceived&&n._closeFrameSent,this.reason=t,this.code=e}}class i extends t{constructor(e){super("open",e)}}class o extends t{constructor(e,t){super("error",t),this.message=e.message,this.error=e}}const u={addEventListener(e,t,u){if("function"!=typeof t)return;function a(e){t.call(this,new n(e,this))}function l(e,n){t.call(this,new r(e,n,this))}function s(e){t.call(this,new o(e,this))}function c(){t.call(this,new i(this))}const f=u&&u.once?"once":"on";"message"===e?(a._listener=t,this[f](e,a)):"close"===e?(l._listener=t,this[f](e,l)):"error"===e?(s._listener=t,this[f](e,s)):"open"===e?(c._listener=t,this[f](e,c)):this[f](e,t)},removeEventListener(e,t){const n=this.listeners(e);for(let r=0;r{"use strict";const t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function n(e,t,n){void 0===e[t]?e[t]=[n]:e[t].push(n)}e.exports={format:function(e){return Object.keys(e).map(t=>{let n=e[t];return Array.isArray(n)||(n=[n]),n.map(e=>[t].concat(Object.keys(e).map(t=>{let n=e[t];return Array.isArray(n)||(n=[n]),n.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){const r=Object.create(null);if(void 0===e||""===e)return r;let i,o,u=Object.create(null),a=!1,l=!1,s=!1,c=-1,f=-1,d=0;for(;d{"use strict";const t=Symbol("kDone"),n=Symbol("kRun");e.exports=class{constructor(e){this[t]=()=>{this.pending--,this[n]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[n]()}[n](){if(this.pending!==this.concurrency&&this.jobs.length){const e=this.jobs.shift();this.pending++,e(this[t])}}}},2309:(e,t,n)=>{"use strict";const r=n(8761),i=n(8716),o=n(1390),{kStatusCode:u,NOOP:a}=n(5739),l=Buffer.from([0,0,255,255]),s=Symbol("permessage-deflate"),c=Symbol("total-length"),f=Symbol("callback"),d=Symbol("buffers"),p=Symbol("error");let h;function v(e){this[d].push(e),this[c]+=e.length}function m(e){this[c]+=e.length,this[s]._maxPayload<1||this[c]<=this[s]._maxPayload?this[d].push(e):(this[p]=new RangeError("Max payload size exceeded"),this[p][u]=1009,this.removeListener("data",m),this.reset())}function g(e){this[s]._inflate=null,e[u]=1007,this[f](e)}e.exports=class{constructor(e,t,n){if(this._maxPayload=0|n,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!h){const e=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;h=new o(e)}}static get extensionName(){return"permessage-deflate"}offer(){const e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){const t=this._options,n=e.find(e=>!(!1===t.serverNoContextTakeover&&e.server_no_context_takeover||e.server_max_window_bits&&(!1===t.serverMaxWindowBits||"number"==typeof t.serverMaxWindowBits&&t.serverMaxWindowBits>e.server_max_window_bits)||"number"==typeof t.clientMaxWindowBits&&!e.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(n.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?n.client_max_window_bits=t.clientMaxWindowBits:!0!==n.client_max_window_bits&&!1!==t.clientMaxWindowBits||delete n.client_max_window_bits,n}acceptAsClient(e){const t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let n=e[t];if(n.length>1)throw new Error(`Parameter "${t}" must have only a single value`);if(n=n[0],"client_max_window_bits"===t){if(!0!==n){const e=+n;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${n}`);n=e}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${t}": ${n}`)}else if("server_max_window_bits"===t){const e=+n;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${n}`);n=e}else{if("client_no_context_takeover"!==t&&"server_no_context_takeover"!==t)throw new Error(`Unknown parameter "${t}"`);if(!0!==n)throw new TypeError(`Invalid value for parameter "${t}": ${n}`)}e[t]=n})}),e}decompress(e,t,n){h.add(r=>{this._decompress(e,t,(e,t)=>{r(),n(e,t)})})}compress(e,t,n){h.add(r=>{this._compress(e,t,(e,t)=>{r(),n(e,t)})})}_decompress(e,t,n){const o=this._isServer?"client":"server";if(!this._inflate){const e=o+"_max_window_bits",t="number"!=typeof this.params[e]?r.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=r.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[s]=this,this._inflate[c]=0,this._inflate[d]=[],this._inflate.on("error",g),this._inflate.on("data",m)}this._inflate[f]=n,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{const e=this._inflate[p];if(e)return this._inflate.close(),this._inflate=null,void n(e);const r=i.concat(this._inflate[d],this._inflate[c]);t&&this.params[o+"_no_context_takeover"]?(this._inflate.close(),this._inflate=null):(this._inflate[c]=0,this._inflate[d]=[]),n(null,r)})}_compress(e,t,n){const o=this._isServer?"server":"client";if(!this._deflate){const e=o+"_max_window_bits",t="number"!=typeof this.params[e]?r.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=r.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[c]=0,this._deflate[d]=[],this._deflate.on("error",a),this._deflate.on("data",v)}this._deflate[f]=n,this._deflate.write(e),this._deflate.flush(r.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=i.concat(this._deflate[d],this._deflate[c]);t&&(e=e.slice(0,e.length-4)),this._deflate[f]=null,t&&this.params[o+"_no_context_takeover"]?(this._deflate.close(),this._deflate=null):(this._deflate[c]=0,this._deflate[d]=[]),n(null,e)})}}},1762:(e,t,n)=>{"use strict";const{Writable:r}=n(2413),i=n(2309),{BINARY_TYPES:o,EMPTY_BUFFER:u,kStatusCode:a,kWebSocket:l}=n(5739),{concat:s,toArrayBuffer:c,unmask:f}=n(8716),{isValidStatusCode:d,isValidUTF8:p}=n(9498);function h(e,t,n,r){const i=new e(n?"Invalid WebSocket frame: "+t:t);return Error.captureStackTrace(i,h),i[a]=r,i}e.exports=class extends r{constructor(e,t,n,r){super(),this._binaryType=e||o[0],this[l]=void 0,this._extensions=t||{},this._isServer=!!n,this._maxPayload=0|r,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=0,this._loop=!1}_write(e,t,n){if(8===this._opcode&&0==this._state)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e=n.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),r),this._buffers[0]=n.slice(e)),e-=n.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do{switch(this._state){case 0:t=this.getInfo();break;case 1:t=this.getPayloadLength16();break;case 2:t=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:t=this.getData(e);break;default:return void(this._loop=!1)}}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const e=this.consume(2);if(0!=(48&e[0]))return this._loop=!1,h(RangeError,"RSV2 and RSV3 must be clear",!0,1002);const t=64==(64&e[0]);if(t&&!this._extensions[i.extensionName])return this._loop=!1,h(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=128==(128&e[0]),this._opcode=15&e[0],this._payloadLength=127&e[1],0===this._opcode){if(t)return this._loop=!1,h(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,h(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,h(RangeError,"invalid opcode "+this._opcode,!0,1002);this._compressed=t}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,h(RangeError,"invalid opcode "+this._opcode,!0,1002);if(!this._fin)return this._loop=!1,h(RangeError,"FIN must be set",!0,1002);if(t)return this._loop=!1,h(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,h(RangeError,"invalid payload length "+this._payloadLength,!0,1002)}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&e[1]),this._isServer){if(!this._masked)return this._loop=!1,h(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,h(RangeError,"MASK must be clear",!0,1002);if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,21)-1?(this._loop=!1,h(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,h(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(e){let t=u;if(this._payloadLength){if(this._bufferedBytes7?this.controlMessage(t):this._compressed?(this._state=5,void this.decompress(t,e)):(t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage())}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,n)=>{if(e)return t(e);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(h(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(n)}const r=this.dataMessage();if(r)return t(r);this.startLoop(t)})}dataMessage(){if(this._fin){const e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let n;n="nodebuffer"===this._binaryType?s(t,e):"arraybuffer"===this._binaryType?c(s(t,e)):t,this.emit("message",n)}else{const n=s(t,e);if(!p(n))return this._loop=!1,h(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",n.toString())}}this._state=0}controlMessage(e){if(8===this._opcode)if(this._loop=!1,0===e.length)this.emit("conclude",1005,""),this.end();else{if(1===e.length)return h(RangeError,"invalid payload length 1",!0,1002);{const t=e.readUInt16BE(0);if(!d(t))return h(RangeError,"invalid status code "+t,!0,1002);const n=e.slice(2);if(!p(n))return h(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",t,n.toString()),this.end()}}else 9===this._opcode?this.emit("ping",e):this.emit("pong",e);this._state=0}}},9576:(e,t,n)=>{"use strict";const{randomFillSync:r}=n(6417),i=n(2309),{EMPTY_BUFFER:o}=n(5739),{isValidStatusCode:u}=n(9498),{mask:a,toBuffer:l}=n(8716),s=Buffer.alloc(4);class c{constructor(e,t){this._extensions=t||{},this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){const n=t.mask&&t.readOnly;let i=t.mask?6:2,o=e.length;e.length>=65536?(i+=8,o=127):e.length>125&&(i+=2,o=126);const u=Buffer.allocUnsafe(n?e.length+i:i);return u[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(u[0]|=64),u[1]=o,126===o?u.writeUInt16BE(e.length,2):127===o&&(u.writeUInt32BE(0,2),u.writeUInt32BE(e.length,6)),t.mask?(r(s,0,4),u[1]|=128,u[i-4]=s[0],u[i-3]=s[1],u[i-2]=s[2],u[i-1]=s[3],n?(a(e,s,u,i,e.length),[u]):(a(e,s,e,0,e.length),[u,e])):[u,e]}close(e,t,n,r){let i;if(void 0===e)i=o;else{if("number"!=typeof e||!u(e))throw new TypeError("First argument must be a valid error code number");if(void 0===t||""===t)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{const n=Buffer.byteLength(t);if(n>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+n),i.writeUInt16BE(e,0),i.write(t,2)}}this._deflating?this.enqueue([this.doClose,i,n,r]):this.doClose(i,n,r)}doClose(e,t,n){this.sendFrame(c.frame(e,{fin:!0,rsv1:!1,opcode:8,mask:t,readOnly:!1}),n)}ping(e,t,n){const r=l(e);if(r.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,r,t,l.readOnly,n]):this.doPing(r,t,l.readOnly,n)}doPing(e,t,n,r){this.sendFrame(c.frame(e,{fin:!0,rsv1:!1,opcode:9,mask:t,readOnly:n}),r)}pong(e,t,n){const r=l(e);if(r.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,r,t,l.readOnly,n]):this.doPong(r,t,l.readOnly,n)}doPong(e,t,n,r){this.sendFrame(c.frame(e,{fin:!0,rsv1:!1,opcode:10,mask:t,readOnly:n}),r)}send(e,t,n){const r=l(e),o=this._extensions[i.extensionName];let u=t.binary?2:1,a=t.compress;if(this._firstFragment?(this._firstFragment=!1,a&&o&&(a=r.length>=o._threshold),this._compress=a):(a=!1,u=0),t.fin&&(this._firstFragment=!0),o){const e={fin:t.fin,rsv1:a,opcode:u,mask:t.mask,readOnly:l.readOnly};this._deflating?this.enqueue([this.dispatch,r,this._compress,e,n]):this.dispatch(r,this._compress,e,n)}else this.sendFrame(c.frame(r,{fin:t.fin,rsv1:!1,opcode:u,mask:t.mask,readOnly:l.readOnly}),n)}dispatch(e,t,n,r){if(!t)return void this.sendFrame(c.frame(e,n),r);const o=this._extensions[i.extensionName];this._bufferedBytes+=e.length,this._deflating=!0,o.compress(e,n.fin,(t,i)=>{if(this._socket.destroyed){const e=new Error("The socket was closed while data was being compressed");"function"==typeof r&&r(e);for(let t=0;t{"use strict";const{Duplex:r}=n(2413);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function u(e){this.removeListener("error",u),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let n=!0;function a(){n&&e._socket.resume()}e.readyState===e.CONNECTING?e.once("open",(function(){e._receiver.removeAllListeners("drain"),e._receiver.on("drain",a)})):(e._receiver.removeAllListeners("drain"),e._receiver.on("drain",a));const l=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",(function(t){l.push(t)||(n=!1,e._socket.pause())})),e.once("error",(function(e){l.destroyed||l.destroy(e)})),e.once("close",(function(){l.destroyed||l.push(null)})),l._destroy=function(t,n){if(e.readyState===e.CLOSED)return n(t),void process.nextTick(i,l);let r=!1;e.once("error",(function(e){r=!0,n(e)})),e.once("close",(function(){r||n(t),process.nextTick(i,l)})),e.terminate()},l._final=function(t){e.readyState!==e.CONNECTING?null!==e._socket&&(e._socket._writableState.finished?(t(),l._readableState.endEmitted&&l.destroy()):(e._socket.once("finish",(function(){t()})),e.close())):e.once("open",(function(){l._final(t)}))},l._read=function(){e.readyState!==e.OPEN||n||(n=!0,e._receiver._writableState.needDrain||e._socket.resume())},l._write=function(t,n,r){e.readyState!==e.CONNECTING?e.send(t,r):e.once("open",(function(){l._write(t,n,r)}))},l.on("end",o),l.on("error",u),l}},9498:(e,t,n)=>{"use strict";try{const e=n(Object(function(){var e=new Error("Cannot find module 'utf-8-validate'");throw e.code="MODULE_NOT_FOUND",e}()));t.isValidUTF8="object"==typeof e?e.Validation.isValidUTF8:e}catch(e){t.isValidUTF8=()=>!0}t.isValidStatusCode=e=>e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},43:(e,t,n)=>{"use strict";const r=n(8614),{createHash:i}=n(6417),{createServer:o,STATUS_CODES:u}=n(8605),a=n(2309),l=n(5760),{format:s,parse:c}=n(8162),{GUID:f,kWebSocket:d}=n(5739),p=/^[+/0-9A-Za-z]{22}==$/;function h(e){e.emit("close")}function v(){this.destroy()}function m(e,t,n,r){e.writable&&(n=n||u[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(n),...r},e.write(`HTTP/1.1 ${t} ${u[t]}\r\n`+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+n)),e.removeListener("error",v),e.destroy()}e.exports=class extends r{constructor(e,t){if(super(),null==(e={maxPayload:104857600,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,...e}).port&&!e.server&&!e.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');null!=e.port?(this._server=o((e,t)=>{const n=u[426];t.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),t.end(n)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server&&(this._removeListeners=function(e,t){for(const n of Object.keys(t))e.on(n,t[n]);return function(){for(const n of Object.keys(t))e.removeListener(n,t[n])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(e,t,n)=>{this.handleUpgrade(e,t,n,t=>{this.emit("connection",t,e)})}})),!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set),this.options=e}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(e&&this.once("close",e),this.clients)for(const e of this.clients)e.terminate();const t=this._server;t&&(this._removeListeners(),this._removeListeners=this._server=null,null!=this.options.port)?t.close(()=>this.emit("close")):process.nextTick(h,this)}shouldHandle(e){if(this.options.path){const t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,r){t.on("error",v);const i=void 0!==e.headers["sec-websocket-key"]&&e.headers["sec-websocket-key"].trim(),o=+e.headers["sec-websocket-version"],u={};if("GET"!==e.method||"websocket"!==e.headers.upgrade.toLowerCase()||!i||!p.test(i)||8!==o&&13!==o||!this.shouldHandle(e))return m(t,400);if(this.options.perMessageDeflate){const n=new a(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const t=c(e.headers["sec-websocket-extensions"]);t[a.extensionName]&&(n.accept(t[a.extensionName]),u[a.extensionName]=n)}catch(e){return m(t,400)}}if(this.options.verifyClient){const a={origin:e.headers[""+(8===o?"sec-websocket-origin":"origin")],secure:!(!e.connection.authorized&&!e.connection.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(a,(o,a,l,s)=>{if(!o)return m(t,a||401,l,s);this.completeUpgrade(i,u,e,t,n,r)});if(!this.options.verifyClient(a))return m(t,401)}this.completeUpgrade(i,u,e,t,n,r)}completeUpgrade(e,t,n,r,o,u){if(!r.readable||!r.writable)return r.destroy();if(r[d])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");const c=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade","Sec-WebSocket-Accept: "+i("sha1").update(e+f).digest("base64")],p=new l(null);let h=n.headers["sec-websocket-protocol"];if(h&&(h=h.trim().split(/ *, */),h=this.options.handleProtocols?this.options.handleProtocols(h,n):h[0],h&&(c.push("Sec-WebSocket-Protocol: "+h),p.protocol=h)),t[a.extensionName]){const e=t[a.extensionName].params,n=s({[a.extensionName]:[e]});c.push("Sec-WebSocket-Extensions: "+n),p._extensions=t}this.emit("headers",c,n),r.write(c.concat("\r\n").join("\r\n")),r.removeListener("error",v),p.setSocket(r,o,this.options.maxPayload),this.clients&&(this.clients.add(p),p.on("close",()=>this.clients.delete(p))),u(p)}}},5760:(e,t,n)=>{"use strict";const r=n(8614),i=n(7211),o=n(8605),u=n(1631),a=n(4016),{randomBytes:l,createHash:s}=n(6417),{URL:c}=n(8835),f=n(2309),d=n(1762),p=n(9576),{BINARY_TYPES:h,EMPTY_BUFFER:v,GUID:m,kStatusCode:g,kWebSocket:y,NOOP:_}=n(5739),{addEventListener:b,removeEventListener:w}=n(7002),{format:E,parse:D}=n(8162),{toBuffer:S}=n(8716),C=["CONNECTING","OPEN","CLOSING","CLOSED"],k=[8,13];class T extends r{constructor(e,t,n){super(),this.readyState=T.CONNECTING,this.protocol="",this._binaryType=h[0],this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._closeCode=1006,this._extensions={},this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(t)?t=t.join(", "):"object"==typeof t&&null!==t&&(n=t,t=void 0),function e(t,n,r,u){const a={protocolVersion:k[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...u,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!k.includes(a.protocolVersion))throw new RangeError(`Unsupported protocol version: ${a.protocolVersion} (supported versions: ${k.join(", ")})`);let d;n instanceof c?(d=n,t.url=n.href):(d=new c(n),t.url=n);const p="ws+unix:"===d.protocol;if(!(d.host||p&&d.pathname))throw new Error("Invalid URL: "+t.url);const h="wss:"===d.protocol||"https:"===d.protocol,v=h?443:80,g=l(16).toString("base64"),y=h?i.get:o.get;let _;a.createConnection=h?A:x,a.defaultPort=a.defaultPort||v,a.port=d.port||v,a.host=d.hostname.startsWith("[")?d.hostname.slice(1,-1):d.hostname,a.headers={"Sec-WebSocket-Version":a.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket",...a.headers},a.path=d.pathname+d.search,a.timeout=a.handshakeTimeout,a.perMessageDeflate&&(_=new f(!0!==a.perMessageDeflate?a.perMessageDeflate:{},!1,a.maxPayload),a.headers["Sec-WebSocket-Extensions"]=E({[f.extensionName]:_.offer()}));r&&(a.headers["Sec-WebSocket-Protocol"]=r);a.origin&&(a.protocolVersion<13?a.headers["Sec-WebSocket-Origin"]=a.origin:a.headers.Origin=a.origin);(d.username||d.password)&&(a.auth=`${d.username}:${d.password}`);if(p){const e=a.path.split(":");a.socketPath=e[0],a.path=e[1]}let b=t._req=y(a);a.timeout&&b.on("timeout",()=>{O(t,b,"Opening handshake has timed out")});b.on("error",e=>{t._req.aborted||(b=t._req=null,t.readyState=T.CLOSING,t.emit("error",e),t.emitClose())}),b.on("response",i=>{const o=i.headers.location,l=i.statusCode;if(o&&a.followRedirects&&l>=300&&l<400){if(++t._redirects>a.maxRedirects)return void O(t,b,"Maximum redirects exceeded");b.abort();const i=new c(o,n);e(t,i,r,u)}else t.emit("unexpected-response",b,i)||O(t,b,"Unexpected server response: "+i.statusCode)}),b.on("upgrade",(e,n,i)=>{if(t.emit("upgrade",e),t.readyState!==T.CONNECTING)return;b=t._req=null;const o=s("sha1").update(g+m).digest("base64");if(e.headers["sec-websocket-accept"]!==o)return void O(t,n,"Invalid Sec-WebSocket-Accept header");const u=e.headers["sec-websocket-protocol"],l=(r||"").split(/, */);let c;if(!r&&u?c="Server sent a subprotocol but none was requested":r&&!u?c="Server sent no subprotocol":u&&!l.includes(u)&&(c="Server sent an invalid subprotocol"),c)O(t,n,c);else{if(u&&(t.protocol=u),_)try{const n=D(e.headers["sec-websocket-extensions"]);n[f.extensionName]&&(_.accept(n[f.extensionName]),t._extensions[f.extensionName]=_)}catch(e){return void O(t,n,"Invalid Sec-WebSocket-Extensions header")}t.setSocket(n,i,a.maxPayload)}})}(this,e,t,n)):this._isServer=!0}get CONNECTING(){return T.CONNECTING}get CLOSING(){return T.CLOSING}get CLOSED(){return T.CLOSED}get OPEN(){return T.OPEN}get binaryType(){return this._binaryType}set binaryType(e){h.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}setSocket(e,t,n){const r=new d(this._binaryType,this._extensions,this._isServer,n);this._sender=new p(e,this._extensions),this._receiver=r,this._socket=e,r[y]=this,e[y]=this,r.on("conclude",I),r.on("drain",N),r.on("error",M),r.on("message",F),r.on("ping",L),r.on("pong",B),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",j),e.on("data",U),e.on("end",z),e.on("error",W),this.readyState=T.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this.readyState=T.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[f.extensionName]&&this._extensions[f.extensionName].cleanup(),this._receiver.removeAllListeners(),this.readyState=T.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==T.CLOSED){if(this.readyState===T.CONNECTING){const e="WebSocket was closed before the connection was established";return O(this,this._req,e)}this.readyState!==T.CLOSING?(this.readyState=T.CLOSING,this._sender.close(e,t,!this._isServer,e=>{e||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&this._closeFrameReceived&&this._socket.end()}}ping(e,t,n){if(this.readyState===T.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(n=e,e=t=void 0):"function"==typeof t&&(n=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===T.OPEN?(void 0===t&&(t=!this._isServer),this._sender.ping(e||v,t,n)):P(this,e,n)}pong(e,t,n){if(this.readyState===T.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(n=e,e=t=void 0):"function"==typeof t&&(n=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===T.OPEN?(void 0===t&&(t=!this._isServer),this._sender.pong(e||v,t,n)):P(this,e,n)}send(e,t,n){if(this.readyState===T.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(n=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==T.OPEN)return void P(this,e,n);const r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[f.extensionName]||(r.compress=!1),this._sender.send(e||v,r,n)}terminate(){if(this.readyState!==T.CLOSED){if(this.readyState===T.CONNECTING){const e="WebSocket was closed before the connection was established";return O(this,this._req,e)}this._socket&&(this.readyState=T.CLOSING,this._socket.destroy())}}}function x(e){return e.path=e.socketPath,u.connect(e)}function A(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=e.host),a.connect(e)}function O(e,t,n){e.readyState=T.CLOSING;const r=new Error(n);Error.captureStackTrace(r,O),t.setHeader?(t.abort(),t.once("abort",e.emitClose.bind(e)),e.emit("error",r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function P(e,t,n){if(t){const n=S(t).length;e._socket?e._sender._bufferedBytes+=n:e._bufferedAmount+=n}if(n){n(new Error(`WebSocket is not open: readyState ${e.readyState} (${C[e.readyState]})`))}}function I(e,t){const n=this[y];n._socket.removeListener("data",U),n._socket.resume(),n._closeFrameReceived=!0,n._closeMessage=t,n._closeCode=e,1005===e?n.close():n.close(e,t)}function N(){this[y]._socket.resume()}function M(e){const t=this[y];t._socket.removeListener("data",U),t.readyState=T.CLOSING,t._closeCode=e[g],t.emit("error",e),t._socket.destroy()}function R(){this[y].emitClose()}function F(e){this[y].emit("message",e)}function L(e){const t=this[y];t.pong(e,!t._isServer,_),t.emit("ping",e)}function B(e){this[y].emit("pong",e)}function j(){const e=this[y];this.removeListener("close",j),this.removeListener("end",z),e.readyState=T.CLOSING,e._socket.read(),e._receiver.end(),this.removeListener("data",U),this[y]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",R),e._receiver.on("finish",R))}function U(e){this[y]._receiver.write(e)||this.pause()}function z(){const e=this[y];e.readyState=T.CLOSING,e._receiver.end(),this.end()}function W(){const e=this[y];this.removeListener("error",W),this.on("error",_),e&&(e.readyState=T.CLOSING,this.destroy())}C.forEach((e,t)=>{T[e]=t}),["open","error","close","message"].forEach(e=>{Object.defineProperty(T.prototype,"on"+e,{get(){const t=this.listeners(e);for(let e=0;e{"use strict";function r(e){const t=[...e.caches],n=t.shift();return void 0===n?i():{get:(e,i,o={miss:()=>Promise.resolve()})=>n.get(e,i,o).catch(()=>r({caches:t}).get(e,i,o)),set:(e,i)=>n.set(e,i).catch(()=>r({caches:t}).set(e,i)),delete:e=>n.delete(e).catch(()=>r({caches:t}).delete(e)),clear:()=>n.clear().catch(()=>r({caches:t}).clear())}}function i(){return{get:(e,t,n={miss:()=>Promise.resolve()})=>t().then(e=>Promise.all([e,n.miss(e)])).then(([e])=>e),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}}n.r(t),n.d(t,{createFallbackableCache:()=>r,createNullCache:()=>i})},6712:(e,t,n)=>{"use strict";function r(e={serializable:!0}){let t={};return{get(n,r,i={miss:()=>Promise.resolve()}){const o=JSON.stringify(n);if(o in t)return Promise.resolve(e.serializable?JSON.parse(t[o]):t[o]);const u=r(),a=i&&i.miss||(()=>Promise.resolve());return u.then(e=>a(e)).then(()=>u)},set:(n,r)=>(t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}n.r(t),n.d(t,{createInMemoryCache:()=>r})},2223:(e,t,n)=>{"use strict";n.r(t),n.d(t,{addABTest:()=>a,createAnalyticsClient:()=>u,deleteABTest:()=>l,getABTest:()=>s,getABTests:()=>c,stopABTest:()=>f});var r=n(1757),i=n(7858),o=n(5541);const u=e=>{const t=e.region||"us",n=(0,r.createAuth)(r.AuthMode.WithinHeaders,e.appId,e.apiKey),o=(0,i.createTransporter)({hosts:[{url:`analytics.${t}.algolia.com`}],...e,headers:{...n.headers(),"content-type":"application/json",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}}),u=e.appId;return(0,r.addMethods)({appId:u,transporter:o},e.methods)},a=e=>(t,n)=>e.transporter.write({method:o.N.Post,path:"2/abtests",data:t},n),l=e=>(t,n)=>e.transporter.write({method:o.N.Delete,path:(0,r.encode)("2/abtests/%s",t)},n),s=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("2/abtests/%s",t)},n),c=e=>t=>e.transporter.read({method:o.N.Get,path:"2/abtests"},t),f=e=>(t,n)=>e.transporter.write({method:o.N.Post,path:(0,r.encode)("2/abtests/%s/stop",t)},n)},1757:(e,t,n)=>{"use strict";function r(e,t,n){const r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:()=>e===f.WithinHeaders?r:{},queryParameters:()=>e===f.WithinQueryParameters?r:{}}}function i(e){let t=0;const n=()=>(t++,new Promise(r=>{setTimeout(()=>{r(e(n))},Math.min(100*t,1e3))}));return e(n)}function o(e,t=((e,t)=>Promise.resolve())){return Object.assign(e,{wait:n=>o(e.then(e=>Promise.all([t(e,n),e])).then(e=>e[1]))})}function u(e){let t=e.length-1;for(;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function a(e,t){return Object.keys(void 0!==t?t:{}).forEach(n=>{e[n]=t[n](e)}),e}function l(e,...t){let n=0;return e.replace(/%s/g,()=>encodeURIComponent(t[n++]))}n.r(t),n.d(t,{AuthMode:()=>f,addMethods:()=>a,createAuth:()=>r,createRetryablePromise:()=>i,createWaitablePromise:()=>o,destroy:()=>c,encode:()=>l,shuffle:()=>u,version:()=>s});const s="4.2.0",c=e=>()=>e.transporter.requester.destroy(),f={WithinQueryParameters:0,WithinHeaders:1}},103:(e,t,n)=>{"use strict";n.r(t),n.d(t,{createRecommendationClient:()=>u,getPersonalizationStrategy:()=>a,setPersonalizationStrategy:()=>l});var r=n(1757),i=n(7858),o=n(5541);const u=e=>{const t=e.region||"us",n=(0,r.createAuth)(r.AuthMode.WithinHeaders,e.appId,e.apiKey),o=(0,i.createTransporter)({hosts:[{url:`recommendation.${t}.algolia.com`}],...e,headers:{...n.headers(),"content-type":"application/json",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}});return(0,r.addMethods)({appId:e.appId,transporter:o},e.methods)},a=e=>t=>e.transporter.read({method:o.N.Get,path:"1/strategies/personalization"},t),l=e=>(t,n)=>e.transporter.write({method:o.N.Post,path:"1/strategies/personalization",data:t},n)},6586:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ApiKeyACLEnum:()=>Te,BatchActionEnum:()=>xe,ScopeEnum:()=>Ae,StrategyEnum:()=>Oe,SynonymEnum:()=>Pe,addApiKey:()=>d,assignUserID:()=>p,assignUserIDs:()=>h,batch:()=>z,browseObjects:()=>W,browseRules:()=>H,browseSynonyms:()=>V,chunkedBatch:()=>q,clearObjects:()=>G,clearRules:()=>$,clearSynonyms:()=>Y,copyIndex:()=>v,copyRules:()=>m,copySettings:()=>g,copySynonyms:()=>y,createBrowsablePromise:()=>a,createMissingObjectIDError:()=>s,createObjectNotFoundError:()=>c,createSearchClient:()=>l,createValidUntilNotFoundError:()=>f,deleteApiKey:()=>_,deleteBy:()=>K,deleteIndex:()=>X,deleteObject:()=>Q,deleteObjects:()=>J,deleteRule:()=>Z,deleteSynonym:()=>ee,exists:()=>te,findObject:()=>ne,generateSecuredApiKey:()=>b,getApiKey:()=>w,getLogs:()=>E,getObject:()=>re,getObjectPosition:()=>ie,getObjects:()=>oe,getRule:()=>ue,getSecuredApiKeyRemainingValidity:()=>D,getSettings:()=>ae,getSynonym:()=>le,getTask:()=>se,getTopUserIDs:()=>S,getUserID:()=>C,hasPendingMappings:()=>k,initIndex:()=>T,listApiKeys:()=>x,listClusters:()=>A,listIndices:()=>O,listUserIDs:()=>P,moveIndex:()=>I,multipleBatch:()=>N,multipleGetObjects:()=>M,multipleQueries:()=>R,multipleSearchForFacetValues:()=>F,partialUpdateObject:()=>ce,partialUpdateObjects:()=>fe,removeUserID:()=>L,replaceAllObjects:()=>de,replaceAllRules:()=>pe,replaceAllSynonyms:()=>he,restoreApiKey:()=>B,saveObject:()=>ve,saveObjects:()=>me,saveRule:()=>ge,saveRules:()=>ye,saveSynonym:()=>_e,saveSynonyms:()=>be,search:()=>we,searchForFacetValues:()=>Ee,searchRules:()=>De,searchSynonyms:()=>Se,searchUserIDs:()=>j,setSettings:()=>Ce,updateApiKey:()=>U,waitTask:()=>ke});var r=n(1757),i=n(7858),o=n(5541),u=n(6417);function a(e){const t=n=>e.request(n).then(r=>{if(void 0!==e.batch&&e.batch(r.hits),!e.shouldStop(r))return r.cursor?t({cursor:r.cursor}):t({page:(n.page||0)+1})});return t({})}const l=e=>{const t=e.appId,n=(0,r.createAuth)(void 0!==e.authMode?e.authMode:r.AuthMode.WithinHeaders,t,e.apiKey),o=(0,i.createTransporter)({hosts:[{url:t+"-dsn.algolia.net",accept:i.CallEnum.Read},{url:t+".algolia.net",accept:i.CallEnum.Write}].concat((0,r.shuffle)([{url:t+"-1.algolianet.com"},{url:t+"-2.algolianet.com"},{url:t+"-3.algolianet.com"}])),...e,headers:{...n.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}}),u={transporter:o,appId:t,addAlgoliaAgent(e,t){o.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})};return(0,r.addMethods)(u,e.methods)};function s(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function c(){return{name:"ObjectNotFoundError",message:"Object not found."}}function f(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}const d=e=>(t,n)=>{const{queryParameters:i,...u}=n||{},a={acl:t,...void 0!==i?{queryParameters:i}:{}};return(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:"1/keys",data:a},u),(t,n)=>(0,r.createRetryablePromise)(r=>w(e)(t.key,n).catch(e=>{if(404!==e.status)throw e;return r()})))},p=e=>(t,n,r)=>{const u=(0,i.createMappedRequestOptions)(r);return u.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:o.N.Post,path:"1/clusters/mapping",data:{cluster:n}},u)},h=e=>(t,n,r)=>e.transporter.write({method:o.N.Post,path:"1/clusters/mapping/batch",data:{users:t,cluster:n}},r),v=e=>(t,n,i)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/operation",t),data:{operation:"copy",destination:n}},i),(n,r)=>T(e)(t,{methods:{waitTask:ke}}).waitTask(n.taskID,r)),m=e=>(t,n,r)=>v(e)(t,n,{...r,scope:[Ae.Rules]}),g=e=>(t,n,r)=>v(e)(t,n,{...r,scope:[Ae.Settings]}),y=e=>(t,n,r)=>v(e)(t,n,{...r,scope:[Ae.Synonyms]}),_=e=>(t,n)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Delete,path:(0,r.encode)("1/keys/%s",t)},n),(n,i)=>(0,r.createRetryablePromise)(n=>w(e)(t,i).then(n).catch(e=>{if(404!==e.status)throw e}))),b=()=>(e,t)=>{const n=(0,i.serializeQueryParameters)(t),r=(0,u.createHmac)("sha256",e).update(n).digest("hex");return Buffer.from(r+n).toString("base64")},w=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/keys/%s",t)},n),E=e=>t=>e.transporter.read({method:o.N.Get,path:"1/logs"},t),D=()=>e=>{const t=Buffer.from(e,"base64").toString("ascii").match(/validUntil=(\d+)/);if(null===t)throw{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."};return parseInt(t[1],10)-Math.round((new Date).getTime()/1e3)},S=e=>t=>e.transporter.read({method:o.N.Get,path:"1/clusters/mapping/top"},t),C=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/clusters/mapping/%s",t)},n),k=e=>t=>{const{retrieveMappings:n,...r}=t||{};return!0===n&&(r.getClusters=!0),e.transporter.read({method:o.N.Get,path:"1/clusters/mapping/pending"},r)},T=e=>(t,n={})=>{const i={transporter:e.transporter,appId:e.appId,indexName:t};return(0,r.addMethods)(i,n.methods)},x=e=>t=>e.transporter.read({method:o.N.Get,path:"1/keys"},t),A=e=>t=>e.transporter.read({method:o.N.Get,path:"1/clusters"},t),O=e=>t=>e.transporter.read({method:o.N.Get,path:"1/indexes"},t),P=e=>t=>e.transporter.read({method:o.N.Get,path:"1/clusters/mapping"},t),I=e=>(t,n,i)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/operation",t),data:{operation:"move",destination:n}},i),(n,r)=>T(e)(t,{methods:{waitTask:ke}}).waitTask(n.taskID,r)),N=e=>(t,n)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:"1/indexes/*/batch",data:{requests:t}},n),(t,n)=>Promise.all(Object.keys(t.taskID).map(r=>T(e)(r,{methods:{waitTask:ke}}).waitTask(t.taskID[r],n)))),M=e=>(t,n)=>e.transporter.read({method:o.N.Post,path:"1/indexes/*/objects",data:{requests:t}},n),R=e=>(t,n)=>{const r=t.map(e=>({...e,params:(0,i.serializeQueryParameters)(e.params||{})}));return e.transporter.read({method:o.N.Post,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)},F=e=>(t,n)=>Promise.all(t.map(t=>{const{facetName:r,facetQuery:i,...o}=t.params;return T(e)(t.indexName,{methods:{searchForFacetValues:Ee}}).searchForFacetValues(r,i,{...n,...o})})),L=e=>(t,n)=>{const r=(0,i.createMappedRequestOptions)(n);return r.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:o.N.Delete,path:"1/clusters/mapping"},r)},B=e=>(t,n)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/keys/%s/restore",t)},n),(n,i)=>(0,r.createRetryablePromise)(n=>w(e)(t,i).catch(e=>{if(404!==e.status)throw e;return n()}))),j=e=>(t,n)=>e.transporter.read({method:o.N.Post,path:"1/clusters/mapping/search",data:{query:t}},n),U=e=>(t,n)=>{const i=Object.assign({},n),{queryParameters:u,...a}=n||{},l=u?{queryParameters:u}:{},s=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Put,path:(0,r.encode)("1/keys/%s",t),data:l},a),(n,o)=>(0,r.createRetryablePromise)(n=>w(e)(t,o).then(e=>(e=>Object.keys(i).filter(e=>-1!==s.indexOf(e)).every(t=>e[t]===i[t]))(e)?Promise.resolve():n())))},z=e=>(t,n)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/batch",e.indexName),data:{requests:t}},n),(t,n)=>ke(e)(t.taskID,n)),W=e=>t=>a({...t,shouldStop:e=>void 0===e.cursor,request:n=>e.transporter.read({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/browse",e.indexName),data:n},t)}),H=e=>t=>{const n={hitsPerPage:1e3,...t};return a({...n,shouldStop:e=>e.hits.lengthDe(e)("",{...n,...t}).then(e=>({...e,hits:e.hits.map(e=>(delete e._highlightResult,e))}))})},V=e=>t=>{const n={hitsPerPage:1e3,...t};return a({...n,shouldStop:e=>e.hits.lengthSe(e)("",{...n,...t}).then(e=>({...e,hits:e.hits.map(e=>(delete e._highlightResult,e))}))})},q=e=>(t,n,i)=>{const{batchSize:o,...u}=i||{},a={taskIDs:[],objectIDs:[]},l=(r=0)=>{const i=[];let s;for(s=r;s({action:n,body:e})),u).then(e=>(a.objectIDs=a.objectIDs.concat(e.objectIDs),a.taskIDs.push(e.taskID),s++,l(s)))};return(0,r.createWaitablePromise)(l(),(t,n)=>Promise.all(t.taskIDs.map(t=>ke(e)(t,n))))},G=e=>t=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/clear",e.indexName)},t),(t,n)=>ke(e)(t.taskID,n)),$=e=>t=>{const{forwardToReplicas:n,...u}=t||{},a=(0,i.createMappedRequestOptions)(u);return n&&(a.queryParameters.forwardToReplicas=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/rules/clear",e.indexName)},a),(t,n)=>ke(e)(t.taskID,n))},Y=e=>t=>{const{forwardToReplicas:n,...u}=t||{},a=(0,i.createMappedRequestOptions)(u);return n&&(a.queryParameters.forwardToReplicas=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/synonyms/clear",e.indexName)},a),(t,n)=>ke(e)(t.taskID,n))},K=e=>(t,n)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/deleteByQuery",e.indexName),data:t},n),(t,n)=>ke(e)(t.taskID,n)),X=e=>t=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Delete,path:(0,r.encode)("1/indexes/%s",e.indexName)},t),(t,n)=>ke(e)(t.taskID,n)),Q=e=>(t,n)=>(0,r.createWaitablePromise)(J(e)([t],n).then(e=>({taskID:e.taskIDs[0]})),(t,n)=>ke(e)(t.taskID,n)),J=e=>(t,n)=>{const r=t.map(e=>({objectID:e}));return q(e)(r,xe.DeleteObject,n)},Z=e=>(t,n)=>{const{forwardToReplicas:u,...a}=n||{},l=(0,i.createMappedRequestOptions)(a);return u&&(l.queryParameters.forwardToReplicas=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Delete,path:(0,r.encode)("1/indexes/%s/rules/%s",e.indexName,t)},l),(t,n)=>ke(e)(t.taskID,n))},ee=e=>(t,n)=>{const{forwardToReplicas:u,...a}=n||{},l=(0,i.createMappedRequestOptions)(a);return u&&(l.queryParameters.forwardToReplicas=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Delete,path:(0,r.encode)("1/indexes/%s/synonyms/%s",e.indexName,t)},l),(t,n)=>ke(e)(t.taskID,n))},te=e=>t=>ae(e)(t).then(()=>!0).catch(e=>{if(404!==e.status)throw e;return!1}),ne=e=>(t,n)=>{const{query:r,paginate:i,...o}=n||{};let u=0;const a=()=>we(e)(r||"",{...o,page:u}).then(e=>{for(const[n,r]of Object.entries(e.hits))if(t(r))return{object:r,position:parseInt(n,10),page:u};if(u++,!1===i||u>=e.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return a()});return a()},re=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/indexes/%s/%s",e.indexName,t)},n),ie=()=>(e,t)=>{for(const[n,r]of Object.entries(e.hits))if(r.objectID===t)return parseInt(n,10);return-1},oe=e=>(t,n)=>{const{attributesToRetrieve:r,...i}=n||{},u=t.map(t=>({indexName:e.indexName,objectID:t,...r?{attributesToRetrieve:r}:{}}));return e.transporter.read({method:o.N.Post,path:"1/indexes/*/objects",data:{requests:u}},i)},ue=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/indexes/%s/rules/%s",e.indexName,t)},n),ae=e=>t=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t),le=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/indexes/%s/synonyms/%s",e.indexName,t)},n),se=e=>(t,n)=>e.transporter.read({method:o.N.Get,path:(0,r.encode)("1/indexes/%s/task/%s",e.indexName,t.toString())},n),ce=e=>(t,n)=>(0,r.createWaitablePromise)(fe(e)([t],n).then(e=>({objectID:e.objectIDs[0],taskID:e.taskIDs[0]})),(t,n)=>ke(e)(t.taskID,n)),fe=e=>(t,n)=>{const{createIfNotExists:r,...i}=n||{},o=r?xe.PartialUpdateObject:xe.PartialUpdateObjectNoCreate;return q(e)(t,o,i)},de=e=>(t,n)=>{const{safe:i,autoGenerateObjectIDIfNotExist:u,batchSize:a,...l}=n||{},s=(t,n,i,u)=>(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/operation",t),data:{operation:i,destination:n}},u),(t,n)=>ke(e)(t.taskID,n)),c=Math.random().toString(36).substring(7),f=`${e.indexName}_tmp_${c}`,d=me({appId:e.appId,transporter:e.transporter,indexName:f});let p=[];const h=s(e.indexName,f,"copy",{...l,scope:["settings","synonyms","rules"]});p.push(h);const v=(i?h.wait(l):h).then(()=>{const e=d(t,{...l,autoGenerateObjectIDIfNotExist:u,batchSize:a});return p.push(e),i?e.wait(l):e}).then(()=>{const t=s(f,e.indexName,"move",l);return p.push(t),i?t.wait(l):t}).then(()=>Promise.all(p)).then(([e,t,n])=>({objectIDs:t.objectIDs,taskIDs:[e.taskID,...t.taskIDs,n.taskID]}));return(0,r.createWaitablePromise)(v,(e,t)=>Promise.all(p.map(e=>e.wait(t))))},pe=e=>(t,n)=>ye(e)(t,{...n,clearExistingRules:!0}),he=e=>(t,n)=>be(e)(t,{...n,replaceExistingSynonyms:!0}),ve=e=>(t,n)=>(0,r.createWaitablePromise)(me(e)([t],n).then(e=>({objectID:e.objectIDs[0],taskID:e.taskIDs[0]})),(t,n)=>ke(e)(t.taskID,n)),me=e=>(t,n)=>{const{autoGenerateObjectIDIfNotExist:i,...o}=n||{},u=i?xe.AddObject:xe.UpdateObject;if(u===xe.UpdateObject)for(const e of t)if(void 0===e.objectID)return(0,r.createWaitablePromise)(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}));return q(e)(t,u,o)},ge=e=>(t,n)=>ye(e)([t],n),ye=e=>(t,n)=>{const{forwardToReplicas:u,clearExistingRules:a,...l}=n||{},s=(0,i.createMappedRequestOptions)(l);return u&&(s.queryParameters.forwardToReplicas=1),a&&(s.queryParameters.clearExistingRules=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/rules/batch",e.indexName),data:t},s),(t,n)=>ke(e)(t.taskID,n))},_e=e=>(t,n)=>be(e)([t],n),be=e=>(t,n)=>{const{forwardToReplicas:u,replaceExistingSynonyms:a,...l}=n||{},s=(0,i.createMappedRequestOptions)(l);return u&&(s.queryParameters.forwardToReplicas=1),a&&(s.queryParameters.replaceExistingSynonyms=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/synonyms/batch",e.indexName),data:t},s),(t,n)=>ke(e)(t.taskID,n))},we=e=>(t,n)=>e.transporter.read({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n),Ee=e=>(t,n,i)=>e.transporter.read({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},i),De=e=>(t,n)=>e.transporter.read({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/rules/search",e.indexName),data:{query:t}},n),Se=e=>(t,n)=>e.transporter.read({method:o.N.Post,path:(0,r.encode)("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},n),Ce=e=>(t,n)=>{const{forwardToReplicas:u,...a}=n||{},l=(0,i.createMappedRequestOptions)(a);return u&&(l.queryParameters.forwardToReplicas=1),(0,r.createWaitablePromise)(e.transporter.write({method:o.N.Put,path:(0,r.encode)("1/indexes/%s/settings",e.indexName),data:t},l),(t,n)=>ke(e)(t.taskID,n))},ke=e=>(t,n)=>(0,r.createRetryablePromise)(r=>se(e)(t,n).then(e=>"published"!==e.status?r():void 0)),Te={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},xe={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},Ae={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Oe={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Pe={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"}},8045:(e,t,n)=>{"use strict";function r(){return{debug:(e,t)=>Promise.resolve(),info:(e,t)=>Promise.resolve(),error:(e,t)=>Promise.resolve()}}n.r(t),n.d(t,{LogLevelEnum:()=>i,createNullLogger:()=>r});const i={Debug:1,Info:2,Error:3}},5541:(e,t,n)=>{"use strict";n.d(t,{N:()=>r});const r={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"}},9178:(e,t,n)=>{"use strict";n.r(t),n.d(t,{createNodeHttpRequester:()=>u});var r=n(8605),i=n(7211),o=n(8835);function u(){const e={keepAlive:!0},t=new r.Agent(e),n=new i.Agent(e);return{send:e=>new Promise(u=>{const a=(0,o.parse)(e.url),l=null===a.query?a.pathname:`${a.pathname}?${a.query}`,s={agent:"https:"===a.protocol?n:t,hostname:a.hostname,path:l,method:e.method,headers:e.headers,...void 0!==a.port?{port:a.port||""}:{}},c=("https:"===a.protocol?i:r).request(s,e=>{let t="";e.on("data",e=>t+=e),e.on("end",()=>{clearTimeout(d),clearTimeout(p),u({status:e.statusCode||0,content:t,isTimedOut:!1})})}),f=(e,t)=>setTimeout(()=>{c.abort(),u({status:0,content:t,isTimedOut:!0})},1e3*e),d=f(e.connectTimeout,"Connection timeout");let p;c.on("error",e=>{clearTimeout(d),clearTimeout(p),u({status:0,content:e.message,isTimedOut:!1})}),c.once("response",()=>{clearTimeout(d),p=f(e.responseTimeout,"Socket timeout")}),void 0!==e.data&&c.write(e.data),c.end()}),destroy:()=>(t.destroy(),n.destroy(),Promise.resolve())}}},7858:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CallEnum:()=>o,HostStatusEnum:()=>u,createApiError:()=>E,createDeserializationError:()=>D,createMappedRequestOptions:()=>i,createRetryError:()=>S,createStatefulHost:()=>a,createStatelessHost:()=>c,createTransporter:()=>d,createUserAgent:()=>p,deserializeFailure:()=>v,deserializeSuccess:()=>h,isStatefulHostTimeouted:()=>s,isStatefulHostUp:()=>l,serializeData:()=>y,serializeHeaders:()=>_,serializeQueryParameters:()=>g,serializeUrl:()=>m,stackFrameWithoutCredentials:()=>w,stackTraceWithoutCredentials:()=>b});var r=n(5541);function i(e,t){const n=e||{},r=n.data||{};return Object.keys(n).forEach(e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(r[e]=n[e])}),{data:Object.entries(r).length>0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}const o={Read:1,Write:2,Any:3},u={Up:1,Down:2,Timeouted:3};function a(e,t=u.Up){return{...e,status:t,lastUpdate:Date.now()}}function l(e){return e.status===u.Up||Date.now()-e.lastUpdate>12e4}function s(e){return e.status===u.Timeouted&&Date.now()-e.lastUpdate<=12e4}function c(e){return{protocol:e.protocol||"https",url:e.url,accept:e.accept||o.Any}}function f(e,t,n,i){const o=[],f=y(n,i),d=_(e,i),p=n.method,g=n.method!==r.N.Get?{}:{...n.data,...i.data},E={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...g,...i.queryParameters};let D=0;const C=(t,r)=>{const l=t.pop();if(void 0===l)throw S(b(o));const s={data:f,headers:d,method:p,url:m(l,n.path,E),connectTimeout:r(D,e.timeouts.connect),responseTimeout:r(D,i.timeout)},c=e=>{const n={request:s,response:e,host:l,triesLeft:t.length};return o.push(n),n},g={onSucess:e=>h(e),onRetry(n){const i=c(n);return n.isTimedOut&&D++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(l,a(l,n.isTimedOut?u.Timeouted:u.Down))]).then(()=>C(t,r))},onFail(e){throw c(e),v(e,b(o))}};return e.requester.send(s).then(e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSucess(e):t.onFail(e))(e,g))};return function(e,t){return Promise.all(t.map(t=>e.get(t,()=>Promise.resolve(a(t))))).then(e=>{const n=e.filter(e=>l(e)),r=e.filter(e=>s(e)),i=[...n,...r];return{getTimeout:(e,t)=>(0===r.length&&0===e?1:r.length+3+e)*t,statelessHosts:i.length>0?i.map(e=>c(e)):t}})}(e.hostsCache,t).then(e=>C([...e.statelessHosts].reverse(),e.getTimeout))}function d(e){const{hostsCache:t,logger:n,requester:r,requestsCache:u,responsesCache:a,timeouts:l,userAgent:s,hosts:d,queryParameters:p,headers:h}=e,v={hostsCache:t,logger:n,requester:r,requestsCache:u,responsesCache:a,timeouts:l,userAgent:s,headers:h,queryParameters:p,hosts:d.map(e=>c(e)),read(e,t){const n=i(t,v.timeouts.read),r=()=>f(v,v.hosts.filter(e=>0!=(e.accept&o.Read)),e,n);if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();const u={request:e,mappedRequestOptions:n,transporter:{queryParameters:v.queryParameters,headers:v.headers}};return v.responsesCache.get(u,()=>v.requestsCache.get(u,()=>v.requestsCache.set(u,r()).then(e=>Promise.all([v.requestsCache.delete(u),e]),e=>Promise.all([v.requestsCache.delete(u),Promise.reject(e)])).then(([e,t])=>t)),{miss:e=>v.responsesCache.set(u,e)})},write:(e,t)=>f(v,v.hosts.filter(e=>0!=(e.accept&o.Write)),e,i(t,v.timeouts.write))};return v}function p(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const n=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(n)&&(t.value=`${t.value}${n}`),t}};return t}function h(e){try{return JSON.parse(e.content)}catch(t){throw D(t.message,e)}}function v({content:e,status:t},n){let r=e;try{r=JSON.parse(e).message}catch(e){}return E(r,t,n)}function m(e,t,n){const r=g(n);let i=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return r.length&&(i+="?"+r),i}function g(e){return Object.keys(e).map(t=>{return function(e,...t){let n=0;return e.replace(/%s/g,()=>encodeURIComponent(t[n++]))}("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n}).join("&")}function y(e,t){if(e.method===r.N.Get||void 0===e.data&&void 0===t.data)return;const n=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(n)}function _(e,t){const n={...e.headers,...t.headers},r={};return Object.keys(n).forEach(e=>{const t=n[e];r[e.toLowerCase()]=t}),r}function b(e){return e.map(e=>w(e))}function w(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function E(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}function D(e,t){return{name:"DeserializationError",message:e,response:t}}function S(e){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:e}}},8774:(e,t,n)=>{"use strict";var r=n(469),i=n(6712),o=n(2223),u=n(1757),a=n(103),l=n(6586),s=n(8045),c=n(9178),f=n(7858);function d(e,t,n){const d={appId:e,apiKey:t,timeouts:{connect:2,read:5,write:30},requester:c.createNodeHttpRequester(),logger:s.createNullLogger(),responsesCache:r.createNullCache(),requestsCache:r.createNullCache(),hostsCache:i.createInMemoryCache(),userAgent:f.createUserAgent(u.version).add({segment:"Node.js",version:process.versions.node})};return l.createSearchClient({...d,...n,methods:{search:l.multipleQueries,searchForFacetValues:l.multipleSearchForFacetValues,multipleBatch:l.multipleBatch,multipleGetObjects:l.multipleGetObjects,multipleQueries:l.multipleQueries,copyIndex:l.copyIndex,copySettings:l.copySettings,copyRules:l.copyRules,copySynonyms:l.copySynonyms,moveIndex:l.moveIndex,listIndices:l.listIndices,getLogs:l.getLogs,listClusters:l.listClusters,multipleSearchForFacetValues:l.multipleSearchForFacetValues,getApiKey:l.getApiKey,addApiKey:l.addApiKey,listApiKeys:l.listApiKeys,updateApiKey:l.updateApiKey,deleteApiKey:l.deleteApiKey,restoreApiKey:l.restoreApiKey,assignUserID:l.assignUserID,assignUserIDs:l.assignUserIDs,getUserID:l.getUserID,searchUserIDs:l.searchUserIDs,listUserIDs:l.listUserIDs,getTopUserIDs:l.getTopUserIDs,removeUserID:l.removeUserID,hasPendingMappings:l.hasPendingMappings,generateSecuredApiKey:l.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:l.getSecuredApiKeyRemainingValidity,destroy:u.destroy,initIndex:e=>t=>l.initIndex(e)(t,{methods:{batch:l.batch,delete:l.deleteIndex,getObject:l.getObject,getObjects:l.getObjects,saveObject:l.saveObject,saveObjects:l.saveObjects,search:l.search,searchForFacetValues:l.searchForFacetValues,waitTask:l.waitTask,setSettings:l.setSettings,getSettings:l.getSettings,partialUpdateObject:l.partialUpdateObject,partialUpdateObjects:l.partialUpdateObjects,deleteObject:l.deleteObject,deleteObjects:l.deleteObjects,deleteBy:l.deleteBy,clearObjects:l.clearObjects,browseObjects:l.browseObjects,getObjectPosition:l.getObjectPosition,findObject:l.findObject,exists:l.exists,saveSynonym:l.saveSynonym,saveSynonyms:l.saveSynonyms,getSynonym:l.getSynonym,searchSynonyms:l.searchSynonyms,browseSynonyms:l.browseSynonyms,deleteSynonym:l.deleteSynonym,clearSynonyms:l.clearSynonyms,replaceAllObjects:l.replaceAllObjects,replaceAllSynonyms:l.replaceAllSynonyms,searchRules:l.searchRules,getRule:l.getRule,deleteRule:l.deleteRule,saveRule:l.saveRule,saveRules:l.saveRules,replaceAllRules:l.replaceAllRules,browseRules:l.browseRules,clearRules:l.clearRules}}),initAnalytics:()=>e=>o.createAnalyticsClient({...d,...e,methods:{addABTest:o.addABTest,getABTest:o.getABTest,getABTests:o.getABTests,stopABTest:o.stopABTest,deleteABTest:o.deleteABTest}}),initRecommendation:()=>e=>a.createRecommendationClient({...d,...e,methods:{getPersonalizationStrategy:a.getPersonalizationStrategy,setPersonalizationStrategy:a.setPersonalizationStrategy}})}})}d.version=u.version,e.exports=d},4410:(e,t,n)=>{const r=n(8774);e.exports=r,e.exports.default=r},7589:e=>{"use strict";const t=e.exports;e.exports.default=t;const n="[",r="]",i="",o=";",u="Apple_Terminal"===process.env.TERM_PROGRAM;t.cursorTo=(e,t)=>{if("number"!=typeof e)throw new TypeError("The `x` argument is required");return"number"!=typeof t?n+(e+1)+"G":n+(t+1)+";"+(e+1)+"H"},t.cursorMove=(e,t)=>{if("number"!=typeof e)throw new TypeError("The `x` argument is required");let r="";return e<0?r+=n+-e+"D":e>0&&(r+=n+e+"C"),t<0?r+=n+-t+"A":t>0&&(r+=n+t+"B"),r},t.cursorUp=(e=1)=>n+e+"A",t.cursorDown=(e=1)=>n+e+"B",t.cursorForward=(e=1)=>n+e+"C",t.cursorBackward=(e=1)=>n+e+"D",t.cursorLeft="",t.cursorSavePosition=u?"7":"",t.cursorRestorePosition=u?"8":"",t.cursorGetPosition="",t.cursorNextLine="",t.cursorPrevLine="",t.cursorHide="[?25l",t.cursorShow="[?25h",t.eraseLines=e=>{let n="";for(let r=0;r[r,"8",o,o,t,i,e,r,"8",o,o,i].join(""),t.image=(e,t={})=>{let n=r+"1337;File=inline=1";return t.width&&(n+=";width="+t.width),t.height&&(n+=";height="+t.height),!1===t.preserveAspectRatio&&(n+=";preserveAspectRatio=0"),n+":"+e.toString("base64")+i},t.iTerm={setCwd:(e=process.cwd())=>`${r}50;CurrentDir=${e}${i}`,annotation:(e,t={})=>{let n=r+"1337;";const o=void 0!==t.x,u=void 0!==t.y;if((o||u)&&(!o||!u||void 0===t.length))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),n+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?n+=(o?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):n+=e,n+i}}},5378:e=>{"use strict";e.exports=e=>{e=Object.assign({onlyFirst:!1},e);const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e.onlyFirst?void 0:"g")}},1337:e=>{"use strict";e.exports=({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}},8483:(e,t,n)=>{"use strict";e=n.nmd(e);const r=(e,t)=>(...n)=>`[${e(...n)+t}m`,i=(e,t)=>(...n)=>{const r=e(...n);return`[${38+t};5;${r}m`},o=(e,t)=>(...n)=>{const r=e(...n);return`[${38+t};2;${r[0]};${r[1]};${r[2]}m`},u=e=>e,a=(e,t,n)=>[e,t,n],l=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let s;const c=(e,t,r,i)=>{void 0===s&&(s=n(2744));const o=i?10:0,u={};for(const[n,i]of Object.entries(s)){const a="ansi16"===n?"ansi":n;n===t?u[a]=e(r,o):"object"==typeof i&&(u[a]=e(i[t],o))}return u};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(const[n,r]of Object.entries(t)){for(const[n,i]of Object.entries(r))t[n]={open:`[${i[0]}m`,close:`[${i[1]}m`},r[n]=t[n],e.set(i[0],i[1]);Object.defineProperty(t,n,{value:r,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="",t.bgColor.close="",l(t.color,"ansi",()=>c(r,"ansi16",u,!1)),l(t.color,"ansi256",()=>c(i,"ansi256",u,!1)),l(t.color,"ansi16m",()=>c(o,"rgb",a,!1)),l(t.bgColor,"ansi",()=>c(r,"ansi16",u,!0)),l(t.bgColor,"ansi256",()=>c(i,"ansi256",u,!0)),l(t.bgColor,"ansi16m",()=>c(o,"rgb",a,!0)),t}})},5640:e=>{"use strict";e.exports=e=>e&&e.exact?new RegExp("^[\ud800-\udbff][\udc00-\udfff]$"):new RegExp("[\ud800-\udbff][\udc00-\udfff]","g")},409:e=>{"use strict";e.exports=e=>e&&e.exact?new RegExp("^[\ud800-\udbff][\udc00-\udfff]$"):new RegExp("[\ud800-\udbff][\udc00-\udfff]","g")},2633:e=>{"use strict";e.exports=(e,{include:t,exclude:n}={})=>{const r=e=>{const r=t=>"string"==typeof t?e===t:t.test(e);return t?t.some(r):!n||!n.some(r)};for(const[t,n]of(e=>{const t=new Set;do{for(const n of Reflect.ownKeys(e))t.add([e,n])}while((e=Reflect.getPrototypeOf(e))&&e!==Object.prototype);return t})(e.constructor.prototype)){if("constructor"===n||!r(n))continue;const i=Reflect.getOwnPropertyDescriptor(t,n);i&&"function"==typeof i.value&&(e[n]=e[n].bind(e))}return e}},5882:(e,t,n)=>{"use strict";const r=n(8483),{stdout:i,stderr:o}=n(9428),{stringReplaceAll:u,stringEncaseCRLFWithFirstIndex:a}=n(3327),l=["ansi","ansi","ansi256","ansi16m"],s=Object.create(null);class c{constructor(e){return f(e)}}const f=e=>{const t={};return((e,t={})=>{if(t.level>3||t.level<0)throw new Error("The `level` option should be an integer from 0 to 3");const n=i?i.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>_(t.template,...e),Object.setPrototypeOf(t,d.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=c,t.template};function d(e){return f(e)}for(const[e,t]of Object.entries(r))s[e]={get(){const n=m(this,v(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};s.visible={get(){const e=m(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const p=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of p)s[e]={get(){const{level:t}=this;return function(...n){const i=v(r.color[l[t]][e](...n),r.color.close,this._styler);return m(this,i,this._isEmpty)}}};for(const e of p){s["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const i=v(r.bgColor[l[t]][e](...n),r.bgColor.close,this._styler);return m(this,i,this._isEmpty)}}}}const h=Object.defineProperties(()=>{},{...s,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),v=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},m=(e,t,n)=>{const r=(...e)=>g(r,1===e.length?""+e[0]:e.join(" "));return r.__proto__=h,r._generator=e,r._styler=t,r._isEmpty=n,r},g=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(-1!==t.indexOf(""))for(;void 0!==n;)t=u(t,n.close,n.open),n=n.parent;const o=t.indexOf("\n");return-1!==o&&(t=a(t,i,r,o)),r+t+i};let y;const _=(e,...t)=>{const[r]=t;if(!Array.isArray(r))return t.join(" ");const i=t.slice(1),o=[r.raw[0]];for(let e=1;e{"use strict";const t=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,n=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,i=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function u(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function a(e,t){const n=[],o=t.trim().split(/\s*,\s*/g);let a;for(const t of o){const o=Number(t);if(Number.isNaN(o)){if(!(a=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(a[2].replace(i,(e,t,n)=>t?u(t):n))}else n.push(o)}return n}function l(e){n.lastIndex=0;const t=[];let r;for(;null!==(r=n.exec(e));){const e=r[1];if(r[2]){const n=a(e,r[2]);t.push([e].concat(n))}else t.push([e])}return t}function s(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error("Unknown Chalk style: "+e);r=t.length>0?r[e](...t):r[e]}return r}e.exports=(e,n)=>{const r=[],i=[];let o=[];if(n.replace(t,(t,n,a,c,f,d)=>{if(n)o.push(u(n));else if(c){const t=o.join("");o=[],i.push(0===r.length?t:s(e,r)(t)),r.push({inverse:a,styles:l(c)})}else if(f){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");i.push(s(e,r)(o.join(""))),o=[],r.pop()}else o.push(d)}),i.push(o.join("")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")}},3327:e=>{"use strict";e.exports={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let o=0,u="";do{u+=e.substr(o,r-o)+t+n,o=r+i,r=e.indexOf(t,o)}while(-1!==r);return u+=e.substr(o),u},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let i=0,o="";do{const u="\r"===e[r-1];o+=e.substr(i,(u?r-1:r)-i)+t+(u?"\r\n":"\n")+n,i=r+1,r=e.indexOf("\n",i)}while(-1!==r);return o+=e.substr(i),o}}},1525:(e,t,n)=>{"use strict";const r=n(8483),{stdout:i,stderr:o}=n(9428),{stringReplaceAll:u,stringEncaseCRLFWithFirstIndex:a}=n(6539),{isArray:l}=Array,s=["ansi","ansi","ansi256","ansi16m"],c=Object.create(null);class f{constructor(e){return d(e)}}const d=e=>{const t={};return((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=i?i.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>b(t.template,...e),Object.setPrototypeOf(t,p.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=f,t.template};function p(e){return d(e)}for(const[e,t]of Object.entries(r))c[e]={get(){const n=g(this,m(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};c.visible={get(){const e=g(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const h=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of h)c[e]={get(){const{level:t}=this;return function(...n){const i=m(r.color[s[t]][e](...n),r.color.close,this._styler);return g(this,i,this._isEmpty)}}};for(const e of h){c["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const i=m(r.bgColor[s[t]][e](...n),r.bgColor.close,this._styler);return g(this,i,this._isEmpty)}}}}const v=Object.defineProperties(()=>{},{...c,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),m=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},g=(e,t,n)=>{const r=(...e)=>l(e[0])&&l(e[0].raw)?y(r,b(r,...e)):y(r,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(r,v),r._generator=e,r._styler=t,r._isEmpty=n,r},y=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(-1!==t.indexOf(""))for(;void 0!==n;)t=u(t,n.close,n.open),n=n.parent;const o=t.indexOf("\n");return-1!==o&&(t=a(t,i,r,o)),r+t+i};let _;const b=(e,...t)=>{const[r]=t;if(!l(r)||!l(r.raw))return t.join(" ");const i=t.slice(1),o=[r.raw[0]];for(let e=1;e{"use strict";const t=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,n=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,i=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function u(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function a(e,t){const n=[],o=t.trim().split(/\s*,\s*/g);let a;for(const t of o){const o=Number(t);if(Number.isNaN(o)){if(!(a=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(a[2].replace(i,(e,t,n)=>t?u(t):n))}else n.push(o)}return n}function l(e){n.lastIndex=0;const t=[];let r;for(;null!==(r=n.exec(e));){const e=r[1];if(r[2]){const n=a(e,r[2]);t.push([e].concat(n))}else t.push([e])}return t}function s(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error("Unknown Chalk style: "+e);r=t.length>0?r[e](...t):r[e]}return r}e.exports=(e,n)=>{const r=[],i=[];let o=[];if(n.replace(t,(t,n,a,c,f,d)=>{if(n)o.push(u(n));else if(c){const t=o.join("");o=[],i.push(0===r.length?t:s(e,r)(t)),r.push({inverse:a,styles:l(c)})}else if(f){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");i.push(s(e,r)(o.join(""))),o=[],r.pop()}else o.push(d)}),i.push(o.join("")),r.length>0){const e=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\`}\`)`;throw new Error(e)}return i.join("")}},6539:e=>{"use strict";e.exports={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let o=0,u="";do{u+=e.substr(o,r-o)+t+n,o=r+i,r=e.indexOf(t,o)}while(-1!==r);return u+=e.substr(o),u},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let i=0,o="";do{const u="\r"===e[r-1];o+=e.substr(i,(u?r-1:r)-i)+t+(u?"\r\n":"\n")+n,i=r+1,r=e.indexOf("\n",i)}while(-1!==r);return o+=e.substr(i),o}}},5864:(e,t,n)=>{"use strict";var r=n(5832),i=process.env;function o(e){return"string"==typeof e?!!i[e]:Object.keys(e).every((function(t){return i[t]===e[t]}))}Object.defineProperty(t,"_vendors",{value:r.map((function(e){return e.constant}))}),t.name=null,t.isPR=null,r.forEach((function(e){var n=(Array.isArray(e.env)?e.env:[e.env]).every((function(e){return o(e)}));if(t[e.constant]=n,n)switch(t.name=e.name,typeof e.pr){case"string":t.isPR=!!i[e.pr];break;case"object":"env"in e.pr?t.isPR=e.pr.env in i&&i[e.pr.env]!==e.pr.ne:"any"in e.pr?t.isPR=e.pr.any.some((function(e){return!!i[e]})):t.isPR=o(e.pr);break;default:t.isPR=null}})),t.isCI=!!(i.CI||i.CONTINUOUS_INTEGRATION||i.BUILD_NUMBER||i.RUN_ID||t.name)},5832:e=>{"use strict";e.exports=JSON.parse('[{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI","pr":"SYSTEM_PULLREQUEST_PULLREQUESTID"},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY_BUILD_BASE","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}}]')},4163:e=>{"use strict";e.exports=JSON.parse('{"single":{"topLeft":"┌","topRight":"┐","bottomRight":"┘","bottomLeft":"└","vertical":"│","horizontal":"─"},"double":{"topLeft":"╔","topRight":"╗","bottomRight":"╝","bottomLeft":"╚","vertical":"║","horizontal":"═"},"round":{"topLeft":"╭","topRight":"╮","bottomRight":"╯","bottomLeft":"╰","vertical":"│","horizontal":"─"},"bold":{"topLeft":"┏","topRight":"┓","bottomRight":"┛","bottomLeft":"┗","vertical":"┃","horizontal":"━"},"singleDouble":{"topLeft":"╓","topRight":"╖","bottomRight":"╜","bottomLeft":"╙","vertical":"║","horizontal":"─"},"doubleSingle":{"topLeft":"╒","topRight":"╕","bottomRight":"╛","bottomLeft":"╘","vertical":"│","horizontal":"═"},"classic":{"topLeft":"+","topRight":"+","bottomRight":"+","bottomLeft":"+","vertical":"|","horizontal":"-"}}')},4097:(e,t,n)=>{"use strict";const r=n(4163);e.exports=r,e.exports.default=r},1696:(e,t,n)=>{"use strict";const r=n(3390);let i=!1;t.show=(e=process.stderr)=>{e.isTTY&&(i=!1,e.write("[?25h"))},t.hide=(e=process.stderr)=>{e.isTTY&&(r(),i=!0,e.write("[?25l"))},t.toggle=(e,n)=>{void 0!==e&&(i=e),i?t.show(n):t.hide(n)}},5301:(e,t,n)=>{"use strict";const r=n(1566),i=n(5043);function o(e,t,n){if(" "===e.charAt(t))return t;for(let r=1;r<=3;r++)if(n){if(" "===e.charAt(t+r))return t+r}else if(" "===e.charAt(t-r))return t-r;return t}e.exports=(e,t,n)=>{n={position:"end",preferTruncationOnSpace:!1,...n};const{position:u,space:a,preferTruncationOnSpace:l}=n;let s="…",c=1;if("string"!=typeof e)throw new TypeError("Expected `input` to be a string, got "+typeof e);if("number"!=typeof t)throw new TypeError("Expected `columns` to be a number, got "+typeof t);if(t<1)return"";if(1===t)return s;const f=i(e);if(f<=t)return e;if("start"===u){if(l){const n=o(e,f-t+1,!0);return s+r(e,n,f).trim()}return!0===a&&(s+=" ",c=2),s+r(e,f-t+c,f)}if("middle"===u){!0===a&&(s=" "+s+" ",c=3);const n=Math.floor(t/2);if(l){const i=o(e,n),u=o(e,f-(t-n)+1,!0);return r(e,0,i)+s+r(e,u,f).trim()}return r(e,0,n)+s+r(e,f-(t-n)+c,f)}if("end"===u){if(l){const n=o(e,t-1);return r(e,0,n)+s}return!0===a&&(s=" "+s,c=2),r(e,0,t-c)+s}throw new Error("Expected `options.position` to be either `start`, `middle` or `end`, got "+u)}},9908:(e,t,n)=>{"use strict";const r=n(3287);e.exports=(e,t,n)=>{if("string"!=typeof e)throw new TypeError("Source code is missing.");if(!t||t<1)throw new TypeError("Line number must start from `1`.");if(!(t>(e=r(e).split(/\r?\n/)).length))return((e,t)=>{const n=[],r=e+t;for(let i=e-t;i<=r;i++)n.push(i);return n})(t,(n={around:3,...n}).around).filter(t=>void 0!==e[t-1]).map(t=>({line:t,value:e[t-1]}))}},5311:(e,t,n)=>{const r=n(3300),i={};for(const e of Object.keys(r))i[r[e]]=e;const o={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=o;for(const e of Object.keys(o)){if(!("channels"in o[e]))throw new Error("missing channels property: "+e);if(!("labels"in o[e]))throw new Error("missing channel labels property: "+e);if(o[e].labels.length!==o[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=o[e];delete o[e].channels,delete o[e].labels,Object.defineProperty(o[e],"channels",{value:t}),Object.defineProperty(o[e],"labels",{value:n})}o.rgb.hsl=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),o=Math.max(t,n,r),u=o-i;let a,l;o===i?a=0:t===o?a=(n-r)/u:n===o?a=2+(r-t)/u:r===o&&(a=4+(t-n)/u),a=Math.min(60*a,360),a<0&&(a+=360);const s=(i+o)/2;return l=o===i?0:s<=.5?u/(o+i):u/(2-o-i),[a,100*l,100*s]},o.rgb.hsv=function(e){let t,n,r,i,o;const u=e[0]/255,a=e[1]/255,l=e[2]/255,s=Math.max(u,a,l),c=s-Math.min(u,a,l),f=function(e){return(s-e)/6/c+.5};return 0===c?(i=0,o=0):(o=c/s,t=f(u),n=f(a),r=f(l),u===s?i=r-n:a===s?i=1/3+t-r:l===s&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*s]},o.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const i=o.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,100*u,100*r]},o.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r);return[100*((1-t-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-r-i)/(1-i)||0),100*i]},o.rgb.keyword=function(e){const t=i[e];if(t)return t;let n,o=1/0;for(const t of Object.keys(r)){const i=r[t],l=(a=i,((u=e)[0]-a[0])**2+(u[1]-a[1])**2+(u[2]-a[2])**2);l.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;return[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},o.rgb.lab=function(e){const t=o.rgb.xyz(e);let n=t[0],r=t[1],i=t[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*r-16,500*(n-r),200*(r-i)]},o.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let i,o,u;if(0===n)return u=255*r,[u,u,u];i=r<.5?r*(1+n):r+n-r*n;const a=2*r-i,l=[0,0,0];for(let e=0;e<3;e++)o=t+1/3*-(e-1),o<0&&o++,o>1&&o--,u=6*o<1?a+6*(i-a)*o:2*o<1?i:3*o<2?a+(i-a)*(2/3-o)*6:a,l[e]=255*u;return l},o.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,i=n;const o=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=o<=1?o:2-o;return[t,100*(0===r?2*i/(o+i):2*n/(r+n)),100*((r+n)/2)]},o.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const i=Math.floor(t)%6,o=t-Math.floor(t),u=255*r*(1-n),a=255*r*(1-n*o),l=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,l,u];case 1:return[a,r,u];case 2:return[u,r,l];case 3:return[u,a,r];case 4:return[l,u,r];case 5:return[r,u,a]}},o.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01);let o,u;u=(2-n)*r;const a=(2-n)*i;return o=n*i,o/=a<=1?a:2-a,o=o||0,u/=2,[t,100*o,100*u]},o.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const i=n+r;let o;i>1&&(n/=i,r/=i);const u=Math.floor(6*t),a=1-r;o=6*t-u,0!=(1&u)&&(o=1-o);const l=n+o*(a-n);let s,c,f;switch(u){default:case 6:case 0:s=a,c=l,f=n;break;case 1:s=l,c=a,f=n;break;case 2:s=n,c=a,f=l;break;case 3:s=n,c=l,f=a;break;case 4:s=l,c=n,f=a;break;case 5:s=a,c=n,f=l}return[255*s,255*c,255*f]},o.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100;return[255*(1-Math.min(1,t*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},o.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let i,o,u;return i=3.2406*t+-1.5372*n+-.4986*r,o=-.9689*t+1.8758*n+.0415*r,u=.0557*t+-.204*n+1.057*r,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),u=Math.min(Math.max(0,u),1),[255*i,255*o,255*u]},o.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;return[116*n-16,500*(t-n),200*(n-r)]},o.lab.xyz=function(e){let t,n,r;n=(e[0]+16)/116,t=e[1]/500+n,r=n-e[2]/200;const i=n**3,o=t**3,u=r**3;return n=i>.008856?i:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=u>.008856?u:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},o.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let i;i=360*Math.atan2(r,n)/2/Math.PI,i<0&&(i+=360);return[t,Math.sqrt(n*n+r*r),i]},o.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},o.rgb.ansi16=function(e,t=null){const[n,r,i]=e;let u=null===t?o.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),0===u)return 30;let a=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===u&&(a+=60),a},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},o.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},o.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},o.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map(e=>e+e).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},o.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),o=Math.min(Math.min(t,n),r),u=i-o;let a,l;return a=u<1?o/(1-u):0,l=u<=0?0:i===t?(n-r)/u%6:i===n?2+(r-t)/u:4+(t-n)/u,l/=6,l%=1,[360*l,100*u,100*a]},o.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},o.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},o.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const i=[0,0,0],o=t%1*6,u=o%1,a=1-u;let l=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=u,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=u;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=u,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return l=(1-n)*r,[255*(n*i[0]+l),255*(n*i[1]+l),255*(n*i[2]+l)]},o.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},o.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},o.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},o.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=function(e){return[0,0,e[0]]},o.gray.hsv=o.gray.hsl,o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2744:(e,t,n)=>{const r=n(5311),i=n(8577),o={};Object.keys(r).forEach(e=>{o[e]={},Object.defineProperty(o[e],"channels",{value:r[e].channels}),Object.defineProperty(o[e],"labels",{value:r[e].labels});const t=i(e);Object.keys(t).forEach(n=>{const r=t[n];o[e][n]=function(e){const t=function(...t){const n=t[0];if(null==n)return n;n.length>1&&(t=n);const r=e(t);if("object"==typeof r)for(let e=r.length,t=0;t1&&(t=n),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)})}),e.exports=o},8577:(e,t,n)=>{const r=n(5311);function i(e){const t=function(){const e={},t=Object.keys(r);for(let n=t.length,r=0;r{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},3287:e=>{"use strict";e.exports=(e,t)=>e.replace(/^\t+/gm,e=>" ".repeat(e.length*(t||2)))},1013:e=>{"use strict";e.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}},8759:e=>{"use strict";const t=/[|\\{}()[\]^$+*?.-]/g;e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(t,"\\$&")}},2918:e=>{"use strict";e.exports=(e,t=process.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r{"use strict";e.exports=(e,t=1,n)=>{if(n={indent:" ",includeEmptyLines:!1,...n},"string"!=typeof e)throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if("number"!=typeof t)throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if("string"!=typeof n.indent)throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof n.indent}\``);if(0===t)return e;const r=n.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(r,n.indent.repeat(t))}},2738:(e,t,n)=>{"use strict";e.exports=n(5864).isCI},7347:e=>{"use strict";const t=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));e.exports=t,e.exports.default=t},464:function(e,t,n){var r; +var plugin=(()=>{var PR=Object.create,J1=Object.defineProperty,MR=Object.defineProperties,FR=Object.getOwnPropertyDescriptor,LR=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertyNames,hh=Object.getOwnPropertySymbols,NR=Object.getPrototypeOf,Z4=Object.prototype.hasOwnProperty,aD=Object.prototype.propertyIsEnumerable;var dD=(i,u,f)=>u in i?J1(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,dt=(i,u)=>{for(var f in u||(u={}))Z4.call(u,f)&&dD(i,f,u[f]);if(hh)for(var f of hh(u))aD.call(u,f)&&dD(i,f,u[f]);return i},zn=(i,u)=>MR(i,LR(u)),BR=i=>J1(i,"__esModule",{value:!0});var Si=(i,u)=>{var f={};for(var c in i)Z4.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&hh)for(var c of hh(i))u.indexOf(c)<0&&aD.call(i,c)&&(f[c]=i[c]);return f};var Me=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),jR=(i,u)=>{for(var f in u)J1(i,f,{get:u[f],enumerable:!0})},UR=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of RR(u))!Z4.call(i,c)&&c!=="default"&&J1(i,c,{get:()=>u[c],enumerable:!(f=FR(u,c))||f.enumerable});return i},Er=i=>UR(BR(J1(i!=null?PR(NR(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ey=Me((YH,pD)=>{"use strict";var hD=Object.getOwnPropertySymbols,qR=Object.prototype.hasOwnProperty,zR=Object.prototype.propertyIsEnumerable;function WR(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var c=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(c.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}pD.exports=HR()?Object.assign:function(i,u){for(var f,c=WR(i),g,t=1;t{"use strict";var ty=ey(),as=typeof Symbol=="function"&&Symbol.for,Q1=as?Symbol.for("react.element"):60103,bR=as?Symbol.for("react.portal"):60106,GR=as?Symbol.for("react.fragment"):60107,VR=as?Symbol.for("react.strict_mode"):60108,YR=as?Symbol.for("react.profiler"):60114,$R=as?Symbol.for("react.provider"):60109,KR=as?Symbol.for("react.context"):60110,XR=as?Symbol.for("react.forward_ref"):60112,JR=as?Symbol.for("react.suspense"):60113,QR=as?Symbol.for("react.memo"):60115,ZR=as?Symbol.for("react.lazy"):60116,mD=typeof Symbol=="function"&&Symbol.iterator;function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fmh.length&&mh.push(i)}function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case Q1:case bR:t=!0}}if(t)return f(c,i,u===""?"."+sy(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var C=0;C{"use strict";kD.exports=xD()});var AD=Me((ga,e2)=>{(function(){var i,u="4.17.21",f=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",A=500,x="__lodash_placeholder__",D=1,L=2,N=4,j=1,$=2,h=1,re=2,ce=4,Q=8,oe=16,Se=32,me=64,De=128,J=256,Te=512,Oe=30,Le="...",ot=800,ct=16,Ue=1,be=2,At=3,Ot=1/0,Nt=9007199254740991,Je=17976931348623157e292,V=0/0,ne=4294967295,ge=ne-1,Z=ne>>>1,Ae=[["ary",De],["bind",h],["bindKey",re],["curry",Q],["curryRight",oe],["flip",Te],["partial",Se],["partialRight",me],["rearg",J]],at="[object Arguments]",it="[object Array]",Ft="[object AsyncFunction]",jt="[object Boolean]",hn="[object Date]",Un="[object DOMException]",Jt="[object Error]",Yt="[object Function]",cr="[object GeneratorFunction]",w="[object Map]",pt="[object Number]",Mn="[object Null]",Bn="[object Object]",Xn="[object Promise]",vr="[object Proxy]",gr="[object RegExp]",r0="[object Set]",Ci="[object String]",yo="[object Symbol]",Ds="[object Undefined]",Mu="[object WeakMap]",Gf="[object WeakSet]",iu="[object ArrayBuffer]",ou="[object DataView]",ol="[object Float32Array]",ul="[object Float64Array]",Es="[object Int8Array]",Uo="[object Int16Array]",sl="[object Int32Array]",Ss="[object Uint8Array]",Cs="[object Uint8ClampedArray]",Ti="[object Uint16Array]",Fu="[object Uint32Array]",ll=/\b__p \+= '';/g,fl=/\b(__p \+=) '' \+/g,cl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,al=/&(?:amp|lt|gt|quot|#39);/g,Ui=/[&<>"']/g,Mr=RegExp(al.source),Ac=RegExp(Ui.source),of=/<%-([\s\S]+?)%>/g,Ts=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,dl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qi=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Fr=RegExp(kr.source),si=/^\s+/,H0=/\s/,b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,c0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ru=/[()=,{}\[\]\/\s]/,ks=/\\(\\)?/g,As=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,uu=/\w*$/,wo=/^[-+]0x[0-9a-f]+$/i,zo=/^0b[01]+$/i,Os=/^\[object .+?Constructor\]$/,Is=/^0o[0-7]+$/i,uf=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nu=/($^)/,Wo=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Ps="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",Vf="\\u20d0-\\u20ff",hl=Ps+pl+Vf,Bu="\\u2700-\\u27bf",ju="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",ro="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",ml=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Uu="A-Z\\xc0-\\xd6\\xd8-\\xde",G0="\\ufe0e\\ufe0f",Fs=sf+ro+Ms+ml,tt="['\u2019]",zi="["+su+"]",lu="["+Fs+"]",Ho="["+hl+"]",O0="\\d+",vl="["+Bu+"]",gl="["+ju+"]",fu="[^"+su+Fs+O0+Bu+ju+Uu+"]",_l="\\ud83c[\\udffb-\\udfff]",Sn="(?:"+Ho+"|"+_l+")",gt="[^"+su+"]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",li="["+Uu+"]",qu="\\u200d",Wi="(?:"+gl+"|"+fu+")",zu="(?:"+li+"|"+fu+")",Wu="(?:"+tt+"(?:d|ll|m|re|s|t|ve))?",Ls="(?:"+tt+"(?:D|LL|M|RE|S|T|VE))?",fi=Sn+"?",e0="["+G0+"]?",io="(?:"+qu+"(?:"+[gt,en,I0].join("|")+")"+e0+fi+")*",D0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",i0=e0+fi+io,Rs="(?:"+[vl,en,I0].join("|")+")"+i0,a0="(?:"+[gt+Ho+"?",Ho,en,I0,zi].join("|")+")",Hu=RegExp(tt,"g"),V0=RegExp(Ho,"g"),bu=RegExp(_l+"(?="+_l+")|"+a0+i0,"g"),Ns=RegExp([li+"?"+gl+"+"+Wu+"(?="+[lu,li,"$"].join("|")+")",zu+"+"+Ls+"(?="+[lu,li+Wi,"$"].join("|")+")",li+"?"+Wi+"+"+Wu,li+"+"+Ls,Do,D0,O0,Rs].join("|"),"g"),bo=RegExp("["+qu+su+hl+G0+"]"),P0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lf=-1,nr={};nr[ol]=nr[ul]=nr[Es]=nr[Uo]=nr[sl]=nr[Ss]=nr[Cs]=nr[Ti]=nr[Fu]=!0,nr[at]=nr[it]=nr[iu]=nr[jt]=nr[ou]=nr[hn]=nr[Jt]=nr[Yt]=nr[w]=nr[pt]=nr[Bn]=nr[gr]=nr[r0]=nr[Ci]=nr[Mu]=!1;var rr={};rr[at]=rr[it]=rr[iu]=rr[ou]=rr[jt]=rr[hn]=rr[ol]=rr[ul]=rr[Es]=rr[Uo]=rr[sl]=rr[w]=rr[pt]=rr[Bn]=rr[gr]=rr[r0]=rr[Ci]=rr[yo]=rr[Ss]=rr[Cs]=rr[Ti]=rr[Fu]=!0,rr[Jt]=rr[Yt]=rr[Mu]=!1;var Go={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Gu={"&":"&","<":"<",">":">",'"':""","'":"'"},yl={"&":"&","<":"<",">":">",""":'"',"'":"'"},cu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Bs=parseFloat,Vu=parseInt,M0=typeof global=="object"&&global&&global.Object===Object&&global,au=typeof self=="object"&&self&&self.Object===Object&&self,Lr=M0||au||Function("return this")(),F=typeof ga=="object"&&ga&&!ga.nodeType&&ga,R=F&&typeof e2=="object"&&e2&&!e2.nodeType&&e2,U=R&&R.exports===F,H=U&&M0.process,fe=function(){try{var ae=R&&R.require&&R.require("util").types;return ae||H&&H.binding&&H.binding("util")}catch(Be){}}(),ue=fe&&fe.isArrayBuffer,de=fe&&fe.isDate,W=fe&&fe.isMap,ve=fe&&fe.isRegExp,Fe=fe&&fe.isSet,Ge=fe&&fe.isTypedArray;function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:return ae.call(Be,Ie[0]);case 2:return ae.call(Be,Ie[0],Ie[1]);case 3:return ae.call(Be,Ie[0],Ie[1],Ie[2])}return ae.apply(Be,Ie)}function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt-1}function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht-1;);return Ie}function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);return Ie}function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;return ht}var du=Cn(Go),Yu=Cn(Gu);function Us(ae){return"\\"+cu[ae]}function oo(ae,Be){return ae==null?i:ae[Be]}function Hi(ae){return bo.test(ae)}function qs(ae){return P0.test(ae)}function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value);return Ie}function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht,mt){Ie[++Be]=[mt,ht]}),Ie}function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie-1}function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E.push([a,p])):E[I][1]=p,this}Z0.prototype.clear=df,Z0.prototype.delete=Ba,Z0.prototype.get=Oc,Z0.prototype.has=mu,Z0.prototype.set=Ju;function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p=p?a:p)),a}function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B,G):E(a)),te!==i)return te;if(!Jr(a))return a;var Ke=On(a);if(Ke){if(te=f1(a),!se)return Xr(a,te)}else{var nt=U0(a),Ct=nt==Yt||nt==cr;if(Eu(a))return Od(a,se);if(nt==Bn||nt==at||Ct&&!B){if(te=Ee||Ct?{}:zd(a),!se)return Ee?Zu(a,Wa(te,a)):j0(a,mf(te,a))}else{if(!rr[nt])return B?a:{};te=Wd(a,nt,se)}}G||(G=new co);var Gt=G.get(a);if(Gt)return Gt;G.set(a,te),kp(a)?a.forEach(function(dn){te.add(vi(dn,p,E,dn,a,G))}):Tp(a)&&a.forEach(function(dn,Yn){te.set(Yn,vi(dn,p,E,Yn,a,G))});var an=$e?Ee?Dn:r1:Ee?Yi:q0,qn=Ke?i:an(a);return je(qn||a,function(dn,Yn){qn&&(Yn=dn,dn=a[Yn]),xl(te,Yn,vi(dn,p,E,Yn,a,G))}),te}function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){var B=E[I],G=p[B],te=a[B];if(te===i&&!(B in a)||!G(te))return!1}return!0}function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(function(){a.apply(i,E)},p)}function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;if(!se)return Ee;E&&(p=lt(p,qr(E))),I?(G=wt,te=!1):p.length>=f&&(G=So,te=!1,p=new vu(p));e:for(;++BB?0:B+E),I=I===i||I>B?B:jn(I),I<0&&(I+=B),I=E>I?0:Ip(I);E0&&E(se)?p>1?k0(se,p-1,E,I,B):Rt(B,se):I||(B[B.length]=se)}return B}var v=ec(),m=ec(!0);function S(a,p){return a&&v(a,p,q0)}function O(a,p){return a&&m(a,p,q0)}function M(a,p){return st(p,function(E){return rs(a[E])})}function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&Ep}function ut(a,p){return a!=null&&or.call(a,p)}function In(a,p){return a!=null&&p in $t(a)}function A0(a,p,E){return a>=kn(p,E)&&a=120&&Ke.length>=120)?new vu(te&&Ke):i}Ke=a[0];var nt=-1,Ct=se[0];e:for(;++nt-1;)se!==a&&C0.call(se,Ee,1),C0.call(a,Ee,1);return a}function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||B!==G){var G=B;es(B)?C0.call(a,B,1):$a(a,B)}}return a}function Ga(a,p){return a+hu(Ai()*(p-a+1))}function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;)te[I?G:++B]=a,a+=E;return te}function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(p/2),p&&(a+=a);while(p);return E}function Wn(a,p){return m1(Gd(a,p,$i),a+"")}function wd(a){return Fc(Ef(a))}function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.length,te=G-1,se=a;se!=null&&++BB?0:B+p),E=E>B?B:E,E<0&&(E+=B),B=p>E?0:E-p>>>0,p>>>=0;for(var G=Ie(B);++I>>1,te=a[G];te!==null&&!mo(te)&&(E?te<=p:te=f){var $e=p?null:bm(a);if($e)return Y0($e);te=!1,B=So,Ee=new vu}else Ee=p?[]:se;e:for(;++I=I?a:Oo(a,p,E)}var Ad=pu||function(a){return Lr.clearTimeout(a)};function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.constructor(E);return a.copy(I),I}function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).set(new R0(a)),p}function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.byteLength)}function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.lastIndex=a.lastIndex,p}function qm(a){return Wr?$t(Wr.call(a)):{}}function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.length)}function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!==i,se=p===null,Ee=p===p,$e=mo(p);if(!se&&!$e&&!G&&a>p||G&&te&&Ee&&!se&&!$e||I&&te&&Ee||!E&&Ee||!B)return 1;if(!I&&!G&&!$e&&a=se)return Ee;var $e=E[I];return Ee*($e=="desc"?-1:1)}}return a.index-p.index}function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.length,$e=wr(G-te,0),Ke=Ie(Ee+$e),nt=!I;++se1?E[B-1]:i,te=B>2?E[2]:i;for(G=a.length>3&&typeof G=="function"?(B--,G):i,te&&Ii(E[0],E[1],te)&&(G=B<3?i:G,B=1),p=$t(p);++I-1?B[G?p[te]:te]:i}}function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.thru;for(a&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Yr(g);if(B&&!te&&Gc(G)=="wrapper")var te=new Qn([],!0)}for(I=te?I:E;++I1&&er.reverse(),Ke&&Eese))return!1;var $e=G.get(a),Ke=G.get(p);if($e&&Ke)return $e==p&&Ke==a;var nt=-1,Ct=!0,Gt=E&$?new vu:i;for(G.set(a,p),G.set(p,a);++nt1?"& ":"")+p[I],p=p.join(E>2?", ":" "),a.replace(b0,`{ +/* [wrapped with `+p+`] */ +`)}function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"||E!="symbol"&&uf.test(a))&&a>-1&&a%1==0&&a0){if(++p>=ot)return arguments[0]}else p=0;return a.apply(i,arguments)}}function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E1?a[p-1]:i;return E=typeof E=="function"?(a.pop(),E):i,sp(a,E)});function fp(a){var p=z(a);return p.__chain__=!0,p}function cp(a,p){return p(a),a}function Kc(a,p){return p(a)}var Wv=yu(function(a){var p=a.length,E=p?a[0]:0,I=this.__wrapped__,B=function(G){return Hs(G,a)};return p>1||this.__actions__.length||!(I instanceof nn)||!es(E)?this.thru(B):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Kc,args:[B],thisArg:i}),new Qn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Hv(){return fp(this)}function bv(){return new Qn(this.value(),this.__chain__)}function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));var a=this.__index__>=this.__values__.length,p=a?i:this.__values__[this.__index__++];return{done:a,value:p}}function Vv(){return this}function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index__=0,I.__values__=i,p?B.__wrapped__=I:p=I;var B=I;E=E.__wrapped__}return B.__wrapped__=a,p}function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return this.__actions__.length&&(p=new nn(this)),p=p.reverse(),p.__actions__.push({func:Kc,args:[g1],thisArg:i}),new Qn(p,this.__chain__)}return this.thru(g1)}function Fl(){return xd(this.__wrapped__,this.__actions__)}var Xc=_f(function(a,p,E){or.call(a,E)?++a[E]:ti(a,E,1)});function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}var Xv=Ld(Qd),D1=Ld($c);function Jv(a,p){return k0(Jc(a,p),1)}function Qv(a,p){return k0(Jc(a,p),Ot)}function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}var Zv=_f(function(a,p,E){or.call(a,E)?a[E].push(p):ti(a,E,[p])});function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;return E<0&&(E=wr(B+E,0)),ia(a)?E<=B&&a.indexOf(p,E)>-1:!!B&&Qe(a,p,E)>-1}var tg=Wn(function(a,p,E){var I=-1,B=typeof p=="function",G=Vi(a)?Ie(a.length):[];return $o(a,function(te){G[++I]=B?K(p,te,E):po(te,p,E)}),G}),hp=_f(function(a,p,E){ti(a,E,p)});function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:E,On(E)||(E=E==null?[]:[E]),Oi(a,p,E))}var rg=_f(function(a,p,E){a[E?0:1].push(p)},function(){return[[],[]]});function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,$o)}function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,kl)}function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}function ug(a){var p=On(a)?Fc:wd;return p(a)}function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;return I(a,p)}function lg(a){var p=On(a)?Kf:Ao;return p(a)}function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;var p=U0(a);return p==w||p==r0?a.size:Zf(a).length}function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}var cg=Wn(function(a,p){if(a==null)return[];var E=p.length;return E>1&&Ii(a,p[0],p[1])?p=[]:E>2&&Ii(p[0],p[1],p[2])&&(p=[p[0]]),Oi(a,k0(p,1),[])}),rc=Sl||function(){return Lr.Date.now()};function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){if(--a<1)return p.apply(this,arguments)}}function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,i,p)}function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){return--a>0&&(E=p.apply(this,arguments)),a<=1&&(p=i),E}}var S1=Wn(function(a,p,E){var I=h;if(E.length){var B=L0(E,An(S1));I|=Se}return Lt(a,I,p,E,B)}),_p=Wn(function(a,p,E){var I=h|re;if(E.length){var B=L0(E,An(_p));I|=Se}return Lt(p,I,a,E,B)});function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholder=C1.placeholder,I}function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a!="function")throw new Yr(g);p=Fo(p)||0,Jr(E)&&(Ke=!!E.leading,nt="maxWait"in E,G=nt?wr(Fo(E.maxWait)||0,p):G,Ct="trailing"in E?!!E.trailing:Ct);function Gt(f0){var Jo=I,Su=B;return I=B=i,$e=f0,te=a.apply(Su,Jo),te}function an(f0){return $e=f0,se=wf(Yn,p),Ke?Gt(f0):te}function qn(f0){var Jo=f0-Ee,Su=f0-$e,Zp=p-Jo;return nt?kn(Zp,G-Su):Zp}function dn(f0){var Jo=f0-Ee,Su=f0-$e;return Ee===i||Jo>=p||Jo<0||nt&&Su>=G}function Yn(){var f0=rc();if(dn(f0))return er(f0);se=wf(Yn,qn(f0))}function er(f0){return se=i,Ct&&I?Gt(f0):(I=B=i,te)}function vo(){se!==i&&Ad(se),$e=0,I=Ee=B=se=i}function Pi(){return se===i?te:er(rc())}function Mi(){var f0=rc(),Jo=dn(f0);if(I=arguments,B=this,Ee=f0,Jo){if(se===i)return an(Ee);if(nt)return Ad(se),se=wf(Yn,p),Gt(Ee)}return se===i&&(se=wf(Yn,p)),te}return Mi.cancel=vo,Mi.flush=Pi,Mi}var dg=Wn(function(a,p){return Jf(a,1,p)}),Dp=Wn(function(a,p,E){return Jf(a,Fo(p)||0,E)});function pg(a){return Lt(a,Te)}function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")throw new Yr(g);var E=function(){var I=arguments,B=p?p.apply(this,I):I[0],G=E.cache;if(G.has(B))return G.get(B);var te=a.apply(this,I);return E.cache=G.set(B,te)||G,te};return E.cache=new(Qc.Cache||ei),E}Qc.Cache=ei;function Zc(a){if(typeof a!="function")throw new Yr(g);return function(){var p=arguments;switch(p.length){case 0:return!a.call(this);case 1:return!a.call(this,p[0]);case 2:return!a.call(this,p[0],p[1]);case 3:return!a.call(this,p[0],p[1],p[2])}return!a.apply(this,p)}}function ea(a){return gp(2,a)}var hg=Bm(function(a,p){p=p.length==1&&On(p[0])?lt(p[0],qr(cn())):lt(k0(p,1),qr(cn()));var E=p.length;return Wn(function(I){for(var B=-1,G=kn(I.length,E);++B=p}),Ll=_i(function(){return arguments}())?_i:function(a){return n0(a)&&or.call(a,"callee")&&!N0.call(a,"callee")},On=Ie.isArray,x1=ue?qr(ue):Re;function Vi(a){return a!=null&&na(a.length)&&!rs(a)}function l0(a){return n0(a)&&Vi(a)}function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}var Eu=pi||W1,Ag=de?qr(de):Ce;function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"||typeof a.splice=="function"||Eu(a)||Df(a)||Ll(a)))return!a.length;var p=U0(a);if(p==w||p==r0)return!a.size;if(nc(a))return!Zf(a).length;for(var E in a)if(or.call(a,E))return!1;return!0}function Ig(a,p){return ze(a,p)}function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I===i?ze(a,p,i,E):!!I}function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeof a.message=="string"&&typeof a.name=="string"&&!ic(a)}function Mg(a){return typeof a=="number"&&Br(a)}function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft||p==vr}function A1(a){return typeof a=="number"&&a==jn(a)}function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}function n0(a){return a!=null&&typeof a=="object"}var Tp=W?qr(W):on;function Fg(a,p){return a===p||sr(a,p,Nn(p))}function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}function Rg(a){return xp(a)&&a!=+a}function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}function Bg(a){return a===null}function O1(a){return a==null}function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)return!0;var E=or.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&bi.call(E)==af}var ra=ve?qr(ve):pr;function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}var kp=Fe?qr(Fe):Hr;function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}var Df=Ge?qr(Ge):Vn;function Ap(a){return a===i}function Ug(a){return n0(a)&&U0(a)==Mu}function qg(a){return n0(a)&&Ye(a)==Gf}var zg=bc(Ha),Wg=bc(function(a,p){return a<=p});function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a[u0])return F0(a[u0]());var p=U0(a),E=p==w?Gr:p==r0?Y0:Ef;return E(a)}function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=a<0?-1:1;return p*Je}return a===a?a:0}function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}function Ip(a){return a?mi(jn(a),0,ne):0}function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)){var p=typeof a.valueOf=="function"?a.valueOf():a;a=Jr(p)?p+"":p}if(typeof a!="string")return a===0?a:+a;a=E0(a);var E=zo.test(a);return E||Is.test(a)?Vu(a.slice(2),E?2:8):wo.test(a)?V:+a}function oa(a){return yi(a,Yi(a))}function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}function yr(a){return a==null?"":ho(a)}var Pp=Io(function(a,p){if(nc(p)||Vi(p)){yi(p,q0(p),a);return}for(var E in p)or.call(p,E)&&xl(a,E,p[E])}),Mp=Io(function(a,p){yi(p,Yi(p),a)}),ua=Io(function(a,p,E,I){yi(p,Yi(p),a,I)}),bg=Io(function(a,p,E,I){yi(p,q0(p),a,I)}),Gg=yu(Hs);function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}var Fp=Wn(function(a,p){a=$t(a);var E=-1,I=p.length,B=I>2?p[2]:i;for(B&&Ii(p[0],p[1],B)&&(I=1);++E1),G}),yi(a,Dn(a),E),I&&(E=vi(E,D|L|N,Gm));for(var B=p.length;B--;)$a(E,p[B]);return E});function l_(a,p){return Bp(a,Zc(cn(p)))}var f_=yu(function(a,p){return a==null?{}:Fm(a,p)});function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I]});return p=cn(p),yd(a,E,function(I,B){return p(I,B[0])})}function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++Ip){var I=a;a=p,p=I}if(E||a%1||p%1){var B=Ai();return kn(a+B*(p-a+Bs("1e-"+((B+"").length-1))),p)}return Ga(a,p)}var __=yf(function(a,p,E){return p=p.toLowerCase(),a+(E?Wp(p):p)});function Wp(a){return L1(yr(a).toLowerCase())}function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I);var B=E;return E-=p.length,E>=0&&a.slice(E,B)==p}function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}var D_=yf(function(a,p,E){return a+(E?"-":"")+p.toLowerCase()}),bp=yf(function(a,p,E){return a+(E?" ":"")+p.toLowerCase()}),E_=Fd("toLowerCase");function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;var B=(p-I)/2;return Hc(hu(B),E)+a+Hc(B0(B),E)}function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I>>0,E?(a=yr(a),a&&(typeof p=="string"||p!=null&&!ra(p))&&(p=ho(p),!p&&Hi(a))?Vs(Jn(a),0,E):a.split(p,E)):[]}var I_=yf(function(a,p,E){return a+(E?" ":"")+L1(p)});function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(p),a.slice(E,E+p.length)==p}function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),p=ua({},p,I,n1);var B=ua({},p.imports,I.imports,n1),G=q0(B),te=Eo(B,G),se,Ee,$e=0,Ke=p.interpolate||Nu,nt="__p += '",Ct=X0((p.escape||Nu).source+"|"+Ke.source+"|"+(Ke===xs?As:Nu).source+"|"+(p.evaluate||Nu).source+"|$","g"),Gt="//# sourceURL="+(or.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lf+"]")+` +`;a.replace(Ct,function(dn,Yn,er,vo,Pi,Mi){return er||(er=vo),nt+=a.slice($e,Mi).replace(Wo,Us),Yn&&(se=!0,nt+=`' + +__e(`+Yn+`) + +'`),Pi&&(Ee=!0,nt+=`'; +`+Pi+`; +__p += '`),er&&(nt+=`' + +((__t = (`+er+`)) == null ? '' : __t) + +'`),$e=Mi+dn.length,dn}),nt+=`'; +`;var an=or.call(p,"variable")&&p.variable;if(!an)nt=`with (obj) { +`+nt+` +} +`;else if(Ru.test(an))throw new mt(t);nt=(Ee?nt.replace(ll,""):nt).replace(fl,"$1").replace(cl,"$1;"),nt="function("+(an||"obj")+`) { +`+(an?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(se?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+nt+`return __p +}`;var qn=$p(function(){return wn(G,Gt+"return "+nt).apply(i,te)});if(qn.source=nt,k1(qn))throw qn;return qn}function F_(a){return yr(a).toLowerCase()}function L_(a){return yr(a).toUpperCase()}function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=Jn(p),G=wl(I,B),te=js(I,B)+1;return Vs(I,G,te).join("")}function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=js(I,Jn(p))+1;return Vs(I,0,B).join("")}function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!a||!(p=ho(p)))return a;var I=Jn(a),B=wl(I,Jn(p));return Vs(I,B).join("")}function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separator:B;E="length"in p?jn(p.length):E,I="omission"in p?ho(p.omission):I}a=yr(a);var G=a.length;if(Hi(a)){var te=Jn(a);G=te.length}if(E>=G)return a;var se=E-Rr(I);if(se<1)return I;var Ee=te?Vs(te,0,se).join(""):a.slice(0,se);if(B===i)return Ee+I;if(te&&(se+=Ee.length-se),ra(B)){if(a.slice(se).search(B)){var $e,Ke=Ee;for(B.global||(B=X0(B.source,yr(uu.exec(B))+"g")),B.lastIndex=0;$e=B.exec(Ke);)var nt=$e.index;Ee=Ee.slice(0,nt===i?se:nt)}}else if(a.indexOf(ho(B),se)!=se){var Ct=Ee.lastIndexOf(B);Ct>-1&&(Ee=Ee.slice(0,Ct))}return Ee+I}function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}var j_=yf(function(a,p,E){return a+(E?" ":"")+p.toUpperCase()}),L1=Fd("toUpperCase");function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.match(p)||[]}var $p=Wn(function(a,p){try{return K(a,i,p)}catch(E){return k1(E)?E:new mt(E)}}),U_=yu(function(a,p){return je(p,function(E){E=Xo(E),ti(a,E,S1(a[E],a))}),a});function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(I){if(typeof I[1]!="function")throw new Yr(g);return[E(I[0]),I[1]]}):[],Wn(function(I){for(var B=-1;++BNt)return[];var E=ne,I=kn(a,ne);p=cn(p),a-=ne;for(var B=ci(I,p);++E0||p<0)?new nn(E):(a<0?E=E.takeRight(-a):a&&(E=E.drop(a)),p!==i&&(p=jn(p),E=p<0?E.dropRight(-p):E.take(p-a)),E)},nn.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},nn.prototype.toArray=function(){return this.take(ne)},S(nn.prototype,function(a,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),B=z[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!B||(z.prototype[p]=function(){var te=this.__wrapped__,se=I?[1]:arguments,Ee=te instanceof nn,$e=se[0],Ke=Ee||On(te),nt=function(Yn){var er=B.apply(z,Rt([Yn],se));return I&&Ct?er[0]:er};Ke&&E&&typeof $e=="function"&&$e.length!=1&&(Ee=Ke=!1);var Ct=this.__chain__,Gt=!!this.__actions__.length,an=G&&!Ct,qn=Ee&&!Gt;if(!G&&Ke){te=qn?te:new nn(this);var dn=a.apply(te,se);return dn.__actions__.push({func:Kc,args:[nt],thisArg:i}),new Qn(dn,Ct)}return an&&qn?a.apply(this,se):(dn=this.thru(nt),an?I?dn.value()[0]:dn.value():dn)})}),je(["pop","push","shift","sort","splice","unshift"],function(a){var p=$r[a],E=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",I=/^(?:pop|shift)$/.test(a);z.prototype[a]=function(){var B=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(On(G)?G:[],B)}return this[E](function(te){return p.apply(On(te)?te:[],B)})}}),S(nn.prototype,function(a,p){var E=z[p];if(E){var I=E.name+"";or.call(bt,I)||(bt[I]=[]),bt[I].push({name:p,func:E})}}),bt[zc(i,re).name]=[{name:"wrapper",func:i}],nn.prototype.clone=s0,nn.prototype.reverse=t0,nn.prototype.value=g0,z.prototype.at=Wv,z.prototype.chain=Hv,z.prototype.commit=bv,z.prototype.next=Gv,z.prototype.plant=Yv,z.prototype.reverse=Ml,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=Fl,z.prototype.first=z.prototype.head,u0&&(z.prototype[u0]=Vv),z},K0=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Lr._=K0,define(function(){return K0})):R?((R.exports=K0)._=K0,F._=K0):Lr._=K0}).call(ga)});var ay=Me((XH,cy)=>{"use strict";var fr=cy.exports;cy.exports.default=fr;var Pr="[",t2="]",ya="\x07",vh=";",OD=process.env.TERM_PROGRAM==="Apple_Terminal";fr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Pr+(i+1)+"G":Pr+(u+1)+";"+(i+1)+"H"};fr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Pr+-i+"D":i>0&&(f+=Pr+i+"C"),u<0?f+=Pr+-u+"A":u>0&&(f+=Pr+u+"B"),f};fr.cursorUp=(i=1)=>Pr+i+"A";fr.cursorDown=(i=1)=>Pr+i+"B";fr.cursorForward=(i=1)=>Pr+i+"C";fr.cursorBackward=(i=1)=>Pr+i+"D";fr.cursorLeft=Pr+"G";fr.cursorSavePosition=OD?"7":Pr+"s";fr.cursorRestorePosition=OD?"8":Pr+"u";fr.cursorGetPosition=Pr+"6n";fr.cursorNextLine=Pr+"E";fr.cursorPrevLine=Pr+"F";fr.cursorHide=Pr+"?25l";fr.cursorShow=Pr+"?25h";fr.eraseLines=i=>{let u="";for(let f=0;f[t2,"8",vh,vh,u,ya,i,t2,"8",vh,vh,ya].join("");fr.image=(i,u={})=>{let f=`${t2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+ya};fr.iTerm={setCwd:(i=process.cwd())=>`${t2}50;CurrentDir=${i}${ya}`,annotation:(i,u={})=>{let f=`${t2}1337;`,c=typeof u.x!="undefined",g=typeof u.y!="undefined";if((c||g)&&!(c&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(c?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+ya}}});var PD=Me((JH,dy)=>{"use strict";var ID=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};dy.exports=ID;dy.exports.default=ID});var FD=Me((QH,gh)=>{"use strict";var oN=PD(),_h=new WeakMap,MD=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,c=!1,g=0,t=i.displayName||i.name||"",C=function(...A){if(_h.set(C,++g),c){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return c=!0,f=i.apply(this,A),i=null,f};return oN(C,i),_h.set(C,g),C};gh.exports=MD;gh.exports.default=MD;gh.exports.callCount=i=>{if(!_h.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return _h.get(i)}});var LD=Me((ZH,yh)=>{yh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&yh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var vy=Me((eb,n2)=>{var uN=require("assert"),r2=LD(),sN=/^win/i.test(process.platform),wh=require("events");typeof wh!="function"&&(wh=wh.EventEmitter);var Bi;process.__signal_exit_emitter__?Bi=process.__signal_exit_emitter__:(Bi=process.__signal_exit_emitter__=new wh,Bi.count=0,Bi.emitted={});Bi.infinite||(Bi.setMaxListeners(Infinity),Bi.infinite=!0);n2.exports=function(i,u){uN.equal(typeof i,"function","a callback must be provided for exit handler"),i2===!1&&RD();var f="exit";u&&u.alwaysLast&&(f="afterexit");var c=function(){Bi.removeListener(f,i),Bi.listeners("exit").length===0&&Bi.listeners("afterexit").length===0&&py()};return Bi.on(f,i),c};n2.exports.unload=py;function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListener(i,hy[i])}catch(u){}}),process.emit=my,process.reallyExit=ND,Bi.count-=1)}function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}var hy={};r2.forEach(function(i){hy[i]=function(){var f=process.listeners(i);f.length===Bi.count&&(py(),wa("exit",null,i),wa("afterexit",null,i),sN&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});n2.exports.signals=function(){return r2};n2.exports.load=RD;var i2=!1;function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return process.on(i,hy[i]),!0}catch(u){return!1}}),process.emit=fN,process.reallyExit=lN)}var ND=process.reallyExit;function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),ND.call(process,process.exitCode)}var my=process.emit;function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=my.apply(this,arguments);return wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),f}else return my.apply(this,arguments)}});var jD=Me((tb,BD)=>{"use strict";var cN=FD(),aN=vy();BD.exports=cN(()=>{aN(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var gy=Me(Da=>{"use strict";var dN=jD(),Dh=!1;Da.show=(i=process.stderr)=>{!i.isTTY||(Dh=!1,i.write("[?25h"))};Da.hide=(i=process.stderr)=>{!i.isTTY||(dN(),Dh=!0,i.write("[?25l"))};Da.toggle=(i,u)=>{i!==void 0&&(Dh=i),Dh?Da.show(u):Da.hide(u)}});var WD=Me(o2=>{"use strict";var UD=o2&&o2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(o2,"__esModule",{value:!0});var qD=UD(ay()),zD=UD(gy()),pN=(i,{showCursor:u=!1}={})=>{let f=0,c="",g=!1,t=C=>{!u&&!g&&(zD.default.hide(),g=!0);let A=C+` +`;A!==c&&(c=A,i.write(qD.default.eraseLines(f)+A),f=A.split(` +`).length)};return t.clear=()=>{i.write(qD.default.eraseLines(f)),c="",f=0},t.done=()=>{c="",f=0,u||(zD.default.show(),g=!1)},t};o2.default={create:pN}});var bD=Me((ib,HD)=>{HD.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var YD=Me(ru=>{"use strict";var GD=bD(),nl=process.env;Object.defineProperty(ru,"_vendors",{value:GD.map(function(i){return i.constant})});ru.name=null;ru.isPR=null;GD.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(c){return VD(c)});if(ru[i.constant]=f,f)switch(ru.name=i.name,typeof i.pr){case"string":ru.isPR=!!nl[i.pr];break;case"object":"env"in i.pr?ru.isPR=i.pr.env in nl&&nl[i.pr.env]!==i.pr.ne:"any"in i.pr?ru.isPR=i.pr.any.some(function(c){return!!nl[c]}):ru.isPR=VD(i.pr);break;default:ru.isPR=null}});ru.isCI=!!(nl.CI||nl.CONTINUOUS_INTEGRATION||nl.BUILD_NUMBER||nl.RUN_ID||ru.name);function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(function(u){return nl[u]===i[u]})}});var KD=Me((ub,$D)=>{"use strict";$D.exports=YD().isCI});var JD=Me((sb,XD)=>{"use strict";var hN=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};XD.exports=(i,{include:u,exclude:f}={})=>{let c=g=>{let t=C=>typeof C=="string"?g===C:C.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of hN(i.constructor.prototype)){if(t==="constructor"||!c(t))continue;let C=Reflect.getOwnPropertyDescriptor(g,t);C&&typeof C.value=="function"&&(i[t]=i[t].bind(i))}return i}});var iE=Me(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var Ea,u2,Eh,Sh,_y;typeof window=="undefined"||typeof MessageChannel!="function"?(Sa=null,yy=null,wy=function(){if(Sa!==null)try{var i=Sr.unstable_now();Sa(!0,i),Sa=null}catch(u){throw setTimeout(wy,0),u}},QD=Date.now(),Sr.unstable_now=function(){return Date.now()-QD},Ea=function(i){Sa!==null?setTimeout(Ea,0,i):(Sa=i,setTimeout(wy,0))},u2=function(i,u){yy=setTimeout(i,u)},Eh=function(){clearTimeout(yy)},Sh=function(){return!1},_y=Sr.unstable_forceFrameRate=function(){}):(Ch=window.performance,Dy=window.Date,ZD=window.setTimeout,eE=window.clearTimeout,typeof console!="undefined"&&(tE=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof tE!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof Ch=="object"&&typeof Ch.now=="function"?Sr.unstable_now=function(){return Ch.now()}:(nE=Dy.now(),Sr.unstable_now=function(){return Dy.now()-nE}),s2=!1,l2=null,Th=-1,Ey=5,Sy=0,Sh=function(){return Sr.unstable_now()>=Sy},_y=function(){},Sr.unstable_forceFrameRate=function(i){0>i||125kh(C,f))x!==void 0&&0>kh(x,C)?(i[c]=x,i[A]=f,c=A):(i[c]=C,i[t]=f,c=t);else if(x!==void 0&&0>kh(x,f))i[c]=x,i[A]=f,c=A;else break e}}return u}return null}function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ds=[],Nf=[],mN=1,_o=null,to=3,Oh=!1,pc=!1,f2=!1;function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);else if(u.startTime<=i)Ah(Nf),u.sortIndex=u.expirationTime,Ty(ds,u);else break;u=Iu(Nf)}}function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var u=Iu(Nf);u!==null&&u2(xy,u.startTime-i)}}function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=Iu(ds);_o!==null&&(!(_o.expirationTime>u)||i&&!Sh());){var c=_o.callback;if(c!==null){_o.callback=null,to=_o.priorityLevel;var g=c(_o.expirationTime<=u);u=Sr.unstable_now(),typeof g=="function"?_o.callback=g:_o===Iu(ds)&&Ah(ds),Ih(u)}else Ah(ds);_o=Iu(ds)}if(_o!==null)var t=!0;else{var C=Iu(Nf);C!==null&&u2(xy,C.startTime-u),t=!1}return t}finally{_o=null,to=f,Oh=!1}}function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var vN=_y;Sr.unstable_ImmediatePriority=1;Sr.unstable_UserBlockingPriority=2;Sr.unstable_NormalPriority=3;Sr.unstable_IdlePriority=5;Sr.unstable_LowPriority=4;Sr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=to;to=i;try{return u()}finally{to=f}};Sr.unstable_next=function(i){switch(to){case 1:case 2:case 3:var u=3;break;default:u=to}var f=to;to=u;try{return i()}finally{to=f}};Sr.unstable_scheduleCallback=function(i,u,f){var c=Sr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0c?(i.sortIndex=g,Ty(Nf,i),Iu(ds)===null&&i===Iu(Nf)&&(f2?Eh():f2=!0,u2(xy,g-c))):(i.sortIndex=f,Ty(ds,i),pc||Oh||(pc=!0,Ea(ky))),i};Sr.unstable_cancelCallback=function(i){i.callback=null};Sr.unstable_wrapCallback=function(i){var u=to;return function(){var f=to;to=u;try{return i.apply(this,arguments)}finally{to=f}}};Sr.unstable_getCurrentPriorityLevel=function(){return to};Sr.unstable_shouldYield=function(){var i=Sr.unstable_now();Ih(i);var u=Iu(ds);return u!==_o&&_o!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime<_o.expirationTime||Sh()};Sr.unstable_requestPaint=vN;Sr.unstable_continueExecution=function(){pc||Oh||(pc=!0,Ea(ky))};Sr.unstable_pauseExecution=function(){};Sr.unstable_getFirstCallbackNode=function(){return Iu(ds)};Sr.unstable_Profiling=null});var Ay=Me((fb,oE)=>{"use strict";oE.exports=iE()});var uE=Me((cb,c2)=>{c2.exports=function i(u){"use strict";var f=ey(),c=lr(),g=Ay();function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+v,S=1;Sqo||(v.current=qi[qo],qi[qo]=null,qo--)}function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}var si={},H0={current:si},b0={current:!1},Bt=si;function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===m)return O.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in S)M[b]=m[b];return O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=m,v.__reactInternalMemoizedMaskedChildContext=M),M}function c0(v){return v=v.childContextTypes,v!=null}function Ru(v){kr(b0,v),kr(H0,v)}function ks(v){kr(b0,v),kr(H0,v)}function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(b0,S,v)}function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in v))throw Error(t(108,Oe(m)||"Unknown",M));return f({},S,{},O)}function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMergedChildContext||si,Bt=H0.current,Fr(H0,m,v),Fr(b0,b0.current,v),!0}function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v,m,Bt),O.__reactInternalMemoizedMergedChildContext=m,kr(b0,v),kr(H0,v),Fr(H0,m,v)):kr(b0,v),Fr(b0,S,v)}var Os=g.unstable_runWithPriority,Is=g.unstable_scheduleCallback,uf=g.unstable_cancelCallback,_n=g.unstable_shouldYield,Nu=g.unstable_requestPaint,Wo=g.unstable_now,su=g.unstable_getCurrentPriorityLevel,Ps=g.unstable_ImmediatePriority,pl=g.unstable_UserBlockingPriority,Vf=g.unstable_NormalPriority,hl=g.unstable_LowPriority,Bu=g.unstable_IdlePriority,ju={},sf=Nu!==void 0?Nu:function(){},ro=null,Ms=null,ml=!1,Uu=Wo(),G0=1e4>Uu?Wo:function(){return Wo()-Uu};function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:return 97;case hl:return 96;case Bu:return 95;default:throw Error(t(332))}}function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:return Vf;case 96:return hl;case 95:return Bu;default:throw Error(t(332))}}function zi(v,m){return v=tt(v),Os(v,m)}function lu(v,m,S){return v=tt(v),Is(v,m,S)}function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,function(){for(;v=m&&(ai=!0),v.firstContext=null)}function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===1073741823)&&(zu=v,m=1073741823),m={context:v,observedBits:m,next:null},Wi===null){if(qu===null)throw Error(t(308));Wi=m,qu.dependencies={expirationTime:0,firstContext:m,responders:null}}else Wi=Wi.next=m;return Jt?v._currentValue:v._currentValue2}var Do=!1;function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,lastUpdate:v.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.lastUpdate.next=m,v.lastUpdate=m)}function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=null;O===null&&(O=v.updateQueue=i0(v.memoizedState))}else O=v.updateQueue,M=S.updateQueue,O===null?M===null?(O=v.updateQueue=i0(v.memoizedState),M=S.updateQueue=i0(S.memoizedState)):O=v.updateQueue=Rs(M):M===null&&(M=S.updateQueue=Rs(O));M===null||O===M?Hu(O,m):O.lastUpdate===null||M.lastUpdate===null?(Hu(O,m),Hu(M,m)):(Hu(O,m),M.lastUpdate=m)}function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoizedState):Ns(v,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=m:(S.lastCapturedUpdate.next=m,S.lastCapturedUpdate=m)}function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(m=v.updateQueue=Rs(m)),m}function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof v=="function"?v.call(b,O,M):v;case 3:v.effectTag=v.effectTag&-4097|64;case 0:if(v=S.payload,M=typeof v=="function"?v.call(b,O,M):v,M==null)break;return f({},O,M);case 2:Do=!0}return O}function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=0,Ze=m.firstUpdate,ut=b;Ze!==null;){var In=Ze.expirationTime;Inpr?(Hr=mn,mn=null):Hr=mn.sibling;var Vn=jr(Re,mn,ze[pr],Et);if(Vn===null){mn===null&&(mn=Hr);break}v&&mn&&Vn.alternate===null&&m(Re,mn),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn,mn=Hr}if(pr===ze.length)return S(Re,mn),on;if(mn===null){for(;prpr?(Hr=mn,mn=null):Hr=mn.sibling;var ni=jr(Re,mn,Vn.value,Et);if(ni===null){mn===null&&(mn=Hr);break}v&&mn&&ni.alternate===null&&m(Re,mn),Ce=b(ni,Ce,pr),sr===null?on=ni:sr.sibling=ni,sr=ni,mn=Hr}if(Vn.done)return S(Re,mn),on;if(mn===null){for(;!Vn.done;pr++,Vn=ze.next())Vn=A0(Re,Vn.value,Et),Vn!==null&&(Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return on}for(mn=O(Re,mn);!Vn.done;pr++,Vn=ze.next())Vn=gi(mn,Re,pr,Vn.value,Et),Vn!==null&&(v&&Vn.alternate!==null&&mn.delete(Vn.key===null?pr:Vn.key),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return v&&mn.forEach(function(Zf){return m(Re,Zf)}),on}return function(Re,Ce,ze,Et){var on=typeof ze=="object"&&ze!==null&&ze.type===L&&ze.key===null;on&&(ze=ze.props.children);var sr=typeof ze=="object"&&ze!==null;if(sr)switch(ze.$$typeof){case x:e:{for(sr=ze.key,on=Ce;on!==null;){if(on.key===sr)if(on.tag===7?ze.type===L:on.elementType===ze.type){S(Re,on.sibling),Ce=M(on,ze.type===L?ze.props.children:ze.props,Et),Ce.ref=au(Re,on,ze),Ce.return=Re,Re=Ce;break e}else{S(Re,on);break}else m(Re,on);on=on.sibling}ze.type===L?(Ce=mi(ze.props.children,Re.mode,Et,ze.key),Ce.return=Re,Re=Ce):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Re=Et)}return ee(Re);case D:e:{for(on=ze.key;Ce!==null;){if(Ce.key===on)if(Ce.tag===4&&Ce.stateNode.containerInfo===ze.containerInfo&&Ce.stateNode.implementation===ze.implementation){S(Re,Ce.sibling),Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Re=Ce;break e}else{S(Re,Ce);break}else m(Re,Ce);Ce=Ce.sibling}Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Re=Ce}return ee(Re)}if(typeof ze=="string"||typeof ze=="number")return ze=""+ze,Ce!==null&&Ce.tag===6?(S(Re,Ce.sibling),Ce=M(Ce,ze,Et),Ce.return=Re,Re=Ce):(S(Re,Ce),Ce=vi(ze,Re.mode,Et),Ce.return=Re,Re=Ce),ee(Re);if(M0(ze))return po(Re,Ce,ze,Et);if(J(ze))return _i(Re,Ce,ze,Et);if(sr&&Lr(Re,ze),typeof ze=="undefined"&&!on)switch(Re.tag){case 1:case 0:throw Re=Re.type,Error(t(152,Re.displayName||Re.name||"Component"))}return S(Re,Ce)}}var R=F(!0),U=F(!1),H={},fe={current:H},ue={current:H},de={current:H};function W(v){if(v===H)throw Error(t(174));return v}function ve(v,m){Fr(de,m,v),Fr(ue,v,v),Fr(fe,H,v),m=Ot(m),kr(fe,v),Fr(fe,m,v)}function Fe(v){kr(fe,v),kr(ue,v),kr(de,v)}function Ge(v){var m=W(de.current),S=W(fe.current);m=Nt(S,v.type,m),S!==m&&(Fr(ue,v,v),Fr(fe,m,v))}function K(v){ue.current===v&&(kr(fe,v),kr(ue,v))}var xe={current:0};function je(v){for(var m=v;m!==null;){if(m.tag===13){var S=m.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||ll(S)||fl(S)))return m}else if(m.tag===19&&m.memoizedProps.revealOrder!==void 0){if((m.effectTag&64)!=0)return m}else if(m.child!==null){m.child.return=m,m=m.child;continue}if(m===v)break;for(;m.sibling===null;){if(m.return===null||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}return null}function Xe(v,m){return{responder:v,props:m}}var rt=C.ReactCurrentDispatcher,st=C.ReactCurrentBatchConfig,xt=0,wt=null,lt=null,Rt=null,yn=null,sn=null,ar=null,rn=0,Hn=null,d0=0,Cr=!1,He=null,Qe=0;function Ne(){throw Error(t(321))}function ft(v,m){if(m===null)return!1;for(var S=0;Srn&&(rn=In,pf(rn))):(Yf(In,Ze.suspenseConfig),b=Ze.eagerReducer===v?Ze.eagerState:v(b,Ze.action)),ee=Ze,Ze=Ze.next}while(Ze!==null&&Ze!==O);ut||(Ye=ee,M=b),Sn(b,m.memoizedState)||(ai=!0),m.memoizedState=b,m.baseUpdate=Ye,m.baseState=M,S.lastRenderedState=b}return[m.memoizedState,S.dispatch]}function ci(v){var m=Cn();return typeof v=="function"&&(v=v()),m.memoizedState=m.baseState=v,v=m.queue={last:null,dispatch:null,lastRenderedReducer:p0,lastRenderedState:v},v=v.dispatch=Us.bind(null,wt,v),[m.memoizedState,v]}function xi(v){return h0(p0,v)}function E0(v,m,S,O){return v={tag:v,create:m,destroy:S,deps:O,next:null},Hn===null?(Hn={lastEffect:null},Hn.lastEffect=v.next=v):(m=Hn.lastEffect,m===null?Hn.lastEffect=v.next=v:(S=m.next,m.next=v,v.next=S,Hn.lastEffect=v)),v}function qr(v,m,S,O){var M=Cn();d0|=v,M.memoizedState=E0(m,S,void 0,O===void 0?null:O)}function Eo(v,m,S,O){var M=bn();O=O===void 0?null:O;var b=void 0;if(lt!==null){var ee=lt.memoizedState;if(b=ee.destroy,O!==null&&ft(O,ee.deps)){E0(0,S,b,O);return}}d0|=v,M.memoizedState=E0(m,S,b,O)}function So(v,m){return qr(516,192,v,m)}function wl(v,m){return Eo(516,192,v,m)}function js(v,m){if(typeof m=="function")return v=v(),m(v),function(){m(null)};if(m!=null)return v=v(),m.current=v,function(){m.current=null}}function Dl(){}function du(v,m){return Cn().memoizedState=[v,m===void 0?null:m],v}function Yu(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(S.memoizedState=[v,m],v)}function Us(v,m,S){if(!(25>Qe))throw Error(t(301));var O=v.alternate;if(v===wt||O!==null&&O===wt)if(Cr=!0,v={expirationTime:xt,suspenseConfig:null,action:S,eagerReducer:null,eagerState:null,next:null},He===null&&(He=new Map),S=He.get(m),S===void 0)He.set(m,v);else{for(m=S;m.next!==null;)m=m.next;m.next=v}else{var M=g0(),b=nr.suspense;M=Kr(M,v,b),b={expirationTime:M,suspenseConfig:b,action:S,eagerReducer:null,eagerState:null,next:null};var ee=m.last;if(ee===null)b.next=b;else{var Ye=ee.next;Ye!==null&&(b.next=Ye),ee.next=b}if(m.last=b,v.expirationTime===0&&(O===null||O.expirationTime===0)&&(O=m.lastRenderedReducer,O!==null))try{var Ze=m.lastRenderedState,ut=O(Ze,S);if(b.eagerReducer=O,b.eagerState=ut,Sn(ut,Ze))return}catch(In){}finally{}_0(v,M)}}var oo={readContext:D0,useCallback:Ne,useContext:Ne,useEffect:Ne,useImperativeHandle:Ne,useLayoutEffect:Ne,useMemo:Ne,useReducer:Ne,useRef:Ne,useState:Ne,useDebugValue:Ne,useResponder:Ne,useDeferredValue:Ne,useTransition:Ne},Hi={readContext:D0,useCallback:du,useContext:D0,useEffect:So,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,qr(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return qr(4,36,v,m)},useMemo:function(v,m){var S=Cn();return m=m===void 0?null:m,v=v(),S.memoizedState=[v,m],v},useReducer:function(v,m,S){var O=Cn();return m=S!==void 0?S(m):m,O.memoizedState=O.baseState=m,v=O.queue={last:null,dispatch:null,lastRenderedReducer:v,lastRenderedState:m},v=v.dispatch=Us.bind(null,wt,v),[O.memoizedState,v]},useRef:function(v){var m=Cn();return v={current:v},m.memoizedState=v},useState:ci,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=ci(v),O=S[0],M=S[1];return So(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=ci(!1),S=m[0],O=m[1];return[du(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},qs={readContext:D0,useCallback:Yu,useContext:D0,useEffect:wl,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,Eo(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return Eo(4,36,v,m)},useMemo:function(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(v=v(),S.memoizedState=[v,m],v)},useReducer:h0,useRef:function(){return bn().memoizedState},useState:xi,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=xi(v),O=S[0],M=S[1];return wl(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=xi(!1),S=m[0],O=m[1];return[Yu(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},F0=null,Gr=null,ir=!1;function L0(v,m){var S=xo(5,null,null,0);S.elementType="DELETED",S.type="DELETED",S.stateNode=m,S.return=v,S.effectTag=8,v.lastEffect!==null?(v.lastEffect.nextEffect=S,v.lastEffect=S):v.firstEffect=v.lastEffect=S}function Y0(v,m){switch(v.tag){case 5:return m=Ti(m,v.type,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 6:return m=Fu(m,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 13:return!1;default:return!1}}function Co(v){if(ir){var m=Gr;if(m){var S=m;if(!Y0(v,m)){if(m=cl(S),!m||!Y0(v,m)){v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v;return}L0(F0,S)}F0=v,Gr=al(m)}else v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v}}function $u(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;F0=v}function Vo(v){if(!w||v!==F0)return!1;if(!ir)return $u(v),ir=!0,!1;var m=v.type;if(v.tag!==5||m!=="head"&&m!=="body"&&!at(m,v.memoizedProps))for(m=Gr;m;)L0(v,m),m=cl(m);if($u(v),v.tag===13){if(!w)throw Error(t(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(t(317));Gr=Ac(v)}else Gr=F0?cl(v.stateNode):null;return!0}function Rr(){w&&(Gr=F0=null,ir=!1)}var Jn=C.ReactCurrentOwner,ai=!1;function o0(v,m,S,O){m.child=v===null?U(m,null,S,O):R(m,v.child,S,O)}function Vr(v,m,S,O,M){S=S.render;var b=m.ref;return io(m,M),O=St(v,m,S,O,b,M),v!==null&&!ai?(m.updateQueue=v.updateQueue,m.effectTag&=-517,v.expirationTime<=M&&(v.expirationTime=0),X0(v,m,M)):(m.effectTag|=1,o0(v,m,O,M),m.child)}function ff(v,m,S,O,M,b){if(v===null){var ee=S.type;return typeof ee=="function"&&!mf(ee)&&ee.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(m.tag=15,m.type=ee,cf(v,m,ee,O,M,b)):(v=Hs(S.type,null,O,null,m.mode,b),v.ref=m.ref,v.return=m,m.child=v)}return ee=v.child,Mm)&&Qn.set(v,m)))}}function Gi(v,m){v.expirationTimev?m:v)}function x0(v){if(v.lastExpiredTime!==0)v.callbackExpirationTime=1073741823,v.callbackPriority=99,v.callbackNode=Ho(Z0.bind(null,v));else{var m=fo(v),S=v.callbackNode;if(m===0)S!==null&&(v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90);else{var O=g0();if(m===1073741823?O=99:m===1||m===2?O=95:(O=10*(1073741821-m)-10*(1073741821-O),O=0>=O?99:250>=O?98:5250>=O?97:95),S!==null){var M=v.callbackPriority;if(v.callbackExpirationTime===m&&M>=O)return;S!==ju&&uf(S)}v.callbackExpirationTime=m,v.callbackPriority=O,m=m===1073741823?Ho(Z0.bind(null,v)):lu(O,Xu.bind(null,v),{timeout:10*(1073741821-m)-G0()}),v.callbackNode=m}}}function Xu(v,m){if(t0=0,m)return m=g0(),kl(v,m),x0(v),null;var S=fo(v);if(S!==0){if(m=v.callbackNode,(Kt&(Br|zr))!==Fn)throw Error(t(327));if(Ws(),v===X&&S===ye||mu(v,S),Y!==null){var O=Kt;Kt|=Br;var M=ei(v);do try{Ua();break}catch(Ye){Ju(v,Ye)}while(1);if(Wu(),Kt=O,B0.current=M,he===wr)throw m=We,mu(v,S),ao(v,S),x0(v),m;if(Y===null)switch(M=v.finishedWork=v.current.alternate,v.finishedExpirationTime=S,O=he,X=null,O){case lo:case wr:throw Error(t(345));case kn:kl(v,2=S){v.lastPingedTime=S,mu(v,S);break}}if(b=fo(v),b!==0&&b!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}v.timeoutHandle=jt(gu.bind(null,v),M);break}gu(v);break;case hi:if(ao(v,S),O=v.lastSuspendedTime,S===O&&(v.nextKnownPendingLevel=$f(M)),qt&&(M=v.lastPingedTime,M===0||M>=S)){v.lastPingedTime=S,mu(v,S);break}if(M=fo(v),M!==0&&M!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}if(Dt!==1073741823?O=10*(1073741821-Dt)-G0():et===1073741823?O=0:(O=10*(1073741821-et)-5e3,M=G0(),S=10*(1073741821-S)-M,O=M-O,0>O&&(O=0),O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*Cl(O/1960))-O,S=O?O=0:(M=ee.busyDelayMs|0,b=G0()-(10*(1073741821-b)-(ee.timeoutMs|0||5e3)),O=b<=M?0:M+O-b),10 component higher in the tree to provide a loading indicator or placeholder to display.`+dl(M))}he!==Ai&&(he=kn),b=zs(b,M),Ze=O;do{switch(Ze.tag){case 3:ee=b,Ze.effectTag|=4096,Ze.expirationTime=m;var Ce=pu(Ze,ee,m);bu(Ze,Ce);break e;case 1:ee=b;var ze=Ze.type,Et=Ze.stateNode;if((Ze.effectTag&64)==0&&(typeof ze.getDerivedStateFromError=="function"||Et!==null&&typeof Et.componentDidCatch=="function"&&(Ar===null||!Ar.has(Et)))){Ze.effectTag|=4096,Ze.expirationTime=m;var on=Sl(Ze,ee,m);bu(Ze,on);break e}}Ze=Ze.return}while(Ze!==null)}Y=vu(Y)}catch(sr){m=sr;continue}break}while(1)}function ei(){var v=B0.current;return B0.current=oo,v===null?oo:v}function Yf(v,m){vZt&&(Zt=v)}function ja(){for(;Y!==null;)Y=Ic(Y)}function Ua(){for(;Y!==null&&!_n();)Y=Ic(Y)}function Ic(v){var m=Lc(v.alternate,v,ye);return v.memoizedProps=v.pendingProps,m===null&&(m=vu(v)),hu.current=null,m}function vu(v){Y=v;do{var m=Y.alternate;if(v=Y.return,(Y.effectTag&2048)==0){e:{var S=m;m=Y;var O=ye,M=m.pendingProps;switch(m.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:c0(m.type)&&Ru(m);break;case 3:Fe(m),ks(m),M=m.stateNode,M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(S===null||S.child===null)&&Vo(m)&&ki(m),$r(m);break;case 5:K(m);var b=W(de.current);if(O=m.type,S!==null&&m.stateNode!=null)m0(S,m,O,M,b),S.ref!==m.ref&&(m.effectTag|=128);else if(M){if(S=W(fe.current),Vo(m)){if(M=m,!w)throw Error(t(175));S=Ui(M.stateNode,M.type,M.memoizedProps,b,S,M),M.updateQueue=S,S=S!==null,S&&ki(m)}else{var ee=ne(O,M,b,S,m);Yr(ee,m,!1,!1),m.stateNode=ee,Z(ee,O,M,b,S)&&ki(m)}m.ref!==null&&(m.effectTag|=128)}else if(m.stateNode===null)throw Error(t(166));break;case 6:if(S&&m.stateNode!=null)Tn(S,m,S.memoizedProps,M);else{if(typeof M!="string"&&m.stateNode===null)throw Error(t(166));if(S=W(de.current),b=W(fe.current),Vo(m)){if(S=m,!w)throw Error(t(176));(S=Mr(S.stateNode,S.memoizedProps,S))&&ki(m)}else m.stateNode=Ft(M,S,b,m)}break;case 11:break;case 13:if(kr(xe,m),M=m.memoizedState,(m.effectTag&64)!=0){m.expirationTime=O;break e}M=M!==null,b=!1,S===null?m.memoizedProps.fallback!==void 0&&Vo(m):(O=S.memoizedState,b=O!==null,M||O===null||(O=S.child.sibling,O!==null&&(ee=m.firstEffect,ee!==null?(m.firstEffect=O,O.nextEffect=ee):(m.firstEffect=m.lastEffect=O,O.nextEffect=null),O.effectTag=8))),M&&!b&&(m.mode&2)!=0&&(S===null&&m.memoizedProps.unstable_avoidThisFallback!==!0||(xe.current&1)!=0?he===lo&&(he=T0):((he===lo||he===T0)&&(he=hi),Zt!==0&&X!==null&&(ao(X,ye),$o(X,Zt)))),cr&&M&&(m.effectTag|=4),Yt&&(M||b)&&(m.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Fe(m),$r(m);break;case 10:fi(m);break;case 9:break;case 14:break;case 17:c0(m.type)&&Ru(m);break;case 19:if(kr(xe,m),M=m.memoizedState,M===null)break;if(b=(m.effectTag&64)!=0,ee=M.rendering,ee===null){if(b)bi(M,!1);else if(he!==lo||S!==null&&(S.effectTag&64)!=0)for(S=m.child;S!==null;){if(ee=je(S),ee!==null){for(m.effectTag|=64,bi(M,!1),S=ee.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),M.lastEffect===null&&(m.firstEffect=null),m.lastEffect=M.lastEffect,S=O,M=m.child;M!==null;)b=M,O=S,b.effectTag&=2,b.nextEffect=null,b.firstEffect=null,b.lastEffect=null,ee=b.alternate,ee===null?(b.childExpirationTime=0,b.expirationTime=O,b.child=null,b.memoizedProps=null,b.memoizedState=null,b.updateQueue=null,b.dependencies=null):(b.childExpirationTime=ee.childExpirationTime,b.expirationTime=ee.expirationTime,b.child=ee.child,b.memoizedProps=ee.memoizedProps,b.memoizedState=ee.memoizedState,b.updateQueue=ee.updateQueue,O=ee.dependencies,b.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders}),M=M.sibling;Fr(xe,xe.current&1|2,m),m=m.child;break e}S=S.sibling}}else{if(!b)if(S=je(ee),S!==null){if(m.effectTag|=64,b=!0,S=S.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),bi(M,!0),M.tail===null&&M.tailMode==="hidden"&&!ee.alternate){m=m.lastEffect=M.lastEffect,m!==null&&(m.nextEffect=null);break}}else G0()>M.tailExpiration&&1M&&(M=O),ee>M&&(M=ee),b=b.sibling;S.childExpirationTime=M}if(m!==null)return m;v!==null&&(v.effectTag&2048)==0&&(v.firstEffect===null&&(v.firstEffect=Y.firstEffect),Y.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=Y.firstEffect),v.lastEffect=Y.lastEffect),1v?m:v}function gu(v){var m=Fs();return zi(99,co.bind(null,v,m)),null}function co(v,m){do Ws();while(dr!==null);if((Kt&(Br|zr))!==Fn)throw Error(t(327));var S=v.finishedWork,O=v.finishedExpirationTime;if(S===null)return null;if(v.finishedWork=null,v.finishedExpirationTime=0,S===v.current)throw Error(t(177));v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90,v.nextKnownPendingLevel=0;var M=$f(S);if(v.firstPendingTime=M,O<=v.lastSuspendedTime?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:O<=v.firstSuspendedTime&&(v.firstSuspendedTime=O-1),O<=v.lastPingedTime&&(v.lastPingedTime=0),O<=v.lastExpiredTime&&(v.lastExpiredTime=0),v===X&&(Y=X=null,ye=0),1=S?mt(v,m,S):(Fr(xe,xe.current&1,m),m=X0(v,m,S),m!==null?m.sibling:null);Fr(xe,xe.current&1,m);break;case 19:if(O=m.childExpirationTime>=S,(v.effectTag&64)!=0){if(O)return $t(v,m,S);m.effectTag|=64}if(M=m.memoizedState,M!==null&&(M.rendering=null,M.tail=null),Fr(xe,xe.current,m),!O)return null}return X0(v,m,S)}ai=!1}}else ai=!1;switch(m.expirationTime=0,m.tag){case 2:if(O=m.type,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,M=Lu(m,H0.current),io(m,S),M=St(null,m,O,v,M,S),m.effectTag|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0){if(m.tag=1,Qt(),c0(O)){var b=!0;wo(m)}else b=!1;m.memoizedState=M.state!==null&&M.state!==void 0?M.state:null;var ee=O.getDerivedStateFromProps;typeof ee=="function"&&Go(m,O,ee,v),M.updater=Gu,m.stateNode=M,M._reactInternalFiber=m,Vu(m,O,v,S),m=Be(null,m,O,!0,b,S)}else m.tag=0,o0(null,m,M,S),m=m.child;return m;case 16:if(M=m.elementType,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,Te(M),M._status!==1)throw M._result;switch(M=M._result,m.type=M,b=m.tag=Wa(M),v=I0(M,v),b){case 0:m=K0(null,m,M,v,S);break;case 1:m=ae(null,m,M,v,S);break;case 11:m=Vr(null,m,M,v,S);break;case 14:m=ff(null,m,M,I0(M.type,v),O,S);break;default:throw Error(t(306,M,""))}return m;case 0:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),K0(v,m,O,M,S);case 1:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),ae(v,m,O,M,S);case 3:if(Ie(m),O=m.updateQueue,O===null)throw Error(t(282));if(M=m.memoizedState,M=M!==null?M.element:null,P0(m,O,m.pendingProps,null,S),O=m.memoizedState.element,O===M)Rr(),m=X0(v,m,S);else{if((M=m.stateNode.hydrate)&&(w?(Gr=al(m.stateNode.containerInfo),F0=m,M=ir=!0):M=!1),M)for(S=U(m,null,O,S),m.child=S;S;)S.effectTag=S.effectTag&-3|1024,S=S.sibling;else o0(v,m,O,S),Rr();m=m.child}return m;case 5:return Ge(m),v===null&&Co(m),O=m.type,M=m.pendingProps,b=v!==null?v.memoizedProps:null,ee=M.children,at(O,M)?ee=null:b!==null&&at(O,b)&&(m.effectTag|=16),$0(v,m),m.mode&4&&S!==1&&it(O,M)?(m.expirationTime=m.childExpirationTime=1,m=null):(o0(v,m,ee,S),m=m.child),m;case 6:return v===null&&Co(m),null;case 13:return mt(v,m,S);case 4:return ve(m,m.stateNode.containerInfo),O=m.pendingProps,v===null?m.child=R(m,null,O,S):o0(v,m,O,S),m.child;case 11:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),Vr(v,m,O,M,S);case 7:return o0(v,m,m.pendingProps,S),m.child;case 8:return o0(v,m,m.pendingProps.children,S),m.child;case 12:return o0(v,m,m.pendingProps.children,S),m.child;case 10:e:{if(O=m.type._context,M=m.pendingProps,ee=m.memoizedProps,b=M.value,Ls(m,b),ee!==null){var Ye=ee.value;if(b=Sn(Ye,b)?0:(typeof O._calculateChangedBits=="function"?O._calculateChangedBits(Ye,b):1073741823)|0,b===0){if(ee.children===M.children&&!b0.current){m=X0(v,m,S);break e}}else for(Ye=m.child,Ye!==null&&(Ye.return=m);Ye!==null;){var Ze=Ye.dependencies;if(Ze!==null){ee=Ye.child;for(var ut=Ze.firstContext;ut!==null;){if(ut.context===O&&(ut.observedBits&b)!=0){Ye.tag===1&&(ut=a0(S,null),ut.tag=2,V0(Ye,ut)),Ye.expirationTime=m&&v<=m}function ao(v,m){var S=v.firstSuspendedTime,O=v.lastSuspendedTime;Sm||S===0)&&(v.lastSuspendedTime=m),m<=v.lastPingedTime&&(v.lastPingedTime=0),m<=v.lastExpiredTime&&(v.lastExpiredTime=0)}function $o(v,m){m>v.firstPendingTime&&(v.firstPendingTime=m);var S=v.firstSuspendedTime;S!==0&&(m>=S?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:m>=v.lastSuspendedTime&&(v.lastSuspendedTime=m+1),m>v.nextKnownPendingLevel&&(v.nextKnownPendingLevel=m))}function kl(v,m){var S=v.lastExpiredTime;(S===0||S>m)&&(v.lastExpiredTime=m)}function Nc(v){var m=v._reactInternalFiber;if(m===void 0)throw typeof v.render=="function"?Error(t(188)):Error(t(268,Object.keys(v)));return v=Ue(m),v===null?null:v.stateNode}function Al(v,m){v=v.memoizedState,v!==null&&v.dehydrated!==null&&v.retryTime{"use strict";sE.exports=uE()});var cE=Me((db,fE)=>{"use strict";var gN={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};fE.exports=gN});var hE=Me((pb,aE)=>{"use strict";var _N=Object.assign||function(i){for(var u=1;u"}}]),i}(),dE=function(){Ph(i,null,[{key:"fromJS",value:function(f){var c=f.width,g=f.height;return new i(c,g)}}]);function i(u,f){Iy(this,i),this.width=u,this.height=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),pE=function(){function i(u,f){Iy(this,i),this.unit=u,this.value=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ps.UNIT_POINT:return String(this.value);case ps.UNIT_PERCENT:return this.value+"%";case ps.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();aE.exports=function(i,u){function f(C,A,x){var D=C[A];C[A]=function(){for(var L=arguments.length,N=Array(L),j=0;j1?N-1:0),$=1;$1&&arguments[1]!==void 0?arguments[1]:NaN,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ps.DIRECTION_LTR;return C.call(this,A,x,D)}),_N({Config:u.Config,Node:u.Node,Layout:i("Layout",yN),Size:i("Size",dE),Value:i("Value",pE),getInstanceCount:function(){return u.getInstanceCount.apply(u,arguments)}},ps)}});var mE=Me((exports,module)=>{(function(i,u){typeof define=="function"&&define.amd?define([],function(){return u}):typeof module=="object"&&module.exports?module.exports=u:(i.nbind=i.nbind||{}).init=u})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,u){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){u(f);return}u(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(u,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),u=nodePath.normalize(u);var c=nodeFS.readFileSync(u);return f?c:c.toString()},Module.readBinary=function(u){var f=Module.read(u,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(u){globalEval(read(u))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(u){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(u));var f=read(u,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,u){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(u,f,c){var g=new XMLHttpRequest;g.open("GET",u,!0),g.responseType="arraybuffer",g.onload=function(){g.status==200||g.status==0&&g.response?f(g.response):c()},g.onerror=c,g.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(u){console.log(u)}),Module.printErr||(Module.printErr=function(u){console.warn(u)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(u){globalEval(Module.read(u))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,u){throw u}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var u=parseInt(i.substr(1));return assert(u%8==0),u/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,u){return u==="double"||u==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,u,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(u||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(u,8)},dynCall:function(i,u,f){return f&&f.length?Module["dynCall_"+i].apply(null,[u].concat(f)):Module["dynCall_"+i].call(null,u)},functionPointers:[],addFunction:function(i){for(var u=0;u>2],f=(u+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var c=enlargeMemory();if(!c)return HEAP32[DYNAMICTOP_PTR>>2]=u,0}return u},alignMemory:function(i,u){var f=i=Math.ceil(i/(u||16))*(u||16);return f},makeBigInt:function(i,u,f){var c=f?+(i>>>0)+ +(u>>>0)*4294967296:+(i>>>0)+ +(u|0)*4294967296;return c},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,u){i||abort("Assertion failed: "+u)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var u=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,u),u},stringToC:function(i){var u=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;u=Runtime.stackAlloc(f),stringToUTF8(i,u,f)}return u}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(u,f,c,g,t){var C=getCFunc(u),A=[],x=0;if(g)for(var D=0;D>0]=u;break;case"i8":HEAP8[i>>0]=u;break;case"i16":HEAP16[i>>1]=u;break;case"i32":HEAP32[i>>2]=u;break;case"i64":tempI64=[u>>>0,(tempDouble=u,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=u;break;case"double":HEAPF64[i>>3]=u;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u="i32"),u){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+u)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,u,f,c){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t=i.length);var C=typeof u=="string"?u:null,A;if(f==ALLOC_NONE?A=c:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,C?1:u.length)),g){var c=A,x;for(assert((A&3)==0),x=A+(t&~3);c>2]=0;for(x=A+t;c>0]=0;return A}if(C==="i8")return i.subarray||i.slice?HEAPU8.set(i,A):HEAPU8.set(new Uint8Array(i),A),A;for(var D=0,L,N,j;D>0],f|=c,!(c==0&&!u||(g++,u&&g==u)););u||(u=g);var t="";if(f<128){for(var C=1024,A;u>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(u,C))),t=t?t+A:A,i+=C,u-=C;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)return u;u+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(u,f));for(var c,g,t,C,A,x,D="";;){if(c=i[u++],!c)return D;if(!(c&128)){D+=String.fromCharCode(c);continue}if(g=i[u++]&63,(c&224)==192){D+=String.fromCharCode((c&31)<<6|g);continue}if(t=i[u++]&63,(c&240)==224?c=(c&15)<<12|g<<6|t:(C=i[u++]&63,(c&248)==240?c=(c&7)<<18|g<<12|t<<6|C:(A=i[u++]&63,(c&252)==248?c=(c&3)<<24|g<<18|t<<12|C<<6|A:(x=i[u++]&63,c=(c&1)<<30|g<<24|t<<18|C<<12|A<<6|x))),c<65536)D+=String.fromCharCode(c);else{var L=c-65536;D+=String.fromCharCode(55296|L>>10,56320|L&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,u,f,c){if(!(c>0))return 0;for(var g=f,t=f+c-1,C=0;C=55296&&A<=57343&&(A=65536+((A&1023)<<10)|i.charCodeAt(++C)&1023),A<=127){if(f>=t)break;u[f++]=A}else if(A<=2047){if(f+1>=t)break;u[f++]=192|A>>6,u[f++]=128|A&63}else if(A<=65535){if(f+2>=t)break;u[f++]=224|A>>12,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=2097151){if(f+3>=t)break;u[f++]=240|A>>18,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=67108863){if(f+4>=t)break;u[f++]=248|A>>24,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else{if(f+5>=t)break;u[f++]=252|A>>30,u[f++]=128|A>>24&63,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}}return u[f]=0,f-g}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var u=0,f=0;f=55296&&c<=57343&&(c=65536+((c&1023)<<10)|i.charCodeAt(++f)&1023),c<=127?++u:c<=2047?u+=2:c<=65535?u+=3:c<=2097151?u+=4:c<=67108863?u+=5:u+=6}return u}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle;if(u){try{var f=i.substr(1),c=lengthBytesUTF8(f)+1,g=_malloc(c);stringToUTF8(f,g,c);var t=_malloc(4),C=u(g,0,0,t);if(getValue(t,"i32")===0&&C)return Pointer_stringify(C)}catch(A){}finally{g&&_free(g),t&&_free(t),C&&_free(C)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function(f){var c=demangle(f);return f===c?f:f+" ["+c+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(u){i=u}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` +`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var u=i.shift();if(typeof u=="function"){u();continue}var f=u.func;typeof f=="number"?u.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,u.arg):f(u.arg===void 0?null:u.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,u,f){var c=f>0?f:lengthBytesUTF8(i)+1,g=new Array(c),t=stringToUTF8Array(i,g,0,g.length);return u&&(g.length=t),g}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var u=[],f=0;f255&&(c&=255),u.push(String.fromCharCode(c))}return u.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var c,g;f&&(g=u+lengthBytesUTF8(i),c=HEAP8[g]),stringToUTF8(i,u,Infinity),f&&(HEAP8[g]=c)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,u){HEAP8.set(i,u)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,u,f){for(var c=0;c>0]=i.charCodeAt(c);f||(HEAP8[u>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(u,f){var c=u>>>16,g=u&65535,t=f>>>16,C=f&65535;return g*C+(c*C+g*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var u=0;u<32;u++)if(i&1<<31-u)return u;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var u=dependenciesFulfilled;dependenciesFulfilled=null,u()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,u,f,c,g,t,C,A){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,u,f,c,g,t,C,A){return ASM_CONSTS[i](u,f,c,g,t,C,A)}function _emscripten_asm_const_iiiii(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiidddddd(i,u,f,c,g,t,C,A,x){return ASM_CONSTS[i](u,f,c,g,t,C,A,x)}function _emscripten_asm_const_iiididi(i,u,f,c,g,t,C){return ASM_CONSTS[i](u,f,c,g,t,C)}function _emscripten_asm_const_iiii(i,u,f,c){return ASM_CONSTS[i](u,f,c)}function _emscripten_asm_const_iiiid(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiiiii(i,u,f,c,g,t){return ASM_CONSTS[i](u,f,c,g,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,u){__ATEXIT__.unshift({func:i,arg:u})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,u,f,c){var g=arguments.length,t=g<3?u:c===null?c=Object.getOwnPropertyDescriptor(u,f):c,C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,u,f,c);else for(var A=i.length-1;A>=0;A--)(C=i[A])&&(t=(g<3?C(t):g>3?C(u,f,t):C(u,f))||t);return g>3&&t&&Object.defineProperty(u,f,t),t}function _defineHidden(i){return function(u,f){Object.defineProperty(u,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var u=_llvm_stacksave,f=u.LLVM_SAVEDSTACKS[i];u.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,u,f,c){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=u/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=c/4,HEAP32[u/4]=16909060,HEAP8[u]==1&&(_nbind.bigEndian=!0),HEAP32[u/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var g=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});g.proto=Module,_nbind.BindClass.list.push(g);var t}function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=u,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var C=Math.max(0,Browser.mainLoop.tickStartTime+u-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,C)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(C){C.source===window&&C.data===c&&(C.stopPropagation(),f.shift()())};var g=t,f=[],c="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(A){f.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:c})):window.postMessage(c,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,u,f,c,g){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=c;var t;typeof c!="undefined"?t=function(){Module.dynCall_vi(i,c)}:t=function(){Module.dynCall_v(i)};var C=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var x=Date.now(),D=Browser.mainLoop.queue.shift();if(D.func(D.arg),Browser.mainLoop.remainingBlockers){var L=Browser.mainLoop.remainingBlockers,N=L%1==0?L-1:Math.floor(L);D.counted?Browser.mainLoop.remainingBlockers=N:(N=N+.5,Browser.mainLoop.remainingBlockers=(8*L+N)/9)}if(console.log('main loop blocker "'+D.name+'" took '+(Date.now()-x)+" ms"),Browser.mainLoop.updateStatus(),C1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(C0?_emscripten_set_main_loop_timing(0,1e3/u):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,u=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,u),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",u=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;u?u=6;){var Le=J>>Te-6&63;Te-=6,De+=Se[Le]}return Te==2?(De+=Se[(J&3)<<4],De+=me+me):Te==4&&(De+=Se[(J&15)<<2],De+=me),De}h.src="data:audio/x-"+C.substr(-3)+";base64,"+Q(t),L(h)},h.src=$,Browser.safeSetTimeout(function(){L(h)},1e4)}else return N()},Module.preloadPlugins.push(u);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var c=Module.canvas;c&&(c.requestPointerLock=c.requestPointerLock||c.mozRequestPointerLock||c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.exitPointerLock=c.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&c.addEventListener("click",function(g){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),g.preventDefault())},!1))},createContext:function(i,u,f,c){if(u&&Module.ctx&&i==Module.canvas)return Module.ctx;var g,t;if(u){var C={antialias:!1,alpha:!1};if(c)for(var A in c)C[A]=c[A];t=GL.createContext(i,C),t&&(g=GL.getContext(t).GLctx)}else g=i.getContext("2d");return g?(f&&(u||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=g,u&&GL.makeContextCurrent(t),Module.useWebGL=u,Browser.moduleContextCreatedCallbacks.forEach(function(x){x()}),Browser.init()),g):null},destroyContext:function(i,u,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,u,f){Browser.lockPointer=i,Browser.resizeCanvas=u,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var c=Module.canvas;function g(){Browser.isFullscreen=!1;var C=c.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===C?(c.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},c.exitFullscreen=c.exitFullscreen.bind(document),Browser.lockPointer&&c.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(C.parentNode.insertBefore(c,C),C.parentNode.removeChild(C),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(c)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",g,!1),document.addEventListener("mozfullscreenchange",g,!1),document.addEventListener("webkitfullscreenchange",g,!1),document.addEventListener("MSFullscreenChange",g,!1));var t=document.createElement("div");c.parentNode.insertBefore(t,c),t.appendChild(c),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,u,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(c,g,t){return Browser.requestFullscreen(c,g,t)},Browser.requestFullscreen(i,u,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var u=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=u+1e3/60;else for(;u+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-u,0);setTimeout(i,f)},requestAnimationFrame:function(u){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(u):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(u))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(u){u()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,u){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},u)},safeSetInterval:function(i,u){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},u)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var u=0;switch(i.type){case"DOMMouseScroll":u=i.detail;break;case"mousewheel":u=i.wheelDelta;break;case"wheel":u=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return u},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var u=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,c=Module.canvas.height,g=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var C=i.touch;if(C===void 0)return;var A=C.pageX-(g+u.left),x=C.pageY-(t+u.top);A=A*(f/u.width),x=x*(c/u.height);var D={x:A,y:x};if(i.type==="touchstart")Browser.lastTouches[C.identifier]=D,Browser.touches[C.identifier]=D;else if(i.type==="touchend"||i.type==="touchmove"){var L=Browser.touches[C.identifier];L||(L=D),Browser.lastTouches[C.identifier]=L,Browser.touches[C.identifier]=D}return}var N=i.pageX-(g+u.left),j=i.pageY-(t+u.top);N=N*(f/u.width),j=j*(c/u.height),Browser.mouseMovementX=N-Browser.mouseX,Browser.mouseMovementY=j-Browser.mouseY,Browser.mouseX=N,Browser.mouseY=j}},asyncLoad:function(i,u,f,c){var g=c?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),g&&removeRunDependency(g)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),g&&addRunDependency(g)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(u){u(i.width,i.height)})},setCanvasSize:function(i,u,f){var c=Module.canvas;Browser.updateCanvasDimensions(c,i,u),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,u,f){u&&f?(i.widthNative=u,i.heightNative=f):(u=i.widthNative,f=i.heightNative);var c=u,g=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(c/g>2];return u},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),u=SYSCALLS.get();return i>=0?assert(u===0):assert(u===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(c){return(typeof FS=="undefined"||!(c instanceof FS.ErrnoError))&&abort(c),-c.errno}}function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var u=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(x,D,L,N,j,$){if(D==1){var h=N&896;(h==128||h==256||h==384)&&(x="X const")}var re;return $?re=L.replace("X",x).replace("Y",j):re=x.replace("X",L).replace("Y",j),re.replace(/([*&]) (?=[*&])/g,"$1")}function c(x,D,L,N,j){throw new Error(x+" type "+L.replace("X",D+"?")+(N?" with flag "+N:"")+" in "+j)}function g(x,D,L,N,j,$,h,re){$===void 0&&($="X"),re===void 0&&(re=1);var ce=L(x);if(ce)return ce;var Q=N(x),oe=Q.placeholderFlag,Se=u[oe];h&&Se&&($=f(h[2],h[0],$,Se[0],"?",!0));var me;oe==0&&(me="Unbound"),oe>=10&&(me="Corrupt"),re>20&&(me="Deeply nested"),me&&c(me,x,$,oe,j||"?");var De=Q.paramList[0],J=g(De,D,L,N,j,$,Se,re+1),Te,Oe={flags:Se[0],id:x,name:"",paramList:[J]},Le=[],ot="?";switch(Q.placeholderFlag){case 1:Te=J.spec;break;case 2:if((J.flags&15360)==1024&&J.spec.ptrSize==1){Oe.flags=7168;break}case 3:case 6:case 5:Te=J.spec,(J.flags&15360)!=2048;break;case 8:ot=""+Q.paramList[1],Oe.paramList.push(Q.paramList[1]);break;case 9:for(var ct=0,Ue=Q.paramList[1];ct>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=SYSCALLS.get(),C=SYSCALLS.get(),A=g;return FS.llseek(f,A,C),HEAP32[t>>2]=f.position,f.getdents&&A===0&&C===0&&(f.getdents=null),0}catch(x){return(typeof FS=="undefined"||!(x instanceof FS.ErrnoError))&&abort(x),-x.errno}}function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(L,N){var j=___syscall146.buffers[L];assert(j),N===0||N===10?((L===1?Module.print:Module.printErr)(UTF8ArrayToString(j,0)),j.length=0):j.push(N)});for(var C=0;C>2],x=HEAP32[c+(C*8+4)>>2],D=0;Di.pageSize/2||u>i.pageSize-f){var c=_nbind.typeNameTbl.NBind.proto;return c.lalloc(u)}else return HEAPU32[i.usedPtr]=f+u,i.rootPtr+f},i.lreset=function(u,f){var c=HEAPU32[i.pagePtr];if(c){var g=_nbind.typeNameTbl.NBind.proto;g.lreset(u,f)}else HEAPU32[i.usedPtr]=u},i}();_nbind.Pool=Pool;function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],c=new f(u);return typeIdTbl[u.id]=c,_nbind.typeNameTbl[u.name]=c,c}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var c=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return u==9&&(c=[c[0],c.slice(1)]),{paramList:c,placeholderFlag:u}}_nbind.queryType=queryType;function getTypes(i,u){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,u):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i/4,i/4+u)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,u-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;u[readAsciiString(f)]=!0,i+=4}return u}_nbind.readPolicyList=readPolicyList;function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},c=i.map(function(t){return f[t.name]||"i"}).join(""),g=Module["dynCall_"+c];if(!g)throw new Error("dynCall_"+c+" not found for "+u+"("+i.map(function(t){return t.name}).join(", ")+")");return g}_nbind.getDynCall=getDynCall;function addMethod(i,u,f,c){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity||g.arity===0)&&(g=_nbind.makeOverloader(g,g.arity),i[u]=g),g.addMethod(f,c)):(f.arity=c,i[u]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return u.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},u.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},u}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(u,i);function u(f){var c=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return c.heap=g[f.ptrSize*8],c.ptrSize=f.ptrSize,c}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="number")return g;throw new Error("Type mismatch")}},u}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw new Error("Type mismatch")}if(u&&u.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,c=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,c,f),c}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return u.prototype.makeWireWrite=function(f,c){return function(g){return pushCString(g,c)}},u}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(c){return!!c},f}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireRead=function(f){return"!!("+f+")"},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="boolean")return g;throw new Error("Type mismatch")}||f},u}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,u){var f=function(c){__extends(g,c);function g(t,C,A,x){var D=c.call(this)||this;if(!(D instanceof g))return new(Function.prototype.bind.apply(g,Array.prototype.concat.apply([null],arguments)));var L=C,N=A,j=x;if(t!==_nbind.ptrMarker){var $=D.__nbindConstructor.apply(D,arguments);L=4096|512,j=HEAPU32[$/4],N=HEAPU32[$/4+1]}var h={configurable:!0,enumerable:!1,value:null,writable:!1},re={__nbindFlags:L,__nbindPtr:N};j&&(re.__nbindShared=j,_nbind.mark(D));for(var ce=0,Q=Object.keys(re);ce>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(u)return _nbind.popShared(i,u);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?C=Buffer.from(t):C=new Buffer(t),C.copy(c)}else getBuffer(c).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,u=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,u,f,c,g,t){try{Module.dynCall_viiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_fiff(i,u,f,c){try{return Module.dynCall_fiff(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,u,f,c,g){try{Module.dynCall_viddi(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,u,f,c){try{Module.dynCall_vidd(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_iiii(i,u,f,c){try{return Module.dynCall_iiii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_diii(i,u,f,c){try{return Module.dynCall_diii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiddi(i,u,f,c,g,t){try{Module.dynCall_viiddi(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiiiii(i,u,f,c,g,t,C){try{Module.dynCall_viiiiii(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_iiiiii(i,u,f,c,g,t){try{return Module.dynCall_iiiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiid(i,u,f,c,g){try{Module.dynCall_viiid(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,u,f,c,g,t,C){try{Module.dynCall_viififi(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(i,u,f,c){try{Module.dynCall_viii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viid(i,u,f,c){try{Module.dynCall_viid(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiii(i,u,f,c,g){try{Module.dynCall_viiii(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,u,f){var c=new i.Int8Array(f),g=new i.Int16Array(f),t=new i.Int32Array(f),C=new i.Uint8Array(f),A=new i.Uint16Array(f),x=new i.Uint32Array(f),D=new i.Float32Array(f),L=new i.Float64Array(f),N=u.DYNAMICTOP_PTR|0,j=u.tempDoublePtr|0,$=u.ABORT|0,h=u.STACKTOP|0,re=u.STACK_MAX|0,ce=u.cttz_i8|0,Q=u.___dso_handle|0,oe=0,Se=0,me=0,De=0,J=i.NaN,Te=i.Infinity,Oe=0,Le=0,ot=0,ct=0,Ue=0,be=0,At=i.Math.floor,Ot=i.Math.abs,Nt=i.Math.sqrt,Je=i.Math.pow,V=i.Math.cos,ne=i.Math.sin,ge=i.Math.tan,Z=i.Math.acos,Ae=i.Math.asin,at=i.Math.atan,it=i.Math.atan2,Ft=i.Math.exp,jt=i.Math.log,hn=i.Math.ceil,Un=i.Math.imul,Jt=i.Math.min,Yt=i.Math.max,cr=i.Math.clz32,w=i.Math.fround,pt=u.abort,Mn=u.assert,Bn=u.enlargeMemory,Xn=u.getTotalMemory,vr=u.abortOnCannotGrowMemory,gr=u.invoke_viiiii,r0=u.invoke_vif,Ci=u.invoke_vid,yo=u.invoke_fiff,Ds=u.invoke_vi,Mu=u.invoke_vii,Gf=u.invoke_ii,iu=u.invoke_viddi,ou=u.invoke_vidd,ol=u.invoke_iiii,ul=u.invoke_diii,Es=u.invoke_di,Uo=u.invoke_iid,sl=u.invoke_iii,Ss=u.invoke_viiddi,Cs=u.invoke_viiiiii,Ti=u.invoke_dii,Fu=u.invoke_i,ll=u.invoke_iiiiii,fl=u.invoke_viiid,cl=u.invoke_viififi,al=u.invoke_viii,Ui=u.invoke_v,Mr=u.invoke_viid,Ac=u.invoke_idd,of=u.invoke_viiii,Ts=u._emscripten_asm_const_iiiii,xs=u._emscripten_asm_const_iiidddddd,dl=u._emscripten_asm_const_iiiid,qi=u.__nbind_reference_external,qo=u._emscripten_asm_const_iiiiiiii,kr=u._removeAccessorPrefix,Fr=u._typeModule,si=u.__nbind_register_pool,H0=u.__decorate,b0=u._llvm_stackrestore,Bt=u.___cxa_atexit,Lu=u.__extends,c0=u.__nbind_get_value_object,Ru=u.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,ks=u._emscripten_set_main_loop_timing,As=u.__nbind_register_primitive,uu=u.__nbind_register_type,wo=u._emscripten_memcpy_big,zo=u.__nbind_register_function,Os=u.___setErrNo,Is=u.__nbind_register_class,uf=u.__nbind_finish,_n=u._abort,Nu=u._nbind_value,Wo=u._llvm_stacksave,su=u.___syscall54,Ps=u._defineHidden,pl=u._emscripten_set_main_loop,Vf=u._emscripten_get_now,hl=u.__nbind_register_callback_signature,Bu=u._emscripten_asm_const_iiiiii,ju=u.__nbind_free_external,sf=u._emscripten_asm_const_iiii,ro=u._emscripten_asm_const_iiididi,Ms=u.___syscall6,ml=u._atexit,Uu=u.___syscall140,G0=u.___syscall146,Fs=w(0);let tt=w(0);function zi(e){e=e|0;var n=0;return n=h,h=h+e|0,h=h+15&-16,n|0}function lu(){return h|0}function Ho(e){e=e|0,h=e}function O0(e,n){e=e|0,n=n|0,h=e,re=n}function vl(e,n){e=e|0,n=n|0,oe||(oe=e,Se=n)}function gl(e){e=e|0,be=e}function fu(){return be|0}function _l(){var e=0,n=0;vn(8104,8,400)|0,vn(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));c[9088]=0,c[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Bt(17,8104,Q|0)|0}function Sn(e){e=e|0,lf(e+948|0)}function gt(e){return e=w(e),((Ar(e)|0)&2147483647)>>>0>2139095040|0}function en(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function I0(e){e=e|0;var n=0;return n=uh(1e3)|0,li(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,vn(n|0,8104,1e3)|0,c[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function li(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,zs(e,5,3197,o)),h=s}function qu(){return I0(956)|0}function Wi(e){e=e|0;var n=0;return n=Tt(1e3)|0,zu(n,e),li(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function zu(e,n){e=e|0,n=n|0;var r=0;vn(e|0,n|0,948)|0,af(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function Wu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Ls(r+948|0,e)|0,t[n>>2]=0),r=fi(e)|0,r|0){n=0;do t[(e0(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,o=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(o|0)&&(t[s>>2]=n+(~((n+-4-o|0)>>>2)<<2)),io(r),sh(e),t[2276]=(t[2276]|0)+-1}function Ls(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e+4|0,r=t[_>>2]|0,l=r;e:do if((o|0)==(r|0))s=o,d=4;else for(e=o;;){if((t[e>>2]|0)==(n|0)){s=e,d=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(d|0)==4&&((s|0)!=(r|0)?(o=s+4|0,e=l-o|0,n=e>>2,n&&(Y1(s|0,o|0,e|0)|0,r=t[_>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[_>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function fi(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function e0(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function io(e){e=e|0;var n=0,r=0,o=0,s=0;o=h,h=h+32|0,n=o,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,z(n,s,s,e+8|0),dr(e,n),Or(n)),h=o}function D0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;k=fi(e)|0;do if(k|0){if((t[(e0(e,0)|0)+944>>2]|0)==(e|0)){if(!(Ls(e+948|0,n)|0))break;vn(n+400|0,8504,540)|0,t[n+944>>2]=0,ln(e);break}d=t[(t[e+976>>2]|0)+12>>2]|0,_=e+948|0,y=(d|0)==0,r=0,l=0;do o=t[(t[_>>2]|0)+(l<<2)>>2]|0,(o|0)==(n|0)?ln(e):(s=Wi(o)|0,t[(t[_>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,y||Q4[d&15](o,s,e,r),r=r+1|0),l=l+1|0;while((l|0)!=(k|0));if(r>>>0>>0){y=e+948|0,_=e+952|0,d=r,r=t[_>>2]|0;do l=(t[y>>2]|0)+(d<<2)|0,o=l+4|0,s=r-o|0,n=s>>2,n&&(Y1(l|0,o|0,s|0)|0,r=t[_>>2]|0),s=r,o=l+(n<<2)|0,(s|0)!=(o|0)&&(r=s+(~((s+-4-o|0)>>>2)<<2)|0,t[_>>2]=r),d=d+1|0;while((d|0)!=(k|0))}}while(0)}function Do(e){e=e|0;var n=0,r=0,o=0,s=0;i0(e,(fi(e)|0)==0,2491),i0(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,o=e+952|0,s=t[o>>2]|0,(s|0)!=(r|0)&&(t[o>>2]=s+(~((s+-4-r|0)>>>2)<<2)),io(n),n=e+976|0,r=t[n>>2]|0,vn(e|0,8104,1e3)|0,c[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,wn(e,5,3197,o)),h=s}function Rs(){return t[2276]|0}function a0(){var e=0;return e=uh(20)|0,Hu((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Hu(e,n){e=e|0,n=n|0;var r=0,o=0;o=h,h=h+16|0,r=o,e||(t[r>>2]=n,wn(0,5,3197,r)),h=o}function V0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}function bu(e,n){e=e|0,n=n|0;var r=0;n?(i0(e,(fi(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ns(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+8|0,s=o+4|0,d=o,t[s>>2]=n,i0(e,(t[n+944>>2]|0)==0,2709),i0(e,(t[e+964>>2]|0)==0,2763),bo(e),n=e+948|0,t[d>>2]=(t[n>>2]|0)+(r<<2),t[l>>2]=t[d>>2],P0(n,l,s)|0,t[(t[s>>2]|0)+944>>2]=e,ln(e),h=o}function bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=fi(e)|0,r|0?(t[(e0(e,0)|0)+944>>2]|0)!=(e|0):0){o=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,l=(o|0)==0,n=0;do d=t[(t[s>>2]|0)+(n<<2)>>2]|0,_=Wi(d)|0,t[(t[s>>2]|0)+(n<<2)>>2]=_,t[_+944>>2]=e,l||Q4[o&15](d,_,e,n),n=n+1|0;while((n|0)!=(r|0))}}function P0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0;Pe=h,h=h+64|0,P=Pe+52|0,_=Pe+48|0,q=Pe+28|0,we=Pe+24|0,le=Pe+20|0,ie=Pe,o=t[e>>2]|0,l=o,n=o+((t[n>>2]|0)-l>>2<<2)|0,o=e+4|0,s=t[o>>2]|0,d=e+8|0;do if(s>>>0<(t[d>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[o>>2]=(t[o>>2]|0)+4;break}Qn(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[o>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{o=(s-l>>2)+1|0,s=Q0(e)|0,s>>>0>>0&&$n(e),T=t[e>>2]|0,k=(t[d>>2]|0)-T|0,l=k>>1,z(ie,k>>2>>>0>>1>>>0?l>>>0>>0?o:l:s,n-T>>2,e+8|0),T=ie+8|0,o=t[T>>2]|0,l=ie+12|0,k=t[l>>2]|0,d=k,y=o;do if((o|0)==(k|0)){if(k=ie+4|0,o=t[k>>2]|0,ke=t[ie>>2]|0,s=ke,o>>>0<=ke>>>0){o=d-s>>1,o=(o|0)==0?1:o,z(q,o,o>>>2,t[ie+16>>2]|0),t[we>>2]=t[k>>2],t[le>>2]=t[T>>2],t[_>>2]=t[we>>2],t[P>>2]=t[le>>2],s0(q,_,P),o=t[ie>>2]|0,t[ie>>2]=t[q>>2],t[q>>2]=o,o=q+4|0,ke=t[k>>2]|0,t[k>>2]=t[o>>2],t[o>>2]=ke,o=q+8|0,ke=t[T>>2]|0,t[T>>2]=t[o>>2],t[o>>2]=ke,o=q+12|0,ke=t[l>>2]|0,t[l>>2]=t[o>>2],t[o>>2]=ke,Or(q),o=t[T>>2]|0;break}l=o,d=((l-s>>2)+1|0)/-2|0,_=o+(d<<2)|0,s=y-l|0,l=s>>2,l&&(Y1(_|0,o|0,s|0)|0,o=t[k>>2]|0),ke=_+(l<<2)|0,t[T>>2]=ke,t[k>>2]=o+(d<<2),o=ke}while(0);t[o>>2]=t[r>>2],t[T>>2]=(t[T>>2]|0)+4,n=nn(e,ie,n)|0,Or(ie)}while(0);return h=Pe,n|0}function ln(e){e=e|0;var n=0;do{if(n=e+984|0,c[n>>0]|0)break;c[n>>0]=1,D[e+504>>2]=w(J),e=t[e+944>>2]|0}while((e|0)!=0)}function lf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function nr(e){return e=e|0,t[e+944>>2]|0}function rr(e){e=e|0,i0(e,(t[e+964>>2]|0)!=0,2832),ln(e)}function Go(e){return e=e|0,(c[e+984>>0]|0)!=0|0}function Gu(e,n){e=e|0,n=n|0,fL(e,n,400)|0&&(vn(e|0,n|0,400)|0,ln(e))}function yl(e){e=e|0;var n=tt;return n=w(D[e+44>>2]),e=gt(n)|0,w(e?w(0):n)}function cu(e){e=e|0;var n=tt;return n=w(D[e+48>>2]),gt(n)|0&&(n=c[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Bs(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Vu(e){return e=e|0,t[e+980>>2]|0}function M0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function au(e){return e=e|0,t[e+4>>2]|0}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function F(e){return e=e|0,t[e+8>>2]|0}function R(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function U(e){return e=e|0,t[e+12>>2]|0}function H(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function fe(e){return e=e|0,t[e+16>>2]|0}function ue(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function de(e){return e=e|0,t[e+20>>2]|0}function W(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function ve(e){return e=e|0,t[e+24>>2]|0}function Fe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Ge(e){return e=e|0,t[e+28>>2]|0}function K(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function xe(e){return e=e|0,t[e+32>>2]|0}function je(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Xe(e){return e=e|0,t[e+36>>2]|0}function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function st(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function xt(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function wt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+52|0,s=e+56|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function lt(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function Rt(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function yn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function sn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function rn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Hn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function d0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function Cr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(D[e+60+(n<<3)>>2]=w(J),t[r>>2]=3,ln(e))}function He(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Qe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Ne(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function ft(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function St(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}function Qt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+348|0,s=e+352|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Cn(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(J),t[n>>2]=3,ln(e))}function p0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function h0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+356|0,s=e+360|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function ci(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function xi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(J),t[n>>2]=3,ln(e))}function E0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function qr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Eo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function So(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function wl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function js(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Dl(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function du(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Yu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Us(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function oo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Hi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function qs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function F0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function Gr(e){return e=e|0,w(D[e+396>>2])}function ir(e){return e=e|0,w(D[e+400>>2])}function L0(e){return e=e|0,w(D[e+404>>2])}function Y0(e){return e=e|0,w(D[e+408>>2])}function Co(e){return e=e|0,w(D[e+412>>2])}function $u(e){return e=e|0,w(D[e+416>>2])}function Vo(e){return e=e|0,w(D[e+420>>2])}function Rr(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+424+(n<<2)>>2])}function Jn(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+448+(n<<2)>>2])}function ai(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+472+(n<<2)>>2])}function o0(e,n){e=e|0,n=n|0;var r=0,o=tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(o=w(D[e>>2]),e=w(Ot(w(o-w(D[n>>2]))))>2]=0,t[o+4>>2]=0,t[o+8>>2]=0,Ru(o|0,e|0,n|0,0),wn(e,3,(c[o+11>>0]|0)<0?t[o>>2]|0:o,r),ML(o),h=r}function $0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=tt;e=w(e*n),s=w(V4(e,w(1)));do if(Vr(s,w(0))|0)e=w(e-s);else{if(e=w(e-s),Vr(s,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}o||(s>w(.5)?s=w(1):(o=Vr(s,w(.5))|0,s=w(o?1:0)),e=w(e+s))}while(0);return w(e/n)}function K0(e,n,r,o,s,l,d,_,y,k,T,P,q){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,_=w(_),y=w(y),k=w(k),T=w(T),P=w(P),q=q|0;var we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt;return y>2]),le!=w(0)):0)?(Pe=w($0(n,le,0,0)),ke=w($0(o,le,0,0)),ie=w($0(l,le,0,0)),le=w($0(_,le,0,0))):(ie=l,Pe=n,le=_,ke=o),(s|0)==(e|0)?we=Vr(ie,Pe)|0:we=0,(d|0)==(r|0)?q=Vr(le,ke)|0:q=0,((we?0:(qe=w(n-T),!(ae(e,qe,y)|0)))?!(Be(e,qe,s,y)|0):0)?we=Ie(e,qe,s,l,y)|0:we=1,((q?0:(pe=w(o-P),!(ae(r,pe,k)|0)))?!(Be(r,pe,d,k)|0):0)?q=Ie(r,pe,d,_,k)|0:q=1,q=we&q),q|0}function ae(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Vr(n,r)|0:e=0,e|0}function Be(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?n>=o?e=1:e=Vr(n,o)|0:e=0,e|0}function Ie(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&(r|0)==2&o>n?s<=n?e=1:e=Vr(n,s)|0:e=0,e|0}function ht(e,n,r,o,s,l,d,_,y,k,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0,T=T|0;var P=0,q=0,we=0,le=0,ie=tt,Pe=tt,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=tt,Ki=tt,Xi=tt,Ji=0,Ro=0;zt=h,h=h+160|0,It=zt+152|0,Ht=zt+120|0,Ln=zt+104|0,pe=zt+72|0,le=zt+56|0,vt=zt+8|0,qe=zt,_e=(t[2279]|0)+1|0,t[2279]=_e,gn=e+984|0,((c[gn>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?ke=4:(t[e+516>>2]|0)==(o|0)?Pn=0:ke=4,(ke|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,D[e+932>>2]=w(-1),D[e+936>>2]=w(-1),Pn=1);e:do if(t[e+964>>2]|0)if(ie=w(mt(e,2,d)),Pe=w(mt(e,0,d)),P=e+916|0,Xi=w(D[P>>2]),Ki=w(D[e+920>>2]),Dr=w(D[e+932>>2]),K0(s,n,l,r,t[e+924>>2]|0,Xi,t[e+928>>2]|0,Ki,Dr,w(D[e+936>>2]),ie,Pe,T)|0)ke=22;else if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,Dr=w(D[P>>2]),Ki=w(D[e+524+(q*24|0)+4>>2]),Xi=w(D[e+524+(q*24|0)+16>>2]),K0(s,n,l,r,t[e+524+(q*24|0)+8>>2]|0,Dr,t[e+524+(q*24|0)+12>>2]|0,Ki,Xi,w(D[e+524+(q*24|0)+20>>2]),ie,Pe,T)|0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}else{if(y){if(P=e+916|0,!(Vr(w(D[P>>2]),n)|0)){ke=21;break}if(!(Vr(w(D[e+920>>2]),r)|0)){ke=21;break}if((t[e+924>>2]|0)!=(s|0)){ke=21;break}P=(t[e+928>>2]|0)==(l|0)?P:0,ke=22;break}if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,((Vr(w(D[P>>2]),n)|0?Vr(w(D[e+524+(q*24|0)+4>>2]),r)|0:0)?(t[e+524+(q*24|0)+8>>2]|0)==(s|0):0)?(t[e+524+(q*24|0)+12>>2]|0)==(l|0):0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}}while(0);do if((ke|0)==21)c[11697]|0?(P=0,ke=28):(P=0,ke=31);else if((ke|0)==22){if(q=(c[11697]|0)!=0,!((P|0)!=0&(Pn^1)))if(q){ke=28;break}else{ke=31;break}le=P+16|0,t[e+908>>2]=t[le>>2],we=P+20|0,t[e+912>>2]=t[we>>2],(c[11698]|0)==0|q^1||(t[qe>>2]=Gn(_e)|0,t[qe+4>>2]=_e,wn(e,4,2972,qe),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),s=$t(s,y)|0,l=$t(l,y)|0,Ro=+w(D[le>>2]),Ji=+w(D[we>>2]),t[vt>>2]=s,t[vt+4>>2]=l,L[vt+8>>3]=+n,L[vt+16>>3]=+r,L[vt+24>>3]=Ro,L[vt+32>>3]=Ji,t[vt+40>>2]=k,wn(e,4,2989,vt))}while(0);return(ke|0)==28&&(q=Gn(_e)|0,t[le>>2]=q,t[le+4>>2]=_e,t[le+8>>2]=Pn?3047:11699,wn(e,4,3038,le),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,ke=$t(l,y)|0,t[pe>>2]=vt,t[pe+4>>2]=ke,L[pe+8>>3]=+n,L[pe+16>>3]=+r,t[pe+24>>2]=k,wn(e,4,3049,pe),ke=31),(ke|0)==31&&(X0(e,n,r,o,s,l,d,_,y,T),c[11697]|0&&(q=t[2279]|0,vt=Gn(q)|0,t[Ln>>2]=vt,t[Ln+4>>2]=q,t[Ln+8>>2]=Pn?3047:11699,wn(e,4,3083,Ln),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,Ln=$t(l,y)|0,Ji=+w(D[e+908>>2]),Ro=+w(D[e+912>>2]),t[Ht>>2]=vt,t[Ht+4>>2]=Ln,L[Ht+8>>3]=Ji,L[Ht+16>>3]=Ro,t[Ht+24>>2]=k,wn(e,4,3092,Ht)),t[e+516>>2]=o,P||(q=e+520|0,P=t[q>>2]|0,(P|0)==16&&(c[11697]|0&&wn(e,4,3124,It),t[q>>2]=0,P=0),y?P=e+916|0:(t[q>>2]=P+1,P=e+524+(P*24|0)|0),D[P>>2]=n,D[P+4>>2]=r,t[P+8>>2]=s,t[P+12>>2]=l,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),y&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],c[e+985>>0]=1,c[gn>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],h=zt,Pn|(P|0)==0|0}function mt(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(Tr(e,n,r)),w(o+w(R0(e,n,r)))}function wn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=h,h=h+16|0,s=l,t[s>>2]=o,e?o=t[e+976>>2]|0:o=0,Ku(o,e,n,r,s),h=l}function Gn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function $t(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+32|0,r=s+12|0,o=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[o>>2]=t[257],t[o+4>>2]=t[258],t[o+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?o:r)+(e<<2)>>2]|0,h=s,e|0}function X0(e,n,r,o,s,l,d,_,y,k){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0;var T=0,P=0,q=0,we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt,_e=tt,vt=0,Ln=0,Ht=0,It=tt,gn=tt,Pn=0,zt=tt,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=tt,Rf=tt,Zs=tt,el=tt,ss=tt,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=tt,tl=tt,ql=tt,zl=tt,Li=tt,Di=tt,ku=0,xr=tt,Wl=tt,Qi=tt,ls=tt,Zi=tt,fs=tt,Hl=0,bl=0,cs=tt,Ri=tt,Au=0,Gl=0,Vl=0,Yl=0,En=tt,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0,kt=tt,$l=0,Qr=0;Ou=h,h=h+16|0,Fi=Ou+12|0,nu=Ou+8|0,go=Ou+4|0,xu=Ou,i0(e,(s|0)==0|(gt(n)|0)^1,3326),i0(e,(l|0)==0|(gt(r)|0)^1,3406),Ei=so(e,o)|0,t[e+496>>2]=Ei,xn=N0(2,Ei)|0,Vt=N0(0,Ei)|0,D[e+440>>2]=w(Tr(e,xn,d)),D[e+444>>2]=w(R0(e,xn,d)),D[e+428>>2]=w(Tr(e,Vt,d)),D[e+436>>2]=w(R0(e,Vt,d)),D[e+464>>2]=w(C0(e,xn)),D[e+468>>2]=w(di(e,xn)),D[e+452>>2]=w(C0(e,Vt)),D[e+460>>2]=w(di(e,Vt)),D[e+488>>2]=w(u0(e,xn,d)),D[e+492>>2]=w(v0(e,xn,d)),D[e+476>>2]=w(u0(e,Vt,d)),D[e+484>>2]=w(v0(e,Vt,d));do if(t[e+964>>2]|0)To(e,n,r,s,l,d,_);else{if(eo=e+948|0,Ni=(t[e+952>>2]|0)-(t[eo>>2]|0)>>2,!Ni){pu(e,n,r,s,l,d,_);break}if(y?0:Sl(e,n,r,s,l,d,_)|0)break;bo(e),Tu=e+508|0,c[Tu>>0]=0,xn=N0(t[e+4>>2]|0,Ei)|0,Vt=Cl(xn,Ei)|0,br=Nr(xn)|0,Ff=t[e+8>>2]|0,Gl=e+28|0,us=(t[Gl>>2]|0)!=0,Zi=br?d:_,cs=br?_:d,Lf=w(B0(e,xn,d)),Rf=w(hu(e,xn,d)),le=w(B0(e,Vt,d)),fs=w(Fn(e,xn,d)),Ri=w(Fn(e,Vt,d)),Ht=br?s:l,Au=br?l:s,En=br?fs:Ri,qe=br?Ri:fs,ls=w(mt(e,2,d)),ke=w(mt(e,0,d)),ie=w(w(Tn(e+364|0,d))-En),Pe=w(w(Tn(e+380|0,d))-En),pe=w(w(Tn(e+372|0,_))-qe),_e=w(w(Tn(e+388|0,_))-qe),Zs=br?ie:pe,el=br?Pe:_e,ls=w(n-ls),n=w(ls-En),gt(n)|0?En=n:En=w(Ur(w(cc(n,Pe)),ie)),Wl=w(r-ke),n=w(Wl-qe),gt(n)|0?Qi=n:Qi=w(Ur(w(cc(n,_e)),pe)),ie=br?En:Qi,xr=br?Qi:En;e:do if((Ht|0)==1)for(o=0,P=0;;){if(T=e0(e,P)|0,!o)(w(Br(T))>w(0)?w(zr(T))>w(0):0)?o=T:o=0;else if(pi(T)|0){we=0;break e}if(P=P+1|0,P>>>0>=Ni>>>0){we=o;break}}else we=0;while(0);vt=we+500|0,Ln=we+504|0,o=0,T=0,n=w(0),q=0;do{if(P=t[(t[eo>>2]|0)+(q<<2)>>2]|0,(t[P+36>>2]|0)==1)lo(P),c[P+985>>0]=1,c[P+984>>0]=0;else{$r(P),y&&Yo(P,so(P,Ei)|0,ie,xr,En);do if((t[P+24>>2]|0)!=1)if((P|0)==(we|0)){t[vt>>2]=t[2278],D[Ln>>2]=w(0);break}else{wr(e,P,En,s,Qi,En,Qi,l,Ei,k);break}else T|0&&(t[T+960>>2]=P),t[P+960>>2]=0,T=P,o=(o|0)==0?P:o;while(0);Di=w(D[P+504>>2]),n=w(n+w(Di+w(mt(P,xn,En))))}q=q+1|0}while((q|0)!=(Ni|0));for(Xi=n>ie,ku=us&((Ht|0)==2&Xi)?1:Ht,Dr=(Au|0)==1,Ro=Dr&(y^1),kf=(ku|0)==1,Af=(ku|0)==2,Cu=976+(xn<<2)|0,Of=(Au|2|0)==2,Mf=Dr&(us^1),Js=1040+(Vt<<2)|0,Qs=1040+(xn<<2)|0,If=976+(Vt<<2)|0,Pf=(Au|0)!=1,Xi=us&((Ht|0)!=0&Xi),Ki=e+976|0,Dr=Dr^1,n=ie,Pn=0,Ji=0,Di=w(0),ss=w(0);;){e:do if(Pn>>>0>>0)for(Ln=t[eo>>2]|0,q=0,_e=w(0),pe=w(0),Pe=w(0),ie=w(0),P=0,T=0,we=Pn;;){if(vt=t[Ln+(we<<2)>>2]|0,(t[vt+36>>2]|0)!=1?(t[vt+940>>2]=Ji,(t[vt+24>>2]|0)!=1):0){if(ke=w(mt(vt,xn,En)),Kn=t[Cu>>2]|0,r=w(Tn(vt+380+(Kn<<3)|0,Zi)),qe=w(D[vt+504>>2]),r=w(cc(r,qe)),r=w(Ur(w(Tn(vt+364+(Kn<<3)|0,Zi)),r)),us&(q|0)!=0&w(ke+w(pe+r))>n){l=q,ke=_e,Ht=we;break e}ke=w(ke+r),r=w(pe+ke),ke=w(_e+ke),pi(vt)|0&&(Pe=w(Pe+w(Br(vt))),ie=w(ie-w(qe*w(zr(vt))))),T|0&&(t[T+960>>2]=vt),t[vt+960>>2]=0,q=q+1|0,T=vt,P=(P|0)==0?vt:P}else ke=_e,r=pe;if(we=we+1|0,we>>>0>>0)_e=ke,pe=r;else{l=q,Ht=we;break}}else l=0,ke=w(0),Pe=w(0),ie=w(0),P=0,Ht=Pn;while(0);Kn=Pe>w(0)&Pew(0)&ieel&((gt(el)|0)^1))n=el,Kn=51;else if(c[(t[Ki>>2]|0)+3>>0]|0)Kn=51;else{if(It!=w(0)?w(Br(e))!=w(0):0){Kn=53;break}n=ke,Kn=53}while(0);if((Kn|0)==51&&(Kn=0,gt(n)|0?Kn=53:(gn=w(n-ke),zt=n)),(Kn|0)==53&&(Kn=0,ke>2]|0,we=gnw(0),pe=w(gn/It),Pe=w(0),ke=w(0),n=w(0),T=P;do r=w(Tn(T+380+(q<<3)|0,Zi)),ie=w(Tn(T+364+(q<<3)|0,Zi)),ie=w(cc(r,w(Ur(ie,w(D[T+504>>2]))))),we?(r=w(ie*w(zr(T))),(r!=w(-0)?(kt=w(ie-w(qe*r)),Ul=w(kn(T,xn,kt,zt,En)),kt!=Ul):0)&&(Pe=w(Pe-w(Ul-ie)),n=w(n+r))):((vt?(tl=w(Br(T)),tl!=w(0)):0)?(kt=w(ie+w(pe*tl)),ql=w(kn(T,xn,kt,zt,En)),kt!=ql):0)&&(Pe=w(Pe-w(ql-ie)),ke=w(ke-tl)),T=t[T+960>>2]|0;while((T|0)!=0);if(n=w(_e+n),ie=w(gn+Pe),jl)n=w(0);else{qe=w(It+ke),we=t[Cu>>2]|0,vt=iew(0),qe=w(ie/qe),n=w(0);do{kt=w(Tn(P+380+(we<<3)|0,Zi)),Pe=w(Tn(P+364+(we<<3)|0,Zi)),Pe=w(cc(kt,w(Ur(Pe,w(D[P+504>>2]))))),vt?(kt=w(Pe*w(zr(P))),ie=w(-kt),kt!=w(-0)?(kt=w(pe*ie),ie=w(kn(P,xn,w(Pe+(Ln?ie:kt)),zt,En))):ie=Pe):(q?(zl=w(Br(P)),zl!=w(0)):0)?ie=w(kn(P,xn,w(Pe+w(qe*zl)),zt,En)):ie=Pe,n=w(n-w(ie-Pe)),ke=w(mt(P,xn,En)),r=w(mt(P,Vt,En)),ie=w(ie+ke),D[nu>>2]=ie,t[xu>>2]=1,Pe=w(D[P+396>>2]);e:do if(gt(Pe)|0){T=gt(xr)|0;do if(!T){if(Xi|(m0(P,Vt,xr)|0|Dr)||(T0(e,P)|0)!=4||(t[(hi(P,Vt)|0)+4>>2]|0)==3||(t[(Ai(P,Vt)|0)+4>>2]|0)==3)break;D[Fi>>2]=xr,t[go>>2]=1;break e}while(0);if(m0(P,Vt,xr)|0){T=t[P+992+(t[If>>2]<<2)>>2]|0,kt=w(r+w(Tn(T,xr))),D[Fi>>2]=kt,T=Pf&(t[T+4>>2]|0)==2,t[go>>2]=((gt(kt)|0|T)^1)&1;break}else{D[Fi>>2]=xr,t[go>>2]=T?0:2;break}}else kt=w(ie-ke),It=w(kt/Pe),kt=w(Pe*kt),t[go>>2]=1,D[Fi>>2]=w(r+(br?It:kt));while(0);Kt(P,xn,zt,En,xu,nu),Kt(P,Vt,xr,En,go,Fi);do if(m0(P,Vt,xr)|0?0:(T0(e,P)|0)==4){if((t[(hi(P,Vt)|0)+4>>2]|0)==3){T=0;break}T=(t[(Ai(P,Vt)|0)+4>>2]|0)!=3}else T=0;while(0);kt=w(D[nu>>2]),It=w(D[Fi>>2]),$l=t[xu>>2]|0,Qr=t[go>>2]|0,ht(P,br?kt:It,br?It:kt,Ei,br?$l:Qr,br?Qr:$l,En,Qi,y&(T^1),3488,k)|0,c[Tu>>0]=c[Tu>>0]|c[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(gn+n),Qr=n>0]=Qr|C[Tu>>0],Af&n>w(0)?(T=t[Cu>>2]|0,((t[e+364+(T<<3)+4>>2]|0)!=0?(Li=w(Tn(e+364+(T<<3)|0,Zi)),Li>=w(0)):0)?ie=w(Ur(w(0),w(Li-w(zt-n)))):ie=w(0)):ie=n,vt=Pn>>>0>>0,vt){we=t[eo>>2]|0,q=Pn,T=0;do P=t[we+(q<<2)>>2]|0,t[P+24>>2]|0||(T=((t[(hi(P,xn)|0)+4>>2]|0)==3&1)+T|0,T=T+((t[(Ai(P,xn)|0)+4>>2]|0)==3&1)|0),q=q+1|0;while((q|0)!=(Ht|0));T?(ke=w(0),r=w(0)):Kn=101}else Kn=101;e:do if((Kn|0)==101)switch(Kn=0,Ff|0){case 1:{T=0,ke=w(ie*w(.5)),r=w(0);break e}case 2:{T=0,ke=ie,r=w(0);break e}case 3:{if(l>>>0<=1){T=0,ke=w(0),r=w(0);break e}r=w((l+-1|0)>>>0),T=0,ke=w(0),r=w(w(Ur(ie,w(0)))/r);break e}case 5:{r=w(ie/w((l+1|0)>>>0)),T=0,ke=r;break e}case 4:{r=w(ie/w(l>>>0)),T=0,ke=w(r*w(.5));break e}default:{T=0,ke=w(0),r=w(0);break e}}while(0);if(n=w(Lf+ke),vt){Pe=w(ie/w(T|0)),q=t[eo>>2]|0,P=Pn,ie=w(0);do{T=t[q+(P<<2)>>2]|0;e:do if((t[T+36>>2]|0)!=1){switch(t[T+24>>2]|0){case 1:{if(X(T,xn)|0){if(!y)break e;kt=w(Y(T,xn,zt)),kt=w(kt+w(C0(e,xn))),kt=w(kt+w(Tr(T,xn,En))),D[T+400+(t[Qs>>2]<<2)>>2]=kt;break e}break}case 0:if(Qr=(t[(hi(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,y&&(Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(n+w(D[Qr>>2]))),Qr=(t[(Ai(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,Ro){kt=w(r+w(mt(T,xn,En))),ie=xr,n=w(n+w(kt+w(D[T+504>>2])));break e}else{n=w(n+w(r+w(ye(T,xn,En)))),ie=w(Ur(ie,w(ye(T,Vt,En))));break e}default:}y&&(kt=w(ke+w(C0(e,xn))),Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2])))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}else ie=w(0);if(r=w(Rf+n),Of?ke=w(w(kn(e,Vt,w(Ri+ie),cs,d))-Ri):ke=xr,Pe=w(w(kn(e,Vt,w(Ri+(Mf?xr:ie)),cs,d))-Ri),vt&y){P=Pn;do{q=t[(t[eo>>2]|0)+(P<<2)>>2]|0;do if((t[q+36>>2]|0)!=1){if((t[q+24>>2]|0)==1){if(X(q,Vt)|0){if(kt=w(Y(q,Vt,xr)),kt=w(kt+w(C0(e,Vt))),kt=w(kt+w(Tr(q,Vt,En))),T=t[Js>>2]|0,D[q+400+(T<<2)>>2]=kt,!(gt(kt)|0))break}else T=t[Js>>2]|0;kt=w(C0(e,Vt)),D[q+400+(T<<2)>>2]=w(kt+w(Tr(q,Vt,En)));break}T=T0(e,q)|0;do if((T|0)==4){if((t[(hi(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if(m0(q,Vt,xr)|0){n=le;break}$l=t[q+908+(t[Cu>>2]<<2)>>2]|0,t[Fi>>2]=$l,n=w(D[q+396>>2]),Qr=gt(n)|0,ie=(t[j>>2]=$l,w(D[j>>2])),Qr?n=Pe:(gn=w(mt(q,Vt,En)),kt=w(ie/n),n=w(n*ie),n=w(gn+(br?kt:n))),D[nu>>2]=n,D[Fi>>2]=w(w(mt(q,xn,En))+ie),t[go>>2]=1,t[xu>>2]=1,Kt(q,xn,zt,En,go,Fi),Kt(q,Vt,xr,En,xu,nu),n=w(D[Fi>>2]),gn=w(D[nu>>2]),kt=br?n:gn,n=br?gn:n,Qr=((gt(kt)|0)^1)&1,ht(q,kt,n,Ei,Qr,((gt(n)|0)^1)&1,En,Qi,1,3493,k)|0,n=le}else Kn=139;while(0);e:do if((Kn|0)==139){Kn=0,n=w(ke-w(ye(q,Vt,En)));do if((t[(hi(q,Vt)|0)+4>>2]|0)==3){if((t[(Ai(q,Vt)|0)+4>>2]|0)!=3)break;n=w(le+w(Ur(w(0),w(n*w(.5)))));break e}while(0);if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){n=le;break}if((t[(hi(q,Vt)|0)+4>>2]|0)==3){n=w(le+w(Ur(w(0),n)));break}switch(T|0){case 1:{n=le;break e}case 2:{n=w(le+w(n*w(.5)));break e}default:{n=w(le+n);break e}}}while(0);kt=w(Di+n),Qr=q+400+(t[Js>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2]))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}if(Di=w(Di+Pe),ss=w(Ur(ss,r)),l=Ji+1|0,Ht>>>0>=Ni>>>0)break;n=zt,Pn=Ht,Ji=l}do if(y){if(T=l>>>0>1,T?0:!(he(e)|0))break;if(!(gt(xr)|0)){n=w(xr-Di);e:do switch(t[e+12>>2]|0){case 3:{le=w(le+n),pe=w(0);break}case 2:{le=w(le+w(n*w(.5))),pe=w(0);break}case 4:{xr>Di?pe=w(n/w(l>>>0)):pe=w(0);break}case 7:if(xr>Di){le=w(le+w(n/w(l<<1>>>0))),pe=w(n/w(l>>>0)),pe=T?pe:w(0);break e}else{le=w(le+w(n*w(.5))),pe=w(0);break e}case 6:{pe=w(n/w(Ji>>>0)),pe=xr>Di&T?pe:w(0);break}default:pe=w(0)}while(0);if(l|0)for(vt=1040+(Vt<<2)|0,Ln=976+(Vt<<2)|0,we=0,P=0;;){e:do if(P>>>0>>0)for(ie=w(0),Pe=w(0),n=w(0),q=P;;){T=t[(t[eo>>2]|0)+(q<<2)>>2]|0;do if((t[T+36>>2]|0)!=1?(t[T+24>>2]|0)==0:0){if((t[T+940>>2]|0)!=(we|0))break e;if(We(T,Vt)|0&&(kt=w(D[T+908+(t[Ln>>2]<<2)>>2]),n=w(Ur(n,w(kt+w(mt(T,Vt,En)))))),(T0(e,T)|0)!=5)break;Li=w(et(T)),Li=w(Li+w(Tr(T,0,En))),kt=w(D[T+912>>2]),kt=w(w(kt+w(mt(T,0,En)))-Li),Li=w(Ur(Pe,Li)),kt=w(Ur(ie,kt)),ie=kt,Pe=Li,n=w(Ur(n,w(Li+kt)))}while(0);if(T=q+1|0,T>>>0>>0)q=T;else{q=T;break}}else Pe=w(0),n=w(0),q=P;while(0);if(qe=w(pe+n),r=le,le=w(le+qe),P>>>0>>0){ke=w(r+Pe),T=P;do{P=t[(t[eo>>2]|0)+(T<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(T0(e,P)|0){case 1:{kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 3:{kt=w(w(le-w(R0(P,Vt,En)))-w(D[P+908+(t[Ln>>2]<<2)>>2])),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 2:{kt=w(r+w(w(qe-w(D[P+908+(t[Ln>>2]<<2)>>2]))*w(.5))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 4:{if(kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt,m0(P,Vt,xr)|0||(br?(ie=w(D[P+908>>2]),n=w(ie+w(mt(P,xn,En))),Pe=qe):(Pe=w(D[P+912>>2]),Pe=w(Pe+w(mt(P,Vt,En))),n=qe,ie=w(D[P+908>>2])),Vr(n,ie)|0?Vr(Pe,w(D[P+912>>2]))|0:0))break e;ht(P,n,Pe,Ei,1,1,En,Qi,1,3501,k)|0;break e}case 5:{D[P+404>>2]=w(w(ke-w(et(P)))+w(Y(P,0,xr)));break e}default:break e}while(0);T=T+1|0}while((T|0)!=(q|0))}if(we=we+1|0,(we|0)==(l|0))break;P=q}}}while(0);if(D[e+908>>2]=w(kn(e,2,ls,d,d)),D[e+912>>2]=w(kn(e,0,Wl,_,d)),((ku|0)!=0?(Hl=t[e+32>>2]|0,bl=(ku|0)==2,!(bl&(Hl|0)!=2)):0)?bl&(Hl|0)==2&&(n=w(fs+zt),n=w(Ur(w(cc(n,w(Dt(e,xn,ss,Zi)))),fs)),Kn=198):(n=w(kn(e,xn,ss,Zi,d)),Kn=198),(Kn|0)==198&&(D[e+908+(t[976+(xn<<2)>>2]<<2)>>2]=n),((Au|0)!=0?(Vl=t[e+32>>2]|0,Yl=(Au|0)==2,!(Yl&(Vl|0)!=2)):0)?Yl&(Vl|0)==2&&(n=w(Ri+xr),n=w(Ur(w(cc(n,w(Dt(e,Vt,w(Ri+Di),cs)))),Ri)),Kn=204):(n=w(kn(e,Vt,w(Ri+Di),cs,d)),Kn=204),(Kn|0)==204&&(D[e+908+(t[976+(Vt<<2)>>2]<<2)>>2]=n),y){if((t[Gl>>2]|0)==2){P=976+(Vt<<2)|0,q=1040+(Vt<<2)|0,T=0;do we=e0(e,T)|0,t[we+24>>2]|0||($l=t[P>>2]|0,kt=w(D[e+908+($l<<2)>>2]),Qr=we+400+(t[q>>2]<<2)|0,kt=w(kt-w(D[Qr>>2])),D[Qr>>2]=w(kt-w(D[we+908+($l<<2)>>2]))),T=T+1|0;while((T|0)!=(Ni|0))}if(o|0){T=br?ku:s;do bt(e,o,En,T,Qi,Ei,k),o=t[o+960>>2]|0;while((o|0)!=0)}if(T=(xn|2|0)==3,P=(Vt|2|0)==3,T|P){o=0;do q=t[(t[eo>>2]|0)+(o<<2)>>2]|0,(t[q+36>>2]|0)!=1&&(T&&Zt(e,q,xn),P&&Zt(e,q,Vt)),o=o+1|0;while((o|0)!=(Ni|0))}}}while(0);h=Ou}function ki(e,n){e=e|0,n=w(n);var r=0;li(e,n>=w(0),3147),r=n==w(0),D[e+4>>2]=r?w(0):n}function Yr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=tt,l=tt,d=0,_=0,y=0;t[2278]=(t[2278]|0)+1,$r(e),m0(e,2,n)|0?(s=w(Tn(t[e+992>>2]|0,n)),y=1,s=w(s+w(mt(e,2,n)))):(s=w(Tn(e+380|0,n)),s>=w(0)?y=2:(y=((gt(n)|0)^1)&1,s=n)),m0(e,0,r)|0?(l=w(Tn(t[e+996>>2]|0,r)),_=1,l=w(l+w(mt(e,0,n)))):(l=w(Tn(e+388|0,r)),l>=w(0)?_=2:(_=((gt(r)|0)^1)&1,l=r)),d=e+976|0,(ht(e,s,l,o,y,_,n,r,1,3189,t[d>>2]|0)|0?(Yo(e,t[e+496>>2]|0,n,r,n),bi(e,w(D[(t[d>>2]|0)+4>>2]),w(0),w(0)),c[11696]|0):0)&&ff(e,7)}function $r(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;_=h,h=h+32|0,d=_+24|0,l=_+16|0,o=_+8|0,s=_,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(y=n,k=t[y+4>>2]|0,T=o,t[T>>2]=t[y>>2],t[T+4>>2]=k,T=e+364+(r<<3)|0,k=t[T+4>>2]|0,y=s,t[y>>2]=t[T>>2],t[y+4>>2]=k,t[l>>2]=t[o>>2],t[l+4>>2]=t[o+4>>2],t[d>>2]=t[s>>2],t[d+4>>2]=t[s+4>>2],o0(l,d)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);h=_}function m0(e,n,r){e=e|0,n=n|0,r=w(r);var o=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(D[e>>2])>2])>2]|0){case 2:{n=w(w(w(D[e>>2])*n)/w(100));break}case 1:{n=w(D[e>>2]);break}default:n=w(J)}return w(n)}function Yo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=tt;n=t[e+944>>2]|0?n:1,l=N0(t[e+4>>2]|0,n)|0,n=Cl(l,n)|0,r=w(Wr(e,l,r)),o=w(Wr(e,n,o)),d=w(r+w(Tr(e,l,s))),D[e+400+(t[1040+(l<<2)>>2]<<2)>>2]=d,r=w(r+w(R0(e,l,s))),D[e+400+(t[1e3+(l<<2)>>2]<<2)>>2]=r,r=w(o+w(Tr(e,n,s))),D[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=w(o+w(R0(e,n,s))),D[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function bi(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=tt,_=tt,y=0,k=0,T=tt,P=0,q=tt,we=tt,le=tt,ie=tt;if(n!=w(0)&&(s=e+400|0,ie=w(D[s>>2]),l=e+404|0,le=w(D[l>>2]),P=e+416|0,we=w(D[P>>2]),k=e+420|0,d=w(D[k>>2]),q=w(ie+r),T=w(le+o),o=w(q+we),_=w(T+d),y=(t[e+988>>2]|0)==1,D[s>>2]=w($0(ie,n,0,y)),D[l>>2]=w($0(le,n,0,y)),r=w(V4(w(we*n),w(1))),Vr(r,w(0))|0?l=0:l=(Vr(r,w(1))|0)^1,r=w(V4(w(d*n),w(1))),Vr(r,w(0))|0?s=0:s=(Vr(r,w(1))|0)^1,ie=w($0(o,n,y&l,y&(l^1))),D[P>>2]=w(ie-w($0(q,n,0,y))),ie=w($0(_,n,y&s,y&(s^1))),D[k>>2]=w(ie-w($0(T,n,0,y))),l=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,l|0)){s=0;do bi(e0(e,s)|0,n,q,T),s=s+1|0;while((s|0)!=(l|0))}}function or(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:case 0:{e=q8(t[489]|0,o,s)|0;break}default:e=AL(o,s)|0}return e|0}function zs(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=h,h=h+16|0,l=s,t[l>>2]=o,Ku(e,0,n,r,l),h=s}function Ku(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,sD[t[e+8>>2]&1](e,n,r,o,s)|0,(r|0)==5)_n();else return}function J0(e,n,r){e=e|0,n=n|0,r=r|0,c[e+n>>0]=r&1}function af(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(S0(e,o),El(e,t[n>>2]|0,t[r>>2]|0,o))}function S0(e,n){e=e|0,n=n|0;var r=0;if((Q0(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function El(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function Q0(e){return e=e|0,1073741823}function Tr(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=en(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function R0(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=en(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function Nr(e){return e=e|0,(e|1|0)==3|0}function uo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Tn(e,n)),w(n)}function so(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function N0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function C0(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(D[e+308>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function di(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(D[e+316>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function u0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+240>>2]|0)!=0:0)?(o=w(Tn(e+236|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+248>>2]|0)!=0:0)?(o=w(Tn(e+244|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function To(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt,P=tt,q=tt,we=0,le=0,ie=0;ie=h,h=h+16|0,we=ie,le=e+964|0,i0(e,(t[le>>2]|0)!=0,3519),_=w(Fn(e,2,n)),y=w(Fn(e,0,n)),k=w(mt(e,2,n)),T=w(mt(e,0,n)),gt(n)|0?P=n:P=w(Ur(w(0),w(w(n-k)-_))),gt(r)|0?q=r:q=w(Ur(w(0),w(w(r-T)-y))),(o|0)==1&(s|0)==1?(D[e+908>>2]=w(kn(e,2,w(n-k),l,l)),n=w(kn(e,0,w(r-T),d,l))):(lD[t[le>>2]&1](we,e,P,o,q,s),P=w(_+w(D[we>>2])),q=w(n-k),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?P:q,l,l)),q=w(y+w(D[we+4>>2])),n=w(r-T),n=w(kn(e,0,(s|2|0)==2?q:n,d,l))),D[e+912>>2]=n,h=ie}function pu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt;k=w(Fn(e,2,l)),_=w(Fn(e,0,l)),T=w(mt(e,2,l)),y=w(mt(e,0,l)),n=w(n-T),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?k:n,l,l)),r=w(r-y),D[e+912>>2]=w(kn(e,0,(s|2|0)==2?_:r,d,l))}function Sl(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=0,y=tt,k=tt;return _=(o|0)==2,((n<=w(0)&_?0:!(r<=w(0)&(s|0)==2))?!((o|0)==1&(s|0)==1):0)?e=0:(y=w(mt(e,0,l)),k=w(mt(e,2,l)),_=n>2]=w(kn(e,2,_?w(0):n,l,l)),n=w(r-y),_=r>2]=w(kn(e,0,_?w(0):n,d,l)),e=1),e|0}function Cl(e,n){return e=e|0,n=n|0,qt(e)|0?e=N0(2,n)|0:e=0,e|0}function B0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(u0(e,n,r)),w(r+w(C0(e,n)))}function hu(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(di(e,n)))}function Fn(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(B0(e,n,r)),w(o+w(hu(e,n,r)))}function pi(e){return e=e|0,t[e+24>>2]|0?e=0:w(Br(e))!=w(0)?e=1:e=w(zr(e))!=w(0),e|0}function Br(e){e=e|0;var n=tt;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),gt(n)|0)return n=w(D[e+40>>2]),e=n>w(0)&((gt(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function zr(e){e=e|0;var n=tt,r=0,o=tt;do if(t[e+944>>2]|0){if(n=w(D[e+48>>2]),gt(n)|0){if(r=c[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(o=w(D[e+40>>2]),o>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function lo(e){e=e|0;var n=0,r=0;if(pa(e+400|0,0,540)|0,c[e+985>>0]=1,bo(e),r=fi(e)|0,r|0){n=e+948|0,e=0;do lo(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function wr(e,n,r,o,s,l,d,_,y,k){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),d=w(d),_=_|0,y=y|0,k=k|0;var T=0,P=tt,q=0,we=0,le=tt,ie=tt,Pe=0,ke=tt,qe=0,pe=tt,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0;Dr=h,h=h+16|0,Ln=Dr+12|0,Ht=Dr+8|0,It=Dr+4|0,gn=Dr,zt=N0(t[e+4>>2]|0,y)|0,_e=Nr(zt)|0,P=w(Tn(Ut(n)|0,_e?l:d)),vt=m0(n,2,l)|0,Pn=m0(n,0,d)|0;do if(gt(P)|0?0:!(gt(_e?r:s)|0)){if(T=n+504|0,!(gt(w(D[T>>2]))|0)&&(!(fn(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;D[T>>2]=w(Ur(P,w(Fn(n,zt,l))))}else q=7;while(0);do if((q|0)==7){if(qe=_e^1,!(qe|vt^1)){d=w(Tn(t[n+992>>2]|0,l)),D[n+504>>2]=w(Ur(d,w(Fn(n,2,l))));break}if(!(_e|Pn^1)){d=w(Tn(t[n+996>>2]|0,d)),D[n+504>>2]=w(Ur(d,w(Fn(n,0,l))));break}D[Ln>>2]=w(J),D[Ht>>2]=w(J),t[It>>2]=0,t[gn>>2]=0,ke=w(mt(n,2,l)),pe=w(mt(n,0,l)),vt?(le=w(ke+w(Tn(t[n+992>>2]|0,l))),D[Ln>>2]=le,t[It>>2]=1,we=1):(we=0,le=w(J)),Pn?(P=w(pe+w(Tn(t[n+996>>2]|0,d))),D[Ht>>2]=P,t[gn>>2]=1,T=1):(T=0,P=w(J)),q=t[e+32>>2]|0,_e&(q|0)==2?q=2:(gt(le)|0?!(gt(r)|0):0)&&(D[Ln>>2]=r,t[It>>2]=2,we=2,le=r),(((q|0)==2&qe?0:gt(P)|0)?!(gt(s)|0):0)&&(D[Ht>>2]=s,t[gn>>2]=2,T=2,P=s),ie=w(D[n+396>>2]),Pe=gt(ie)|0;do if(Pe)q=we;else{if((we|0)==1&qe){D[Ht>>2]=w(w(le-ke)/ie),t[gn>>2]=1,T=1,q=1;break}_e&(T|0)==1?(D[Ln>>2]=w(ie*w(P-pe)),t[It>>2]=1,T=1,q=1):q=we}while(0);Ki=gt(r)|0,we=(T0(e,n)|0)!=4,(_e|vt|((o|0)!=1|Ki)|(we|(q|0)==1)?0:(D[Ln>>2]=r,t[It>>2]=1,!Pe))&&(D[Ht>>2]=w(w(r-ke)/ie),t[gn>>2]=1,T=1),(Pn|qe|((_|0)!=1|(gt(s)|0))|(we|(T|0)==1)?0:(D[Ht>>2]=s,t[gn>>2]=1,!Pe))&&(D[Ln>>2]=w(ie*w(s-pe)),t[It>>2]=1),Kt(n,2,l,l,It,Ln),Kt(n,0,d,l,gn,Ht),r=w(D[Ln>>2]),s=w(D[Ht>>2]),ht(n,r,s,y,t[It>>2]|0,t[gn>>2]|0,l,d,0,3565,k)|0,d=w(D[n+908+(t[976+(zt<<2)>>2]<<2)>>2]),D[n+504>>2]=w(Ur(d,w(Fn(n,zt,l))))}while(0);t[n+500>>2]=t[2278],h=Dr}function kn(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(Dt(e,n,r,o)),w(Ur(o,w(Fn(e,n,s))))}function T0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?qt(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function hi(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ai(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Kt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=w(Tn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(mt(e,n,o))),t[s>>2]|0){case 2:case 1:{s=gt(r)|0,o=w(D[l>>2]),D[l>>2]=s|o>2]=2,D[l>>2]=r);break}default:}}function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,4,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1040+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function ye(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),o=w(o+w(Tr(e,n,r))),w(o+w(R0(e,n,r)))}function he(e){e=e|0;var n=0,r=0,o=0;e:do if(qt(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=fi(e)|0,!r)n=0;else for(n=0;;){if(o=e0(e,n)|0,(t[o+24>>2]|0)==0?(t[o+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function We(e,n){e=e|0,n=n|0;var r=tt;return r=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((gt(r)|0)^1)|0}function et(e){e=e|0;var n=tt,r=0,o=0,s=0,l=0,d=0,_=0,y=tt;if(r=t[e+968>>2]|0,r)y=w(D[e+908>>2]),n=w(D[e+912>>2]),n=w(rD[r&0](e,y,n)),i0(e,(gt(n)|0)^1,3573);else{l=fi(e)|0;do if(l|0){for(r=0,s=0;;){if(o=e0(e,s)|0,t[o+940>>2]|0){d=8;break}if((t[o+24>>2]|0)!=1)if(_=(T0(e,o)|0)==5,_){r=o;break}else r=(r|0)==0?o:r;if(s=s+1|0,s>>>0>=l>>>0){d=8;break}}if((d|0)==8&&!r)break;return n=w(et(r)),w(n+w(D[r+404>>2]))}while(0);n=w(D[e+912>>2])}return w(n)}function Dt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=tt,l=0;return qt(n)|0?(n=1,l=3):Nr(n)|0?(n=0,l=3):(o=w(J),s=w(J)),(l|0)==3&&(s=w(Tn(e+364+(n<<3)|0,o)),o=w(Tn(e+380+(n<<3)|0,o))),l=o=w(0)&((gt(o)|0)^1)),r=l?o:r,l=s>=w(0)&((gt(s)|0)^1)&r>2]|0,l)|0,le=Cl(Pe,l)|0,ie=Nr(Pe)|0,P=w(mt(n,2,r)),q=w(mt(n,0,r)),m0(n,2,r)|0?_=w(P+w(Tn(t[n+992>>2]|0,r))):(X(n,2)|0?_t(n,2)|0:0)?(_=w(D[e+908>>2]),y=w(C0(e,2)),y=w(_-w(y+w(di(e,2)))),_=w(Y(n,2,r)),_=w(kn(n,2,w(y-w(_+w(_r(n,2,r)))),r,r))):_=w(J),m0(n,0,s)|0?y=w(q+w(Tn(t[n+996>>2]|0,s))):(X(n,0)|0?_t(n,0)|0:0)?(y=w(D[e+912>>2]),qe=w(C0(e,0)),qe=w(y-w(qe+w(di(e,0)))),y=w(Y(n,0,s)),y=w(kn(n,0,w(qe-w(y+w(_r(n,0,s)))),s,r))):y=w(J),k=gt(_)|0,T=gt(y)|0;do if(k^T?(we=w(D[n+396>>2]),!(gt(we)|0)):0)if(k){_=w(P+w(w(y-q)*we));break}else{qe=w(q+w(w(_-P)/we)),y=T?qe:y;break}while(0);T=gt(_)|0,k=gt(y)|0,T|k&&(pe=(T^1)&1,o=r>w(0)&((o|0)!=0&T),_=ie?_:o?r:_,ht(n,_,y,l,ie?pe:o?2:pe,T&(k^1)&1,_,y,0,3623,d)|0,_=w(D[n+908>>2]),_=w(_+w(mt(n,2,r))),y=w(D[n+912>>2]),y=w(y+w(mt(n,0,r)))),ht(n,_,y,l,1,1,_,y,1,3635,d)|0,(_t(n,Pe)|0?!(X(n,Pe)|0):0)?(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,Pe))),qe=w(qe-w(R0(n,Pe,r))),qe=w(qe-w(_r(n,Pe,ie?r:s))),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe):ke=21;do if((ke|0)==21){if(X(n,Pe)|0?0:(t[e+8>>2]|0)==1){pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe;break}(X(n,Pe)|0?0:(t[e+8>>2]|0)==2)&&(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe)}while(0);(_t(n,le)|0?!(X(n,le)|0):0)?(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,le))),qe=w(qe-w(R0(n,le,r))),qe=w(qe-w(_r(n,le,ie?s:r))),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe):ke=30;do if((ke|0)==30?!(X(n,le)|0):0){if((T0(e,n)|0)==2){pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe;break}pe=(T0(e,n)|0)==3,pe^(t[e+28>>2]|0)==2&&(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe)}while(0)}function Zt(e,n,r){e=e|0,n=n|0,r=r|0;var o=tt,s=0;s=t[976+(r<<2)>>2]|0,o=w(D[n+908+(s<<2)>>2]),o=w(w(D[e+908+(s<<2)>>2])-o),o=w(o-w(D[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),D[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=o}function qt(e){return e=e|0,(e|1|0)==1|0}function Ut(e){e=e|0;var n=tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[e+40>>2]),n>w(0)&((gt(n)|0)^1)?e=c[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function fn(e,n){return e=e|0,n=n|0,(c[e+n>>0]|0)!=0|0}function _t(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function _r(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,5,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1e3+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function Wr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(-w(_r(e,n,r))),w(r)}function Ar(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function z(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Or(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function Qn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+4|0,_=t[d>>2]|0,s=_-o|0,l=s>>2,e=n+(l<<2)|0,e>>>0>>0){o=_;do t[o>>2]=t[e>>2],e=e+4|0,o=(t[d>>2]|0)+4|0,t[d>>2]=o;while(e>>>0>>0)}l|0&&Y1(_+(0-l<<2)|0,n|0,s|0)|0}function nn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return _=n+4|0,y=t[_>>2]|0,s=t[e>>2]|0,d=r,l=d-s|0,o=y+(0-(l>>2)<<2)|0,t[_>>2]=o,(l|0)>0&&vn(o|0,s|0,l|0)|0,s=e+4|0,l=n+8|0,o=(t[s>>2]|0)-d|0,(o|0)>0&&(vn(t[l>>2]|0,r|0,o|0)|0,t[l>>2]=(t[l>>2]|0)+(o>>>2<<2)),d=t[e>>2]|0,t[e>>2]=t[_>>2],t[_>>2]=d,d=t[s>>2]|0,t[s>>2]=t[l>>2],t[l>>2]=d,d=e+8|0,r=n+12|0,e=t[d>>2]|0,t[d>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[_>>2],y|0}function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,l=t[r>>2]|0,(d|0)!=(l|0)){s=e+8|0,r=((l+-4-d|0)>>>2)+1|0,e=d,o=t[s>>2]|0;do t[o>>2]=t[e>>2],o=(t[s>>2]|0)+4|0,t[s>>2]=o,e=e+4|0;while((e|0)!=(l|0));t[n>>2]=d+(r<<2)}}function t0(){_l()}function g0(){var e=0;return e=Tt(4)|0,Kr(e),e|0}function Kr(e){e=e|0,t[e>>2]=a0()|0}function _0(e){e=e|0,e|0&&(Gi(e),Ve(e))}function Gi(e){e=e|0,V0(t[e>>2]|0)}function fo(e,n,r){e=e|0,n=n|0,r=r|0,J0(t[e>>2]|0,n,r)}function x0(e,n){e=e|0,n=w(n),ki(t[e>>2]|0,n)}function Xu(e,n){return e=e|0,n=n|0,fn(t[e>>2]|0,n)|0}function Z0(){var e=0;return e=Tt(8)|0,df(e,0),e|0}function df(e,n){e=e|0,n=n|0,n?n=I0(t[n>>2]|0)|0:n=qu()|0,t[e>>2]=n,t[e+4>>2]=0,Bs(n,e)}function Ba(e){e=e|0;var n=0;return n=Tt(8)|0,df(n,e),n|0}function Oc(e){e=e|0,e|0&&(mu(e),Ve(e))}function mu(e){e=e|0;var n=0;Wu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(Ju(e),Ve(e))}function Ju(e){e=e|0,ei(e)}function ei(e){e=e|0,e=t[e>>2]|0,e|0&&ju(e|0)}function Yf(e){return e=e|0,Vu(e)|0}function pf(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),Do(t[e>>2]|0)}function ja(e,n){e=e|0,n=n|0,Gu(t[e>>2]|0,t[n>>2]|0)}function Ua(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}function Ic(e,n,r){e=e|0,n=n|0,r=+r,yn(t[e>>2]|0,n,w(r))}function vu(e,n,r){e=e|0,n=n|0,r=+r,sn(t[e>>2]|0,n,w(r))}function $f(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}function gu(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}function co(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function qa(e,n){e=e|0,n=n|0,M0(t[e>>2]|0,n)}function Ws(e,n){e=e|0,n=n|0,Fe(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function Pc(e,n,r){e=e|0,n=n|0,r=+r,rn(t[e>>2]|0,n,w(r))}function Qu(e,n,r){e=e|0,n=n|0,r=+r,Hn(t[e>>2]|0,n,w(r))}function Mc(e,n){e=e|0,n=n|0,Cr(t[e>>2]|0,n)}function Fc(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}function Lc(e,n){e=e|0,n=n|0,je(t[e>>2]|0,n)}function Kf(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}function Tl(e,n){e=e|0,n=+n,wt(t[e>>2]|0,w(n))}function xl(e,n){e=e|0,n=+n,lt(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}function xo(e,n){e=e|0,n=+n,xt(t[e>>2]|0,w(n))}function mf(e,n){e=e|0,n=+n,Qt(t[e>>2]|0,w(n))}function Wa(e,n){e=e|0,n=+n,Cn(t[e>>2]|0,w(n))}function ti(e){e=e|0,bn(t[e>>2]|0)}function Hs(e,n){e=e|0,n=+n,h0(t[e>>2]|0,w(n))}function mi(e,n){e=e|0,n=+n,ci(t[e>>2]|0,w(n))}function vi(e){e=e|0,xi(t[e>>2]|0)}function Xf(e,n){e=e|0,n=+n,qr(t[e>>2]|0,w(n))}function Rc(e,n){e=e|0,n=+n,Eo(t[e>>2]|0,w(n))}function Jf(e,n){e=e|0,n=+n,wl(t[e>>2]|0,w(n))}function ao(e,n){e=e|0,n=+n,js(t[e>>2]|0,w(n))}function $o(e,n){e=e|0,n=+n,du(t[e>>2]|0,w(n))}function kl(e,n){e=e|0,n=+n,Yu(t[e>>2]|0,w(n))}function Nc(e,n){e=e|0,n=+n,oo(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Hi(t[e>>2]|0,w(n))}function vf(e,n){e=e|0,n=+n,F0(t[e>>2]|0,w(n))}function Qf(e,n,r){e=e|0,n=n|0,r=+r,ft(t[e>>2]|0,n,w(r))}function k0(e,n,r){e=e|0,n=n|0,r=+r,He(t[e>>2]|0,n,w(r))}function v(e,n,r){e=e|0,n=n|0,r=+r,Qe(t[e>>2]|0,n,w(r))}function m(e){return e=e|0,ve(t[e>>2]|0)|0}function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,ar(s,t[n>>2]|0,r),O(e,s),h=o}function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}function b(e){return e=e|0,U(t[e>>2]|0)|0}function ee(e){return e=e|0,fe(t[e>>2]|0)|0}function Ye(e){return e=e|0,de(t[e>>2]|0)|0}function Ze(e){return e=e|0,au(t[e>>2]|0)|0}function ut(e){return e=e|0,Ge(t[e>>2]|0)|0}function In(e){return e=e|0,F(t[e>>2]|0)|0}function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,d0(s,t[n>>2]|0,r),O(e,s),h=o}function jr(e){return e=e|0,xe(t[e>>2]|0)|0}function gi(e){return e=e|0,Xe(t[e>>2]|0)|0}function po(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Rt(o,t[n>>2]|0),O(e,o),h=r}function _i(e){return e=e|0,+ +w(yl(t[e>>2]|0))}function Re(e){return e=e|0,+ +w(cu(t[e>>2]|0))}function Ce(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,p0(o,t[n>>2]|0),O(e,o),h=r}function ze(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,E0(o,t[n>>2]|0),O(e,o),h=r}function Et(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,So(o,t[n>>2]|0),O(e,o),h=r}function on(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Dl(o,t[n>>2]|0),O(e,o),h=r}function sr(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Us(o,t[n>>2]|0),O(e,o),h=r}function mn(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,qs(o,t[n>>2]|0),O(e,o),h=r}function pr(e){return e=e|0,+ +w(Gr(t[e>>2]|0))}function Hr(e,n){return e=e|0,n=n|0,+ +w(St(t[e>>2]|0,n))}function Vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Ne(s,t[n>>2]|0,r),O(e,s),h=o}function ni(e,n,r){e=e|0,n=n|0,r=r|0,Ns(t[e>>2]|0,t[n>>2]|0,r)}function Zf(e,n){e=e|0,n=n|0,D0(t[e>>2]|0,t[n>>2]|0)}function Pm(e){return e=e|0,fi(t[e>>2]|0)|0}function Ha(e){return e=e|0,e=nr(t[e>>2]|0)|0,e?e=Yf(e)|0:e=0,e|0}function vd(e,n){return e=e|0,n=n|0,e=e0(t[e>>2]|0,n)|0,e?e=Yf(e)|0:e=0,e|0}function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=Tt(4)|0,ba(o,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=o,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,1)}function ba(e,n){e=e|0,n=n|0,Oo(e,n)}function Bc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Mm(_,Vu(n)|0,+r,o,+s,l),D[e>>2]=w(+L[_>>3]),D[e+4>>2]=w(+L[_+8>>3]),h=d}function Mm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y=0,k=0,T=0;d=h,h=h+32|0,T=d+8|0,k=d+20|0,y=d,_=d+16|0,L[T>>3]=r,t[k>>2]=o,L[y>>3]=s,t[_>>2]=l,_d(e,t[n+4>>2]|0,T,k,y,_),h=d}function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Zo(_),n=Oi(n)|0,Fm(e,n,+L[r>>3],t[o>>2]|0,+L[s>>3],t[l>>2]|0),eu(_),h=d}function Oi(e){return e=e|0,t[e>>2]|0}function Fm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=ko(yd()|0)|0,r=+Ko(r),o=jc(o)|0,s=+Ko(s),Ga(e,ro(0,d|0,n|0,+r,o|0,+s,jc(l)|0)|0)}function yd(){var e=0;return c[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function ko(e){return e=e|0,t[e+8>>2]|0}function Ko(e){return e=+e,+ +Ol(e)}function jc(e){return e=e|0,Dd(e)|0}function Ga(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=n,o&1?(Lm(r,0),c0(o|0,r|0)|0,Va(e,r),Wn(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),h=s}function Lm(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,c[e+24>>0]=0}function Va(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Wn(e){e=e|0,c[e+24>>0]=0}function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}function Dd(e){return e=e|0,e|0}function Ol(e){return e=+e,+e}function Ed(e){e=e|0,Ao(e,Rm()|0,4)}function Rm(){return 1064}function Ao(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=hl(n|0,r+1|0)|0}function Oo(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,qi(n|0)}function Nm(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,0)}function Uc(e){e=e|0,rr(t[e>>2]|0)}function Ya(e){return e=e|0,Go(t[e>>2]|0)|0}function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Yr(t[e>>2]|0,w(n),w(r),o)}function Cd(e){return e=e|0,+ +w(ir(t[e>>2]|0))}function ho(e){return e=e|0,+ +w(Y0(t[e>>2]|0))}function bs(e){return e=e|0,+ +w(L0(t[e>>2]|0))}function $a(e){return e=e|0,+ +w(Co(t[e>>2]|0))}function Td(e){return e=e|0,+ +w($u(t[e>>2]|0))}function qc(e){return e=e|0,+ +w(Vo(t[e>>2]|0))}function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(ir(t[n>>2]|0)),L[e+8>>3]=+w(Y0(t[n>>2]|0)),L[e+16>>3]=+w(L0(t[n>>2]|0)),L[e+24>>3]=+w(Co(t[n>>2]|0)),L[e+32>>3]=+w($u(t[n>>2]|0)),L[e+40>>3]=+w(Vo(t[n>>2]|0))}function Ka(e,n){return e=e|0,n=n|0,+ +w(Rr(t[e>>2]|0,n))}function kd(e,n){return e=e|0,n=n|0,+ +w(Jn(t[e>>2]|0,n))}function Xa(e,n){return e=e|0,n=n|0,+ +w(ai(t[e>>2]|0,n))}function Ja(){return Rs()|0}function Gs(){Bm(),Vs(),Ad(),Od(),Qa(),jm()}function Bm(){hO(11713,4938,1)}function Vs(){FA(10448)}function Ad(){hA(10408)}function Od(){Bk(10324)}function Qa(){Gx(10096)}function jm(){Um(9132)}function Um(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=0,Rf=0,Zs=0,el=0,ss=0,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=0,tl=0,ql=0,zl=0,Li=0,Di=0,ku=0,xr=0,Wl=0,Qi=0,ls=0,Zi=0,fs=0,Hl=0,bl=0,cs=0,Ri=0,Au=0,Gl=0,Vl=0,Yl=0,En=0,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0;n=h,h=h+672|0,r=n+656|0,Ou=n+648|0,Vt=n+640|0,xn=n+632|0,Ni=n+624|0,eo=n+616|0,Ei=n+608|0,br=n+600|0,En=n+592|0,Yl=n+584|0,Vl=n+576|0,Gl=n+568|0,Au=n+560|0,Ri=n+552|0,cs=n+544|0,bl=n+536|0,Hl=n+528|0,fs=n+520|0,Zi=n+512|0,ls=n+504|0,Qi=n+496|0,Wl=n+488|0,xr=n+480|0,ku=n+472|0,Di=n+464|0,Li=n+456|0,zl=n+448|0,ql=n+440|0,tl=n+432|0,Ul=n+424|0,jl=n+416|0,xu=n+408|0,go=n+400|0,nu=n+392|0,Fi=n+384|0,ss=n+376|0,el=n+368|0,Zs=n+360|0,Rf=n+352|0,Lf=n+344|0,us=n+336|0,Ff=n+328|0,Tu=n+320|0,Kn=n+312|0,Mf=n+304|0,Pf=n+296|0,If=n+288|0,Qs=n+280|0,Js=n+272|0,Of=n+264|0,Cu=n+256|0,Af=n+248|0,kf=n+240|0,Ro=n+232|0,Ji=n+224|0,Xi=n+216|0,Ki=n+208|0,Dr=n+200|0,zt=n+192|0,Pn=n+184|0,gn=n+176|0,It=n+168|0,Ht=n+160|0,Ln=n+152|0,vt=n+144|0,_e=n+136|0,pe=n+128|0,qe=n+120|0,ke=n+112|0,Pe=n+104|0,ie=n+96|0,le=n+88|0,we=n+80|0,q=n+72|0,P=n+64|0,T=n+56|0,k=n+48|0,y=n+40|0,_=n+32|0,d=n+24|0,l=n+16|0,s=n+8|0,o=n,qm(e,3646),Id(e,3651,2)|0,Pd(e,3665,2)|0,zm(e,3682,18)|0,t[Ou>>2]=19,t[Ou+4>>2]=0,t[r>>2]=t[Ou>>2],t[r+4>>2]=t[Ou+4>>2],gf(e,3690,r)|0,t[Vt>>2]=1,t[Vt+4>>2]=0,t[r>>2]=t[Vt>>2],t[r+4>>2]=t[Vt+4>>2],Md(e,3696,r)|0,t[xn>>2]=2,t[xn+4>>2]=0,t[r>>2]=t[xn>>2],t[r+4>>2]=t[xn+4>>2],Xr(e,3706,r)|0,t[Ni>>2]=1,t[Ni+4>>2]=0,t[r>>2]=t[Ni>>2],t[r+4>>2]=t[Ni+4>>2],yi(e,3722,r)|0,t[eo>>2]=2,t[eo+4>>2]=0,t[r>>2]=t[eo>>2],t[r+4>>2]=t[eo+4>>2],yi(e,3734,r)|0,t[Ei>>2]=3,t[Ei+4>>2]=0,t[r>>2]=t[Ei>>2],t[r+4>>2]=t[Ei+4>>2],Xr(e,3753,r)|0,t[br>>2]=4,t[br+4>>2]=0,t[r>>2]=t[br>>2],t[r+4>>2]=t[br+4>>2],Xr(e,3769,r)|0,t[En>>2]=5,t[En+4>>2]=0,t[r>>2]=t[En>>2],t[r+4>>2]=t[En+4>>2],Xr(e,3783,r)|0,t[Yl>>2]=6,t[Yl+4>>2]=0,t[r>>2]=t[Yl>>2],t[r+4>>2]=t[Yl+4>>2],Xr(e,3796,r)|0,t[Vl>>2]=7,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],Xr(e,3813,r)|0,t[Gl>>2]=8,t[Gl+4>>2]=0,t[r>>2]=t[Gl>>2],t[r+4>>2]=t[Gl+4>>2],Xr(e,3825,r)|0,t[Au>>2]=3,t[Au+4>>2]=0,t[r>>2]=t[Au>>2],t[r+4>>2]=t[Au+4>>2],yi(e,3843,r)|0,t[Ri>>2]=4,t[Ri+4>>2]=0,t[r>>2]=t[Ri>>2],t[r+4>>2]=t[Ri+4>>2],yi(e,3853,r)|0,t[cs>>2]=9,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],Xr(e,3870,r)|0,t[bl>>2]=10,t[bl+4>>2]=0,t[r>>2]=t[bl>>2],t[r+4>>2]=t[bl+4>>2],Xr(e,3884,r)|0,t[Hl>>2]=11,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],Xr(e,3896,r)|0,t[fs>>2]=1,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],j0(e,3907,r)|0,t[Zi>>2]=2,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],j0(e,3915,r)|0,t[ls>>2]=3,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],j0(e,3928,r)|0,t[Qi>>2]=4,t[Qi+4>>2]=0,t[r>>2]=t[Qi>>2],t[r+4>>2]=t[Qi+4>>2],j0(e,3948,r)|0,t[Wl>>2]=5,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],j0(e,3960,r)|0,t[xr>>2]=6,t[xr+4>>2]=0,t[r>>2]=t[xr>>2],t[r+4>>2]=t[xr+4>>2],j0(e,3974,r)|0,t[ku>>2]=7,t[ku+4>>2]=0,t[r>>2]=t[ku>>2],t[r+4>>2]=t[ku+4>>2],j0(e,3983,r)|0,t[Di>>2]=20,t[Di+4>>2]=0,t[r>>2]=t[Di>>2],t[r+4>>2]=t[Di+4>>2],gf(e,3999,r)|0,t[Li>>2]=8,t[Li+4>>2]=0,t[r>>2]=t[Li>>2],t[r+4>>2]=t[Li+4>>2],j0(e,4012,r)|0,t[zl>>2]=9,t[zl+4>>2]=0,t[r>>2]=t[zl>>2],t[r+4>>2]=t[zl+4>>2],j0(e,4022,r)|0,t[ql>>2]=21,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],gf(e,4039,r)|0,t[tl>>2]=10,t[tl+4>>2]=0,t[r>>2]=t[tl>>2],t[r+4>>2]=t[tl+4>>2],j0(e,4053,r)|0,t[Ul>>2]=11,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],j0(e,4065,r)|0,t[jl>>2]=12,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],j0(e,4084,r)|0,t[xu>>2]=13,t[xu+4>>2]=0,t[r>>2]=t[xu>>2],t[r+4>>2]=t[xu+4>>2],j0(e,4097,r)|0,t[go>>2]=14,t[go+4>>2]=0,t[r>>2]=t[go>>2],t[r+4>>2]=t[go+4>>2],j0(e,4117,r)|0,t[nu>>2]=15,t[nu+4>>2]=0,t[r>>2]=t[nu>>2],t[r+4>>2]=t[nu+4>>2],j0(e,4129,r)|0,t[Fi>>2]=16,t[Fi+4>>2]=0,t[r>>2]=t[Fi>>2],t[r+4>>2]=t[Fi+4>>2],j0(e,4148,r)|0,t[ss>>2]=17,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],j0(e,4161,r)|0,t[el>>2]=18,t[el+4>>2]=0,t[r>>2]=t[el>>2],t[r+4>>2]=t[el+4>>2],j0(e,4181,r)|0,t[Zs>>2]=5,t[Zs+4>>2]=0,t[r>>2]=t[Zs>>2],t[r+4>>2]=t[Zs+4>>2],yi(e,4196,r)|0,t[Rf>>2]=6,t[Rf+4>>2]=0,t[r>>2]=t[Rf>>2],t[r+4>>2]=t[Rf+4>>2],yi(e,4206,r)|0,t[Lf>>2]=7,t[Lf+4>>2]=0,t[r>>2]=t[Lf>>2],t[r+4>>2]=t[Lf+4>>2],yi(e,4217,r)|0,t[us>>2]=3,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],Zu(e,4235,r)|0,t[Ff>>2]=1,t[Ff+4>>2]=0,t[r>>2]=t[Ff>>2],t[r+4>>2]=t[Ff+4>>2],_f(e,4251,r)|0,t[Tu>>2]=4,t[Tu+4>>2]=0,t[r>>2]=t[Tu>>2],t[r+4>>2]=t[Tu+4>>2],Zu(e,4263,r)|0,t[Kn>>2]=5,t[Kn+4>>2]=0,t[r>>2]=t[Kn>>2],t[r+4>>2]=t[Kn+4>>2],Zu(e,4279,r)|0,t[Mf>>2]=6,t[Mf+4>>2]=0,t[r>>2]=t[Mf>>2],t[r+4>>2]=t[Mf+4>>2],Zu(e,4293,r)|0,t[Pf>>2]=7,t[Pf+4>>2]=0,t[r>>2]=t[Pf>>2],t[r+4>>2]=t[Pf+4>>2],Zu(e,4306,r)|0,t[If>>2]=8,t[If+4>>2]=0,t[r>>2]=t[If>>2],t[r+4>>2]=t[If+4>>2],Zu(e,4323,r)|0,t[Qs>>2]=9,t[Qs+4>>2]=0,t[r>>2]=t[Qs>>2],t[r+4>>2]=t[Qs+4>>2],Zu(e,4335,r)|0,t[Js>>2]=2,t[Js+4>>2]=0,t[r>>2]=t[Js>>2],t[r+4>>2]=t[Js+4>>2],_f(e,4353,r)|0,t[Of>>2]=12,t[Of+4>>2]=0,t[r>>2]=t[Of>>2],t[r+4>>2]=t[Of+4>>2],Io(e,4363,r)|0,t[Cu>>2]=1,t[Cu+4>>2]=0,t[r>>2]=t[Cu>>2],t[r+4>>2]=t[Cu+4>>2],_u(e,4376,r)|0,t[Af>>2]=2,t[Af+4>>2]=0,t[r>>2]=t[Af>>2],t[r+4>>2]=t[Af+4>>2],_u(e,4388,r)|0,t[kf>>2]=13,t[kf+4>>2]=0,t[r>>2]=t[kf>>2],t[r+4>>2]=t[kf+4>>2],Io(e,4402,r)|0,t[Ro>>2]=14,t[Ro+4>>2]=0,t[r>>2]=t[Ro>>2],t[r+4>>2]=t[Ro+4>>2],Io(e,4411,r)|0,t[Ji>>2]=15,t[Ji+4>>2]=0,t[r>>2]=t[Ji>>2],t[r+4>>2]=t[Ji+4>>2],Io(e,4421,r)|0,t[Xi>>2]=16,t[Xi+4>>2]=0,t[r>>2]=t[Xi>>2],t[r+4>>2]=t[Xi+4>>2],Io(e,4433,r)|0,t[Ki>>2]=17,t[Ki+4>>2]=0,t[r>>2]=t[Ki>>2],t[r+4>>2]=t[Ki+4>>2],Io(e,4446,r)|0,t[Dr>>2]=18,t[Dr+4>>2]=0,t[r>>2]=t[Dr>>2],t[r+4>>2]=t[Dr+4>>2],Io(e,4458,r)|0,t[zt>>2]=3,t[zt+4>>2]=0,t[r>>2]=t[zt>>2],t[r+4>>2]=t[zt+4>>2],_u(e,4471,r)|0,t[Pn>>2]=1,t[Pn+4>>2]=0,t[r>>2]=t[Pn>>2],t[r+4>>2]=t[Pn+4>>2],ec(e,4486,r)|0,t[gn>>2]=10,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],Zu(e,4496,r)|0,t[It>>2]=11,t[It+4>>2]=0,t[r>>2]=t[It>>2],t[r+4>>2]=t[It+4>>2],Zu(e,4508,r)|0,t[Ht>>2]=3,t[Ht+4>>2]=0,t[r>>2]=t[Ht>>2],t[r+4>>2]=t[Ht+4>>2],_f(e,4519,r)|0,t[Ln>>2]=4,t[Ln+4>>2]=0,t[r>>2]=t[Ln>>2],t[r+4>>2]=t[Ln+4>>2],Wm(e,4530,r)|0,t[vt>>2]=19,t[vt+4>>2]=0,t[r>>2]=t[vt>>2],t[r+4>>2]=t[vt+4>>2],Fd(e,4542,r)|0,t[_e>>2]=12,t[_e+4>>2]=0,t[r>>2]=t[_e>>2],t[r+4>>2]=t[_e+4>>2],yf(e,4554,r)|0,t[pe>>2]=13,t[pe+4>>2]=0,t[r>>2]=t[pe>>2],t[r+4>>2]=t[pe+4>>2],tc(e,4568,r)|0,t[qe>>2]=2,t[qe+4>>2]=0,t[r>>2]=t[qe>>2],t[r+4>>2]=t[qe+4>>2],Hm(e,4578,r)|0,t[ke>>2]=20,t[ke+4>>2]=0,t[r>>2]=t[ke>>2],t[r+4>>2]=t[ke+4>>2],Ld(e,4587,r)|0,t[Pe>>2]=22,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],gf(e,4602,r)|0,t[ie>>2]=23,t[ie+4>>2]=0,t[r>>2]=t[ie>>2],t[r+4>>2]=t[ie+4>>2],gf(e,4619,r)|0,t[le>>2]=14,t[le+4>>2]=0,t[r>>2]=t[le>>2],t[r+4>>2]=t[le+4>>2],Rd(e,4629,r)|0,t[we>>2]=1,t[we+4>>2]=0,t[r>>2]=t[we>>2],t[r+4>>2]=t[we+4>>2],zc(e,4637,r)|0,t[q>>2]=4,t[q+4>>2]=0,t[r>>2]=t[q>>2],t[r+4>>2]=t[q+4>>2],_u(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],_u(e,4669,r)|0,t[T>>2]=6,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],_u(e,4686,r)|0,t[k>>2]=7,t[k+4>>2]=0,t[r>>2]=t[k>>2],t[r+4>>2]=t[k+4>>2],_u(e,4701,r)|0,t[y>>2]=8,t[y+4>>2]=0,t[r>>2]=t[y>>2],t[r+4>>2]=t[y+4>>2],_u(e,4719,r)|0,t[_>>2]=9,t[_+4>>2]=0,t[r>>2]=t[_>>2],t[r+4>>2]=t[_+4>>2],_u(e,4736,r)|0,t[d>>2]=21,t[d+4>>2]=0,t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],Nd(e,4754,r)|0,t[l>>2]=2,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],ec(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],ec(e,4790,r)|0,t[o>>2]=4,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],ec(e,4808,r)|0,h=n}function qm(e,n){e=e|0,n=n|0;var r=0;r=Nx()|0,t[e>>2]=r,Bx(r,n),Cf(t[e>>2]|0)}function Id(e,n,r){return e=e|0,n=n|0,r=r|0,Ex(e,Zn(n)|0,r,0),e|0}function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,ux(e,Zn(n)|0,r,0),e|0}function zm(e,n,r){return e=e|0,n=n|0,r=r|0,V9(e,Zn(n)|0,r,0),e|0}function gf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],I9(e,n,s),h=o,e|0}function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],vo(e,n,s),h=o,e|0}function Xr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],a(e,n,s),h=o,e|0}function yi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],n4(e,n,s),h=o,e|0}function j0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],b_(e,n,s),h=o,e|0}function Zu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L_(e,n,s),h=o,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hp(e,n,s),h=o,e|0}function Io(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],e_(e,n,s),h=o,e|0}function _u(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ip(e,n,s),h=o,e|0}function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ng(e,n,s),h=o,e|0}function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],l0(e,n,s),h=o,e|0}function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],hg(e,n,s),h=o,e|0}function yf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sg(e,n,s),h=o,e|0}function tc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Kv(e,n,s),h=o,e|0}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y1(e,n,s),h=o,e|0}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],wv(e,n,s),h=o,e|0}function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],fv(e,n,s),h=o,e|0}function zc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gd(e,n,s),h=o,e|0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Wc(e,n,s),h=o,e|0}function Wc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hc(e,r,s,1),h=o}function Zn(e){return e=e|0,e|0}function Hc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Za()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Bd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,bc(l,o)|0,o),h=s}function Za(){var e=0,n=0;if(c[7616]|0||(yu(9136),Bt(24,9136,Q|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yu(9136)}return 9136}function Bd(e){return e=e|0,0}function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Za()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],n1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ur(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;d=h,h=h+32|0,q=d+24|0,P=d+20|0,y=d+16|0,T=d+12|0,k=d+8|0,_=d+4|0,we=d,t[P>>2]=n,t[y>>2]=r,t[T>>2]=o,t[k>>2]=s,t[_>>2]=l,l=e+28|0,t[we>>2]=t[l>>2],t[q>>2]=t[we>>2],e1(e+24|0,q,P,T,k,y,_)|0,t[l>>2]=t[t[l>>2]>>2],h=d}function e1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,e=bm(n)|0,n=Tt(24)|0,t1(n+4|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0,t[d>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function bm(e){return e=e|0,t[e>>2]|0}function t1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Lt(e,n){return e=e|0,n=n|0,n|e|0}function n1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Gm(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ud(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],n1(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Vm(e,_),Ym(_),h=k;return}}function Gm(e){return e=e|0,357913941}function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Vm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ym(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function yu(e){e=e|0,Gc(e)}function r1(e){e=e|0,i1(e+24|0)}function Dn(e){return e=e|0,t[e>>2]|0}function i1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Gc(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,cn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function An(){return 9228}function cn(){return 1140}function Vc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Il(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=$m(n,o)|0,h=r,n|0}function Nn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Il(e){return e=e|0,(t[(Za()|0)+24>>2]|0)+(e*12|0)|0}function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+48|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=o1(o)|0,h=s,o|0}function o1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(u1()|0)|0,o?(s1(n,o),l1(r,n),qd(e,r),e=f1(n)|0):e=zd(e)|0,h=s,e|0}function u1(){var e=0;return c[7632]|0||(nc(9184),Bt(25,9184,Q|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function U0(e){return e=e|0,t[e+36>>2]|0}function s1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function l1(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function qd(e,n){e=e|0,n=n|0,Ii(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function f1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function zd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=h,h=h+16|0,r=y+4|0,o=y,s=Qo(8)|0,l=s,d=Tt(48)|0,_=d,n=_+48|0;do t[_>>2]=t[e>>2],_=_+4|0,e=e+4|0;while((_|0)<(n|0));return n=l+4|0,t[n>>2]=d,_=Tt(8)|0,d=t[n>>2]|0,t[o>>2]=0,t[r>>2]=t[o>>2],Wd(_,d,r),t[s>>2]=_,h=y,l|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function Km(e){e=e|0,da(e),Ve(e)}function Xm(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function es(e){e=e|0,Ve(e)}function Ii(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,l=c1(t[e>>2]|0,n,r,o,s,l,d)|0,d=e+4|0,t[(t[d>>2]|0)+8>>2]=l,t[(t[d>>2]|0)+8>>2]|0}function c1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var _=0,y=0;return _=h,h=h+16|0,y=_,Zo(y),e=Oi(e)|0,d=Jm(e,+L[n>>3],+L[r>>3],+L[o>>3],+L[s>>3],+L[l>>3],+L[d>>3])|0,eu(y),h=_,d|0}function Jm(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;return _=ko(a1()|0)|0,n=+Ko(n),r=+Ko(r),o=+Ko(o),s=+Ko(s),l=+Ko(l),xs(0,_|0,e|0,+n,+r,+o,+s,+l,+ +Ko(d))|0}function a1(){var e=0;return c[7624]|0||(Qm(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function Qm(e){e=e|0,Ao(e,Zm()|0,6)}function Zm(){return 1112}function nc(e){e=e|0,Ys(e)}function Hd(e){e=e|0,d1(e+24|0),bd(e+16|0)}function d1(e){e=e|0,tv(e)}function bd(e){e=e|0,ev(e)}function ev(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function tv(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function Ys(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,c[e+40>>0]=0,c[e+41>>0]=0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vd(e,r,s,0),h=o}function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=p1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=h1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Yd(l,o)|0,o),h=s}function p1(){var e=0,n=0;if(c[7640]|0||(Xo(9232),Bt(26,9232,Q|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Xo(9232)}return 9232}function h1(e){return e=e|0,0}function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=p1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],wf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(m1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=$d(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Kd(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],wf(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yc(e,_),Xd(_),h=k;return}}function $d(e){return e=e|0,357913941}function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Xo(e){e=e|0,Jd(e)}function Pl(e){e=e|0,nv(e+24|0)}function nv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Jd(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,rv()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rv(){return 1144}function iv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,d=l+8|0,_=l,y=ov(e)|0,e=t[y+4>>2]|0,t[_>>2]=t[y>>2],t[_+4>>2]=e,t[d>>2]=t[_>>2],t[d+4>>2]=t[_+4>>2],uv(n,d,r,o,s),h=l}function ov(e){return e=e|0,(t[(p1()|0)+24>>2]|0)+(e*12|0)|0}function uv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,k=0;k=h,h=h+16|0,d=k+2|0,_=k+1|0,y=k,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),wu(d,r),r=+Du(d,r),wu(_,o),o=+Du(_,o),ts(y,s),y=ns(y,s)|0,iD[l&1](e,r,o,y),h=k}function wu(e,n){e=e|0,n=+n}function Du(e,n){return e=e|0,n=+n,+ +lv(n)}function ts(e,n){e=e|0,n=n|0}function ns(e,n){return e=e|0,n=n|0,sv(n)|0}function sv(e){return e=e|0,e|0}function lv(e){return e=+e,+e}function fv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qd(e,r,s,1),h=o}function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=$c()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Zd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cv(l,o)|0,o),h=s}function $c(){var e=0,n=0;if(c[7648]|0||(np(9268),Bt(27,9268,Q|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));np(9268)}return 9268}function Zd(e){return e=e|0,0}function cv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=$c()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(av(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function av(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=tp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,dv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,pv(e,_),hv(_),h=k;return}}function tp(e){return e=e|0,357913941}function dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function pv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function hv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function np(e){e=e|0,Po(e)}function mv(e){e=e|0,vv(e+24|0)}function vv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Po(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,gv()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gv(){return 1160}function _v(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=yv(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=rp(n,o)|0,h=r,n|0}function yv(e){return e=e|0,(t[($c()|0)+24>>2]|0)+(e*12|0)|0}function rp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ip(dc[r&31](e)|0)|0}function ip(e){return e=e|0,e&1|0}function wv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Dv(e,r,s,0),h=o}function Dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=v1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=g1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Ev(l,o)|0,o),h=s}function v1(){var e=0,n=0;if(c[7656]|0||(up(9304),Bt(28,9304,Q|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));up(9304)}return 9304}function g1(e){return e=e|0,0}function Ev(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=v1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],op(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Sv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Sv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Cv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Tv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],op(l,o,r),t[y>>2]=(t[y>>2]|0)+12,xv(e,_),kv(_),h=k;return}}function Cv(e){return e=e|0,357913941}function Tv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function xv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function up(e){e=e|0,Iv(e)}function Av(e){e=e|0,Ov(e+24|0)}function Ov(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Iv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Pv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pv(){return 1164}function Mv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Fv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Lv(n,s,r),h=o}function Fv(e){return e=e|0,(t[(v1()|0)+24>>2]|0)+(e*12|0)|0}function Lv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$s(s,r),r=Ks(s,r)|0,Bl[o&31](e,r),Xs(s),h=l}function $s(e,n){e=e|0,n=n|0,Rv(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,Ju(e)}function Rv(e,n){e=e|0,n=n|0,_1(e,n)}function _1(e,n){e=e|0,n=n|0,t[e>>2]=n}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sp(e,r,s,0),h=o}function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Nv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Bv(l,o)|0,o),h=s}function w1(){var e=0,n=0;if(c[7664]|0||(cp(9340),Bt(29,9340,Q|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cp(9340)}return 9340}function Nv(e){return e=e|0,0}function Bv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Uv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,qv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zv(e,_),fp(_),h=k;return}}function Uv(e){return e=e|0,357913941}function qv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function cp(e){e=e|0,Hv(e)}function Kc(e){e=e|0,Wv(e+24|0)}function Wv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Hv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,bv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bv(){return 1180}function Gv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Vv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=Yv(n,s,r)|0,h=o,r|0}function Vv(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}function Yv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Ml(s,r),s=Fl(s,r)|0,s=Xc(J4[o&15](e,s)|0)|0,h=l,s|0}function Ml(e,n){e=e|0,n=n|0}function Fl(e,n){return e=e|0,n=n|0,$v(n)|0}function Xc(e){return e=e|0,e|0}function $v(e){return e=e|0,e|0}function Kv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Xv(e,r,s,0),h=o}function Xv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=D1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Jv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Qv(l,o)|0,o),h=s}function D1(){var e=0,n=0;if(c[7672]|0||(hp(9376),Bt(30,9376,Q|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9376)}return 9376}function Jv(e){return e=e|0,0}function Qv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=D1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ap(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(dp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=pp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Zv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ap(l,o,r),t[y>>2]=(t[y>>2]|0)+12,eg(e,_),tg(_),h=k;return}}function pp(e){return e=e|0,357913941}function Zv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function tg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function hp(e){e=e|0,rg(e)}function Jc(e){e=e|0,ng(e+24|0)}function ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function rg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mp(){return 1196}function ig(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=og(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=ug(n,o)|0,h=r,n|0}function og(e){return e=e|0,(t[(D1()|0)+24>>2]|0)+(e*12|0)|0}function ug(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Xc(dc[r&31](e)|0)|0}function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],lg(e,r,s,1),h=o}function lg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=fg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cg(l,o)|0,o),h=s}function E1(){var e=0,n=0;if(c[7680]|0||(C1(9412),Bt(31,9412,Q|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));C1(9412)}return 9412}function fg(e){return e=e|0,0}function cg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],rc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ag(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function rc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ag(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=vp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,gp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],rc(l,o,r),t[y>>2]=(t[y>>2]|0)+12,S1(e,_),_p(_),h=k;return}}function vp(e){return e=e|0,357913941}function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function S1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function C1(e){e=e|0,dg(e)}function yp(e){e=e|0,wp(e+24|0)}function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function dg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Dp(){return 1200}function pg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Qc(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Zc(n,o)|0,h=r,n|0}function Qc(e){return e=e|0,(t[(E1()|0)+24>>2]|0)+(e*12|0)|0}function Zc(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ea(dc[r&31](e)|0)|0}function ea(e){return e=e|0,e|0}function hg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],T1(e,r,s,0),h=o}function T1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=ta()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=mg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,vg(l,o)|0,o),h=s}function ta(){var e=0,n=0;if(c[7688]|0||(Sp(9448),Bt(32,9448,Q|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9448)}return 9448}function mg(e){return e=e|0,0}function vg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=ta()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(gg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function gg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=_g(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,yg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,wg(e,_),Dg(_),h=k;return}}function _g(e){return e=e|0,357913941}function yg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function wg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Dg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Sp(e){e=e|0,Cg(e)}function Eg(e){e=e|0,Sg(e+24|0)}function Sg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Cg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Mo(){return 1204}function Tg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=xg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ll(n,s,r),h=o}function xg(e){return e=e|0,(t[(ta()|0)+24>>2]|0)+(e*12|0)|0}function Ll(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),On(s,r),s=x1(s,r)|0,Bl[o&31](e,s),h=l}function On(e,n){e=e|0,n=n|0}function x1(e,n){return e=e|0,n=n|0,Vi(n)|0}function Vi(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],kg(e,r,s,0),h=o}function kg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Eu()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Ag(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Og(l,o)|0,o),h=s}function Eu(){var e=0,n=0;if(c[7696]|0||(A1(9484),Bt(33,9484,Q|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A1(9484)}return 9484}function Ag(e){return e=e|0,0}function Og(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Eu()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ig(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Ig(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Pg(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,k1(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Cp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Mg(e,_),rs(_),h=k;return}}function Pg(e){return e=e|0,357913941}function k1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function rs(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function A1(e){e=e|0,n0(e)}function na(e){e=e|0,Jr(e+24|0)}function Jr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function n0(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tp(){return 1212}function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Lg(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],Rg(n,l,r,o),h=s}function Lg(e){return e=e|0,(t[(Eu()|0)+24>>2]|0)+(e*12|0)|0}function Rg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),On(l,r),l=x1(l,r)|0,Ml(d,o),d=Fl(d,o)|0,X1[s&15](e,l,d),h=_}function Ng(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Bg(e,r,s,1),h=o}function Bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=O1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=xp(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,ic(l,o)|0,o),h=s}function O1(){var e=0,n=0;if(c[7704]|0||(Ap(9520),Bt(34,9520,Q|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ap(9520)}return 9520}function xp(e){return e=e|0,0}function ic(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=O1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ra(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ra(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,ia(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ra(l,o,r),t[y>>2]=(t[y>>2]|0)+12,mo(e,_),Df(_),h=k;return}}function kp(e){return e=e|0,357913941}function ia(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function mo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Df(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ap(e){e=e|0,zg(e)}function Ug(e){e=e|0,qg(e+24|0)}function qg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function zg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Wg()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Wg(){return 1224}function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=h,h=h+16|0,l=s+8|0,d=s,_=is(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],o=+jn(n,l,r),h=s,+o}function is(e){return e=e|0,(t[(O1()|0)+24>>2]|0)+(e*12|0)|0}function jn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,d=+Ol(+uD[o&7](e,s)),h=l,+d}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fo(e,r,s,1),h=o}function Fo(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oa()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Hg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,yr(l,o)|0,o),h=s}function oa(){var e=0,n=0;if(c[7712]|0||(Fp(9556),Bt(35,9556,Q|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fp(9556)}return 9556}function Hg(e){return e=e|0,0}function yr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oa()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Pp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=ua(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,bg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Pp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Gg(e,_),Vg(_),h=k;return}}function ua(e){return e=e|0,357913941}function bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Gg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Vg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Fp(e){e=e|0,Kg(e)}function Yg(e){e=e|0,$g(e+24|0)}function $g(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Kg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Xg()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Xg(){return 1232}function Jg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Qg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=+Zg(n,s),h=o,+r}function Qg(e){return e=e|0,(t[(oa()|0)+24>>2]|0)+(e*12|0)|0}function Zg(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ol(+oD[r&15](e))}function e_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t_(e,r,s,1),h=o}function t_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oc()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=n_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,I1(l,o)|0,o),h=s}function oc(){var e=0,n=0;if(c[7720]|0||(Rp(9592),Bt(36,9592,Q|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rp(9592)}return 9592}function n_(e){return e=e|0,0}function I1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oc()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function r_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=i_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,q0(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yi(e,_),o_(_),h=k;return}}function i_(e){return e=e|0,357913941}function q0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function o_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Rp(e){e=e|0,s_(e)}function u_(e){e=e|0,Np(e+24|0)}function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function s_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,l_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function l_(){return 1276}function f_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Bp(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=c_(n,o)|0,h=r,n|0}function Bp(e){return e=e|0,(t[(oc()|0)+24>>2]|0)+(e*12|0)|0}function c_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+16|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=jp(o)|0,h=s,o|0}function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(Up()|0)|0,o?(s1(n,o),l1(r,n),qp(e,r),e=f1(n)|0):e=zp(e)|0,h=s,e|0}function Up(){var e=0;return c[7736]|0||(Wp(9640),Bt(25,9640,Q|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function qp(e,n){e=e|0,n=n|0,Ef(n,e,e+8|0)|0}function zp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(16)|0,t[_>>2]=t[e>>2],t[_+4>>2]=t[e+4>>2],t[_+8>>2]=t[e+8>>2],t[_+12>>2]=t[e+12>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(e,l,s),t[o>>2]=e,h=r,n|0}function P1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function a_(e){e=e|0,da(e),Ve(e)}function d_(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function p_(e){e=e|0,Ve(e)}function Ef(e,n,r){return e=e|0,n=n|0,r=r|0,n=h_(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function h_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=h,h=h+16|0,s=o,Zo(s),e=Oi(e)|0,r=m_(e,t[n>>2]|0,+L[r>>3])|0,eu(s),h=o,r|0}function m_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=ko(v_()|0)|0,n=jc(n)|0,dl(0,o|0,e|0,n|0,+ +Ko(r))|0}function v_(){var e=0;return c[7728]|0||(g_(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function g_(e){e=e|0,Ao(e,__()|0,2)}function __(){return 1264}function Wp(e){e=e|0,Ys(e)}function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y_(e,r,s,1),h=o}function y_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=M1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=w_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,D_(l,o)|0,o),h=s}function M1(){var e=0,n=0;if(c[7744]|0||(Gp(9684),Bt(37,9684,Q|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gp(9684)}return 9684}function w_(e){return e=e|0,0}function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=M1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],bp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(E_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function bp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function E_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=S_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,C_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],bp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,T_(e,_),x_(_),h=k;return}}function S_(e){return e=e|0,357913941}function C_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function T_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function x_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Gp(e){e=e|0,O_(e)}function k_(e){e=e|0,A_(e+24|0)}function A_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function O_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,I_()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function I_(){return 1280}function P_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=M_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=F_(n,s,r)|0,h=o,r|0}function M_(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function F_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=h,h=h+32|0,s=d,l=d+16|0,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(l,r),l=ns(l,r)|0,X1[o&15](s,e,l),l=jp(s)|0,h=d,l|0}function L_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],R_(e,r,s,1),h=o}function R_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=F1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=N_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B_(l,o)|0,o),h=s}function F1(){var e=0,n=0;if(c[7752]|0||(Kp(9720),Bt(38,9720,Q|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kp(9720)}return 9720}function N_(e){return e=e|0,0}function B_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=F1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Vp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(j_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function j_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=L1(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Yp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Vp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$p(e,_),U_(_),h=k;return}}function L1(e){return e=e|0,357913941}function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function U_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Kp(e){e=e|0,z_(e)}function q_(e){e=e|0,R1(e+24|0)}function R1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,W_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W_(){return 1288}function H_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=$i(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=N1(n,o)|0,h=r,n|0}function $i(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}function N1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Dd(dc[r&31](e)|0)|0}function b_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],G_(e,r,s,0),h=o}function G_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=B1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=V_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,j1(l,o)|0,o),h=s}function B1(){var e=0,n=0;if(c[7760]|0||(q1(9756),Bt(39,9756,Q|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));q1(9756)}return 9756}function V_(e){return e=e|0,0}function j1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=B1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Xp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(U1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function U1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Y_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,$_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Xp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,K_(e,_),X_(_),h=k;return}}function Y_(e){return e=e|0,357913941}function $_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function K_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function X_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function q1(e){e=e|0,Z_(e)}function J_(e){e=e|0,Q_(e+24|0)}function Q_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,z1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function z1(){return 1292}function W1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=e4(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t4(n,s,r),h=o}function e4(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}function t4(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),wu(s,r),r=+Du(s,r),nD[o&31](e,r),h=l}function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r4(e,r,s,0),h=o}function r4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=H1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=i4(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,o4(l,o)|0,o),h=s}function H1(){var e=0,n=0;if(c[7768]|0||(Qp(9792),Bt(40,9792,Q|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qp(9792)}return 9792}function i4(e){return e=e|0,0}function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=H1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Jp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(u4(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function u4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=s4(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,l4(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Jp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,f4(e,_),c4(_),h=k;return}}function s4(e){return e=e|0,357913941}function l4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function f4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function c4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Qp(e){e=e|0,p4(e)}function a4(e){e=e|0,d4(e+24|0)}function d4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function p4(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,h4()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h4(){return 1300}function m4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=v4(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],g4(n,l,r,o),h=s}function v4(e){return e=e|0,(t[(H1()|0)+24>>2]|0)+(e*12|0)|0}function g4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,wu(d,o),o=+Du(d,o),cD[s&15](e,l,o),h=_}function a(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],p(e,r,s,0),h=o}function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=I(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B(l,o)|0,o),h=s}function E(){var e=0,n=0;if(c[7776]|0||(nt(9828),Bt(41,9828,Q|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));nt(9828)}return 9828}function I(e){return e=e|0,0}function B(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],G(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(te(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function te(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=se(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ee(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],G(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$e(e,_),Ke(_),h=k;return}}function se(e){return e=e|0,357913941}function Ee(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $e(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ke(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function nt(e){e=e|0,an(e)}function Ct(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function an(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,qn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qn(){return 1312}function dn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Yn(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],er(n,s,r),h=o}function Yn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}function er(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,Bl[o&31](e,s),h=l}function vo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Pi(e,r,s,0),h=o}function Pi(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Mi()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=f0(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Jo(l,o)|0,o),h=s}function Mi(){var e=0,n=0;if(c[7784]|0||(kw(9864),Bt(42,9864,Q|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));kw(9864)}return 9864}function f0(e){return e=e|0,0}function Jo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Mi()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Su(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Su(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=v9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,g9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Su(l,o,r),t[y>>2]=(t[y>>2]|0)+12,_9(e,_),y9(_),h=k;return}}function v9(e){return e=e|0,357913941}function g9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function _9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function y9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function kw(e){e=e|0,E9(e)}function w9(e){e=e|0,D9(e+24|0)}function D9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function E9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,S9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function S9(){return 1320}function C9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=T9(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],x9(n,s,r),h=o}function T9(e){return e=e|0,(t[(Mi()|0)+24>>2]|0)+(e*12|0)|0}function x9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),k9(s,r),s=A9(s,r)|0,Bl[o&31](e,s),h=l}function k9(e,n){e=e|0,n=n|0}function A9(e,n){return e=e|0,n=n|0,O9(n)|0}function O9(e){return e=e|0,e|0}function I9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],P9(e,r,s,0),h=o}function P9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=_4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=M9(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,F9(l,o)|0,o),h=s}function _4(){var e=0,n=0;if(c[7792]|0||(Ow(9900),Bt(43,9900,Q|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ow(9900)}return 9900}function M9(e){return e=e|0,0}function F9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=_4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Aw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(L9(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Aw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function L9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=R9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,N9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Aw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,B9(e,_),j9(_),h=k;return}}function R9(e){return e=e|0,357913941}function N9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function B9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function j9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ow(e){e=e|0,z9(e)}function U9(e){e=e|0,q9(e+24|0)}function q9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,22,n,W9()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W9(){return 1344}function H9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=h,h=h+16|0,o=r+8|0,s=r,l=b9(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],G9(n,o),h=r}function b9(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}function G9(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Nl[r&127](e)}function V9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=y4()|0,e=Y9(r)|0,ur(l,n,s,e,$9(r,o)|0,o)}function y4(){var e=0,n=0;if(c[7800]|0||(Pw(9936),Bt(44,9936,Q|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Pw(9936)}return 9936}function Y9(e){return e=e|0,e|0}function $9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=y4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Iw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(K9(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Iw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function K9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=X9(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,J9(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Iw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Q9(e,s),Z9(s),h=_;return}}function X9(e){return e=e|0,536870911}function J9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Q9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Z9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Pw(e){e=e|0,nx(e)}function ex(e){e=e|0,tx(e+24|0)}function tx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function nx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,23,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rx(e,n){e=e|0,n=n|0,ox(t[(ix(e)|0)>>2]|0,n)}function ix(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e<<3)|0}function ox(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,On(o,n),n=x1(o,n)|0,Nl[e&127](n),h=r}function ux(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=w4()|0,e=sx(r)|0,ur(l,n,s,e,lx(r,o)|0,o)}function w4(){var e=0,n=0;if(c[7808]|0||(Fw(9972),Bt(45,9972,Q|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fw(9972)}return 9972}function sx(e){return e=e|0,e|0}function lx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=w4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Mw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=cx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,ax(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Mw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,dx(e,s),px(s),h=_;return}}function cx(e){return e=e|0,536870911}function ax(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function dx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function px(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Fw(e){e=e|0,vx(e)}function hx(e){e=e|0,mx(e+24|0)}function mx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function vx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,9,n,gx()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gx(){return 1348}function _x(e,n){return e=e|0,n=n|0,wx(t[(yx(e)|0)>>2]|0,n)|0}function yx(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e<<3)|0}function wx(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,n=Xc(dc[e&31](n)|0)|0,h=r,n|0}function Lw(e,n){e=e|0,n=n|0}function Rw(e,n){return e=e|0,n=n|0,Dx(n)|0}function Dx(e){return e=e|0,e|0}function Ex(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D4()|0,e=Sx(r)|0,ur(l,n,s,e,Cx(r,o)|0,o)}function D4(){var e=0,n=0;if(c[7816]|0||(Bw(10008),Bt(46,10008,Q|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Bw(10008)}return 10008}function Sx(e){return e=e|0,e|0}function Cx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=D4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Nw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Tx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Nw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Tx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=xx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,kx(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Nw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Ax(e,s),Ox(s),h=_;return}}function xx(e){return e=e|0,536870911}function kx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Ax(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ox(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Bw(e){e=e|0,Mx(e)}function Ix(e){e=e|0,Px(e+24|0)}function Px(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Mx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,15,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fx(e){return e=e|0,Rx(t[(Lx(e)|0)>>2]|0)|0}function Lx(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}function Rx(e){return e=e|0,Xc(ph[e&7]()|0)|0}function Nx(){var e=0;return c[7832]|0||(bx(10052),Bt(25,10052,Q|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Bx(e,n){e=e|0,n=n|0,t[e>>2]=jx()|0,t[e+4>>2]=Ux()|0,t[e+12>>2]=n,t[e+8>>2]=qx()|0,t[e+32>>2]=2}function jx(){return 11709}function Ux(){return 1188}function qx(){return eh()|0}function zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Wx(r),Ve(r)):n|0&&(mu(n),Ve(n))}function Sf(e,n){return e=e|0,n=n|0,n&e|0}function Wx(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function eh(){var e=0;return c[7824]|0||(t[2511]=Hx()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function Hx(){return 0}function bx(e){e=e|0,Ys(e)}function Gx(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=h,h=h+32|0,r=n+24|0,l=n+16|0,s=n+8|0,o=n,Vx(e,4827),Yx(e,4834,3)|0,$x(e,3682,47)|0,t[l>>2]=9,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],Kx(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Xx(e,4871,r)|0,t[o>>2]=10,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],Jx(e,4891,r)|0,h=n}function Vx(e,n){e=e|0,n=n|0;var r=0;r=Ok()|0,t[e>>2]=r,Ik(r,n),Cf(t[e>>2]|0)}function Yx(e,n,r){return e=e|0,n=n|0,r=r|0,pk(e,Zn(n)|0,r,0),e|0}function $x(e,n,r){return e=e|0,n=n|0,r=r|0,Q7(e,Zn(n)|0,r,0),e|0}function Kx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],F7(e,n,s),h=o,e|0}function Xx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],h7(e,n,s),h=o,e|0}function Jx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qx(e,n,s),h=o,e|0}function Qx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Zx(e,r,s,1),h=o}function Zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=e7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,t7(l,o)|0,o),h=s}function E4(){var e=0,n=0;if(c[7840]|0||(Uw(10100),Bt(48,10100,Q|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uw(10100)}return 10100}function e7(e){return e=e|0,0}function t7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],jw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(n7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function jw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function n7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=r7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,i7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],jw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,o7(e,_),u7(_),h=k;return}}function r7(e){return e=e|0,357913941}function i7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function o7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function u7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Uw(e){e=e|0,f7(e)}function s7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function f7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,c7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c7(){return 1364}function a7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=d7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=p7(n,s,r)|0,h=o,r|0}function d7(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e*12|0)|0}function p7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,s=ip(J4[o&15](e,s)|0)|0,h=l,s|0}function h7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],m7(e,r,s,0),h=o}function m7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=S4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=v7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,g7(l,o)|0,o),h=s}function S4(){var e=0,n=0;if(c[7848]|0||(zw(10136),Bt(49,10136,Q|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zw(10136)}return 10136}function v7(e){return e=e|0,0}function g7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=S4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],qw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(_7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function _7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=y7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,w7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],qw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,D7(e,_),E7(_),h=k;return}}function y7(e){return e=e|0,357913941}function w7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function D7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function E7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function zw(e){e=e|0,T7(e)}function S7(e){e=e|0,C7(e+24|0)}function C7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function T7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,9,n,x7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x7(){return 1372}function k7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=A7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],O7(n,s,r),h=o}function A7(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e*12|0)|0}function O7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=tt;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),I7(s,r),d=w(P7(s,r)),tD[o&1](e,d),h=l}function I7(e,n){e=e|0,n=+n}function P7(e,n){return e=e|0,n=+n,w(M7(n))}function M7(e){return e=+e,w(e)}function F7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L7(e,r,s,0),h=o}function L7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=C4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=R7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,N7(l,o)|0,o),h=s}function C4(){var e=0,n=0;if(c[7856]|0||(Hw(10172),Bt(50,10172,Q|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hw(10172)}return 10172}function R7(e){return e=e|0,0}function N7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=C4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ww(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(B7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ww(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function B7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=j7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,U7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ww(l,o,r),t[y>>2]=(t[y>>2]|0)+12,q7(e,_),z7(_),h=k;return}}function j7(e){return e=e|0,357913941}function U7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function q7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function z7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Hw(e){e=e|0,b7(e)}function W7(e){e=e|0,H7(e+24|0)}function H7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function b7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,G7()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function G7(){return 1380}function V7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Y7(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],$7(n,l,r,o),h=s}function Y7(e){return e=e|0,(t[(C4()|0)+24>>2]|0)+(e*12|0)|0}function $7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,K7(d,o),d=X7(d,o)|0,X1[s&15](e,l,d),h=_}function K7(e,n){e=e|0,n=n|0}function X7(e,n){return e=e|0,n=n|0,J7(n)|0}function J7(e){return e=e|0,(e|0)!=0|0}function Q7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=T4()|0,e=Z7(r)|0,ur(l,n,s,e,ek(r,o)|0,o)}function T4(){var e=0,n=0;if(c[7864]|0||(Gw(10208),Bt(51,10208,Q|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10208)}return 10208}function Z7(e){return e=e|0,e|0}function ek(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=T4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(bw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function bw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rk(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,bw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,ik(e,s),ok(s),h=_;return}}function nk(e){return e=e|0,536870911}function rk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function ik(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function ok(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Gw(e){e=e|0,lk(e)}function uk(e){e=e|0,sk(e+24|0)}function sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,24,n,fk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fk(){return 1392}function ck(e,n){e=e|0,n=n|0,dk(t[(ak(e)|0)>>2]|0,n)}function ak(e){return e=e|0,(t[(T4()|0)+24>>2]|0)+(e<<3)|0}function dk(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,Nl[e&127](n),h=r}function pk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=x4()|0,e=hk(r)|0,ur(l,n,s,e,mk(r,o)|0,o)}function x4(){var e=0,n=0;if(c[7872]|0||(Yw(10244),Bt(52,10244,Q|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Yw(10244)}return 10244}function hk(e){return e=e|0,e|0}function mk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=x4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Vw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(vk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function vk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=gk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,_k(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Vw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,yk(e,s),wk(s),h=_;return}}function gk(e){return e=e|0,536870911}function _k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function yk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function wk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Yw(e){e=e|0,Sk(e)}function Dk(e){e=e|0,Ek(e+24|0)}function Ek(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Sk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,16,n,Ck()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ck(){return 1400}function Tk(e){return e=e|0,kk(t[(xk(e)|0)>>2]|0)|0}function xk(e){return e=e|0,(t[(x4()|0)+24>>2]|0)+(e<<3)|0}function kk(e){return e=e|0,Ak(ph[e&7]()|0)|0}function Ak(e){return e=e|0,e|0}function Ok(){var e=0;return c[7880]|0||(Nk(10280),Bt(25,10280,Q|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Ik(e,n){e=e|0,n=n|0,t[e>>2]=Pk()|0,t[e+4>>2]=Mk()|0,t[e+12>>2]=n,t[e+8>>2]=Fk()|0,t[e+32>>2]=4}function Pk(){return 11711}function Mk(){return 1356}function Fk(){return eh()|0}function Lk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Rk(r),Ve(r)):n|0&&(Gi(n),Ve(n))}function Rk(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function Nk(e){e=e|0,Ys(e)}function Bk(e){e=e|0,jk(e,4920),Uk(e)|0,qk(e)|0}function jk(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,sA(r,n),Cf(t[e>>2]|0)}function Uk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,Jk()|0),e|0}function qk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,zk()|0),e|0}function zk(){var e=0;return c[7888]|0||($w(10328),Bt(53,10328,Q|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),Dn(10328)|0||$w(10328),10328}function uc(e,n){e=e|0,n=n|0,ur(e,0,n,0,0,0)}function $w(e){e=e|0,bk(e),sc(e,10)}function Wk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function bk(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,$k()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Gk(e,n,r){e=e|0,n=n|0,r=+r,Vk(e,n,r)}function sc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function Vk(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,l=o+8|0,_=o+13|0,s=o,d=o+12|0,ts(_,n),t[l>>2]=ns(_,n)|0,wu(d,r),L[s>>3]=+Du(d,r),Yk(e,l,s),h=o}function Yk(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),c[e+24>>0]=1}function $k(){return 1404}function Kk(e,n){return e=e|0,n=+n,Xk(e,n)|0}function Xk(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,l=o+4|0,d=o+8|0,_=o,s=Qo(8)|0,r=s,y=Tt(16)|0,ts(l,e),e=ns(l,e)|0,wu(d,n),M(y,e,+Du(d,n)),d=r+4|0,t[d>>2]=y,e=Tt(8)|0,d=t[d>>2]|0,t[_>>2]=0,t[l>>2]=t[_>>2],P1(e,d,l),t[s>>2]=e,h=o,r|0}function Jk(){var e=0;return c[7896]|0||(Kw(10364),Bt(54,10364,Q|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),Dn(10364)|0||Kw(10364),10364}function Kw(e){e=e|0,eA(e),sc(e,55)}function Qk(e){e=e|0,Zk(e+24|0)}function Zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function eA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,4,n,iA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function tA(e){e=e|0,nA(e)}function nA(e){e=e|0,rA(e)}function rA(e){e=e|0,Xw(e+8|0),c[e+24>>0]=1}function Xw(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}function iA(){return 1424}function oA(){return uA()|0}function uA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,Xw(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(o,l,s),t[r>>2]=o,h=n,e|0}function sA(e,n){e=e|0,n=n|0,t[e>>2]=lA()|0,t[e+4>>2]=fA()|0,t[e+12>>2]=n,t[e+8>>2]=cA()|0,t[e+32>>2]=5}function lA(){return 11710}function fA(){return 1416}function cA(){return th()|0}function aA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dA(r),Ve(r)):n|0&&Ve(n)}function dA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function th(){var e=0;return c[7904]|0||(t[2600]=pA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function pA(){return t[357]|0}function hA(e){e=e|0,mA(e,4926),vA(e)|0}function mA(e,n){e=e|0,n=n|0;var r=0;r=u1()|0,t[e>>2]=r,kA(r,n),Cf(t[e>>2]|0)}function vA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,gA()|0),e|0}function gA(){var e=0;return c[7912]|0||(Jw(10412),Bt(56,10412,Q|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),Dn(10412)|0||Jw(10412),10412}function Jw(e){e=e|0,wA(e),sc(e,57)}function _A(e){e=e|0,yA(e+24|0)}function yA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function wA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,5,n,CA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DA(e){e=e|0,EA(e)}function EA(e){e=e|0,SA(e)}function SA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));c[e+56>>0]=1}function CA(){return 1432}function TA(){return xA()|0}function xA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=h,h=h+16|0,e=d+4|0,n=d,r=Qo(8)|0,o=r,s=Tt(48)|0,l=s,_=l+48|0;do t[l>>2]=0,l=l+4|0;while((l|0)<(_|0));return l=o+4|0,t[l>>2]=s,_=Tt(8)|0,l=t[l>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Wd(_,l,e),t[r>>2]=_,h=d,o|0}function kA(e,n){e=e|0,n=n|0,t[e>>2]=AA()|0,t[e+4>>2]=OA()|0,t[e+12>>2]=n,t[e+8>>2]=IA()|0,t[e+32>>2]=6}function AA(){return 11704}function OA(){return 1436}function IA(){return th()|0}function PA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(MA(r),Ve(r)):n|0&&Ve(n)}function MA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function FA(e){e=e|0,LA(e,4933),RA(e)|0,NA(e)|0}function LA(e,n){e=e|0,n=n|0;var r=0;r=uO()|0,t[e>>2]=r,sO(r,n),Cf(t[e>>2]|0)}function RA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,XA()|0),e|0}function NA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,BA()|0),e|0}function BA(){var e=0;return c[7920]|0||(Qw(10452),Bt(58,10452,Q|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),Dn(10452)|0||Qw(10452),10452}function Qw(e){e=e|0,qA(e),sc(e,1)}function jA(e){e=e|0,UA(e+24|0)}function UA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function qA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,bA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zA(e,n,r){e=e|0,n=+n,r=+r,WA(e,n,r)}function WA(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,l=o+8|0,_=o+17|0,s=o,d=o+16|0,wu(_,n),L[l>>3]=+Du(_,n),wu(d,r),L[s>>3]=+Du(d,r),HA(e,l,s),h=o}function HA(e,n,r){e=e|0,n=n|0,r=r|0,Zw(e+8|0,+L[n>>3],+L[r>>3]),c[e+24>>0]=1}function Zw(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}function bA(){return 1472}function GA(e,n){return e=+e,n=+n,VA(e,n)|0}function VA(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,d=o+4|0,_=o+8|0,y=o,s=Qo(8)|0,r=s,l=Tt(16)|0,wu(d,e),e=+Du(d,e),wu(_,n),Zw(l,e,+Du(_,n)),_=r+4|0,t[_>>2]=l,l=Tt(8)|0,_=t[_>>2]|0,t[y>>2]=0,t[d>>2]=t[y>>2],e8(l,_,d),t[s>>2]=l,h=o,r|0}function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function YA(e){e=e|0,da(e),Ve(e)}function $A(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function KA(e){e=e|0,Ve(e)}function XA(){var e=0;return c[7928]|0||(t8(10488),Bt(59,10488,Q|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),Dn(10488)|0||t8(10488),10488}function t8(e){e=e|0,ZA(e),sc(e,60)}function JA(e){e=e|0,QA(e+24|0)}function QA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function ZA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,6,n,rO()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eO(e){e=e|0,tO(e)}function tO(e){e=e|0,nO(e)}function nO(e){e=e|0,n8(e+8|0),c[e+24>>0]=1}function n8(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function rO(){return 1492}function iO(){return oO()|0}function oO(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,n8(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],e8(o,l,s),t[r>>2]=o,h=n,e|0}function uO(){var e=0;return c[7936]|0||(pO(10524),Bt(25,10524,Q|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function sO(e,n){e=e|0,n=n|0,t[e>>2]=lO()|0,t[e+4>>2]=fO()|0,t[e+12>>2]=n,t[e+8>>2]=cO()|0,t[e+32>>2]=7}function lO(){return 11700}function fO(){return 1484}function cO(){return th()|0}function aO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dO(r),Ve(r)):n|0&&Ve(n)}function dO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function pO(e){e=e|0,Ys(e)}function hO(e,n,r){e=e|0,n=n|0,r=r|0,e=Zn(n)|0,n=mO(r)|0,r=vO(r,0)|0,VO(e,n,r,k4()|0,0)}function mO(e){return e=e|0,e|0}function vO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=k4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(i8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SO(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k4(){var e=0,n=0;if(c[7944]|0||(r8(10568),Bt(61,10568,Q|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r8(10568)}return 10568}function r8(e){e=e|0,yO(e)}function gO(e){e=e|0,_O(e+24|0)}function _O(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yO(e){e=e|0;var n=0;n=An()|0,Nn(e,1,17,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wO(e){return e=e|0,EO(t[(DO(e)|0)>>2]|0)|0}function DO(e){return e=e|0,(t[(k4()|0)+24>>2]|0)+(e<<3)|0}function EO(e){return e=e|0,ea(ph[e&7]()|0)|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=CO(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,TO(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,i8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,xO(e,s),kO(s),h=_;return}}function CO(e){return e=e|0,536870911}function TO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function xO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function AO(){OO()}function OO(){IO(10604)}function IO(e){e=e|0,PO(e,4955)}function PO(e,n){e=e|0,n=n|0;var r=0;r=MO()|0,t[e>>2]=r,FO(r,n),Cf(t[e>>2]|0)}function MO(){var e=0;return c[7952]|0||(WO(10612),Bt(25,10612,Q|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function FO(e,n){e=e|0,n=n|0,t[e>>2]=BO()|0,t[e+4>>2]=jO()|0,t[e+12>>2]=n,t[e+8>>2]=UO()|0,t[e+32>>2]=8}function Cf(e){e=e|0;var n=0,r=0;n=h,h=h+16|0,r=n,sa()|0,t[r>>2]=e,LO(10608,r),h=n}function sa(){return c[11714]|0||(t[2652]=0,Bt(62,10608,Q|0)|0,c[11714]=1),10608}function LO(e,n){e=e|0,n=n|0;var r=0;r=Tt(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function RO(e){e=e|0,NO(e)}function NO(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function BO(){return 11715}function jO(){return 1496}function UO(){return eh()|0}function qO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(zO(r),Ve(r)):n|0&&Ve(n)}function zO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function WO(e){e=e|0,Ys(e)}function HO(e,n){e=e|0,n=n|0;var r=0,o=0;sa()|0,r=t[2652]|0;e:do if(r|0){for(;o=t[r+4>>2]|0,!(o|0?(U8(A4(o)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;bO(o,n)}while(0)}function A4(e){return e=e|0,t[e+12>>2]|0}function bO(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Ju(r),Ve(r)),r=Tt(4)|0,ba(r,n),t[e>>2]=r}function O4(){return c[11716]|0||(t[2664]=0,Bt(63,10656,Q|0)|0,c[11716]=1),10656}function o8(){var e=0;return c[11717]|0?e=t[2665]|0:(GO(),t[2665]=1504,c[11717]=1,e=1504),e|0}function GO(){c[11740]|0||(c[11718]=Lt(Lt(8,0)|0,0)|0,c[11719]=Lt(Lt(0,0)|0,0)|0,c[11720]=Lt(Lt(0,16)|0,0)|0,c[11721]=Lt(Lt(8,0)|0,0)|0,c[11722]=Lt(Lt(0,0)|0,0)|0,c[11723]=Lt(Lt(8,0)|0,0)|0,c[11724]=Lt(Lt(0,0)|0,0)|0,c[11725]=Lt(Lt(8,0)|0,0)|0,c[11726]=Lt(Lt(0,0)|0,0)|0,c[11727]=Lt(Lt(8,0)|0,0)|0,c[11728]=Lt(Lt(0,0)|0,0)|0,c[11729]=Lt(Lt(0,0)|0,32)|0,c[11730]=Lt(Lt(0,0)|0,32)|0,c[11740]=1)}function u8(){return 1572}function VO(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0;l=h,h=h+32|0,T=l+16|0,k=l+12|0,y=l+8|0,_=l+4|0,d=l,t[T>>2]=e,t[k>>2]=n,t[y>>2]=r,t[_>>2]=o,t[d>>2]=s,O4()|0,YO(10656,T,k,y,_,d),h=l}function YO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=Tt(24)|0,t1(d+4|0,t[n>>2]|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0),t[d>>2]=t[e>>2],t[e>>2]=d}function s8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0;if(qe=h,h=h+32|0,le=qe+20|0,ie=qe+8|0,Pe=qe+4|0,ke=qe,n=t[n>>2]|0,n|0){we=le+4|0,y=le+8|0,k=ie+4|0,T=ie+8|0,P=ie+8|0,q=le+8|0;do{if(d=n+4|0,_=I4(d)|0,_|0){if(s=b1(_)|0,t[le>>2]=0,t[we>>2]=0,t[y>>2]=0,o=(G1(_)|0)+1|0,$O(le,o),o|0)for(;o=o+-1|0,os(ie,t[s>>2]|0),l=t[we>>2]|0,l>>>0<(t[q>>2]|0)>>>0?(t[l>>2]=t[ie>>2],t[we>>2]=(t[we>>2]|0)+4):P4(le,ie),o;)s=s+4|0;o=V1(_)|0,t[ie>>2]=0,t[k>>2]=0,t[T>>2]=0;e:do if(t[o>>2]|0)for(s=0,l=0;;){if((s|0)==(l|0)?KO(ie,o):(t[s>>2]=t[o>>2],t[k>>2]=(t[k>>2]|0)+4),o=o+4|0,!(t[o>>2]|0))break e;s=t[k>>2]|0,l=t[P>>2]|0}while(0);t[Pe>>2]=nh(d)|0,t[ke>>2]=Dn(_)|0,XO(r,e,Pe,ke,le,ie),M4(ie),Rl(le)}n=t[n>>2]|0}while((n|0)!=0)}h=qe}function I4(e){return e=e|0,t[e+12>>2]|0}function b1(e){return e=e|0,t[e+12>>2]|0}function G1(e){return e=e|0,t[e+16>>2]|0}function $O(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=t[e>>2]|0,(t[e+8>>2]|0)-o>>2>>>0>>0&&(m8(r,n,(t[e+4>>2]|0)-o>>2,e+8|0),v8(e,r),g8(r)),h=s}function P4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=h8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,m8(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,v8(e,r),g8(r),h=d;return}}function V1(e){return e=e|0,t[e+8>>2]|0}function KO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=p8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,mI(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,vI(e,r),gI(r),h=d;return}}function nh(e){return e=e|0,t[e>>2]|0}function XO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JO(e,n,r,o,s,l)}function M4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function Rl(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function JO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+48|0,T=d+40|0,_=d+32|0,P=d+24|0,y=d+12|0,k=d,Zo(_),e=Oi(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,o=t[o>>2]|0,F4(y,s),QO(k,l),t[T>>2]=t[P>>2],ZO(e,T,r,o,y,k),M4(k),Rl(y),eu(_),h=d}function F4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(pI(e,o),hI(e,t[n>>2]|0,t[r>>2]|0,o))}function QO(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(aI(e,o),dI(e,t[n>>2]|0,t[r>>2]|0,o))}function ZO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,T=d+28|0,P=d+24|0,_=d+12|0,y=d,k=ko(eI()|0)|0,t[P>>2]=t[n>>2],t[T>>2]=t[P>>2],n=lc(T)|0,r=l8(r)|0,o=L4(o)|0,t[_>>2]=t[s>>2],T=s+4|0,t[_+4>>2]=t[T>>2],P=s+8|0,t[_+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[s>>2]=0,s=R4(_)|0,t[y>>2]=t[l>>2],T=l+4|0,t[y+4>>2]=t[T>>2],P=l+8|0,t[y+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[l>>2]=0,qo(0,k|0,e|0,n|0,r|0,o|0,s|0,tI(y)|0)|0,M4(y),Rl(_),h=d}function eI(){var e=0;return c[7968]|0||(fI(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function lc(e){return e=e|0,c8(e)|0}function l8(e){return e=e|0,f8(e)|0}function L4(e){return e=e|0,ea(e)|0}function R4(e){return e=e|0,rI(e)|0}function tI(e){return e=e|0,nI(e)|0}function nI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=f8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function f8(e){return e=e|0,e|0}function rI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=c8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function c8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(a8()|0)|0,o?(s1(n,o),l1(r,n),UF(e,r),e=f1(n)|0):e=iI(e)|0,h=s,e|0}function a8(){var e=0;return c[7960]|0||(lI(10664),Bt(25,10664,Q|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function iI(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,t[_>>2]=t[e>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function d8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function oI(e){e=e|0,da(e),Ve(e)}function uI(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function sI(e){e=e|0,Ve(e)}function lI(e){e=e|0,Ys(e)}function fI(e){e=e|0,Ao(e,cI()|0,5)}function cI(){return 1676}function aI(e,n){e=e|0,n=n|0;var r=0;if((p8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function dI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function p8(e){return e=e|0,1073741823}function pI(e,n){e=e|0,n=n|0;var r=0;if((h8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function hI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function h8(e){return e=e|0,1073741823}function mI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function vI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function m8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function v8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function g8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function _I(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(ie=h,h=h+32|0,T=ie+20|0,P=ie+12|0,k=ie+16|0,q=ie+4|0,we=ie,le=ie+8|0,_=o8()|0,l=t[_>>2]|0,d=t[l>>2]|0,d|0)for(y=t[_+8>>2]|0,_=t[_+4>>2]|0;os(T,d),yI(e,T,_,y),l=l+4|0,d=t[l>>2]|0,d;)y=y+1|0,_=_+1|0;if(l=u8()|0,d=t[l>>2]|0,d|0)do os(T,d),t[P>>2]=t[l+4>>2],wI(n,T,P),l=l+8|0,d=t[l>>2]|0;while((d|0)!=0);if(l=t[(sa()|0)>>2]|0,l|0)do n=t[l+4>>2]|0,os(T,t[(la(n)|0)>>2]|0),t[P>>2]=A4(n)|0,DI(r,T,P),l=t[l>>2]|0;while((l|0)!=0);if(os(k,0),l=O4()|0,t[T>>2]=t[k>>2],s8(T,l,s),l=t[(sa()|0)>>2]|0,l|0){e=T+4|0,n=T+8|0,r=T+8|0;do{if(y=t[l+4>>2]|0,os(P,t[(la(y)|0)>>2]|0),EI(q,_8(y)|0),d=t[q>>2]|0,d|0){t[T>>2]=0,t[e>>2]=0,t[n>>2]=0;do os(we,t[(la(t[d+4>>2]|0)|0)>>2]|0),_=t[e>>2]|0,_>>>0<(t[r>>2]|0)>>>0?(t[_>>2]=t[we>>2],t[e>>2]=(t[e>>2]|0)+4):P4(T,we),d=t[d>>2]|0;while((d|0)!=0);SI(o,P,T),Rl(T)}t[le>>2]=t[P>>2],k=y8(y)|0,t[T>>2]=t[le>>2],s8(T,k,s),bd(q),l=t[l>>2]|0}while((l|0)!=0)}h=ie}function yI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,RI(e,n,r,o)}function wI(e,n,r){e=e|0,n=n|0,r=r|0,LI(e,n,r)}function la(e){return e=e|0,e|0}function DI(e,n,r){e=e|0,n=n|0,r=r|0,II(e,n,r)}function _8(e){return e=e|0,e+16|0}function EI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=h,h=h+16|0,s=l+8|0,r=l,t[e>>2]=0,o=t[n>>2]|0,t[s>>2]=o,t[r>>2]=e,r=OI(r)|0,o|0){if(o=Tt(12)|0,d=(w8(s)|0)+4|0,e=t[d+4>>2]|0,n=o+4|0,t[n>>2]=t[d>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=o;else for(n=o;e=Tt(12)|0,y=(w8(s)|0)+4|0,_=t[y+4>>2]|0,d=e+4|0,t[d>>2]=t[y>>2],t[d+4>>2]=_,t[n>>2]=e,d=t[t[s>>2]>>2]|0,t[s>>2]=d,d;)n=e;t[e>>2]=t[r>>2],t[r>>2]=o}h=l}function SI(e,n,r){e=e|0,n=n|0,r=r|0,CI(e,n,r)}function y8(e){return e=e|0,e+24|0}function CI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+24|0,s=o+16|0,_=o+12|0,l=o,Zo(s),e=Oi(e)|0,t[_>>2]=t[n>>2],F4(l,r),t[d>>2]=t[_>>2],TI(e,d,l),Rl(l),eu(s),h=o}function TI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+16|0,_=o+12|0,s=o,l=ko(xI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,t[s>>2]=t[r>>2],d=r+4|0,t[s+4>>2]=t[d>>2],_=r+8|0,t[s+8>>2]=t[_>>2],t[_>>2]=0,t[d>>2]=0,t[r>>2]=0,Ts(0,l|0,e|0,n|0,R4(s)|0)|0,Rl(s),h=o}function xI(){var e=0;return c[7976]|0||(kI(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function kI(e){e=e|0,Ao(e,AI()|0,2)}function AI(){return 1732}function OI(e){return e=e|0,t[e>>2]|0}function w8(e){return e=e|0,t[e>>2]|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function D8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+4|0,d=o,s=ko(PI()|0)|0,t[d>>2]=t[n>>2],t[l>>2]=t[d>>2],n=lc(l)|0,Ts(0,s|0,e|0,n|0,l8(r)|0)|0,h=o}function PI(){var e=0;return c[7984]|0||(MI(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function MI(e){e=e|0,Ao(e,FI()|0,2)}function FI(){return 1744}function LI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function RI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),e=Oi(e)|0,t[_>>2]=t[n>>2],r=c[r>>0]|0,o=c[o>>0]|0,t[d>>2]=t[_>>2],NI(e,d,r,o),eu(l),h=s}function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,d=s+4|0,_=s,l=ko(BI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,r=fa(r)|0,Bu(0,l|0,e|0,n|0,r|0,fa(o)|0)|0,h=s}function BI(){var e=0;return c[7992]|0||(UI(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function fa(e){return e=e|0,jI(e)|0}function jI(e){return e=e|0,e&255|0}function UI(e){e=e|0,Ao(e,qI()|0,3)}function qI(){return 1756}function zI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;switch(q=h,h=h+32|0,_=q+8|0,y=q+4|0,k=q+20|0,T=q,_1(e,0),o=jF(n)|0,t[_>>2]=0,P=_+4|0,t[P>>2]=0,t[_+8>>2]=0,o<<24>>24){case 0:{c[k>>0]=0,WI(y,r,k),rh(e,y)|0,ei(y);break}case 8:{P=z4(n)|0,c[k>>0]=8,os(T,t[P+4>>2]|0),HI(y,r,k,T,P+8|0),rh(e,y)|0,ei(y);break}case 9:{if(l=z4(n)|0,n=t[l+4>>2]|0,n|0)for(d=_+8|0,s=l+12|0;n=n+-1|0,os(y,t[s>>2]|0),o=t[P>>2]|0,o>>>0<(t[d>>2]|0)>>>0?(t[o>>2]=t[y>>2],t[P>>2]=(t[P>>2]|0)+4):P4(_,y),n;)s=s+4|0;c[k>>0]=9,os(T,t[l+8>>2]|0),bI(y,r,k,T,_),rh(e,y)|0,ei(y);break}default:P=z4(n)|0,c[k>>0]=o,os(T,t[P+4>>2]|0),GI(y,r,k,T),rh(e,y)|0,ei(y)}Rl(_),h=q}function WI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Zo(s),n=Oi(n)|0,iP(e,n,c[r>>0]|0),eu(s),h=o}function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&ju(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function HI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+32|0,_=l+16|0,d=l+8|0,y=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[y>>2]=t[o>>2],s=t[s>>2]|0,t[_>>2]=t[y>>2],eP(e,n,r,_,s),eu(d),h=l}function bI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+24|0,d=l+16|0,k=l+12|0,_=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[k>>2]=t[o>>2],F4(_,s),t[y>>2]=t[k>>2],XI(e,n,r,y,_),Rl(_),eu(d),h=l}function GI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),n=Oi(n)|0,r=c[r>>0]|0,t[_>>2]=t[o>>2],t[d>>2]=t[_>>2],VI(e,n,r,d),eu(l),h=s}function VI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+4|0,_=s,d=ko(YI()|0)|0,r=fa(r)|0,t[_>>2]=t[o>>2],t[l>>2]=t[_>>2],ih(e,Ts(0,d|0,n|0,r|0,lc(l)|0)|0),h=s}function YI(){var e=0;return c[8e3]|0||($I(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function ih(e,n){e=e|0,n=n|0,_1(e,n)}function $I(e){e=e|0,Ao(e,KI()|0,2)}function KI(){return 1772}function XI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+16|0,k=l+12|0,d=l,_=ko(JI()|0)|0,r=fa(r)|0,t[k>>2]=t[o>>2],t[y>>2]=t[k>>2],o=lc(y)|0,t[d>>2]=t[s>>2],y=s+4|0,t[d+4>>2]=t[y>>2],k=s+8|0,t[d+8>>2]=t[k>>2],t[k>>2]=0,t[y>>2]=0,t[s>>2]=0,ih(e,Bu(0,_|0,n|0,r|0,o|0,R4(d)|0)|0),Rl(d),h=l}function JI(){var e=0;return c[8008]|0||(QI(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function QI(e){e=e|0,Ao(e,ZI()|0,3)}function ZI(){return 1784}function eP(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,_=l+4|0,y=l,d=ko(tP()|0)|0,r=fa(r)|0,t[y>>2]=t[o>>2],t[_>>2]=t[y>>2],o=lc(_)|0,ih(e,Bu(0,d|0,n|0,r|0,o|0,L4(s)|0)|0),h=l}function tP(){var e=0;return c[8016]|0||(nP(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function nP(e){e=e|0,Ao(e,rP()|0,3)}function rP(){return 1800}function iP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=ko(oP()|0)|0,ih(e,sf(0,o|0,n|0,fa(r)|0)|0)}function oP(){var e=0;return c[8024]|0||(uP(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function uP(e){e=e|0,Ao(e,sP()|0,1)}function sP(){return 1816}function lP(){fP(),cP(),aP()}function fP(){t[2702]=K8(65536)|0}function cP(){PP(10856)}function aP(){dP(10816)}function dP(e){e=e|0,pP(e,5044),hP(e)|0}function pP(e,n){e=e|0,n=n|0;var r=0;r=a8()|0,t[e>>2]=r,TP(r,n),Cf(t[e>>2]|0)}function hP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,mP()|0),e|0}function mP(){var e=0;return c[8032]|0||(E8(10820),Bt(64,10820,Q|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),Dn(10820)|0||E8(10820),10820}function E8(e){e=e|0,_P(e),sc(e,25)}function vP(e){e=e|0,gP(e+24|0)}function gP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function _P(e){e=e|0;var n=0;n=An()|0,Nn(e,5,18,n,EP()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yP(e,n){e=e|0,n=n|0,wP(e,n)}function wP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=h,h=h+16|0,o=r,s=r+4|0,Ml(s,n),t[o>>2]=Fl(s,n)|0,DP(e,o),h=r}function DP(e,n){e=e|0,n=n|0,S8(e+4|0,t[n>>2]|0),c[e+8>>0]=1}function S8(e,n){e=e|0,n=n|0,t[e>>2]=n}function EP(){return 1824}function SP(e){return e=e|0,CP(e)|0}function CP(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,Ml(s,e),S8(_,Fl(s,e)|0),l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function Qo(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=K8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function TP(e,n){e=e|0,n=n|0,t[e>>2]=xP()|0,t[e+4>>2]=kP()|0,t[e+12>>2]=n,t[e+8>>2]=AP()|0,t[e+32>>2]=9}function xP(){return 11744}function kP(){return 1832}function AP(){return th()|0}function OP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(IP(r),Ve(r)):n|0&&Ve(n)}function IP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function PP(e){e=e|0,MP(e,5052),FP(e)|0,LP(e,5058,26)|0,RP(e,5069,1)|0,NP(e,5077,10)|0,BP(e,5087,19)|0,jP(e,5094,27)|0}function MP(e,n){e=e|0,n=n|0;var r=0;r=IF()|0,t[e>>2]=r,PF(r,n),Cf(t[e>>2]|0)}function FP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,vF()|0),e|0}function LP(e,n,r){return e=e|0,n=n|0,r=r|0,QM(e,Zn(n)|0,r,0),e|0}function RP(e,n,r){return e=e|0,n=n|0,r=r|0,BM(e,Zn(n)|0,r,0),e|0}function NP(e,n,r){return e=e|0,n=n|0,r=r|0,mM(e,Zn(n)|0,r,0),e|0}function BP(e,n,r){return e=e|0,n=n|0,r=r|0,eM(e,Zn(n)|0,r,0),e|0}function C8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(o=t[r>>2]|0,t[2703]=o,!r)r=o;else break}Ve(r)}t[2701]=e}function jP(e,n,r){return e=e|0,n=n|0,r=r|0,UP(e,Zn(n)|0,r,0),e|0}function UP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N4()|0,e=qP(r)|0,ur(l,n,s,e,zP(r,o)|0,o)}function N4(){var e=0,n=0;if(c[8040]|0||(x8(10860),Bt(65,10860,Q|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10860)}return 10860}function qP(e){return e=e|0,e|0}function zP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=N4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(T8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WP(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function T8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=HP(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,bP(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,T8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,GP(e,s),VP(s),h=_;return}}function HP(e){return e=e|0,536870911}function bP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function GP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function VP(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function x8(e){e=e|0,KP(e)}function YP(e){e=e|0,$P(e+24|0)}function $P(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function KP(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,XP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function XP(){return 1840}function JP(e,n,r){e=e|0,n=n|0,r=r|0,ZP(t[(QP(e)|0)>>2]|0,n,r)}function QP(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}function ZP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+1|0,s=o,Ml(l,n),n=Fl(l,n)|0,Ml(s,r),r=Fl(s,r)|0,Bl[e&31](n,r),h=o}function eM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=B4()|0,e=tM(r)|0,ur(l,n,s,e,nM(r,o)|0,o)}function B4(){var e=0,n=0;if(c[8048]|0||(A8(10896),Bt(66,10896,Q|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A8(10896)}return 10896}function tM(e){return e=e|0,e|0}function nM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=B4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(k8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(rM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function rM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=iM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,oM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,k8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,uM(e,s),sM(s),h=_;return}}function iM(e){return e=e|0,536870911}function oM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function uM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function sM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function A8(e){e=e|0,cM(e)}function lM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function cM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,aM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aM(){return 1852}function dM(e,n){return e=e|0,n=n|0,hM(t[(pM(e)|0)>>2]|0,n)|0}function pM(e){return e=e|0,(t[(B4()|0)+24>>2]|0)+(e<<3)|0}function hM(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Ml(o,n),n=Fl(o,n)|0,n=ea(dc[e&31](n)|0)|0,h=r,n|0}function mM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=j4()|0,e=vM(r)|0,ur(l,n,s,e,gM(r,o)|0,o)}function j4(){var e=0,n=0;if(c[8056]|0||(I8(10932),Bt(67,10932,Q|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I8(10932)}return 10932}function vM(e){return e=e|0,e|0}function gM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=j4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(O8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(_M(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function O8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function _M(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=yM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,wM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,O8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,DM(e,s),EM(s),h=_;return}}function yM(e){return e=e|0,536870911}function wM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function DM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function EM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function I8(e){e=e|0,TM(e)}function SM(e){e=e|0,CM(e+24|0)}function CM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function TM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,7,n,xM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xM(){return 1860}function kM(e,n,r){return e=e|0,n=n|0,r=r|0,OM(t[(AM(e)|0)>>2]|0,n,r)|0}function AM(e){return e=e|0,(t[(j4()|0)+24>>2]|0)+(e<<3)|0}function OM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+32|0,d=o+12|0,l=o+8|0,_=o,y=o+16|0,s=o+4|0,IM(y,n),PM(_,y,n),$s(s,r),r=Ks(s,r)|0,t[d>>2]=t[_>>2],X1[e&15](l,d,r),r=MM(l)|0,ei(l),Xs(s),h=o,r|0}function IM(e,n){e=e|0,n=n|0}function PM(e,n,r){e=e|0,n=n|0,r=r|0,FM(e,r)}function MM(e){return e=e|0,Oi(e)|0}function FM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+16|0,r=s,o=n,o&1?(LM(r,0),c0(o|0,r|0)|0,RM(e,r),NM(r)):t[e>>2]=t[n>>2],h=s}function LM(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,c[e+8>>0]=0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function NM(e){e=e|0,c[e+8>>0]=0}function BM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=U4()|0,e=jM(r)|0,ur(l,n,s,e,UM(r,o)|0,o)}function U4(){var e=0,n=0;if(c[8064]|0||(M8(10968),Bt(68,10968,Q|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));M8(10968)}return 10968}function jM(e){return e=e|0,e|0}function UM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=U4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(P8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(qM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function qM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=zM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,WM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,P8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,HM(e,s),bM(s),h=_;return}}function zM(e){return e=e|0,536870911}function WM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function HM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function bM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function M8(e){e=e|0,YM(e)}function GM(e){e=e|0,VM(e+24|0)}function VM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function YM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,1,n,$M()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $M(){return 1872}function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JM(t[(XM(e)|0)>>2]|0,n,r,o,s,l)}function XM(e){return e=e|0,(t[(U4()|0)+24>>2]|0)+(e<<3)|0}function JM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,_=d+16|0,y=d+12|0,k=d+8|0,T=d+4|0,P=d,$s(_,n),n=Ks(_,n)|0,$s(y,r),r=Ks(y,r)|0,$s(k,o),o=Ks(k,o)|0,$s(T,s),s=Ks(T,s)|0,$s(P,l),l=Ks(P,l)|0,eD[e&1](n,r,o,s,l),Xs(P),Xs(T),Xs(k),Xs(y),Xs(_),h=d}function QM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=q4()|0,e=ZM(r)|0,ur(l,n,s,e,eF(r,o)|0,o)}function q4(){var e=0,n=0;if(c[8072]|0||(L8(11004),Bt(69,11004,Q|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(Dn(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L8(11004)}return 11004}function ZM(e){return e=e|0,e|0}function eF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=q4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(F8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tF(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nF(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rF(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,F8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,iF(e,s),oF(s),h=_;return}}function nF(e){return e=e|0,536870911}function rF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function iF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function oF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function L8(e){e=e|0,lF(e)}function uF(e){e=e|0,sF(e+24|0)}function sF(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lF(e){e=e|0;var n=0;n=An()|0,Nn(e,1,12,n,fF()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fF(){return 1896}function cF(e,n,r){e=e|0,n=n|0,r=r|0,dF(t[(aF(e)|0)>>2]|0,n,r)}function aF(e){return e=e|0,(t[(q4()|0)+24>>2]|0)+(e<<3)|0}function dF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+4|0,s=o,pF(l,n),n=hF(l,n)|0,$s(s,r),r=Ks(s,r)|0,Bl[e&31](n,r),Xs(s),h=o}function pF(e,n){e=e|0,n=n|0}function hF(e,n){return e=e|0,n=n|0,mF(n)|0}function mF(e){return e=e|0,e|0}function vF(){var e=0;return c[8080]|0||(R8(11040),Bt(70,11040,Q|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),Dn(11040)|0||R8(11040),11040}function R8(e){e=e|0,yF(e),sc(e,71)}function gF(e){e=e|0,_F(e+24|0)}function _F(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yF(e){e=e|0;var n=0;n=An()|0,Nn(e,5,7,n,SF()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wF(e){e=e|0,DF(e)}function DF(e){e=e|0,EF(e)}function EF(e){e=e|0,c[e+8>>0]=1}function SF(){return 1936}function CF(){return TF()|0}function TF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,l=e+4|0,t[l>>2]=Tt(1)|0,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],xF(o,l,s),t[r>>2]=o,h=n,e|0}function xF(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function kF(e){e=e|0,da(e),Ve(e)}function AF(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function OF(e){e=e|0,Ve(e)}function IF(){var e=0;return c[8088]|0||(BF(11076),Bt(25,11076,Q|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function PF(e,n){e=e|0,n=n|0,t[e>>2]=MF()|0,t[e+4>>2]=FF()|0,t[e+12>>2]=n,t[e+8>>2]=LF()|0,t[e+32>>2]=10}function MF(){return 11745}function FF(){return 1940}function LF(){return eh()|0}function RF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(NF(r),Ve(r)):n|0&&Ve(n)}function NF(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function BF(e){e=e|0,Ys(e)}function os(e,n){e=e|0,n=n|0,t[e>>2]=n}function z4(e){return e=e|0,t[e>>2]|0}function jF(e){return e=e|0,c[t[e>>2]>>0]|0}function UF(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,t[o>>2]=t[e>>2],qF(n,o)|0,h=r}function qF(e,n){e=e|0,n=n|0;var r=0;return r=zF(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function zF(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Zo(o),e=Oi(e)|0,n=WF(e,t[n>>2]|0)|0,eu(o),h=r,n|0}function Zo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function WF(e,n){e=e|0,n=n|0;var r=0;return r=ko(HF()|0)|0,sf(0,r|0,e|0,L4(n)|0)|0}function eu(e){e=e|0,C8(t[e>>2]|0,t[e+4>>2]|0)}function HF(){var e=0;return c[8096]|0||(bF(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function bF(e){e=e|0,Ao(e,GF()|0,1)}function GF(){return 1948}function VF(){YF()}function YF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(le=h,h=h+16|0,T=le+4|0,P=le,si(65536,10804,t[2702]|0,10812),r=o8()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(o=t[r+8>>2]|0,r=t[r+4>>2]|0;As(e|0,C[r>>0]|0|0,c[o>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)o=o+1|0,r=r+1|0;if(e=u8()|0,n=t[e>>2]|0,n|0)do uu(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);uu($F()|0,5167),k=sa()|0,e=t[k>>2]|0;e:do if(e|0){do KF(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[k>>2]|0,e|0){y=k;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(XF(s)|0);)if(t[P>>2]=y,t[T>>2]=t[P>>2],JF(k,T)|0,!e)break e;if(QF(s),y=t[y>>2]|0,n=N8(s)|0,l=Wo()|0,d=h,h=h+((1*(n<<2)|0)+15&-16)|0,_=h,h=h+((1*(n<<2)|0)+15&-16)|0,n=t[(_8(s)|0)>>2]|0,n|0)for(r=d,o=_;t[r>>2]=t[(la(t[n+4>>2]|0)|0)>>2],t[o>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,o=o+4|0;ie=la(s)|0,n=ZF(s)|0,r=N8(s)|0,o=eL(s)|0,Is(ie|0,n|0,d|0,_|0,r|0,o|0,A4(s)|0),b0(l|0)}while((e|0)!=0)}}while(0);if(e=t[(O4()|0)>>2]|0,e|0)do ie=e+4|0,k=I4(ie)|0,s=V1(k)|0,l=b1(k)|0,d=(G1(k)|0)+1|0,_=oh(k)|0,y=B8(ie)|0,k=Dn(k)|0,T=nh(ie)|0,P=W4(ie)|0,zo(0,s|0,l|0,d|0,_|0,y|0,k|0,T|0,P|0,H4(ie)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(sa()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(q=t[(la(n)|0)>>2]|0,we=t[(y8(n)|0)>>2]|0,we|0):0){r=we;do{n=r+4|0,o=I4(n)|0;n:do if(o|0)switch(Dn(o)|0){case 0:break t;case 4:case 3:case 2:{_=V1(o)|0,y=b1(o)|0,k=(G1(o)|0)+1|0,T=oh(o)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,_|0,y|0,k|0,T|0,0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 1:{d=V1(o)|0,_=b1(o)|0,y=(G1(o)|0)+1|0,k=oh(o)|0,T=B8(n)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,d|0,_|0,y|0,k|0,T|0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 5:{k=V1(o)|0,T=b1(o)|0,P=(G1(o)|0)+1|0,ie=oh(o)|0,zo(q|0,k|0,T|0,P|0,ie|0,tL(o)|0,Dn(o)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}_n()}while(0);uf(),h=le}function $F(){return 11703}function KF(e){e=e|0,c[e+40>>0]=0}function XF(e){return e=e|0,(c[e+40>>0]|0)!=0|0}function JF(e,n){return e=e|0,n=n|0,n=nL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],Ve(e),t[n>>2]|0}function QF(e){e=e|0,c[e+40>>0]=1}function N8(e){return e=e|0,t[e+20>>2]|0}function ZF(e){return e=e|0,t[e+8>>2]|0}function eL(e){return e=e|0,t[e+32>>2]|0}function oh(e){return e=e|0,t[e+4>>2]|0}function B8(e){return e=e|0,t[e+4>>2]|0}function W4(e){return e=e|0,t[e+8>>2]|0}function H4(e){return e=e|0,t[e+16>>2]|0}function tL(e){return e=e|0,t[e+20>>2]|0}function nL(e){return e=e|0,t[e>>2]|0}function uh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0;vt=h,h=h+16|0,q=vt;do if(e>>>0<245){if(k=e>>>0<11?16:e+11&-8,e=k>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,o=t[r>>2]|0,s=o+8|0,l=t[s>>2]|0,(e|0)==(l|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=l),_e=n<<3,t[o+4>>2]=_e|3,_e=o+_e+4|0,t[_e>>2]=t[_e>>2]|1,_e=s,h=vt,_e|0;if(T=t[2785]|0,k>>>0>T>>>0){if(r|0)return n=2<>>12&16,n=n>>>d,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,o=n>>>1&1,o=(r|d|s|e|o)+(n>>>o)|0,n=11172+(o<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,d=s+8|0,r=t[d>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),l=(o<<3)-k|0,t[s+4>>2]=k|3,o=s+k|0,t[o+4>>2]=l|1,t[o+l>>2]=l,T|0&&(s=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r),t[2785]=l,t[2788]=o,_e=d,h=vt,_e|0;if(_=t[2784]|0,_){if(r=(_&0-_)+-1|0,d=r>>>12&16,r=r>>>d,l=r>>>5&8,r=r>>>l,y=r>>>2&4,r=r>>>y,o=r>>>1&2,r=r>>>o,e=r>>>1&1,e=t[11436+((l|d|y|o|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-k|0,o=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!o)y=e,l=r;else{do d=(t[o+4>>2]&-8)-k|0,y=d>>>0>>0,r=y?d:r,e=y?o:e,o=t[o+16+(((t[o+16>>2]|0)==0&1)<<2)>>2]|0;while((o|0)!=0);y=e,l=r}if(d=y+k|0,y>>>0>>0){s=t[y+24>>2]|0,n=t[y+12>>2]|0;do if((n|0)==(y|0)){if(e=y+20|0,n=t[e>>2]|0,!n&&(e=y+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0,r=n}else r=t[y+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[y+28>>2]|0,e=11436+(n<<2)|0,(y|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=_&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[y+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[y+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return l>>>0<16?(_e=l+k|0,t[y+4>>2]=_e|3,_e=y+_e+4|0,t[_e>>2]=t[_e>>2]|1):(t[y+4>>2]=k|3,t[d+4>>2]=l|1,t[d+l>>2]=l,T|0&&(o=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=o,t[n+12>>2]=o,t[o+8>>2]=n,t[o+12>>2]=r),t[2785]=l,t[2788]=d),_e=y+8|0,h=vt,_e|0}else P=k}else P=k}else P=k}else if(e>>>0<=4294967231)if(e=e+11|0,k=e&-8,y=t[2784]|0,y){o=0-k|0,e=e>>>8,e?k>>>0>16777215?_=31:(P=(e+1048320|0)>>>16&8,pe=e<>>16&4,pe=pe<>>16&2,_=14-(T|P|_)+(pe<<_>>>15)|0,_=k>>>(_+7|0)&1|_<<1):_=0,r=t[11436+(_<<2)>>2]|0;e:do if(!r)r=0,e=0,pe=57;else for(e=0,d=k<<((_|0)==31?0:25-(_>>>1)|0),l=0;;){if(s=(t[r+4>>2]&-8)-k|0,s>>>0>>0)if(s)e=r,o=s;else{e=r,o=0,s=r,pe=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(d>>>31<<2)>>2]|0,l=(s|0)==0|(s|0)==(r|0)?l:s,s=(r|0)==0,s){r=l,pe=57;break}else d=d<<((s^1)&1)}while(0);if((pe|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<_,e=y&(e|0-e),!e){P=k;break}P=(e&0-e)+-1|0,d=P>>>12&16,P=P>>>d,l=P>>>5&8,P=P>>>l,_=P>>>2&4,P=P>>>_,T=P>>>1&2,P=P>>>T,r=P>>>1&1,e=0,r=t[11436+((l|d|_|T|r)+(P>>>r)<<2)>>2]|0}r?(s=r,pe=61):(_=e,d=o)}if((pe|0)==61)for(;;)if(pe=0,r=(t[s+4>>2]&-8)-k|0,P=r>>>0>>0,r=P?r:o,e=P?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)o=r,pe=61;else{_=e,d=r;break}if((_|0)!=0?d>>>0<((t[2785]|0)-k|0)>>>0:0){if(l=_+k|0,_>>>0>=l>>>0)return _e=0,h=vt,_e|0;s=t[_+24>>2]|0,n=t[_+12>>2]|0;do if((n|0)==(_|0)){if(e=_+20|0,n=t[e>>2]|0,!n&&(e=_+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0}else _e=t[_+8>>2]|0,t[_e+12>>2]=n,t[n+8>>2]=_e;while(0);do if(s){if(e=t[_+28>>2]|0,r=11436+(e<<2)|0,(_|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){o=y&~(1<>2]|0)!=(_|0)&1)<<2)>>2]=n,!n){o=y;break}t[n+24>>2]=s,e=t[_+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[_+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),o=y}else o=y;while(0);do if(d>>>0>=16){if(t[_+4>>2]=k|3,t[l+4>>2]=d|1,t[l+d>>2]=d,n=d>>>3,d>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r;break}if(n=d>>>8,n?d>>>0>16777215?n=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=d>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[l+28>>2]=n,e=l+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}for(e=d<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(d|0)){pe=97;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=96;break}}if((pe|0)==96){t[o>>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}else if((pe|0)==97){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=l,t[pe>>2]=l,t[l+8>>2]=_e,t[l+12>>2]=r,t[l+24>>2]=0;break}}else _e=d+k|0,t[_+4>>2]=_e|3,_e=_+_e+4|0,t[_e>>2]=t[_e>>2]|1;while(0);return _e=_+8|0,h=vt,_e|0}else P=k}else P=k;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(_e=e+P|0,t[2788]=_e,t[2785]=n,t[_e+4>>2]=n|1,t[_e+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,_e=e+r+4|0,t[_e>>2]=t[_e>>2]|1),_e=e+8|0,h=vt,_e|0;if(d=t[2786]|0,d>>>0>P>>>0)return qe=d-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=q&-16^1431655768,t[q>>2]=e,t[2901]=e,e=4096),_=P+48|0,y=P+47|0,l=e+y|0,s=0-e|0,k=l&s,k>>>0<=P>>>0||(e=t[2893]|0,e|0?(T=t[2891]|0,q=T+k|0,q>>>0<=T>>>0|q>>>0>e>>>0):0))return _e=0,h=vt,_e|0;e:do if(t[2894]&4)n=0,pe=133;else{r=t[2789]|0;t:do if(r){for(o=11580;e=t[o>>2]|0,!(e>>>0<=r>>>0?(ie=o+4|0,(e+(t[ie>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[o+8>>2]|0,e)o=e;else{pe=118;break t}if(n=l-d&s,n>>>0<2147483647)if(e=xf(n|0)|0,(e|0)==((t[o>>2]|0)+(t[ie>>2]|0)|0)){if((e|0)!=(-1|0)){d=n,l=e,pe=135;break e}}else o=e,pe=126;else n=0}else pe=118;while(0);do if((pe|0)==118)if(r=xf(0)|0,(r|0)!=(-1|0)?(n=r,we=t[2902]|0,le=we+-1|0,n=((le&n|0)==0?0:(le+n&0-we)-n|0)+k|0,we=t[2891]|0,le=n+we|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ie=t[2893]|0,ie|0?le>>>0<=we>>>0|le>>>0>ie>>>0:0){n=0;break}if(e=xf(n|0)|0,(e|0)==(r|0)){d=n,l=r,pe=135;break e}else o=e,pe=126}else n=0;while(0);do if((pe|0)==126){if(r=0-n|0,!(_>>>0>n>>>0&(n>>>0<2147483647&(o|0)!=(-1|0))))if((o|0)==(-1|0)){n=0;break}else{d=n,l=o,pe=135;break e}if(e=t[2903]|0,e=y-n+e&0-e,e>>>0>=2147483647){d=n,l=o,pe=135;break e}if((xf(e|0)|0)==(-1|0)){xf(r|0)|0,n=0;break}else{d=e+n|0,l=o,pe=135;break e}}while(0);t[2894]=t[2894]|4,pe=133}while(0);if((((pe|0)==133?k>>>0<2147483647:0)?(qe=xf(k|0)|0,ie=xf(0)|0,Pe=ie-qe|0,ke=Pe>>>0>(P+40|0)>>>0,!((qe|0)==(-1|0)|ke^1|qe>>>0>>0&((qe|0)!=(-1|0)&(ie|0)!=(-1|0))^1)):0)&&(d=ke?Pe:n,l=qe,pe=135),(pe|0)==135){n=(t[2891]|0)+d|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),y=t[2789]|0;do if(y){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,o=t[r>>2]|0,(l|0)==(e+o|0)){pe=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if(((pe|0)==145?(t[n+12>>2]&8|0)==0:0)?y>>>0>>0&y>>>0>=e>>>0:0){t[r>>2]=o+d,_e=y+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=y+_e|0,_e=(t[2786]|0)+(d-_e)|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905];break}for(l>>>0<(t[2787]|0)>>>0&&(t[2787]=l),r=l+d|0,n=11580;;){if((t[n>>2]|0)==(r|0)){pe=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((pe|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=l,T=n+4|0,t[T>>2]=(t[T>>2]|0)+d,T=l+8|0,T=l+((T&7|0)==0?0:0-T&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,k=T+P|0,_=n-T-P|0,t[T+4>>2]=P|3;do if((n|0)!=(y|0)){if((n|0)==(t[2788]|0)){_e=(t[2785]|0)+_|0,t[2785]=_e,t[2788]=k,t[k+4>>2]=_e|1,t[k+_e>>2]=_e;break}if(e=t[n+4>>2]|0,(e&3|0)==1){d=e&-8,o=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{l=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(o=n+16|0,r=o+4|0,e=t[r>>2]|0,!e)if(e=t[o>>2]|0,e)r=o;else{e=0;break}for(;;){if(o=e+20|0,s=t[o>>2]|0,s|0){e=s,r=o;continue}if(o=e+16|0,s=t[o>>2]|0,s)e=s,r=o;else break}t[r>>2]=0}else _e=t[n+8>>2]|0,t[_e+12>>2]=e,t[e+8>>2]=_e;while(0);if(!l)break;r=t[n+28>>2]|0,o=11436+(r<<2)|0;do if((n|0)!=(t[o>>2]|0)){if(t[l+16+(((t[l+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[o>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=l,r=n+16|0,o=t[r>>2]|0,o|0&&(t[e+16>>2]=o,t[o+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+d|0,s=d+_|0}else s=_;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[k+4>>2]=s|1,t[k+s>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=k,t[n+12>>2]=k,t[k+8>>2]=n,t[k+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(o=11436+(n<<2)|0,t[k+28>>2]=n,e=k+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=k,t[k+24>>2]=o,t[k+12>>2]=k,t[k+8>>2]=k;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){pe=194;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=193;break}}if((pe|0)==193){t[o>>2]=k,t[k+24>>2]=r,t[k+12>>2]=k,t[k+8>>2]=k;break}else if((pe|0)==194){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=k,t[pe>>2]=k,t[k+8>>2]=_e,t[k+12>>2]=r,t[k+24>>2]=0;break}}else _e=(t[2786]|0)+_|0,t[2786]=_e,t[2789]=k,t[k+4>>2]=_e|1;while(0);return _e=T+8|0,h=vt,_e|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=y>>>0?(_e=e+(t[n+4>>2]|0)|0,_e>>>0>y>>>0):0);)n=t[n+8>>2]|0;s=_e+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=y+16|0,e=e>>>0>>0?y:e,n=e+8|0,r=l+8|0,r=(r&7|0)==0?0:0-r&7,pe=l+r|0,r=d+-40-r|0,t[2789]=pe,t[2786]=r,t[pe+4>>2]=r|1,t[pe+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=l,t[2896]=d,t[2898]=0,t[2897]=n,n=e+24|0;do pe=n,n=n+4|0,t[n>>2]=7;while((pe+8|0)>>>0<_e>>>0);if((e|0)!=(y|0)){if(l=e-y|0,t[r>>2]=t[r>>2]&-2,t[y+4>>2]=l|1,t[e>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=y,t[n+12>>2]=y,t[y+8>>2]=n,t[y+12>>2]=r;break}if(n=l>>>8,n?l>>>0>16777215?r=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,r=14-(qe|pe|r)+(_e<>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,o=11436+(r<<2)|0,t[y+28>>2]=r,t[y+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=y,t[y+24>>2]=o,t[y+12>>2]=y,t[y+8>>2]=y;break}for(e=l<<((r|0)==31?0:25-(r>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){pe=216;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=215;break}}if((pe|0)==215){t[o>>2]=y,t[y+24>>2]=r,t[y+12>>2]=y,t[y+8>>2]=y;break}else if((pe|0)==216){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=y,t[pe>>2]=y,t[y+8>>2]=_e,t[y+12>>2]=r,t[y+24>>2]=0;break}}}else{_e=t[2787]|0,(_e|0)==0|l>>>0<_e>>>0&&(t[2787]=l),t[2895]=l,t[2896]=d,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do _e=11172+(n<<1<<2)|0,t[_e+12>>2]=_e,t[_e+8>>2]=_e,n=n+1|0;while((n|0)!=32);_e=l+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=l+_e|0,_e=d+-40-_e|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return qe=n-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0}return t[(ca()|0)>>2]=12,_e=0,h=vt,_e|0}function sh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,y=r+n|0;do if(e&1)_=r,d=r;else{if(o=t[r>>2]|0,!(e&3)||(d=r+(0-o)|0,l=o+n|0,d>>>0>>0))return;if((d|0)==(t[2788]|0)){if(e=y+4|0,n=t[e>>2]|0,(n&3|0)!=3){_=d,n=l;break}t[2785]=l,t[e>>2]=n&-2,t[d+4>>2]=l|1,t[d+l>>2]=l;return}if(r=o>>>3,o>>>0<256)if(e=t[d+8>>2]|0,n=t[d+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,_=d,n=l;break}s=t[d+24>>2]|0,e=t[d+12>>2]|0;do if((e|0)==(d|0)){if(r=d+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0}else _=t[d+8>>2]|0,t[_+12>>2]=e,t[e+8>>2]=_;while(0);if(s){if(n=t[d+28>>2]|0,r=11436+(n<<2)|0,(d|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(d|0)&1)<<2)>>2]=e,!e){_=d,n=l;break}t[e+24>>2]=s,n=d+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,_=d,n=l):(_=d,n=l)}else _=d,n=l}while(0);if(!(d>>>0>=y>>>0)&&(e=y+4|0,o=t[e>>2]|0,!!(o&1))){if(o&2)t[e>>2]=o&-2,t[_+4>>2]=n|1,t[d+n>>2]=n,s=n;else{if(e=t[2788]|0,(y|0)==(t[2789]|0)){if(y=(t[2786]|0)+n|0,t[2786]=y,t[2789]=_,t[_+4>>2]=y|1,(_|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((y|0)==(e|0)){y=(t[2785]|0)+n|0,t[2785]=y,t[2788]=d,t[_+4>>2]=y|1,t[d+y>>2]=y;return}s=(o&-8)+n|0,r=o>>>3;do if(o>>>0<256)if(n=t[y+8>>2]|0,e=t[y+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{l=t[y+24>>2]|0,e=t[y+12>>2]|0;do if((e|0)==(y|0)){if(r=y+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0,r=e}else r=t[y+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(l|0){if(e=t[y+28>>2]|0,n=11436+(e<<2)|0,(y|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,e=y+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[_+4>>2]=s|1,t[d+s>>2]=s,(_|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=_,t[e+12>>2]=_,t[_+8>>2]=e,t[_+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(d=(e+1048320|0)>>>16&8,y=e<>>16&4,y=y<>>16&2,e=14-(l|d|e)+(y<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,o=11436+(e<<2)|0,t[_+28>>2]=e,t[_+20>>2]=0,t[_+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(o=r+16+(n>>>31<<2)|0,e=t[o>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[o>>2]=_,t[_+24>>2]=r,t[_+12>>2]=_,t[_+8>>2]=_;break}else if((e|0)==73){d=r+8|0,y=t[d>>2]|0,t[y+12>>2]=_,t[d>>2]=_,t[_+8>>2]=y,t[_+12>>2]=r,t[_+24>>2]=0;break}}else t[2784]=n|r,t[o>>2]=_,t[_+24>>2]=o,t[_+12>>2]=_,t[_+8>>2]=_;while(0);if(y=(t[2791]|0)+-1|0,t[2791]=y,!y)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function rL(){return 11628}function iL(e){e=e|0;var n=0,r=0;return n=h,h=h+16|0,r=n,t[r>>2]=sL(t[e+60>>2]|0)|0,e=lh(Ms(6,r|0)|0)|0,h=n,e|0}function j8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;P=h,h=h+48|0,k=P+16|0,l=P,s=P+32|0,_=e+28|0,o=t[_>>2]|0,t[s>>2]=o,y=e+20|0,o=(t[y>>2]|0)-o|0,t[s+4>>2]=o,t[s+8>>2]=n,t[s+12>>2]=r,o=o+r|0,d=e+60|0,t[l>>2]=t[d>>2],t[l+4>>2]=s,t[l+8>>2]=2,l=lh(G0(146,l|0)|0)|0;e:do if((o|0)!=(l|0)){for(n=2;!((l|0)<0);)if(o=o-l|0,we=t[s+4>>2]|0,q=l>>>0>we>>>0,s=q?s+8|0:s,n=(q<<31>>31)+n|0,we=l-(q?we:0)|0,t[s>>2]=(t[s>>2]|0)+we,q=s+4|0,t[q>>2]=(t[q>>2]|0)-we,t[k>>2]=t[d>>2],t[k+4>>2]=s,t[k+8>>2]=n,l=lh(G0(146,k|0)|0)|0,(o|0)==(l|0)){T=3;break e}t[e+16>>2]=0,t[_>>2]=0,t[y>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else T=3;while(0);return(T|0)==3&&(we=t[e+44>>2]|0,t[e+16>>2]=we+(t[e+48>>2]|0),t[_>>2]=we,t[y>>2]=we),h=P,r|0}function oL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return s=h,h=h+32|0,l=s,o=s+20|0,t[l>>2]=t[e+60>>2],t[l+4>>2]=0,t[l+8>>2]=n,t[l+12>>2]=o,t[l+16>>2]=r,(lh(Uu(140,l|0)|0)|0)<0?(t[o>>2]=-1,e=-1):e=t[o>>2]|0,h=s,e|0}function lh(e){return e=e|0,e>>>0>4294963200&&(t[(ca()|0)>>2]=0-e,e=-1),e|0}function ca(){return(uL()|0)+64|0}function uL(){return b4()|0}function b4(){return 2084}function sL(e){return e=e|0,e|0}function lL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return s=h,h=h+32|0,o=s,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[o>>2]=t[e+60>>2],t[o+4>>2]=21523,t[o+8>>2]=s+16,su(54,o|0)|0):0)&&(c[e+75>>0]=-1),o=j8(e,n,r)|0,h=s,o|0}function U8(e,n){e=e|0,n=n|0;var r=0,o=0;if(r=c[e>>0]|0,o=c[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=o<<24>>24)e=o;else{do e=e+1|0,n=n+1|0,r=c[e>>0]|0,o=c[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=o<<24>>24));e=o}return(r&255)-(e&255)|0}function fL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;e:do if(!r)e=0;else{for(;o=c[e>>0]|0,s=c[n>>0]|0,o<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(o&255)-(s&255)|0}while(0);return e|0}function q8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;ie=h,h=h+224|0,T=ie+120|0,P=ie+80|0,we=ie,le=ie+136|0,o=P,s=o+40|0;do t[o>>2]=0,o=o+4|0;while((o|0)<(s|0));return t[T>>2]=t[r>>2],(G4(0,n,T,we,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?q=cL(e)|0:q=0,r=t[e>>2]|0,k=r&32,(c[e+74>>0]|0)<1&&(t[e>>2]=r&-33),o=e+48|0,t[o>>2]|0?r=G4(e,n,T,we,P)|0:(s=e+44|0,l=t[s>>2]|0,t[s>>2]=le,d=e+28|0,t[d>>2]=le,_=e+20|0,t[_>>2]=le,t[o>>2]=80,y=e+16|0,t[y>>2]=le+80,r=G4(e,n,T,we,P)|0,l&&(dh[t[e+36>>2]&7](e,0,0)|0,r=(t[_>>2]|0)==0?-1:r,t[s>>2]=l,t[o>>2]=0,t[y>>2]=0,t[d>>2]=0,t[_>>2]=0)),o=t[e>>2]|0,t[e>>2]=o|k,q|0&&aL(e),r=(o&32|0)==0?r:-1),h=ie,r|0}function G4(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0;zt=h,h=h+64|0,Ht=zt+16|0,It=zt,vt=zt+24|0,gn=zt+8|0,Pn=zt+20|0,t[Ht>>2]=n,qe=(e|0)!=0,pe=vt+40|0,_e=pe,vt=vt+39|0,Ln=gn+4|0,d=0,l=0,T=0;e:for(;;){do if((l|0)>-1)if((d|0)>(2147483647-l|0)){t[(ca()|0)>>2]=75,l=-1;break}else{l=d+l|0;break}while(0);if(d=c[n>>0]|0,d<<24>>24)_=n;else{ke=87;break}t:for(;;){switch(d<<24>>24){case 37:{d=_,ke=9;break t}case 0:{d=_;break t}default:}Pe=_+1|0,t[Ht>>2]=Pe,d=c[Pe>>0]|0,_=Pe}t:do if((ke|0)==9)for(;;){if(ke=0,(c[_+1>>0]|0)!=37)break t;if(d=d+1|0,_=_+2|0,t[Ht>>2]=_,(c[_>>0]|0)==37)ke=9;else break}while(0);if(d=d-n|0,qe&&ri(e,n,d),d|0){n=_;continue}y=_+1|0,d=(c[y>>0]|0)+-48|0,d>>>0<10?(Pe=(c[_+2>>0]|0)==36,ie=Pe?d:-1,T=Pe?1:T,y=Pe?_+3|0:y):ie=-1,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0;t:do if(_>>>0<32)for(k=0,P=d;;){if(d=1<<_,!(d&75913)){d=P;break t}if(k=d|k,y=y+1|0,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0,_>>>0>=32)break;P=d}else k=0;while(0);if(d<<24>>24==42){if(_=y+1|0,d=(c[_>>0]|0)+-48|0,d>>>0<10?(c[y+2>>0]|0)==36:0)t[s+(d<<2)>>2]=10,d=t[o+((c[_>>0]|0)+-48<<3)>>2]|0,T=1,y=y+3|0;else{if(T|0){l=-1;break}qe?(T=(t[r>>2]|0)+(4-1)&~(4-1),d=t[T>>2]|0,t[r>>2]=T+4,T=0,y=_):(d=0,T=0,y=_)}t[Ht>>2]=y,Pe=(d|0)<0,d=Pe?0-d|0:d,k=Pe?k|8192:k}else{if(d=z8(Ht)|0,(d|0)<0){l=-1;break}y=t[Ht>>2]|0}do if((c[y>>0]|0)==46){if((c[y+1>>0]|0)!=42){t[Ht>>2]=y+1,_=z8(Ht)|0,y=t[Ht>>2]|0;break}if(P=y+2|0,_=(c[P>>0]|0)+-48|0,_>>>0<10?(c[y+3>>0]|0)==36:0){t[s+(_<<2)>>2]=10,_=t[o+((c[P>>0]|0)+-48<<3)>>2]|0,y=y+4|0,t[Ht>>2]=y;break}if(T|0){l=-1;break e}qe?(Pe=(t[r>>2]|0)+(4-1)&~(4-1),_=t[Pe>>2]|0,t[r>>2]=Pe+4):_=0,t[Ht>>2]=P,y=P}else _=-1;while(0);for(le=0;;){if(((c[y>>0]|0)+-65|0)>>>0>57){l=-1;break e}if(Pe=y+1|0,t[Ht>>2]=Pe,P=c[(c[y>>0]|0)+-65+(5178+(le*58|0))>>0]|0,q=P&255,(q+-1|0)>>>0<8)le=q,y=Pe;else break}if(!(P<<24>>24)){l=-1;break}we=(ie|0)>-1;do if(P<<24>>24==19)if(we){l=-1;break e}else ke=49;else{if(we){t[s+(ie<<2)>>2]=q,we=o+(ie<<3)|0,ie=t[we+4>>2]|0,ke=It,t[ke>>2]=t[we>>2],t[ke+4>>2]=ie,ke=49;break}if(!qe){l=0;break e}W8(It,q,r)}while(0);if((ke|0)==49?(ke=0,!qe):0){d=0,n=Pe;continue}y=c[y>>0]|0,y=(le|0)!=0&(y&15|0)==3?y&-33:y,we=k&-65537,ie=(k&8192|0)==0?k:we;t:do switch(y|0){case 110:switch((le&255)<<24>>24){case 0:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 1:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 2:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}case 3:{g[t[It>>2]>>1]=l,d=0,n=Pe;continue e}case 4:{c[t[It>>2]>>0]=l,d=0,n=Pe;continue e}case 6:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 7:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}default:{d=0,n=Pe;continue e}}case 112:{y=120,_=_>>>0>8?_:8,n=ie|8,ke=61;break}case 88:case 120:{n=ie,ke=61;break}case 111:{y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,q=pL(n,y,pe)|0,we=_e-q|0,k=0,P=5642,_=(ie&8|0)==0|(_|0)>(we|0)?_:we+1|0,we=ie,ke=67;break}case 105:case 100:if(y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,(y|0)<0){n=fh(0,0,n|0,y|0)|0,y=be,k=It,t[k>>2]=n,t[k+4>>2]=y,k=1,P=5642,ke=66;break t}else{k=(ie&2049|0)!=0&1,P=(ie&2048|0)==0?(ie&1|0)==0?5642:5644:5643,ke=66;break t}case 117:{y=It,k=0,P=5642,n=t[y>>2]|0,y=t[y+4>>2]|0,ke=66;break}case 99:{c[vt>>0]=t[It>>2],n=vt,k=0,P=5642,q=pe,y=1,_=we;break}case 109:{y=hL(t[(ca()|0)>>2]|0)|0,ke=71;break}case 115:{y=t[It>>2]|0,y=y|0?y:5652,ke=71;break}case 67:{t[gn>>2]=t[It>>2],t[Ln>>2]=0,t[It>>2]=gn,q=-1,y=gn,ke=75;break}case 83:{n=t[It>>2]|0,_?(q=_,y=n,ke=75):(wi(e,32,d,0,ie),n=0,ke=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{d=vL(e,+L[It>>3],d,_,ie,y)|0,n=Pe;continue e}default:k=0,P=5642,q=pe,y=_,_=ie}while(0);t:do if((ke|0)==61)ie=It,le=t[ie>>2]|0,ie=t[ie+4>>2]|0,q=dL(le,ie,pe,y&32)|0,P=(n&8|0)==0|(le|0)==0&(ie|0)==0,k=P?0:2,P=P?5642:5642+(y>>4)|0,we=n,n=le,y=ie,ke=67;else if((ke|0)==66)q=aa(n,y,pe)|0,we=ie,ke=67;else if((ke|0)==71)ke=0,ie=mL(y,0,_)|0,le=(ie|0)==0,n=y,k=0,P=5642,q=le?y+_|0:ie,y=le?_:ie-y|0,_=we;else if((ke|0)==75){for(ke=0,P=y,n=0,_=0;k=t[P>>2]|0,!(!k||(_=H8(Pn,k)|0,(_|0)<0|_>>>0>(q-n|0)>>>0));)if(n=_+n|0,q>>>0>n>>>0)P=P+4|0;else break;if((_|0)<0){l=-1;break e}if(wi(e,32,d,n,ie),!n)n=0,ke=84;else for(k=0;;){if(_=t[y>>2]|0,!_){ke=84;break t}if(_=H8(Pn,_)|0,k=_+k|0,(k|0)>(n|0)){ke=84;break t}if(ri(e,Pn,_),k>>>0>=n>>>0){ke=84;break}else y=y+4|0}}while(0);if((ke|0)==67)ke=0,y=(n|0)!=0|(y|0)!=0,ie=(_|0)!=0|y,y=((y^1)&1)+(_e-q)|0,n=ie?q:pe,q=pe,y=ie?(_|0)>(y|0)?_:y:_,_=(_|0)>-1?we&-65537:we;else if((ke|0)==84){ke=0,wi(e,32,d,n,ie^8192),d=(d|0)>(n|0)?d:n,n=Pe;continue}le=q-n|0,we=(y|0)<(le|0)?le:y,ie=we+k|0,d=(d|0)<(ie|0)?ie:d,wi(e,32,d,ie,_),ri(e,P,k),wi(e,48,d,ie,_^65536),wi(e,48,we,le,0),ri(e,n,le),wi(e,32,d,ie,_^8192),n=Pe}e:do if((ke|0)==87&&!e)if(!T)l=0;else{for(l=1;n=t[s+(l<<2)>>2]|0,!!n;)if(W8(o+(l<<3)|0,n,r),l=l+1|0,(l|0)>=10){l=1;break e}for(;;){if(t[s+(l<<2)>>2]|0){l=-1;break e}if(l=l+1|0,(l|0)>=10){l=1;break}}}while(0);return h=zt,l|0}function cL(e){return e=e|0,0}function aL(e){e=e|0}function ri(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||TL(n,r,e)|0}function z8(e){e=e|0;var n=0,r=0,o=0;if(r=t[e>>2]|0,o=(c[r>>0]|0)+-48|0,o>>>0<10){n=0;do n=o+(n*10|0)|0,r=r+1|0,t[e>>2]=r,o=(c[r>>0]|0)+-48|0;while(o>>>0<10)}else n=0;return n|0}function W8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,t[e>>2]=n;break e}case 10:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=0;break e}case 12:{o=(t[r>>2]|0)+(8-1)&~(8-1),n=o,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=o+8,o=e,t[o>>2]=s,t[o+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&65535)<<16>>16,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&255)<<24>>24,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}default:break e}while(0);while(0)}function dL(e,n,r,o){if(e=e|0,n=n|0,r=r|0,o=o|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=C[5694+(e&15)>>0]|0|o,e=ch(e|0,n|0,4)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function pL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=e&7|48,e=ch(e|0,n|0,3)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function aa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;o=K4(e|0,n|0,10,0)|0,r=r+-1|0,c[r>>0]=o&255|48,o=e,e=$4(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&o>>>0>4294967295;)n=be;n=e}else n=e;if(n)for(;r=r+-1|0,c[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function hL(e){return e=e|0,DL(e,t[(wL()|0)+188>>2]|0)|0}function mL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;l=n&255,o=(r|0)!=0;e:do if(o&(e&3|0)!=0)for(s=n&255;;){if((c[e>>0]|0)==s<<24>>24){d=6;break e}if(e=e+1|0,r=r+-1|0,o=(r|0)!=0,!(o&(e&3|0)!=0)){d=5;break}}else d=5;while(0);(d|0)==5&&(o?d=6:r=0);e:do if((d|0)==6&&(s=n&255,(c[e>>0]|0)!=s<<24>>24)){o=Un(l,16843009)|0;t:do if(r>>>0>3){for(;l=t[e>>2]^o,!((l&-2139062144^-2139062144)&l+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){d=11;break t}}else d=11;while(0);if((d|0)==11&&!r){r=0;break}for(;;){if((c[e>>0]|0)==s<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function wi(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0;if(d=h,h=h+256|0,l=d,(r|0)>(o|0)&(s&73728|0)==0){if(s=r-o|0,pa(l|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-o|0;do ri(e,l,256),s=s+-256|0;while(s>>>0>255);s=n&255}ri(e,l,s)}h=d}function H8(e,n){return e=e|0,n=n|0,e?e=_L(e,n,0)|0:e=0,e|0}function vL(e,n,r,o,s,l){e=e|0,n=+n,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0;Dr=h,h=h+560|0,y=Dr+8|0,Pe=Dr,zt=Dr+524|0,Pn=zt,k=Dr+512|0,t[Pe>>2]=0,gn=k+12|0,b8(n)|0,(be|0)<0?(n=-n,Ht=1,Ln=5659):(Ht=(s&2049|0)!=0&1,Ln=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),b8(n)|0,It=be&2146435072;do if(It>>>0<2146435072|(It|0)==2146435072&0<0){if(we=+gL(n,Pe)*2,d=we!=0,d&&(t[Pe>>2]=(t[Pe>>2]|0)+-1),qe=l|32,(qe|0)==97){le=l&32,q=(le|0)==0?Ln:Ln+9|0,P=Ht|2,d=12-o|0;do if(o>>>0>11|(d|0)==0)n=we;else{n=8;do d=d+-1|0,n=n*16;while((d|0)!=0);if((c[q>>0]|0)==45){n=-(n+(-we-n));break}else{n=we+n-n;break}}while(0);_=t[Pe>>2]|0,d=(_|0)<0?0-_|0:_,d=aa(d,((d|0)<0)<<31>>31,gn)|0,(d|0)==(gn|0)&&(d=k+11|0,c[d>>0]=48),c[d+-1>>0]=(_>>31&2)+43,T=d+-2|0,c[T>>0]=l+15,k=(o|0)<1,y=(s&8|0)==0,d=zt;do It=~~n,_=d+1|0,c[d>>0]=C[5694+It>>0]|le,n=(n-+(It|0))*16,((_-Pn|0)==1?!(y&(k&n==0)):0)?(c[_>>0]=46,d=d+2|0):d=_;while(n!=0);It=d-Pn|0,Pn=gn-T|0,gn=(o|0)!=0&(It+-2|0)<(o|0)?o+2|0:It,d=Pn+P+gn|0,wi(e,32,r,d,s),ri(e,q,P),wi(e,48,r,d,s^65536),ri(e,zt,It),wi(e,48,gn-It|0,0,0),ri(e,T,Pn),wi(e,32,r,d,s^8192);break}_=(o|0)<0?6:o,d?(d=(t[Pe>>2]|0)+-28|0,t[Pe>>2]=d,n=we*268435456):(n=we,d=t[Pe>>2]|0),It=(d|0)<0?y:y+288|0,y=It;do _e=~~n>>>0,t[y>>2]=_e,y=y+4|0,n=(n-+(_e>>>0))*1e9;while(n!=0);if((d|0)>0)for(k=It,P=y;;){if(T=(d|0)<29?d:29,d=P+-4|0,d>>>0>=k>>>0){y=0;do pe=X8(t[d>>2]|0,0,T|0)|0,pe=Y4(pe|0,be|0,y|0,0)|0,_e=be,ke=K4(pe|0,_e|0,1e9,0)|0,t[d>>2]=ke,y=$4(pe|0,_e|0,1e9,0)|0,d=d+-4|0;while(d>>>0>=k>>>0);y&&(k=k+-4|0,t[k>>2]=y)}for(y=P;!(y>>>0<=k>>>0);)if(d=y+-4|0,!(t[d>>2]|0))y=d;else break;if(d=(t[Pe>>2]|0)-T|0,t[Pe>>2]=d,(d|0)>0)P=y;else break}else k=It;if((d|0)<0){o=((_+25|0)/9|0)+1|0,ie=(qe|0)==102;do{if(le=0-d|0,le=(le|0)<9?le:9,k>>>0>>0){T=(1<>>le,q=0,d=k;do _e=t[d>>2]|0,t[d>>2]=(_e>>>le)+q,q=Un(_e&T,P)|0,d=d+4|0;while(d>>>0>>0);d=(t[k>>2]|0)==0?k+4|0:k,q?(t[y>>2]=q,k=d,d=y+4|0):(k=d,d=y)}else k=(t[k>>2]|0)==0?k+4|0:k,d=y;y=ie?It:k,y=(d-y>>2|0)>(o|0)?y+(o<<2)|0:d,d=(t[Pe>>2]|0)+le|0,t[Pe>>2]=d}while((d|0)<0);d=k,o=y}else d=k,o=y;if(_e=It,d>>>0>>0){if(y=(_e-d>>2)*9|0,T=t[d>>2]|0,T>>>0>=10){k=10;do k=k*10|0,y=y+1|0;while(T>>>0>=k>>>0)}}else y=0;if(ie=(qe|0)==103,ke=(_|0)!=0,k=_-((qe|0)!=102?y:0)+((ke&ie)<<31>>31)|0,(k|0)<(((o-_e>>2)*9|0)+-9|0)){if(k=k+9216|0,le=It+4+(((k|0)/9|0)+-1024<<2)|0,k=((k|0)%9|0)+1|0,(k|0)<9){T=10;do T=T*10|0,k=k+1|0;while((k|0)!=9)}else T=10;if(P=t[le>>2]|0,q=(P>>>0)%(T>>>0)|0,k=(le+4|0)==(o|0),k&(q|0)==0)k=le;else if(we=(((P>>>0)/(T>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,pe=(T|0)/2|0,n=q>>>0>>0?.5:k&(q|0)==(pe|0)?1:1.5,Ht&&(pe=(c[Ln>>0]|0)==45,n=pe?-n:n,we=pe?-we:we),k=P-q|0,t[le>>2]=k,we+n!=we){if(pe=k+T|0,t[le>>2]=pe,pe>>>0>999999999)for(y=le;k=y+-4|0,t[y>>2]=0,k>>>0>>0&&(d=d+-4|0,t[d>>2]=0),pe=(t[k>>2]|0)+1|0,t[k>>2]=pe,pe>>>0>999999999;)y=k;else k=le;if(y=(_e-d>>2)*9|0,P=t[d>>2]|0,P>>>0>=10){T=10;do T=T*10|0,y=y+1|0;while(P>>>0>=T>>>0)}}else k=le;k=k+4|0,k=o>>>0>k>>>0?k:o,pe=d}else k=o,pe=d;for(qe=k;;){if(qe>>>0<=pe>>>0){Pe=0;break}if(d=qe+-4|0,!(t[d>>2]|0))qe=d;else{Pe=1;break}}o=0-y|0;do if(ie)if(d=((ke^1)&1)+_|0,(d|0)>(y|0)&(y|0)>-5?(T=l+-1|0,_=d+-1-y|0):(T=l+-2|0,_=d+-1|0),d=s&8,d)le=d;else{if(Pe?(vt=t[qe+-4>>2]|0,(vt|0)!=0):0)if((vt>>>0)%10|0)k=0;else{k=0,d=10;do d=d*10|0,k=k+1|0;while(!((vt>>>0)%(d>>>0)|0|0))}else k=9;if(d=((qe-_e>>2)*9|0)+-9|0,(T|32|0)==102){le=d-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}else{le=d+y-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}}else T=l,le=s&8;while(0);if(ie=_|le,P=(ie|0)!=0&1,q=(T|32|0)==102,q)ke=0,d=(y|0)>0?y:0;else{if(d=(y|0)<0?o:y,d=aa(d,((d|0)<0)<<31>>31,gn)|0,k=gn,(k-d|0)<2)do d=d+-1|0,c[d>>0]=48;while((k-d|0)<2);c[d+-1>>0]=(y>>31&2)+43,d=d+-2|0,c[d>>0]=T,ke=d,d=k-d|0}if(d=Ht+1+_+P+d|0,wi(e,32,r,d,s),ri(e,Ln,Ht),wi(e,48,r,d,s^65536),q){T=pe>>>0>It>>>0?It:pe,le=zt+9|0,P=le,q=zt+8|0,k=T;do{if(y=aa(t[k>>2]|0,0,le)|0,(k|0)==(T|0))(y|0)==(le|0)&&(c[q>>0]=48,y=q);else if(y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}ri(e,y,P-y|0),k=k+4|0}while(k>>>0<=It>>>0);if(ie|0&&ri(e,5710,1),k>>>0>>0&(_|0)>0)for(;;){if(y=aa(t[k>>2]|0,0,le)|0,y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}if(ri(e,y,(_|0)<9?_:9),k=k+4|0,y=_+-9|0,k>>>0>>0&(_|0)>9)_=y;else{_=y;break}}wi(e,48,_+9|0,9,0)}else{if(ie=Pe?qe:pe+4|0,(_|0)>-1){Pe=zt+9|0,le=(le|0)==0,o=Pe,P=0-Pn|0,q=zt+8|0,T=pe;do{y=aa(t[T>>2]|0,0,Pe)|0,(y|0)==(Pe|0)&&(c[q>>0]=48,y=q);do if((T|0)==(pe|0)){if(k=y+1|0,ri(e,y,1),le&(_|0)<1){y=k;break}ri(e,5710,1),y=k}else{if(y>>>0<=zt>>>0)break;pa(zt|0,48,y+P|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}while(0);Pn=o-y|0,ri(e,y,(_|0)>(Pn|0)?Pn:_),_=_-Pn|0,T=T+4|0}while(T>>>0>>0&(_|0)>-1)}wi(e,48,_+18|0,18,0),ri(e,ke,gn-ke|0)}wi(e,32,r,d,s^8192)}else zt=(l&32|0)!=0,d=Ht+3|0,wi(e,32,r,d,s&-65537),ri(e,Ln,Ht),ri(e,n!=n|!1?zt?5686:5690:zt?5678:5682,3),wi(e,32,r,d,s^8192);while(0);return h=Dr,((d|0)<(r|0)?r:d)|0}function b8(e){e=+e;var n=0;return L[j>>3]=e,n=t[j>>2]|0,be=t[j+4>>2]|0,n|0}function gL(e,n){return e=+e,n=n|0,+ +G8(e,n)}function G8(e,n){e=+e,n=n|0;var r=0,o=0,s=0;switch(L[j>>3]=e,r=t[j>>2]|0,o=t[j+4>>2]|0,s=ch(r|0,o|0,52)|0,s&2047){case 0:{e!=0?(e=+G8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[j>>2]=r,t[j+4>>2]=o&-2146435073|1071644672,e=+L[j>>3]}return+e}function _L(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){c[e>>0]=n,e=1;break}if(!(t[t[(yL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){c[e>>0]=n,e=1;break}else{t[(ca()|0)>>2]=84,e=-1;break}if(n>>>0<2048){c[e>>0]=n>>>6|192,c[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){c[e>>0]=n>>>12|224,c[e+1>>0]=n>>>6&63|128,c[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){c[e>>0]=n>>>18|240,c[e+1>>0]=n>>>12&63|128,c[e+2>>0]=n>>>6&63|128,c[e+3>>0]=n&63|128,e=4;break}else{t[(ca()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function yL(){return b4()|0}function wL(){return b4()|0}function DL(e,n){e=e|0,n=n|0;var r=0,o=0;for(o=0;;){if((C[5712+o>>0]|0)==(e|0)){e=2;break}if(r=o+1|0,(r|0)==87){r=5800,o=87,e=5;break}else o=r}if((e|0)==2&&(o?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((c[e>>0]|0)!=0);if(o=o+-1|0,o)e=5;else break}return EL(r,t[n+20>>2]|0)|0}function EL(e,n){return e=e|0,n=n|0,SL(e,n)|0}function SL(e,n){return e=e|0,n=n|0,n?n=CL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function CL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;q=(t[e>>2]|0)+1794895138|0,l=fc(t[e+8>>2]|0,q)|0,o=fc(t[e+12>>2]|0,q)|0,s=fc(t[e+16>>2]|0,q)|0;e:do if((l>>>0>>2>>>0?(P=n-(l<<2)|0,o>>>0

    >>0&s>>>0

    >>0):0)?((s|o)&3|0)==0:0){for(P=o>>>2,T=s>>>2,k=0;;){if(_=l>>>1,y=k+_|0,d=y<<1,s=d+P|0,o=fc(t[e+(s<<2)>>2]|0,q)|0,s=fc(t[e+(s+1<<2)>>2]|0,q)|0,!(s>>>0>>0&o>>>0<(n-s|0)>>>0)){o=0;break e}if(c[e+(s+o)>>0]|0){o=0;break e}if(o=U8(r,e+s|0)|0,!o)break;if(o=(o|0)<0,(l|0)==1){o=0;break e}else k=o?k:y,l=o?_:l-_|0}o=d+T|0,s=fc(t[e+(o<<2)>>2]|0,q)|0,o=fc(t[e+(o+1<<2)>>2]|0,q)|0,o>>>0>>0&s>>>0<(n-o|0)>>>0?o=(c[e+(o+s)>>0]|0)==0?e+o|0:0:o=0}else o=0;while(0);return o|0}function fc(e,n){e=e|0,n=n|0;var r=0;return r=Z8(e|0)|0,((n|0)==0?e:r)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=r+16|0,s=t[o>>2]|0,s?l=5:xL(r)|0?o=0:(s=t[o>>2]|0,l=5);e:do if((l|0)==5){if(_=r+20|0,d=t[_>>2]|0,o=d,(s-d|0)>>>0>>0){o=dh[t[r+36>>2]&7](r,e,n)|0;break}t:do if((c[r+75>>0]|0)>-1){for(d=n;;){if(!d){l=0,s=e;break t}if(s=d+-1|0,(c[e+s>>0]|0)==10)break;d=s}if(o=dh[t[r+36>>2]&7](r,e,d)|0,o>>>0>>0)break e;l=d,s=e+d|0,n=n-d|0,o=t[_>>2]|0}else l=0,s=e;while(0);vn(o|0,s|0,n|0)|0,t[_>>2]=(t[_>>2]|0)+n,o=l+n|0}while(0);return o|0}function xL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=c[n>>0]|0,c[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Ur(e,n){e=w(e),n=w(n);var r=0,o=0;r=V8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=V8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[j>>2]|0|0}function cc(e,n){e=w(e),n=w(n);var r=0,o=0;r=Y8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=Y8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[j>>2]|0|0}function V4(e,n){e=w(e),n=w(n);var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;l=(D[j>>2]=e,t[j>>2]|0),_=(D[j>>2]=n,t[j>>2]|0),r=l>>>23&255,d=_>>>23&255,y=l&-2147483648,s=_<<1;e:do if((s|0)!=0?!((r|0)==255|((kL(n)|0)&2147483647)>>>0>2139095040):0){if(o=l<<1,o>>>0<=s>>>0)return n=w(e*w(0)),w((o|0)==(s|0)?n:e);if(r)o=l&8388607|8388608;else{if(r=l<<9,(r|0)>-1){o=r,r=0;do r=r+-1|0,o=o<<1;while((o|0)>-1)}else r=0;o=l<<1-r}if(d)_=_&8388607|8388608;else{if(l=_<<9,(l|0)>-1){s=0;do s=s+-1|0,l=l<<1;while((l|0)>-1)}else s=0;d=s,_=_<<1-s}s=o-_|0,l=(s|0)>-1;t:do if((r|0)>(d|0)){for(;;){if(l)if(s)o=s;else break;if(o=o<<1,r=r+-1|0,s=o-_|0,l=(s|0)>-1,(r|0)<=(d|0))break t}n=w(e*w(0));break e}while(0);if(l)if(s)o=s;else{n=w(e*w(0));break}if(o>>>0<8388608)do o=o<<1,r=r+-1|0;while(o>>>0<8388608);(r|0)>0?r=o+-8388608|r<<23:r=o>>>(1-r|0),n=(t[j>>2]=r|y,w(D[j>>2]))}else k=3;while(0);return(k|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function kL(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function AL(e,n){return e=e|0,n=n|0,q8(t[582]|0,e,n)|0}function $n(e){e=e|0,_n()}function da(e){e=e|0}function OL(e,n){return e=e|0,n=n|0,0}function IL(e){return e=e|0,($8(e+4|0)|0)==-1?(Nl[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function $8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function Tf(e){e=e|0,IL(e)|0&&PL(e)}function PL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?($8(n)|0)!=-1:0)||Nl[t[(t[e>>2]|0)+16>>2]&127](e)}function Tt(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=uh(n)|0,!(e|0);){if(e=FL()|0,!e){e=0;break}fD[e&0]()}return e|0}function K8(e){return e=e|0,Tt(e)|0}function Ve(e){e=e|0,sh(e)}function ML(e){e=e|0,(c[e+11>>0]|0)<0&&Ve(t[e>>2]|0)}function FL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function LL(){}function fh(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,o=n-o-(r>>>0>e>>>0|0)>>>0,be=o,e-r>>>0|0|0}function Y4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,r=e+r>>>0,be=n+o+(r>>>0>>0|0)>>>0,r|0|0}function pa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(l=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)c[e>>0]=n,e=e+1|0;for(o=l&-4|0,s=o-64|0,d=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=d,t[e+4>>2]=d,t[e+8>>2]=d,t[e+12>>2]=d,t[e+16>>2]=d,t[e+20>>2]=d,t[e+24>>2]=d,t[e+28>>2]=d,t[e+32>>2]=d,t[e+36>>2]=d,t[e+40>>2]=d,t[e+44>>2]=d,t[e+48>>2]=d,t[e+52>>2]=d,t[e+56>>2]=d,t[e+60>>2]=d,e=e+64|0;for(;(e|0)<(o|0);)t[e>>2]=d,e=e+4|0}for(;(e|0)<(l|0);)c[e>>0]=n,e=e+1|0;return l-r|0}function X8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(be=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;if((r|0)>=8192)return wo(e|0,n|0,r|0)|0;if(l=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return l|0;c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,o=r-64|0;(e|0)<=(o|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=s-4|0;(e|0)<(r|0);)c[e>>0]=c[n>>0]|0,c[e+1>>0]=c[n+1>>0]|0,c[e+2>>0]=c[n+2>>0]|0,c[e+3>>0]=c[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0;return l|0}function J8(e){e=e|0;var n=0;return n=c[ce+(e&255)>>0]|0,(n|0)<8?n|0:(n=c[ce+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=c[ce+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(c[ce+(e>>>24)>>0]|0)+24|0))}function Q8(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0;if(T=e,y=n,k=y,d=r,q=o,_=q,!k)return l=(s|0)!=0,_?l?(t[s>>2]=e|0,t[s+4>>2]=n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0):(l&&(t[s>>2]=(T>>>0)%(d>>>0),t[s+4>>2]=0),q=0,s=(T>>>0)/(d>>>0)>>>0,be=q,s|0);l=(_|0)==0;do if(d){if(!l){if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=31){P=l+1|0,_=31-l|0,n=l-31>>31,d=P,e=T>>>(P>>>0)&n|k<<_,n=k>>>(P>>>0)&n,l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0)}if(l=d-1|0,l&d|0){_=(cr(d|0)|0)+33-(cr(k|0)|0)|0,le=64-_|0,P=32-_|0,y=P>>31,we=_-32|0,n=we>>31,d=_,e=P-1>>31&k>>>(we>>>0)|(k<>>(_>>>0))&n,n=n&k>>>(_>>>0),l=T<>>(we>>>0))&y|T<>31;break}return s|0&&(t[s>>2]=l&T,t[s+4>>2]=0),(d|0)==1?(we=y|n&0,le=e|0|0,be=we,le|0):(le=J8(d|0)|0,we=k>>>(le>>>0)|0,le=k<<32-le|T>>>(le>>>0)|0,be=we,le|0)}else{if(l)return s|0&&(t[s>>2]=(k>>>0)%(d>>>0),t[s+4>>2]=0),we=0,le=(k>>>0)/(d>>>0)>>>0,be=we,le|0;if(!T)return s|0&&(t[s>>2]=0,t[s+4>>2]=(k>>>0)%(_>>>0)),we=0,le=(k>>>0)/(_>>>0)>>>0,be=we,le|0;if(l=_-1|0,!(l&_))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=l&k|n&0),we=0,le=k>>>((J8(_|0)|0)>>>0),be=we,le|0;if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=30){n=l+1|0,_=31-l|0,d=n,e=k<<_|T>>>(n>>>0),n=k>>>(n>>>0),l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,we=0,le=0,be=we,le|0):(we=0,le=0,be=we,le|0)}while(0);if(!d)k=_,y=0,_=0;else{P=r|0|0,T=q|o&0,k=Y4(P|0,T|0,-1,-1)|0,r=be,y=_,_=0;do o=y,y=l>>>31|y<<1,l=_|l<<1,o=e<<1|o>>>31|0,q=e>>>31|n<<1|0,fh(k|0,r|0,o|0,q|0)|0,le=be,we=le>>31|((le|0)<0?-1:0)<<1,_=we&1,e=fh(o|0,q|0,we&P|0,(((le|0)<0?-1:0)>>31|((le|0)<0?-1:0)<<1)&T|0)|0,n=be,d=d-1|0;while((d|0)!=0);k=y,y=0}return d=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),we=(l|0)>>>31|(k|d)<<1|(d<<1|l>>>31)&0|y,le=(l<<1|0>>>31)&-2|_,be=we,le|0}function $4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,Q8(e,n,r,o,0)|0}function xf(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[N>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(vr()|0,Os(12),-1):(t[N>>2]=e,((e|0)>(Xn()|0)?(Bn()|0)==0:0)?(t[N>>2]=n,Os(12),-1):n|0)}function Y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(o=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,c[e>>0]=c[n>>0]|0;e=o}else vn(e,n,r)|0;return e|0}function K4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;return l=h,h=h+16|0,s=l|0,Q8(e,n,r,o,s)|0,h=l,be=t[s+4>>2]|0,t[s>>2]|0|0}function Z8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function RL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,eD[e&1](n|0,r|0,o|0,s|0,l|0)}function NL(e,n,r){e=e|0,n=n|0,r=w(r),tD[e&1](n|0,w(r))}function BL(e,n,r){e=e|0,n=n|0,r=+r,nD[e&31](n|0,+r)}function jL(e,n,r,o){return e=e|0,n=n|0,r=w(r),o=w(o),w(rD[e&0](n|0,w(r),w(o)))}function UL(e,n){e=e|0,n=n|0,Nl[e&127](n|0)}function qL(e,n,r){e=e|0,n=n|0,r=r|0,Bl[e&31](n|0,r|0)}function zL(e,n){return e=e|0,n=n|0,dc[e&31](n|0)|0}function WL(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,iD[e&1](n|0,+r,+o,s|0)}function HL(e,n,r,o){e=e|0,n=n|0,r=+r,o=+o,CR[e&1](n|0,+r,+o)}function bL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,dh[e&7](n|0,r|0,o|0)|0}function VL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,+TR[e&1](n|0,r|0,o|0)}function YL(e,n){return e=e|0,n=n|0,+oD[e&15](n|0)}function $L(e,n,r){return e=e|0,n=n|0,r=+r,xR[e&1](n|0,+r)|0}function KL(e,n,r){return e=e|0,n=n|0,r=r|0,J4[e&15](n|0,r|0)|0}function XL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=+o,s=+s,l=l|0,kR[e&1](n|0,r|0,+o,+s,l|0)}function JL(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,AR[e&1](n|0,r|0,o|0,s|0,l|0,d|0)}function QL(e,n,r){return e=e|0,n=n|0,r=r|0,+uD[e&7](n|0,r|0)}function ZL(e){return e=e|0,ph[e&7]()|0}function eR(e,n,r,o,s,l){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,sD[e&1](n|0,r|0,o|0,s|0,l|0)|0}function tR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=+s,OR[e&1](n|0,r|0,o|0,+s)}function nR(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,lD[e&1](n|0,r|0,w(o),s|0,w(l),d|0)}function rR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,X1[e&15](n|0,r|0,o|0)}function iR(e){e=e|0,fD[e&0]()}function oR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,cD[e&15](n|0,r|0,+o)}function uR(e,n,r){return e=e|0,n=+n,r=+r,IR[e&1](+n,+r)|0}function sR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,Q4[e&15](n|0,r|0,o|0,s|0)}function lR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(0)}function fR(e,n){e=e|0,n=w(n),pt(1)}function Lo(e,n){e=e|0,n=+n,pt(2)}function cR(e,n,r){return e=e|0,n=w(n),r=w(r),pt(3),tt}function tn(e){e=e|0,pt(4)}function $1(e,n){e=e|0,n=n|0,pt(5)}function tu(e){return e=e|0,pt(6),0}function aR(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,pt(7)}function dR(e,n,r){e=e|0,n=+n,r=+r,pt(8)}function pR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(9),0}function hR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(10),0}function ac(e){return e=e|0,pt(11),0}function mR(e,n){return e=e|0,n=+n,pt(12),0}function K1(e,n){return e=e|0,n=n|0,pt(13),0}function vR(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,pt(14)}function gR(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,pt(15)}function X4(e,n){return e=e|0,n=n|0,pt(16),0}function _R(){return pt(17),0}function yR(e,n,r,o,s){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(18),0}function wR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,pt(19)}function DR(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,pt(20)}function ah(e,n,r){e=e|0,n=n|0,r=r|0,pt(21)}function ER(){pt(22)}function ha(e,n,r){e=e|0,n=n|0,r=+r,pt(23)}function SR(e,n){return e=+e,n=+n,pt(24),0}function ma(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,pt(25)}var eD=[lR,_I],tD=[fR,x0],nD=[Lo,Kf,Tl,xl,hf,xo,mf,Wa,Hs,mi,Xf,Rc,Jf,ao,$o,kl,Nc,Al,vf,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo],rD=[cR],Nl=[tn,da,Km,Xm,es,a_,d_,p_,YA,$A,KA,oI,uI,sI,kF,AF,OF,Sn,Oc,pf,ti,vi,Nm,Uc,r1,Hd,Pl,mv,Av,Kc,Jc,yp,Eg,na,Ug,Yg,u_,k_,q_,J_,a4,Ct,w9,U9,ex,hx,Ix,_0,s7,S7,W7,uk,Dk,Wk,Qk,tA,_A,DA,jA,JA,eO,gO,RO,d1,vP,YP,lM,SM,GM,uF,gF,wF,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn],Bl=[$1,ja,Ua,$f,gu,co,qa,Ws,za,Mc,Fc,Lc,po,Ce,ze,Et,on,sr,mn,Zf,gd,xd,H9,rx,ck,yP,HO,C8,$1,$1,$1,$1],dc=[tu,iL,Ba,m,b,ee,Ye,Ze,ut,In,jr,gi,Pm,Ha,Ya,Fx,Tk,wO,SP,Qo,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu],iD=[aR,Sd],CR=[dR,zA],dh=[pR,j8,oL,lL,Gv,P_,a7,kM],TR=[hR,Op],oD=[ac,_i,Re,pr,Cd,ho,bs,$a,Td,qc,ac,ac,ac,ac,ac,ac],xR=[mR,Kk],J4=[K1,OL,vd,Vc,_v,ig,pg,f_,H_,_x,Xu,dM,K1,K1,K1,K1],kR=[vR,iv],AR=[gR,KM],uD=[X4,Hr,Ka,kd,Xa,Jg,X4,X4],ph=[_R,Ja,Z0,g0,oA,TA,iO,CF],sD=[yR,or],OR=[wR,m4],lD=[DR,Bc],X1=[ah,S,A0,Vn,ni,Mv,Tg,dn,C9,fo,zI,JP,cF,ah,ah,ah],fD=[ER],cD=[ha,Ic,vu,Pc,Qu,Qf,k0,v,W1,k7,Gk,ha,ha,ha,ha,ha],IR=[SR,GA],Q4=[ma,Fg,zx,V7,Lk,aA,PA,aO,qO,OP,RF,ma,ma,ma,ma,ma];return{_llvm_bswap_i32:Z8,dynCall_idd:uR,dynCall_i:ZL,_i64Subtract:fh,___udivdi3:$4,dynCall_vif:NL,setThrew:vl,dynCall_viii:rR,_bitshift64Lshr:ch,_bitshift64Shl:X8,dynCall_vi:UL,dynCall_viiddi:XL,dynCall_diii:VL,dynCall_iii:KL,_memset:pa,_sbrk:xf,_memcpy:vn,__GLOBAL__sub_I_Yoga_cpp:t0,dynCall_vii:qL,___uremdi3:K4,dynCall_vid:BL,stackAlloc:zi,_nbind_init:VF,getTempRet0:fu,dynCall_di:YL,dynCall_iid:$L,setTempRet0:gl,_i64Add:Y4,dynCall_fiff:jL,dynCall_iiii:bL,_emscripten_get_global_libc:rL,dynCall_viid:oR,dynCall_viiid:tR,dynCall_viififi:nR,dynCall_ii:zL,__GLOBAL__sub_I_Binding_cc:lP,dynCall_viiii:sR,dynCall_iiiiii:eR,stackSave:lu,dynCall_viiiii:RL,__GLOBAL__sub_I_nbind_cc:Gs,dynCall_vidd:HL,_free:sh,runPostSets:LL,dynCall_viiiiii:JL,establishStackSpace:O0,_memmove:Y1,stackRestore:Ho,_malloc:uh,__GLOBAL__sub_I_common_cc:AO,dynCall_viddi:WL,dynCall_dii:QL,dynCall_v:iR}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(u){u=u||[],ensureInitRuntime();var f=u.length+1;function c(){for(var x=0;x<4-1;x++)g.push(0)}var g=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];c();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function u(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),u()},1)):u()}Module.run=Module.run=run;function exit(i,u){u&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var u=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+u;throw abortDecorators&&abortDecorators.forEach(function(c){f=c(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var hc=Me((hb,vE)=>{"use strict";var wN=hE(),DN=mE(),Py=!1,My=null;DN({},function(i,u){if(!Py){if(Py=!0,i)throw i;My=u}});if(!Py)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");vE.exports=wN(My.bind,My.lib)});var _E=Me((mb,gE)=>{"use strict";gE.exports=({onlyFirst:i=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i?void 0:"g")}});var Fy=Me((vb,yE)=>{"use strict";var EN=_E();yE.exports=i=>typeof i=="string"?i.replace(EN(),""):i});var Ry=Me((gb,Ly)=>{"use strict";var wE=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);Ly.exports=wE;Ly.exports.default=wE});var EE=Me((_b,DE)=>{"use strict";DE.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Mh=Me((yb,Ny)=>{"use strict";var SN=Fy(),CN=Ry(),TN=EE(),SE=i=>{if(i=i.replace(TN()," "),typeof i!="string"||i.length===0)return 0;i=SN(i);let u=0;for(let f=0;f=127&&c<=159||c>=768&&c<=879||(c>65535&&f++,u+=CN(c)?2:1)}return u};Ny.exports=SE;Ny.exports.default=SE});var jy=Me((wb,By)=>{"use strict";var xN=Mh(),CE=i=>{let u=0;for(let f of i.split(` +`))u=Math.max(u,xN(f));return u};By.exports=CE;By.exports.default=CE});var TE=Me(a2=>{"use strict";var kN=a2&&a2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(a2,"__esModule",{value:!0});var AN=kN(jy()),Uy={};a2.default=i=>{if(i.length===0)return{width:0,height:0};if(Uy[i])return Uy[i];let u=AN.default(i),f=i.split(` +`).length;return Uy[i]={width:u,height:f},{width:u,height:f}}});var xE=Me(d2=>{"use strict";var ON=d2&&d2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(d2,"__esModule",{value:!0});var hr=ON(hc()),IN=(i,u)=>{"position"in u&&i.setPositionType(u.position==="absolute"?hr.default.POSITION_TYPE_ABSOLUTE:hr.default.POSITION_TYPE_RELATIVE)},PN=(i,u)=>{"marginLeft"in u&&i.setMargin(hr.default.EDGE_START,u.marginLeft||0),"marginRight"in u&&i.setMargin(hr.default.EDGE_END,u.marginRight||0),"marginTop"in u&&i.setMargin(hr.default.EDGE_TOP,u.marginTop||0),"marginBottom"in u&&i.setMargin(hr.default.EDGE_BOTTOM,u.marginBottom||0)},MN=(i,u)=>{"paddingLeft"in u&&i.setPadding(hr.default.EDGE_LEFT,u.paddingLeft||0),"paddingRight"in u&&i.setPadding(hr.default.EDGE_RIGHT,u.paddingRight||0),"paddingTop"in u&&i.setPadding(hr.default.EDGE_TOP,u.paddingTop||0),"paddingBottom"in u&&i.setPadding(hr.default.EDGE_BOTTOM,u.paddingBottom||0)},FN=(i,u)=>{var f;"flexGrow"in u&&i.setFlexGrow((f=u.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in u&&i.setFlexShrink(typeof u.flexShrink=="number"?u.flexShrink:1),"flexDirection"in u&&(u.flexDirection==="row"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW),u.flexDirection==="row-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW_REVERSE),u.flexDirection==="column"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN),u.flexDirection==="column-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in u&&(typeof u.flexBasis=="number"?i.setFlexBasis(u.flexBasis):typeof u.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(u.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in u&&((u.alignItems==="stretch"||!u.alignItems)&&i.setAlignItems(hr.default.ALIGN_STRETCH),u.alignItems==="flex-start"&&i.setAlignItems(hr.default.ALIGN_FLEX_START),u.alignItems==="center"&&i.setAlignItems(hr.default.ALIGN_CENTER),u.alignItems==="flex-end"&&i.setAlignItems(hr.default.ALIGN_FLEX_END)),"alignSelf"in u&&((u.alignSelf==="auto"||!u.alignSelf)&&i.setAlignSelf(hr.default.ALIGN_AUTO),u.alignSelf==="flex-start"&&i.setAlignSelf(hr.default.ALIGN_FLEX_START),u.alignSelf==="center"&&i.setAlignSelf(hr.default.ALIGN_CENTER),u.alignSelf==="flex-end"&&i.setAlignSelf(hr.default.ALIGN_FLEX_END)),"justifyContent"in u&&((u.justifyContent==="flex-start"||!u.justifyContent)&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_START),u.justifyContent==="center"&&i.setJustifyContent(hr.default.JUSTIFY_CENTER),u.justifyContent==="flex-end"&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_END),u.justifyContent==="space-between"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_BETWEEN),u.justifyContent==="space-around"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_AROUND))},LN=(i,u)=>{var f,c;"width"in u&&(typeof u.width=="number"?i.setWidth(u.width):typeof u.width=="string"?i.setWidthPercent(Number.parseInt(u.width,10)):i.setWidthAuto()),"height"in u&&(typeof u.height=="number"?i.setHeight(u.height):typeof u.height=="string"?i.setHeightPercent(Number.parseInt(u.height,10)):i.setHeightAuto()),"minWidth"in u&&(typeof u.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(u.minWidth,10)):i.setMinWidth((f=u.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in u&&(typeof u.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(u.minHeight,10)):i.setMinHeight((c=u.minHeight)!==null&&c!==void 0?c:0))},RN=(i,u)=>{"display"in u&&i.setDisplay(u.display==="flex"?hr.default.DISPLAY_FLEX:hr.default.DISPLAY_NONE)},NN=(i,u)=>{if("borderStyle"in u){let f=typeof u.borderStyle=="string"?1:0;i.setBorder(hr.default.EDGE_TOP,f),i.setBorder(hr.default.EDGE_BOTTOM,f),i.setBorder(hr.default.EDGE_LEFT,f),i.setBorder(hr.default.EDGE_RIGHT,f)}};d2.default=(i,u={})=>{IN(i,u),PN(i,u),MN(i,u),FN(i,u),LN(i,u),RN(i,u),NN(i,u)}});var AE=Me((Sb,kE)=>{"use strict";kE.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qy=Me((Cb,OE)=>{var p2=AE(),IE={};for(let i of Object.keys(p2))IE[p2[i]]=i;var Xt={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};OE.exports=Xt;for(let i of Object.keys(Xt)){if(!("channels"in Xt[i]))throw new Error("missing channels property: "+i);if(!("labels"in Xt[i]))throw new Error("missing channel labels property: "+i);if(Xt[i].labels.length!==Xt[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:u,labels:f}=Xt[i];delete Xt[i].channels,delete Xt[i].labels,Object.defineProperty(Xt[i],"channels",{value:u}),Object.defineProperty(Xt[i],"labels",{value:f})}Xt.rgb.hsl=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(u,f,c),t=Math.max(u,f,c),C=t-g,A,x;t===g?A=0:u===t?A=(f-c)/C:f===t?A=2+(c-u)/C:c===t&&(A=4+(u-f)/C),A=Math.min(A*60,360),A<0&&(A+=360);let D=(g+t)/2;return t===g?x=0:D<=.5?x=C/(t+g):x=C/(2-t-g),[A,x*100,D*100]};Xt.rgb.hsv=function(i){let u,f,c,g,t,C=i[0]/255,A=i[1]/255,x=i[2]/255,D=Math.max(C,A,x),L=D-Math.min(C,A,x),N=function(j){return(D-j)/6/L+1/2};return L===0?(g=0,t=0):(t=L/D,u=N(C),f=N(A),c=N(x),C===D?g=c-f:A===D?g=1/3+u-c:x===D&&(g=2/3+f-u),g<0?g+=1:g>1&&(g-=1)),[g*360,t*100,D*100]};Xt.rgb.hwb=function(i){let u=i[0],f=i[1],c=i[2],g=Xt.rgb.hsl(i)[0],t=1/255*Math.min(u,Math.min(f,c));return c=1-1/255*Math.max(u,Math.max(f,c)),[g,t*100,c*100]};Xt.rgb.cmyk=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(1-u,1-f,1-c),t=(1-u-g)/(1-g)||0,C=(1-f-g)/(1-g)||0,A=(1-c-g)/(1-g)||0;return[t*100,C*100,A*100,g*100]};function BN(i,u){return(i[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2}Xt.rgb.keyword=function(i){let u=IE[i];if(u)return u;let f=Infinity,c;for(let g of Object.keys(p2)){let t=p2[g],C=BN(i,t);C.04045?((u+.055)/1.055)**2.4:u/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,c=c>.04045?((c+.055)/1.055)**2.4:c/12.92;let g=u*.4124+f*.3576+c*.1805,t=u*.2126+f*.7152+c*.0722,C=u*.0193+f*.1192+c*.9505;return[g*100,t*100,C*100]};Xt.rgb.lab=function(i){let u=Xt.rgb.xyz(i),f=u[0],c=u[1],g=u[2];f/=95.047,c/=100,g/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116,g=g>.008856?g**(1/3):7.787*g+16/116;let t=116*c-16,C=500*(f-c),A=200*(c-g);return[t,C,A]};Xt.hsl.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g,t,C;if(f===0)return C=c*255,[C,C,C];c<.5?g=c*(1+f):g=c+f-c*f;let A=2*c-g,x=[0,0,0];for(let D=0;D<3;D++)t=u+1/3*-(D-1),t<0&&t++,t>1&&t--,6*t<1?C=A+(g-A)*6*t:2*t<1?C=g:3*t<2?C=A+(g-A)*(2/3-t)*6:C=A,x[D]=C*255;return x};Xt.hsl.hsv=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=f,t=Math.max(c,.01);c*=2,f*=c<=1?c:2-c,g*=t<=1?t:2-t;let C=(c+f)/2,A=c===0?2*g/(t+g):2*f/(c+f);return[u,A*100,C*100]};Xt.hsv.rgb=function(i){let u=i[0]/60,f=i[1]/100,c=i[2]/100,g=Math.floor(u)%6,t=u-Math.floor(u),C=255*c*(1-f),A=255*c*(1-f*t),x=255*c*(1-f*(1-t));switch(c*=255,g){case 0:return[c,x,C];case 1:return[A,c,C];case 2:return[C,c,x];case 3:return[C,A,c];case 4:return[x,C,c];case 5:return[c,C,A]}};Xt.hsv.hsl=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=Math.max(c,.01),t,C;C=(2-f)*c;let A=(2-f)*g;return t=f*g,t/=A<=1?A:2-A,t=t||0,C/=2,[u,t*100,C*100]};Xt.hwb.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g=f+c,t;g>1&&(f/=g,c/=g);let C=Math.floor(6*u),A=1-c;t=6*u-C,(C&1)!=0&&(t=1-t);let x=f+t*(A-f),D,L,N;switch(C){default:case 6:case 0:D=A,L=x,N=f;break;case 1:D=x,L=A,N=f;break;case 2:D=f,L=A,N=x;break;case 3:D=f,L=x,N=A;break;case 4:D=x,L=f,N=A;break;case 5:D=A,L=f,N=x;break}return[D*255,L*255,N*255]};Xt.cmyk.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g=i[3]/100,t=1-Math.min(1,u*(1-g)+g),C=1-Math.min(1,f*(1-g)+g),A=1-Math.min(1,c*(1-g)+g);return[t*255,C*255,A*255]};Xt.xyz.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g,t,C;return g=u*3.2406+f*-1.5372+c*-.4986,t=u*-.9689+f*1.8758+c*.0415,C=u*.0557+f*-.204+c*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,C=C>.0031308?1.055*C**(1/2.4)-.055:C*12.92,g=Math.min(Math.max(0,g),1),t=Math.min(Math.max(0,t),1),C=Math.min(Math.max(0,C),1),[g*255,t*255,C*255]};Xt.xyz.lab=function(i){let u=i[0],f=i[1],c=i[2];u/=95.047,f/=100,c/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;let g=116*f-16,t=500*(u-f),C=200*(f-c);return[g,t,C]};Xt.lab.xyz=function(i){let u=i[0],f=i[1],c=i[2],g,t,C;t=(u+16)/116,g=f/500+t,C=t-c/200;let A=t**3,x=g**3,D=C**3;return t=A>.008856?A:(t-16/116)/7.787,g=x>.008856?x:(g-16/116)/7.787,C=D>.008856?D:(C-16/116)/7.787,g*=95.047,t*=100,C*=108.883,[g,t,C]};Xt.lab.lch=function(i){let u=i[0],f=i[1],c=i[2],g;g=Math.atan2(c,f)*360/2/Math.PI,g<0&&(g+=360);let C=Math.sqrt(f*f+c*c);return[u,C,g]};Xt.lch.lab=function(i){let u=i[0],f=i[1],g=i[2]/360*2*Math.PI,t=f*Math.cos(g),C=f*Math.sin(g);return[u,t,C]};Xt.rgb.ansi16=function(i,u=null){let[f,c,g]=i,t=u===null?Xt.rgb.hsv(i)[2]:u;if(t=Math.round(t/50),t===0)return 30;let C=30+(Math.round(g/255)<<2|Math.round(c/255)<<1|Math.round(f/255));return t===2&&(C+=60),C};Xt.hsv.ansi16=function(i){return Xt.rgb.ansi16(Xt.hsv.rgb(i),i[2])};Xt.rgb.ansi256=function(i){let u=i[0],f=i[1],c=i[2];return u===f&&f===c?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(f/255*5)+Math.round(c/255*5)};Xt.ansi16.rgb=function(i){let u=i%10;if(u===0||u===7)return i>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let f=(~~(i>50)+1)*.5,c=(u&1)*f*255,g=(u>>1&1)*f*255,t=(u>>2&1)*f*255;return[c,g,t]};Xt.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let u,f=Math.floor(i/36)/5*255,c=Math.floor((u=i%36)/6)/5*255,g=u%6/5*255;return[f,c,g]};Xt.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};Xt.hex.rgb=function(i){let u=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let f=u[0];u[0].length===3&&(f=f.split("").map(A=>A+A).join(""));let c=parseInt(f,16),g=c>>16&255,t=c>>8&255,C=c&255;return[g,t,C]};Xt.rgb.hcg=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.max(Math.max(u,f),c),t=Math.min(Math.min(u,f),c),C=g-t,A,x;return C<1?A=t/(1-C):A=0,C<=0?x=0:g===u?x=(f-c)/C%6:g===f?x=2+(c-u)/C:x=4+(u-f)/C,x/=6,x%=1,[x*360,C*100,A*100]};Xt.hsl.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=f<.5?2*u*f:2*u*(1-f),g=0;return c<1&&(g=(f-.5*c)/(1-c)),[i[0],c*100,g*100]};Xt.hsv.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=u*f,g=0;return c<1&&(g=(f-c)/(1-c)),[i[0],c*100,g*100]};Xt.hcg.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100;if(f===0)return[c*255,c*255,c*255];let g=[0,0,0],t=u%1*6,C=t%1,A=1-C,x=0;switch(Math.floor(t)){case 0:g[0]=1,g[1]=C,g[2]=0;break;case 1:g[0]=A,g[1]=1,g[2]=0;break;case 2:g[0]=0,g[1]=1,g[2]=C;break;case 3:g[0]=0,g[1]=A,g[2]=1;break;case 4:g[0]=C,g[1]=0,g[2]=1;break;default:g[0]=1,g[1]=0,g[2]=A}return x=(1-f)*c,[(f*g[0]+x)*255,(f*g[1]+x)*255,(f*g[2]+x)*255]};Xt.hcg.hsv=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u),g=0;return c>0&&(g=u/c),[i[0],g*100,c*100]};Xt.hcg.hsl=function(i){let u=i[1]/100,c=i[2]/100*(1-u)+.5*u,g=0;return c>0&&c<.5?g=u/(2*c):c>=.5&&c<1&&(g=u/(2*(1-c))),[i[0],g*100,c*100]};Xt.hcg.hwb=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u);return[i[0],(c-u)*100,(1-c)*100]};Xt.hwb.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=1-f,g=c-u,t=0;return g<1&&(t=(c-g)/(1-g)),[i[0],g*100,t*100]};Xt.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};Xt.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};Xt.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};Xt.gray.hsl=function(i){return[0,0,i[0]]};Xt.gray.hsv=Xt.gray.hsl;Xt.gray.hwb=function(i){return[0,100,i[0]]};Xt.gray.cmyk=function(i){return[0,0,0,i[0]]};Xt.gray.lab=function(i){return[i[0],0,0]};Xt.gray.hex=function(i){let u=Math.round(i[0]/100*255)&255,c=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(c.length)+c};Xt.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var ME=Me((Tb,PE)=>{var Fh=qy();function jN(){let i={},u=Object.keys(Fh);for(let f=u.length,c=0;c{var zy=qy(),WN=ME(),Ca={},HN=Object.keys(zy);function bN(i){let u=function(...f){let c=f[0];return c==null?c:(c.length>1&&(f=c),i(f))};return"conversion"in i&&(u.conversion=i.conversion),u}function GN(i){let u=function(...f){let c=f[0];if(c==null)return c;c.length>1&&(f=c);let g=i(f);if(typeof g=="object")for(let t=g.length,C=0;C{Ca[i]={},Object.defineProperty(Ca[i],"channels",{value:zy[i].channels}),Object.defineProperty(Ca[i],"labels",{value:zy[i].labels});let u=WN(i);Object.keys(u).forEach(c=>{let g=u[c];Ca[i][c]=GN(g),Ca[i][c].raw=bN(g)})});FE.exports=Ca});var Rh=Me((kb,RE)=>{"use strict";var NE=(i,u)=>(...f)=>`[${i(...f)+u}m`,BE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};5;${c}m`},jE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};2;${c[0]};${c[1]};${c[2]}m`},Lh=i=>i,UE=(i,u,f)=>[i,u,f],Ta=(i,u,f)=>{Object.defineProperty(i,u,{get:()=>{let c=f();return Object.defineProperty(i,u,{value:c,enumerable:!0,configurable:!0}),c},enumerable:!0,configurable:!0})},Wy,xa=(i,u,f,c)=>{Wy===void 0&&(Wy=LE());let g=c?10:0,t={};for(let[C,A]of Object.entries(Wy)){let x=C==="ansi16"?"ansi":C;C===u?t[x]=i(f,g):typeof A=="object"&&(t[x]=i(A[u],g))}return t};function VN(){let i=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[f,c]of Object.entries(u)){for(let[g,t]of Object.entries(c))u[g]={open:`[${t[0]}m`,close:`[${t[1]}m`},c[g]=u[g],i.set(t[0],t[1]);Object.defineProperty(u,f,{value:c,enumerable:!1})}return Object.defineProperty(u,"codes",{value:i,enumerable:!1}),u.color.close="",u.bgColor.close="",Ta(u.color,"ansi",()=>xa(NE,"ansi16",Lh,!1)),Ta(u.color,"ansi256",()=>xa(BE,"ansi256",Lh,!1)),Ta(u.color,"ansi16m",()=>xa(jE,"rgb",UE,!1)),Ta(u.bgColor,"ansi",()=>xa(NE,"ansi16",Lh,!0)),Ta(u.bgColor,"ansi256",()=>xa(BE,"ansi256",Lh,!0)),Ta(u.bgColor,"ansi16m",()=>xa(jE,"rgb",UE,!0)),u}Object.defineProperty(RE,"exports",{enumerable:!0,get:VN})});var WE=Me((Ab,qE)=>{"use strict";var h2=Mh(),YN=Fy(),$N=Rh(),Hy=new Set(["","\x9B"]),KN=39,zE=i=>`${Hy.values().next().value}[${i}m`,XN=i=>i.split(" ").map(u=>h2(u)),by=(i,u,f)=>{let c=[...u],g=!1,t=h2(YN(i[i.length-1]));for(let[C,A]of c.entries()){let x=h2(A);if(t+x<=f?i[i.length-1]+=A:(i.push(A),t=0),Hy.has(A))g=!0;else if(g&&A==="m"){g=!1;continue}g||(t+=x,t===f&&C0&&i.length>1&&(i[i.length-2]+=i.pop())},JN=i=>{let u=i.split(" "),f=u.length;for(;f>0&&!(h2(u[f-1])>0);)f--;return f===u.length?i:u.slice(0,f).join(" ")+u.slice(f).join("")},QN=(i,u,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let c="",g="",t,C=XN(i),A=[""];for(let[x,D]of i.split(" ").entries()){f.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let L=h2(A[A.length-1]);if(x!==0&&(L>=u&&(f.wordWrap===!1||f.trim===!1)&&(A.push(""),L=0),(L>0||f.trim===!1)&&(A[A.length-1]+=" ",L++)),f.hard&&C[x]>u){let N=u-L,j=1+Math.floor((C[x]-N-1)/u);Math.floor((C[x]-1)/u)u&&L>0&&C[x]>0){if(f.wordWrap===!1&&Lu&&f.wordWrap===!1){by(A,D,u);continue}A[A.length-1]+=D}f.trim!==!1&&(A=A.map(JN)),c=A.join(` +`);for(let[x,D]of[...c].entries()){if(g+=D,Hy.has(D)){let N=parseFloat(/\d[^m]*/.exec(c.slice(x,x+4)));t=N===KN?null:N}let L=$N.codes.get(Number(t));t&&L&&(c[x+1]===` +`?g+=zE(L):D===` +`&&(g+=zE(t)))}return g};qE.exports=(i,u,f)=>String(i).normalize().replace(/\r\n/g,` +`).split(` +`).map(c=>QN(c,u,f)).join(` +`)});var GE=Me((Ob,HE)=>{"use strict";var bE="[\uD800-\uDBFF][\uDC00-\uDFFF]",ZN=i=>i&&i.exact?new RegExp(`^${bE}$`):new RegExp(bE,"g");HE.exports=ZN});var Gy=Me((Ib,VE)=>{"use strict";var eB=Ry(),tB=GE(),YE=Rh(),$E=["","\x9B"],Nh=i=>`${$E[0]}[${i}m`,KE=(i,u,f)=>{let c=[];i=[...i];for(let g of i){let t=g;g.match(";")&&(g=g.split(";")[0][0]+"0");let C=YE.codes.get(parseInt(g,10));if(C){let A=i.indexOf(C.toString());A>=0?i.splice(A,1):c.push(Nh(u?C:t))}else if(u){c.push(Nh(0));break}else c.push(Nh(t))}if(u&&(c=c.filter((g,t)=>c.indexOf(g)===t),f!==void 0)){let g=Nh(YE.codes.get(parseInt(f,10)));c=c.reduce((t,C)=>C===g?[C,...t]:[...t,C],[])}return c.join("")};VE.exports=(i,u,f)=>{let c=[...i.normalize()],g=[];f=typeof f=="number"?f:c.length;let t=!1,C,A=0,x="";for(let[D,L]of c.entries()){let N=!1;if($E.includes(L)){let j=/\d[^m]*/.exec(i.slice(D,D+18));C=j&&j.length>0?j[0]:void 0,Au&&A<=f)x+=L;else if(A===u&&!t&&C!==void 0)x=KE(g);else if(A>=f){x+=KE(g,!0,C);break}}return x}});var JE=Me((Pb,XE)=>{"use strict";var Bf=Gy(),nB=Mh();function Bh(i,u,f){if(i.charAt(u)===" ")return u;for(let c=1;c<=3;c++)if(f){if(i.charAt(u+c)===" ")return u+c}else if(i.charAt(u-c)===" ")return u-c;return u}XE.exports=(i,u,f)=>{f=dt({position:"end",preferTruncationOnSpace:!1},f);let{position:c,space:g,preferTruncationOnSpace:t}=f,C="\u2026",A=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof u!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof u}`);if(u<1)return"";if(u===1)return C;let x=nB(i);if(x<=u)return i;if(c==="start"){if(t){let D=Bh(i,x-u+1,!0);return C+Bf(i,D,x).trim()}return g===!0&&(C+=" ",A=2),C+Bf(i,x-u+A,x)}if(c==="middle"){g===!0&&(C=" "+C+" ",A=3);let D=Math.floor(u/2);if(t){let L=Bh(i,D),N=Bh(i,x-(u-D)+1,!0);return Bf(i,0,L)+C+Bf(i,N,x).trim()}return Bf(i,0,D)+C+Bf(i,x-(u-D)+A,x)}if(c==="end"){if(t){let D=Bh(i,u-1);return Bf(i,0,D)+C}return g===!0&&(C=" "+C,A=2),Bf(i,0,u-A)+C}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${c}`)}});var Yy=Me(m2=>{"use strict";var QE=m2&&m2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(m2,"__esModule",{value:!0});var rB=QE(WE()),iB=QE(JE()),Vy={};m2.default=(i,u,f)=>{let c=i+String(u)+String(f);if(Vy[c])return Vy[c];let g=i;if(f==="wrap"&&(g=rB.default(i,u,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),g=iB.default(i,u,{position:t})}return Vy[c]=g,g}});var Ky=Me($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var ZE=i=>{let u="";if(i.childNodes.length>0)for(let f of i.childNodes){let c="";f.nodeName==="#text"?c=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(c=ZE(f)),c.length>0&&typeof f.internal_transform=="function"&&(c=f.internal_transform(c))),u+=c}return u};$y.default=ZE});var Xy=Me(Zr=>{"use strict";var v2=Zr&&Zr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Zr,"__esModule",{value:!0});Zr.setTextNodeValue=Zr.createTextNode=Zr.setStyle=Zr.setAttribute=Zr.removeChildNode=Zr.insertBeforeNode=Zr.appendChildNode=Zr.createNode=Zr.TEXT_NAME=void 0;var oB=v2(hc()),e6=v2(TE()),uB=v2(xE()),sB=v2(Yy()),lB=v2(Ky());Zr.TEXT_NAME="#text";Zr.createNode=i=>{var u;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:oB.default.Node.create()};return i==="ink-text"&&((u=f.yogaNode)===null||u===void 0||u.setMeasureFunc(fB.bind(null,f))),f};Zr.appendChildNode=(i,u)=>{var f;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i,i.childNodes.push(u),u.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.insertBeforeNode=(i,u,f)=>{var c,g;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,u),u.yogaNode&&((c=i.yogaNode)===null||c===void 0||c.insertChild(u.yogaNode,t));return}i.childNodes.push(u),u.yogaNode&&((g=i.yogaNode)===null||g===void 0||g.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.removeChildNode=(i,u)=>{var f,c;u.yogaNode&&((c=(f=u.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||c===void 0||c.removeChild(u.yogaNode)),u.parentNode=null;let g=i.childNodes.indexOf(u);g>=0&&i.childNodes.splice(g,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.setAttribute=(i,u,f)=>{i.attributes[u]=f};Zr.setStyle=(i,u)=>{i.style=u,i.yogaNode&&uB.default(i.yogaNode,u)};Zr.createTextNode=i=>{let u={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return Zr.setTextNodeValue(u,i),u};var fB=function(i,u){var f,c;let g=i.nodeName==="#text"?i.nodeValue:lB.default(i),t=e6.default(g);if(t.width<=u||t.width>=1&&u>0&&u<1)return t;let C=(c=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&c!==void 0?c:"wrap",A=sB.default(g,u,C);return e6.default(A)},t6=i=>{var u;if(!(!i||!i.parentNode))return(u=i.yogaNode)!==null&&u!==void 0?u:t6(i.parentNode)},jh=i=>{let u=t6(i);u==null||u.markDirty()};Zr.setTextNodeValue=(i,u)=>{typeof u!="string"&&(u=String(u)),i.nodeValue=u,jh(i)}});var mc=Me((Rb,n6)=>{"use strict";n6.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var g2=Me((Nb,Jy)=>{"use strict";var{EMPTY_BUFFER:cB}=mc();function r6(i,u){if(i.length===0)return cB;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(u),c=0;for(let g=0;g{"use strict";var l6=Symbol("kDone"),Qy=Symbol("kRun"),f6=class{constructor(u){this[l6]=()=>{this.pending--,this[Qy]()},this.concurrency=u||Infinity,this.jobs=[],this.pending=0}add(u){this.jobs.push(u),this[Qy]()}[Qy](){if(this.pending!==this.concurrency&&this.jobs.length){let u=this.jobs.shift();this.pending++,u(this[l6])}}};s6.exports=f6});var w2=Me((jb,a6)=>{"use strict";var _2=require("zlib"),d6=g2(),aB=c6(),{kStatusCode:p6,NOOP:dB}=mc(),pB=Buffer.from([0,0,255,255]),qh=Symbol("permessage-deflate"),Xl=Symbol("total-length"),y2=Symbol("callback"),jf=Symbol("buffers"),Zy=Symbol("error"),zh,h6=class{constructor(u,f,c){if(this._maxPayload=c|0,this._options=u||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!zh){let g=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zh=new aB(g)}}static get extensionName(){return"permessage-deflate"}offer(){let u={};return this._options.serverNoContextTakeover&&(u.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(u.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(u.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?u.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(u.client_max_window_bits=!0),u}accept(u){return u=this.normalizeParams(u),this.params=this._isServer?this.acceptAsServer(u):this.acceptAsClient(u),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let u=this._deflate[y2];this._deflate.close(),this._deflate=null,u&&u(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(u){let f=this._options,c=u.find(g=>!(f.serverNoContextTakeover===!1&&g.server_no_context_takeover||g.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>g.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!g.client_max_window_bits));if(!c)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(c.server_no_context_takeover=!0),f.clientNoContextTakeover&&(c.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(c.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?c.client_max_window_bits=f.clientMaxWindowBits:(c.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete c.client_max_window_bits,c}acceptAsClient(u){let f=u[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(u){return u.forEach(f=>{Object.keys(f).forEach(c=>{let g=f[c];if(g.length>1)throw new Error(`Parameter "${c}" must have only a single value`);if(g=g[0],c==="client_max_window_bits"){if(g!==!0){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else if(c==="server_max_window_bits"){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(c==="client_no_context_takeover"||c==="server_no_context_takeover"){if(g!==!0)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else throw new Error(`Unknown parameter "${c}"`);f[c]=g})}),u}decompress(u,f,c){zh.add(g=>{this._decompress(u,f,(t,C)=>{g(),c(t,C)})})}compress(u,f,c){zh.add(g=>{this._compress(u,f,(t,C)=>{g(),c(t,C)})})}_decompress(u,f,c){let g=this._isServer?"client":"server";if(!this._inflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=_2.createInflateRaw(zn(dt({},this._options.zlibInflateOptions),{windowBits:C})),this._inflate[qh]=this,this._inflate[Xl]=0,this._inflate[jf]=[],this._inflate.on("error",mB),this._inflate.on("data",m6)}this._inflate[y2]=c,this._inflate.write(u),f&&this._inflate.write(pB),this._inflate.flush(()=>{let t=this._inflate[Zy];if(t){this._inflate.close(),this._inflate=null,c(t);return}let C=d6.concat(this._inflate[jf],this._inflate[Xl]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Xl]=0,this._inflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._inflate.reset()),c(null,C)})}_compress(u,f,c){let g=this._isServer?"server":"client";if(!this._deflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=_2.createDeflateRaw(zn(dt({},this._options.zlibDeflateOptions),{windowBits:C})),this._deflate[Xl]=0,this._deflate[jf]=[],this._deflate.on("error",dB),this._deflate.on("data",hB)}this._deflate[y2]=c,this._deflate.write(u),this._deflate.flush(_2.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=d6.concat(this._deflate[jf],this._deflate[Xl]);f&&(t=t.slice(0,t.length-4)),this._deflate[y2]=null,this._deflate[Xl]=0,this._deflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._deflate.reset(),c(null,t)})}};a6.exports=h6;function hB(i){this[jf].push(i),this[Xl]+=i.length}function m6(i){if(this[Xl]+=i.length,this[qh]._maxPayload<1||this[Xl]<=this[qh]._maxPayload){this[jf].push(i);return}this[Zy]=new RangeError("Max payload size exceeded"),this[Zy][p6]=1009,this.removeListener("data",m6),this.reset()}function mB(i){this[qh]._inflate=null,i[p6]=1007,this[y2](i)}});var t3=Me((Ub,e3)=>{"use strict";function v6(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function g6(i){let u=i.length,f=0;for(;f=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),e3.exports={isValidStatusCode:v6,isValidUTF8(u){return u.length<150?g6(u):i(u)}}}catch(i){e3.exports={isValidStatusCode:v6,isValidUTF8:g6}}});var i3=Me((qb,_6)=>{"use strict";var{Writable:vB}=require("stream"),y6=w2(),{BINARY_TYPES:gB,EMPTY_BUFFER:_B,kStatusCode:yB,kWebSocket:wB}=mc(),{concat:n3,toArrayBuffer:DB,unmask:EB}=g2(),{isValidStatusCode:SB,isValidUTF8:w6}=t3(),D2=0,D6=1,E6=2,S6=3,r3=4,CB=5,C6=class extends vB{constructor(u,f,c,g){super();this._binaryType=u||gB[0],this[wB]=void 0,this._extensions=f||{},this._isServer=!!c,this._maxPayload=g|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=D2,this._loop=!1}_write(u,f,c){if(this._opcode===8&&this._state==D2)return c();this._bufferedBytes+=u.length,this._buffers.push(u),this.startLoop(c)}consume(u){if(this._bufferedBytes-=u,u===this._buffers[0].length)return this._buffers.shift();if(u=c.length?f.set(this._buffers.shift(),g):(f.set(new Uint8Array(c.buffer,c.byteOffset,u),g),this._buffers[0]=c.slice(u)),u-=c.length}while(u>0);return f}startLoop(u){let f;this._loop=!0;do switch(this._state){case D2:f=this.getInfo();break;case D6:f=this.getPayloadLength16();break;case E6:f=this.getPayloadLength64();break;case S6:this.getMask();break;case r3:f=this.getData(u);break;default:this._loop=!1;return}while(this._loop);u(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let u=this.consume(2);if((u[0]&48)!=0)return this._loop=!1,ii(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(u[0]&64)==64;if(f&&!this._extensions[y6.extensionName])return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(u[0]&128)==128,this._opcode=u[0]&15,this._payloadLength=u[1]&127,this._opcode===0){if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,ii(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,ii(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,ii(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(u[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,ii(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,ii(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=D6;else if(this._payloadLength===127)this._state=E6;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let u=this.consume(8),f=u.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,ii(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+u.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,ii(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=S6:this._state=r3}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=r3}getData(u){let f=_B;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=CB,this.decompress(f,u);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(u,f){this._extensions[y6.extensionName].decompress(u,this._fin,(g,t)=>{if(g)return f(g);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(ii(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let C=this.dataMessage();if(C)return f(C);this.startLoop(f)})}dataMessage(){if(this._fin){let u=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let c;this._binaryType==="nodebuffer"?c=n3(f,u):this._binaryType==="arraybuffer"?c=DB(n3(f,u)):c=f,this.emit("message",c)}else{let c=n3(f,u);if(!w6(c))return this._loop=!1,ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",c.toString())}}this._state=D2}controlMessage(u){if(this._opcode===8)if(this._loop=!1,u.length===0)this.emit("conclude",1005,""),this.end();else{if(u.length===1)return ii(RangeError,"invalid payload length 1",!0,1002);{let f=u.readUInt16BE(0);if(!SB(f))return ii(RangeError,`invalid status code ${f}`,!0,1002);let c=u.slice(2);if(!w6(c))return ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,c.toString()),this.end()}}else this._opcode===9?this.emit("ping",u):this.emit("pong",u);this._state=D2}};_6.exports=C6;function ii(i,u,f,c){let g=new i(f?`Invalid WebSocket frame: ${u}`:u);return Error.captureStackTrace(g,ii),g[yB]=c,g}});var o3=Me((zb,T6)=>{"use strict";var{randomFillSync:TB}=require("crypto"),x6=w2(),{EMPTY_BUFFER:xB}=mc(),{isValidStatusCode:kB}=t3(),{mask:k6,toBuffer:Jl}=g2(),vc=Buffer.alloc(4),Ql=class{constructor(u,f){this._extensions=f||{},this._socket=u,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(u,f){let c=f.mask&&f.readOnly,g=f.mask?6:2,t=u.length;u.length>=65536?(g+=8,t=127):u.length>125&&(g+=2,t=126);let C=Buffer.allocUnsafe(c?u.length+g:g);return C[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(C[0]|=64),C[1]=t,t===126?C.writeUInt16BE(u.length,2):t===127&&(C.writeUInt32BE(0,2),C.writeUInt32BE(u.length,6)),f.mask?(TB(vc,0,4),C[1]|=128,C[g-4]=vc[0],C[g-3]=vc[1],C[g-2]=vc[2],C[g-1]=vc[3],c?(k6(u,vc,C,g,u.length),[C]):(k6(u,vc,u,0,u.length),[C,u])):[C,u]}close(u,f,c,g){let t;if(u===void 0)t=xB;else{if(typeof u!="number"||!kB(u))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(u,0);else{let C=Buffer.byteLength(f);if(C>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+C),t.writeUInt16BE(u,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,c,g]):this.doClose(t,c,g)}doClose(u,f,c){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),c)}ping(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,g,f,Jl.readOnly,c]):this.doPing(g,f,Jl.readOnly,c)}doPing(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:c}),g)}pong(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,g,f,Jl.readOnly,c]):this.doPong(g,f,Jl.readOnly,c)}doPong(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:c}),g)}send(u,f,c){let g=Jl(u),t=this._extensions[x6.extensionName],C=f.binary?2:1,A=f.compress;if(this._firstFragment?(this._firstFragment=!1,A&&t&&(A=g.length>=t._threshold),this._compress=A):(A=!1,C=0),f.fin&&(this._firstFragment=!0),t){let x={fin:f.fin,rsv1:A,opcode:C,mask:f.mask,readOnly:Jl.readOnly};this._deflating?this.enqueue([this.dispatch,g,this._compress,x,c]):this.dispatch(g,this._compress,x,c)}else this.sendFrame(Ql.frame(g,{fin:f.fin,rsv1:!1,opcode:C,mask:f.mask,readOnly:Jl.readOnly}),c)}dispatch(u,f,c,g){if(!f){this.sendFrame(Ql.frame(u,c),g);return}let t=this._extensions[x6.extensionName];this._bufferedBytes+=u.length,this._deflating=!0,t.compress(u,c.fin,(C,A)=>{if(this._socket.destroyed){let x=new Error("The socket was closed while data was being compressed");typeof g=="function"&&g(x);for(let D=0;D{"use strict";var E2=class{constructor(u,f){this.target=f,this.type=u}},O6=class extends E2{constructor(u,f){super("message",f);this.data=u}},I6=class extends E2{constructor(u,f,c){super("close",c);this.wasClean=c._closeFrameReceived&&c._closeFrameSent,this.reason=f,this.code=u}},P6=class extends E2{constructor(u){super("open",u)}},M6=class extends E2{constructor(u,f){super("error",f);this.message=u.message,this.error=u}},AB={addEventListener(i,u,f){if(typeof u!="function")return;function c(x){u.call(this,new O6(x,this))}function g(x,D){u.call(this,new I6(x,D,this))}function t(x){u.call(this,new M6(x,this))}function C(){u.call(this,new P6(this))}let A=f&&f.once?"once":"on";i==="message"?(c._listener=u,this[A](i,c)):i==="close"?(g._listener=u,this[A](i,g)):i==="error"?(t._listener=u,this[A](i,t)):i==="open"?(C._listener=u,this[A](i,C)):this[A](i,u)},removeEventListener(i,u){let f=this.listeners(i);for(let c=0;c{"use strict";var S2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function rl(i,u,f){i[u]===void 0?i[u]=[f]:i[u].push(f)}function OB(i){let u=Object.create(null);if(i===void 0||i==="")return u;let f=Object.create(null),c=!1,g=!1,t=!1,C,A,x=-1,D=-1,L=0;for(;L{let f=i[u];return Array.isArray(f)||(f=[f]),f.map(c=>[u].concat(Object.keys(c).map(g=>{let t=c[g];return Array.isArray(t)||(t=[t]),t.map(C=>C===!0?g:`${g}=${C}`).join("; ")})).join("; ")).join(", ")}).join(", ")}L6.exports={format:IB,parse:OB}});var a3=Me((bb,R6)=>{"use strict";var PB=require("events"),MB=require("https"),FB=require("http"),N6=require("net"),LB=require("tls"),{randomBytes:RB,createHash:NB}=require("crypto"),{URL:s3}=require("url"),Uf=w2(),BB=i3(),jB=o3(),{BINARY_TYPES:B6,EMPTY_BUFFER:l3,GUID:UB,kStatusCode:qB,kWebSocket:No,NOOP:j6}=mc(),{addEventListener:zB,removeEventListener:WB}=F6(),{format:HB,parse:bB}=u3(),{toBuffer:GB}=g2(),U6=["CONNECTING","OPEN","CLOSING","CLOSED"],f3=[8,13],VB=30*1e3,mr=class extends PB{constructor(u,f,c){super();this._binaryType=B6[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=mr.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,u!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(c=f,f=void 0),q6(this,u,f,c)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(u){!B6.includes(u)||(this._binaryType=u,this._receiver&&(this._receiver._binaryType=u))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(u,f,c){let g=new BB(this.binaryType,this._extensions,this._isServer,c);this._sender=new jB(u,this._extensions),this._receiver=g,this._socket=u,g[No]=this,u[No]=this,g.on("conclude",YB),g.on("drain",$B),g.on("error",KB),g.on("message",XB),g.on("ping",JB),g.on("pong",QB),u.setTimeout(0),u.setNoDelay(),f.length>0&&u.unshift(f),u.on("close",z6),u.on("data",Wh),u.on("end",W6),u.on("error",H6),this._readyState=mr.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Uf.extensionName]&&this._extensions[Uf.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(u,f){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let c="WebSocket was closed before the connection was established";return Zl(this,this._req,c)}if(this.readyState===mr.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=mr.CLOSING,this._sender.close(u,f,!this._isServer,c=>{c||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),VB)}}ping(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.ping(u||l3,f,c)}pong(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.pong(u||l3,f,c)}send(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(c=f,f={}),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}let g=dt({binary:typeof u!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[Uf.extensionName]||(g.compress=!1),this._sender.send(u||l3,g,c)}terminate(){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let u="WebSocket was closed before the connection was established";return Zl(this,this._req,u)}this._socket&&(this._readyState=mr.CLOSING,this._socket.destroy())}}};U6.forEach((i,u)=>{let f={enumerable:!0,value:u};Object.defineProperty(mr.prototype,i,f),Object.defineProperty(mr,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(mr.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(mr.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let u=this.listeners(i);for(let f=0;f{Zl(i,j,"Opening handshake has timed out")}),j.on("error",$=>{j===null||j.aborted||(j=i._req=null,i._readyState=mr.CLOSING,i.emit("error",$),i.emitClose())}),j.on("response",$=>{let h=$.headers.location,re=$.statusCode;if(h&&g.followRedirects&&re>=300&&re<400){if(++i._redirects>g.maxRedirects){Zl(i,j,"Maximum redirects exceeded");return}j.abort();let ce=new s3(h,u);q6(i,ce,f,c)}else i.emit("unexpected-response",j,$)||Zl(i,j,`Unexpected server response: ${$.statusCode}`)}),j.on("upgrade",($,h,re)=>{if(i.emit("upgrade",$),i.readyState!==mr.CONNECTING)return;j=i._req=null;let ce=NB("sha1").update(D+UB).digest("base64");if($.headers["sec-websocket-accept"]!==ce){Zl(i,h,"Invalid Sec-WebSocket-Accept header");return}let Q=$.headers["sec-websocket-protocol"],oe=(f||"").split(/, */),Se;if(!f&&Q?Se="Server sent a subprotocol but none was requested":f&&!Q?Se="Server sent no subprotocol":Q&&!oe.includes(Q)&&(Se="Server sent an invalid subprotocol"),Se){Zl(i,h,Se);return}if(Q&&(i._protocol=Q),N)try{let me=bB($.headers["sec-websocket-extensions"]);me[Uf.extensionName]&&(N.accept(me[Uf.extensionName]),i._extensions[Uf.extensionName]=N)}catch(me){Zl(i,h,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(h,re,g.maxPayload)})}function ZB(i){return i.path=i.socketPath,N6.connect(i)}function ej(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=N6.isIP(i.host)?"":i.host),LB.connect(i)}function Zl(i,u,f){i._readyState=mr.CLOSING;let c=new Error(f);Error.captureStackTrace(c,Zl),u.setHeader?(u.abort(),u.socket&&!u.socket.destroyed&&u.socket.destroy(),u.once("abort",i.emitClose.bind(i)),i.emit("error",c)):(u.destroy(c),u.once("error",i.emit.bind(i,"error")),u.once("close",i.emitClose.bind(i)))}function c3(i,u,f){if(u){let c=GB(u).length;i._socket?i._sender._bufferedBytes+=c:i._bufferedAmount+=c}if(f){let c=new Error(`WebSocket is not open: readyState ${i.readyState} (${U6[i.readyState]})`);f(c)}}function YB(i,u){let f=this[No];f._socket.removeListener("data",Wh),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=u,f._closeCode=i,i===1005?f.close():f.close(i,u)}function $B(){this[No]._socket.resume()}function KB(i){let u=this[No];u._socket.removeListener("data",Wh),u._readyState=mr.CLOSING,u._closeCode=i[qB],u.emit("error",i),u._socket.destroy()}function b6(){this[No].emitClose()}function XB(i){this[No].emit("message",i)}function JB(i){let u=this[No];u.pong(i,!u._isServer,j6),u.emit("ping",i)}function QB(i){this[No].emit("pong",i)}function z6(){let i=this[No];this.removeListener("close",z6),this.removeListener("end",W6),i._readyState=mr.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",Wh),this[No]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",b6),i._receiver.on("finish",b6))}function Wh(i){this[No]._receiver.write(i)||this.pause()}function W6(){let i=this[No];i._readyState=mr.CLOSING,i._receiver.end(),this.end()}function H6(){let i=this[No];this.removeListener("error",H6),this.on("error",j6),i&&(i._readyState=mr.CLOSING,this.destroy())}});var $6=Me((Gb,G6)=>{"use strict";var{Duplex:tj}=require("stream");function V6(i){i.emit("close")}function nj(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Y6(i){this.removeListener("error",Y6),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function rj(i,u){let f=!0;function c(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c));let g=new tj(zn(dt({},u),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(C){g.push(C)||(f=!1,i._socket.pause())}),i.once("error",function(C){g.destroyed||g.destroy(C)}),i.once("close",function(){g.destroyed||g.push(null)}),g._destroy=function(t,C){if(i.readyState===i.CLOSED){C(t),process.nextTick(V6,g);return}let A=!1;i.once("error",function(D){A=!0,C(D)}),i.once("close",function(){A||C(t),process.nextTick(V6,g)}),i.terminate()},g._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){g._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),g._readableState.endEmitted&&g.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},g._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},g._write=function(t,C,A){if(i.readyState===i.CONNECTING){i.once("open",function(){g._write(t,C,A)});return}i.send(t,A)},g.on("end",nj),g.on("error",Y6),g}G6.exports=rj});var J6=Me((Vb,K6)=>{"use strict";var ij=require("events"),{createHash:oj}=require("crypto"),{createServer:uj,STATUS_CODES:d3}=require("http"),gc=w2(),sj=a3(),{format:lj,parse:fj}=u3(),{GUID:cj,kWebSocket:aj}=mc(),dj=/^[+/0-9A-Za-z]{22}==$/,X6=class extends ij{constructor(u,f){super();if(u=dt({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},u),u.port==null&&!u.server&&!u.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(u.port!=null?(this._server=uj((c,g)=>{let t=d3[426];g.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),g.end(t)}),this._server.listen(u.port,u.host,u.backlog,f)):u.server&&(this._server=u.server),this._server){let c=this.emit.bind(this,"connection");this._removeListeners=pj(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(g,t,C)=>{this.handleUpgrade(g,t,C,c)}})}u.perMessageDeflate===!0&&(u.perMessageDeflate={}),u.clientTracking&&(this.clients=new Set),this.options=u}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(u){if(u&&this.once("close",u),this.clients)for(let c of this.clients)c.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(hj,this)}shouldHandle(u){if(this.options.path){let f=u.url.indexOf("?");if((f!==-1?u.url.slice(0,f):u.url)!==this.options.path)return!1}return!0}handleUpgrade(u,f,c,g){f.on("error",p3);let t=u.headers["sec-websocket-key"]!==void 0?u.headers["sec-websocket-key"].trim():!1,C=+u.headers["sec-websocket-version"],A={};if(u.method!=="GET"||u.headers.upgrade.toLowerCase()!=="websocket"||!t||!dj.test(t)||C!==8&&C!==13||!this.shouldHandle(u))return Hh(f,400);if(this.options.perMessageDeflate){let x=new gc(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let D=fj(u.headers["sec-websocket-extensions"]);D[gc.extensionName]&&(x.accept(D[gc.extensionName]),A[gc.extensionName]=x)}catch(D){return Hh(f,400)}}if(this.options.verifyClient){let x={origin:u.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(u.socket.authorized||u.socket.encrypted),req:u};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(D,L,N,j)=>{if(!D)return Hh(f,L||401,N,j);this.completeUpgrade(t,A,u,f,c,g)});return}if(!this.options.verifyClient(x))return Hh(f,401)}this.completeUpgrade(t,A,u,f,c,g)}completeUpgrade(u,f,c,g,t,C){if(!g.readable||!g.writable)return g.destroy();if(g[aj])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let A=oj("sha1").update(u+cj).digest("base64"),x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${A}`],D=new sj(null),L=c.headers["sec-websocket-protocol"];if(L&&(L=L.split(",").map(mj),this.options.handleProtocols?L=this.options.handleProtocols(L,c):L=L[0],L&&(x.push(`Sec-WebSocket-Protocol: ${L}`),D._protocol=L)),f[gc.extensionName]){let N=f[gc.extensionName].params,j=lj({[gc.extensionName]:[N]});x.push(`Sec-WebSocket-Extensions: ${j}`),D._extensions=f}this.emit("headers",x,c),g.write(x.concat(`\r +`).join(`\r +`)),g.removeListener("error",p3),D.setSocket(g,t,this.options.maxPayload),this.clients&&(this.clients.add(D),D.on("close",()=>this.clients.delete(D))),C(D,c)}};K6.exports=X6;function pj(i,u){for(let f of Object.keys(u))i.on(f,u[f]);return function(){for(let c of Object.keys(u))i.removeListener(c,u[c])}}function hj(i){i.emit("close")}function p3(){this.destroy()}function Hh(i,u,f,c){i.writable&&(f=f||d3[u],c=dt({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},c),i.write(`HTTP/1.1 ${u} ${d3[u]}\r +`+Object.keys(c).map(g=>`${g}: ${c[g]}`).join(`\r +`)+`\r +\r +`+f)),i.removeListener("error",p3),i.destroy()}function mj(i){return i.trim()}});var Z6=Me((Yb,Q6)=>{"use strict";var C2=a3();C2.createWebSocketStream=$6();C2.Server=J6();C2.Receiver=i3();C2.Sender=o3();Q6.exports=C2});var eS=Me(bh=>{"use strict";var vj=bh&&bh.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bh,"__esModule",{value:!0});var gj=vj(Z6()),T2=global;T2.WebSocket||(T2.WebSocket=gj.default);T2.window||(T2.window=global);T2.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var tS=Me((Gh,h3)=>{(function(i,u){typeof Gh=="object"&&typeof h3=="object"?h3.exports=u():typeof define=="function"&&define.amd?define([],u):typeof Gh=="object"?Gh.ReactDevToolsBackend=u():i.ReactDevToolsBackend=u()})(window,function(){return function(i){var u={};function f(c){if(u[c])return u[c].exports;var g=u[c]={i:c,l:!1,exports:{}};return i[c].call(g.exports,g,g.exports,f),g.l=!0,g.exports}return f.m=i,f.c=u,f.d=function(c,g,t){f.o(c,g)||Object.defineProperty(c,g,{enumerable:!0,get:t})},f.r=function(c){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},f.t=function(c,g){if(1&g&&(c=f(c)),8&g||4&g&&typeof c=="object"&&c&&c.__esModule)return c;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:c}),2&g&&typeof c!="string")for(var C in c)f.d(t,C,function(A){return c[A]}.bind(null,C));return t},f.n=function(c){var g=c&&c.__esModule?function(){return c.default}:function(){return c};return f.d(g,"a",g),g},f.o=function(c,g){return Object.prototype.hasOwnProperty.call(c,g)},f.p="",f(f.s=20)}([function(i,u,f){"use strict";i.exports=f(12)},function(i,u,f){"use strict";var c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function C(A){if(A==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(A)}i.exports=function(){try{if(!Object.assign)return!1;var A=new String("abc");if(A[5]="de",Object.getOwnPropertyNames(A)[0]==="5")return!1;for(var x={},D=0;D<10;D++)x["_"+String.fromCharCode(D)]=D;if(Object.getOwnPropertyNames(x).map(function(N){return x[N]}).join("")!=="0123456789")return!1;var L={};return"abcdefghijklmnopqrst".split("").forEach(function(N){L[N]=N}),Object.keys(Object.assign({},L)).join("")==="abcdefghijklmnopqrst"}catch(N){return!1}}()?Object.assign:function(A,x){for(var D,L,N=C(A),j=1;j=J||Ft<0||Nt&&it-At>=ot}function Z(){var it=ce();if(ge(it))return Ae(it);Ue=setTimeout(Z,function(Ft){var jt=J-(Ft-be);return Nt?re(jt,ot-(Ft-At)):jt}(it))}function Ae(it){return Ue=void 0,Je&&Oe?V(it):(Oe=Le=void 0,ct)}function at(){var it=ce(),Ft=ge(it);if(Oe=arguments,Le=this,be=it,Ft){if(Ue===void 0)return ne(be);if(Nt)return Ue=setTimeout(Z,J),V(be)}return Ue===void 0&&(Ue=setTimeout(Z,J)),ct}return J=me(J)||0,oe(Te)&&(Ot=!!Te.leading,ot=(Nt="maxWait"in Te)?h(me(Te.maxWait)||0,J):ot,Je="trailing"in Te?!!Te.trailing:Je),at.cancel=function(){Ue!==void 0&&clearTimeout(Ue),At=0,Oe=be=Le=Ue=void 0},at.flush=function(){return Ue===void 0?ct:Ae(ce())},at}function oe(De){var J=g(De);return!!De&&(J=="object"||J=="function")}function Se(De){return g(De)=="symbol"||function(J){return!!J&&g(J)=="object"}(De)&&$.call(De)=="[object Symbol]"}function me(De){if(typeof De=="number")return De;if(Se(De))return NaN;if(oe(De)){var J=typeof De.valueOf=="function"?De.valueOf():De;De=oe(J)?J+"":J}if(typeof De!="string")return De===0?De:+De;De=De.replace(t,"");var Te=A.test(De);return Te||x.test(De)?D(De.slice(2),Te?2:8):C.test(De)?NaN:+De}i.exports=function(De,J,Te){var Oe=!0,Le=!0;if(typeof De!="function")throw new TypeError("Expected a function");return oe(Te)&&(Oe="leading"in Te?!!Te.leading:Oe,Le="trailing"in Te?!!Te.trailing:Le),Q(De,J,{leading:Oe,maxWait:J,trailing:Le})}}).call(this,f(4))},function(i,u,f){(function(c){function g(V){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ne){return typeof ne}:function(ne){return ne&&typeof Symbol=="function"&&ne.constructor===Symbol&&ne!==Symbol.prototype?"symbol":typeof ne})(V)}var t;u=i.exports=h,t=(c===void 0?"undefined":g(c))==="object"&&c.env&&c.env.NODE_DEBUG&&/\bsemver\b/i.test(c.env.NODE_DEBUG)?function(){var V=Array.prototype.slice.call(arguments,0);V.unshift("SEMVER"),console.log.apply(console,V)}:function(){},u.SEMVER_SPEC_VERSION="2.0.0";var C=Number.MAX_SAFE_INTEGER||9007199254740991,A=u.re=[],x=u.src=[],D=u.tokens={},L=0;function N(V){D[V]=L++}N("NUMERICIDENTIFIER"),x[D.NUMERICIDENTIFIER]="0|[1-9]\\d*",N("NUMERICIDENTIFIERLOOSE"),x[D.NUMERICIDENTIFIERLOOSE]="[0-9]+",N("NONNUMERICIDENTIFIER"),x[D.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",N("MAINVERSION"),x[D.MAINVERSION]="("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")",N("MAINVERSIONLOOSE"),x[D.MAINVERSIONLOOSE]="("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")",N("PRERELEASEIDENTIFIER"),x[D.PRERELEASEIDENTIFIER]="(?:"+x[D.NUMERICIDENTIFIER]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASEIDENTIFIERLOOSE"),x[D.PRERELEASEIDENTIFIERLOOSE]="(?:"+x[D.NUMERICIDENTIFIERLOOSE]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASE"),x[D.PRERELEASE]="(?:-("+x[D.PRERELEASEIDENTIFIER]+"(?:\\."+x[D.PRERELEASEIDENTIFIER]+")*))",N("PRERELEASELOOSE"),x[D.PRERELEASELOOSE]="(?:-?("+x[D.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+x[D.PRERELEASEIDENTIFIERLOOSE]+")*))",N("BUILDIDENTIFIER"),x[D.BUILDIDENTIFIER]="[0-9A-Za-z-]+",N("BUILD"),x[D.BUILD]="(?:\\+("+x[D.BUILDIDENTIFIER]+"(?:\\."+x[D.BUILDIDENTIFIER]+")*))",N("FULL"),N("FULLPLAIN"),x[D.FULLPLAIN]="v?"+x[D.MAINVERSION]+x[D.PRERELEASE]+"?"+x[D.BUILD]+"?",x[D.FULL]="^"+x[D.FULLPLAIN]+"$",N("LOOSEPLAIN"),x[D.LOOSEPLAIN]="[v=\\s]*"+x[D.MAINVERSIONLOOSE]+x[D.PRERELEASELOOSE]+"?"+x[D.BUILD]+"?",N("LOOSE"),x[D.LOOSE]="^"+x[D.LOOSEPLAIN]+"$",N("GTLT"),x[D.GTLT]="((?:<|>)?=?)",N("XRANGEIDENTIFIERLOOSE"),x[D.XRANGEIDENTIFIERLOOSE]=x[D.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",N("XRANGEIDENTIFIER"),x[D.XRANGEIDENTIFIER]=x[D.NUMERICIDENTIFIER]+"|x|X|\\*",N("XRANGEPLAIN"),x[D.XRANGEPLAIN]="[v=\\s]*("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:"+x[D.PRERELEASE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGEPLAINLOOSE"),x[D.XRANGEPLAINLOOSE]="[v=\\s]*("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:"+x[D.PRERELEASELOOSE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGE"),x[D.XRANGE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAIN]+"$",N("XRANGELOOSE"),x[D.XRANGELOOSE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAINLOOSE]+"$",N("COERCE"),x[D.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",N("COERCERTL"),A[D.COERCERTL]=new RegExp(x[D.COERCE],"g"),N("LONETILDE"),x[D.LONETILDE]="(?:~>?)",N("TILDETRIM"),x[D.TILDETRIM]="(\\s*)"+x[D.LONETILDE]+"\\s+",A[D.TILDETRIM]=new RegExp(x[D.TILDETRIM],"g"),N("TILDE"),x[D.TILDE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAIN]+"$",N("TILDELOOSE"),x[D.TILDELOOSE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAINLOOSE]+"$",N("LONECARET"),x[D.LONECARET]="(?:\\^)",N("CARETTRIM"),x[D.CARETTRIM]="(\\s*)"+x[D.LONECARET]+"\\s+",A[D.CARETTRIM]=new RegExp(x[D.CARETTRIM],"g"),N("CARET"),x[D.CARET]="^"+x[D.LONECARET]+x[D.XRANGEPLAIN]+"$",N("CARETLOOSE"),x[D.CARETLOOSE]="^"+x[D.LONECARET]+x[D.XRANGEPLAINLOOSE]+"$",N("COMPARATORLOOSE"),x[D.COMPARATORLOOSE]="^"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+")$|^$",N("COMPARATOR"),x[D.COMPARATOR]="^"+x[D.GTLT]+"\\s*("+x[D.FULLPLAIN]+")$|^$",N("COMPARATORTRIM"),x[D.COMPARATORTRIM]="(\\s*)"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+"|"+x[D.XRANGEPLAIN]+")",A[D.COMPARATORTRIM]=new RegExp(x[D.COMPARATORTRIM],"g"),N("HYPHENRANGE"),x[D.HYPHENRANGE]="^\\s*("+x[D.XRANGEPLAIN]+")\\s+-\\s+("+x[D.XRANGEPLAIN]+")\\s*$",N("HYPHENRANGELOOSE"),x[D.HYPHENRANGELOOSE]="^\\s*("+x[D.XRANGEPLAINLOOSE]+")\\s+-\\s+("+x[D.XRANGEPLAINLOOSE]+")\\s*$",N("STAR"),x[D.STAR]="(<|>)?=?\\s*\\*";for(var j=0;j256||!(ne.loose?A[D.LOOSE]:A[D.FULL]).test(V))return null;try{return new h(V,ne)}catch(ge){return null}}function h(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof h){if(V.loose===ne.loose)return V;V=V.version}else if(typeof V!="string")throw new TypeError("Invalid Version: "+V);if(V.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof h))return new h(V,ne);t("SemVer",V,ne),this.options=ne,this.loose=!!ne.loose;var ge=V.trim().match(ne.loose?A[D.LOOSE]:A[D.FULL]);if(!ge)throw new TypeError("Invalid Version: "+V);if(this.raw=V,this.major=+ge[1],this.minor=+ge[2],this.patch=+ge[3],this.major>C||this.major<0)throw new TypeError("Invalid major version");if(this.minor>C||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>C||this.patch<0)throw new TypeError("Invalid patch version");ge[4]?this.prerelease=ge[4].split(".").map(function(Z){if(/^[0-9]+$/.test(Z)){var Ae=+Z;if(Ae>=0&&Ae=0;)typeof this.prerelease[ge]=="number"&&(this.prerelease[ge]++,ge=-2);ge===-1&&this.prerelease.push(0)}ne&&(this.prerelease[0]===ne?isNaN(this.prerelease[1])&&(this.prerelease=[ne,0]):this.prerelease=[ne,0]);break;default:throw new Error("invalid increment argument: "+V)}return this.format(),this.raw=this.version,this},u.inc=function(V,ne,ge,Z){typeof ge=="string"&&(Z=ge,ge=void 0);try{return new h(V,ge).inc(ne,Z).version}catch(Ae){return null}},u.diff=function(V,ne){if(me(V,ne))return null;var ge=$(V),Z=$(ne),Ae="";if(ge.prerelease.length||Z.prerelease.length){Ae="pre";var at="prerelease"}for(var it in ge)if((it==="major"||it==="minor"||it==="patch")&&ge[it]!==Z[it])return Ae+it;return at},u.compareIdentifiers=ce;var re=/^[0-9]+$/;function ce(V,ne){var ge=re.test(V),Z=re.test(ne);return ge&&Z&&(V=+V,ne=+ne),V===ne?0:ge&&!Z?-1:Z&&!ge?1:V0}function Se(V,ne,ge){return Q(V,ne,ge)<0}function me(V,ne,ge){return Q(V,ne,ge)===0}function De(V,ne,ge){return Q(V,ne,ge)!==0}function J(V,ne,ge){return Q(V,ne,ge)>=0}function Te(V,ne,ge){return Q(V,ne,ge)<=0}function Oe(V,ne,ge,Z){switch(ne){case"===":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V===ge;case"!==":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V!==ge;case"":case"=":case"==":return me(V,ge,Z);case"!=":return De(V,ge,Z);case">":return oe(V,ge,Z);case">=":return J(V,ge,Z);case"<":return Se(V,ge,Z);case"<=":return Te(V,ge,Z);default:throw new TypeError("Invalid operator: "+ne)}}function Le(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof Le){if(V.loose===!!ne.loose)return V;V=V.value}if(!(this instanceof Le))return new Le(V,ne);t("comparator",V,ne),this.options=ne,this.loose=!!ne.loose,this.parse(V),this.semver===ot?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}u.rcompareIdentifiers=function(V,ne){return ce(ne,V)},u.major=function(V,ne){return new h(V,ne).major},u.minor=function(V,ne){return new h(V,ne).minor},u.patch=function(V,ne){return new h(V,ne).patch},u.compare=Q,u.compareLoose=function(V,ne){return Q(V,ne,!0)},u.compareBuild=function(V,ne,ge){var Z=new h(V,ge),Ae=new h(ne,ge);return Z.compare(Ae)||Z.compareBuild(Ae)},u.rcompare=function(V,ne,ge){return Q(ne,V,ge)},u.sort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(ge,Z,ne)})},u.rsort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(Z,ge,ne)})},u.gt=oe,u.lt=Se,u.eq=me,u.neq=De,u.gte=J,u.lte=Te,u.cmp=Oe,u.Comparator=Le;var ot={};function ct(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof ct)return V.loose===!!ne.loose&&V.includePrerelease===!!ne.includePrerelease?V:new ct(V.raw,ne);if(V instanceof Le)return new ct(V.value,ne);if(!(this instanceof ct))return new ct(V,ne);if(this.options=ne,this.loose=!!ne.loose,this.includePrerelease=!!ne.includePrerelease,this.raw=V,this.set=V.split(/\s*\|\|\s*/).map(function(ge){return this.parseRange(ge.trim())},this).filter(function(ge){return ge.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+V);this.format()}function Ue(V,ne){for(var ge=!0,Z=V.slice(),Ae=Z.pop();ge&&Z.length;)ge=Z.every(function(at){return Ae.intersects(at,ne)}),Ae=Z.pop();return ge}function be(V){return!V||V.toLowerCase()==="x"||V==="*"}function At(V,ne,ge,Z,Ae,at,it,Ft,jt,hn,Un,Jt,Yt){return((ne=be(ge)?"":be(Z)?">="+ge+".0.0":be(Ae)?">="+ge+"."+Z+".0":">="+ne)+" "+(Ft=be(jt)?"":be(hn)?"<"+(+jt+1)+".0.0":be(Un)?"<"+jt+"."+(+hn+1)+".0":Jt?"<="+jt+"."+hn+"."+Un+"-"+Jt:"<="+Ft)).trim()}function Ot(V,ne,ge){for(var Z=0;Z0){var Ae=V[Z].semver;if(Ae.major===ne.major&&Ae.minor===ne.minor&&Ae.patch===ne.patch)return!0}return!1}return!0}function Nt(V,ne,ge){try{ne=new ct(ne,ge)}catch(Z){return!1}return ne.test(V)}function Je(V,ne,ge,Z){var Ae,at,it,Ft,jt;switch(V=new h(V,Z),ne=new ct(ne,Z),ge){case">":Ae=oe,at=Te,it=Se,Ft=">",jt=">=";break;case"<":Ae=Se,at=J,it=oe,Ft="<",jt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Nt(V,ne,Z))return!1;for(var hn=0;hn=0.0.0")),Jt=Jt||cr,Yt=Yt||cr,Ae(cr.semver,Jt.semver,Z)?Jt=cr:it(cr.semver,Yt.semver,Z)&&(Yt=cr)}),Jt.operator===Ft||Jt.operator===jt||(!Yt.operator||Yt.operator===Ft)&&at(V,Yt.semver)||Yt.operator===jt&&it(V,Yt.semver))return!1}return!0}Le.prototype.parse=function(V){var ne=this.options.loose?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],ge=V.match(ne);if(!ge)throw new TypeError("Invalid comparator: "+V);this.operator=ge[1]!==void 0?ge[1]:"",this.operator==="="&&(this.operator=""),ge[2]?this.semver=new h(ge[2],this.options.loose):this.semver=ot},Le.prototype.toString=function(){return this.value},Le.prototype.test=function(V){if(t("Comparator.test",V,this.options.loose),this.semver===ot||V===ot)return!0;if(typeof V=="string")try{V=new h(V,this.options)}catch(ne){return!1}return Oe(V,this.operator,this.semver,this.options)},Le.prototype.intersects=function(V,ne){if(!(V instanceof Le))throw new TypeError("a Comparator is required");var ge;if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),this.operator==="")return this.value===""||(ge=new ct(V.value,ne),Nt(this.value,ge,ne));if(V.operator==="")return V.value===""||(ge=new ct(this.value,ne),Nt(V.semver,ge,ne));var Z=!(this.operator!==">="&&this.operator!==">"||V.operator!==">="&&V.operator!==">"),Ae=!(this.operator!=="<="&&this.operator!=="<"||V.operator!=="<="&&V.operator!=="<"),at=this.semver.version===V.semver.version,it=!(this.operator!==">="&&this.operator!=="<="||V.operator!==">="&&V.operator!=="<="),Ft=Oe(this.semver,"<",V.semver,ne)&&(this.operator===">="||this.operator===">")&&(V.operator==="<="||V.operator==="<"),jt=Oe(this.semver,">",V.semver,ne)&&(this.operator==="<="||this.operator==="<")&&(V.operator===">="||V.operator===">");return Z||Ae||at&&it||Ft||jt},u.Range=ct,ct.prototype.format=function(){return this.range=this.set.map(function(V){return V.join(" ").trim()}).join("||").trim(),this.range},ct.prototype.toString=function(){return this.range},ct.prototype.parseRange=function(V){var ne=this.options.loose;V=V.trim();var ge=ne?A[D.HYPHENRANGELOOSE]:A[D.HYPHENRANGE];V=V.replace(ge,At),t("hyphen replace",V),V=V.replace(A[D.COMPARATORTRIM],"$1$2$3"),t("comparator trim",V,A[D.COMPARATORTRIM]),V=(V=(V=V.replace(A[D.TILDETRIM],"$1~")).replace(A[D.CARETTRIM],"$1^")).split(/\s+/).join(" ");var Z=ne?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],Ae=V.split(" ").map(function(at){return function(it,Ft){return t("comp",it,Ft),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){t("caret",Jt,Yt);var cr=Yt.loose?A[D.CARETLOOSE]:A[D.CARET];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("caret",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=pt==="0"?">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+".0 <"+(+pt+1)+".0.0":Xn?(t("replaceCaret pr",Xn),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+(+pt+1)+".0.0"):(t("no pr"),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+" <"+(+pt+1)+".0.0"),t("caret return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("caret",it),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){var cr=Yt.loose?A[D.TILDELOOSE]:A[D.TILDE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("tilde",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":Xn?(t("replaceTilde pr",Xn),vr=">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0"):vr=">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0",t("tilde return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("tildes",it),it=function(jt,hn){return t("replaceXRanges",jt,hn),jt.split(/\s+/).map(function(Un){return function(Jt,Yt){Jt=Jt.trim();var cr=Yt.loose?A[D.XRANGELOOSE]:A[D.XRANGE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn,vr){t("xRange",Jt,w,pt,Mn,Bn,Xn,vr);var gr=be(Mn),r0=gr||be(Bn),Ci=r0||be(Xn),yo=Ci;return pt==="="&&yo&&(pt=""),vr=Yt.includePrerelease?"-0":"",gr?w=pt===">"||pt==="<"?"<0.0.0-0":"*":pt&&yo?(r0&&(Bn=0),Xn=0,pt===">"?(pt=">=",r0?(Mn=+Mn+1,Bn=0,Xn=0):(Bn=+Bn+1,Xn=0)):pt==="<="&&(pt="<",r0?Mn=+Mn+1:Bn=+Bn+1),w=pt+Mn+"."+Bn+"."+Xn+vr):r0?w=">="+Mn+".0.0"+vr+" <"+(+Mn+1)+".0.0"+vr:Ci&&(w=">="+Mn+"."+Bn+".0"+vr+" <"+Mn+"."+(+Bn+1)+".0"+vr),t("xRange return",w),w})}(Un,hn)}).join(" ")}(it,Ft),t("xrange",it),it=function(jt,hn){return t("replaceStars",jt,hn),jt.trim().replace(A[D.STAR],"")}(it,Ft),t("stars",it),it}(at,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(Ae=Ae.filter(function(at){return!!at.match(Z)})),Ae=Ae.map(function(at){return new Le(at,this.options)},this)},ct.prototype.intersects=function(V,ne){if(!(V instanceof ct))throw new TypeError("a Range is required");return this.set.some(function(ge){return Ue(ge,ne)&&V.set.some(function(Z){return Ue(Z,ne)&&ge.every(function(Ae){return Z.every(function(at){return Ae.intersects(at,ne)})})})})},u.toComparators=function(V,ne){return new ct(V,ne).set.map(function(ge){return ge.map(function(Z){return Z.value}).join(" ").trim().split(" ")})},ct.prototype.test=function(V){if(!V)return!1;if(typeof V=="string")try{V=new h(V,this.options)}catch(ge){return!1}for(var ne=0;ne":at.prerelease.length===0?at.patch++:at.prerelease.push(0),at.raw=at.format();case"":case">=":ge&&!oe(ge,at)||(ge=at);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+Ae.operator)}});return ge&&V.test(ge)?ge:null},u.validRange=function(V,ne){try{return new ct(V,ne).range||"*"}catch(ge){return null}},u.ltr=function(V,ne,ge){return Je(V,ne,"<",ge)},u.gtr=function(V,ne,ge){return Je(V,ne,">",ge)},u.outside=Je,u.prerelease=function(V,ne){var ge=$(V,ne);return ge&&ge.prerelease.length?ge.prerelease:null},u.intersects=function(V,ne,ge){return V=new ct(V,ge),ne=new ct(ne,ge),V.intersects(ne)},u.coerce=function(V,ne){if(V instanceof h)return V;if(typeof V=="number"&&(V=String(V)),typeof V!="string")return null;var ge=null;if((ne=ne||{}).rtl){for(var Z;(Z=A[D.COERCERTL].exec(V))&&(!ge||ge.index+ge[0].length!==V.length);)ge&&Z.index+Z[0].length===ge.index+ge[0].length||(ge=Z),A[D.COERCERTL].lastIndex=Z.index+Z[1].length+Z[2].length;A[D.COERCERTL].lastIndex=-1}else ge=V.match(A[D.COERCE]);return ge===null?null:$(ge[2]+"."+(ge[3]||"0")+"."+(ge[4]||"0"),ne)}}).call(this,f(5))},function(i,u){function f(g){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(g)}var c;c=function(){return this}();try{c=c||new Function("return this")()}catch(g){(typeof window=="undefined"?"undefined":f(window))==="object"&&(c=window)}i.exports=c},function(i,u){var f,c,g=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function C(){throw new Error("clearTimeout has not been defined")}function A(ce){if(f===setTimeout)return setTimeout(ce,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(ce,0);try{return f(ce,0)}catch(Q){try{return f.call(null,ce,0)}catch(oe){return f.call(this,ce,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(ce){f=t}try{c=typeof clearTimeout=="function"?clearTimeout:C}catch(ce){c=C}})();var x,D=[],L=!1,N=-1;function j(){L&&x&&(L=!1,x.length?D=x.concat(D):N=-1,D.length&&$())}function $(){if(!L){var ce=A(j);L=!0;for(var Q=D.length;Q;){for(x=D,D=[];++N1)for(var oe=1;oethis[C])return De(this,this[h].get(Ue)),!1;var Je=this[h].get(Ue).value;return this[N]&&(this[j]||this[N](Ue,Je.value)),Je.now=Ot,Je.maxAge=At,Je.value=be,this[A]+=Nt-Je.length,Je.length=Nt,this.get(Ue),me(this),!0}var V=new J(Ue,be,Nt,Ot,At);return V.length>this[C]?(this[N]&&this[N](Ue,be),!1):(this[A]+=V.length,this[$].unshift(V),this[h].set(Ue,this[$].head),me(this),!0)}},{key:"has",value:function(Ue){if(!this[h].has(Ue))return!1;var be=this[h].get(Ue).value;return!Se(this,be)}},{key:"get",value:function(Ue){return oe(this,Ue,!0)}},{key:"peek",value:function(Ue){return oe(this,Ue,!1)}},{key:"pop",value:function(){var Ue=this[$].tail;return Ue?(De(this,Ue),Ue.value):null}},{key:"del",value:function(Ue){De(this,this[h].get(Ue))}},{key:"load",value:function(Ue){this.reset();for(var be=Date.now(),At=Ue.length-1;At>=0;At--){var Ot=Ue[At],Nt=Ot.e||0;if(Nt===0)this.set(Ot.k,Ot.v);else{var Je=Nt-be;Je>0&&this.set(Ot.k,Ot.v,Je)}}}},{key:"prune",value:function(){var Ue=this;this[h].forEach(function(be,At){return oe(Ue,At,!1)})}},{key:"max",set:function(Ue){if(typeof Ue!="number"||Ue<0)throw new TypeError("max must be a non-negative number");this[C]=Ue||1/0,me(this)},get:function(){return this[C]}},{key:"allowStale",set:function(Ue){this[D]=!!Ue},get:function(){return this[D]}},{key:"maxAge",set:function(Ue){if(typeof Ue!="number")throw new TypeError("maxAge must be a non-negative number");this[L]=Ue,me(this)},get:function(){return this[L]}},{key:"lengthCalculator",set:function(Ue){var be=this;typeof Ue!="function"&&(Ue=ce),Ue!==this[x]&&(this[x]=Ue,this[A]=0,this[$].forEach(function(At){At.length=be[x](At.value,At.key),be[A]+=At.length})),me(this)},get:function(){return this[x]}},{key:"length",get:function(){return this[A]}},{key:"itemCount",get:function(){return this[$].length}}])&&g(Le.prototype,ot),ct&&g(Le,ct),Oe}(),oe=function(Oe,Le,ot){var ct=Oe[h].get(Le);if(ct){var Ue=ct.value;if(Se(Oe,Ue)){if(De(Oe,ct),!Oe[D])return}else ot&&(Oe[re]&&(ct.value.now=Date.now()),Oe[$].unshiftNode(ct));return Ue.value}},Se=function(Oe,Le){if(!Le||!Le.maxAge&&!Oe[L])return!1;var ot=Date.now()-Le.now;return Le.maxAge?ot>Le.maxAge:Oe[L]&&ot>Oe[L]},me=function(Oe){if(Oe[A]>Oe[C])for(var Le=Oe[$].tail;Oe[A]>Oe[C]&&Le!==null;){var ot=Le.prev;De(Oe,Le),Le=ot}},De=function(Oe,Le){if(Le){var ot=Le.value;Oe[N]&&Oe[N](ot.key,ot.value),Oe[A]-=ot.length,Oe[h].delete(ot.key),Oe[$].removeNode(Le)}},J=function Oe(Le,ot,ct,Ue,be){c(this,Oe),this.key=Le,this.value=ot,this.length=ct,this.now=Ue,this.maxAge=be||0},Te=function(Oe,Le,ot,ct){var Ue=ot.value;Se(Oe,Ue)&&(De(Oe,ot),Oe[D]||(Ue=void 0)),Ue&&Le.call(ct,Ue.value,Ue.key,Oe)};i.exports=Q},function(i,u,f){(function(c){function g(t){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,C,A,x={};return x.copy=function(){var D=!1,L=null,N=!1;function j(){D=!1,L=null,N&&window.getSelection().removeAllRanges(),N=!1}return document.addEventListener("copy",function($){if(D){for(var h in L)$.clipboardData.setData(h,L[h]);$.preventDefault()}}),function($){return new Promise(function(h,re){D=!0,typeof $=="string"?L={"text/plain":$}:$ instanceof Node?L={"text/html":new XMLSerializer().serializeToString($)}:$ instanceof Object?L=$:re("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function ce(Q){try{if(document.execCommand("copy"))j(),h();else{if(Q)throw j(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var oe=document.getSelection();if(!document.queryCommandEnabled("copy")&&oe.isCollapsed){var Se=document.createRange();Se.selectNodeContents(document.body),oe.removeAllRanges(),oe.addRange(Se),N=!0}})(),ce(!0)}}catch(oe){j(),re(oe)}}(!1)})}}(),x.paste=(A=!1,document.addEventListener("paste",function(D){if(A){A=!1,D.preventDefault();var L=t;t=null,L(D.clipboardData.getData(C))}}),function(D){return new Promise(function(L,N){A=!0,t=L,C=D||"text/plain";try{document.execCommand("paste")||(A=!1,N(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(j){A=!1,N(new Error(j))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(D){function L(me,De){return function(){me.apply(De,arguments)}}function N(me){if(g(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof me!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],Q(me,L($,this),L(h,this))}function j(me){var De=this;return this._state===null?void this._deferreds.push(me):void oe(function(){var J=De._state?me.onFulfilled:me.onRejected;if(J!==null){var Te;try{Te=J(De._value)}catch(Oe){return void me.reject(Oe)}me.resolve(Te)}else(De._state?me.resolve:me.reject)(De._value)})}function $(me){try{if(me===this)throw new TypeError("A promise cannot be resolved with itself.");if(me&&(g(me)=="object"||typeof me=="function")){var De=me.then;if(typeof De=="function")return void Q(L(De,me),L($,this),L(h,this))}this._state=!0,this._value=me,re.call(this)}catch(J){h.call(this,J)}}function h(me){this._state=!1,this._value=me,re.call(this)}function re(){for(var me=0,De=this._deferreds.length;De>me;me++)j.call(this,this._deferreds[me]);this._deferreds=null}function ce(me,De,J,Te){this.onFulfilled=typeof me=="function"?me:null,this.onRejected=typeof De=="function"?De:null,this.resolve=J,this.reject=Te}function Q(me,De,J){var Te=!1;try{me(function(Oe){Te||(Te=!0,De(Oe))},function(Oe){Te||(Te=!0,J(Oe))})}catch(Oe){if(Te)return;Te=!0,J(Oe)}}var oe=N.immediateFn||typeof c=="function"&&c||function(me){setTimeout(me,1)},Se=Array.isArray||function(me){return Object.prototype.toString.call(me)==="[object Array]"};N.prototype.catch=function(me){return this.then(null,me)},N.prototype.then=function(me,De){var J=this;return new N(function(Te,Oe){j.call(J,new ce(me,De,Te,Oe))})},N.all=function(){var me=Array.prototype.slice.call(arguments.length===1&&Se(arguments[0])?arguments[0]:arguments);return new N(function(De,J){function Te(ot,ct){try{if(ct&&(g(ct)=="object"||typeof ct=="function")){var Ue=ct.then;if(typeof Ue=="function")return void Ue.call(ct,function(be){Te(ot,be)},J)}me[ot]=ct,--Oe==0&&De(me)}catch(be){J(be)}}if(me.length===0)return De([]);for(var Oe=me.length,Le=0;LeTe;Te++)me[Te].then(De,J)})},i.exports?i.exports=N:D.Promise||(D.Promise=N)}(this),x.copy=function(D){return new Promise(function(L,N){if(typeof D!="string"&&!("text/plain"in D))throw new Error("You must provide a text/plain type.");var j=typeof D=="string"?D:D["text/plain"];window.clipboardData.setData("Text",j)?L():N(new Error("Copying was rejected."))})},x.paste=function(){return new Promise(function(D,L){var N=window.clipboardData.getData("Text");N?D(N):L(new Error("Pasting was rejected."))})}),x}()}).call(this,f(13).setImmediate)},function(i,u,f){"use strict";i.exports=f(15)},function(i,u,f){"use strict";f.r(u),u.default=`:root { + /** + * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() + */ + + /* Light theme */ + --light-color-attribute-name: #ef6632; + --light-color-attribute-name-not-editable: #23272f; + --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); + --light-color-attribute-value: #1a1aa6; + --light-color-attribute-value-inverted: #ffffff; + --light-color-attribute-editable-value: #1a1aa6; + --light-color-background: #ffffff; + --light-color-background-hover: rgba(0, 136, 250, 0.1); + --light-color-background-inactive: #e5e5e5; + --light-color-background-invalid: #fff0f0; + --light-color-background-selected: #0088fa; + --light-color-button-background: #ffffff; + --light-color-button-background-focus: #ededed; + --light-color-button: #5f6673; + --light-color-button-disabled: #cfd1d5; + --light-color-button-active: #0088fa; + --light-color-button-focus: #23272f; + --light-color-button-hover: #23272f; + --light-color-border: #eeeeee; + --light-color-commit-did-not-render-fill: #cfd1d5; + --light-color-commit-did-not-render-fill-text: #000000; + --light-color-commit-did-not-render-pattern: #cfd1d5; + --light-color-commit-did-not-render-pattern-text: #333333; + --light-color-commit-gradient-0: #37afa9; + --light-color-commit-gradient-1: #63b19e; + --light-color-commit-gradient-2: #80b393; + --light-color-commit-gradient-3: #97b488; + --light-color-commit-gradient-4: #abb67d; + --light-color-commit-gradient-5: #beb771; + --light-color-commit-gradient-6: #cfb965; + --light-color-commit-gradient-7: #dfba57; + --light-color-commit-gradient-8: #efbb49; + --light-color-commit-gradient-9: #febc38; + --light-color-commit-gradient-text: #000000; + --light-color-component-name: #6a51b2; + --light-color-component-name-inverted: #ffffff; + --light-color-component-badge-background: rgba(0, 0, 0, 0.1); + --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); + --light-color-component-badge-count: #777d88; + --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); + --light-color-context-background: rgba(0,0,0,.9); + --light-color-context-background-hover: rgba(255, 255, 255, 0.1); + --light-color-context-background-selected: #178fb9; + --light-color-context-border: #3d424a; + --light-color-context-text: #ffffff; + --light-color-context-text-selected: #ffffff; + --light-color-dim: #777d88; + --light-color-dimmer: #cfd1d5; + --light-color-dimmest: #eff0f1; + --light-color-error-background: hsl(0, 100%, 97%); + --light-color-error-border: hsl(0, 100%, 92%); + --light-color-error-text: #ff0000; + --light-color-expand-collapse-toggle: #777d88; + --light-color-link: #0000ff; + --light-color-modal-background: rgba(255, 255, 255, 0.75); + --light-color-record-active: #fc3a4b; + --light-color-record-hover: #3578e5; + --light-color-record-inactive: #0088fa; + --light-color-scroll-thumb: #c2c2c2; + --light-color-scroll-track: #fafafa; + --light-color-search-match: yellow; + --light-color-search-match-current: #f7923b; + --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); + --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); + --light-color-shadow: rgba(0, 0, 0, 0.25); + --light-color-tab-selected-border: #0088fa; + --light-color-text: #000000; + --light-color-text-invalid: #ff0000; + --light-color-text-selected: #ffffff; + --light-color-toggle-background-invalid: #fc3a4b; + --light-color-toggle-background-on: #0088fa; + --light-color-toggle-background-off: #cfd1d5; + --light-color-toggle-text: #ffffff; + --light-color-tooltip-background: rgba(0, 0, 0, 0.9); + --light-color-tooltip-text: #ffffff; + + /* Dark theme */ + --dark-color-attribute-name: #9d87d2; + --dark-color-attribute-name-not-editable: #ededed; + --dark-color-attribute-name-inverted: #282828; + --dark-color-attribute-value: #cedae0; + --dark-color-attribute-value-inverted: #ffffff; + --dark-color-attribute-editable-value: yellow; + --dark-color-background: #282c34; + --dark-color-background-hover: rgba(255, 255, 255, 0.1); + --dark-color-background-inactive: #3d424a; + --dark-color-background-invalid: #5c0000; + --dark-color-background-selected: #178fb9; + --dark-color-button-background: #282c34; + --dark-color-button-background-focus: #3d424a; + --dark-color-button: #afb3b9; + --dark-color-button-active: #61dafb; + --dark-color-button-disabled: #4f5766; + --dark-color-button-focus: #a2e9fc; + --dark-color-button-hover: #ededed; + --dark-color-border: #3d424a; + --dark-color-commit-did-not-render-fill: #777d88; + --dark-color-commit-did-not-render-fill-text: #000000; + --dark-color-commit-did-not-render-pattern: #666c77; + --dark-color-commit-did-not-render-pattern-text: #ffffff; + --dark-color-commit-gradient-0: #37afa9; + --dark-color-commit-gradient-1: #63b19e; + --dark-color-commit-gradient-2: #80b393; + --dark-color-commit-gradient-3: #97b488; + --dark-color-commit-gradient-4: #abb67d; + --dark-color-commit-gradient-5: #beb771; + --dark-color-commit-gradient-6: #cfb965; + --dark-color-commit-gradient-7: #dfba57; + --dark-color-commit-gradient-8: #efbb49; + --dark-color-commit-gradient-9: #febc38; + --dark-color-commit-gradient-text: #000000; + --dark-color-component-name: #61dafb; + --dark-color-component-name-inverted: #282828; + --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); + --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); + --dark-color-component-badge-count: #8f949d; + --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); + --dark-color-context-background: rgba(255,255,255,.9); + --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); + --dark-color-context-background-selected: #0088fa; + --dark-color-context-border: #eeeeee; + --dark-color-context-text: #000000; + --dark-color-context-text-selected: #ffffff; + --dark-color-dim: #8f949d; + --dark-color-dimmer: #777d88; + --dark-color-dimmest: #4f5766; + --dark-color-error-background: #200; + --dark-color-error-border: #900; + --dark-color-error-text: #f55; + --dark-color-expand-collapse-toggle: #8f949d; + --dark-color-link: #61dafb; + --dark-color-modal-background: rgba(0, 0, 0, 0.75); + --dark-color-record-active: #fc3a4b; + --dark-color-record-hover: #a2e9fc; + --dark-color-record-inactive: #61dafb; + --dark-color-scroll-thumb: #afb3b9; + --dark-color-scroll-track: #313640; + --dark-color-search-match: yellow; + --dark-color-search-match-current: #f7923b; + --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); + --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); + --dark-color-shadow: rgba(0, 0, 0, 0.5); + --dark-color-tab-selected-border: #178fb9; + --dark-color-text: #ffffff; + --dark-color-text-invalid: #ff8080; + --dark-color-text-selected: #ffffff; + --dark-color-toggle-background-invalid: #fc3a4b; + --dark-color-toggle-background-on: #178fb9; + --dark-color-toggle-background-off: #777d88; + --dark-color-toggle-text: #ffffff; + --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); + --dark-color-tooltip-text: #000000; + + /* Font smoothing */ + --light-font-smoothing: auto; + --dark-font-smoothing: antialiased; + --font-smoothing: auto; + + /* Compact density */ + --compact-font-size-monospace-small: 9px; + --compact-font-size-monospace-normal: 11px; + --compact-font-size-monospace-large: 15px; + --compact-font-size-sans-small: 10px; + --compact-font-size-sans-normal: 12px; + --compact-font-size-sans-large: 14px; + --compact-line-height-data: 18px; + --compact-root-font-size: 16px; + + /* Comfortable density */ + --comfortable-font-size-monospace-small: 10px; + --comfortable-font-size-monospace-normal: 13px; + --comfortable-font-size-monospace-large: 17px; + --comfortable-font-size-sans-small: 12px; + --comfortable-font-size-sans-normal: 14px; + --comfortable-font-size-sans-large: 16px; + --comfortable-line-height-data: 22px; + --comfortable-root-font-size: 20px; + + /* GitHub.com system fonts */ + --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, + Courier, monospace; + --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, + Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + + /* Constant values shared between JS and CSS */ + --interaction-commit-size: 10px; + --interaction-label-width: 200px; +} +`},function(i,u,f){"use strict";function c(x){var D=this;if(D instanceof c||(D=new c),D.tail=null,D.head=null,D.length=0,x&&typeof x.forEach=="function")x.forEach(function(j){D.push(j)});else if(arguments.length>0)for(var L=0,N=arguments.length;L1)L=D;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");N=this.head.next,L=this.head.value}for(var j=0;N!==null;j++)L=x(L,N.value,j),N=N.next;return L},c.prototype.reduceReverse=function(x,D){var L,N=this.tail;if(arguments.length>1)L=D;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");N=this.tail.prev,L=this.tail.value}for(var j=this.length-1;N!==null;j--)L=x(L,N.value,j),N=N.prev;return L},c.prototype.toArray=function(){for(var x=new Array(this.length),D=0,L=this.head;L!==null;D++)x[D]=L.value,L=L.next;return x},c.prototype.toArrayReverse=function(){for(var x=new Array(this.length),D=0,L=this.tail;L!==null;D++)x[D]=L.value,L=L.prev;return x},c.prototype.slice=function(x,D){(D=D||this.length)<0&&(D+=this.length),(x=x||0)<0&&(x+=this.length);var L=new c;if(Dthis.length&&(D=this.length);for(var N=0,j=this.head;j!==null&&Nthis.length&&(D=this.length);for(var N=this.length,j=this.tail;j!==null&&N>D;N--)j=j.prev;for(;j!==null&&N>x;N--,j=j.prev)L.push(j.value);return L},c.prototype.splice=function(x,D){x>this.length&&(x=this.length-1),x<0&&(x=this.length+x);for(var L=0,N=this.head;N!==null&&L=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},x))},f(14),u.setImmediate=typeof self!="undefined"&&self.setImmediate||c!==void 0&&c.setImmediate||this&&this.setImmediate,u.clearImmediate=typeof self!="undefined"&&self.clearImmediate||c!==void 0&&c.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,u,f){(function(c,g){(function(t,C){"use strict";if(!t.setImmediate){var A,x,D,L,N,j=1,$={},h=!1,re=t.document,ce=Object.getPrototypeOf&&Object.getPrototypeOf(t);ce=ce&&ce.setTimeout?ce:t,{}.toString.call(t.process)==="[object process]"?A=function(Se){g.nextTick(function(){oe(Se)})}:function(){if(t.postMessage&&!t.importScripts){var Se=!0,me=t.onmessage;return t.onmessage=function(){Se=!1},t.postMessage("","*"),t.onmessage=me,Se}}()?(L="setImmediate$"+Math.random()+"$",N=function(Se){Se.source===t&&typeof Se.data=="string"&&Se.data.indexOf(L)===0&&oe(+Se.data.slice(L.length))},t.addEventListener?t.addEventListener("message",N,!1):t.attachEvent("onmessage",N),A=function(Se){t.postMessage(L+Se,"*")}):t.MessageChannel?((D=new MessageChannel).port1.onmessage=function(Se){oe(Se.data)},A=function(Se){D.port2.postMessage(Se)}):re&&"onreadystatechange"in re.createElement("script")?(x=re.documentElement,A=function(Se){var me=re.createElement("script");me.onreadystatechange=function(){oe(Se),me.onreadystatechange=null,x.removeChild(me),me=null},x.appendChild(me)}):A=function(Se){setTimeout(oe,0,Se)},ce.setImmediate=function(Se){typeof Se!="function"&&(Se=new Function(""+Se));for(var me=new Array(arguments.length-1),De=0;Dene;ne++)if((V=Q(Je,Ot,ne))!==-1){ce=ne,Ot=V;break e}Ot=-1}}e:{if(Je=Nt,(V=j().get(At.primitive))!==void 0){for(ne=0;neOt-Je?null:Nt.slice(Je,Ot-1))!==null){if(Ot=0,Le!==null){for(;OtOt;Le--)ot=Ue.pop()}for(Le=Nt.length-Ot-1;1<=Le;Le--)Ot=[],ot.push({id:null,isStateEditable:!1,name:Se(Nt[Le-1].functionName),value:void 0,subHooks:Ot}),Ue.push(ot),ot=Ot;Le=Nt}Ot=(Nt=At.primitive)==="Context"||Nt==="DebugValue"?null:ct++,ot.push({id:Ot,isStateEditable:Nt==="Reducer"||Nt==="State",name:Nt,value:At.value,subHooks:[]})}return function ge(Z,Ae){for(var at=[],it=0;it-1&&($=$.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var h=$.replace(/^\s+/,"").replace(/\(eval code/g,"("),re=h.match(/ (\((.+):(\d+):(\d+)\)$)/),ce=(h=re?h.replace(re[0],""):h).split(/\s+/).slice(1),Q=this.extractLocation(re?re[1]:ce.pop()),oe=ce.join(" ")||void 0,Se=["eval",""].indexOf(Q[0])>-1?void 0:Q[0];return new x({functionName:oe,fileName:Se,lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseFFOrSafari:function(j){return j.stack.split(` +`).filter(function($){return!$.match(N)},this).map(function($){if($.indexOf(" > eval")>-1&&($=$.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),$.indexOf("@")===-1&&$.indexOf(":")===-1)return new x({functionName:$});var h=/((.*".+"[^@]*)?[^@]*)(?:@)/,re=$.match(h),ce=re&&re[1]?re[1]:void 0,Q=this.extractLocation($.replace(h,""));return new x({functionName:ce,fileName:Q[0],lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseOpera:function(j){return!j.stacktrace||j.message.indexOf(` +`)>-1&&j.message.split(` +`).length>j.stacktrace.split(` +`).length?this.parseOpera9(j):j.stack?this.parseOpera11(j):this.parseOpera10(j)},parseOpera9:function(j){for(var $=/Line (\d+).*script (?:in )?(\S+)/i,h=j.message.split(` +`),re=[],ce=2,Q=h.length;ce/,"$2").replace(/\([^)]*\)/g,"")||void 0;Q.match(/\(([^)]*)\)/)&&(h=Q.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var Se=h===void 0||h==="[arguments not available]"?void 0:h.split(",");return new x({functionName:oe,args:Se,fileName:ce[0],lineNumber:ce[1],columnNumber:ce[2],source:$})},this)}}})=="function"?c.apply(u,g):c)===void 0||(i.exports=t)})()},function(i,u,f){var c,g,t;(function(C,A){"use strict";g=[],(t=typeof(c=function(){function x(oe){return oe.charAt(0).toUpperCase()+oe.substring(1)}function D(oe){return function(){return this[oe]}}var L=["isConstructor","isEval","isNative","isToplevel"],N=["columnNumber","lineNumber"],j=["fileName","functionName","source"],$=L.concat(N,j,["args"]);function h(oe){if(oe)for(var Se=0;Se<$.length;Se++)oe[$[Se]]!==void 0&&this["set"+x($[Se])](oe[$[Se]])}h.prototype={getArgs:function(){return this.args},setArgs:function(oe){if(Object.prototype.toString.call(oe)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=oe},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(oe){if(oe instanceof h)this.evalOrigin=oe;else{if(!(oe instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new h(oe)}},toString:function(){var oe=this.getFileName()||"",Se=this.getLineNumber()||"",me=this.getColumnNumber()||"",De=this.getFunctionName()||"";return this.getIsEval()?oe?"[eval] ("+oe+":"+Se+":"+me+")":"[eval]:"+Se+":"+me:De?De+" ("+oe+":"+Se+":"+me+")":oe+":"+Se+":"+me}},h.fromString=function(oe){var Se=oe.indexOf("("),me=oe.lastIndexOf(")"),De=oe.substring(0,Se),J=oe.substring(Se+1,me).split(","),Te=oe.substring(me+1);if(Te.indexOf("@")===0)var Oe=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Te,""),Le=Oe[1],ot=Oe[2],ct=Oe[3];return new h({functionName:De,args:J||void 0,fileName:Le,lineNumber:ot||void 0,columnNumber:ct||void 0})};for(var re=0;re1?de-1:0),ve=1;ve=0&&de.splice(W,1)}}}])&&c(R.prototype,U),H&&c(R,H),F}(),t=f(2),C=f.n(t);try{var A=f(9).default,x=function(F){var R=new RegExp("".concat(F,": ([0-9]+)")),U=A.match(R);return parseInt(U[1],10)};x("comfortable-line-height-data"),x("compact-line-height-data")}catch(F){}function D(F){try{return sessionStorage.getItem(F)}catch(R){return null}}function L(F){try{sessionStorage.removeItem(F)}catch(R){}}function N(F,R){try{return sessionStorage.setItem(F,R)}catch(U){}}var j=function(F,R){return F===R},$=f(1),h=f.n($);function re(F){return F.ownerDocument?F.ownerDocument.defaultView:null}function ce(F){var R=re(F);return R?R.frameElement:null}function Q(F){var R=me(F);return oe([F.getBoundingClientRect(),{top:R.borderTop,left:R.borderLeft,bottom:R.borderBottom,right:R.borderRight,width:0,height:0}])}function oe(F){return F.reduce(function(R,U){return R==null?U:{top:R.top+U.top,left:R.left+U.left,width:R.width,height:R.height,bottom:R.bottom+U.bottom,right:R.right+U.right}})}function Se(F,R){var U=ce(F);if(U&&U!==R){for(var H=[F.getBoundingClientRect()],fe=U,ue=!1;fe;){var de=Q(fe);if(H.push(de),fe=ce(fe),ue)break;fe&&re(fe)===R&&(ue=!0)}return oe(H)}return F.getBoundingClientRect()}function me(F){var R=window.getComputedStyle(F);return{borderLeft:parseInt(R.borderLeftWidth,10),borderRight:parseInt(R.borderRightWidth,10),borderTop:parseInt(R.borderTopWidth,10),borderBottom:parseInt(R.borderBottomWidth,10),marginLeft:parseInt(R.marginLeft,10),marginRight:parseInt(R.marginRight,10),marginTop:parseInt(R.marginTop,10),marginBottom:parseInt(R.marginBottom,10),paddingLeft:parseInt(R.paddingLeft,10),paddingRight:parseInt(R.paddingRight,10),paddingTop:parseInt(R.paddingTop,10),paddingBottom:parseInt(R.paddingBottom,10)}}function De(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return J(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return J(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function J(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);Ude.left+de.width&&(K=de.left+de.width-Ge-5),{style:{top:ve+="px",left:K+="px"}}}(R,U,{width:H.width,height:H.height});h()(this.tip.style,fe.style)}}]),F}(),Ue=function(){function F(){Te(this,F);var R=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=R;var U=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=U;var H=R.document;this.container=H.createElement("div"),this.container.style.zIndex="10000000",this.tip=new ct(H,this.container),this.rects=[],H.body.appendChild(this.container)}return Le(F,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(R){R.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(R,U){for(var H=this,fe=R.filter(function(Xe){return Xe.nodeType===Node.ELEMENT_NODE});this.rects.length>fe.length;)this.rects.pop().remove();if(fe.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:j,je=void 0,Xe=[],rt=void 0,st=!1,xt=function(lt,Rt){return xe(lt,Xe[Rt])},wt=function(){for(var lt=arguments.length,Rt=Array(lt),yn=0;yn5&&arguments[5]!==void 0?arguments[5]:0,W=cl(F);switch(W){case"html_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.tagName,type:W};case"function":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:typeof F.name!="function"&&F.name?F.name:"function",type:W};case"string":return F.length<=500?F:F.slice(0,500)+"...";case"bigint":case"symbol":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"react_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:al(F)||"Unknown",type:W};case"array_buffer":case"data_view":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:W==="data_view"?"DataView":"ArrayBuffer",size:F.byteLength,type:W};case"array":return ue=fe(H),de>=2&&!ue?yo(W,!0,F,R,H):F.map(function(Ge,K){return Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)});case"html_all_collection":case"typed_array":case"iterator":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var ve={unserializable:!0,type:W,readonly:!0,size:W==="typed_array"?F.length:void 0,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.constructor&&F.constructor.name!=="Object"?F.constructor.name:""};return r0(F[Symbol.iterator])&&Array.from(F).forEach(function(Ge,K){return ve[K]=Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)}),U.push(H),ve;case"opaque_iterator":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F[Symbol.toStringTag],type:W};case"date":case"regexp":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"object":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var Fe={};return Es(F).forEach(function(Ge){var K=Ge.toString();Fe[K]=Ds(F[Ge],R,U,H.concat([K]),fe,ue?1:de+1)}),Fe;case"infinity":case"nan":case"undefined":return R.push(H),{type:W};default:return F}}function Mu(F){return(Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Gf(F){return function(R){if(Array.isArray(R))return iu(R)}(F)||function(R){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(R))return Array.from(R)}(F)||function(R,U){if(!!R){if(typeof R=="string")return iu(R,U);var H=Object.prototype.toString.call(R).slice(8,-1);if(H==="Object"&&R.constructor&&(H=R.constructor.name),H==="Map"||H==="Set")return Array.from(R);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return iu(R,U)}}(F)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function iu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);UR.toString()?1:R.toString()>F.toString()?-1:0}function Es(F){for(var R=[],U=F,H=function(){var fe=[].concat(Gf(Object.keys(U)),Gf(Object.getOwnPropertySymbols(U))),ue=Object.getOwnPropertyDescriptors(U);fe.forEach(function(de){ue[de].enumerable&&R.push(de)}),U=Object.getPrototypeOf(U)};U!=null;)H();return R}function Uo(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",U=ou.get(F);if(U!=null)return U;var H=R;return typeof F.displayName=="string"?H=F.displayName:typeof F.name=="string"&&F.name!==""&&(H=F.name),ou.set(F,H),H}var sl=0;function Ss(){return++sl}function Cs(F){var R=ol.get(F);if(R!==void 0)return R;for(var U=new Array(F.length),H=0;H1&&arguments[1]!==void 0?arguments[1]:50;return F.length>R?F.substr(0,R)+"\u2026":F}function Mr(F,R){if(F!=null&&hasOwnProperty.call(F,Ci.type))return R?F[Ci.preview_long]:F[Ci.preview_short];switch(cl(F)){case"html_element":return"<".concat(Ui(F.tagName.toLowerCase())," />");case"function":return Ui("\u0192 ".concat(typeof F.name=="function"?"":F.name,"() {}"));case"string":return'"'.concat(F,'"');case"bigint":return Ui(F.toString()+"n");case"regexp":case"symbol":return Ui(F.toString());case"react_element":return"<".concat(Ui(al(F)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(F.byteLength,")");case"data_view":return"DataView(".concat(F.buffer.byteLength,")");case"array":if(R){for(var U="",H=0;H0&&(U+=", "),!((U+=Mr(F[H],!1)).length>50));H++);return"[".concat(Ui(U),"]")}var fe=hasOwnProperty.call(F,Ci.size)?F[Ci.size]:F.length;return"Array(".concat(fe,")");case"typed_array":var ue="".concat(F.constructor.name,"(").concat(F.length,")");if(R){for(var de="",W=0;W0&&(de+=", "),!((de+=F[W]).length>50));W++);return"".concat(ue," [").concat(Ui(de),"]")}return ue;case"iterator":var ve=F.constructor.name;if(R){for(var Fe=Array.from(F),Ge="",K=0;K0&&(Ge+=", "),Array.isArray(xe)){var je=Mr(xe[0],!0),Xe=Mr(xe[1],!1);Ge+="".concat(je," => ").concat(Xe)}else Ge+=Mr(xe,!1);if(Ge.length>50)break}return"".concat(ve,"(").concat(F.size,") {").concat(Ui(Ge),"}")}return"".concat(ve,"(").concat(F.size,")");case"opaque_iterator":return F[Symbol.toStringTag];case"date":return F.toString();case"object":if(R){for(var rt=Es(F).sort(ul),st="",xt=0;xt0&&(st+=", "),(st+="".concat(wt.toString(),": ").concat(Mr(F[wt],!1))).length>50)break}return"{".concat(Ui(st),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return F;default:try{return Ui(""+F)}catch(lt){return"unserializable"}}}var Ac=f(7);function of(F){return(of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Ts(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function xs(F){for(var R=1;R2&&arguments[2]!==void 0?arguments[2]:[];if(F!==null){var H=[],fe=[],ue=Ds(F,H,fe,U,R);return{data:ue,cleaned:H,unserializable:fe}}return null}function qo(F){var R,U,H=(R=F,U=new Set,JSON.stringify(R,function(de,W){if(of(W)==="object"&&W!==null){if(U.has(W))return;U.add(W)}return typeof W=="bigint"?W.toString()+"n":W})),fe=H===void 0?"undefined":H,ue=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ue=="function"?ue(fe).catch(function(de){}):Object(Ac.copy)(fe)}function kr(F,R){var U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,H=R[U],fe=Array.isArray(F)?F.slice():xs({},F);return U+1===R.length?Array.isArray(fe)?fe.splice(H,1):delete fe[H]:fe[H]=kr(F[H],R,U+1),fe}function Fr(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);if(H+1===R.length){var de=U[H];ue[de]=ue[fe],Array.isArray(ue)?ue.splice(fe,1):delete ue[fe]}else ue[fe]=Fr(F[fe],R,U,H+1);return ue}function si(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(H>=R.length)return U;var fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);return ue[fe]=si(F[fe],R,U,H+1),ue}var H0=f(8);function b0(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function Bt(F){for(var R=1;R=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function As(F,R){if(F){if(typeof F=="string")return uu(F,R);var U=Object.prototype.toString.call(F).slice(8,-1);return U==="Object"&&F.constructor&&(U=F.constructor.name),U==="Map"||U==="Set"?Array.from(F):U==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(U)?uu(F,R):void 0}}function uu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0){var et=ue(X);if(et!=null){var Dt,bt=ks(du);try{for(bt.s();!(Dt=bt.n()).done;)if(Dt.value.test(et))return!0}catch(fn){bt.e(fn)}finally{bt.f()}}}if(Y!=null&&Yu.size>0){var Zt,qt=Y.fileName,Ut=ks(Yu);try{for(Ut.s();!(Zt=Ut.n()).done;)if(Zt.value.test(qt))return!0}catch(fn){Ut.e(fn)}finally{Ut.f()}}return!1}function Gr(X){var Y=X.type;switch(X.tag){case Xe:case ar:return 1;case je:case rn:return 5;case wt:return 6;case lt:return 11;case yn:return 7;case Rt:case sn:case xt:return 9;case Hn:case Cr:return 8;case He:return 12;case Qe:return 13;default:switch(de(Y)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function ir(X){if(Co.has(X))return X;var Y=X.alternate;return Y!=null&&Co.has(Y)?Y:(Co.add(X),X)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?qs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):qs([{type:1,value:7,isEnabled:!0}]);var L0=new Map,Y0=new Map,Co=new Set,$u=new Map,Vo=new Map,Rr=-1;function Jn(X){if(!L0.has(X)){var Y=Ss();L0.set(X,Y),Y0.set(Y,X)}return L0.get(X)}function ai(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=Vr(X);ye!==null&&N0.set(Y,ye)}}}var o0={};function Vr(X){switch(Gr(X)){case 1:var Y=X.stateNode,ye=o0,he=o0;return Y!=null&&(Y.constructor&&Y.constructor.contextType!=null?he=Y.context:(ye=Y.context)&&Object.keys(ye).length===0&&(ye=o0)),[ye,he];default:return null}}function ff(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=N0.has(Y)?N0.get(Y):null,he=Vr(X);if(ye==null||he==null)return null;var We=Ru(ye,2),et=We[0],Dt=We[1],bt=Ru(he,2),Zt=bt[0],qt=bt[1];if(Zt!==o0)return $0(et,Zt);if(qt!==o0)return Dt!==qt}}return null}function cf(X,Y){if(X==null||Y==null)return!1;if(Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))for(;Y!==null;){if(Y.memoizedState!==X.memoizedState)return!0;Y=Y.next,X=X.next}return!1}function $0(X,Y){if(X==null||Y==null||Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))return null;var ye,he=[],We=ks(new Set([].concat(c0(Object.keys(X)),c0(Object.keys(Y)))));try{for(We.s();!(ye=We.n()).done;){var et=ye.value;X[et]!==Y[et]&&he.push(et)}}catch(Dt){We.e(Dt)}finally{We.f()}return he}function K0(X,Y){switch(Y.tag){case Xe:case je:case rt:case Hn:case Cr:return(zo(Y)&K)===K;default:return X.memoizedProps!==Y.memoizedProps||X.memoizedState!==Y.memoizedState||X.ref!==Y.ref}}var ae=[],Be=[],Ie=[],ht=[],mt=new Map,wn=0,Gn=null;function $t(X){ae.push(X)}function X0(X){if(ae.length!==0||Be.length!==0||Ie.length!==0||Gn!==null||u0){var Y=Be.length+Ie.length+(Gn===null?0:1),ye=new Array(3+wn+(Y>0?2+Y:0)+ae.length),he=0;if(ye[he++]=R,ye[he++]=Rr,ye[he++]=wn,mt.forEach(function(bt,Zt){ye[he++]=Zt.length;for(var qt=Cs(Zt),Ut=0;Ut0){ye[he++]=2,ye[he++]=Y;for(var We=Be.length-1;We>=0;We--)ye[he++]=Be[We];for(var et=0;et0?X.forEach(function(Y){F.emit("operations",Y)}):(Fn!==null&&(zr=!0),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),u0&&Y.memoizedInteractions!=null&&(uo={changeDescriptions:To?new Map:null,durations:[],commitTime:Os()-v0,interactions:Array.from(Y.memoizedInteractions).map(function(ye){return Bt(Bt({},ye),{},{timestamp:ye.timestamp-v0})}),maxActualDuration:0,priorityLevel:null}),$r(Y.current,null,!1,!1),X0(),Rr=-1}))},getBestMatchForTrackedPath:function(){if(Fn===null||pi===null)return null;for(var X=pi;X!==null&&F0(X);)X=X.return;return X===null?null:{id:Jn(ir(X)),isFullMatch:Br===Fn.length-1}},getDisplayNameForFiberID:function(X){var Y=Y0.get(X);return Y!=null?ue(Y):null},getFiberIDForNative:function(X){var Y=arguments.length>1&&arguments[1]!==void 0&&arguments[1],ye=U.findFiberByHostInstance(X);if(ye!=null){if(Y)for(;ye!==null&&F0(ye);)ye=ye.return;return Jn(ir(ye))}return null},getInstanceAndStyle:function(X){var Y=null,ye=null,he=J0(X);return he!==null&&(Y=he.stateNode,he.memoizedProps!==null&&(ye=he.memoizedProps.style)),{instance:Y,style:ye}},getOwnersList:function(X){var Y=J0(X);if(Y==null)return null;var ye=Y._debugOwner,he=[{displayName:ue(Y)||"Anonymous",id:X,type:Gr(Y)}];if(ye)for(var We=ye;We!==null;)he.unshift({displayName:ue(We)||"Anonymous",id:Jn(ir(We)),type:Gr(We)}),We=We._debugOwner||null;return he},getPathForElement:function(X){var Y=Y0.get(X);if(Y==null)return null;for(var ye=[];Y!==null;)ye.push(Ai(Y)),Y=Y.return;return ye.reverse(),ye},getProfilingData:function(){var X=[];if(pu===null)throw Error("getProfilingData() called before any profiling data was recorded");return pu.forEach(function(Y,ye){var he=[],We=[],et=new Map,Dt=new Map,bt=so!==null&&so.get(ye)||"Unknown";C0!=null&&C0.forEach(function(Zt,qt){di!=null&&di.get(qt)===ye&&We.push([qt,Zt])}),Y.forEach(function(Zt,qt){var Ut=Zt.changeDescriptions,fn=Zt.durations,_t=Zt.interactions,_r=Zt.maxActualDuration,Wr=Zt.priorityLevel,Ar=Zt.commitTime,z=[];_t.forEach(function(s0){et.has(s0.id)||et.set(s0.id,s0),z.push(s0.id);var t0=Dt.get(s0.id);t0!=null?t0.push(qt):Dt.set(s0.id,[qt])});for(var dr=[],Or=[],Qn=0;Qn1?kn.set(Ut,fn-1):kn.delete(Ut),wr.delete(Zt)}(Rr),Yr(ye,!1))}else T0(Rr,ye),$r(ye,null,!1,!1);if(u0&&We){var bt=pu.get(Rr);bt!=null?bt.push(uo):pu.set(Rr,[uo])}X0(),oo&&F.emit("traceUpdates",Hi),Rr=-1},handleCommitFiberUnmount:function(X){Yr(X,!1)},inspectElement:function(X,Y){if(Tr(X)){if(Y!=null){R0(Y);var ye=null;return Y[0]==="hooks"&&(ye="hooks"),{id:X,type:"hydrated-path",path:Y,value:qi(Ti(S0,Y),Nr(null,ye),Y)}}return{id:X,type:"no-change"}}if(El=!1,S0!==null&&S0.id===X||(Q0={}),(S0=af(X))===null)return{id:X,type:"not-found"};Y!=null&&R0(Y),function(We){var et=We.hooks,Dt=We.id,bt=We.props,Zt=Y0.get(Dt);if(Zt!=null){var qt=Zt.elementType,Ut=Zt.stateNode,fn=Zt.tag,_t=Zt.type;switch(fn){case Xe:case ar:case rn:H.$r=Ut;break;case je:H.$r={hooks:et,props:bt,type:_t};break;case wt:H.$r={props:bt,type:_t.render};break;case Hn:case Cr:H.$r={props:bt,type:qt!=null&&qt.type!=null?qt.type:_t};break;default:H.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Dt,'"'))}(S0);var he=Bt({},S0);return he.context=qi(he.context,Nr("context",null)),he.hooks=qi(he.hooks,Nr("hooks","hooks")),he.props=qi(he.props,Nr("props",null)),he.state=qi(he.state,Nr("state",null)),{id:X,type:"full-data",value:he}},logElementToConsole:function(X){var Y=Tr(X)?S0:af(X);if(Y!==null){var ye=typeof console.groupCollapsed=="function";ye&&console.groupCollapsed("[Click to expand] %c<".concat(Y.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),Y.props!==null&&console.log("Props:",Y.props),Y.state!==null&&console.log("State:",Y.state),Y.hooks!==null&&console.log("Hooks:",Y.hooks);var he=zs(X);he!==null&&console.log("Nodes:",he),Y.source!==null&&console.log("Location:",Y.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),ye&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},prepareViewAttributeSource:function(X,Y){Tr(X)&&(window.$attribute=Ti(S0,Y))},prepareViewElementSource:function(X){var Y=Y0.get(X);if(Y!=null){var ye=Y.elementType,he=Y.tag,We=Y.type;switch(he){case Xe:case ar:case rn:case je:H.$type=We;break;case wt:H.$type=We.render;break;case Hn:case Cr:H.$type=ye!=null&&ye.type!=null?ye.type:We;break;default:H.$type=null}}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},overrideSuspense:function(X,Y){if(typeof Eo!="function"||typeof So!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");Y?(B0.add(X),B0.size===1&&Eo(hu)):(B0.delete(X),B0.size===0&&Eo(Cl));var ye=Y0.get(X);ye!=null&&So(ye)},overrideValueAtPath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),et.tag){case Xe:he.length===0?Dt.context=We:fl(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof p0=="function"&&p0(et,ye,he,We);break;case"props":switch(et.tag){case Xe:et.pendingProps=si(Dt.props,he,We),Dt.forceUpdate();break;default:typeof xi=="function"&&xi(et,he,We)}break;case"state":switch(et.tag){case Xe:fl(Dt.state,he,We),Dt.forceUpdate()}}}},renamePath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),We=We.slice(1),et.tag){case Xe:he.length===0||ll(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof ci=="function"&&ci(et,ye,he,We);break;case"props":Dt===null?typeof qr=="function"&&qr(et,he,We):(et.pendingProps=Fr(Dt.props,he,We),Dt.forceUpdate());break;case"state":ll(Dt.state,he,We),Dt.forceUpdate()}}},renderer:U,setTraceUpdatesEnabled:function(X){oo=X},setTrackedPath:lo,startProfiling:Sl,stopProfiling:function(){u0=!1,To=!1},storeAsGlobal:function(X,Y,ye){if(Tr(X)){var he=Ti(S0,Y),We="$reactTemp".concat(ye);window[We]=he,console.log(We),console.log(he)}},updateComponentFilters:function(X){if(u0)throw Error("Cannot modify filter preferences while profiling");F.getFiberRoots(R).forEach(function(Y){Rr=Jn(ir(Y.current)),m0(Y.current),Yr(Y.current,!1),Rr=-1}),qs(X),kn.clear(),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),$r(Y.current,null,!1,!1),X0(Y),Rr=-1})}}}var _n;function Nu(F){return(Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Wo(F,R,U){if(_n===void 0)try{throw Error()}catch(fe){var H=fe.stack.trim().match(/\n( *(at )?)/);_n=H&&H[1]||""}return` +`+_n+F}var su=!1;function Ps(F,R,U){if(!F||su)return"";var H,fe=Error.prepareStackTrace;Error.prepareStackTrace=void 0,su=!0;var ue=U.current;U.current=null;try{if(R){var de=function(){throw Error()};if(Object.defineProperty(de.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Nu(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(de,[])}catch(xe){H=xe}Reflect.construct(F,[],de)}else{try{de.call()}catch(xe){H=xe}F.call(de.prototype)}}else{try{throw Error()}catch(xe){H=xe}F()}}catch(xe){if(xe&&H&&typeof xe.stack=="string"){for(var W=xe.stack.split(` +`),ve=H.stack.split(` +`),Fe=W.length-1,Ge=ve.length-1;Fe>=1&&Ge>=0&&W[Fe]!==ve[Ge];)Ge--;for(;Fe>=1&&Ge>=0;Fe--,Ge--)if(W[Fe]!==ve[Ge]){if(Fe!==1||Ge!==1)do if(Fe--,--Ge<0||W[Fe]!==ve[Ge])return` +`+W[Fe].replace(" at new "," at ");while(Fe>=1&&Ge>=0);break}}}finally{su=!1,Error.prepareStackTrace=fe,U.current=ue}var K=F?F.displayName||F.name:"";return K?Wo(K):""}function pl(F,R,U,H){return Ps(F,!1,H)}function Vf(F,R,U){var H=F.HostComponent,fe=F.LazyComponent,ue=F.SuspenseComponent,de=F.SuspenseListComponent,W=F.FunctionComponent,ve=F.IndeterminateComponent,Fe=F.SimpleMemoComponent,Ge=F.ForwardRef,K=F.Block,xe=F.ClassComponent;switch(R.tag){case H:return Wo(R.type);case fe:return Wo("Lazy");case ue:return Wo("Suspense");case de:return Wo("SuspenseList");case W:case ve:case Fe:return pl(R.type,0,0,U);case Ge:return pl(R.type.render,0,0,U);case K:return pl(R.type._render,0,0,U);case xe:return function(je,Xe,rt,st){return Ps(je,!0,st)}(R.type,0,0,U);default:return""}}function hl(F,R,U){try{var H="",fe=R;do H+=Vf(F,fe,U),fe=fe.return;while(fe);return H}catch(ue){return` +Error generating stack: `+ue.message+` +`+ue.stack}}function Bu(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return ju(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return ju(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function ju(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0?Fe[Fe.length-1]:null,xe=K!==null&&(ro.test(K)||Ms.test(K));if(!xe){var je,Xe=Bu(ml.values());try{for(Xe.s();!(je=Xe.n()).done;){var rt=je.value,st=rt.currentDispatcherRef,xt=rt.getCurrentFiber,wt=rt.workTagMap,lt=xt();if(lt!=null){var Rt=hl(wt,lt,st);Rt!==""&&Fe.push(Rt);break}}}catch(yn){Xe.e(yn)}finally{Xe.f()}}}catch(yn){}ue.apply(void 0,Fe)};de.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ue,Uu[fe]=de}catch(W){}})}}function O0(F){return(O0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function vl(F,R){for(var U=0;UF.length)&&(R=F.length);for(var U=0,H=new Array(R);U1?W-1:0),Fe=1;Fe0?K[K.length-1]:0),K.push(St),W.set(Ne,Fe(ft._topLevelWrapper));try{var Qt=He.apply(this,Qe);return K.pop(),Qt}catch(bn){throw K=[],bn}finally{if(K.length===0){var Cn=W.get(Ne);if(Cn===void 0)throw new Error("Expected to find root ID.");yn(Cn)}}},performUpdateIfNecessary:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},receiveComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},unmountComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);try{var St=He.apply(this,Qe);return K.pop(),function(Cn,bn){wt.push(bn),ue.delete(bn)}(0,ft),St}catch(Cn){throw K=[],Cn}finally{if(K.length===0){var Qt=W.get(Ne);if(Qt===void 0)throw new Error("Expected to find root ID.");yn(Qt)}}}}));var st=[],xt=new Map,wt=[],lt=0,Rt=null;function yn(He){if(st.length!==0||wt.length!==0||Rt!==null){var Qe=wt.length+(Rt===null?0:1),Ne=new Array(3+lt+(Qe>0?2+Qe:0)+st.length),ft=0;if(Ne[ft++]=R,Ne[ft++]=He,Ne[ft++]=lt,xt.forEach(function(Cn,bn){Ne[ft++]=bn.length;for(var p0=Cs(bn),h0=0;h00){Ne[ft++]=2,Ne[ft++]=Qe;for(var St=0;St"),"color: var(--dom-tag-name-color); font-weight: normal;"),Qe.props!==null&&console.log("Props:",Qe.props),Qe.state!==null&&console.log("State:",Qe.state),Qe.context!==null&&console.log("Context:",Qe.context);var ft=fe(He);ft!==null&&console.log("Node:",ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ne&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(He,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":fl(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:si(bn.props,ft,St)}),a0(Cn);break;case"state":fl(Cn.state,ft,St),a0(Cn)}}},renamePath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":ll(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:Fr(bn.props,ft,St)}),a0(Cn);break;case"state":ll(Cn.state,ft,St),a0(Cn)}}},prepareViewAttributeSource:function(He,Qe){var Ne=Cr(He);Ne!==null&&(window.$attribute=Ti(Ne,Qe))},prepareViewElementSource:function(He){var Qe=ue.get(He);if(Qe!=null){var Ne=Qe._currentElement;Ne!=null?H.$type=Ne.type:console.warn('Could not find element with id "'.concat(He,'"'))}else console.warn('Could not find instance with id "'.concat(He,'"'))},renderer:U,setTraceUpdatesEnabled:function(He){},setTrackedPath:function(He){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(He,Qe,Ne){var ft=Cr(He);if(ft!==null){var St=Ti(ft,Qe),Qt="$reactTemp".concat(Ne);window[Qt]=St,console.log(Qt),console.log(St)}},updateComponentFilters:function(He){}}}function nr(F,R){var U=!1,H={bottom:0,left:0,right:0,top:0},fe=R[F];if(fe!=null){for(var ue=0,de=Object.keys(H);ue0?"development":"production";var st=Function.prototype.toString;if(rt.Mount&&rt.Mount._renderNewRootComponent){var xt=st.call(rt.Mount._renderNewRootComponent);return xt.indexOf("function")!==0?"production":xt.indexOf("storedMeasure")!==-1?"development":xt.indexOf("should be a pure function")!==-1?xt.indexOf("NODE_ENV")!==-1||xt.indexOf("development")!==-1||xt.indexOf("true")!==-1?"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(wt){}return"production"}(ve);try{var K=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,xe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(K||xe)&&(zi(ve),Ho({appendComponentStack:K,breakOnConsoleErrors:xe}))}catch(rt){}var je=F.__REACT_DEVTOOLS_ATTACH__;if(typeof je=="function"){var Xe=je(W,Fe,ve,F);W.rendererInterfaces.set(Fe,Xe)}return W.emit("renderer",{id:Fe,renderer:ve,reactBuildType:Ge}),Fe},on:function(ve,Fe){ue[ve]||(ue[ve]=[]),ue[ve].push(Fe)},off:function(ve,Fe){if(ue[ve]){var Ge=ue[ve].indexOf(Fe);Ge!==-1&&ue[ve].splice(Ge,1),ue[ve].length||delete ue[ve]}},sub:function(ve,Fe){return W.on(ve,Fe),function(){return W.off(ve,Fe)}},supportsFiber:!0,checkDCE:function(ve){try{Function.prototype.toString.call(ve).indexOf("^_^")>-1&&(U=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Fe){}},onCommitFiberUnmount:function(ve,Fe){var Ge=fe.get(ve);Ge!=null&&Ge.handleCommitFiberUnmount(Fe)},onCommitFiberRoot:function(ve,Fe,Ge){var K=W.getFiberRoots(ve),xe=Fe.current,je=K.has(Fe),Xe=xe.memoizedState==null||xe.memoizedState.element==null;je||Xe?je&&Xe&&K.delete(Fe):K.add(Fe);var rt=fe.get(ve);rt!=null&&rt.handleCommitFiberRoot(Fe,Ge)}};Object.defineProperty(F,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return W}})})(window);var M0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,au=[{type:1,value:7,isEnabled:!0}];function Lr(F){if(M0!=null){var R=F||{},U=R.host,H=U===void 0?"localhost":U,fe=R.nativeStyleEditorValidAttributes,ue=R.useHttps,de=ue!==void 0&&ue,W=R.port,ve=W===void 0?8097:W,Fe=R.websocket,Ge=R.resolveRNStyle,K=Ge===void 0?null:Ge,xe=R.isAppActive,je=de?"wss":"ws",Xe=null;if((xe===void 0?function(){return!0}:xe)()){var rt=null,st=[],xt=je+"://"+H+":"+ve,wt=Fe||new window.WebSocket(xt);wt.onclose=function(){rt!==null&&rt.emit("shutdown"),lt()},wt.onerror=function(){lt()},wt.onmessage=function(Rt){var yn;try{if(typeof Rt.data!="string")throw Error();yn=JSON.parse(Rt.data)}catch(sn){return void console.error("[React DevTools] Failed to parse JSON: "+Rt.data)}st.forEach(function(sn){try{sn(yn)}catch(ar){throw console.log("[React DevTools] Error calling listener",yn),console.log("error:",ar),ar}})},wt.onopen=function(){(rt=new Do({listen:function(rn){return st.push(rn),function(){var Hn=st.indexOf(rn);Hn>=0&&st.splice(Hn,1)}},send:function(rn,Hn,d0){wt.readyState===wt.OPEN?wt.send(JSON.stringify({event:rn,payload:Hn})):(rt!==null&&rt.shutdown(),lt())}})).addListener("inspectElement",function(rn){var Hn=rn.id,d0=rn.rendererID,Cr=Rt.rendererInterfaces[d0];if(Cr!=null){var He=Cr.findNativeNodesForFiberID(Hn);He!=null&&He[0]!=null&&Rt.emit("showNativeHighlight",He[0])}}),rt.addListener("updateComponentFilters",function(rn){au=rn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&rt.send("overrideComponentFilters",au);var Rt=new I0(rt);if(Rt.addListener("shutdown",function(){M0.emit("shutdown")}),function(rn,Hn,d0){if(rn==null)return function(){};var Cr=[rn.sub("renderer-attached",function(Ne){var ft=Ne.id,St=(Ne.renderer,Ne.rendererInterface);Hn.setRendererInterface(ft,St),St.flushInitialOperations()}),rn.sub("unsupported-renderer-version",function(Ne){Hn.onUnsupportedRenderer(Ne)}),rn.sub("operations",Hn.onHookOperations),rn.sub("traceUpdates",Hn.onTraceUpdates)],He=function(Ne,ft){var St=rn.rendererInterfaces.get(Ne);St==null&&(typeof ft.findFiberByHostInstance=="function"?St=uf(rn,Ne,ft,d0):ft.ComponentTree&&(St=lf(rn,Ne,ft,d0)),St!=null&&rn.rendererInterfaces.set(Ne,St)),St!=null?rn.emit("renderer-attached",{id:Ne,renderer:ft,rendererInterface:St}):rn.emit("unsupported-renderer-version",Ne)};rn.renderers.forEach(function(Ne,ft){He(ft,Ne)}),Cr.push(rn.sub("renderer",function(Ne){var ft=Ne.id,St=Ne.renderer;He(ft,St)})),rn.emit("react-devtools",Hn),rn.reactDevtoolsAgent=Hn;var Qe=function(){Cr.forEach(function(Ne){return Ne()}),rn.rendererInterfaces.forEach(function(Ne){Ne.cleanup()}),rn.reactDevtoolsAgent=null};Hn.addListener("shutdown",Qe),Cr.push(function(){Hn.removeListener("shutdown",Qe)})}(M0,Rt,window),K!=null||M0.resolveRNStyle!=null)Gu(rt,Rt,K||M0.resolveRNStyle,fe||M0.nativeStyleEditorValidAttributes||null);else{var yn,sn,ar=function(){rt!==null&&Gu(rt,Rt,yn,sn)};M0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(M0,"resolveRNStyle",{enumerable:!1,get:function(){return yn},set:function(rn){yn=rn,ar()}}),M0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(M0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return sn},set:function(rn){sn=rn,ar()}})}}}else lt()}function lt(){Xe===null&&(Xe=setTimeout(function(){return Lr(F)},2e3))}}}])})});var rS=Me(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});eS();var _j=tS();_j.connectToDevTools()});var lS=Me(x2=>{"use strict";var iS=x2&&x2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(x2,"__esModule",{value:!0});var oS=Ay(),yj=iS(lE()),uS=iS(hc()),no=Xy();process.env.DEV==="true"&&rS();var sS=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};x2.default=yj.default({schedulePassiveEffects:oS.unstable_scheduleCallback,cancelPassiveEffects:oS.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,u)=>{let f=i.isInsideText,c=u==="ink-text"||u==="ink-virtual-text";return f===c?i:{isInsideText:c}},shouldSetTextContent:()=>!1,createInstance:(i,u,f,c)=>{if(c.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let g=i==="ink-text"&&c.isInsideText?"ink-virtual-text":i,t=no.createNode(g);for(let[C,A]of Object.entries(u))C!=="children"&&(C==="style"?no.setStyle(t,A):C==="internal_transform"?t.internal_transform=A:C==="internal_static"?t.internal_static=!0:no.setAttribute(t,C,A));return t},createTextInstance:(i,u,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return no.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{no.setTextNodeValue(i,"")},unhideTextInstance:(i,u)=>{no.setTextNodeValue(i,u)},getPublicInstance:i=>i,hideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_NONE)},unhideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_FLEX)},appendInitialChild:no.appendChildNode,appendChild:no.appendChildNode,insertBefore:no.insertBeforeNode,finalizeInitialChildren:(i,u,f,c)=>(i.internal_static&&(c.isStaticDirty=!0,c.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:no.appendChildNode,insertInContainerBefore:no.insertBeforeNode,removeChildFromContainer:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)},prepareUpdate:(i,u,f,c,g)=>{i.internal_static&&(g.isStaticDirty=!0);let t={},C=Object.keys(c);for(let A of C)if(c[A]!==f[A]){if(A==="style"&&typeof c.style=="object"&&typeof f.style=="object"){let D=c.style,L=f.style,N=Object.keys(D);for(let j of N){if(j==="borderStyle"||j==="borderColor"){if(typeof t.style!="object"){let $={};t.style=$}t.style.borderStyle=D.borderStyle,t.style.borderColor=D.borderColor}if(D[j]!==L[j]){if(typeof t.style!="object"){let $={};t.style=$}t.style[j]=D[j]}}continue}t[A]=c[A]}return t},commitUpdate:(i,u)=>{for(let[f,c]of Object.entries(u))f!=="children"&&(f==="style"?no.setStyle(i,c):f==="internal_transform"?i.internal_transform=c:f==="internal_static"?i.internal_static=!0:no.setAttribute(i,f,c))},commitTextUpdate:(i,u,f)=>{no.setTextNodeValue(i,f)},removeChild:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)}})});var cS=Me((Jb,fS)=>{"use strict";fS.exports=(i,u=1,f)=>{if(f=dt({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof u!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof u}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(u===0)return i;let c=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(c,f.indent.repeat(u))}});var aS=Me(k2=>{"use strict";var wj=k2&&k2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(k2,"__esModule",{value:!0});var Vh=wj(hc());k2.default=i=>i.getComputedWidth()-i.getComputedPadding(Vh.default.EDGE_LEFT)-i.getComputedPadding(Vh.default.EDGE_RIGHT)-i.getComputedBorder(Vh.default.EDGE_LEFT)-i.getComputedBorder(Vh.default.EDGE_RIGHT)});var pS=Me((Zb,dS)=>{dS.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var mS=Me((eG,m3)=>{"use strict";var hS=pS();m3.exports=hS;m3.exports.default=hS});var gS=Me((tG,vS)=>{"use strict";vS.exports=(i,u=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",c=u.indexOf(f+i),g=u.indexOf("--");return c!==-1&&(g===-1||c{"use strict";var Dj=require("os"),yS=require("tty"),Pu=gS(),{env:oi}=process,qf;Pu("no-color")||Pu("no-colors")||Pu("color=false")||Pu("color=never")?qf=0:(Pu("color")||Pu("colors")||Pu("color=true")||Pu("color=always"))&&(qf=1);"FORCE_COLOR"in oi&&(oi.FORCE_COLOR==="true"?qf=1:oi.FORCE_COLOR==="false"?qf=0:qf=oi.FORCE_COLOR.length===0?1:Math.min(parseInt(oi.FORCE_COLOR,10),3));function v3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function g3(i,u){if(qf===0)return 0;if(Pu("color=16m")||Pu("color=full")||Pu("color=truecolor"))return 3;if(Pu("color=256"))return 2;if(i&&!u&&qf===void 0)return 0;let f=qf||0;if(oi.TERM==="dumb")return f;if(process.platform==="win32"){let c=Dj.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in oi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(c=>c in oi)||oi.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in oi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(oi.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in oi)return 1;if(oi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in oi){let c=parseInt((oi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(oi.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(oi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(oi.TERM)||"COLORTERM"in oi?1:f}function Ej(i){let u=g3(i,i&&i.isTTY);return v3(u)}_S.exports={supportsColor:Ej,stdout:v3(g3(!0,yS.isatty(1))),stderr:v3(g3(!0,yS.isatty(2)))}});var ES=Me((rG,DS)=>{"use strict";var Sj=(i,u,f)=>{let c=i.indexOf(u);if(c===-1)return i;let g=u.length,t=0,C="";do C+=i.substr(t,c-t)+u+f,t=c+g,c=i.indexOf(u,t);while(c!==-1);return C+=i.substr(t),C},Cj=(i,u,f,c)=>{let g=0,t="";do{let C=i[c-1]==="\r";t+=i.substr(g,(C?c-1:c)-g)+u+(C?`\r +`:` +`)+f,g=c+1,c=i.indexOf(` +`,g)}while(c!==-1);return t+=i.substr(g),t};DS.exports={stringReplaceAll:Sj,stringEncaseCRLFWithFirstIndex:Cj}});var kS=Me((iG,SS)=>{"use strict";var Tj=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CS=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,xj=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kj=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Aj=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function TS(i){let u=i[0]==="u",f=i[1]==="{";return u&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):u&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Aj.get(i)||i}function Oj(i,u){let f=[],c=u.trim().split(/\s*,\s*/g),g;for(let t of c){let C=Number(t);if(!Number.isNaN(C))f.push(C);else if(g=t.match(xj))f.push(g[2].replace(kj,(A,x,D)=>x?TS(x):D));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function Ij(i){CS.lastIndex=0;let u=[],f;for(;(f=CS.exec(i))!==null;){let c=f[1];if(f[2]){let g=Oj(c,f[2]);u.push([c].concat(g))}else u.push([c])}return u}function xS(i,u){let f={};for(let g of u)for(let t of g.styles)f[t[0]]=g.inverse?null:t.slice(1);let c=i;for(let[g,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(g in c))throw new Error(`Unknown Chalk style: ${g}`);c=t.length>0?c[g](...t):c[g]}return c}SS.exports=(i,u)=>{let f=[],c=[],g=[];if(u.replace(Tj,(t,C,A,x,D,L)=>{if(C)g.push(TS(C));else if(x){let N=g.join("");g=[],c.push(f.length===0?N:xS(i,f)(N)),f.push({inverse:A,styles:Ij(x)})}else if(D){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");c.push(xS(i,f)(g.join(""))),g=[],f.pop()}else g.push(L)}),c.push(g.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return c.join("")}});var Jh=Me((oG,AS)=>{"use strict";var A2=Rh(),{stdout:_3,stderr:y3}=wS(),{stringReplaceAll:Pj,stringEncaseCRLFWithFirstIndex:Mj}=ES(),{isArray:Yh}=Array,OS=["ansi","ansi","ansi256","ansi16m"],ka=Object.create(null),Fj=(i,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=_3?_3.level:0;i.level=u.level===void 0?f:u.level},IS=class{constructor(u){return PS(u)}},PS=i=>{let u={};return Fj(u,i),u.template=(...f)=>MS(u.template,...f),Object.setPrototypeOf(u,$h.prototype),Object.setPrototypeOf(u.template,u),u.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},u.template.Instance=IS,u.template};function $h(i){return PS(i)}for(let[i,u]of Object.entries(A2))ka[i]={get(){let f=Kh(this,w3(u.open,u.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};ka.visible={get(){let i=Kh(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var LS=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of LS)ka[i]={get(){let{level:u}=this;return function(...f){let c=w3(A2.color[OS[u]][i](...f),A2.color.close,this._styler);return Kh(this,c,this._isEmpty)}}};for(let i of LS){let u="bg"+i[0].toUpperCase()+i.slice(1);ka[u]={get(){let{level:f}=this;return function(...c){let g=w3(A2.bgColor[OS[f]][i](...c),A2.bgColor.close,this._styler);return Kh(this,g,this._isEmpty)}}}}var Lj=Object.defineProperties(()=>{},zn(dt({},ka),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),w3=(i,u,f)=>{let c,g;return f===void 0?(c=i,g=u):(c=f.openAll+i,g=u+f.closeAll),{open:i,close:u,openAll:c,closeAll:g,parent:f}},Kh=(i,u,f)=>{let c=(...g)=>Yh(g[0])&&Yh(g[0].raw)?RS(c,MS(c,...g)):RS(c,g.length===1?""+g[0]:g.join(" "));return Object.setPrototypeOf(c,Lj),c._generator=i,c._styler=u,c._isEmpty=f,c},RS=(i,u)=>{if(i.level<=0||!u)return i._isEmpty?"":u;let f=i._styler;if(f===void 0)return u;let{openAll:c,closeAll:g}=f;if(u.indexOf("")!==-1)for(;f!==void 0;)u=Pj(u,f.close,f.open),f=f.parent;let t=u.indexOf(` +`);return t!==-1&&(u=Mj(u,g,c,t)),c+u+g},D3,MS=(i,...u)=>{let[f]=u;if(!Yh(f)||!Yh(f.raw))return u.join(" ");let c=u.slice(1),g=[f.raw[0]];for(let t=1;t{"use strict";var Rj=O2&&O2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(O2,"__esModule",{value:!0});var I2=Rj(Jh()),Nj=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Bj=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,Qh=(i,u)=>u==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);O2.default=(i,u,f)=>{if(!u)return i;if(u in I2.default){let g=Qh(u,f);return I2.default[g](i)}if(u.startsWith("#")){let g=Qh("hex",f);return I2.default[g](u)(i)}if(u.startsWith("ansi")){let g=Bj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]);return I2.default[t](C)(i)}if(u.startsWith("rgb")||u.startsWith("hsl")||u.startsWith("hsv")||u.startsWith("hwb")){let g=Nj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]),A=Number(g[3]),x=Number(g[4]);return I2.default[t](C,A,x)(i)}return i}});var BS=Me(P2=>{"use strict";var NS=P2&&P2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(P2,"__esModule",{value:!0});var jj=NS(mS()),S3=NS(E3());P2.default=(i,u,f,c)=>{if(typeof f.style.borderStyle=="string"){let g=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),C=f.style.borderColor,A=jj.default[f.style.borderStyle],x=S3.default(A.topLeft+A.horizontal.repeat(g-2)+A.topRight,C,"foreground"),D=(S3.default(A.vertical,C,"foreground")+` +`).repeat(t-2),L=S3.default(A.bottomLeft+A.horizontal.repeat(g-2)+A.bottomRight,C,"foreground");c.write(i,u,x,{transformers:[]}),c.write(i,u+1,D,{transformers:[]}),c.write(i+g-1,u+1,D,{transformers:[]}),c.write(i,u+t-1,L,{transformers:[]})}}});var US=Me(M2=>{"use strict";var _c=M2&&M2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(M2,"__esModule",{value:!0});var Uj=_c(hc()),qj=_c(jy()),zj=_c(cS()),Wj=_c(Yy()),Hj=_c(aS()),bj=_c(Ky()),Gj=_c(BS()),Vj=(i,u)=>{var f;let c=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(c){let g=c.getComputedLeft(),t=c.getComputedTop();u=` +`.repeat(t)+zj.default(u,g)}return u},jS=(i,u,f)=>{var c;let{offsetX:g=0,offsetY:t=0,transformers:C=[],skipStaticElements:A}=f;if(A&&i.internal_static)return;let{yogaNode:x}=i;if(x){if(x.getDisplay()===Uj.default.DISPLAY_NONE)return;let D=g+x.getComputedLeft(),L=t+x.getComputedTop(),N=C;if(typeof i.internal_transform=="function"&&(N=[i.internal_transform,...C]),i.nodeName==="ink-text"){let j=bj.default(i);if(j.length>0){let $=qj.default(j),h=Hj.default(x);if($>h){let re=(c=i.style.textWrap)!==null&&c!==void 0?c:"wrap";j=Wj.default(j,h,re)}j=Vj(i,j),u.write(D,L,j,{transformers:N})}return}if(i.nodeName==="ink-box"&&Gj.default(D,L,i,u),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let j of i.childNodes)jS(j,u,{offsetX:D,offsetY:L,transformers:N,skipStaticElements:A})}};M2.default=jS});var zS=Me((fG,qS)=>{"use strict";qS.exports=i=>{i=Object.assign({onlyFirst:!1},i);let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i.onlyFirst?void 0:"g")}});var HS=Me((cG,C3)=>{"use strict";var Yj=zS(),WS=i=>typeof i=="string"?i.replace(Yj(),""):i;C3.exports=WS;C3.exports.default=WS});var VS=Me((aG,bS)=>{"use strict";var GS="[\uD800-\uDBFF][\uDC00-\uDFFF]";bS.exports=i=>i&&i.exact?new RegExp(`^${GS}$`):new RegExp(GS,"g")});var $S=Me((dG,T3)=>{"use strict";var $j=HS(),Kj=VS(),YS=i=>$j(i).replace(Kj()," ").length;T3.exports=YS;T3.exports.default=YS});var QS=Me(F2=>{"use strict";var KS=F2&&F2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(F2,"__esModule",{value:!0});var XS=KS(Gy()),Xj=KS($S()),JS=class{constructor(u){this.writes=[];let{width:f,height:c}=u;this.width=f,this.height=c}write(u,f,c,g){let{transformers:t}=g;!c||this.writes.push({x:u,y:f,text:c,transformers:t})}get(){let u=[];for(let c=0;cc.trimRight()).join(` +`),height:u.length}}};F2.default=JS});var t5=Me(L2=>{"use strict";var x3=L2&&L2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(L2,"__esModule",{value:!0});var Jj=x3(hc()),ZS=x3(US()),e5=x3(QS());L2.default=(i,u)=>{var f;if(i.yogaNode.setWidth(u),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,Jj.default.DIRECTION_LTR);let c=new e5.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});ZS.default(i,c,{skipStaticElements:!0});let g;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(g=new e5.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),ZS.default(i.staticNode,g,{skipStaticElements:!1}));let{output:t,height:C}=c.get();return{output:t,outputHeight:C,staticOutput:g?`${g.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var o5=Me((mG,n5)=>{"use strict";var r5=require("stream"),i5=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],k3={},Qj=i=>{let u=new r5.PassThrough,f=new r5.PassThrough;u.write=g=>i("stdout",g),f.write=g=>i("stderr",g);let c=new console.Console(u,f);for(let g of i5)k3[g]=console[g],console[g]=c[g];return()=>{for(let g of i5)console[g]=k3[g];k3={}}};n5.exports=Qj});var O3=Me(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});A3.default=new WeakMap});var P3=Me(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var Zj=lr(),u5=Zj.createContext({exit:()=>{}});u5.displayName="InternalAppContext";I3.default=u5});var F3=Me(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});var eU=lr(),s5=eU.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});s5.displayName="InternalStdinContext";M3.default=s5});var R3=Me(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var tU=lr(),l5=tU.createContext({stdout:void 0,write:()=>{}});l5.displayName="InternalStdoutContext";L3.default=l5});var B3=Me(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var nU=lr(),f5=nU.createContext({stderr:void 0,write:()=>{}});f5.displayName="InternalStderrContext";N3.default=f5});var Zh=Me(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var rU=lr(),c5=rU.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});c5.displayName="InternalFocusContext";j3.default=c5});var d5=Me((EG,a5)=>{"use strict";var iU=/[|\\{}()[\]^$+*?.-]/g;a5.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(iU,"\\$&")}});var v5=Me((SG,p5)=>{"use strict";var oU=d5(),h5=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));h5.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var em=class{constructor(u){u=dt({ignoredPackages:[]},u),"internals"in u||(u.internals=em.nodeInternals()),"cwd"in u||(u.cwd=process.cwd()),this._cwd=u.cwd.replace(/\\/g,"/"),this._internals=[].concat(u.internals,uU(u.ignoredPackages)),this._wrapCallSite=u.wrapCallSite||!1}static nodeInternals(){return[...h5]}clean(u,f=0){f=" ".repeat(f),Array.isArray(u)||(u=u.split(` +`)),!/^\s*at /.test(u[0])&&/^\s*at /.test(u[1])&&(u=u.slice(1));let c=!1,g=null,t=[];return u.forEach(C=>{if(C=C.replace(/\\/g,"/"),this._internals.some(x=>x.test(C)))return;let A=/^\s*at /.test(C);c?C=C.trimEnd().replace(/^(\s+)at /,"$1"):(C=C.trim(),A&&(C=C.slice(3))),C=C.replace(`${this._cwd}/`,""),C&&(A?(g&&(t.push(g),g=null),t.push(C)):(c=!0,g=C))}),t.map(C=>`${f}${C} +`).join("")}captureString(u,f=this.captureString){typeof u=="function"&&(f=u,u=Infinity);let{stackTraceLimit:c}=Error;u&&(Error.stackTraceLimit=u);let g={};Error.captureStackTrace(g,f);let{stack:t}=g;return Error.stackTraceLimit=c,this.clean(t)}capture(u,f=this.capture){typeof u=="function"&&(f=u,u=Infinity);let{prepareStackTrace:c,stackTraceLimit:g}=Error;Error.prepareStackTrace=(A,x)=>this._wrapCallSite?x.map(this._wrapCallSite):x,u&&(Error.stackTraceLimit=u);let t={};Error.captureStackTrace(t,f);let{stack:C}=t;return Object.assign(Error,{prepareStackTrace:c,stackTraceLimit:g}),C}at(u=this.at){let[f]=this.capture(1,u);if(!f)return{};let c={line:f.getLineNumber(),column:f.getColumnNumber()};m5(c,f.getFileName(),this._cwd),f.isConstructor()&&(c.constructor=!0),f.isEval()&&(c.evalOrigin=f.getEvalOrigin()),f.isNative()&&(c.native=!0);let g;try{g=f.getTypeName()}catch(A){}g&&g!=="Object"&&g!=="[object Object]"&&(c.type=g);let t=f.getFunctionName();t&&(c.function=t);let C=f.getMethodName();return C&&t!==C&&(c.method=C),c}parseLine(u){let f=u&&u.match(sU);if(!f)return null;let c=f[1]==="new",g=f[2],t=f[3],C=f[4],A=Number(f[5]),x=Number(f[6]),D=f[7],L=f[8],N=f[9],j=f[10]==="native",$=f[11]===")",h,re={};if(L&&(re.line=Number(L)),N&&(re.column=Number(N)),$&&D){let ce=0;for(let Q=D.length-1;Q>0;Q--)if(D.charAt(Q)===")")ce++;else if(D.charAt(Q)==="("&&D.charAt(Q-1)===" "&&(ce--,ce===-1&&D.charAt(Q-1)===" ")){let oe=D.slice(0,Q-1);D=D.slice(Q+1),g+=` (${oe}`;break}}if(g){let ce=g.match(lU);ce&&(g=ce[1],h=ce[2])}return m5(re,D,this._cwd),c&&(re.constructor=!0),t&&(re.evalOrigin=t,re.evalLine=A,re.evalColumn=x,re.evalFile=C&&C.replace(/\\/g,"/")),j&&(re.native=!0),g&&(re.function=g),h&&g!==h&&(re.method=h),re}};function m5(i,u,f){u&&(u=u.replace(/\\/g,"/"),u.startsWith(`${f}/`)&&(u=u.slice(f.length+1)),i.file=u)}function uU(i){if(i.length===0)return[];let u=i.map(f=>oU(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${u.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var sU=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),lU=/^(.*?) \[as (.*?)\]$/;p5.exports=em});var _5=Me((CG,g5)=>{"use strict";g5.exports=(i,u)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(u||2)))});var w5=Me((TG,y5)=>{"use strict";var fU=_5(),cU=(i,u)=>{let f=[],c=i-u,g=i+u;for(let t=c;t<=g;t++)f.push(t);return f};y5.exports=(i,u,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!u||u<1)throw new TypeError("Line number must start from `1`.");if(i=fU(i).split(/\r?\n/),!(u>i.length))return f=dt({around:3},f),cU(u,f.around).filter(c=>i[c-1]!==void 0).map(c=>({line:c,value:i[c-1]}))}});var tm=Me(hs=>{"use strict";var aU=hs&&hs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),dU=hs&&hs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),pU=hs&&hs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&aU(u,i,f);return dU(u,i),u},hU=hs&&hs.__rest||function(i,u){var f={};for(var c in i)Object.prototype.hasOwnProperty.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,c=Object.getOwnPropertySymbols(i);g{var{children:f}=i,c=hU(i,["children"]);let g=Object.assign(Object.assign({},c),{marginLeft:c.marginLeft||c.marginX||c.margin||0,marginRight:c.marginRight||c.marginX||c.margin||0,marginTop:c.marginTop||c.marginY||c.margin||0,marginBottom:c.marginBottom||c.marginY||c.margin||0,paddingLeft:c.paddingLeft||c.paddingX||c.padding||0,paddingRight:c.paddingRight||c.paddingX||c.padding||0,paddingTop:c.paddingTop||c.paddingY||c.padding||0,paddingBottom:c.paddingBottom||c.paddingY||c.padding||0});return D5.default.createElement("ink-box",{ref:u,style:g},f)});U3.displayName="Box";U3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};hs.default=U3});var W3=Me(R2=>{"use strict";var q3=R2&&R2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R2,"__esModule",{value:!0});var mU=q3(lr()),Aa=q3(Jh()),E5=q3(E3()),z3=({color:i,backgroundColor:u,dimColor:f,bold:c,italic:g,underline:t,strikethrough:C,inverse:A,wrap:x,children:D})=>{if(D==null)return null;let L=N=>(f&&(N=Aa.default.dim(N)),i&&(N=E5.default(N,i,"foreground")),u&&(N=E5.default(N,u,"background")),c&&(N=Aa.default.bold(N)),g&&(N=Aa.default.italic(N)),t&&(N=Aa.default.underline(N)),C&&(N=Aa.default.strikethrough(N)),A&&(N=Aa.default.inverse(N)),N);return mU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:x},internal_transform:L},D)};z3.displayName="Text";z3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};R2.default=z3});var x5=Me(ms=>{"use strict";var vU=ms&&ms.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),gU=ms&&ms.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),_U=ms&&ms.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&vU(u,i,f);return gU(u,i),u},N2=ms&&ms.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ms,"__esModule",{value:!0});var S5=_U(require("fs")),ui=N2(lr()),C5=N2(v5()),yU=N2(w5()),ef=N2(tm()),il=N2(W3()),T5=new C5.default({cwd:process.cwd(),internals:C5.default.nodeInternals()}),wU=({error:i})=>{let u=i.stack?i.stack.split(` +`).slice(1):void 0,f=u?T5.parseLine(u[0]):void 0,c,g=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&S5.existsSync(f.file)){let t=S5.readFileSync(f.file,"utf8");if(c=yU.default(t,f.line),c)for(let{line:C}of c)g=Math.max(g,String(C).length)}return ui.default.createElement(ef.default,{flexDirection:"column",padding:1},ui.default.createElement(ef.default,null,ui.default.createElement(il.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ui.default.createElement(il.default,null," ",i.message)),f&&ui.default.createElement(ef.default,{marginTop:1},ui.default.createElement(il.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&c&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},c.map(({line:t,value:C})=>ui.default.createElement(ef.default,{key:t},ui.default.createElement(ef.default,{width:g+1},ui.default.createElement(il.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(g," "),":")),ui.default.createElement(il.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+C)))),i.stack&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},i.stack.split(` +`).slice(1).map(t=>{let C=T5.parseLine(t);return C?ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},C.function),ui.default.createElement(il.default,{dimColor:!0,color:"gray"}," ","(",C.file,":",C.line,":",C.column,")")):ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},t))})))};ms.default=wU});var A5=Me(vs=>{"use strict";var DU=vs&&vs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),EU=vs&&vs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),SU=vs&&vs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&DU(u,i,f);return EU(u,i),u},yc=vs&&vs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vs,"__esModule",{value:!0});var wc=SU(lr()),k5=yc(gy()),CU=yc(P3()),TU=yc(F3()),xU=yc(R3()),kU=yc(B3()),AU=yc(Zh()),OU=yc(x5()),IU=" ",PU="",MU="",H3=class extends wc.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=u=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),u){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=u=>{u===""&&this.props.exitOnCtrlC&&this.handleExit(),u===MU&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(u===IU&&this.focusNext(),u===PU&&this.focusPrevious())},this.handleExit=u=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(u)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(u=>{let f=u.focusables[0].id;return{activeFocusId:this.findNextFocusable(u)||f}})},this.focusPrevious=()=>{this.setState(u=>{let f=u.focusables[u.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(u)||f}})},this.addFocusable=(u,{autoFocus:f})=>{this.setState(c=>{let g=c.activeFocusId;return!g&&f&&(g=u),{activeFocusId:g,focusables:[...c.focusables,{id:u,isActive:!0}]}})},this.removeFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.filter(c=>c.id!==u)}))},this.activateFocusable=u=>{this.setState(f=>({focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!0})}))},this.deactivateFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!1})}))},this.findNextFocusable=u=>{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f+1;c{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f-1;c>=0;c--)if(u.focusables[c].isActive)return u.focusables[c].id}}static getDerivedStateFromError(u){return{error:u}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return wc.default.createElement(CU.default.Provider,{value:{exit:this.handleExit}},wc.default.createElement(TU.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},wc.default.createElement(xU.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},wc.default.createElement(kU.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},wc.default.createElement(AU.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?wc.default.createElement(OU.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){k5.default.hide(this.props.stdout)}componentWillUnmount(){k5.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(u){this.handleExit(u)}};vs.default=H3;H3.displayName="InternalApp"});var M5=Me(gs=>{"use strict";var FU=gs&&gs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),LU=gs&&gs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),RU=gs&&gs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&FU(u,i,f);return LU(u,i),u},_s=gs&&gs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gs,"__esModule",{value:!0});var NU=_s(lr()),O5=AD(),BU=_s(WD()),jU=_s(ay()),UU=_s(KD()),qU=_s(JD()),nm=_s(lS()),zU=_s(t5()),WU=_s(vy()),HU=_s(o5()),bU=RU(Xy()),GU=_s(O3()),VU=_s(A5()),Oa=process.env.CI==="false"?!1:UU.default,I5=()=>{},P5=class{constructor(u){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:c,staticOutput:g}=zU.default(this.rootNode,this.options.stdout.columns||80),t=g&&g!==` +`;if(this.options.debug){t&&(this.fullStaticOutput+=g),this.options.stdout.write(this.fullStaticOutput+f);return}if(Oa){t&&this.options.stdout.write(g),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=g),c>=this.options.stdout.rows){this.options.stdout.write(jU.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(g),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},qU.default(this),this.options=u,this.rootNode=bU.createNode("ink-root"),this.rootNode.onRender=u.debug?this.onRender:O5.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=BU.default.create(u.stdout),this.throttledLog=u.debug?this.log:O5.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=nm.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=WU.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&nm.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),u.patchConsole&&this.patchConsole(),Oa||(u.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{u.stdout.off("resize",this.onRender)})}render(u){let f=NU.default.createElement(VU.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},u);nm.default.updateContainer(f,this.container,null,I5)}writeToStdout(u){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(u+this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stdout.write(u);return}this.log.clear(),this.options.stdout.write(u),this.log(this.lastOutput)}}writeToStderr(u){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(u),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stderr.write(u);return}this.log.clear(),this.options.stderr.write(u),this.log(this.lastOutput)}}unmount(u){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Oa?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,nm.default.updateContainer(null,this.container,null,I5),GU.default.delete(this.options.stdout),u instanceof Error?this.rejectExitPromise(u):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((u,f)=>{this.resolveExitPromise=u,this.rejectExitPromise=f})),this.exitPromise}clear(){!Oa&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=HU.default((u,f)=>{u==="stdout"&&this.writeToStdout(f),u==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};gs.default=P5});var L5=Me(B2=>{"use strict";var F5=B2&&B2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(B2,"__esModule",{value:!0});var YU=F5(M5()),rm=F5(O3()),$U=require("stream"),JU=(i,u)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},KU(u)),c=XU(f.stdout,()=>new YU.default(f));return c.render(i),{rerender:c.render,unmount:()=>c.unmount(),waitUntilExit:c.waitUntilExit,cleanup:()=>rm.default.delete(f.stdout),clear:c.clear}};B2.default=JU;var KU=(i={})=>i instanceof $U.Stream?{stdout:i,stdin:process.stdin}:i,XU=(i,u)=>{let f;return rm.default.has(i)?f=rm.default.get(i):(f=u(),rm.default.set(i,f)),f}});var N5=Me(tf=>{"use strict";var QU=tf&&tf.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),ZU=tf&&tf.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),eq=tf&&tf.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&QU(u,i,f);return ZU(u,i),u};Object.defineProperty(tf,"__esModule",{value:!0});var j2=eq(lr()),R5=i=>{let{items:u,children:f,style:c}=i,[g,t]=j2.useState(0),C=j2.useMemo(()=>u.slice(g),[u,g]);j2.useLayoutEffect(()=>{t(u.length)},[u.length]);let A=C.map((D,L)=>f(D,g+L)),x=j2.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},c),[c]);return j2.default.createElement("ink-box",{internal_static:!0,style:x},A)};R5.displayName="Static";tf.default=R5});var j5=Me(U2=>{"use strict";var tq=U2&&U2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(U2,"__esModule",{value:!0});var nq=tq(lr()),B5=({children:i,transform:u})=>i==null?null:nq.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:u},i);B5.displayName="Transform";U2.default=B5});var q5=Me(q2=>{"use strict";var rq=q2&&q2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(q2,"__esModule",{value:!0});var iq=rq(lr()),U5=({count:i=1})=>iq.default.createElement("ink-text",null,` +`.repeat(i));U5.displayName="Newline";q2.default=U5});var H5=Me(z2=>{"use strict";var z5=z2&&z2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(z2,"__esModule",{value:!0});var oq=z5(lr()),uq=z5(tm()),W5=()=>oq.default.createElement(uq.default,{flexGrow:1});W5.displayName="Spacer";z2.default=W5});var im=Me(W2=>{"use strict";var sq=W2&&W2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(W2,"__esModule",{value:!0});var lq=lr(),fq=sq(F3()),cq=()=>lq.useContext(fq.default);W2.default=cq});var G5=Me(H2=>{"use strict";var aq=H2&&H2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(H2,"__esModule",{value:!0});var b5=lr(),dq=aq(im()),pq=(i,u={})=>{let{stdin:f,setRawMode:c,internal_exitOnCtrlC:g}=dq.default();b5.useEffect(()=>{if(u.isActive!==!1)return c(!0),()=>{c(!1)}},[u.isActive,c]),b5.useEffect(()=>{if(u.isActive===!1)return;let t=C=>{let A=String(C),x={upArrow:A==="",downArrow:A==="",leftArrow:A==="",rightArrow:A==="",pageDown:A==="[6~",pageUp:A==="[5~",return:A==="\r",escape:A==="",ctrl:!1,shift:!1,tab:A===" "||A==="",backspace:A==="\b",delete:A==="\x7F"||A==="[3~",meta:!1};A<=""&&!x.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),x.ctrl=!0),A.startsWith("")&&(A=A.slice(1),x.meta=!0);let D=A>="A"&&A<="Z",L=A>="\u0410"&&A<="\u042F";A.length===1&&(D||L)&&(x.shift=!0),x.tab&&A==="[Z"&&(x.shift=!0),(x.tab||x.backspace||x.delete)&&(A=""),(!(A==="c"&&x.ctrl)||!g)&&i(A,x)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[u.isActive,f,g,i])};H2.default=pq});var V5=Me(b2=>{"use strict";var hq=b2&&b2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(b2,"__esModule",{value:!0});var mq=lr(),vq=hq(P3()),gq=()=>mq.useContext(vq.default);b2.default=gq});var Y5=Me(G2=>{"use strict";var _q=G2&&G2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(G2,"__esModule",{value:!0});var yq=lr(),wq=_q(R3()),Dq=()=>yq.useContext(wq.default);G2.default=Dq});var $5=Me(V2=>{"use strict";var Eq=V2&&V2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(V2,"__esModule",{value:!0});var Sq=lr(),Cq=Eq(B3()),Tq=()=>Sq.useContext(Cq.default);V2.default=Tq});var X5=Me(Y2=>{"use strict";var K5=Y2&&Y2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Y2,"__esModule",{value:!0});var $2=lr(),xq=K5(Zh()),kq=K5(im()),Aq=({isActive:i=!0,autoFocus:u=!1}={})=>{let{isRawModeSupported:f,setRawMode:c}=kq.default(),{activeId:g,add:t,remove:C,activate:A,deactivate:x}=$2.useContext(xq.default),D=$2.useMemo(()=>Math.random().toString().slice(2,7),[]);return $2.useEffect(()=>(t(D,{autoFocus:u}),()=>{C(D)}),[D,u]),$2.useEffect(()=>{i?A(D):x(D)},[i,D]),$2.useEffect(()=>{if(!(!f||!i))return c(!0),()=>{c(!1)}},[i]),{isFocused:Boolean(D)&&g===D}};Y2.default=Aq});var J5=Me(K2=>{"use strict";var Oq=K2&&K2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(K2,"__esModule",{value:!0});var Iq=lr(),Pq=Oq(Zh()),Mq=()=>{let i=Iq.useContext(Pq.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};K2.default=Mq});var Q5=Me(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});b3.default=i=>{var u,f,c,g;return{width:(f=(u=i.yogaNode)===null||u===void 0?void 0:u.getComputedWidth())!==null&&f!==void 0?f:0,height:(g=(c=i.yogaNode)===null||c===void 0?void 0:c.getComputedHeight())!==null&&g!==void 0?g:0}}});var ys=Me(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});var Fq=L5();Object.defineProperty(ji,"render",{enumerable:!0,get:function(){return Fq.default}});var Lq=tm();Object.defineProperty(ji,"Box",{enumerable:!0,get:function(){return Lq.default}});var Rq=W3();Object.defineProperty(ji,"Text",{enumerable:!0,get:function(){return Rq.default}});var Nq=N5();Object.defineProperty(ji,"Static",{enumerable:!0,get:function(){return Nq.default}});var Bq=j5();Object.defineProperty(ji,"Transform",{enumerable:!0,get:function(){return Bq.default}});var jq=q5();Object.defineProperty(ji,"Newline",{enumerable:!0,get:function(){return jq.default}});var Uq=H5();Object.defineProperty(ji,"Spacer",{enumerable:!0,get:function(){return Uq.default}});var qq=G5();Object.defineProperty(ji,"useInput",{enumerable:!0,get:function(){return qq.default}});var zq=V5();Object.defineProperty(ji,"useApp",{enumerable:!0,get:function(){return zq.default}});var Wq=im();Object.defineProperty(ji,"useStdin",{enumerable:!0,get:function(){return Wq.default}});var Hq=Y5();Object.defineProperty(ji,"useStdout",{enumerable:!0,get:function(){return Hq.default}});var bq=$5();Object.defineProperty(ji,"useStderr",{enumerable:!0,get:function(){return bq.default}});var Gq=X5();Object.defineProperty(ji,"useFocus",{enumerable:!0,get:function(){return Gq.default}});var Vq=J5();Object.defineProperty(ji,"useFocusManager",{enumerable:!0,get:function(){return Vq.default}});var Yq=Q5();Object.defineProperty(ji,"measureElement",{enumerable:!0,get:function(){return Yq.default}})});var lC=Me(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});X2.UncontrolledTextInput=void 0;var oC=lr(),Y3=lr(),uC=ys(),Sc=Jh(),sC=({value:i,placeholder:u="",focus:f=!0,mask:c,highlightPastedText:g=!1,showCursor:t=!0,onChange:C,onSubmit:A})=>{let[{cursorOffset:x,cursorWidth:D},L]=Y3.useState({cursorOffset:(i||"").length,cursorWidth:0});Y3.useEffect(()=>{L(re=>{if(!f||!t)return re;let ce=i||"";return re.cursorOffset>ce.length-1?{cursorOffset:ce.length,cursorWidth:0}:re})},[i,f,t]);let N=g?D:0,j=c?c.repeat(i.length):i,$=j,h=u?Sc.grey(u):void 0;if(t&&f){h=u.length>0?Sc.inverse(u[0])+Sc.grey(u.slice(1)):Sc.inverse(" "),$=j.length>0?"":Sc.inverse(" ");let re=0;for(let ce of j)re>=x-N&&re<=x?$+=Sc.inverse(ce):$+=ce,re++;j.length>0&&x===j.length&&($+=Sc.inverse(" "))}return uC.useInput((re,ce)=>{if(ce.upArrow||ce.downArrow||ce.ctrl&&re==="c"||ce.tab||ce.shift&&ce.tab)return;if(ce.return){A&&A(i);return}let Q=x,oe=i,Se=0;ce.leftArrow?t&&Q--:ce.rightArrow?t&&Q++:ce.backspace||ce.delete?x>0&&(oe=i.slice(0,x-1)+i.slice(x,i.length),Q--):(oe=i.slice(0,x)+re+i.slice(x,i.length),Q+=re.length,re.length>1&&(Se=re.length)),x<0&&(Q=0),x>i.length&&(Q=i.length),L({cursorOffset:Q,cursorWidth:Se}),oe!==i&&C(oe)},{isActive:f}),oC.createElement(uC.Text,null,u?j.length>0?$:h:$)};X2.default=sC;X2.UncontrolledTextInput=i=>{let[u,f]=Y3.useState("");return oC.createElement(sC,Object.assign({},i,{value:u,onChange:f}))}});var cC=Me(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});function J2(i){let u=[...i.caches],f=u.shift();return f===void 0?fC():{get(c,g,t={miss:()=>Promise.resolve()}){return f.get(c,g,t).catch(()=>J2({caches:u}).get(c,g,t))},set(c,g){return f.set(c,g).catch(()=>J2({caches:u}).set(c,g))},delete(c){return f.delete(c).catch(()=>J2({caches:u}).delete(c))},clear(){return f.clear().catch(()=>J2({caches:u}).clear())}}}function fC(){return{get(i,u,f={miss:()=>Promise.resolve()}){return u().then(g=>Promise.all([g,f.miss(g)])).then(([g])=>g)},set(i,u){return Promise.resolve(u)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}pm.createFallbackableCache=J2;pm.createNullCache=fC});var dC=Me((fV,aC)=>{aC.exports=cC()});var pC=Me($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});function $q(i={serializable:!0}){let u={};return{get(f,c,g={miss:()=>Promise.resolve()}){let t=JSON.stringify(f);if(t in u)return Promise.resolve(i.serializable?JSON.parse(u[t]):u[t]);let C=c(),A=g&&g.miss||(()=>Promise.resolve());return C.then(x=>A(x)).then(()=>C)},set(f,c){return u[JSON.stringify(f)]=i.serializable?JSON.stringify(c):c,Promise.resolve(c)},delete(f){return delete u[JSON.stringify(f)],Promise.resolve()},clear(){return u={},Promise.resolve()}}}$3.createInMemoryCache=$q});var mC=Me((aV,hC)=>{hC.exports=pC()});var gC=Me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});function Kq(i,u,f){let c={"x-algolia-api-key":f,"x-algolia-application-id":u};return{headers(){return i===K3.WithinHeaders?c:{}},queryParameters(){return i===K3.WithinQueryParameters?c:{}}}}function Xq(i){let u=0,f=()=>(u++,new Promise(c=>{setTimeout(()=>{c(i(f))},Math.min(100*u,1e3))}));return i(f)}function vC(i,u=(f,c)=>Promise.resolve()){return Object.assign(i,{wait(f){return vC(i.then(c=>Promise.all([u(c,f),c])).then(c=>c[1]))}})}function Jq(i){let u=i.length-1;for(u;u>0;u--){let f=Math.floor(Math.random()*(u+1)),c=i[u];i[u]=i[f],i[f]=c}return i}function Qq(i,u){return Object.keys(u!==void 0?u:{}).forEach(f=>{i[f]=u[f](i)}),i}function Zq(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}var ez="4.2.0",tz=i=>()=>i.transporter.requester.destroy(),K3={WithinQueryParameters:0,WithinHeaders:1};ws.AuthMode=K3;ws.addMethods=Qq;ws.createAuth=Kq;ws.createRetryablePromise=Xq;ws.createWaitablePromise=vC;ws.destroy=tz;ws.encode=Zq;ws.shuffle=Jq;ws.version=ez});var Q2=Me((pV,_C)=>{_C.exports=gC()});var yC=Me(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});var nz={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};X3.MethodEnum=nz});var Z2=Me((mV,wC)=>{wC.exports=yC()});var RC=Me(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var DC=Z2();function J3(i,u){let f=i||{},c=f.data||{};return Object.keys(f).forEach(g=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(g)===-1&&(c[g]=f[g])}),{data:Object.entries(c).length>0?c:void 0,timeout:f.timeout||u,headers:f.headers||{},queryParameters:f.queryParameters||{},cacheable:f.cacheable}}var hm={Read:1,Write:2,Any:3},Ia={Up:1,Down:2,Timeouted:3},EC=2*60*1e3;function Q3(i,u=Ia.Up){return zn(dt({},i),{status:u,lastUpdate:Date.now()})}function SC(i){return i.status===Ia.Up||Date.now()-i.lastUpdate>EC}function CC(i){return i.status===Ia.Timeouted&&Date.now()-i.lastUpdate<=EC}function Z3(i){return{protocol:i.protocol||"https",url:i.url,accept:i.accept||hm.Any}}function rz(i,u){return Promise.all(u.map(f=>i.get(f,()=>Promise.resolve(Q3(f))))).then(f=>{let c=f.filter(A=>SC(A)),g=f.filter(A=>CC(A)),t=[...c,...g],C=t.length>0?t.map(A=>Z3(A)):u;return{getTimeout(A,x){return(g.length===0&&A===0?1:g.length+3+A)*x},statelessHosts:C}})}var iz=({isTimedOut:i,status:u})=>!i&&~~u==0,oz=i=>{let u=i.status;return i.isTimedOut||iz(i)||~~(u/100)!=2&&~~(u/100)!=4},uz=({status:i})=>~~(i/100)==2,sz=(i,u)=>oz(i)?u.onRetry(i):uz(i)?u.onSucess(i):u.onFail(i);function PC(i,u,f,c){let g=[],t=AC(f,c),C=OC(i,c),A=f.method,x=f.method!==DC.MethodEnum.Get?{}:dt(dt({},f.data),c.data),D=dt(dt(dt({"x-algolia-agent":i.userAgent.value},i.queryParameters),x),c.queryParameters),L=0,N=(j,$)=>{let h=j.pop();if(h===void 0)throw IC(ew(g));let re={data:t,headers:C,method:A,url:kC(h,f.path,D),connectTimeout:$(L,i.timeouts.connect),responseTimeout:$(L,c.timeout)},ce=oe=>{let Se={request:re,response:oe,host:h,triesLeft:j.length};return g.push(Se),Se},Q={onSucess:oe=>TC(oe),onRetry(oe){let Se=ce(oe);return oe.isTimedOut&&L++,Promise.all([i.logger.info("Retryable failure",tw(Se)),i.hostsCache.set(h,Q3(h,oe.isTimedOut?Ia.Timeouted:Ia.Down))]).then(()=>N(j,$))},onFail(oe){throw ce(oe),xC(oe,ew(g))}};return i.requester.send(re).then(oe=>sz(oe,Q))};return rz(i.hostsCache,u).then(j=>N([...j.statelessHosts].reverse(),j.getTimeout))}function lz(i){let{hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,hosts:x,queryParameters:D,headers:L}=i,N={hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,headers:L,queryParameters:D,hosts:x.map(j=>Z3(j)),read(j,$){let h=J3($,N.timeouts.read),re=()=>PC(N,N.hosts.filter(oe=>(oe.accept&hm.Read)!=0),j,h);if((h.cacheable!==void 0?h.cacheable:j.cacheable)!==!0)return re();let Q={request:j,mappedRequestOptions:h,transporter:{queryParameters:N.queryParameters,headers:N.headers}};return N.responsesCache.get(Q,()=>N.requestsCache.get(Q,()=>N.requestsCache.set(Q,re()).then(oe=>Promise.all([N.requestsCache.delete(Q),oe]),oe=>Promise.all([N.requestsCache.delete(Q),Promise.reject(oe)])).then(([oe,Se])=>Se)),{miss:oe=>N.responsesCache.set(Q,oe)})},write(j,$){return PC(N,N.hosts.filter(h=>(h.accept&hm.Write)!=0),j,J3($,N.timeouts.write))}};return N}function fz(i){let u={value:`Algolia for JavaScript (${i})`,add(f){let c=`; ${f.segment}${f.version!==void 0?` (${f.version})`:""}`;return u.value.indexOf(c)===-1&&(u.value=`${u.value}${c}`),u}};return u}function TC(i){try{return JSON.parse(i.content)}catch(u){throw MC(u.message,i)}}function xC({content:i,status:u},f){let c=i;try{c=JSON.parse(i).message}catch(g){}return FC(c,u,f)}function cz(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}function kC(i,u,f){let c=LC(f),g=`${i.protocol}://${i.url}/${u.charAt(0)==="/"?u.substr(1):u}`;return c.length&&(g+=`?${c}`),g}function LC(i){let u=f=>Object.prototype.toString.call(f)==="[object Object]"||Object.prototype.toString.call(f)==="[object Array]";return Object.keys(i).map(f=>cz("%s=%s",f,u(i[f])?JSON.stringify(i[f]):i[f])).join("&")}function AC(i,u){if(i.method===DC.MethodEnum.Get||i.data===void 0&&u.data===void 0)return;let f=Array.isArray(i.data)?i.data:dt(dt({},i.data),u.data);return JSON.stringify(f)}function OC(i,u){let f=dt(dt({},i.headers),u.headers),c={};return Object.keys(f).forEach(g=>{let t=f[g];c[g.toLowerCase()]=t}),c}function ew(i){return i.map(u=>tw(u))}function tw(i){let u=i.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return zn(dt({},i),{request:zn(dt({},i.request),{headers:dt(dt({},i.request.headers),u)})})}function FC(i,u,f){return{name:"ApiError",message:i,status:u,transporterStackTrace:f}}function MC(i,u){return{name:"DeserializationError",message:i,response:u}}function IC(i){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:i}}y0.CallEnum=hm;y0.HostStatusEnum=Ia;y0.createApiError=FC;y0.createDeserializationError=MC;y0.createMappedRequestOptions=J3;y0.createRetryError=IC;y0.createStatefulHost=Q3;y0.createStatelessHost=Z3;y0.createTransporter=lz;y0.createUserAgent=fz;y0.deserializeFailure=xC;y0.deserializeSuccess=TC;y0.isStatefulHostTimeouted=CC;y0.isStatefulHostUp=SC;y0.serializeData=AC;y0.serializeHeaders=OC;y0.serializeQueryParameters=LC;y0.serializeUrl=kC;y0.stackFrameWithoutCredentials=tw;y0.stackTraceWithoutCredentials=ew});var ed=Me((gV,NC)=>{NC.exports=RC()});var BC=Me(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var Pa=Q2(),az=ed(),td=Z2(),dz=i=>{let u=i.region||"us",f=Pa.createAuth(Pa.AuthMode.WithinHeaders,i.appId,i.apiKey),c=az.createTransporter(zn(dt({hosts:[{url:`analytics.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g=i.appId;return Pa.addMethods({appId:g,transporter:c},i.methods)},pz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:"2/abtests",data:u},f),hz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Delete,path:Pa.encode("2/abtests/%s",u)},f),mz=i=>(u,f)=>i.transporter.read({method:td.MethodEnum.Get,path:Pa.encode("2/abtests/%s",u)},f),vz=i=>u=>i.transporter.read({method:td.MethodEnum.Get,path:"2/abtests"},u),gz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:Pa.encode("2/abtests/%s/stop",u)},f);Hf.addABTest=pz;Hf.createAnalyticsClient=dz;Hf.deleteABTest=hz;Hf.getABTest=mz;Hf.getABTests=vz;Hf.stopABTest=gz});var UC=Me((yV,jC)=>{jC.exports=BC()});var zC=Me(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var nw=Q2(),_z=ed(),qC=Z2(),yz=i=>{let u=i.region||"us",f=nw.createAuth(nw.AuthMode.WithinHeaders,i.appId,i.apiKey),c=_z.createTransporter(zn(dt({hosts:[{url:`recommendation.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)}));return nw.addMethods({appId:i.appId,transporter:c},i.methods)},wz=i=>u=>i.transporter.read({method:qC.MethodEnum.Get,path:"1/strategies/personalization"},u),Dz=i=>(u,f)=>i.transporter.write({method:qC.MethodEnum.Post,path:"1/strategies/personalization",data:u},f);nd.createRecommendationClient=yz;nd.getPersonalizationStrategy=wz;nd.setPersonalizationStrategy=Dz});var HC=Me((DV,WC)=>{WC.exports=zC()});var nT=Me(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});var Wt=Q2(),jo=ed(),Rn=Z2(),Ez=require("crypto");function mm(i){let u=f=>i.request(f).then(c=>{if(i.batch!==void 0&&i.batch(c.hits),!i.shouldStop(c))return c.cursor?u({cursor:c.cursor}):u({page:(f.page||0)+1})});return u({})}var Sz=i=>{let u=i.appId,f=Wt.createAuth(i.authMode!==void 0?i.authMode:Wt.AuthMode.WithinHeaders,u,i.apiKey),c=jo.createTransporter(zn(dt({hosts:[{url:`${u}-dsn.algolia.net`,accept:jo.CallEnum.Read},{url:`${u}.algolia.net`,accept:jo.CallEnum.Write}].concat(Wt.shuffle([{url:`${u}-1.algolianet.com`},{url:`${u}-2.algolianet.com`},{url:`${u}-3.algolianet.com`}]))},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/x-www-form-urlencoded"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g={transporter:c,appId:u,addAlgoliaAgent(t,C){c.userAgent.add({segment:t,version:C})},clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(g,i.methods)};function bC(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function GC(){return{name:"ObjectNotFoundError",message:"Object not found."}}function VC(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Cz=i=>(u,f)=>{let A=f||{},{queryParameters:c}=A,g=Si(A,["queryParameters"]),t=dt({acl:u},c!==void 0?{queryParameters:c}:{}),C=(x,D)=>Wt.createRetryablePromise(L=>rd(i)(x.key,D).catch(N=>{if(N.status!==404)throw N;return L()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/keys",data:t},g),C)},Tz=i=>(u,f,c)=>{let g=jo.createMappedRequestOptions(c);return g.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:f}},g)},xz=i=>(u,f,c)=>i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:u,cluster:f}},c),vm=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"copy",destination:f}},c),g)},kz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Rules]})),Az=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Settings]})),Oz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Synonyms]})),Iz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).then(C).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/keys/%s",u)},f),c)},Pz=()=>(i,u)=>{let f=jo.serializeQueryParameters(u),c=Ez.createHmac("sha256",i).update(f).digest("hex");return Buffer.from(c+f).toString("base64")},rd=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/keys/%s",u)},f),Mz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/logs"},u),Fz=()=>i=>{let u=Buffer.from(i,"base64").toString("ascii"),f=/validUntil=(\d+)/,c=u.match(f);if(c===null)throw VC();return parseInt(c[1],10)-Math.round(new Date().getTime()/1e3)},Lz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/top"},u),Rz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",u)},f),Nz=i=>u=>{let g=u||{},{retrieveMappings:f}=g,c=Si(g,["retrieveMappings"]);return f===!0&&(c.getClusters=!0),i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/pending"},c)},id=i=>(u,f={})=>{let c={transporter:i.transporter,appId:i.appId,indexName:u};return Wt.addMethods(c,f.methods)},Bz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/keys"},u),jz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters"},u),Uz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/indexes"},u),qz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping"},u),zz=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"move",destination:f}},c),g)},Wz=i=>(u,f)=>{let c=(g,t)=>Promise.all(Object.keys(g.taskID).map(C=>id(i)(C,{methods:{waitTask:z0}}).waitTask(g.taskID[C],t)));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:u}},f),c)},Hz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:u}},f),bz=i=>(u,f)=>{let c=u.map(g=>zn(dt({},g),{params:jo.serializeQueryParameters(g.params||{})}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:c},cacheable:!0},f)},Gz=i=>(u,f)=>Promise.all(u.map(c=>{let A=c.params,{facetName:g,facetQuery:t}=A,C=Si(A,["facetName","facetQuery"]);return id(i)(c.indexName,{methods:{searchForFacetValues:YC}}).searchForFacetValues(g,t,dt(dt({},f),C))})),Vz=i=>(u,f)=>{let c=jo.createMappedRequestOptions(f);return c.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Delete,path:"1/clusters/mapping"},c)},Yz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).catch(A=>{if(A.status!==404)throw A;return C()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",u)},f),c)},$z=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:u}},f),Kz=i=>(u,f)=>{let c=Object.assign({},f),L=f||{},{queryParameters:g}=L,t=Si(L,["queryParameters"]),C=g?{queryParameters:g}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],x=N=>Object.keys(c).filter(j=>A.indexOf(j)!==-1).every(j=>N[j]===c[j]),D=(N,j)=>Wt.createRetryablePromise($=>rd(i)(u,j).then(h=>x(h)?Promise.resolve():$()));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/keys/%s",u),data:C},t),D)},$C=i=>(u,f)=>{let c=(g,t)=>z0(i)(g.taskID,t);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",i.indexName),data:{requests:u}},f),c)},Xz=i=>u=>mm(zn(dt({},u),{shouldStop:f=>f.cursor===void 0,request:f=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",i.indexName),data:f},u)})),Jz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},Qz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},_m=i=>(u,f,c)=>{let x=c||{},{batchSize:g}=x,t=Si(x,["batchSize"]),C={taskIDs:[],objectIDs:[]},A=(D=0)=>{let L=[],N;for(N=D;N({action:f,body:j})),t).then(j=>(C.objectIDs=C.objectIDs.concat(j.objectIDs),C.taskIDs.push(j.taskID),N++,A(N)))};return Wt.createWaitablePromise(A(),(D,L)=>Promise.all(D.taskIDs.map(N=>z0(i)(N,L))))},Zz=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),eW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},tW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},nW=i=>(u,f)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",i.indexName),data:u},f),(c,g)=>z0(i)(c.taskID,g)),rW=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),iW=i=>(u,f)=>Wt.createWaitablePromise(JC(i)([u],f).then(c=>({taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),JC=i=>(u,f)=>{let c=u.map(g=>({objectID:g}));return _m(i)(c,Cc.DeleteObject,f)},oW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},uW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},sW=i=>u=>QC(i)(u).then(()=>!0).catch(f=>{if(f.status!==404)throw f;return!1}),lW=i=>(u,f)=>{let x=f||{},{query:c,paginate:g}=x,t=Si(x,["query","paginate"]),C=0,A=()=>ZC(i)(c||"",zn(dt({},t),{page:C})).then(D=>{for(let[L,N]of Object.entries(D.hits))if(u(N))return{object:N,position:parseInt(L,10),page:C};if(C++,g===!1||C>=D.nbPages)throw GC();return A()});return A()},fW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",i.indexName,u)},f),cW=()=>(i,u)=>{for(let[f,c]of Object.entries(i.hits))if(c.objectID===u)return parseInt(f,10);return-1},aW=i=>(u,f)=>{let C=f||{},{attributesToRetrieve:c}=C,g=Si(C,["attributesToRetrieve"]),t=u.map(A=>dt({indexName:i.indexName,objectID:A},c?{attributesToRetrieve:c}:{}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},g)},dW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},f),QC=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:{getVersion:2}},u),pW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},f),eT=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",i.indexName,u.toString())},f),hW=i=>(u,f)=>Wt.createWaitablePromise(tT(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),tT=i=>(u,f)=>{let C=f||{},{createIfNotExists:c}=C,g=Si(C,["createIfNotExists"]),t=c?Cc.PartialUpdateObject:Cc.PartialUpdateObjectNoCreate;return _m(i)(u,t,g)},mW=i=>(u,f)=>{let h=f||{},{safe:c,autoGenerateObjectIDIfNotExist:g,batchSize:t}=h,C=Si(h,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),A=(re,ce,Q,oe)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",re),data:{operation:Q,destination:ce}},oe),(Se,me)=>z0(i)(Se.taskID,me)),x=Math.random().toString(36).substring(7),D=`${i.indexName}_tmp_${x}`,L=rw({appId:i.appId,transporter:i.transporter,indexName:D}),N=[],j=A(i.indexName,D,"copy",zn(dt({},C),{scope:["settings","synonyms","rules"]}));N.push(j);let $=(c?j.wait(C):j).then(()=>{let re=L(u,zn(dt({},C),{autoGenerateObjectIDIfNotExist:g,batchSize:t}));return N.push(re),c?re.wait(C):re}).then(()=>{let re=A(D,i.indexName,"move",C);return N.push(re),c?re.wait(C):re}).then(()=>Promise.all(N)).then(([re,ce,Q])=>({objectIDs:ce.objectIDs,taskIDs:[re.taskID,...ce.taskIDs,Q.taskID]}));return Wt.createWaitablePromise($,(re,ce)=>Promise.all(N.map(Q=>Q.wait(ce))))},vW=i=>(u,f)=>iw(i)(u,zn(dt({},f),{clearExistingRules:!0})),gW=i=>(u,f)=>ow(i)(u,zn(dt({},f),{replaceExistingSynonyms:!0})),_W=i=>(u,f)=>Wt.createWaitablePromise(rw(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),rw=i=>(u,f)=>{let C=f||{},{autoGenerateObjectIDIfNotExist:c}=C,g=Si(C,["autoGenerateObjectIDIfNotExist"]),t=c?Cc.AddObject:Cc.UpdateObject;if(t===Cc.UpdateObject){for(let A of u)if(A.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(bC()))}return _m(i)(u,t,g)},yW=i=>(u,f)=>iw(i)([u],f),iw=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,clearExistingRules:g}=A,t=Si(A,["forwardToReplicas","clearExistingRules"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},wW=i=>(u,f)=>ow(i)([u],f),ow=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,replaceExistingSynonyms:g}=A,t=Si(A,["forwardToReplicas","replaceExistingSynonyms"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},ZC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",i.indexName),data:{query:u},cacheable:!0},f),YC=i=>(u,f,c)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",i.indexName,u),data:{facetQuery:f},cacheable:!0},c),KC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",i.indexName),data:{query:u}},f),XC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",i.indexName),data:{query:u}},f),DW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:u},t),(A,x)=>z0(i)(A.taskID,x))},z0=i=>(u,f)=>Wt.createRetryablePromise(c=>eT(i)(u,f).then(g=>g.status!=="published"?c():void 0)),EW={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Cc={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},gm={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},SW={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},CW={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};yt.ApiKeyACLEnum=EW;yt.BatchActionEnum=Cc;yt.ScopeEnum=gm;yt.StrategyEnum=SW;yt.SynonymEnum=CW;yt.addApiKey=Cz;yt.assignUserID=Tz;yt.assignUserIDs=xz;yt.batch=$C;yt.browseObjects=Xz;yt.browseRules=Jz;yt.browseSynonyms=Qz;yt.chunkedBatch=_m;yt.clearObjects=Zz;yt.clearRules=eW;yt.clearSynonyms=tW;yt.copyIndex=vm;yt.copyRules=kz;yt.copySettings=Az;yt.copySynonyms=Oz;yt.createBrowsablePromise=mm;yt.createMissingObjectIDError=bC;yt.createObjectNotFoundError=GC;yt.createSearchClient=Sz;yt.createValidUntilNotFoundError=VC;yt.deleteApiKey=Iz;yt.deleteBy=nW;yt.deleteIndex=rW;yt.deleteObject=iW;yt.deleteObjects=JC;yt.deleteRule=oW;yt.deleteSynonym=uW;yt.exists=sW;yt.findObject=lW;yt.generateSecuredApiKey=Pz;yt.getApiKey=rd;yt.getLogs=Mz;yt.getObject=fW;yt.getObjectPosition=cW;yt.getObjects=aW;yt.getRule=dW;yt.getSecuredApiKeyRemainingValidity=Fz;yt.getSettings=QC;yt.getSynonym=pW;yt.getTask=eT;yt.getTopUserIDs=Lz;yt.getUserID=Rz;yt.hasPendingMappings=Nz;yt.initIndex=id;yt.listApiKeys=Bz;yt.listClusters=jz;yt.listIndices=Uz;yt.listUserIDs=qz;yt.moveIndex=zz;yt.multipleBatch=Wz;yt.multipleGetObjects=Hz;yt.multipleQueries=bz;yt.multipleSearchForFacetValues=Gz;yt.partialUpdateObject=hW;yt.partialUpdateObjects=tT;yt.removeUserID=Vz;yt.replaceAllObjects=mW;yt.replaceAllRules=vW;yt.replaceAllSynonyms=gW;yt.restoreApiKey=Yz;yt.saveObject=_W;yt.saveObjects=rw;yt.saveRule=yW;yt.saveRules=iw;yt.saveSynonym=wW;yt.saveSynonyms=ow;yt.search=ZC;yt.searchForFacetValues=YC;yt.searchRules=KC;yt.searchSynonyms=XC;yt.searchUserIDs=$z;yt.setSettings=DW;yt.updateApiKey=Kz;yt.waitTask=z0});var iT=Me((SV,rT)=>{rT.exports=nT()});var oT=Me(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});function TW(){return{debug(i,u){return Promise.resolve()},info(i,u){return Promise.resolve()},error(i,u){return Promise.resolve()}}}var xW={Debug:1,Info:2,Error:3};ym.LogLevelEnum=xW;ym.createNullLogger=TW});var sT=Me((TV,uT)=>{uT.exports=oT()});var cT=Me(uw=>{"use strict";Object.defineProperty(uw,"__esModule",{value:!0});var lT=require("http"),fT=require("https"),kW=require("url");function AW(){let i={keepAlive:!0},u=new lT.Agent(i),f=new fT.Agent(i);return{send(c){return new Promise(g=>{let t=kW.parse(c.url),C=t.query===null?t.pathname:`${t.pathname}?${t.query}`,A=dt({agent:t.protocol==="https:"?f:u,hostname:t.hostname,path:C,method:c.method,headers:c.headers},t.port!==void 0?{port:t.port||""}:{}),x=(t.protocol==="https:"?fT:lT).request(A,j=>{let $="";j.on("data",h=>$+=h),j.on("end",()=>{clearTimeout(L),clearTimeout(N),g({status:j.statusCode||0,content:$,isTimedOut:!1})})}),D=(j,$)=>setTimeout(()=>{x.abort(),g({status:0,content:$,isTimedOut:!0})},j*1e3),L=D(c.connectTimeout,"Connection timeout"),N;x.on("error",j=>{clearTimeout(L),clearTimeout(N),g({status:0,content:j.message,isTimedOut:!1})}),x.once("response",()=>{clearTimeout(L),N=D(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&x.write(c.data),x.end()})},destroy(){return u.destroy(),f.destroy(),Promise.resolve()}}}uw.createNodeHttpRequester=AW});var dT=Me((kV,aT)=>{aT.exports=cT()});var vT=Me((AV,pT)=>{"use strict";var hT=dC(),OW=mC(),Ma=UC(),sw=Q2(),lw=HC(),Mt=iT(),IW=sT(),PW=dT(),MW=ed();function mT(i,u,f){let c={appId:i,apiKey:u,timeouts:{connect:2,read:5,write:30},requester:PW.createNodeHttpRequester(),logger:IW.createNullLogger(),responsesCache:hT.createNullCache(),requestsCache:hT.createNullCache(),hostsCache:OW.createInMemoryCache(),userAgent:MW.createUserAgent(sw.version).add({segment:"Node.js",version:process.versions.node})};return Mt.createSearchClient(zn(dt(dt({},c),f),{methods:{search:Mt.multipleQueries,searchForFacetValues:Mt.multipleSearchForFacetValues,multipleBatch:Mt.multipleBatch,multipleGetObjects:Mt.multipleGetObjects,multipleQueries:Mt.multipleQueries,copyIndex:Mt.copyIndex,copySettings:Mt.copySettings,copyRules:Mt.copyRules,copySynonyms:Mt.copySynonyms,moveIndex:Mt.moveIndex,listIndices:Mt.listIndices,getLogs:Mt.getLogs,listClusters:Mt.listClusters,multipleSearchForFacetValues:Mt.multipleSearchForFacetValues,getApiKey:Mt.getApiKey,addApiKey:Mt.addApiKey,listApiKeys:Mt.listApiKeys,updateApiKey:Mt.updateApiKey,deleteApiKey:Mt.deleteApiKey,restoreApiKey:Mt.restoreApiKey,assignUserID:Mt.assignUserID,assignUserIDs:Mt.assignUserIDs,getUserID:Mt.getUserID,searchUserIDs:Mt.searchUserIDs,listUserIDs:Mt.listUserIDs,getTopUserIDs:Mt.getTopUserIDs,removeUserID:Mt.removeUserID,hasPendingMappings:Mt.hasPendingMappings,generateSecuredApiKey:Mt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Mt.getSecuredApiKeyRemainingValidity,destroy:sw.destroy,initIndex:g=>t=>Mt.initIndex(g)(t,{methods:{batch:Mt.batch,delete:Mt.deleteIndex,getObject:Mt.getObject,getObjects:Mt.getObjects,saveObject:Mt.saveObject,saveObjects:Mt.saveObjects,search:Mt.search,searchForFacetValues:Mt.searchForFacetValues,waitTask:Mt.waitTask,setSettings:Mt.setSettings,getSettings:Mt.getSettings,partialUpdateObject:Mt.partialUpdateObject,partialUpdateObjects:Mt.partialUpdateObjects,deleteObject:Mt.deleteObject,deleteObjects:Mt.deleteObjects,deleteBy:Mt.deleteBy,clearObjects:Mt.clearObjects,browseObjects:Mt.browseObjects,getObjectPosition:Mt.getObjectPosition,findObject:Mt.findObject,exists:Mt.exists,saveSynonym:Mt.saveSynonym,saveSynonyms:Mt.saveSynonyms,getSynonym:Mt.getSynonym,searchSynonyms:Mt.searchSynonyms,browseSynonyms:Mt.browseSynonyms,deleteSynonym:Mt.deleteSynonym,clearSynonyms:Mt.clearSynonyms,replaceAllObjects:Mt.replaceAllObjects,replaceAllSynonyms:Mt.replaceAllSynonyms,searchRules:Mt.searchRules,getRule:Mt.getRule,deleteRule:Mt.deleteRule,saveRule:Mt.saveRule,saveRules:Mt.saveRules,replaceAllRules:Mt.replaceAllRules,browseRules:Mt.browseRules,clearRules:Mt.clearRules}}),initAnalytics:()=>g=>Ma.createAnalyticsClient(zn(dt(dt({},c),g),{methods:{addABTest:Ma.addABTest,getABTest:Ma.getABTest,getABTests:Ma.getABTests,stopABTest:Ma.stopABTest,deleteABTest:Ma.deleteABTest}})),initRecommendation:()=>g=>lw.createRecommendationClient(zn(dt(dt({},c),g),{methods:{getPersonalizationStrategy:lw.getPersonalizationStrategy,setPersonalizationStrategy:lw.setPersonalizationStrategy}}))}}))}mT.version=sw.version;pT.exports=mT});var _T=Me((OV,fw)=>{var gT=vT();fw.exports=gT;fw.exports.default=gT});var rf=Me(dw=>{"use strict";Object.defineProperty(dw,"__esModule",{value:!0});dw.default=kT;function kT(){}kT.prototype={diff:function(u,f){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},g=c.callback;typeof c=="function"&&(g=c,c={}),this.options=c;var t=this;function C(re){return g?(setTimeout(function(){g(void 0,re)},0),!0):re}u=this.castInput(u),f=this.castInput(f),u=this.removeEmpty(this.tokenize(u)),f=this.removeEmpty(this.tokenize(f));var A=f.length,x=u.length,D=1,L=A+x,N=[{newPos:-1,components:[]}],j=this.extractCommon(N[0],f,u,0);if(N[0].newPos+1>=A&&j+1>=x)return C([{value:this.join(f),count:f.length}]);function $(){for(var re=-1*D;re<=D;re+=2){var ce=void 0,Q=N[re-1],oe=N[re+1],Se=(oe?oe.newPos:0)-re;Q&&(N[re-1]=void 0);var me=Q&&Q.newPos+1=A&&Se+1>=x)return C(LW(t,ce.components,f,u,t.useLongestToken));N[re]=ce}D++}if(g)(function re(){setTimeout(function(){if(D>L)return g();$()||re()},0)})();else for(;D<=L;){var h=$();if(h)return h}},pushComponent:function(u,f,c){var g=u[u.length-1];g&&g.added===f&&g.removed===c?u[u.length-1]={count:g.count+1,added:f,removed:c}:u.push({count:1,added:f,removed:c})},extractCommon:function(u,f,c,g){for(var t=f.length,C=c.length,A=u.newPos,x=A-g,D=0;A+1$.length?re:$}),D.value=i.join(L)}else D.value=i.join(f.slice(A,A+D.count));A+=D.count,D.added||(x+=D.count)}}var j=u[C-1];return C>1&&typeof j.value=="string"&&(j.added||j.removed)&&i.equals("",j.value)&&(u[C-2].value+=j.value,u.pop()),u}function RW(i){return{newPos:i.newPos,components:i.components.slice(0)}}});var OT=Me(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.diffChars=NW;ld.characterDiff=void 0;var jW=BW(rf());function BW(i){return i&&i.__esModule?i:{default:i}}var AT=new jW.default;ld.characterDiff=AT;function NW(i,u,f){return AT.diff(i,u,f)}});var hw=Me(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});pw.generateOptions=UW;function UW(i,u){if(typeof i=="function")u.callback=i;else if(i)for(var f in i)i.hasOwnProperty(f)&&(u[f]=i[f]);return u}});var MT=Me(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.diffWords=qW;Fa.diffWordsWithSpace=zW;Fa.wordDiff=void 0;var HW=WW(rf()),bW=hw();function WW(i){return i&&i.__esModule?i:{default:i}}var IT=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,PT=/\S/,fd=new HW.default;Fa.wordDiff=fd;fd.equals=function(i,u){return this.options.ignoreCase&&(i=i.toLowerCase(),u=u.toLowerCase()),i===u||this.options.ignoreWhitespace&&!PT.test(i)&&!PT.test(u)};fd.tokenize=function(i){for(var u=i.split(/(\s+|[()[\]{}'"]|\b)/),f=0;f{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.diffLines=GW;La.diffTrimmedLines=VW;La.lineDiff=void 0;var $W=YW(rf()),KW=hw();function YW(i){return i&&i.__esModule?i:{default:i}}var Dm=new $W.default;La.lineDiff=Dm;Dm.tokenize=function(i){var u=[],f=i.split(/(\n|\r\n)/);f[f.length-1]||f.pop();for(var c=0;c{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.diffSentences=XW;cd.sentenceDiff=void 0;var QW=JW(rf());function JW(i){return i&&i.__esModule?i:{default:i}}var mw=new QW.default;cd.sentenceDiff=mw;mw.tokenize=function(i){return i.split(/(\S.+?[.!?])(?=\s+|$)/)};function XW(i,u,f){return mw.diff(i,u,f)}});var LT=Me(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.diffCss=ZW;ad.cssDiff=void 0;var tH=eH(rf());function eH(i){return i&&i.__esModule?i:{default:i}}var vw=new tH.default;ad.cssDiff=vw;vw.tokenize=function(i){return i.split(/([{}:;,]|\s+)/)};function ZW(i,u,f){return vw.diff(i,u,f)}});var NT=Me(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.diffJson=nH;Ra.canonicalize=Sm;Ra.jsonDiff=void 0;var RT=rH(rf()),iH=Em();function rH(i){return i&&i.__esModule?i:{default:i}}function Cm(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cm=function(f){return typeof f}:Cm=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},Cm(i)}var oH=Object.prototype.toString,xc=new RT.default;Ra.jsonDiff=xc;xc.useLongestToken=!0;xc.tokenize=iH.lineDiff.tokenize;xc.castInput=function(i){var u=this.options,f=u.undefinedReplacement,c=u.stringifyReplacer,g=c===void 0?function(t,C){return typeof C=="undefined"?f:C}:c;return typeof i=="string"?i:JSON.stringify(Sm(i,null,null,g),g," ")};xc.equals=function(i,u){return RT.default.prototype.equals.call(xc,i.replace(/,([\r\n])/g,"$1"),u.replace(/,([\r\n])/g,"$1"))};function nH(i,u,f){return xc.diff(i,u,f)}function Sm(i,u,f,c,g){u=u||[],f=f||[],c&&(i=c(g,i));var t;for(t=0;t{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.diffArrays=uH;dd.arrayDiff=void 0;var lH=sH(rf());function sH(i){return i&&i.__esModule?i:{default:i}}var pd=new lH.default;dd.arrayDiff=pd;pd.tokenize=function(i){return i.slice()};pd.join=pd.removeEmpty=function(i){return i};function uH(i,u,f){return pd.diff(i,u,f)}});var Tm=Me(gw=>{"use strict";Object.defineProperty(gw,"__esModule",{value:!0});gw.parsePatch=fH;function fH(i){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=i.split(/\r\n|[\n\v\f\r\x85]/),c=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],g=[],t=0;function C(){var D={};for(g.push(D);t{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});_w.default=cH;function cH(i,u,f){var c=!0,g=!1,t=!1,C=1;return function A(){if(c&&!t){if(g?C++:c=!1,i+C<=f)return C;t=!0}if(!g)return t||(c=!0),u<=i-C?-C++:(g=!0,A())}}});var zT=Me(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.applyPatch=UT;xm.applyPatches=aH;var qT=Tm(),pH=dH(jT());function dH(i){return i&&i.__esModule?i:{default:i}}function UT(i,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof u=="string"&&(u=(0,qT.parsePatch)(u)),Array.isArray(u)){if(u.length>1)throw new Error("applyPatch only works with a single input.");u=u[0]}var c=i.split(/\r\n|[\n\v\f\r\x85]/),g=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],t=u.hunks,C=f.compareLine||function(Ot,Nt,Je,V){return Nt===V},A=0,x=f.fuzzFactor||0,D=0,L=0,N,j;function $(Ot,Nt){for(var Je=0;Je0?V[0]:" ",ge=V.length>0?V.substr(1):V;if(ne===" "||ne==="-"){if(!C(Nt+1,c[Nt],ne,ge)&&(A++,A>x))return!1;Nt++}}return!0}for(var h=0;h0?Le[0]:" ",ct=Le.length>0?Le.substr(1):Le,Ue=J.linedelimiters[Oe];if(ot===" ")Te++;else if(ot==="-")c.splice(Te,1),g.splice(Te,1);else if(ot==="+")c.splice(Te,0,ct),g.splice(Te,0,Ue),Te++;else if(ot==="\\"){var be=J.lines[Oe-1]?J.lines[Oe-1][0]:null;be==="+"?N=!0:be==="-"&&(j=!0)}}}if(N)for(;!c[c.length-1];)c.pop(),g.pop();else j&&(c.push(""),g.push(` +`));for(var At=0;At{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.structuredPatch=WT;hd.createTwoFilesPatch=HT;hd.createPatch=hH;var mH=Em();function yw(i){return _H(i)||gH(i)||vH()}function vH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function gH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function _H(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u0?x(J.lines.slice(-C.context)):[],L-=j.length,N-=j.length)}(De=j).push.apply(De,yw(me.map(function(At){return(Se.added?"+":"-")+At}))),Se.added?h+=me.length:$+=me.length}else{if(L)if(me.length<=C.context*2&&oe=A.length-2&&me.length<=C.context){var ct=/\n$/.test(f),Ue=/\n$/.test(c),be=me.length==0&&j.length>ot.oldLines;!ct&&be&&j.splice(ot.oldLines,0,"\\ No newline at end of file"),(!ct&&!be||!Ue)&&j.push("\\ No newline at end of file")}D.push(ot),L=0,N=0,j=[]}$+=me.length,h+=me.length}},ce=0;ce{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.arrayEqual=yH;km.arrayStartsWith=bT;function yH(i,u){return i.length!==u.length?!1:bT(i,u)}function bT(i,u){if(u.length>i.length)return!1;for(var f=0;f{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.calcLineCount=VT;Am.merge=wH;var DH=ww(),EH=Tm(),Dw=GT();function Na(i){return TH(i)||CH(i)||SH()}function SH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function CH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function TH(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u{"use strict";Object.defineProperty(Cw,"__esModule",{value:!0});Cw.convertChangesToDMP=OH;function OH(i){for(var u=[],f,c,g=0;g{"use strict";Object.defineProperty(Tw,"__esModule",{value:!0});Tw.convertChangesToXML=IH;function IH(i){for(var u=[],f=0;f"):c.removed&&u.push(""),u.push(PH(c.value)),c.added?u.push(""):c.removed&&u.push("")}return u.join("")}function PH(i){var u=i;return u=u.replace(/&/g,"&"),u=u.replace(//g,">"),u=u.replace(/"/g,"""),u}});var f9=Me(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});Object.defineProperty(w0,"Diff",{enumerable:!0,get:function(){return MH.default}});Object.defineProperty(w0,"diffChars",{enumerable:!0,get:function(){return FH.diffChars}});Object.defineProperty(w0,"diffWords",{enumerable:!0,get:function(){return o9.diffWords}});Object.defineProperty(w0,"diffWordsWithSpace",{enumerable:!0,get:function(){return o9.diffWordsWithSpace}});Object.defineProperty(w0,"diffLines",{enumerable:!0,get:function(){return u9.diffLines}});Object.defineProperty(w0,"diffTrimmedLines",{enumerable:!0,get:function(){return u9.diffTrimmedLines}});Object.defineProperty(w0,"diffSentences",{enumerable:!0,get:function(){return LH.diffSentences}});Object.defineProperty(w0,"diffCss",{enumerable:!0,get:function(){return RH.diffCss}});Object.defineProperty(w0,"diffJson",{enumerable:!0,get:function(){return s9.diffJson}});Object.defineProperty(w0,"canonicalize",{enumerable:!0,get:function(){return s9.canonicalize}});Object.defineProperty(w0,"diffArrays",{enumerable:!0,get:function(){return NH.diffArrays}});Object.defineProperty(w0,"applyPatch",{enumerable:!0,get:function(){return l9.applyPatch}});Object.defineProperty(w0,"applyPatches",{enumerable:!0,get:function(){return l9.applyPatches}});Object.defineProperty(w0,"parsePatch",{enumerable:!0,get:function(){return BH.parsePatch}});Object.defineProperty(w0,"merge",{enumerable:!0,get:function(){return jH.merge}});Object.defineProperty(w0,"structuredPatch",{enumerable:!0,get:function(){return xw.structuredPatch}});Object.defineProperty(w0,"createTwoFilesPatch",{enumerable:!0,get:function(){return xw.createTwoFilesPatch}});Object.defineProperty(w0,"createPatch",{enumerable:!0,get:function(){return xw.createPatch}});Object.defineProperty(w0,"convertChangesToDMP",{enumerable:!0,get:function(){return UH.convertChangesToDMP}});Object.defineProperty(w0,"convertChangesToXML",{enumerable:!0,get:function(){return qH.convertChangesToXML}});var MH=zH(rf()),FH=OT(),o9=MT(),u9=Em(),LH=FT(),RH=LT(),s9=NT(),NH=BT(),l9=zT(),BH=Tm(),jH=n9(),xw=ww(),UH=r9(),qH=i9();function zH(i){return i&&i.__esModule?i:{default:i}}});var HH={};jR(HH,{default:()=>GH});var wT=Er(require("@yarnpkg/cli")),Tc=Er(require("@yarnpkg/core"));var Z5=Er(ys()),Dc=Er(lr()),om=(0,Dc.memo)(({active:i})=>{let u=(0,Dc.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,Dc.useMemo)(()=>i?"green":"yellow",[i]);return Dc.default.createElement(Z5.Text,{color:f},u)});var Wf=Er(ys()),Bo=Er(lr());var eC=Er(ys()),um=Er(lr());function zf({active:i},u,f){let{stdin:c}=(0,eC.useStdin)(),g=(0,um.useCallback)((t,C)=>u(t,C),f);(0,um.useEffect)(()=>{if(!(!i||!c))return c.on("keypress",g),()=>{c.off("keypress",g)}},[i,g,c])}var sm;(function(f){f.BEFORE="before",f.AFTER="after"})(sm||(sm={}));var tC=function({active:i},u,f){zf({active:i},(c,g)=>{g.name==="tab"&&(g.shift?u(sm.BEFORE):u(sm.AFTER))},f)};var lm=function(i,u,{active:f,minus:c,plus:g,set:t,loop:C=!0}){zf({active:f},(A,x)=>{let D=u.indexOf(i);switch(x.name){case c:{let L=D-1;if(C){t(u[(u.length+L)%u.length]);return}if(L<0)return;t(u[L])}break;case g:{let L=D+1;if(C){t(u[L%u.length]);return}if(L>=u.length)return;t(u[L])}break}},[u,i,g,t,C])};var fm=({active:i=!0,children:u=[],radius:f=10,size:c=1,loop:g=!0,onFocusRequest:t,willReachEnd:C})=>{let A=ce=>{if(ce.key===null)throw new Error("Expected all children to have a key");return ce.key},x=Bo.default.Children.map(u,ce=>A(ce)),D=x[0],[L,N]=(0,Bo.useState)(D),j=x.indexOf(L);(0,Bo.useEffect)(()=>{x.includes(L)||N(D)},[u]),(0,Bo.useEffect)(()=>{C&&j>=x.length-2&&C()},[j]),tC({active:i&&!!t},ce=>{t==null||t(ce)},[t]),lm(L,x,{active:i,minus:"up",plus:"down",set:N,loop:g});let $=j-f,h=j+f;h>x.length&&($-=h-x.length,h=x.length),$<0&&(h+=-$,$=0),h>=x.length&&(h=x.length-1);let re=[];for(let ce=$;ce<=h;++ce){let Q=x[ce],oe=i&&Q===L;re.push(Bo.default.createElement(Wf.Box,{key:Q,height:c},Bo.default.createElement(Wf.Box,{marginLeft:1,marginRight:1},Bo.default.createElement(Wf.Text,null,oe?Bo.default.createElement(Wf.Text,{color:"cyan",bold:!0},">"):" ")),Bo.default.createElement(Wf.Box,null,Bo.default.cloneElement(u[ce],{active:oe}))))}return Bo.default.createElement(Wf.Box,{flexDirection:"column",width:"100%"},re)};var cm=Er(lr());var nC=Er(ys()),nf=Er(lr()),rC=Er(require("readline")),G3=nf.default.createContext(null),iC=({children:i})=>{let{stdin:u,setRawMode:f}=(0,nC.useStdin)();(0,nf.useEffect)(()=>{f&&f(!0),u&&(0,rC.emitKeypressEvents)(u)},[u,f]);let[c,g]=(0,nf.useState)(new Map),t=(0,nf.useMemo)(()=>({getAll:()=>c,get:C=>c.get(C),set:(C,A)=>g(new Map([...c,[C,A]]))}),[c,g]);return nf.default.createElement(G3.Provider,{value:t,children:i})};function Ec(i,u){let f=(0,cm.useContext)(G3);if(f===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof i=="undefined")return f.getAll();let c=(0,cm.useCallback)(t=>{f.set(i,t)},[i,f.set]),g=f.get(i);return typeof g=="undefined"&&(g=u),[g,c]}var am=Er(ys()),V3=Er(lr());async function dm(i,u){let f,c=t=>{let{exit:C}=(0,am.useApp)();zf({active:!0},(A,x)=>{x.name==="return"&&(f=t,C())},[C,t])},{waitUntilExit:g}=(0,am.render)(V3.default.createElement(iC,null,V3.default.createElement(i,zn(dt({},u),{useSubmit:c}))));return await g(),f}var DT=Er(require("clipanion")),ET=Er(lC()),un=Er(ys()),Pt=Er(lr());var yT=Er(_T()),cw={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},FW=(0,yT.default)(cw.appId,cw.apiKey).initIndex(cw.indexName),aw=async(i,u=0)=>await FW.search(i,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:u,hitsPerPage:10});var od=["regular","dev","peer"],ud=class extends wT.BaseCommand{async execute(){let u=await Tc.Configuration.find(this.context.cwd,this.context.plugins),f=()=>Pt.default.createElement(un.Box,{flexDirection:"row"},Pt.default.createElement(un.Box,{flexDirection:"column",width:48},Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},""),"/",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),c=()=>Pt.default.createElement(Pt.default.Fragment,null,Pt.default.createElement(un.Box,{width:15},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),Pt.default.createElement(un.Box,{width:11},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Version")),Pt.default.createElement(un.Box,{width:10},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),g=()=>Pt.default.createElement(un.Box,{width:17},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:$,active:h})=>{let[re,ce]=Ec($.name,null);zf({active:h},(Se,me)=>{if(me.name!=="space")return;if(!re){ce(od[0]);return}let De=od.indexOf(re)+1;De===od.length?ce(null):ce(od[De])},[re,ce]);let Q=Tc.structUtils.parseIdent($.name),oe=Tc.structUtils.prettyIdent(u,Q);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:45},Pt.default.createElement(un.Text,{bold:!0,wrap:"wrap"},oe)),Pt.default.createElement(un.Box,{width:14,marginLeft:1},Pt.default.createElement(un.Text,{bold:!0,wrap:"truncate"},$.owner.name)),Pt.default.createElement(un.Box,{width:10,marginLeft:1},Pt.default.createElement(un.Text,{italic:!0,wrap:"truncate"},$.version)),Pt.default.createElement(un.Box,{width:16,marginLeft:1},Pt.default.createElement(un.Text,null,$.humanDownloadsLast30Days)))},C=({name:$,active:h})=>{let[re]=Ec($,null),ce=Tc.structUtils.parseIdent($);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:47},Pt.default.createElement(un.Text,{bold:!0}," - ",Tc.structUtils.prettyIdent(u,ce))),od.map(Q=>Pt.default.createElement(un.Box,{key:Q,width:14,marginLeft:1},Pt.default.createElement(un.Text,null," ",Pt.default.createElement(om,{active:re===Q})," ",Pt.default.createElement(un.Text,{bold:!0},Q)))))},A=()=>Pt.default.createElement(un.Box,{marginTop:1},Pt.default.createElement(un.Text,null,"Powered by Algolia.")),D=await dm(({useSubmit:$})=>{let h=Ec();$(h);let re=Array.from(h.keys()).filter(Le=>h.get(Le)!==null),[ce,Q]=(0,Pt.useState)(""),[oe,Se]=(0,Pt.useState)(0),[me,De]=(0,Pt.useState)([]),J=Le=>{Le.match(/\t| /)||Q(Le)},Te=async()=>{Se(0);let Le=await aw(ce);Le.query===ce&&De(Le.hits)},Oe=async()=>{let Le=await aw(ce,oe+1);Le.query===ce&&Le.page-1===oe&&(Se(Le.page),De([...me,...Le.hits]))};return(0,Pt.useEffect)(()=>{ce?Te():De([])},[ce]),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(f,null),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Text,{bold:!0},"Search: "),Pt.default.createElement(un.Box,{width:41},Pt.default.createElement(ET.default,{value:ce,onChange:J,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),Pt.default.createElement(c,null)),me.length?Pt.default.createElement(fm,{radius:2,loop:!1,children:me.map(Le=>Pt.default.createElement(t,{key:Le.name,hit:Le,active:!1})),willReachEnd:Oe}):Pt.default.createElement(un.Text,{color:"gray"},"Start typing..."),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Box,{width:49},Pt.default.createElement(un.Text,{bold:!0},"Selected:")),Pt.default.createElement(g,null)),re.length?re.map(Le=>Pt.default.createElement(C,{key:Le,name:Le,active:!1})):Pt.default.createElement(un.Text,{color:"gray"},"No selected packages..."),Pt.default.createElement(A,null))},{});if(typeof D=="undefined")return 1;let L=Array.from(D.keys()).filter($=>D.get($)==="regular"),N=Array.from(D.keys()).filter($=>D.get($)==="dev"),j=Array.from(D.keys()).filter($=>D.get($)==="peer");return L.length&&await this.cli.run(["add",...L]),N.length&&await this.cli.run(["add","--dev",...N]),j&&await this.cli.run(["add","--peer",...j]),0}};ud.paths=[["search"]],ud.usage=DT.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]});var ST=ud;var Im=Er(require("@yarnpkg/cli")),W0=Er(require("@yarnpkg/core"));var sd=Er(ys()),bf=Er(lr());var CT=Er(ys()),TT=Er(lr()),wm=({length:i,active:u})=>{if(i===0)return null;let f=i>1?` ${"-".repeat(i-1)}`:" ";return TT.default.createElement(CT.Text,{dimColor:!u},f)};var xT=function({active:i,skewer:u,options:f,value:c,onChange:g,sizes:t=[]}){let C=f.filter(({label:x})=>!!x).map(({value:x})=>x),A=f.findIndex(x=>x.value===c&&x.label!="");return lm(c,C,{active:i,minus:"left",plus:"right",set:g}),bf.default.createElement(bf.default.Fragment,null,f.map(({label:x},D)=>{let L=D===A,N=t[D]-1||0,j=x.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),$=Math.max(0,N-j.length-2);return x?bf.default.createElement(sd.Box,{key:x,width:N,marginLeft:1},bf.default.createElement(sd.Text,{wrap:"truncate"},bf.default.createElement(om,{active:L})," ",x),u?bf.default.createElement(wm,{active:i,length:$}):null):bf.default.createElement(sd.Box,{key:`spacer-${D}`,width:N,marginLeft:1})}))};var c9=Er(require("@yarnpkg/plugin-essentials")),a9=Er(require("clipanion")),d9=Er(f9()),tr=Er(ys()),pn=Er(lr()),p9=Er(require("semver")),h9=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,WH=10,md=class extends Im.BaseCommand{async execute(){let u=await W0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:c}=await W0.Project.find(u,this.context.cwd),g=await W0.Cache.find(u);if(!c)throw new Im.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState({restoreResolutions:!1});let t=(Q,oe)=>{let Se=(0,d9.diffWords)(Q,oe),me="";for(let De of Se)De.added?me+=W0.formatUtils.pretty(u,De.value,"green"):De.removed||(me+=De.value);return me},C=(Q,oe)=>{if(Q===oe)return oe;let Se=W0.structUtils.parseRange(Q),me=W0.structUtils.parseRange(oe),De=Se.selector.match(h9),J=me.selector.match(h9);if(!De||!J)return t(Q,oe);let Te=["gray","red","yellow","green","magenta"],Oe=null,Le="";for(let ot=1;ot{let me=await c9.suggestUtils.fetchDescriptorFrom(Q,Se,{project:f,cache:g,preserveModifier:oe,workspace:c});return me!==null?me.range:Q.range},x=async Q=>{let oe=p9.default.valid(Q.range)?`^${Q.range}`:Q.range,[Se,me]=await Promise.all([A(Q,Q.range,oe).catch(()=>null),A(Q,Q.range,"latest").catch(()=>null)]),De=[{value:null,label:Q.range}];return Se&&Se!==Q.range?De.push({value:Se,label:C(Q.range,Se)}):De.push({value:null,label:""}),me&&me!==Se&&me!==Q.range?De.push({value:me,label:C(Q.range,me)}):De.push({value:null,label:""}),De},D=()=>pn.default.createElement(tr.Box,{flexDirection:"row"},pn.default.createElement(tr.Box,{flexDirection:"column",width:49},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to install.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),L=()=>pn.default.createElement(tr.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},pn.default.createElement(tr.Box,{width:50},pn.default.createElement(tr.Text,{bold:!0},pn.default.createElement(tr.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Current")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Range")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),N=({active:Q,descriptor:oe,suggestions:Se})=>{let[me,De]=Ec(oe.descriptorHash,null),J=W0.structUtils.stringifyIdent(oe),Te=Math.max(0,45-J.length);return pn.default.createElement(pn.default.Fragment,null,pn.default.createElement(tr.Box,null,pn.default.createElement(tr.Box,{width:45},pn.default.createElement(tr.Text,{bold:!0},W0.structUtils.prettyIdent(u,oe)),pn.default.createElement(wm,{active:Q,length:Te})),Se!==null?pn.default.createElement(xT,{active:Q,options:Se,value:me,skewer:!0,onChange:De,sizes:[17,17,17]}):pn.default.createElement(tr.Box,{marginLeft:2},pn.default.createElement(tr.Text,{color:"gray"},"Fetching suggestions..."))))},j=({dependencies:Q})=>{let[oe,Se]=(0,pn.useState)(null),me=(0,pn.useRef)(!0);return(0,pn.useEffect)(()=>()=>{me.current=!1}),(0,pn.useEffect)(()=>{Promise.all(Q.map(De=>x(De))).then(De=>{let J=Q.map((Te,Oe)=>{let Le=De[Oe];return[Te,Le]}).filter(([Te,Oe])=>Oe.filter(Le=>Le.label!=="").length>1);me.current&&Se(J)})},[]),oe?oe.length?pn.default.createElement(fm,{radius:WH,children:oe.map(([De,J])=>pn.default.createElement(N,{key:De.descriptorHash,active:!1,descriptor:De,suggestions:J}))}):pn.default.createElement(tr.Text,null,"No upgrades found"):pn.default.createElement(tr.Text,null,"Fetching suggestions...")},h=await dm(({useSubmit:Q})=>{Q(Ec());let oe=new Map;for(let me of f.workspaces)for(let De of["dependencies","devDependencies"])for(let J of me.manifest[De].values())f.tryWorkspaceByDescriptor(J)===null&&oe.set(J.descriptorHash,J);let Se=W0.miscUtils.sortMap(oe.values(),me=>W0.structUtils.stringifyDescriptor(me));return pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(D,null),pn.default.createElement(L,null),pn.default.createElement(j,{dependencies:Se}))},{});if(typeof h=="undefined")return 1;let re=!1;for(let Q of f.workspaces)for(let oe of["dependencies","devDependencies"]){let Se=Q.manifest[oe];for(let me of Se.values()){let De=h.get(me.descriptorHash);typeof De!="undefined"&&De!==null&&(Se.set(me.identHash,W0.structUtils.makeDescriptor(me,De)),re=!0)}}return re?(await W0.StreamReport.start({configuration:u,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Q=>{await f.install({cache:g,report:Q})})).exitCode():0}};md.paths=[["upgrade-interactive"]],md.usage=a9.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var m9=md;var bH={commands:[ST,m9]},GH=bH;return HH;})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ /** * @license * Lodash @@ -19,35 +309,23 @@ e.exports=function t(r){"use strict";var i=n(9381),o=n(7382),u=n(7181);function * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */e=n.nmd(e),function(){var i="Expected a function",o="__lodash_placeholder__",u=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],a="[object Arguments]",l="[object Array]",s="[object Boolean]",c="[object Date]",f="[object Error]",d="[object Function]",p="[object GeneratorFunction]",h="[object Map]",v="[object Number]",m="[object Object]",g="[object RegExp]",y="[object Set]",_="[object String]",b="[object Symbol]",w="[object WeakMap]",E="[object ArrayBuffer]",D="[object DataView]",S="[object Float32Array]",C="[object Float64Array]",k="[object Int8Array]",T="[object Int16Array]",x="[object Int32Array]",A="[object Uint8Array]",O="[object Uint16Array]",P="[object Uint32Array]",I=/\b__p \+= '';/g,N=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,R=/&(?:amp|lt|gt|quot|#39);/g,F=/[&<>"']/g,L=RegExp(R.source),B=RegExp(F.source),j=/<%-([\s\S]+?)%>/g,U=/<%([\s\S]+?)%>/g,z=/<%=([\s\S]+?)%>/g,W=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,V=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q=/[\\^$.*+?()[\]{}|]/g,G=RegExp(q.source),$=/^\s+|\s+$/g,Y=/^\s+/,K=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Q=/\{\n\/\* \[wrapped with (.+)\] \*/,J=/,? & /,Z=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee=/\\(\\)?/g,te=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ne=/\w*$/,re=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,oe=/^\[object .+?Constructor\]$/,ue=/^0o[0-7]+$/i,ae=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,se=/($^)/,ce=/['\n\r\u2028\u2029\\]/g,fe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="[\\ud800-\\udfff]",he="["+de+"]",ve="["+fe+"]",me="\\d+",ge="[\\u2700-\\u27bf]",ye="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+de+me+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",be="\\ud83c[\\udffb-\\udfff]",we="[^\\ud800-\\udfff]",Ee="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce="(?:"+ye+"|"+_e+")",ke="(?:"+Se+"|"+_e+")",Te="(?:"+ve+"|"+be+")"+"?",xe="[\\ufe0e\\ufe0f]?"+Te+("(?:\\u200d(?:"+[we,Ee,De].join("|")+")[\\ufe0e\\ufe0f]?"+Te+")*"),Ae="(?:"+[ge,Ee,De].join("|")+")"+xe,Oe="(?:"+[we+ve+"?",ve,Ee,De,pe].join("|")+")",Pe=RegExp("['’]","g"),Ie=RegExp(ve,"g"),Ne=RegExp(be+"(?="+be+")|"+Oe+xe,"g"),Me=RegExp([Se+"?"+ye+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[he,Se,"$"].join("|")+")",ke+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[he,Se+Ce,"$"].join("|")+")",Se+"?"+Ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",me,Ae].join("|"),"g"),Re=RegExp("[\\u200d\\ud800-\\udfff"+fe+"\\ufe0e\\ufe0f]"),Fe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Le=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Be=-1,je={};je[S]=je[C]=je[k]=je[T]=je[x]=je[A]=je["[object Uint8ClampedArray]"]=je[O]=je[P]=!0,je[a]=je[l]=je[E]=je[s]=je[D]=je[c]=je[f]=je[d]=je[h]=je[v]=je[m]=je[g]=je[y]=je[_]=je[w]=!1;var Ue={};Ue[a]=Ue[l]=Ue[E]=Ue[D]=Ue[s]=Ue[c]=Ue[S]=Ue[C]=Ue[k]=Ue[T]=Ue[x]=Ue[h]=Ue[v]=Ue[m]=Ue[g]=Ue[y]=Ue[_]=Ue[b]=Ue[A]=Ue["[object Uint8ClampedArray]"]=Ue[O]=Ue[P]=!0,Ue[f]=Ue[d]=Ue[w]=!1;var ze={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},We=parseFloat,He=parseInt,Ve="object"==typeof global&&global&&global.Object===Object&&global,qe="object"==typeof self&&self&&self.Object===Object&&self,Ge=Ve||qe||Function("return this")(),$e=t&&!t.nodeType&&t,Ye=$e&&e&&!e.nodeType&&e,Ke=Ye&&Ye.exports===$e,Xe=Ke&&Ve.process,Qe=function(){try{var e=Ye&&Ye.require&&Ye.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Je=Qe&&Qe.isArrayBuffer,Ze=Qe&&Qe.isDate,et=Qe&&Qe.isMap,tt=Qe&&Qe.isRegExp,nt=Qe&&Qe.isSet,rt=Qe&&Qe.isTypedArray;function it(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function ot(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function ft(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function Nt(e,t){for(var n=e.length;n--&&bt(t,e[n],0)>-1;);return n}function Mt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Rt=Ct({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Ft=Ct({"&":"&","<":"<",">":">",'"':""","'":"'"});function Lt(e){return"\\"+ze[e]}function Bt(e){return Re.test(e)}function jt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Ut(e,t){return function(n){return e(t(n))}}function zt(e,t){for(var n=-1,r=e.length,i=0,u=[];++n",""":'"',"'":"'"});var $t=function e(t){var n,r=(t=null==t?Ge:$t.defaults(Ge.Object(),t,$t.pick(Ge,Le))).Array,fe=t.Date,de=t.Error,pe=t.Function,he=t.Math,ve=t.Object,me=t.RegExp,ge=t.String,ye=t.TypeError,_e=r.prototype,be=pe.prototype,we=ve.prototype,Ee=t["__core-js_shared__"],De=be.toString,Se=we.hasOwnProperty,Ce=0,ke=(n=/[^.]+$/.exec(Ee&&Ee.keys&&Ee.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Te=we.toString,xe=De.call(ve),Ae=Ge._,Oe=me("^"+De.call(Se).replace(q,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ne=Ke?t.Buffer:void 0,Re=t.Symbol,ze=t.Uint8Array,Ve=Ne?Ne.allocUnsafe:void 0,qe=Ut(ve.getPrototypeOf,ve),$e=ve.create,Ye=we.propertyIsEnumerable,Xe=_e.splice,Qe=Re?Re.isConcatSpreadable:void 0,gt=Re?Re.iterator:void 0,Ct=Re?Re.toStringTag:void 0,Yt=function(){try{var e=Zi(ve,"defineProperty");return e({},"",{}),e}catch(e){}}(),Kt=t.clearTimeout!==Ge.clearTimeout&&t.clearTimeout,Xt=fe&&fe.now!==Ge.Date.now&&fe.now,Qt=t.setTimeout!==Ge.setTimeout&&t.setTimeout,Jt=he.ceil,Zt=he.floor,en=ve.getOwnPropertySymbols,tn=Ne?Ne.isBuffer:void 0,nn=t.isFinite,rn=_e.join,on=Ut(ve.keys,ve),un=he.max,an=he.min,ln=fe.now,sn=t.parseInt,cn=he.random,fn=_e.reverse,dn=Zi(t,"DataView"),pn=Zi(t,"Map"),hn=Zi(t,"Promise"),vn=Zi(t,"Set"),mn=Zi(t,"WeakMap"),gn=Zi(ve,"create"),yn=mn&&new mn,_n={},bn=To(dn),wn=To(pn),En=To(hn),Dn=To(vn),Sn=To(mn),Cn=Re?Re.prototype:void 0,kn=Cn?Cn.valueOf:void 0,Tn=Cn?Cn.toString:void 0;function xn(e){if(Vu(e)&&!Nu(e)&&!(e instanceof In)){if(e instanceof Pn)return e;if(Se.call(e,"__wrapped__"))return xo(e)}return new Pn(e)}var An=function(){function e(){}return function(t){if(!Hu(t))return{};if($e)return $e(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function On(){}function Pn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function In(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Xn(e,t,n,r,i,o){var u,l=1&t,f=2&t,w=4&t;if(n&&(u=i?n(e,r,i,o):n(e)),void 0!==u)return u;if(!Hu(e))return e;var I=Nu(e);if(I){if(u=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Se.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!l)return gi(e,u)}else{var N=no(e),M=N==d||N==p;if(Lu(e))return fi(e,l);if(N==m||N==a||M&&!i){if(u=f||M?{}:io(e),!l)return f?function(e,t){return yi(e,to(e),t)}(e,function(e,t){return e&&yi(t,wa(t),e)}(u,e)):function(e,t){return yi(e,eo(e),t)}(e,Gn(u,e))}else{if(!Ue[N])return i?e:{};u=function(e,t,n){var r=e.constructor;switch(t){case E:return di(e);case s:case c:return new r(+e);case D:return function(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case C:case k:case T:case x:case A:case"[object Uint8ClampedArray]":case O:case P:return pi(e,n);case h:return new r;case v:case _:return new r(e);case g:return function(e){var t=new e.constructor(e.source,ne.exec(e));return t.lastIndex=e.lastIndex,t}(e);case y:return new r;case b:return i=e,kn?ve(kn.call(i)):{}}var i}(e,N,l)}}o||(o=new Ln);var R=o.get(e);if(R)return R;o.set(e,u),Ku(e)?e.forEach((function(r){u.add(Xn(r,t,n,r,e,o))})):qu(e)&&e.forEach((function(r,i){u.set(i,Xn(r,t,n,i,e,o))}));var F=I?void 0:(w?f?Gi:qi:f?wa:ba)(e);return ut(F||e,(function(r,i){F&&(r=e[i=r]),Hn(u,i,Xn(r,t,n,i,e,o))})),u}function Qn(e,t,n){var r=n.length;if(null==e)return!r;for(e=ve(e);r--;){var i=n[r],o=t[i],u=e[i];if(void 0===u&&!(i in e)||!o(u))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new ye(i);return bo((function(){e.apply(void 0,n)}),t)}function Zn(e,t,n,r){var i=-1,o=ct,u=!0,a=e.length,l=[],s=t.length;if(!a)return l;n&&(t=dt(t,At(n))),r?(o=ft,u=!1):t.length>=200&&(o=Pt,u=!1,t=new Fn(t));e:for(;++i-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Vn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Rn.prototype.clear=function(){this.size=0,this.__data__={hash:new Nn,map:new(pn||Mn),string:new Nn}},Rn.prototype.delete=function(e){var t=Qi(this,e).delete(e);return this.size-=t?1:0,t},Rn.prototype.get=function(e){return Qi(this,e).get(e)},Rn.prototype.has=function(e){return Qi(this,e).has(e)},Rn.prototype.set=function(e,t){var n=Qi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Fn.prototype.add=Fn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Fn.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.clear=function(){this.__data__=new Mn,this.size=0},Ln.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ln.prototype.get=function(e){return this.__data__.get(e)},Ln.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!pn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Rn(r)}return n.set(e,t),this.size=n.size,this};var er=wi(lr),tr=wi(sr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r0&&n(a)?t>1?or(a,t-1,n,r,i):pt(i,a):r||(i[i.length]=a)}return i}var ur=Ei(),ar=Ei(!0);function lr(e,t){return e&&ur(e,t,ba)}function sr(e,t){return e&&ar(e,t,ba)}function cr(e,t){return st(t,(function(t){return Uu(e[t])}))}function fr(e,t){for(var n=0,r=(t=ai(t,e)).length;null!=e&&nt}function vr(e,t){return null!=e&&Se.call(e,t)}function mr(e,t){return null!=e&&t in ve(e)}function gr(e,t,n){for(var i=n?ft:ct,o=e[0].length,u=e.length,a=u,l=r(u),s=1/0,c=[];a--;){var f=e[a];a&&t&&(f=dt(f,At(t))),s=an(f.length,s),l[a]=!n&&(t||o>=120&&f.length>=120)?new Fn(a&&f):void 0}f=e[0];var d=-1,p=l[0];e:for(;++d=a)return l;var s=n[r];return l*("desc"==s?-1:1)}}return e.index-t.index}(e,t,n)}))}function Nr(e,t,n){for(var r=-1,i=t.length,o={};++r-1;)a!==e&&Xe.call(a,l,1),Xe.call(e,l,1);return e}function Rr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;uo(i)?Xe.call(e,i,1):Zr(e,i)}}return e}function Fr(e,t){return e+Zt(cn()*(t-e+1))}function Lr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Zt(t/2))&&(e+=e)}while(t);return n}function Br(e,t){return wo(vo(e,t,Ga),e+"")}function jr(e){return jn(Aa(e))}function Ur(e,t){var n=Aa(e);return So(n,Kn(t,0,n.length))}function zr(e,t,n,r){if(!Hu(e))return e;for(var i=-1,o=(t=ai(t,e)).length,u=o-1,a=e;null!=a&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var u=r(o);++i>>1,u=e[o];null!==u&&!Qu(u)&&(n?u<=t:u=200){var s=t?null:Li(e);if(s)return Wt(s);u=!1,i=Pt,l=new Fn}else l=t?[]:a;e:for(;++r=r?e:qr(e,t,n)}var ci=Kt||function(e){return Ge.clearTimeout(e)};function fi(e,t){if(t)return e.slice();var n=e.length,r=Ve?Ve(n):new e.constructor(n);return e.copy(r),r}function di(e){var t=new e.constructor(e.byteLength);return new ze(t).set(new ze(e)),t}function pi(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Qu(e),u=void 0!==t,a=null===t,l=t==t,s=Qu(t);if(!a&&!s&&!o&&e>t||o&&u&&l&&!a&&!s||r&&u&&l||!n&&l||!i)return 1;if(!r&&!o&&!s&&e1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,u&&ao(n[0],n[1],u)&&(o=i<3?void 0:o,i=1),t=ve(t);++r-1?i[o?t[u]:u]:void 0}}function Ti(e){return Vi((function(t){var n=t.length,r=n,o=Pn.prototype.thru;for(e&&t.reverse();r--;){var u=t[r];if("function"!=typeof u)throw new ye(i);if(o&&!a&&"wrapper"==Yi(u))var a=new Pn([],!0)}for(r=a?r:n;++r1&&_.reverse(),f&&sa))return!1;var s=o.get(e),c=o.get(t);if(s&&c)return s==t&&c==e;var f=-1,d=!0,p=2&n?new Fn:void 0;for(o.set(e,t),o.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(X,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return ut(u,(function(n){var r="_."+n[0];t&n[1]&&!ct(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(Q);return t?t[1].split(J):[]}(r),n)))}function Do(e){var t=0,n=0;return function(){var r=ln(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function So(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Yo(e,n)}));function tu(e){var t=xn(e);return t.__chain__=!0,t}function nu(e,t){return t(e)}var ru=Vi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Yn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof In&&uo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:nu,args:[i],thisArg:void 0}),new Pn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var iu=_i((function(e,t,n){Se.call(e,n)?++e[n]:$n(e,n,1)}));var ou=ki(Io),uu=ki(No);function au(e,t){return(Nu(e)?ut:er)(e,Xi(t,3))}function lu(e,t){return(Nu(e)?at:tr)(e,Xi(t,3))}var su=_i((function(e,t,n){Se.call(e,n)?e[n].push(t):$n(e,n,[t])}));var cu=Br((function(e,t,n){var i=-1,o="function"==typeof t,u=Ru(e)?r(e.length):[];return er(e,(function(e){u[++i]=o?it(t,e,n):yr(e,t,n)})),u})),fu=_i((function(e,t,n){$n(e,n,t)}));function du(e,t){return(Nu(e)?dt:Tr)(e,Xi(t,3))}var pu=_i((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var hu=Br((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ao(e,t[0],t[1])?t=[]:n>2&&ao(t[0],t[1],t[2])&&(t=[t[0]]),Ir(e,or(t,1),[])})),vu=Xt||function(){return Ge.Date.now()};function mu(e,t,n){return t=n?void 0:t,ji(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function gu(e,t){var n;if("function"!=typeof t)throw new ye(i);return e=ra(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var yu=Br((function(e,t,n){var r=1;if(n.length){var i=zt(n,Ki(yu));r|=32}return ji(e,r,t,n,i)})),_u=Br((function(e,t,n){var r=3;if(n.length){var i=zt(n,Ki(_u));r|=32}return ji(t,r,e,n,i)}));function bu(e,t,n){var r,o,u,a,l,s,c=0,f=!1,d=!1,p=!0;if("function"!=typeof e)throw new ye(i);function h(t){var n=r,i=o;return r=o=void 0,c=t,a=e.apply(i,n)}function v(e){return c=e,l=bo(g,t),f?h(e):a}function m(e){var n=e-s;return void 0===s||n>=t||n<0||d&&e-c>=u}function g(){var e=vu();if(m(e))return y(e);l=bo(g,function(e){var n=t-(e-s);return d?an(n,u-(e-c)):n}(e))}function y(e){return l=void 0,p&&r?h(e):(r=o=void 0,a)}function _(){var e=vu(),n=m(e);if(r=arguments,o=this,s=e,n){if(void 0===l)return v(s);if(d)return ci(l),l=bo(g,t),h(s)}return void 0===l&&(l=bo(g,t)),a}return t=oa(t)||0,Hu(n)&&(f=!!n.leading,u=(d="maxWait"in n)?un(oa(n.maxWait)||0,t):u,p="trailing"in n?!!n.trailing:p),_.cancel=function(){void 0!==l&&ci(l),c=0,r=s=o=l=void 0},_.flush=function(){return void 0===l?a:y(vu())},_}var wu=Br((function(e,t){return Jn(e,1,t)})),Eu=Br((function(e,t,n){return Jn(e,oa(t)||0,n)}));function Du(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(i);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var u=e.apply(this,r);return n.cache=o.set(i,u)||o,u};return n.cache=new(Du.Cache||Rn),n}function Su(e){if("function"!=typeof e)throw new ye(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Du.Cache=Rn;var Cu=li((function(e,t){var n=(t=1==t.length&&Nu(t[0])?dt(t[0],At(Xi())):dt(or(t,1),At(Xi()))).length;return Br((function(r){for(var i=-1,o=an(r.length,n);++i=t})),Iu=_r(function(){return arguments}())?_r:function(e){return Vu(e)&&Se.call(e,"callee")&&!Ye.call(e,"callee")},Nu=r.isArray,Mu=Je?At(Je):function(e){return Vu(e)&&pr(e)==E};function Ru(e){return null!=e&&Wu(e.length)&&!Uu(e)}function Fu(e){return Vu(e)&&Ru(e)}var Lu=tn||ol,Bu=Ze?At(Ze):function(e){return Vu(e)&&pr(e)==c};function ju(e){if(!Vu(e))return!1;var t=pr(e);return t==f||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!$u(e)}function Uu(e){if(!Hu(e))return!1;var t=pr(e);return t==d||t==p||"[object AsyncFunction]"==t||"[object Proxy]"==t}function zu(e){return"number"==typeof e&&e==ra(e)}function Wu(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Hu(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Vu(e){return null!=e&&"object"==typeof e}var qu=et?At(et):function(e){return Vu(e)&&no(e)==h};function Gu(e){return"number"==typeof e||Vu(e)&&pr(e)==v}function $u(e){if(!Vu(e)||pr(e)!=m)return!1;var t=qe(e);if(null===t)return!0;var n=Se.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&De.call(n)==xe}var Yu=tt?At(tt):function(e){return Vu(e)&&pr(e)==g};var Ku=nt?At(nt):function(e){return Vu(e)&&no(e)==y};function Xu(e){return"string"==typeof e||!Nu(e)&&Vu(e)&&pr(e)==_}function Qu(e){return"symbol"==typeof e||Vu(e)&&pr(e)==b}var Ju=rt?At(rt):function(e){return Vu(e)&&Wu(e.length)&&!!je[pr(e)]};var Zu=Mi(kr),ea=Mi((function(e,t){return e<=t}));function ta(e){if(!e)return[];if(Ru(e))return Xu(e)?qt(e):gi(e);if(gt&&e[gt])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[gt]());var t=no(e);return(t==h?jt:t==y?Wt:Aa)(e)}function na(e){return e?(e=oa(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ra(e){var t=na(e),n=t%1;return t==t?n?t-n:t:0}function ia(e){return e?Kn(ra(e),0,4294967295):0}function oa(e){if("number"==typeof e)return e;if(Qu(e))return NaN;if(Hu(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Hu(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace($,"");var n=ie.test(e);return n||ue.test(e)?He(e.slice(2),n?2:8):re.test(e)?NaN:+e}function ua(e){return yi(e,wa(e))}function aa(e){return null==e?"":Qr(e)}var la=bi((function(e,t){if(fo(t)||Ru(t))yi(t,ba(t),e);else for(var n in t)Se.call(t,n)&&Hn(e,n,t[n])})),sa=bi((function(e,t){yi(t,wa(t),e)})),ca=bi((function(e,t,n,r){yi(t,wa(t),e,r)})),fa=bi((function(e,t,n,r){yi(t,ba(t),e,r)})),da=Vi(Yn);var pa=Br((function(e,t){e=ve(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&ao(t[0],t[1],i)&&(r=1);++n1),t})),yi(e,Gi(e),n),r&&(n=Xn(n,7,Wi));for(var i=t.length;i--;)Zr(n,t[i]);return n}));var Ca=Vi((function(e,t){return null==e?{}:function(e,t){return Nr(e,t,(function(t,n){return ma(e,n)}))}(e,t)}));function ka(e,t){if(null==e)return{};var n=dt(Gi(e),(function(e){return[e]}));return t=Xi(t),Nr(e,n,(function(e,n){return t(e,n[0])}))}var Ta=Bi(ba),xa=Bi(wa);function Aa(e){return null==e?[]:Ot(e,ba(e))}var Oa=Si((function(e,t,n){return t=t.toLowerCase(),e+(n?Pa(t):t)}));function Pa(e){return ja(aa(e).toLowerCase())}function Ia(e){return(e=aa(e))&&e.replace(le,Rt).replace(Ie,"")}var Na=Si((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ma=Si((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ra=Di("toLowerCase");var Fa=Si((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var La=Si((function(e,t,n){return e+(n?" ":"")+ja(t)}));var Ba=Si((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),ja=Di("toUpperCase");function Ua(e,t,n){return e=aa(e),void 0===(t=n?void 0:t)?function(e){return Fe.test(e)}(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.match(Z)||[]}(e):e.match(t)||[]}var za=Br((function(e,t){try{return it(e,void 0,t)}catch(e){return ju(e)?e:new de(e)}})),Wa=Vi((function(e,t){return ut(t,(function(t){t=ko(t),$n(e,t,yu(e[t],e))})),e}));function Ha(e){return function(){return e}}var Va=Ti(),qa=Ti(!0);function Ga(e){return e}function $a(e){return Dr("function"==typeof e?e:Xn(e,1))}var Ya=Br((function(e,t){return function(n){return yr(n,e,t)}})),Ka=Br((function(e,t){return function(n){return yr(e,n,t)}}));function Xa(e,t,n){var r=ba(t),i=cr(t,r);null!=n||Hu(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,ba(t)));var o=!(Hu(n)&&"chain"in n&&!n.chain),u=Uu(e);return ut(i,(function(n){var r=t[n];e[n]=r,u&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=gi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,pt([this.value()],arguments))})})),e}function Qa(){}var Ja=Pi(dt),Za=Pi(lt),el=Pi(mt);function tl(e){return lo(e)?St(ko(e)):function(e){return function(t){return fr(t,e)}}(e)}var nl=Ni(),rl=Ni(!0);function il(){return[]}function ol(){return!1}var ul=Oi((function(e,t){return e+t}),0),al=Fi("ceil"),ll=Oi((function(e,t){return e/t}),1),sl=Fi("floor");var cl,fl=Oi((function(e,t){return e*t}),1),dl=Fi("round"),pl=Oi((function(e,t){return e-t}),0);return xn.after=function(e,t){if("function"!=typeof t)throw new ye(i);return e=ra(e),function(){if(--e<1)return t.apply(this,arguments)}},xn.ary=mu,xn.assign=la,xn.assignIn=sa,xn.assignInWith=ca,xn.assignWith=fa,xn.at=da,xn.before=gu,xn.bind=yu,xn.bindAll=Wa,xn.bindKey=_u,xn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Nu(e)?e:[e]},xn.chain=tu,xn.chunk=function(e,t,n){t=(n?ao(e,t,n):void 0===t)?1:un(ra(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,u=0,a=r(Jt(i/t));oi?0:i+n),(r=void 0===r||r>i?i:ra(r))<0&&(r+=i),r=n>r?0:ia(r);n>>0)?(e=aa(e))&&("string"==typeof t||null!=t&&!Yu(t))&&!(t=Qr(t))&&Bt(e)?si(qt(e),0,n):e.split(t,n):[]},xn.spread=function(e,t){if("function"!=typeof e)throw new ye(i);return t=null==t?0:un(ra(t),0),Br((function(n){var r=n[t],i=si(n,0,t);return r&&pt(i,r),it(e,this,i)}))},xn.tail=function(e){var t=null==e?0:e.length;return t?qr(e,1,t):[]},xn.take=function(e,t,n){return e&&e.length?qr(e,0,(t=n||void 0===t?1:ra(t))<0?0:t):[]},xn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?qr(e,(t=r-(t=n||void 0===t?1:ra(t)))<0?0:t,r):[]},xn.takeRightWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3),!1,!0):[]},xn.takeWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3)):[]},xn.tap=function(e,t){return t(e),e},xn.throttle=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new ye(i);return Hu(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),bu(e,t,{leading:r,maxWait:t,trailing:o})},xn.thru=nu,xn.toArray=ta,xn.toPairs=Ta,xn.toPairsIn=xa,xn.toPath=function(e){return Nu(e)?dt(e,ko):Qu(e)?[e]:gi(Co(aa(e)))},xn.toPlainObject=ua,xn.transform=function(e,t,n){var r=Nu(e),i=r||Lu(e)||Ju(e);if(t=Xi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Hu(e)&&Uu(o)?An(qe(e)):{}}return(i?ut:lr)(e,(function(e,r,i){return t(n,e,r,i)})),n},xn.unary=function(e){return mu(e,1)},xn.union=Vo,xn.unionBy=qo,xn.unionWith=Go,xn.uniq=function(e){return e&&e.length?Jr(e):[]},xn.uniqBy=function(e,t){return e&&e.length?Jr(e,Xi(t,2)):[]},xn.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},xn.unset=function(e,t){return null==e||Zr(e,t)},xn.unzip=$o,xn.unzipWith=Yo,xn.update=function(e,t,n){return null==e?e:ei(e,t,ui(n))},xn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ei(e,t,ui(n),r)},xn.values=Aa,xn.valuesIn=function(e){return null==e?[]:Ot(e,wa(e))},xn.without=Ko,xn.words=Ua,xn.wrap=function(e,t){return ku(ui(t),e)},xn.xor=Xo,xn.xorBy=Qo,xn.xorWith=Jo,xn.zip=Zo,xn.zipObject=function(e,t){return ii(e||[],t||[],Hn)},xn.zipObjectDeep=function(e,t){return ii(e||[],t||[],zr)},xn.zipWith=eu,xn.entries=Ta,xn.entriesIn=xa,xn.extend=sa,xn.extendWith=ca,Xa(xn,xn),xn.add=ul,xn.attempt=za,xn.camelCase=Oa,xn.capitalize=Pa,xn.ceil=al,xn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=oa(n))==n?n:0),void 0!==t&&(t=(t=oa(t))==t?t:0),Kn(oa(e),t,n)},xn.clone=function(e){return Xn(e,4)},xn.cloneDeep=function(e){return Xn(e,5)},xn.cloneDeepWith=function(e,t){return Xn(e,5,t="function"==typeof t?t:void 0)},xn.cloneWith=function(e,t){return Xn(e,4,t="function"==typeof t?t:void 0)},xn.conformsTo=function(e,t){return null==t||Qn(e,t,ba(t))},xn.deburr=Ia,xn.defaultTo=function(e,t){return null==e||e!=e?t:e},xn.divide=ll,xn.endsWith=function(e,t,n){e=aa(e),t=Qr(t);var r=e.length,i=n=void 0===n?r:Kn(ra(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},xn.eq=Au,xn.escape=function(e){return(e=aa(e))&&B.test(e)?e.replace(F,Ft):e},xn.escapeRegExp=function(e){return(e=aa(e))&&G.test(e)?e.replace(q,"\\$&"):e},xn.every=function(e,t,n){var r=Nu(e)?lt:nr;return n&&ao(e,t,n)&&(t=void 0),r(e,Xi(t,3))},xn.find=ou,xn.findIndex=Io,xn.findKey=function(e,t){return yt(e,Xi(t,3),lr)},xn.findLast=uu,xn.findLastIndex=No,xn.findLastKey=function(e,t){return yt(e,Xi(t,3),sr)},xn.floor=sl,xn.forEach=au,xn.forEachRight=lu,xn.forIn=function(e,t){return null==e?e:ur(e,Xi(t,3),wa)},xn.forInRight=function(e,t){return null==e?e:ar(e,Xi(t,3),wa)},xn.forOwn=function(e,t){return e&&lr(e,Xi(t,3))},xn.forOwnRight=function(e,t){return e&&sr(e,Xi(t,3))},xn.get=va,xn.gt=Ou,xn.gte=Pu,xn.has=function(e,t){return null!=e&&ro(e,t,vr)},xn.hasIn=ma,xn.head=Ro,xn.identity=Ga,xn.includes=function(e,t,n,r){e=Ru(e)?e:Aa(e),n=n&&!r?ra(n):0;var i=e.length;return n<0&&(n=un(i+n,0)),Xu(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&bt(e,t,n)>-1},xn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ra(n);return i<0&&(i=un(r+i,0)),bt(e,t,i)},xn.inRange=function(e,t,n){return t=na(t),void 0===n?(n=t,t=0):n=na(n),function(e,t,n){return e>=an(t,n)&&e=-9007199254740991&&e<=9007199254740991},xn.isSet=Ku,xn.isString=Xu,xn.isSymbol=Qu,xn.isTypedArray=Ju,xn.isUndefined=function(e){return void 0===e},xn.isWeakMap=function(e){return Vu(e)&&no(e)==w},xn.isWeakSet=function(e){return Vu(e)&&"[object WeakSet]"==pr(e)},xn.join=function(e,t){return null==e?"":rn.call(e,t)},xn.kebabCase=Na,xn.last=jo,xn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=ra(n))<0?un(r+i,0):an(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):_t(e,Et,i,!0)},xn.lowerCase=Ma,xn.lowerFirst=Ra,xn.lt=Zu,xn.lte=ea,xn.max=function(e){return e&&e.length?rr(e,Ga,hr):void 0},xn.maxBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),hr):void 0},xn.mean=function(e){return Dt(e,Ga)},xn.meanBy=function(e,t){return Dt(e,Xi(t,2))},xn.min=function(e){return e&&e.length?rr(e,Ga,kr):void 0},xn.minBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),kr):void 0},xn.stubArray=il,xn.stubFalse=ol,xn.stubObject=function(){return{}},xn.stubString=function(){return""},xn.stubTrue=function(){return!0},xn.multiply=fl,xn.nth=function(e,t){return e&&e.length?Pr(e,ra(t)):void 0},xn.noConflict=function(){return Ge._===this&&(Ge._=Ae),this},xn.noop=Qa,xn.now=vu,xn.pad=function(e,t,n){e=aa(e);var r=(t=ra(t))?Vt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ii(Zt(i),n)+e+Ii(Jt(i),n)},xn.padEnd=function(e,t,n){e=aa(e);var r=(t=ra(t))?Vt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return an(e+i*(t-e+We("1e-"+((i+"").length-1))),t)}return Fr(e,t)},xn.reduce=function(e,t,n){var r=Nu(e)?ht:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,er)},xn.reduceRight=function(e,t,n){var r=Nu(e)?vt:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,tr)},xn.repeat=function(e,t,n){return t=(n?ao(e,t,n):void 0===t)?1:ra(t),Lr(aa(e),t)},xn.replace=function(){var e=arguments,t=aa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},xn.result=function(e,t,n){var r=-1,i=(t=ai(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=an(e,4294967295);e-=4294967295;for(var i=xt(r,t=Xi(t));++n=o)return e;var a=n-Vt(r);if(a<1)return r;var l=u?si(u,0,a).join(""):e.slice(0,a);if(void 0===i)return l+r;if(u&&(a+=l.length-a),Yu(i)){if(e.slice(a).search(i)){var s,c=l;for(i.global||(i=me(i.source,aa(ne.exec(i))+"g")),i.lastIndex=0;s=i.exec(c);)var f=s.index;l=l.slice(0,void 0===f?a:f)}}else if(e.indexOf(Qr(i),a)!=a){var d=l.lastIndexOf(i);d>-1&&(l=l.slice(0,d))}return l+r},xn.unescape=function(e){return(e=aa(e))&&L.test(e)?e.replace(R,Gt):e},xn.uniqueId=function(e){var t=++Ce;return aa(e)+t},xn.upperCase=Ba,xn.upperFirst=ja,xn.each=au,xn.eachRight=lu,xn.first=Ro,Xa(xn,(cl={},lr(xn,(function(e,t){Se.call(xn.prototype,t)||(cl[t]=e)})),cl),{chain:!1}),xn.VERSION="4.17.20",ut(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){xn[e].placeholder=xn})),ut(["drop","take"],(function(e,t){In.prototype[e]=function(n){n=void 0===n?1:un(ra(n),0);var r=this.__filtered__&&!t?new In(this):this.clone();return r.__filtered__?r.__takeCount__=an(n,r.__takeCount__):r.__views__.push({size:an(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},In.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),ut(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;In.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Xi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),ut(["head","last"],(function(e,t){var n="take"+(t?"Right":"");In.prototype[e]=function(){return this[n](1).value()[0]}})),ut(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");In.prototype[e]=function(){return this.__filtered__?new In(this):this[n](1)}})),In.prototype.compact=function(){return this.filter(Ga)},In.prototype.find=function(e){return this.filter(e).head()},In.prototype.findLast=function(e){return this.reverse().find(e)},In.prototype.invokeMap=Br((function(e,t){return"function"==typeof e?new In(this):this.map((function(n){return yr(n,e,t)}))})),In.prototype.reject=function(e){return this.filter(Su(Xi(e)))},In.prototype.slice=function(e,t){e=ra(e);var n=this;return n.__filtered__&&(e>0||t<0)?new In(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=ra(t))<0?n.dropRight(-t):n.take(t-e)),n)},In.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},In.prototype.toArray=function(){return this.take(4294967295)},lr(In.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=xn[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(xn.prototype[t]=function(){var t=this.__wrapped__,u=r?[1]:arguments,a=t instanceof In,l=u[0],s=a||Nu(t),c=function(e){var t=i.apply(xn,pt([e],u));return r&&f?t[0]:t};s&&n&&"function"==typeof l&&1!=l.length&&(a=s=!1);var f=this.__chain__,d=!!this.__actions__.length,p=o&&!f,h=a&&!d;if(!o&&s){t=h?t:new In(this);var v=e.apply(t,u);return v.__actions__.push({func:nu,args:[c],thisArg:void 0}),new Pn(v,f)}return p&&h?e.apply(this,u):(v=this.thru(c),p?r?v.value()[0]:v.value():v)})})),ut(["pop","push","shift","sort","splice","unshift"],(function(e){var t=_e[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);xn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Nu(i)?i:[],e)}return this[n]((function(n){return t.apply(Nu(n)?n:[],e)}))}})),lr(In.prototype,(function(e,t){var n=xn[t];if(n){var r=n.name+"";Se.call(_n,r)||(_n[r]=[]),_n[r].push({name:t,func:n})}})),_n[xi(void 0,2).name]=[{name:"wrapper",func:void 0}],In.prototype.clone=function(){var e=new In(this.__wrapped__);return e.__actions__=gi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=gi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=gi(this.__views__),e},In.prototype.reverse=function(){if(this.__filtered__){var e=new In(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},In.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Nu(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},xn.prototype.plant=function(e){for(var t,n=this;n instanceof On;){var r=xo(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},xn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof In){var t=e;return this.__actions__.length&&(t=new In(this)),(t=t.reverse()).__actions__.push({func:nu,args:[Ho],thisArg:void 0}),new Pn(t,this.__chain__)}return this.thru(Ho)},xn.prototype.toJSON=xn.prototype.valueOf=xn.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},xn.prototype.first=xn.prototype.head,gt&&(xn.prototype[gt]=function(){return this}),xn}();Ge._=$t,void 0===(r=function(){return $t}.call(t,n,t,e))||(e.exports=r)}.call(this)},1573:e=>{"use strict";const t=(e,t)=>{for(const n of Reflect.ownKeys(t))Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n));return e};e.exports=t,e.exports.default=t},9381:e=>{"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var u,a,l=i(e),s=1;s{"use strict";const r=n(1573),i=new WeakMap,o=(e,t={})=>{if("function"!=typeof e)throw new TypeError("Expected a function");let n,o=!1,u=0;const a=e.displayName||e.name||"",l=function(...r){if(i.set(l,++u),o){if(!0===t.throw)throw new Error(`Function \`${a}\` can only be called once`);return n}return o=!0,n=e.apply(this,r),e=null,n};return r(l,e),i.set(l,u),l};e.exports=o,e.exports.default=o,e.exports.callCount=e=>{if(!i.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return i.get(e)}},8070:(e,t,n)=>{"use strict";const r=n(2413),i=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"];let o={};e.exports=e=>{const t=new r.PassThrough,n=new r.PassThrough;t.write=t=>e("stdout",t),n.write=t=>e("stderr",t);const u=new console.Console(t,n);for(const e of i)o[e]=console[e],console[e]=u[e];return()=>{for(const e of i)console[e]=o[e];o={}}}},5187:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}([function(e,t,n){"use strict";e.exports=n(12)},function(e,t,n){"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function u(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,l=u(e),s=1;s=t||n<0||f&&e-s>=o}function w(){var e=h();if(b(e))return E(e);a=setTimeout(w,function(e){var n=t-(e-l);return f?p(n,o-(e-s)):n}(e))}function E(e){return a=void 0,m&&r?y(e):(r=i=void 0,u)}function D(){var e=h(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===a)return _(l);if(f)return a=setTimeout(w,t),y(l)}return void 0===a&&(a=setTimeout(w,t)),u}return t=g(t)||0,v(n)&&(c=!!n.leading,o=(f="maxWait"in n)?d(g(n.maxWait)||0,t):o,m="trailing"in n?!!n.trailing:m),D.cancel=function(){void 0!==a&&clearTimeout(a),s=0,r=l=i=a=void 0},D.flush=function(){return void 0===a?u:E(h())},D}(e,t,{leading:r,maxWait:t,trailing:i})}}).call(this,n(4))},function(e,t,n){(function(n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i;t=e.exports=p,i="object"===(void 0===n?"undefined":r(n))&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var o=Number.MAX_SAFE_INTEGER||9007199254740991,u=t.re=[],a=t.src=[],l=t.tokens={},s=0;function c(e){l[e]=s++}c("NUMERICIDENTIFIER"),a[l.NUMERICIDENTIFIER]="0|[1-9]\\d*",c("NUMERICIDENTIFIERLOOSE"),a[l.NUMERICIDENTIFIERLOOSE]="[0-9]+",c("NONNUMERICIDENTIFIER"),a[l.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",c("MAINVERSION"),a[l.MAINVERSION]="("+a[l.NUMERICIDENTIFIER]+")\\.("+a[l.NUMERICIDENTIFIER]+")\\.("+a[l.NUMERICIDENTIFIER]+")",c("MAINVERSIONLOOSE"),a[l.MAINVERSIONLOOSE]="("+a[l.NUMERICIDENTIFIERLOOSE]+")\\.("+a[l.NUMERICIDENTIFIERLOOSE]+")\\.("+a[l.NUMERICIDENTIFIERLOOSE]+")",c("PRERELEASEIDENTIFIER"),a[l.PRERELEASEIDENTIFIER]="(?:"+a[l.NUMERICIDENTIFIER]+"|"+a[l.NONNUMERICIDENTIFIER]+")",c("PRERELEASEIDENTIFIERLOOSE"),a[l.PRERELEASEIDENTIFIERLOOSE]="(?:"+a[l.NUMERICIDENTIFIERLOOSE]+"|"+a[l.NONNUMERICIDENTIFIER]+")",c("PRERELEASE"),a[l.PRERELEASE]="(?:-("+a[l.PRERELEASEIDENTIFIER]+"(?:\\."+a[l.PRERELEASEIDENTIFIER]+")*))",c("PRERELEASELOOSE"),a[l.PRERELEASELOOSE]="(?:-?("+a[l.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+a[l.PRERELEASEIDENTIFIERLOOSE]+")*))",c("BUILDIDENTIFIER"),a[l.BUILDIDENTIFIER]="[0-9A-Za-z-]+",c("BUILD"),a[l.BUILD]="(?:\\+("+a[l.BUILDIDENTIFIER]+"(?:\\."+a[l.BUILDIDENTIFIER]+")*))",c("FULL"),c("FULLPLAIN"),a[l.FULLPLAIN]="v?"+a[l.MAINVERSION]+a[l.PRERELEASE]+"?"+a[l.BUILD]+"?",a[l.FULL]="^"+a[l.FULLPLAIN]+"$",c("LOOSEPLAIN"),a[l.LOOSEPLAIN]="[v=\\s]*"+a[l.MAINVERSIONLOOSE]+a[l.PRERELEASELOOSE]+"?"+a[l.BUILD]+"?",c("LOOSE"),a[l.LOOSE]="^"+a[l.LOOSEPLAIN]+"$",c("GTLT"),a[l.GTLT]="((?:<|>)?=?)",c("XRANGEIDENTIFIERLOOSE"),a[l.XRANGEIDENTIFIERLOOSE]=a[l.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",c("XRANGEIDENTIFIER"),a[l.XRANGEIDENTIFIER]=a[l.NUMERICIDENTIFIER]+"|x|X|\\*",c("XRANGEPLAIN"),a[l.XRANGEPLAIN]="[v=\\s]*("+a[l.XRANGEIDENTIFIER]+")(?:\\.("+a[l.XRANGEIDENTIFIER]+")(?:\\.("+a[l.XRANGEIDENTIFIER]+")(?:"+a[l.PRERELEASE]+")?"+a[l.BUILD]+"?)?)?",c("XRANGEPLAINLOOSE"),a[l.XRANGEPLAINLOOSE]="[v=\\s]*("+a[l.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[l.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[l.XRANGEIDENTIFIERLOOSE]+")(?:"+a[l.PRERELEASELOOSE]+")?"+a[l.BUILD]+"?)?)?",c("XRANGE"),a[l.XRANGE]="^"+a[l.GTLT]+"\\s*"+a[l.XRANGEPLAIN]+"$",c("XRANGELOOSE"),a[l.XRANGELOOSE]="^"+a[l.GTLT]+"\\s*"+a[l.XRANGEPLAINLOOSE]+"$",c("COERCE"),a[l.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",c("COERCERTL"),u[l.COERCERTL]=new RegExp(a[l.COERCE],"g"),c("LONETILDE"),a[l.LONETILDE]="(?:~>?)",c("TILDETRIM"),a[l.TILDETRIM]="(\\s*)"+a[l.LONETILDE]+"\\s+",u[l.TILDETRIM]=new RegExp(a[l.TILDETRIM],"g"),c("TILDE"),a[l.TILDE]="^"+a[l.LONETILDE]+a[l.XRANGEPLAIN]+"$",c("TILDELOOSE"),a[l.TILDELOOSE]="^"+a[l.LONETILDE]+a[l.XRANGEPLAINLOOSE]+"$",c("LONECARET"),a[l.LONECARET]="(?:\\^)",c("CARETTRIM"),a[l.CARETTRIM]="(\\s*)"+a[l.LONECARET]+"\\s+",u[l.CARETTRIM]=new RegExp(a[l.CARETTRIM],"g"),c("CARET"),a[l.CARET]="^"+a[l.LONECARET]+a[l.XRANGEPLAIN]+"$",c("CARETLOOSE"),a[l.CARETLOOSE]="^"+a[l.LONECARET]+a[l.XRANGEPLAINLOOSE]+"$",c("COMPARATORLOOSE"),a[l.COMPARATORLOOSE]="^"+a[l.GTLT]+"\\s*("+a[l.LOOSEPLAIN]+")$|^$",c("COMPARATOR"),a[l.COMPARATOR]="^"+a[l.GTLT]+"\\s*("+a[l.FULLPLAIN]+")$|^$",c("COMPARATORTRIM"),a[l.COMPARATORTRIM]="(\\s*)"+a[l.GTLT]+"\\s*("+a[l.LOOSEPLAIN]+"|"+a[l.XRANGEPLAIN]+")",u[l.COMPARATORTRIM]=new RegExp(a[l.COMPARATORTRIM],"g"),c("HYPHENRANGE"),a[l.HYPHENRANGE]="^\\s*("+a[l.XRANGEPLAIN]+")\\s+-\\s+("+a[l.XRANGEPLAIN]+")\\s*$",c("HYPHENRANGELOOSE"),a[l.HYPHENRANGELOOSE]="^\\s*("+a[l.XRANGEPLAINLOOSE]+")\\s+-\\s+("+a[l.XRANGEPLAINLOOSE]+")\\s*$",c("STAR"),a[l.STAR]="(<|>)?=?\\s*\\*";for(var f=0;f256)return null;if(!(t.loose?u[l.LOOSE]:u[l.FULL]).test(e))return null;try{return new p(e,t)}catch(e){return null}}function p(e,t){if(t&&"object"===r(t)||(t={loose:!!t,includePrerelease:!1}),e instanceof p){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof p))return new p(e,t);i("SemVer",e,t),this.options=t,this.loose=!!t.loose;var n=e.trim().match(t.loose?u[l.LOOSE]:u[l.FULL]);if(!n)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new p(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(_(e,t))return null;var n=d(e),r=d(t),i="";if(n.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var u in n)if(("major"===u||"minor"===u||"patch"===u)&&n[u]!==r[u])return i+u;return o},t.compareIdentifiers=v;var h=/^[0-9]+$/;function v(e,t){var n=h.test(e),r=h.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e0}function y(e,t,n){return m(e,t,n)<0}function _(e,t,n){return 0===m(e,t,n)}function b(e,t,n){return 0!==m(e,t,n)}function w(e,t,n){return m(e,t,n)>=0}function E(e,t,n){return m(e,t,n)<=0}function D(e,t,n,i){switch(t){case"===":return"object"===r(e)&&(e=e.version),"object"===r(n)&&(n=n.version),e===n;case"!==":return"object"===r(e)&&(e=e.version),"object"===r(n)&&(n=n.version),e!==n;case"":case"=":case"==":return _(e,n,i);case"!=":return b(e,n,i);case">":return g(e,n,i);case">=":return w(e,n,i);case"<":return y(e,n,i);case"<=":return E(e,n,i);default:throw new TypeError("Invalid operator: "+t)}}function S(e,t){if(t&&"object"===r(t)||(t={loose:!!t,includePrerelease:!1}),e instanceof S){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof S))return new S(e,t);i("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===C?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}t.rcompareIdentifiers=function(e,t){return v(t,e)},t.major=function(e,t){return new p(e,t).major},t.minor=function(e,t){return new p(e,t).minor},t.patch=function(e,t){return new p(e,t).patch},t.compare=m,t.compareLoose=function(e,t){return m(e,t,!0)},t.compareBuild=function(e,t,n){var r=new p(e,n),i=new p(t,n);return r.compare(i)||r.compareBuild(i)},t.rcompare=function(e,t,n){return m(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compareBuild(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.compareBuild(r,e,n)}))},t.gt=g,t.lt=y,t.eq=_,t.neq=b,t.gte=w,t.lte=E,t.cmp=D,t.Comparator=S;var C={};function k(e,t){if(t&&"object"===r(t)||(t={loose:!!t,includePrerelease:!1}),e instanceof k)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new k(e.raw,t);if(e instanceof S)return new k(e.value,t);if(!(this instanceof k))return new k(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function T(e,t){for(var n=!0,r=e.slice(),i=r.pop();n&&r.length;)n=r.every((function(e){return i.intersects(e,t)})),i=r.pop();return n}function x(e){return!e||"x"===e.toLowerCase()||"*"===e}function A(e,t,n,r,i,o,u,a,l,s,c,f,d){return((t=x(n)?"":x(r)?">="+n+".0.0":x(i)?">="+n+"."+r+".0":">="+t)+" "+(a=x(l)?"":x(s)?"<"+(+l+1)+".0.0":x(c)?"<"+l+"."+(+s+1)+".0":f?"<="+l+"."+s+"."+c+"-"+f:"<="+a)).trim()}function O(e,t,n){for(var r=0;r0){var o=e[r].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function P(e,t,n){try{t=new k(t,n)}catch(e){return!1}return t.test(e)}function I(e,t,n,r){var i,o,u,a,l;switch(e=new p(e,r),t=new k(t,r),n){case">":i=g,o=E,u=y,a=">",l=">=";break;case"<":i=y,o=w,u=g,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(P(e,t,r))return!1;for(var s=0;s=0.0.0")),f=f||e,d=d||e,i(e.semver,f.semver,r)?f=e:u(e.semver,d.semver,r)&&(d=e)})),f.operator===a||f.operator===l)return!1;if((!d.operator||d.operator===a)&&o(e,d.semver))return!1;if(d.operator===l&&u(e,d.semver))return!1}return!0}S.prototype.parse=function(e){var t=this.options.loose?u[l.COMPARATORLOOSE]:u[l.COMPARATOR],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new p(n[2],this.options.loose):this.semver=C},S.prototype.toString=function(){return this.value},S.prototype.test=function(e){if(i("Comparator.test",e,this.options.loose),this.semver===C||e===C)return!0;if("string"==typeof e)try{e=new p(e,this.options)}catch(e){return!1}return D(e,this.operator,this.semver,this.options)},S.prototype.intersects=function(e,t){if(!(e instanceof S))throw new TypeError("a Comparator is required");var n;if(t&&"object"===r(t)||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new k(e.value,t),P(this.value,n,t));if(""===e.operator)return""===e.value||(n=new k(this.value,t),P(e.semver,n,t));var i=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),o=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),u=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),l=D(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=D(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return i||o||u&&a||l||s},t.Range=k,k.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},k.prototype.toString=function(){return this.range},k.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var n=t?u[l.HYPHENRANGELOOSE]:u[l.HYPHENRANGE];e=e.replace(n,A),i("hyphen replace",e),e=e.replace(u[l.COMPARATORTRIM],"$1$2$3"),i("comparator trim",e,u[l.COMPARATORTRIM]),e=(e=(e=e.replace(u[l.TILDETRIM],"$1~")).replace(u[l.CARETTRIM],"$1^")).split(/\s+/).join(" ");var r=t?u[l.COMPARATORLOOSE]:u[l.COMPARATOR],o=e.split(" ").map((function(e){return function(e,t){return i("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){i("caret",e,t);var n=t.loose?u[l.CARETLOOSE]:u[l.CARET];return e.replace(n,(function(t,n,r,o,u){var a;return i("caret",e,t,n,r,o,u),x(n)?a="":x(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":x(o)?a="0"===n?">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":">="+n+"."+r+".0 <"+(+n+1)+".0.0":u?(i("replaceCaret pr",u),a="0"===n?"0"===r?">="+n+"."+r+"."+o+"-"+u+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+"-"+u+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+"-"+u+" <"+(+n+1)+".0.0"):(i("no pr"),a="0"===n?"0"===r?">="+n+"."+r+"."+o+" <"+n+"."+r+"."+(+o+1):">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0":">="+n+"."+r+"."+o+" <"+(+n+1)+".0.0"),i("caret return",a),a}))}(e,t)})).join(" ")}(e,t),i("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var n=t.loose?u[l.TILDELOOSE]:u[l.TILDE];return e.replace(n,(function(t,n,r,o,u){var a;return i("tilde",e,t,n,r,o,u),x(n)?a="":x(r)?a=">="+n+".0.0 <"+(+n+1)+".0.0":x(o)?a=">="+n+"."+r+".0 <"+n+"."+(+r+1)+".0":u?(i("replaceTilde pr",u),a=">="+n+"."+r+"."+o+"-"+u+" <"+n+"."+(+r+1)+".0"):a=">="+n+"."+r+"."+o+" <"+n+"."+(+r+1)+".0",i("tilde return",a),a}))}(e,t)})).join(" ")}(e,t),i("tildes",e),e=function(e,t){return i("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var n=t.loose?u[l.XRANGELOOSE]:u[l.XRANGE];return e.replace(n,(function(n,r,o,u,a,l){i("xRange",e,n,r,o,u,a,l);var s=x(o),c=s||x(u),f=c||x(a),d=f;return"="===r&&d&&(r=""),l=t.includePrerelease?"-0":"",s?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&d?(c&&(u=0),a=0,">"===r?(r=">=",c?(o=+o+1,u=0,a=0):(u=+u+1,a=0)):"<="===r&&(r="<",c?o=+o+1:u=+u+1),n=r+o+"."+u+"."+a+l):c?n=">="+o+".0.0"+l+" <"+(+o+1)+".0.0"+l:f&&(n=">="+o+"."+u+".0"+l+" <"+o+"."+(+u+1)+".0"+l),i("xRange return",n),n}))}(e,t)})).join(" ")}(e,t),i("xrange",e),e=function(e,t){return i("replaceStars",e,t),e.trim().replace(u[l.STAR],"")}(e,t),i("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(o=o.filter((function(e){return!!e.match(r)}))),o.map((function(e){return new S(e,this.options)}),this)},k.prototype.intersects=function(e,t){if(!(e instanceof k))throw new TypeError("a Range is required");return this.set.some((function(n){return T(n,t)&&e.set.some((function(e){return T(e,t)&&n.every((function(n){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new k(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},k.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new p(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!g(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}));return n&&e.test(n)?n:null},t.validRange=function(e,t){try{return new k(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return I(e,t,"<",n)},t.gtr=function(e,t,n){return I(e,t,">",n)},t.outside=I,t.prerelease=function(e,t){var n=d(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new k(e,n),t=new k(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof p)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=u[l.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),u[l.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;u[l.COERCERTL].lastIndex=-1}else n=e.match(u[l.COERCE]);return null===n?null:d(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}}).call(this,n(5))},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}e.exports=r},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}}();var l,s=[],c=!1,f=-1;function d(){c&&l&&(c=!1,l.length?s=l.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=a(d);c=!0;for(var t=s.length;t;){for(l=s,s=[];++f1)for(var n=1;nthis[u])return w(this,this[h].get(e)),!1;var o=this[h].get(e).value;return this[f]&&(this[d]||this[f](e,o.value)),o.now=r,o.maxAge=n,o.value=t,this[a]+=i-o.length,o.length=i,this.get(e),b(this),!0}var s=new E(e,t,i,r,n);return s.length>this[u]?(this[f]&&this[f](e,t),!1):(this[a]+=s.length,this[p].unshift(s),this[h].set(e,this[p].head),b(this),!0)}},{key:"has",value:function(e){if(!this[h].has(e))return!1;var t=this[h].get(e).value;return!_(this,t)}},{key:"get",value:function(e){return y(this,e,!0)}},{key:"peek",value:function(e){return y(this,e,!1)}},{key:"pop",value:function(){var e=this[p].tail;return e?(w(this,e),e.value):null}},{key:"del",value:function(e){w(this,this[h].get(e))}},{key:"load",value:function(e){this.reset();for(var t=Date.now(),n=e.length-1;n>=0;n--){var r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{var o=i-t;o>0&&this.set(r.k,r.v,o)}}}},{key:"prune",value:function(){var e=this;this[h].forEach((function(t,n){return y(e,n,!1)}))}},{key:"max",set:function(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[u]=e||1/0,b(this)},get:function(){return this[u]}},{key:"allowStale",set:function(e){this[s]=!!e},get:function(){return this[s]}},{key:"maxAge",set:function(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[c]=e,b(this)},get:function(){return this[c]}},{key:"lengthCalculator",set:function(e){var t=this;"function"!=typeof e&&(e=m),e!==this[l]&&(this[l]=e,this[a]=0,this[p].forEach((function(e){e.length=t[l](e.value,e.key),t[a]+=e.length}))),b(this)},get:function(){return this[l]}},{key:"length",get:function(){return this[a]}},{key:"itemCount",get:function(){return this[p].length}}])&&i(t.prototype,n),e}(),y=function(e,t,n){var r=e[h].get(t);if(r){var i=r.value;if(_(e,i)){if(w(e,r),!e[s])return}else n&&(e[v]&&(r.value.now=Date.now()),e[p].unshiftNode(r));return i.value}},_=function(e,t){if(!t||!t.maxAge&&!e[c])return!1;var n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[c]&&n>e[c]},b=function(e){if(e[a]>e[u])for(var t=e[p].tail;e[a]>e[u]&&null!==t;){var n=t.prev;w(e,t),t=n}},w=function(e,t){if(t){var n=t.value;e[f]&&e[f](n.key,n.value),e[a]-=n.length,e[h].delete(n.key),e[p].removeNode(t)}},E=function e(t,n,i,o,u){r(this,e),this.key=t,this.value=n,this.length=i,this.now=o,this.maxAge=u||0},D=function(e,t,n,r){var i=n.value;_(e,i)&&(w(e,n),e[s]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};e.exports=g},function(e,t,n){(function(t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}e.exports=function(){if("undefined"==typeof document||!document.addEventListener)return null;var r,i,o,u={};return u.copy=function(){var e=!1,t=null,n=!1;function r(){e=!1,t=null,n&&window.getSelection().removeAllRanges(),n=!1}return document.addEventListener("copy",(function(n){if(e){for(var r in t)n.clipboardData.setData(r,t[r]);n.preventDefault()}})),function(i){return new Promise((function(o,u){e=!0,"string"==typeof i?t={"text/plain":i}:i instanceof Node?t={"text/html":(new XMLSerializer).serializeToString(i)}:i instanceof Object?t=i:u("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function e(t){try{if(document.execCommand("copy"))r(),o();else{if(t)throw r(),new Error("Unable to copy. Perhaps it's not available in your browser?");!function(){var e=document.getSelection();if(!document.queryCommandEnabled("copy")&&e.isCollapsed){var t=document.createRange();t.selectNodeContents(document.body),e.removeAllRanges(),e.addRange(t),n=!0}}(),e(!0)}}catch(e){r(),u(e)}}(!1)}))}}(),u.paste=(o=!1,document.addEventListener("paste",(function(e){if(o){o=!1,e.preventDefault();var t=r;r=null,t(e.clipboardData.getData(i))}})),function(e){return new Promise((function(t,n){o=!0,r=t,i=e||"text/plain";try{document.execCommand("paste")||(o=!1,n(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(e){o=!1,n(new Error(e))}}))}),"undefined"==typeof ClipboardEvent&&void 0!==window.clipboardData&&void 0!==window.clipboardData.setData&&( -/*! promise-polyfill 2.0.1 */ -function(r){function i(e,t){return function(){e.apply(t,arguments)}}function o(e){if("object"!=n(this))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],f(e,i(a,this),i(l,this))}function u(e){var t=this;return null===this._state?void this._deferreds.push(e):void d((function(){var n=t._state?e.onFulfilled:e.onRejected;if(null!==n){var r;try{r=n(t._value)}catch(t){return void e.reject(t)}e.resolve(r)}else(t._state?e.resolve:e.reject)(t._value)}))}function a(e){try{if(e===this)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==n(e)||"function"==typeof e)){var t=e.then;if("function"==typeof t)return void f(i(t,e),i(a,this),i(l,this))}this._state=!0,this._value=e,s.call(this)}catch(e){l.call(this,e)}}function l(e){this._state=!1,this._value=e,s.call(this)}function s(){for(var e=0,t=this._deferreds.length;t>e;e++)u.call(this,this._deferreds[e]);this._deferreds=null}function c(e,t,n,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r}function f(e,t,n){var r=!1;try{e((function(e){r||(r=!0,t(e))}),(function(e){r||(r=!0,n(e))}))}catch(e){if(r)return;r=!0,n(e)}}var d=o.immediateFn||"function"==typeof t&&t||function(e){setTimeout(e,1)},p=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){var n=this;return new o((function(r,i){u.call(n,new c(e,t,r,i))}))},o.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&p(arguments[0])?arguments[0]:arguments);return new o((function(t,r){function i(u,a){try{if(a&&("object"==n(a)||"function"==typeof a)){var l=a.then;if("function"==typeof l)return void l.call(a,(function(e){i(u,e)}),r)}e[u]=a,0==--o&&t(e)}catch(e){r(e)}}if(0===e.length)return t([]);for(var o=e.length,u=0;ur;r++)e[r].then(t,n)}))},e.exports?e.exports=o:r.Promise||(r.Promise=o)}(this),u.copy=function(e){return new Promise((function(t,n){if("string"!=typeof e&&!("text/plain"in e))throw new Error("You must provide a text/plain type.");var r="string"==typeof e?e:e["text/plain"];window.clipboardData.setData("Text",r)?t():n(new Error("Copying was rejected."))}))},u.paste=function(){return new Promise((function(e,t){var n=window.clipboardData.getData("Text");n?e(n):t(new Error("Pasting was rejected."))}))}),u}()}).call(this,n(13).setImmediate)},function(e,t,n){"use strict";e.exports=n(15)},function(e,t,n){"use strict";n.r(t),t.default=":root {\n /**\n * IMPORTANT: When new theme variables are added below– also add them to SettingsContext updateThemeVariables()\n */\n\n /* Light theme */\n --light-color-attribute-name: #ef6632;\n --light-color-attribute-name-not-editable: #23272f;\n --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7);\n --light-color-attribute-value: #1a1aa6;\n --light-color-attribute-value-inverted: #ffffff;\n --light-color-attribute-editable-value: #1a1aa6;\n --light-color-background: #ffffff;\n --light-color-background-hover: rgba(0, 136, 250, 0.1);\n --light-color-background-inactive: #e5e5e5;\n --light-color-background-invalid: #fff0f0;\n --light-color-background-selected: #0088fa;\n --light-color-button-background: #ffffff;\n --light-color-button-background-focus: #ededed;\n --light-color-button: #5f6673;\n --light-color-button-disabled: #cfd1d5;\n --light-color-button-active: #0088fa;\n --light-color-button-focus: #23272f;\n --light-color-button-hover: #23272f;\n --light-color-border: #eeeeee;\n --light-color-commit-did-not-render-fill: #cfd1d5;\n --light-color-commit-did-not-render-fill-text: #000000;\n --light-color-commit-did-not-render-pattern: #cfd1d5;\n --light-color-commit-did-not-render-pattern-text: #333333;\n --light-color-commit-gradient-0: #37afa9;\n --light-color-commit-gradient-1: #63b19e;\n --light-color-commit-gradient-2: #80b393;\n --light-color-commit-gradient-3: #97b488;\n --light-color-commit-gradient-4: #abb67d;\n --light-color-commit-gradient-5: #beb771;\n --light-color-commit-gradient-6: #cfb965;\n --light-color-commit-gradient-7: #dfba57;\n --light-color-commit-gradient-8: #efbb49;\n --light-color-commit-gradient-9: #febc38;\n --light-color-commit-gradient-text: #000000;\n --light-color-component-name: #6a51b2;\n --light-color-component-name-inverted: #ffffff;\n --light-color-component-badge-background: rgba(0, 0, 0, 0.1);\n --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25);\n --light-color-component-badge-count: #777d88;\n --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7);\n --light-color-context-background: rgba(0,0,0,.9);\n --light-color-context-background-hover: rgba(255, 255, 255, 0.1);\n --light-color-context-background-selected: #178fb9;\n --light-color-context-border: #3d424a;\n --light-color-context-text: #ffffff;\n --light-color-context-text-selected: #ffffff;\n --light-color-dim: #777d88;\n --light-color-dimmer: #cfd1d5;\n --light-color-dimmest: #eff0f1;\n --light-color-error-background: hsl(0, 100%, 97%);\n --light-color-error-border: hsl(0, 100%, 92%);\n --light-color-error-text: #ff0000;\n --light-color-expand-collapse-toggle: #777d88;\n --light-color-link: #0000ff;\n --light-color-modal-background: rgba(255, 255, 255, 0.75);\n --light-color-record-active: #fc3a4b;\n --light-color-record-hover: #3578e5;\n --light-color-record-inactive: #0088fa;\n --light-color-scroll-thumb: #c2c2c2;\n --light-color-scroll-track: #fafafa;\n --light-color-search-match: yellow;\n --light-color-search-match-current: #f7923b;\n --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1);\n --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05);\n --light-color-shadow: rgba(0, 0, 0, 0.25);\n --light-color-tab-selected-border: #0088fa;\n --light-color-text: #000000;\n --light-color-text-invalid: #ff0000;\n --light-color-text-selected: #ffffff;\n --light-color-toggle-background-invalid: #fc3a4b;\n --light-color-toggle-background-on: #0088fa;\n --light-color-toggle-background-off: #cfd1d5;\n --light-color-toggle-text: #ffffff;\n --light-color-tooltip-background: rgba(0, 0, 0, 0.9);\n --light-color-tooltip-text: #ffffff;\n\n /* Dark theme */\n --dark-color-attribute-name: #9d87d2;\n --dark-color-attribute-name-not-editable: #ededed;\n --dark-color-attribute-name-inverted: #282828;\n --dark-color-attribute-value: #cedae0;\n --dark-color-attribute-value-inverted: #ffffff;\n --dark-color-attribute-editable-value: yellow;\n --dark-color-background: #282c34;\n --dark-color-background-hover: rgba(255, 255, 255, 0.1);\n --dark-color-background-inactive: #3d424a;\n --dark-color-background-invalid: #5c0000;\n --dark-color-background-selected: #178fb9;\n --dark-color-button-background: #282c34;\n --dark-color-button-background-focus: #3d424a;\n --dark-color-button: #afb3b9;\n --dark-color-button-active: #61dafb;\n --dark-color-button-disabled: #4f5766;\n --dark-color-button-focus: #a2e9fc;\n --dark-color-button-hover: #ededed;\n --dark-color-border: #3d424a;\n --dark-color-commit-did-not-render-fill: #777d88;\n --dark-color-commit-did-not-render-fill-text: #000000;\n --dark-color-commit-did-not-render-pattern: #666c77;\n --dark-color-commit-did-not-render-pattern-text: #ffffff;\n --dark-color-commit-gradient-0: #37afa9;\n --dark-color-commit-gradient-1: #63b19e;\n --dark-color-commit-gradient-2: #80b393;\n --dark-color-commit-gradient-3: #97b488;\n --dark-color-commit-gradient-4: #abb67d;\n --dark-color-commit-gradient-5: #beb771;\n --dark-color-commit-gradient-6: #cfb965;\n --dark-color-commit-gradient-7: #dfba57;\n --dark-color-commit-gradient-8: #efbb49;\n --dark-color-commit-gradient-9: #febc38;\n --dark-color-commit-gradient-text: #000000;\n --dark-color-component-name: #61dafb;\n --dark-color-component-name-inverted: #282828;\n --dark-color-component-badge-background: rgba(255, 255, 255, 0.25);\n --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25);\n --dark-color-component-badge-count: #8f949d;\n --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7);\n --dark-color-context-background: rgba(255,255,255,.9);\n --dark-color-context-background-hover: rgba(0, 136, 250, 0.1);\n --dark-color-context-background-selected: #0088fa;\n --dark-color-context-border: #eeeeee;\n --dark-color-context-text: #000000;\n --dark-color-context-text-selected: #ffffff;\n --dark-color-dim: #8f949d;\n --dark-color-dimmer: #777d88;\n --dark-color-dimmest: #4f5766;\n --dark-color-error-background: #200;\n --dark-color-error-border: #900;\n --dark-color-error-text: #f55;\n --dark-color-expand-collapse-toggle: #8f949d;\n --dark-color-link: #61dafb;\n --dark-color-modal-background: rgba(0, 0, 0, 0.75);\n --dark-color-record-active: #fc3a4b;\n --dark-color-record-hover: #a2e9fc;\n --dark-color-record-inactive: #61dafb;\n --dark-color-scroll-thumb: #afb3b9;\n --dark-color-scroll-track: #313640;\n --dark-color-search-match: yellow;\n --dark-color-search-match-current: #f7923b;\n --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15);\n --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05);\n --dark-color-shadow: rgba(0, 0, 0, 0.5);\n --dark-color-tab-selected-border: #178fb9;\n --dark-color-text: #ffffff;\n --dark-color-text-invalid: #ff8080;\n --dark-color-text-selected: #ffffff;\n --dark-color-toggle-background-invalid: #fc3a4b;\n --dark-color-toggle-background-on: #178fb9;\n --dark-color-toggle-background-off: #777d88;\n --dark-color-toggle-text: #ffffff;\n --dark-color-tooltip-background: rgba(255, 255, 255, 0.9);\n --dark-color-tooltip-text: #000000;\n\n /* Font smoothing */\n --light-font-smoothing: auto;\n --dark-font-smoothing: antialiased;\n --font-smoothing: auto;\n\n /* Compact density */\n --compact-font-size-monospace-small: 9px;\n --compact-font-size-monospace-normal: 11px;\n --compact-font-size-monospace-large: 15px;\n --compact-font-size-sans-small: 10px;\n --compact-font-size-sans-normal: 12px;\n --compact-font-size-sans-large: 14px;\n --compact-line-height-data: 18px;\n --compact-root-font-size: 16px;\n\n /* Comfortable density */\n --comfortable-font-size-monospace-small: 10px;\n --comfortable-font-size-monospace-normal: 13px;\n --comfortable-font-size-monospace-large: 17px;\n --comfortable-font-size-sans-small: 12px;\n --comfortable-font-size-sans-normal: 14px;\n --comfortable-font-size-sans-large: 16px;\n --comfortable-line-height-data: 22px;\n --comfortable-root-font-size: 20px;\n\n /* GitHub.com system fonts */\n --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo,\n Courier, monospace;\n --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica,\n Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n\n /* Constant values shared between JS and CSS */\n --interaction-commit-size: 10px;\n --interaction-label-width: 200px;\n}\n"},function(e,t,n){"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,i=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},r.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(tthis.length&&(t=this.length);for(var i=0,o=this.head;null!==o&&ithis.length&&(t=this.length);for(var i=this.length,o=this.tail;null!==o&&i>t;i--)o=o.prev;for(;null!==o&&i>e;i--,o=o.prev)n.push(o.value);return n},r.prototype.splice=function(e,t){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,r=this.head;null!==r&&n=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(14),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(4))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,u,a,l=1,s={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(u="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(u)&&h(+t.data.slice(u.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(u+t,"*")}):e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)},d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;nv;v++)if(-1!==(h=g(p,c,v))){m=v,c=h;break e}c=-1}}e:{if(p=f,void 0!==(h=d().get(s.primitive)))for(v=0;vc-p?null:f.slice(p,c-1))){if(c=0,null!==r){for(;cc;r--)i=a.pop()}for(r=f.length-c-1;1<=r;r--)c=[],i.push({id:null,isStateEditable:!1,name:_(f[r-1].functionName),value:void 0,subHooks:c}),a.push(i),i=c;r=f}c="Context"===(f=s.primitive)||"DebugValue"===f?null:u++,i.push({id:c,isStateEditable:"Reducer"===f||"State"===f,name:f,value:s.value,subHooks:[]})}return function e(t,n){for(var r=[],i=0;i-1&&(t=t.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var n=t.replace(/^\s+/,"").replace(/\(eval code/g,"("),r=n.match(/ (\((.+):(\d+):(\d+)\)$)/),i=(n=r?n.replace(r[0],""):n).split(/\s+/).slice(1),o=this.extractLocation(r?r[1]:i.pop()),u=i.join(" ")||void 0,a=["eval",""].indexOf(o[0])>-1?void 0:o[0];return new e({functionName:u,fileName:a,lineNumber:o[1],columnNumber:o[2],source:t})}),this)},parseFFOrSafari:function(t){return t.stack.split("\n").filter((function(e){return!e.match(r)}),this).map((function(t){if(t.indexOf(" > eval")>-1&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===t.indexOf("@")&&-1===t.indexOf(":"))return new e({functionName:t});var n=/((.*".+"[^@]*)?[^@]*)(?:@)/,r=t.match(n),i=r&&r[1]?r[1]:void 0,o=this.extractLocation(t.replace(n,""));return new e({functionName:i,fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:t})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var n=/Line (\d+).*script (?:in )?(\S+)/i,r=t.message.split("\n"),i=[],o=2,u=r.length;o/,"$2").replace(/\([^)]*\)/g,"")||void 0;o.match(/\(([^)]*)\)/)&&(n=o.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var a=void 0===n||"[arguments not available]"===n?void 0:n.split(",");return new e({functionName:u,args:a,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:t})}),this)}}})?r.apply(t,i):r)||(e.exports=o)}()},function(e,t,n){var r,i,o;!function(n,u){"use strict";i=[],void 0===(o="function"==typeof(r=function(){function e(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var n=["isConstructor","isEval","isNative","isToplevel"],r=["columnNumber","lineNumber"],i=["fileName","functionName","source"],o=n.concat(r,i,["args"]);function u(t){if(t)for(var n=0;n1?n-1:0),i=1;i=0&&n.splice(r,1)}}}])&&r(t.prototype,n),e}(),o=n(2),u=n.n(o);try{var a=n(9).default,l=function(e){var t=new RegExp("".concat(e,": ([0-9]+)")),n=a.match(t);return parseInt(n[1],10)};l("comfortable-line-height-data"),l("compact-line-height-data")}catch(e){}function s(e){try{return sessionStorage.getItem(e)}catch(e){return null}}function c(e){try{sessionStorage.removeItem(e)}catch(e){}}function f(e,t){try{return sessionStorage.setItem(e,t)}catch(e){}}var d=function(e,t){return e===t},p=n(1),h=n.n(p);function v(e){return e.ownerDocument?e.ownerDocument.defaultView:null}function m(e){var t=v(e);return t?t.frameElement:null}function g(e){var t=b(e);return y([e.getBoundingClientRect(),{top:t.borderTop,left:t.borderLeft,bottom:t.borderBottom,right:t.borderRight,width:0,height:0}])}function y(e){return e.reduce((function(e,t){return null==e?t:{top:e.top+t.top,left:e.left+t.left,width:e.width,height:e.height,bottom:e.bottom+t.bottom,right:e.right+t.right}}))}function _(e,t){var n=m(e);if(n&&n!==t){for(var r=[e.getBoundingClientRect()],i=n,o=!1;i;){var u=g(i);if(r.push(u),i=m(i),o)break;i&&v(i)===t&&(o=!0)}return y(r)}return e.getBoundingClientRect()}function b(e){var t=window.getComputedStyle(e);return{borderLeft:parseInt(t.borderLeftWidth,10),borderRight:parseInt(t.borderRightWidth,10),borderTop:parseInt(t.borderTopWidth,10),borderBottom:parseInt(t.borderBottomWidth,10),marginLeft:parseInt(t.marginLeft,10),marginRight:parseInt(t.marginRight,10),marginTop:parseInt(t.marginTop,10),marginBottom:parseInt(t.marginBottom,10),paddingLeft:parseInt(t.paddingLeft,10),paddingRight:parseInt(t.paddingRight,10),paddingTop:parseInt(t.paddingTop,10),paddingBottom:parseInt(t.paddingBottom,10)}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt.left+t.width&&(u=t.left+t.width-o-5),{style:{top:r+="px",left:u+="px"}}}(e,t,{width:n.width,height:n.height});h()(this.tip.style,r.style)}}]),e}(),T=function(){function e(){E(this,e);var t=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=t;var n=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=n;var r=t.document;this.container=r.createElement("div"),this.container.style.zIndex="10000000",this.tip=new k(r,this.container),this.rects=[],r.body.appendChild(this.container)}return S(e,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach((function(e){e.remove()})),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(e,t){for(var n=this,r=e.filter((function(e){return e.nodeType===Node.ELEMENT_NODE}));this.rects.length>r.length;)this.rects.pop().remove();if(0!==r.length){for(;this.rects.length=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,o=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw o}}}}(u.rendererInterfaces.values());try{for(s.s();!(a=s.n()).done;){var c=a.value,f=c.getFiberIDForNative(o,!0);if(null!==f){l=c.getDisplayNameForFiberID(f,!0);break}}}catch(e){s.e(e)}finally{s.f()}l&&(t+=" (in "+l+")")}}this.tip.updateText(t,i.right-i.left,i.bottom-i.top);var d=_(this.tipBoundsWindow.document.documentElement,this.window);this.tip.updatePosition({top:i.top,left:i.left,height:i.bottom-i.top,width:i.right-i.left},{top:d.top+this.tipBoundsWindow.scrollY,left:d.left+this.tipBoundsWindow.scrollX,height:this.tipBoundsWindow.innerHeight,width:this.tipBoundsWindow.innerWidth})}}}]),e}();function x(e,t,n){h()(n.style,{borderTopWidth:e[t+"Top"]+"px",borderLeftWidth:e[t+"Left"]+"px",borderRightWidth:e[t+"Right"]+"px",borderBottomWidth:e[t+"Bottom"]+"px",borderStyle:"solid"})}var A={background:"rgba(120, 170, 210, 0.7)",padding:"rgba(77, 200, 0, 0.3)",margin:"rgba(255, 155, 0, 0.3)",border:"rgba(255, 200, 50, 0.3)"},O=null,P=null;function I(){O=null,null!==P&&(P.remove(),P=null)}function N(e,t,n){null!=window.document&&(null!==O&&clearTimeout(O),null!=e&&(null===P&&(P=new T),P.inspect(e,t),n&&(O=setTimeout(I,2e3))))}var M=new Set,R=["#37afa9","#63b19e","#80b393","#97b488","#abb67d","#beb771","#cfb965","#dfba57","#efbb49","#febc38"],F=null;function L(e){return(L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var B="object"===("undefined"==typeof performance?"undefined":L(performance))&&"function"==typeof performance.now?function(){return performance.now()}:function(){return Date.now()},j=new Map,U=null,z=!1,W=null;function H(e){z&&(e.forEach((function(e){var t=j.get(e),n=B(),r=null!=t?t.lastMeasuredAt:0,i=null!=t?t.rect:null;(null===i||r+2505&&void 0!==arguments[5]?arguments[5]:0,a=me(e);switch(a){case"html_element":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:e.tagName,type:a};case"function":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:"function"!=typeof e.name&&e.name?e.name:"function",type:a};case"string":return e.length<=500?e:e.slice(0,500)+"...";case"bigint":case"symbol":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:e.toString(),type:a};case"react_element":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:ge(e)||"Unknown",type:a};case"array_buffer":case"data_view":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:"data_view"===a?"DataView":"ArrayBuffer",size:e.byteLength,type:a};case"array":return o=i(r),u>=2&&!o?Z(a,!0,e,t,r):e.map((function(e,a){return ee(e,t,n,r.concat([a]),i,o?1:u+1)}));case"html_all_collection":case"typed_array":case"iterator":if(o=i(r),u>=2&&!o)return Z(a,!0,e,t,r);var l={unserializable:!0,type:a,readonly:!0,size:"typed_array"===a?e.length:void 0,preview_short:_e(e,!1),preview_long:_e(e,!0),name:e.constructor&&"Object"!==e.constructor.name?e.constructor.name:""};return Q(e[Symbol.iterator])&&Array.from(e).forEach((function(e,a){return l[a]=ee(e,t,n,r.concat([a]),i,o?1:u+1)})),n.push(r),l;case"opaque_iterator":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:e[Symbol.toStringTag],type:a};case"date":case"regexp":return t.push(r),{inspectable:!1,preview_short:_e(e,!1),preview_long:_e(e,!0),name:e.toString(),type:a};case"object":if(o=i(r),u>=2&&!o)return Z(a,!0,e,t,r);var s={};return ae(e).forEach((function(a){var l=a.toString();s[l]=ee(e[a],t,n,r.concat([l]),i,o?1:u+1)})),s;case"infinity":case"nan":case"undefined":return t.push(r),{type:a};default:return e}}function te(e){return(te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ne(e){return function(e){if(Array.isArray(e))return re(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt.toString()?1:t.toString()>e.toString()?-1:0}function ae(e){for(var t=[],n=e,r=function(){var e=[].concat(ne(Object.keys(n)),ne(Object.getOwnPropertySymbols(n))),r=Object.getOwnPropertyDescriptors(n);e.forEach((function(e){r[e].enumerable&&t.push(e)})),n=Object.getPrototypeOf(n)};null!=n;)r();return t}function le(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Anonymous",n=ie.get(e);if(null!=n)return n;var r=t;return"string"==typeof e.displayName?r=e.displayName:"string"==typeof e.name&&""!==e.name&&(r=e.name),ie.set(e,r),r}var se=0;function ce(){return++se}function fe(e){var t=oe.get(e);if(void 0!==t)return t;for(var n=new Array(e.length),r=0;r1&&void 0!==arguments[1]?arguments[1]:50;return e.length>t?e.substr(0,t)+"…":e}function _e(e,t){if(null!=e&&hasOwnProperty.call(e,J.type))return t?e[J.preview_long]:e[J.preview_short];switch(me(e)){case"html_element":return"<".concat(ye(e.tagName.toLowerCase())," />");case"function":return ye("ƒ ".concat("function"==typeof e.name?"":e.name,"() {}"));case"string":return'"'.concat(e,'"');case"bigint":return ye(e.toString()+"n");case"regexp":case"symbol":return ye(e.toString());case"react_element":return"<".concat(ye(ge(e)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(e.byteLength,")");case"data_view":return"DataView(".concat(e.buffer.byteLength,")");case"array":if(t){for(var n="",r=0;r0&&(n+=", "),!((n+=_e(e[r],!1)).length>50));r++);return"[".concat(ye(n),"]")}var i=hasOwnProperty.call(e,J.size)?e[J.size]:e.length;return"Array(".concat(i,")");case"typed_array":var o="".concat(e.constructor.name,"(").concat(e.length,")");if(t){for(var u="",a=0;a0&&(u+=", "),!((u+=e[a]).length>50));a++);return"".concat(o," [").concat(ye(u),"]")}return o;case"iterator":var l=e.constructor.name;if(t){for(var s=Array.from(e),c="",f=0;f0&&(c+=", "),Array.isArray(d)){var p=_e(d[0],!0),h=_e(d[1],!1);c+="".concat(p," => ").concat(h)}else c+=_e(d,!1);if(c.length>50)break}return"".concat(l,"(").concat(e.size,") {").concat(ye(c),"}")}return"".concat(l,"(").concat(e.size,")");case"opaque_iterator":return e[Symbol.toStringTag];case"date":return e.toString();case"object":if(t){for(var v=ae(e).sort(ue),m="",g=0;g0&&(m+=", "),(m+="".concat(y.toString(),": ").concat(_e(e[y],!1))).length>50)break}return"{".concat(ye(m),"}")}return"{…}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return e;default:try{return ye(""+e)}catch(e){return"unserializable"}}}var be=n(7);function we(e){return(we="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function De(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:[];if(null!==e){var r=[],i=[],o=ee(e,r,i,n,t);return{data:o,cleaned:r,unserializable:i}}return null}function ke(e){var t,n,r=(t=e,n=new Set,JSON.stringify(t,(function(e,t){if("object"===we(t)&&null!==t){if(n.has(t))return;n.add(t)}return"bigint"==typeof t?t.toString()+"n":t}))),i=void 0===r?"undefined":r,o=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;"function"==typeof o?o(i).catch((function(e){})):Object(be.copy)(i)}function Te(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t[n],i=Array.isArray(e)?e.slice():De({},e);return n+1===t.length?Array.isArray(i)?i.splice(r,1):delete i[r]:i[r]=Te(e[r],t,n+1),i}function xe(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=t[r],o=Array.isArray(e)?e.slice():De({},e);if(r+1===t.length){var u=n[r];o[u]=o[i],Array.isArray(o)?o.splice(i,1):delete o[i]}else o[i]=xe(e[i],t,n,r+1);return o}function Ae(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(r>=t.length)return n;var i=t[r],o=Array.isArray(e)?e.slice():De({},e);return o[i]=Ae(e[i],t,n,r+1),o}var Oe=n(8);function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ie(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,o=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw o}}}}function Le(e,t){if(e){if("string"==typeof e)return Be(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Be(e,t):void 0}}function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var a=o(e);if(null!=a){var l,s=Fe(Y);try{for(s.s();!(l=s.n()).done;)if(l.value.test(a))return!0}catch(e){s.e(e)}finally{s.f()}}}if(null!=t&&K.size>0){var c,f=t.fileName,d=Fe(K);try{for(d.s();!(c=d.n()).done;)if(c.value.test(f))return!0}catch(e){d.e(e)}finally{d.f()}}return!1}function te(e){var t=e.type;switch(e.tag){case v:case S:return 1;case h:case C:return 5;case _:return 6;case b:return 11;case E:return 7;case w:case D:case y:return 9;case k:case x:return 8;case A:return 12;case O:return 13;default:switch(u(t)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function ne(e){if(oe.has(e))return e;var t=e.alternate;return null!=t&&oe.has(t)?t:(oe.add(e),e)}null!=window.__REACT_DEVTOOLS_COMPONENT_FILTERS__?Z(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):Z([{type:1,value:7,isEnabled:!0}]);var re=new Map,ie=new Map,oe=new Set,ue=new Map,ae=new Map,le=-1;function se(e){if(!re.has(e)){var t=ce();re.set(e,t),ie.set(t,e)}return re.get(e)}function me(e){switch(te(e)){case 1:if(null!==dt){var t=se(ne(e)),n=ye(e);null!==n&&dt.set(t,n)}}}var ge={};function ye(e){switch(te(e)){case 1:var t=e.stateNode,n=ge,r=ge;return null!=t&&(t.constructor&&null!=t.constructor.contextType?r=t.context:(n=t.context)&&0===Object.keys(n).length&&(n=ge)),[n,r];default:return null}}function _e(e){switch(te(e)){case 1:if(null!==dt){var t=se(ne(e)),n=dt.has(t)?dt.get(t):null,r=ye(e);if(null==n||null==r)return null;var i=Re(n,2),o=i[0],u=i[1],a=Re(r,2),l=a[0],s=a[1];if(l!==ge)return we(o,l);if(s!==ge)return u!==s}}return null}function be(e,t){if(null==e||null==t)return!1;if(t.hasOwnProperty("baseState")&&t.hasOwnProperty("memoizedState")&&t.hasOwnProperty("next")&&t.hasOwnProperty("queue"))for(;null!==t;){if(t.memoizedState!==e.memoizedState)return!0;t=t.next,e=e.next}return!1}function we(e,t){if(null==e||null==t)return null;if(t.hasOwnProperty("baseState")&&t.hasOwnProperty("memoizedState")&&t.hasOwnProperty("next")&&t.hasOwnProperty("queue"))return null;var n,r=[],i=Fe(new Set([].concat(Me(Object.keys(e)),Me(Object.keys(t)))));try{for(i.s();!(n=i.n()).done;){var o=n.value;e[o]!==t[o]&&r.push(o)}}catch(e){i.e(e)}finally{i.f()}return r}function Ee(e,t){switch(t.tag){case v:case h:case m:case k:case x:return(Ue(t)&d)===d;default:return e.memoizedProps!==t.memoizedProps||e.memoizedState!==t.memoizedState||e.ref!==t.ref}}var De=[],Se=[],Pe=[],Ne=[],Le=new Map,Be=0,je=null;function ze(e){De.push(e)}function Ve(n){if(0!==De.length||0!==Se.length||0!==Pe.length||null!==je||vt){var r=Se.length+Pe.length+(null===je?0:1),i=new Array(3+Be+(r>0?2+r:0)+De.length),o=0;if(i[o++]=t,i[o++]=le,i[o++]=Be,Le.forEach((function(e,t){i[o++]=t.length;for(var n=fe(t),r=0;r0){i[o++]=2,i[o++]=r;for(var u=Se.length-1;u>=0;u--)i[o++]=Se[u];for(var a=0;a0?n.forEach((function(t){e.emit("operations",t)})):(null!==Dt&&(kt=!0),e.getFiberRoots(t).forEach((function(e){Ot(le=se(ne(e.current)),e.current),vt&&null!=e.memoizedInteractions&&(st={changeDescriptions:gt?new Map:null,durations:[],commitTime:We()-mt,interactions:Array.from(e.memoizedInteractions).map((function(e){return Ie(Ie({},e),{},{timestamp:e.timestamp-mt})})),maxActualDuration:0,priorityLevel:null}),$e(e.current,null,!1,!1),Ve(),le=-1})))},getBestMatchForTrackedPath:function(){if(null===Dt)return null;if(null===St)return null;for(var e=St;null!==e&&ee(e);)e=e.return;return null===e?null:{id:se(ne(e)),isFullMatch:Ct===Dt.length-1}},getDisplayNameForFiberID:function(e){var t=ie.get(e);return null!=t?o(t):null},getFiberIDForNative:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=n.findFiberByHostInstance(e);if(null!=r){if(t)for(;null!==r&&ee(r);)r=r.return;return se(ne(r))}return null},getInstanceAndStyle:function(e){var t=null,n=null,r=et(e);return null!==r&&(t=r.stateNode,null!==r.memoizedProps&&(n=r.memoizedProps.style)),{instance:t,style:n}},getOwnersList:function(e){var t=et(e);if(null==t)return null;var n=t._debugOwner,r=[{displayName:o(t)||"Anonymous",id:e,type:te(t)}];if(n)for(var i=n;null!==i;)r.unshift({displayName:o(i)||"Anonymous",id:se(ne(i)),type:te(i)}),i=i._debugOwner||null;return r},getPathForElement:function(e){var t=ie.get(e);if(null==t)return null;for(var n=[];null!==t;)n.push(It(t)),t=t.return;return n.reverse(),n},getProfilingData:function(){var e=[];if(null===yt)throw Error("getProfilingData() called before any profiling data was recorded");return yt.forEach((function(t,n){var r=[],i=[],o=new Map,u=new Map,a=null!==ft&&ft.get(n)||"Unknown";null!=pt&&pt.forEach((function(e,t){null!=ht&&ht.get(t)===n&&i.push([t,e])})),t.forEach((function(e,t){var n=e.changeDescriptions,i=e.durations,a=e.interactions,l=e.maxActualDuration,s=e.priorityLevel,c=e.commitTime,f=[];a.forEach((function(e){o.has(e.id)||o.set(e.id,e),f.push(e.id);var n=u.get(e.id);null!=n?n.push(t):u.set(e.id,[t])}));for(var d=[],p=[],h=0;h1?At.set(n,r-1):At.delete(n),xt.delete(e)}(le),Ge(r,!1))}else Ot(le,r),$e(r,null,!1,!1);if(vt&&o){var l=yt.get(le);null!=l?l.push(st):yt.set(le,[st])}Ve(),Q&&e.emit("traceUpdates",J),le=-1},handleCommitFiberUnmount:function(e){Ge(e,!1)},inspectElement:function(e,t){if(ot(e)){if(null!=t){ut(t);var n=null;return"hooks"===t[0]&&(n="hooks"),{id:e,type:"hydrated-path",path:t,value:Ce(de(nt,t),at(null,n),t)}}return{id:e,type:"no-change"}}if(rt=!1,null!==nt&&nt.id===e||(it={}),null===(nt=tt(e)))return{id:e,type:"not-found"};null!=t&&ut(t),function(e){var t=e.hooks,n=e.id,i=e.props,o=ie.get(n);if(null!=o){var u=o.elementType,a=o.stateNode,l=o.tag,s=o.type;switch(l){case v:case S:case C:r.$r=a;break;case h:r.$r={hooks:t,props:i,type:s};break;case _:r.$r={props:i,type:s.render};break;case k:case x:r.$r={props:i,type:null!=u&&null!=u.type?u.type:s};break;default:r.$r=null}}else console.warn('Could not find Fiber with id "'.concat(n,'"'))}(nt);var i=Ie({},nt);return i.context=Ce(i.context,at("context",null)),i.hooks=Ce(i.hooks,at("hooks","hooks")),i.props=Ce(i.props,at("props",null)),i.state=Ce(i.state,at("state",null)),{id:e,type:"full-data",value:i}},logElementToConsole:function(e){var t=ot(e)?nt:tt(e);if(null!==t){var n="function"==typeof console.groupCollapsed;n&&console.groupCollapsed("[Click to expand] %c<".concat(t.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),null!==t.props&&console.log("Props:",t.props),null!==t.state&&console.log("State:",t.state),null!==t.hooks&&console.log("Hooks:",t.hooks);var r=Je(e);null!==r&&console.log("Nodes:",r),null!==t.source&&console.log("Location:",t.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),n&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(e,'"'))},prepareViewAttributeSource:function(e,t){ot(e)&&(window.$attribute=de(nt,t))},prepareViewElementSource:function(e){var t=ie.get(e);if(null!=t){var n=t.elementType,i=t.tag,o=t.type;switch(i){case v:case S:case C:case h:r.$type=o;break;case _:r.$type=o.render;break;case k:case x:r.$type=null!=n&&null!=n.type?n.type:o;break;default:r.$type=null}}else console.warn('Could not find Fiber with id "'.concat(e,'"'))},overrideSuspense:function(e,t){if("function"!=typeof H||"function"!=typeof V)throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");t?(wt.add(e),1===wt.size&&H(Et)):(wt.delete(e),0===wt.size&&H(bt));var n=ie.get(e);null!=n&&V(n)},overrideValueAtPath:function(e,t,n,r,i){var o=et(t);if(null!==o){var u=o.stateNode;switch(e){case"context":switch(r=r.slice(1),o.tag){case v:0===r.length?u.context=i:ve(u.context,r,i),u.forceUpdate()}break;case"hooks":"function"==typeof L&&L(o,n,r,i);break;case"props":switch(o.tag){case v:o.pendingProps=Ae(u.props,r,i),u.forceUpdate();break;default:"function"==typeof U&&U(o,r,i)}break;case"state":switch(o.tag){case v:ve(u.state,r,i),u.forceUpdate()}}}},renamePath:function(e,t,n,r,i){var o=et(t);if(null!==o){var u=o.stateNode;switch(e){case"context":switch(r=r.slice(1),i=i.slice(1),o.tag){case v:0===r.length||he(u.context,r,i),u.forceUpdate()}break;case"hooks":"function"==typeof j&&j(o,n,r,i);break;case"props":null===u?"function"==typeof W&&W(o,r,i):(o.pendingProps=xe(u.props,r,i),u.forceUpdate());break;case"state":he(u.state,r,i),u.forceUpdate()}}},renderer:n,setTraceUpdatesEnabled:function(e){Q=e},setTrackedPath:Tt,startProfiling:_t,stopProfiling:function(){vt=!1,gt=!1},storeAsGlobal:function(e,t,n){if(ot(e)){var r=de(nt,t),i="$reactTemp".concat(n);window[i]=r,console.log(i),console.log(r)}},updateComponentFilters:function(n){if(vt)throw Error("Cannot modify filter preferences while profiling");e.getFiberRoots(t).forEach((function(e){le=se(ne(e.current)),Ye(e.current),Ge(e.current,!1),le=-1})),Z(n),At.clear(),e.getFiberRoots(t).forEach((function(e){Ot(le=se(ne(e.current)),e.current),$e(e.current,null,!1,!1),Ve(),le=-1}))}}}function qe(e){return(qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ge(e,t,n){if(void 0===ze)try{throw Error()}catch(e){var r=e.stack.trim().match(/\n( *(at )?)/);ze=r&&r[1]||""}return"\n"+ze+e}var $e=!1;function Ye(e,t,n){if(!e||$e)return"";var r,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,$e=!0;var o=n.current;n.current=null;try{if(t){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),"object"===("undefined"==typeof Reflect?"undefined":qe(Reflect))&&Reflect.construct){try{Reflect.construct(u,[])}catch(e){r=e}Reflect.construct(e,[],u)}else{try{u.call()}catch(e){r=e}e.call(u.prototype)}}else{try{throw Error()}catch(e){r=e}e()}}catch(e){if(e&&r&&"string"==typeof e.stack){for(var a=e.stack.split("\n"),l=r.stack.split("\n"),s=a.length-1,c=l.length-1;s>=1&&c>=0&&a[s]!==l[c];)c--;for(;s>=1&&c>=0;s--,c--)if(a[s]!==l[c]){if(1!==s||1!==c)do{if(s--,--c<0||a[s]!==l[c])return"\n"+a[s].replace(" at new "," at ")}while(s>=1&&c>=0);break}}}finally{$e=!1,Error.prepareStackTrace=i,n.current=o}var f=e?e.displayName||e.name:"";return f?Ge(f):""}function Ke(e,t,n,r){return Ye(e,!1,r)}function Xe(e,t,n){var r=e.HostComponent,i=e.LazyComponent,o=e.SuspenseComponent,u=e.SuspenseListComponent,a=e.FunctionComponent,l=e.IndeterminateComponent,s=e.SimpleMemoComponent,c=e.ForwardRef,f=e.Block,d=e.ClassComponent;switch(t.tag){case r:return Ge(t.type);case i:return Ge("Lazy");case o:return Ge("Suspense");case u:return Ge("SuspenseList");case a:case l:case s:return Ke(t.type,0,0,n);case c:return Ke(t.type.render,0,0,n);case f:return Ke(t.type._render,0,0,n);case d:return function(e,t,n,r){return Ye(e,!0,r)}(t.type,0,0,n);default:return""}}function Qe(e,t,n){try{var r="",i=t;do{r+=Xe(e,i,n),i=i.return}while(i);return r}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function Je(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ze(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,o=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw o}}}}function Ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?r[r.length-1]:null,u=null!==o&&(tt.test(o)||nt.test(o));if(!u){var a,l=Je(rt.values());try{for(l.s();!(a=l.n()).done;){var s=a.value,c=s.currentDispatcherRef,f=s.getCurrentFiber,d=s.workTagMap,p=f();if(null!=p){var h=Qe(d,p,c);""!==h&&r.push(h);break}}}catch(e){l.e(e)}finally{l.f()}}}catch(e){}t.apply(void 0,r)};n.__REACT_DEVTOOLS_ORIGINAL_METHOD__=t,it[e]=n}catch(e){}}))}}function ft(e){return(ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dt(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:d,n=void 0,r=[],i=void 0,o=!1,u=function(e,n){return t(e,r[n])},a=function(){for(var t=arguments.length,a=Array(t),l=0;le.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?t-1:0),r=1;r0?"development":"production";var t=Function.prototype.toString;if(e.Mount&&e.Mount._renderNewRootComponent){var n=t.call(e.Mount._renderNewRootComponent);return 0!==n.indexOf("function")?"production":-1!==n.indexOf("storedMeasure")?"development":-1!==n.indexOf("should be a pure function")?-1!==n.indexOf("NODE_ENV")||-1!==n.indexOf("development")||-1!==n.indexOf("true")?"development":-1!==n.indexOf("nextElement")||-1!==n.indexOf("nextComponent")?"unminified":"development":-1!==n.indexOf("nextElement")||-1!==n.indexOf("nextComponent")?"unminified":"outdated"}}catch(e){}return"production"}(r);try{var l=!1!==window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__,s=!0===window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__;(l||s)&&(lt(r),ct({appendComponentStack:l,breakOnConsoleErrors:s}))}catch(e){}var c=e.__REACT_DEVTOOLS_ATTACH__;if("function"==typeof c){var f=c(a,i,r,e);a.rendererInterfaces.set(i,f)}return a.emit("renderer",{id:i,renderer:r,reactBuildType:o}),i},on:function(e,t){o[e]||(o[e]=[]),o[e].push(t)},off:function(e,t){if(o[e]){var n=o[e].indexOf(t);-1!==n&&o[e].splice(n,1),o[e].length||delete o[e]}},sub:function(e,t){return a.on(e,t),function(){return a.off(e,t)}},supportsFiber:!0,checkDCE:function(e){try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&(n=!0,setTimeout((function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")})))}catch(e){}},onCommitFiberUnmount:function(e,t){var n=i.get(e);null!=n&&n.handleCommitFiberUnmount(t)},onCommitFiberRoot:function(e,t,n){var r=a.getFiberRoots(e),o=t.current,u=r.has(t),l=null==o.memoizedState||null==o.memoizedState.element;u||l?u&&l&&r.delete(t):r.add(t);var s=i.get(e);null!=s&&s.handleCommitFiberRoot(t,n)}};Object.defineProperty(e,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return a}})}(window);var $t=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Yt=[{type:1,value:7,isEnabled:!0}];function Kt(e){if(null!=$t){var t=e||{},n=t.host,r=void 0===n?"localhost":n,i=t.nativeStyleEditorValidAttributes,o=t.useHttps,u=void 0!==o&&o,a=t.port,l=void 0===a?8097:a,s=t.websocket,c=t.resolveRNStyle,f=void 0===c?null:c,d=t.isAppActive,p=u?"wss":"ws",h=null;if((void 0===d?function(){return!0}:d)()){var v=null,m=[],g=p+"://"+r+":"+l,y=s||new window.WebSocket(g);y.onclose=function(){null!==v&&v.emit("shutdown"),_()},y.onerror=function(){_()},y.onmessage=function(e){var t;try{if("string"!=typeof e.data)throw Error();t=JSON.parse(e.data)}catch(t){return void console.error("[React DevTools] Failed to parse JSON: "+e.data)}m.forEach((function(e){try{e(t)}catch(e){throw console.log("[React DevTools] Error calling listener",t),console.log("error:",e),e}}))},y.onopen=function(){(v=new xt({listen:function(e){return m.push(e),function(){var t=m.indexOf(e);t>=0&&m.splice(t,1)}},send:function(e,t,n){y.readyState===y.OPEN?y.send(JSON.stringify({event:e,payload:t})):(null!==v&&v.shutdown(),_())}})).addListener("inspectElement",(function(t){var n=t.id,r=t.rendererID,i=e.rendererInterfaces[r];if(null!=i){var o=i.findNativeNodesForFiberID(n);null!=o&&null!=o[0]&&e.emit("showNativeHighlight",o[0])}})),v.addListener("updateComponentFilters",(function(e){Yt=e})),null==window.__REACT_DEVTOOLS_COMPONENT_FILTERS__&&v.send("overrideComponentFilters",Yt);var e=new yt(v);if(e.addListener("shutdown",(function(){$t.emit("shutdown")})),function(e,t,n){if(null==e)return function(){};var r=[e.sub("renderer-attached",(function(e){var n=e.id,r=(e.renderer,e.rendererInterface);t.setRendererInterface(n,r),r.flushInitialOperations()})),e.sub("unsupported-renderer-version",(function(e){t.onUnsupportedRenderer(e)})),e.sub("operations",t.onHookOperations),e.sub("traceUpdates",t.onTraceUpdates)],i=function(t,r){var i=e.rendererInterfaces.get(t);null==i&&("function"==typeof r.findFiberByHostInstance?i=Ve(e,t,r,n):r.ComponentTree&&(i=function(e,t,n,r){var i,o=new Map,u=new WeakMap,a=new WeakMap,l=null;function s(e){if("object"!==Rt(e)||null===e)throw new Error("Invalid internal instance: "+e);if(!u.has(e)){var t=ce();u.set(e,t),o.set(t,e)}return u.get(e)}function c(e,t){if(e.length!==t.length)return!1;for(var n=0;n0?f[f.length-1]:0),f.push(i),a.set(n,s(r._topLevelWrapper));try{var o=e.apply(this,t);return f.pop(),o}catch(e){throw f=[],e}finally{if(0===f.length){var u=a.get(n);if(void 0===u)throw new Error("Expected to find root ID.");w(u)}}},performUpdateIfNecessary:function(e,t){var n=t[0];if(9===Lt(n))return e.apply(this,t);var r=s(n);f.push(r);var i=Bt(n);try{var o=e.apply(this,t),u=Bt(n);return c(i,u)||h(0,r,u),f.pop(),o}catch(e){throw f=[],e}finally{if(0===f.length){var l=a.get(n);if(void 0===l)throw new Error("Expected to find root ID.");w(l)}}},receiveComponent:function(e,t){var n=t[0];if(9===Lt(n))return e.apply(this,t);var r=s(n);f.push(r);var i=Bt(n);try{var o=e.apply(this,t),u=Bt(n);return c(i,u)||h(0,r,u),f.pop(),o}catch(e){throw f=[],e}finally{if(0===f.length){var l=a.get(n);if(void 0===l)throw new Error("Expected to find root ID.");w(l)}}},unmountComponent:function(e,t){var n=t[0];if(9===Lt(n))return e.apply(this,t);var r=s(n);f.push(r);try{var i=e.apply(this,t);return f.pop(),function(e,t){y.push(t),o.delete(t)}(0,r),i}catch(e){throw f=[],e}finally{if(0===f.length){var u=a.get(n);if(void 0===u)throw new Error("Expected to find root ID.");w(u)}}}}));var m=[],g=new Map,y=[],_=0,b=null;function w(n){if(0!==m.length||0!==y.length||null!==b){var r=y.length+(null===b?0:1),i=new Array(3+_+(r>0?2+r:0)+m.length),o=0;if(i[o++]=t,i[o++]=n,i[o++]=_,g.forEach((function(e,t){i[o++]=t.length;for(var n=fe(t),r=0;r0){i[o++]=2,i[o++]=r;for(var u=0;u"),"color: var(--dom-tag-name-color); font-weight: normal;"),null!==t.props&&console.log("Props:",t.props),null!==t.state&&console.log("State:",t.state),null!==t.context&&console.log("Context:",t.context);var r=i(e);null!==r&&console.log("Node:",r),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),n&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(e,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(e,t,n,r,i){var u=o.get(t);if(null!=u){var a=u._instance;if(null!=a)switch(e){case"context":ve(a.context,r,i),Pt(a);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var l=u._currentElement;u._currentElement=Nt(Nt({},l),{},{props:Ae(l.props,r,i)}),Pt(a);break;case"state":ve(a.state,r,i),Pt(a)}}},renamePath:function(e,t,n,r,i){var u=o.get(t);if(null!=u){var a=u._instance;if(null!=a)switch(e){case"context":he(a.context,r,i),Pt(a);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var l=u._currentElement;u._currentElement=Nt(Nt({},l),{},{props:xe(l.props,r,i)}),Pt(a);break;case"state":he(a.state,r,i),Pt(a)}}},prepareViewAttributeSource:function(e,t){var n=T(e);null!==n&&(window.$attribute=de(n,t))},prepareViewElementSource:function(e){var t=o.get(e);if(null!=t){var n=t._currentElement;null!=n?r.$type=n.type:console.warn('Could not find element with id "'.concat(e,'"'))}else console.warn('Could not find instance with id "'.concat(e,'"'))},renderer:n,setTraceUpdatesEnabled:function(e){},setTrackedPath:function(e){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(e,t,n){var r=T(e);if(null!==r){var i=de(r,t),o="$reactTemp".concat(n);window[o]=i,console.log(o),console.log(i)}},updateComponentFilters:function(e){}}}(e,t,r,n)),null!=i&&e.rendererInterfaces.set(t,i)),null!=i?e.emit("renderer-attached",{id:t,renderer:r,rendererInterface:i}):e.emit("unsupported-renderer-version",t)};e.renderers.forEach((function(e,t){i(t,e)})),r.push(e.sub("renderer",(function(e){var t=e.id,n=e.renderer;i(t,n)}))),e.emit("react-devtools",t),e.reactDevtoolsAgent=t;var o=function(){r.forEach((function(e){return e()})),e.rendererInterfaces.forEach((function(e){e.cleanup()})),e.reactDevtoolsAgent=null};t.addListener("shutdown",o),r.push((function(){t.removeListener("shutdown",o)}))}($t,e,window),null!=f||null!=$t.resolveRNStyle)Wt(v,e,f||$t.resolveRNStyle,i||$t.nativeStyleEditorValidAttributes||null);else{var t,n,r=function(){null!==v&&Wt(v,e,t,n)};$t.hasOwnProperty("resolveRNStyle")||Object.defineProperty($t,"resolveRNStyle",{enumerable:!1,get:function(){return t},set:function(e){t=e,r()}}),$t.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty($t,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return n},set:function(e){n=e,r()}})}}}else _()}function _(){null===h&&(h=setTimeout((function(){return Kt(e)}),2e3))}}}])},6099:(e,t,n)=>{"use strict"; -/** @license React v16.13.1 - * react.production.min.js + */ +/** @license React v0.18.0 + * scheduler.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var r=n(9381),i="function"==typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,u=i?Symbol.for("react.portal"):60106,a=i?Symbol.for("react.fragment"):60107,l=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.forward_ref"):60112,p=i?Symbol.for("react.suspense"):60113,h=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,m="function"==typeof Symbol&&Symbol.iterator;function g(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nO.length&&O.push(e)}function N(e,t,n){return null==e?0:function e(t,n,r,i){var a=typeof t;"undefined"!==a&&"boolean"!==a||(t=null);var l=!1;if(null===t)l=!0;else switch(a){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case o:case u:l=!0}}if(l)return r(i,t,""===n?"."+M(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s{"use strict";e.exports=n(6099)},3390:(e,t,n)=>{"use strict";const r=n(834),i=n(6458);e.exports=r(()=>{i(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})},706:(e,t)=>{"use strict"; -/** @license React v0.18.0 - * scheduler.production.min.js + */ +/** @license React v0.24.0 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var n,r,i,o,u;if(Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var a=null,l=null,s=function(){if(null!==a)try{var e=t.unstable_now();a(!0,e),a=null}catch(e){throw setTimeout(s,0),e}},c=Date.now();t.unstable_now=function(){return Date.now()-c},n=function(e){null!==a?setTimeout(n,0,e):(a=e,setTimeout(s,0))},r=function(e,t){l=setTimeout(e,t)},i=function(){clearTimeout(l)},o=function(){return!1},u=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,d=window.Date,p=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var v=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof v&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof f&&"function"==typeof f.now)t.unstable_now=function(){return f.now()};else{var m=d.now();t.unstable_now=function(){return d.now()-m}}var g=!1,y=null,_=-1,b=5,w=0;o=function(){return t.unstable_now()>=w},u=function(){},t.unstable_forceFrameRate=function(e){0>e||125T(u,n))void 0!==l&&0>T(l,u)?(e[r]=l,e[a]=n,r=a):(e[r]=u,e[o]=n,r=o);else{if(!(void 0!==l&&0>T(l,n)))break e;e[r]=l,e[a]=n,r=a}}}return t}return null}function T(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var x=[],A=[],O=1,P=null,I=3,N=!1,M=!1,R=!1;function F(e){for(var t=C(A);null!==t;){if(null===t.callback)k(A);else{if(!(t.startTime<=e))break;k(A),t.sortIndex=t.expirationTime,S(x,t)}t=C(A)}}function L(e){if(R=!1,F(e),!M)if(null!==C(x))M=!0,n(B);else{var t=C(A);null!==t&&r(L,t.startTime-e)}}function B(e,n){M=!1,R&&(R=!1,i()),N=!0;var u=I;try{for(F(n),P=C(x);null!==P&&(!(P.expirationTime>n)||e&&!o());){var a=P.callback;if(null!==a){P.callback=null,I=P.priorityLevel;var l=a(P.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?P.callback=l:P===C(x)&&k(x),F(n)}else k(x);P=C(x)}if(null!==P)var s=!0;else{var c=C(A);null!==c&&r(L,c.startTime-n),s=!1}return s}finally{P=null,I=u,N=!1}}function j(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var U=u;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_scheduleCallback=function(e,o,u){var a=t.unstable_now();if("object"==typeof u&&null!==u){var l=u.delay;l="number"==typeof l&&0a?(e.sortIndex=l,S(A,e),null===C(x)&&e===C(A)&&(R?i():R=!0,r(L,l-a))):(e.sortIndex=u,S(x,e),M||N||(M=!0,n(B))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_shouldYield=function(){var e=t.unstable_now();F(e);var n=C(x);return n!==P&&null!==P&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime{"use strict";e.exports=n(706)},6458:(e,t,n)=>{var r,i=n(2357),o=n(8082),u=n(8614);function a(){c&&(c=!1,o.forEach((function(e){try{process.removeListener(e,s[e])}catch(e){}})),process.emit=h,process.reallyExit=d,r.count-=1)}function l(e,t,n){r.emitted[e]||(r.emitted[e]=!0,r.emit(e,t,n))}"function"!=typeof u&&(u=u.EventEmitter),process.__signal_exit_emitter__?r=process.__signal_exit_emitter__:((r=process.__signal_exit_emitter__=new u).count=0,r.emitted={}),r.infinite||(r.setMaxListeners(1/0),r.infinite=!0),e.exports=function(e,t){i.equal(typeof e,"function","a callback must be provided for exit handler"),!1===c&&f();var n="exit";t&&t.alwaysLast&&(n="afterexit");return r.on(n,e),function(){r.removeListener(n,e),0===r.listeners("exit").length&&0===r.listeners("afterexit").length&&a()}},e.exports.unload=a;var s={};o.forEach((function(e){s[e]=function(){process.listeners(e).length===r.count&&(a(),l("exit",null,e),l("afterexit",null,e),process.kill(process.pid,e))}})),e.exports.signals=function(){return o},e.exports.load=f;var c=!1;function f(){c||(c=!0,r.count+=1,o=o.filter((function(e){try{return process.on(e,s[e]),!0}catch(e){return!1}})),process.emit=v,process.reallyExit=p)}var d=process.reallyExit;function p(e){process.exitCode=e||0,l("exit",process.exitCode,null),l("afterexit",process.exitCode,null),d.call(process,process.exitCode)}var h=process.emit;function v(e,t){if("exit"===e){void 0!==t&&(process.exitCode=t);var n=h.apply(this,arguments);return l("exit",process.exitCode,null),l("afterexit",process.exitCode,null),n}return h.apply(this,arguments)}},8082:e=>{e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")},1566:(e,t,n)=>{"use strict";const r=n(7347),i=n(409),o=n(8483),u=["","›"],a=e=>`${u[0]}[${e}m`,l=(e,t,n)=>{let r=[];e=[...e];for(let n of e){const i=n;n.match(";")&&(n=n.split(";")[0][0]+"0");const u=o.codes.get(parseInt(n,10));if(u){const n=e.indexOf(u.toString());n>=0?e.splice(n,1):r.push(a(t?u:i))}else{if(t){r.push(a(0));break}r.push(a(i))}}if(t&&(r=r.filter((e,t)=>r.indexOf(e)===t),void 0!==n)){const e=a(o.codes.get(parseInt(n,10)));r=r.reduce((t,n)=>n===e?[n,...t]:[...t,n],[])}return r.join("")};e.exports=(e,t,n)=>{const o=[...e.normalize()],a=[];n="number"==typeof n?n:o.length;let s,c=!1,f=0,d="";for(const[p,h]of o.entries()){let o=!1;if(u.includes(h)){const t=/\d[^m]*/.exec(e.slice(p,p+18));s=t&&t.length>0?t[0]:void 0,ft&&f<=n)d+=h;else if(f!==t||c||void 0===s){if(f>=n){d+=l(a,!0,s);break}}else d=l(a)}return d}},9796:(e,t,n)=>{"use strict";const r=n(8759),i=[].concat(n(2282).builtinModules,"bootstrap_node","node").map(e=>new RegExp(`(?:\\(${e}\\.js:\\d+:\\d+\\)$|^\\s*at ${e}\\.js:\\d+:\\d+$)`));i.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);class o{constructor(e){"internals"in(e={ignoredPackages:[],...e})==!1&&(e.internals=o.nodeInternals()),"cwd"in e==!1&&(e.cwd=process.cwd()),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,function(e){if(0===e.length)return[];const t=e.map(e=>r(e));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${t.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...i]}clean(e,t=0){t=" ".repeat(t),Array.isArray(e)||(e=e.split("\n")),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let n=!1,r=null;const i=[];return e.forEach(e=>{if(e=e.replace(/\\/g,"/"),this._internals.some(t=>t.test(e)))return;const t=/^\s*at /.test(e);n?e=e.trimEnd().replace(/^(\s+)at /,"$1"):(e=e.trim(),t&&(e=e.slice(3))),(e=e.replace(this._cwd+"/",""))&&(t?(r&&(i.push(r),r=null),i.push(e)):(n=!0,r=e))}),i.map(e=>`${t}${e}\n`).join("")}captureString(e,t=this.captureString){"function"==typeof e&&(t=e,e=1/0);const{stackTraceLimit:n}=Error;e&&(Error.stackTraceLimit=e);const r={};Error.captureStackTrace(r,t);const{stack:i}=r;return Error.stackTraceLimit=n,this.clean(i)}capture(e,t=this.capture){"function"==typeof e&&(t=e,e=1/0);const{prepareStackTrace:n,stackTraceLimit:r}=Error;Error.prepareStackTrace=(e,t)=>this._wrapCallSite?t.map(this._wrapCallSite):t,e&&(Error.stackTraceLimit=e);const i={};Error.captureStackTrace(i,t);const{stack:o}=i;return Object.assign(Error,{prepareStackTrace:n,stackTraceLimit:r}),o}at(e=this.at){const[t]=this.capture(1,e);if(!t)return{};const n={line:t.getLineNumber(),column:t.getColumnNumber()};let r;u(n,t.getFileName(),this._cwd),t.isConstructor()&&(n.constructor=!0),t.isEval()&&(n.evalOrigin=t.getEvalOrigin()),t.isNative()&&(n.native=!0);try{r=t.getTypeName()}catch(e){}r&&"Object"!==r&&"[object Object]"!==r&&(n.type=r);const i=t.getFunctionName();i&&(n.function=i);const o=t.getMethodName();return o&&i!==o&&(n.method=o),n}parseLine(e){const t=e&&e.match(a);if(!t)return null;const n="new"===t[1];let r=t[2];const i=t[3],o=t[4],s=Number(t[5]),c=Number(t[6]);let f=t[7];const d=t[8],p=t[9],h="native"===t[10],v=")"===t[11];let m;const g={};if(d&&(g.line=Number(d)),p&&(g.column=Number(p)),v&&f){let e=0;for(let t=f.length-1;t>0;t--)if(")"===f.charAt(t))e++;else if("("===f.charAt(t)&&" "===f.charAt(t-1)&&(e--,-1===e&&" "===f.charAt(t-1))){const e=f.slice(0,t-1),n=f.slice(t+1);f=n,r+=" ("+e;break}}if(r){const e=r.match(l);e&&(r=e[1],m=e[2])}return u(g,f,this._cwd),n&&(g.constructor=!0),i&&(g.evalOrigin=i,g.evalLine=s,g.evalColumn=c,g.evalFile=o&&o.replace(/\\/g,"/")),h&&(g.native=!0),r&&(g.function=r),m&&r!==m&&(g.method=m),g}}function u(e,t,n){t&&((t=t.replace(/\\/g,"/")).startsWith(n+"/")&&(t=t.slice(n.length+1)),e.file=t)}const a=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),l=/^(.*?) \[as (.*?)\]$/;e.exports=o},3262:(e,t,n)=>{"use strict";const r=n(7402),i=n(5640),o=e=>r(e).replace(i()," ").length;e.exports=o,e.exports.default=o},5043:(e,t,n)=>{"use strict";const r=n(7915),i=n(7347),o=n(1013),u=e=>{if("string"!=typeof(e=e.replace(o()," "))||0===e.length)return 0;e=r(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=i(r)?2:1))}return t};e.exports=u,e.exports.default=u},7402:(e,t,n)=>{"use strict";const r=n(5378),i=e=>"string"==typeof e?e.replace(r(),""):e;e.exports=i,e.exports.default=i},7915:(e,t,n)=>{"use strict";const r=n(1337);e.exports=e=>"string"==typeof e?e.replace(r(),""):e},9428:(e,t,n)=>{"use strict";const r=n(2087),i=n(3867),o=n(2918),{env:u}=process;let a;function l(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function s(e,t){if(0===a)return 0;if(o("color=16m")||o("color=full")||o("color=truecolor"))return 3;if(o("color=256"))return 2;if(e&&!t&&void 0===a)return 0;const n=a||0;if("dumb"===u.TERM)return n;if("win32"===process.platform){const e=r.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in u)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in u)||"codeship"===u.CI_NAME?1:n;if("TEAMCITY_VERSION"in u)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in u)return 1;if("truecolor"===u.COLORTERM)return 3;if("TERM_PROGRAM"in u){const e=parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(u.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)||"COLORTERM"in u?1:n}o("no-color")||o("no-colors")||o("color=false")||o("color=never")?a=0:(o("color")||o("colors")||o("color=true")||o("color=always"))&&(a=1),"FORCE_COLOR"in u&&(a="true"===u.FORCE_COLOR?1:"false"===u.FORCE_COLOR?0:0===u.FORCE_COLOR.length?1:Math.min(parseInt(u.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return l(s(e,e&&e.isTTY))},stdout:l(s(!0,i.isatty(1))),stderr:l(s(!0,i.isatty(2)))}},8949:(e,t,n)=>{"use strict";const r=n(5043),i=e=>{let t=0;for(const n of e.split("\n"))t=Math.max(t,r(n));return t};e.exports=i,e.exports.default=i},4332:(e,t,n)=>{"use strict";const r=n(5043),i=n(7915),o=n(8483),u=new Set(["","›"]),a=e=>`${u.values().next().value}[${e}m`,l=(e,t,n)=>{const o=[...t];let a=!1,l=r(i(e[e.length-1]));for(const[t,i]of o.entries()){const s=r(i);if(l+s<=n?e[e.length-1]+=i:(e.push(i),l=0),u.has(i))a=!0;else if(a&&"m"===i){a=!1;continue}a||(l+=s,l===n&&t0&&e.length>1&&(e[e.length-2]+=e.pop())},s=e=>{const t=e.split(" ");let n=t.length;for(;n>0&&!(r(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(" ")+t.slice(n).join("")},c=(e,t,n={})=>{if(!1!==n.trim&&""===e.trim())return"";let i,c="",f="";const d=(e=>e.split(" ").map(e=>r(e)))(e);let p=[""];for(const[i,o]of e.split(" ").entries()){!1!==n.trim&&(p[p.length-1]=p[p.length-1].trimLeft());let e=r(p[p.length-1]);if(0!==i&&(e>=t&&(!1===n.wordWrap||!1===n.trim)&&(p.push(""),e=0),(e>0||!1===n.trim)&&(p[p.length-1]+=" ",e++)),n.hard&&d[i]>t){const n=t-e,r=1+Math.floor((d[i]-n-1)/t);Math.floor((d[i]-1)/t)t&&e>0&&d[i]>0){if(!1===n.wordWrap&&et&&!1===n.wordWrap?l(p,o,t):p[p.length-1]+=o}}!1!==n.trim&&(p=p.map(s)),c=p.join("\n");for(const[e,t]of[...c].entries()){if(f+=t,u.has(t)){const t=parseFloat(/\d[^m]*/.exec(c.slice(e,e+4)));i=39===t?null:t}const n=o.codes.get(Number(i));i&&n&&("\n"===c[e+1]?f+=a(n):"\n"===t&&(f+=a(i)))}return f};e.exports=(e,t,n)=>String(e).normalize().replace(/\r\n/g,"\n").split("\n").map(e=>c(e,t,n)).join("\n")},3354:function(module,exports){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,wrapper;wrapper=function(Module,cb){var Module;"function"==typeof Module&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(e,t){return function(){e&&e.apply(this,arguments);try{Module.ccall("nbind_init")}catch(e){return void t(e)}t(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb),Module||(Module=(void 0!==Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1,nodeFS,nodePath;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE)Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn),Module.read=function(e,t){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var n=nodeFS.readFileSync(e);return t?n:n.toString()},Module.readBinary=function(e){var t=Module.read(e,!0);return t.buffer||(t=new Uint8Array(t)),assert(t.buffer),t},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),module.exports=Module,Module.inspect=function(){return"[Emscripten Module object]"};else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,t){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),Module.readAsync=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8==0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return"double"===t||"i64"===t?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,t,n){return n||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,n){return n&&n.length?Module["dynCall_"+e].apply(null,[t].concat(n)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t>2],n=-16&(t+e+15|0);return HEAP32[DYNAMICTOP_PTR>>2]=n,n>=TOTAL_MEMORY&&!enlargeMemory()?(HEAP32[DYNAMICTOP_PTR>>2]=t,0):t},alignMemory:function(e,t){return e=Math.ceil(e/(t||16))*(t||16)},makeBigInt:function(e,t,n){return n?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0,cwrap,ccall;function assert(e,t){e||abort("Assertion failed: "+t)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,t,n,r){switch("*"===(n=n||"i8").charAt(n.length-1)&&(n="i32"),n){case"i1":case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+n)}}function getValue(e,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;if(null!=e&&0!==e){var n=1+(e.length<<2);stringToUTF8(e,t=Runtime.stackAlloc(n),n)}return t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,n,r,i){var o=getCFunc(e),u=[],a=0;if(r)for(var l=0;l>2]=0;for(l=u+o;r>0]=0;return u}if("i8"===a)return e.subarray||e.slice?HEAPU8.set(e,u):HEAPU8.set(new Uint8Array(e),u),u;for(var s,c,f,d=0;d>0],(0!=n||t)&&(i++,!t||i!=t););t||(t=i);var o="";if(r<128){for(var u;t>0;)u=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,1024))),o=o?o+u:u,e+=1024,t-=1024;return o}return Module.UTF8ToString(e)}function AsciiToString(e){for(var t="";;){var n=HEAP8[e++>>0];if(!n)return t;t+=String.fromCharCode(n)}}function stringToAscii(e,t){return writeAsciiToMemory(e,t,!1)}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,t){for(var n=t;e[n];)++n;if(n-t>16&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,n));for(var r,i,o,u,a,l="";;){if(!(r=e[t++]))return l;if(128&r)if(i=63&e[t++],192!=(224&r))if(o=63&e[t++],224==(240&r)?r=(15&r)<<12|i<<6|o:(u=63&e[t++],240==(248&r)?r=(7&r)<<18|i<<12|o<<6|u:(a=63&e[t++],r=248==(252&r)?(3&r)<<24|i<<18|o<<12|u<<6|a:(1&r)<<30|i<<24|o<<18|u<<12|a<<6|63&e[t++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|i);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,t,n,r){if(!(r>0))return 0;for(var i=n,o=n+r-1,u=0;u=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++u)),a<=127){if(n>=o)break;t[n++]=a}else if(a<=2047){if(n+1>=o)break;t[n++]=192|a>>6,t[n++]=128|63&a}else if(a<=65535){if(n+2>=o)break;t[n++]=224|a>>12,t[n++]=128|a>>6&63,t[n++]=128|63&a}else if(a<=2097151){if(n+3>=o)break;t[n++]=240|a>>18,t[n++]=128|a>>12&63,t[n++]=128|a>>6&63,t[n++]=128|63&a}else if(a<=67108863){if(n+4>=o)break;t[n++]=248|a>>24,t[n++]=128|a>>18&63,t[n++]=128|a>>12&63,t[n++]=128|a>>6&63,t[n++]=128|63&a}else{if(n+5>=o)break;t[n++]=252|a>>30,t[n++]=128|a>>24&63,t[n++]=128|a>>18&63,t[n++]=128|a>>12&63,t[n++]=128|a>>6&63,t[n++]=128|63&a}}return t[n]=0,n-i}function stringToUTF8(e,t,n){return stringToUTF8Array(e,HEAPU8,t,n)}function lengthBytesUTF8(e){for(var t=0,n=0;n=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),r<=127?++t:t+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return t}Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;function demangle(e){var t=Module.___cxa_demangle||Module.__cxa_demangle;if(t){try{var n=e.substr(1),r=lengthBytesUTF8(n)+1,i=_malloc(r);stringToUTF8(n,i,r);var o=_malloc(4),u=t(i,0,0,o);if(0===getValue(o,"i32")&&u)return Pointer_stringify(u)}catch(e){}finally{i&&_free(i),o&&_free(o),u&&_free(u)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),demangleAll(e)}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}Module.stackTrace=stackTrace,STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;function getTotalMemory(){return TOTAL_MEMORY}if(TOTAL_MEMORY0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Module.dynCall_v(n):Module.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t()}}Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,n){var r=n>0?n:lengthBytesUTF8(e)+1,i=new Array(r),o=stringToUTF8Array(e,i,0,i.length);return t&&(i.length=o),i}function intArrayToString(e){for(var t=[],n=0;n255&&(r&=255),t.push(String.fromCharCode(r))}return t.join("")}function writeStringToMemory(e,t,n){var r,i;Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),n&&(i=t+lengthBytesUTF8(e),r=HEAP8[i]),stringToUTF8(e,t,1/0),n&&(HEAP8[i]=r)}function writeArrayToMemory(e,t){HEAP8.set(e,t)}function writeAsciiToMemory(e,t,n){for(var r=0;r>0]=e.charCodeAt(r);n||(HEAP8[t>>0]=0)}if(Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,t){var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(e){return froundBuffer[0]=e,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(e,t,n,r,i,o,u,a){return _nbind.callbackSignatureList[e].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(e,t,n,r,i,o,u,a){return ASM_CONSTS[e](t,n,r,i,o,u,a)}function _emscripten_asm_const_iiiii(e,t,n,r,i){return ASM_CONSTS[e](t,n,r,i)}function _emscripten_asm_const_iiidddddd(e,t,n,r,i,o,u,a,l){return ASM_CONSTS[e](t,n,r,i,o,u,a,l)}function _emscripten_asm_const_iiididi(e,t,n,r,i,o,u){return ASM_CONSTS[e](t,n,r,i,o,u)}function _emscripten_asm_const_iiii(e,t,n,r){return ASM_CONSTS[e](t,n,r)}function _emscripten_asm_const_iiiid(e,t,n,r,i){return ASM_CONSTS[e](t,n,r,i)}function _emscripten_asm_const_iiiiii(e,t,n,r,i,o){return ASM_CONSTS[e](t,n,r,i,o)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;function _atexit(e,t){__ATEXIT__.unshift({func:e,arg:t})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(e,t,n,r){var i,o=arguments.length,u=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(u=(o<3?i(u):o>3?i(t,n,u):i(t,n))||u);return o>3&&u&&Object.defineProperty(t,n,u),u}function _defineHidden(e){return function(t,n){Object.defineProperty(t,n,{configurable:!1,enumerable:!1,value:e,writable:!0})}}STATICTOP+=16;var _nbind={};function __nbind_free_external(e){_nbind.externalList[e].dereference(e)}function __nbind_reference_external(e){_nbind.externalList[e].reference()}function _llvm_stackrestore(e){var t=_llvm_stacksave,n=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runtime.stackRestore(n)}function __nbind_register_pool(e,t,n,r){_nbind.Pool.pageSize=e,_nbind.Pool.usedPtr=t/4,_nbind.Pool.rootPtr=n,_nbind.Pool.pagePtr=r/4,HEAP32[t/4]=16909060,1==HEAP8[t]&&(_nbind.bigEndian=!0),HEAP32[t/4]=0,_nbind.makeTypeKindTbl=((i={})[1024]=_nbind.PrimitiveType,i[64]=_nbind.Int64Type,i[2048]=_nbind.BindClass,i[3072]=_nbind.BindClassPtr,i[4096]=_nbind.SharedClassPtr,i[5120]=_nbind.ArrayType,i[6144]=_nbind.ArrayType,i[7168]=_nbind.CStringType,i[9216]=_nbind.CallbackType,i[10240]=_nbind.BindType,i),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var i,o=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});o.proto=Module,_nbind.BindClass.list.push(o)}function _emscripten_set_main_loop_timing(e,t){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=t,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){var e=0|Math.max(0,Browser.mainLoop.tickStartTime+t-_emscripten_get_now());setTimeout(Browser.mainLoop.runner,e)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var n=[];window.addEventListener("message",(function(e){e.source===window&&"setimmediate"===e.data&&(e.stopPropagation(),n.shift()())}),!0),window.setImmediate=function(e){n.push(e),ENVIRONMENT_IS_WORKER?(void 0===Module.setImmediates&&(Module.setImmediates=[]),Module.setImmediates.push(e),window.postMessage({target:"setimmediate"})):window.postMessage("setimmediate","*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(e,t,n,r,i){var o;Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=r,o=void 0!==r?function(){Module.dynCall_vi(e,r)}:function(){Module.dynCall_v(e)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT)if(Browser.mainLoop.queue.length>0){var e=Date.now(),t=Browser.mainLoop.queue.shift();if(t.func(t.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,r=n%1==0?n-1:Math.floor(n);t.counted?Browser.mainLoop.remainingBlockers=r:(r+=.5,Browser.mainLoop.remainingBlockers=(8*n+r)/9)}if(console.log('main loop blocker "'+t.name+'" took '+(Date.now()-e)+" ms"),Browser.mainLoop.updateStatus(),u1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():(0==Browser.mainLoop.timingMode&&(Browser.mainLoop.tickStartTime=_emscripten_get_now()),"timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(o),u0?_emscripten_set_main_loop_timing(0,1e3/t):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),n)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,t=Browser.mainLoop.timingValue,n=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(n,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,t),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",t=Browser.mainLoop.remainingBlockers,n=Browser.mainLoop.expectedBlockers;t?t=6;){var u=r>>i-6&63;i-=6,n+=t[u]}return 2==i?(n+=t[(3&r)<<4],n+="=="):4==i&&(n+=t[(15&r)<<2],n+="="),n}(e),o(s))},s.src=l,Browser.safeSetTimeout((function(){o(s)}),1e4)}};Module.preloadPlugins.push(t);var n=Module.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||function(){},n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&n.addEventListener("click",(function(e){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),e.preventDefault())}),!1))}function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}},createContext:function(e,t,n,r){if(t&&Module.ctx&&e==Module.canvas)return Module.ctx;var i,o;if(t){var u={antialias:!1,alpha:!1};if(r)for(var a in r)u[a]=r[a];(o=GL.createContext(e,u))&&(i=GL.getContext(o).GLctx)}else i=e.getContext("2d");return i?(n&&(t||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=i,t&&GL.makeContextCurrent(o),Module.useWebGL=t,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),i):null},destroyContext:function(e,t,n){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t,n){Browser.lockPointer=e,Browser.resizeCanvas=t,Browser.vrDevice=n,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var r=Module.canvas;function i(){Browser.isFullscreen=!1;var e=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(r.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},r.exitFullscreen=r.exitFullscreen.bind(document),Browser.lockPointer&&r.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(r)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",i,!1),document.addEventListener("mozfullscreenchange",i,!1),document.addEventListener("webkitfullscreenchange",i,!1),document.addEventListener("MSFullscreenChange",i,!1));var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?function(){o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?o.requestFullscreen({vrDisplay:n}):o.requestFullscreen()},requestFullScreen:function(e,t,n){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(e,t,n){return Browser.requestFullscreen(e,t,n)},Browser.requestFullscreen(e,t,n)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=t+1e3/60;else for(;t+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var n=Math.max(Browser.nextRAF-t,0);setTimeout(e,n)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,t){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),t)},safeSetInterval:function(e,t){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),t)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail;break;case"mousewheel":t=e.wheelDelta;break;case"wheel":t=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var t=Module.canvas.getBoundingClientRect(),n=Module.canvas.width,r=Module.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,o=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var u=e.touch;if(void 0===u)return;var a=u.pageX-(i+t.left),l=u.pageY-(o+t.top),s={x:a*=n/t.width,y:l*=r/t.height};if("touchstart"===e.type)Browser.lastTouches[u.identifier]=s,Browser.touches[u.identifier]=s;else if("touchend"===e.type||"touchmove"===e.type){var c=Browser.touches[u.identifier];c||(c=s),Browser.lastTouches[u.identifier]=c,Browser.touches[u.identifier]=s}return}var f=e.pageX-(i+t.left),d=e.pageY-(o+t.top);f*=n/t.width,d*=r/t.height,Browser.mouseMovementX=f-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=f,Browser.mouseY=d}},asyncLoad:function(e,t,n,r){var i=r?"":getUniqueRunDependency("al "+e);Module.readAsync(e,(function(n){assert(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&removeRunDependency(i)}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&addRunDependency(i)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(t){t(e.width,e.height)}))},setCanvasSize:function(e,t,n){var r=Module.canvas;Browser.updateCanvasDimensions(r,e,t),n||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,t,n){t&&n?(e.widthNative=t,e.heightNative=n):(t=e.widthNative,n=e.heightNative);var r=t,i=n;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(r/i>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),t=SYSCALLS.get();return assert(e>=0?0===t:-1===t),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall6(e,t){SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD();return FS.close(n),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,t){SYSCALLS.varargs=t;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _typeModule(e){var t=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function n(e,t,n,r,i,o){if(1==t){var u=896&r;128!=u&&256!=u&&384!=u||(e="X const")}return(o?n.replace("X",e).replace("Y",i):e.replace("X",n).replace("Y",i)).replace(/([*&]) (?=[*&])/g,"$1")}function r(e,t){var n=t.flags,r=896&n,i=15360&n;return t.name||1024!=i||(1==t.ptrSize?t.name=(16&n?"":(8&n?"un":"")+"signed ")+"char":t.name=(8&n?"u":"")+(32&n?"float":"int")+8*t.ptrSize+"_t"),8!=t.ptrSize||32&n||(i=64),2048==i&&(512==r||640==r?i=4096:r&&(i=3072)),e(i,t)}var i={Type:function(){function e(e){this.id=e.id,this.name=e.name,this.flags=e.flags,this.spec=e}return e.prototype.toString=function(){return this.name},e}(),getComplexType:function e(i,o,u,a,l,s,c,f){void 0===s&&(s="X"),void 0===f&&(f=1);var d=u(i);if(d)return d;var p,h=a(i),v=h.placeholderFlag,m=t[v];c&&m&&(s=n(c[2],c[0],s,m[0],"?",!0)),0==v&&(p="Unbound"),v>=10&&(p="Corrupt"),f>20&&(p="Deeply nested"),p&&function(e,t,n,r,i){throw new Error(e+" type "+n.replace("X",t+"?")+(r?" with flag "+r:"")+" in "+i)}(p,i,s,v,l||"?");var g,y=e(h.paramList[0],o,u,a,l,s,m,f+1),_={flags:m[0],id:i,name:"",paramList:[y]},b=[],w="?";switch(h.placeholderFlag){case 1:g=y.spec;break;case 2:if(1024==(15360&y.flags)&&1==y.spec.ptrSize){_.flags=7168;break}case 3:case 6:case 5:g=y.spec,y.flags;break;case 8:w=""+h.paramList[1],_.paramList.push(h.paramList[1]);break;case 9:for(var E=0,D=h.paramList[1];E>2]=e),e}function _llvm_stacksave(){var e=_llvm_stacksave;return e.LLVM_SAVEDSTACKS||(e.LLVM_SAVEDSTACKS=[]),e.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),e.LLVM_SAVEDSTACKS.length-1}function ___syscall140(e,t){SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(),r=(SYSCALLS.get(),SYSCALLS.get()),i=SYSCALLS.get(),o=SYSCALLS.get(),u=r;return FS.llseek(n,u,o),HEAP32[i>>2]=n.position,n.getdents&&0===u&&0===o&&(n.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,t){SYSCALLS.varargs=t;try{var n=SYSCALLS.get(),r=SYSCALLS.get(),i=SYSCALLS.get(),o=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(e,t){var n=___syscall146.buffers[e];assert(n),0===t||10===t?((1===e?Module.print:Module.printErr)(UTF8ArrayToString(n,0)),n.length=0):n.push(t)});for(var u=0;u>2],l=HEAP32[r+(8*u+4)>>2],s=0;se.pageSize/2||t>e.pageSize-n?_nbind.typeNameTbl.NBind.proto.lalloc(t):(HEAPU32[e.usedPtr]=n+t,e.rootPtr+n)},e.lreset=function(t,n){HEAPU32[e.pagePtr]?_nbind.typeNameTbl.NBind.proto.lreset(t,n):HEAPU32[e.usedPtr]=t},e}();function constructType(e,t){var n=new(10240==e?_nbind.makeTypeNameTbl[t.name]||_nbind.BindType:_nbind.makeTypeKindTbl[e])(t);return typeIdTbl[t.id]=n,_nbind.typeNameTbl[t.name]=n,n}function getType(e){return typeIdTbl[e]}function queryType(e){var t=HEAPU8[e],n=_nbind.structureList[t][1];e/=4,n<0&&(++e,n=HEAPU32[e]+1);var r=Array.prototype.slice.call(HEAPU32.subarray(e+1,e+1+n));return 9==t&&(r=[r[0],r.slice(1)]),{paramList:r,placeholderFlag:t}}function getTypes(e,t){return e.map((function(e){return"number"==typeof e?_nbind.getComplexType(e,constructType,getType,queryType,t):_nbind.typeNameTbl[e]}))}function readTypeIdList(e,t){return Array.prototype.slice.call(HEAPU32,e/4,e/4+t)}function readAsciiString(e){for(var t=e;HEAPU8[t++];);return String.fromCharCode.apply("",HEAPU8.subarray(e,t-1))}function readPolicyList(e){var t={};if(e)for(;;){var n=HEAPU32[e/4];if(!n)break;t[readAsciiString(n)]=!0,e+=4}return t}function getDynCall(e,t){var n={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},r=e.map((function(e){return n[e.name]||"i"})).join(""),i=Module["dynCall_"+r];if(!i)throw new Error("dynCall_"+r+" not found for "+t+"("+e.map((function(e){return e.name})).join(", ")+")");return i}function addMethod(e,t,n,r){var i=e[t];e.hasOwnProperty(t)&&i?((i.arity||0===i.arity)&&(i=_nbind.makeOverloader(i,i.arity),e[t]=i),i.addMethod(n,r)):(n.arity=r,e[t]=n)}function throwError(e){throw new Error(e)}_nbind.Pool=Pool,_nbind.constructType=constructType,_nbind.getType=getType,_nbind.queryType=queryType,_nbind.getTypes=getTypes,_nbind.readTypeIdList=readTypeIdList,_nbind.readAsciiString=readAsciiString,_nbind.readPolicyList=readPolicyList,_nbind.getDynCall=getDynCall,_nbind.addMethod=addMethod,_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.heap=HEAPU32,t.ptrSize=4,t}return __extends(t,e),t.prototype.needsWireRead=function(e){return!!this.wireRead||!!this.makeWireRead},t.prototype.needsWireWrite=function(e){return!!this.wireWrite||!!this.makeWireWrite},t}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(e){function t(t){var n=e.call(this,t)||this,r=32&t.flags?{32:HEAPF32,64:HEAPF64}:8&t.flags?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return n.heap=r[8*t.ptrSize],n.ptrSize=t.ptrSize,n}return __extends(t,e),t.prototype.needsWireWrite=function(e){return!!e&&!!e.Strict},t.prototype.makeWireWrite=function(e,t){return t&&t.Strict&&function(e){if("number"==typeof e)return e;throw new Error("Type mismatch")}},t}(BindType);function pushCString(e,t){if(null==e){if(t&&t.Nullable)return 0;throw new Error("Type mismatch")}if(t&&t.Strict){if("string"!=typeof e)throw new Error("Type mismatch")}else e=e.toString();var n=Module.lengthBytesUTF8(e)+1,r=_nbind.Pool.lalloc(n);return Module.stringToUTF8Array(e,HEAPU8,r,n),r}function popCString(e){return 0===e?null:Module.Pointer_stringify(e)}_nbind.PrimitiveType=PrimitiveType,_nbind.pushCString=pushCString,_nbind.popCString=popCString;var CStringType=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.wireRead=popCString,t.wireWrite=pushCString,t.readResources=[_nbind.resources.pool],t.writeResources=[_nbind.resources.pool],t}return __extends(t,e),t.prototype.makeWireWrite=function(e,t){return function(e){return pushCString(e,t)}},t}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.wireRead=function(e){return!!e},t}return __extends(t,e),t.prototype.needsWireWrite=function(e){return!!e&&!!e.Strict},t.prototype.makeWireRead=function(e){return"!!("+e+")"},t.prototype.makeWireWrite=function(e,t){return t&&t.Strict&&function(e){if("boolean"==typeof e)return e;throw new Error("Type mismatch")}||e},t}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function e(){}return e.prototype.persist=function(){this.__nbindState|=1},e}();function makeBound(e,t){var n=function(e){function n(t,r,i,o){var u=e.call(this)||this;if(!(u instanceof n))return new(Function.prototype.bind.apply(n,Array.prototype.concat.apply([null],arguments)));var a=r,l=i,s=o;if(t!==_nbind.ptrMarker){var c=u.__nbindConstructor.apply(u,arguments);a=4608,s=HEAPU32[c/4],l=HEAPU32[c/4+1]}var f={configurable:!0,enumerable:!1,value:null,writable:!1},d={__nbindFlags:a,__nbindPtr:l};s&&(d.__nbindShared=s,_nbind.mark(u));for(var p=0,h=Object.keys(d);p>=1;var n=_nbind.valueList[e];return _nbind.valueList[e]=firstFreeValue,firstFreeValue=e,n}if(t)return _nbind.popShared(e,t);throw new Error("Invalid value slot "+e)}_nbind.pushValue=pushValue,_nbind.popValue=popValue;var valueBase=0x10000000000000000;function push64(e){return"number"==typeof e?e:4096*pushValue(e)+valueBase}function pop64(e){return e=3?Buffer.from(o):new Buffer(o)).copy(r):getBuffer(r).set(o)}}_nbind.BufferType=BufferType,_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var e=0,t=dirtyList;e>2]=DYNAMIC_BASE,staticSealed=!0,Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(e,t,n){"use asm";var r=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var u=new e.Uint8Array(n);var a=new e.Uint16Array(n);var l=new e.Uint32Array(n);var s=new e.Float32Array(n);var c=new e.Float64Array(n);var f=t.DYNAMICTOP_PTR|0;var d=t.tempDoublePtr|0;var p=t.ABORT|0;var h=t.STACKTOP|0;var v=t.STACK_MAX|0;var m=t.cttz_i8|0;var g=t.___dso_handle|0;var y=0;var _=0;var b=0;var w=0;var E=e.NaN,D=e.Infinity;var S=0,C=0,k=0,T=0,x=0.0;var A=0;var O=e.Math.floor;var P=e.Math.abs;var I=e.Math.sqrt;var N=e.Math.pow;var M=e.Math.cos;var R=e.Math.sin;var F=e.Math.tan;var L=e.Math.acos;var B=e.Math.asin;var j=e.Math.atan;var U=e.Math.atan2;var z=e.Math.exp;var W=e.Math.log;var H=e.Math.ceil;var V=e.Math.imul;var q=e.Math.min;var G=e.Math.max;var $=e.Math.clz32;var Y=e.Math.fround;var K=t.abort;var X=t.assert;var Q=t.enlargeMemory;var J=t.getTotalMemory;var Z=t.abortOnCannotGrowMemory;var ee=t.invoke_viiiii;var te=t.invoke_vif;var ne=t.invoke_vid;var re=t.invoke_fiff;var ie=t.invoke_vi;var oe=t.invoke_vii;var ue=t.invoke_ii;var ae=t.invoke_viddi;var le=t.invoke_vidd;var se=t.invoke_iiii;var ce=t.invoke_diii;var fe=t.invoke_di;var de=t.invoke_iid;var pe=t.invoke_iii;var he=t.invoke_viiddi;var ve=t.invoke_viiiiii;var me=t.invoke_dii;var ge=t.invoke_i;var ye=t.invoke_iiiiii;var _e=t.invoke_viiid;var be=t.invoke_viififi;var we=t.invoke_viii;var Ee=t.invoke_v;var De=t.invoke_viid;var Se=t.invoke_idd;var Ce=t.invoke_viiii;var ke=t._emscripten_asm_const_iiiii;var Te=t._emscripten_asm_const_iiidddddd;var xe=t._emscripten_asm_const_iiiid;var Ae=t.__nbind_reference_external;var Oe=t._emscripten_asm_const_iiiiiiii;var Pe=t._removeAccessorPrefix;var Ie=t._typeModule;var Ne=t.__nbind_register_pool;var Me=t.__decorate;var Re=t._llvm_stackrestore;var Fe=t.___cxa_atexit;var Le=t.__extends;var Be=t.__nbind_get_value_object;var je=t.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj;var Ue=t._emscripten_set_main_loop_timing;var ze=t.__nbind_register_primitive;var We=t.__nbind_register_type;var He=t._emscripten_memcpy_big;var Ve=t.__nbind_register_function;var qe=t.___setErrNo;var Ge=t.__nbind_register_class;var $e=t.__nbind_finish;var Ye=t._abort;var Ke=t._nbind_value;var Xe=t._llvm_stacksave;var Qe=t.___syscall54;var Je=t._defineHidden;var Ze=t._emscripten_set_main_loop;var et=t._emscripten_get_now;var tt=t.__nbind_register_callback_signature;var nt=t._emscripten_asm_const_iiiiii;var rt=t.__nbind_free_external;var it=t._emscripten_asm_const_iiii;var ot=t._emscripten_asm_const_iiididi;var ut=t.___syscall6;var at=t._atexit;var lt=t.___syscall140;var st=t.___syscall146;var ct=Y(0);const ft=Y(0);function dt(e){e=e|0;var t=0;t=h;h=h+e|0;h=h+15&-16;return t|0}function pt(){return h|0}function ht(e){e=e|0;h=e}function vt(e,t){e=e|0;t=t|0;h=e;v=t}function mt(e,t){e=e|0;t=t|0;if(!y){y=e;_=t}}function gt(e){e=e|0;A=e}function yt(){return A|0}function _t(){var e=0,t=0;ix(8104,8,400)|0;ix(8504,408,540)|0;e=9044;t=e+44|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));r[9088]=0;r[9089]=1;o[2273]=0;o[2274]=948;o[2275]=948;Fe(17,8104,g|0)|0;return}function bt(e){e=e|0;qt(e+948|0);return}function wt(e){e=Y(e);return((Ii(e)|0)&2147483647)>>>0>2139095040|0}function Et(e,t,n){e=e|0;t=t|0;n=n|0;e:do{if(!(o[e+(t<<3)+4>>2]|0)){if((t|2|0)==3?o[e+60>>2]|0:0){e=e+56|0;break}switch(t|0){case 0:case 2:case 4:case 5:{if(o[e+52>>2]|0){e=e+48|0;break e}break}default:{}}if(!(o[e+68>>2]|0)){e=(t|1|0)==5?948:n;break}else{e=e+64|0;break}}else e=e+(t<<3)|0}while(0);return e|0}function Dt(e){e=e|0;var t=0;t=qk(1e3)|0;St(e,(t|0)!=0,2456);o[2276]=(o[2276]|0)+1;ix(t|0,8104,1e3)|0;if(r[e+2>>0]|0){o[t+4>>2]=2;o[t+12>>2]=4}o[t+976>>2]=e;return t|0}function St(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!t){o[r>>2]=n;Lr(e,5,3197,r)}h=i;return}function Ct(){return Dt(956)|0}function kt(e){e=e|0;var t=0;t=$T(1e3)|0;Tt(t,e);St(o[e+976>>2]|0,1,2456);o[2276]=(o[2276]|0)+1;o[t+944>>2]=0;return t|0}function Tt(e,t){e=e|0;t=t|0;var n=0;ix(e|0,t|0,948)|0;Ur(e+948|0,t+948|0);n=e+960|0;e=t+960|0;t=n+40|0;do{o[n>>2]=o[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(t|0));return}function xt(e){e=e|0;var t=0,n=0,r=0,i=0;t=e+944|0;n=o[t>>2]|0;if(n|0){At(n+948|0,e)|0;o[t>>2]=0}n=Ot(e)|0;if(n|0){t=0;do{o[(Pt(e,t)|0)+944>>2]=0;t=t+1|0}while((t|0)!=(n|0))}n=e+948|0;r=o[n>>2]|0;i=e+952|0;t=o[i>>2]|0;if((t|0)!=(r|0))o[i>>2]=t+(~((t+-4-r|0)>>>2)<<2);It(n);Gk(e);o[2276]=(o[2276]|0)+-1;return}function At(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0;r=o[e>>2]|0;l=e+4|0;n=o[l>>2]|0;u=n;e:do{if((r|0)==(n|0)){i=r;a=4}else{e=r;while(1){if((o[e>>2]|0)==(t|0)){i=e;a=4;break e}e=e+4|0;if((e|0)==(n|0)){e=0;break}}}}while(0);if((a|0)==4)if((i|0)!=(n|0)){r=i+4|0;e=u-r|0;t=e>>2;if(t){sx(i|0,r|0,e|0)|0;n=o[l>>2]|0}e=i+(t<<2)|0;if((n|0)==(e|0))e=1;else{o[l>>2]=n+(~((n+-4-e|0)>>>2)<<2);e=1}}else e=0;return e|0}function Ot(e){e=e|0;return(o[e+952>>2]|0)-(o[e+948>>2]|0)>>2|0}function Pt(e,t){e=e|0;t=t|0;var n=0;n=o[e+948>>2]|0;if((o[e+952>>2]|0)-n>>2>>>0>t>>>0)e=o[n+(t<<2)>>2]|0;else e=0;return e|0}function It(e){e=e|0;var t=0,n=0,r=0,i=0;r=h;h=h+32|0;t=r;i=o[e>>2]|0;n=(o[e+4>>2]|0)-i|0;if(((o[e+8>>2]|0)-i|0)>>>0>n>>>0){i=n>>2;Ni(t,i,i,e+8|0);Mi(e,t);Ri(t)}h=r;return}function Nt(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0;c=Ot(e)|0;do{if(c|0){if((o[(Pt(e,0)|0)+944>>2]|0)==(e|0)){if(!(At(e+948|0,t)|0))break;ix(t+400|0,8504,540)|0;o[t+944>>2]=0;Vt(e);break}a=o[(o[e+976>>2]|0)+12>>2]|0;l=e+948|0;s=(a|0)==0;n=0;u=0;do{r=o[(o[l>>2]|0)+(u<<2)>>2]|0;if((r|0)==(t|0))Vt(e);else{i=kt(r)|0;o[(o[l>>2]|0)+(n<<2)>>2]=i;o[i+944>>2]=e;if(!s)RA[a&15](r,i,e,n);n=n+1|0}u=u+1|0}while((u|0)!=(c|0));if(n>>>0>>0){s=e+948|0;l=e+952|0;a=n;n=o[l>>2]|0;do{u=(o[s>>2]|0)+(a<<2)|0;r=u+4|0;i=n-r|0;t=i>>2;if(!t)i=n;else{sx(u|0,r|0,i|0)|0;n=o[l>>2]|0;i=n}r=u+(t<<2)|0;if((i|0)!=(r|0)){n=i+(~((i+-4-r|0)>>>2)<<2)|0;o[l>>2]=n}a=a+1|0}while((a|0)!=(c|0))}}}while(0);return}function Mt(e){e=e|0;var t=0,n=0,i=0,u=0;Rt(e,(Ot(e)|0)==0,2491);Rt(e,(o[e+944>>2]|0)==0,2545);t=e+948|0;n=o[t>>2]|0;i=e+952|0;u=o[i>>2]|0;if((u|0)!=(n|0))o[i>>2]=u+(~((u+-4-n|0)>>>2)<<2);It(t);t=e+976|0;n=o[t>>2]|0;ix(e|0,8104,1e3)|0;if(r[n+2>>0]|0){o[e+4>>2]=2;o[e+12>>2]=4}o[t>>2]=n;return}function Rt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;i=h;h=h+16|0;r=i;if(!t){o[r>>2]=n;Cr(e,5,3197,r)}h=i;return}function Ft(){return o[2276]|0}function Lt(){var e=0;e=qk(20)|0;Bt((e|0)!=0,2592);o[2277]=(o[2277]|0)+1;o[e>>2]=o[239];o[e+4>>2]=o[240];o[e+8>>2]=o[241];o[e+12>>2]=o[242];o[e+16>>2]=o[243];return e|0}function Bt(e,t){e=e|0;t=t|0;var n=0,r=0;r=h;h=h+16|0;n=r;if(!e){o[n>>2]=t;Cr(0,5,3197,n)}h=r;return}function jt(e){e=e|0;Gk(e);o[2277]=(o[2277]|0)+-1;return}function Ut(e,t){e=e|0;t=t|0;var n=0;if(!t){n=0;t=0}else{Rt(e,(Ot(e)|0)==0,2629);n=1}o[e+964>>2]=t;o[e+988>>2]=n;return}function zt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;u=r+8|0;i=r+4|0;a=r;o[i>>2]=t;Rt(e,(o[t+944>>2]|0)==0,2709);Rt(e,(o[e+964>>2]|0)==0,2763);Wt(e);t=e+948|0;o[a>>2]=(o[t>>2]|0)+(n<<2);o[u>>2]=o[a>>2];Ht(t,u,i)|0;o[(o[i>>2]|0)+944>>2]=e;Vt(e);h=r;return}function Wt(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0;n=Ot(e)|0;if(n|0?(o[(Pt(e,0)|0)+944>>2]|0)!=(e|0):0){r=o[(o[e+976>>2]|0)+12>>2]|0;i=e+948|0;u=(r|0)==0;t=0;do{a=o[(o[i>>2]|0)+(t<<2)>>2]|0;l=kt(a)|0;o[(o[i>>2]|0)+(t<<2)>>2]=l;o[l+944>>2]=e;if(!u)RA[r&15](a,l,e,t);t=t+1|0}while((t|0)!=(n|0))}return}function Ht(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0;y=h;h=h+64|0;d=y+52|0;l=y+48|0;p=y+28|0;v=y+24|0;m=y+20|0;g=y;r=o[e>>2]|0;u=r;t=r+((o[t>>2]|0)-u>>2<<2)|0;r=e+4|0;i=o[r>>2]|0;a=e+8|0;do{if(i>>>0<(o[a>>2]|0)>>>0){if((t|0)==(i|0)){o[t>>2]=o[n>>2];o[r>>2]=(o[r>>2]|0)+4;break}Fi(e,t,i,t+4|0);if(t>>>0<=n>>>0)n=(o[r>>2]|0)>>>0>n>>>0?n+4|0:n;o[t>>2]=o[n>>2]}else{r=(i-u>>2)+1|0;i=Hr(e)|0;if(i>>>0>>0)UT(e);f=o[e>>2]|0;c=(o[a>>2]|0)-f|0;u=c>>1;Ni(g,c>>2>>>0>>1>>>0?u>>>0>>0?r:u:i,t-f>>2,e+8|0);f=g+8|0;r=o[f>>2]|0;u=g+12|0;c=o[u>>2]|0;a=c;s=r;do{if((r|0)==(c|0)){c=g+4|0;r=o[c>>2]|0;_=o[g>>2]|0;i=_;if(r>>>0<=_>>>0){r=a-i>>1;r=(r|0)==0?1:r;Ni(p,r,r>>>2,o[g+16>>2]|0);o[v>>2]=o[c>>2];o[m>>2]=o[f>>2];o[l>>2]=o[v>>2];o[d>>2]=o[m>>2];Bi(p,l,d);r=o[g>>2]|0;o[g>>2]=o[p>>2];o[p>>2]=r;r=p+4|0;_=o[c>>2]|0;o[c>>2]=o[r>>2];o[r>>2]=_;r=p+8|0;_=o[f>>2]|0;o[f>>2]=o[r>>2];o[r>>2]=_;r=p+12|0;_=o[u>>2]|0;o[u>>2]=o[r>>2];o[r>>2]=_;Ri(p);r=o[f>>2]|0;break}u=r;a=((u-i>>2)+1|0)/-2|0;l=r+(a<<2)|0;i=s-u|0;u=i>>2;if(u){sx(l|0,r|0,i|0)|0;r=o[c>>2]|0}_=l+(u<<2)|0;o[f>>2]=_;o[c>>2]=r+(a<<2);r=_}}while(0);o[r>>2]=o[n>>2];o[f>>2]=(o[f>>2]|0)+4;t=Li(e,g,t)|0;Ri(g)}}while(0);h=y;return t|0}function Vt(e){e=e|0;var t=0;do{t=e+984|0;if(r[t>>0]|0)break;r[t>>0]=1;s[e+504>>2]=Y(E);e=o[e+944>>2]|0}while((e|0)!=0);return}function qt(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-4-r|0)>>>2)<<2);KT(n)}return}function Gt(e){e=e|0;return o[e+944>>2]|0}function $t(e){e=e|0;Rt(e,(o[e+964>>2]|0)!=0,2832);Vt(e);return}function Yt(e){e=e|0;return(r[e+984>>0]|0)!=0|0}function Kt(e,t){e=e|0;t=t|0;if(iT(e,t,400)|0){ix(e|0,t|0,400)|0;Vt(e)}return}function Xt(e){e=e|0;var t=ft;t=Y(s[e+44>>2]);e=wt(t)|0;return Y(e?Y(0.0):t)}function Qt(e){e=e|0;var t=ft;t=Y(s[e+48>>2]);if(wt(t)|0)t=r[(o[e+976>>2]|0)+2>>0]|0?Y(1.0):Y(0.0);return Y(t)}function Jt(e,t){e=e|0;t=t|0;o[e+980>>2]=t;return}function Zt(e){e=e|0;return o[e+980>>2]|0}function en(e,t){e=e|0;t=t|0;var n=0;n=e+4|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function tn(e){e=e|0;return o[e+4>>2]|0}function nn(e,t){e=e|0;t=t|0;var n=0;n=e+8|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function rn(e){e=e|0;return o[e+8>>2]|0}function on(e,t){e=e|0;t=t|0;var n=0;n=e+12|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function un(e){e=e|0;return o[e+12>>2]|0}function an(e,t){e=e|0;t=t|0;var n=0;n=e+16|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function ln(e){e=e|0;return o[e+16>>2]|0}function sn(e,t){e=e|0;t=t|0;var n=0;n=e+20|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function cn(e){e=e|0;return o[e+20>>2]|0}function fn(e,t){e=e|0;t=t|0;var n=0;n=e+24|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function dn(e){e=e|0;return o[e+24>>2]|0}function pn(e,t){e=e|0;t=t|0;var n=0;n=e+28|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function hn(e){e=e|0;return o[e+28>>2]|0}function vn(e,t){e=e|0;t=t|0;var n=0;n=e+32|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function mn(e){e=e|0;return o[e+32>>2]|0}function gn(e,t){e=e|0;t=t|0;var n=0;n=e+36|0;if((o[n>>2]|0)!=(t|0)){o[n>>2]=t;Vt(e)}return}function yn(e){e=e|0;return o[e+36>>2]|0}function _n(e,t){e=e|0;t=Y(t);var n=0;n=e+40|0;if(Y(s[n>>2])!=t){s[n>>2]=t;Vt(e)}return}function bn(e,t){e=e|0;t=Y(t);var n=0;n=e+44|0;if(Y(s[n>>2])!=t){s[n>>2]=t;Vt(e)}return}function wn(e,t){e=e|0;t=Y(t);var n=0;n=e+48|0;if(Y(s[n>>2])!=t){s[n>>2]=t;Vt(e)}return}function En(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+52|0;i=e+56|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Dn(e,t){e=e|0;t=Y(t);var n=0,r=0;r=e+52|0;n=e+56|0;if(!(!(Y(s[r>>2])!=t)?(o[n>>2]|0)==2:0)){s[r>>2]=t;r=wt(t)|0;o[n>>2]=r?3:2;Vt(e)}return}function Sn(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+52|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function Cn(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=(u^1)&1;i=e+132+(t<<3)|0;t=e+132+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function kn(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=u?0:2;i=e+132+(t<<3)|0;t=e+132+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function Tn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=t+132+(n<<3)|0;t=o[r+4>>2]|0;n=e;o[n>>2]=o[r>>2];o[n+4>>2]=t;return}function xn(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=(u^1)&1;i=e+60+(t<<3)|0;t=e+60+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function An(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=u?0:2;i=e+60+(t<<3)|0;t=e+60+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function On(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=t+60+(n<<3)|0;t=o[r+4>>2]|0;n=e;o[n>>2]=o[r>>2];o[n+4>>2]=t;return}function Pn(e,t){e=e|0;t=t|0;var n=0;n=e+60+(t<<3)+4|0;if((o[n>>2]|0)!=3){s[e+60+(t<<3)>>2]=Y(E);o[n>>2]=3;Vt(e)}return}function In(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=(u^1)&1;i=e+204+(t<<3)|0;t=e+204+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function Nn(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=u?0:2;i=e+204+(t<<3)|0;t=e+204+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function Mn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=t+204+(n<<3)|0;t=o[r+4>>2]|0;n=e;o[n>>2]=o[r>>2];o[n+4>>2]=t;return}function Rn(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0,u=0;u=wt(n)|0;r=(u^1)&1;i=e+276+(t<<3)|0;t=e+276+(t<<3)+4|0;if(!(u|Y(s[i>>2])==n?(o[t>>2]|0)==(r|0):0)){s[i>>2]=n;o[t>>2]=r;Vt(e)}return}function Fn(e,t){e=e|0;t=t|0;return Y(s[e+276+(t<<3)>>2])}function Ln(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+348|0;i=e+352|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Bn(e,t){e=e|0;t=Y(t);var n=0,r=0;r=e+348|0;n=e+352|0;if(!(!(Y(s[r>>2])!=t)?(o[n>>2]|0)==2:0)){s[r>>2]=t;r=wt(t)|0;o[n>>2]=r?3:2;Vt(e)}return}function jn(e){e=e|0;var t=0;t=e+352|0;if((o[t>>2]|0)!=3){s[e+348>>2]=Y(E);o[t>>2]=3;Vt(e)}return}function Un(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+348|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function zn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+356|0;i=e+360|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Wn(e,t){e=e|0;t=Y(t);var n=0,r=0;r=e+356|0;n=e+360|0;if(!(!(Y(s[r>>2])!=t)?(o[n>>2]|0)==2:0)){s[r>>2]=t;r=wt(t)|0;o[n>>2]=r?3:2;Vt(e)}return}function Hn(e){e=e|0;var t=0;t=e+360|0;if((o[t>>2]|0)!=3){s[e+356>>2]=Y(E);o[t>>2]=3;Vt(e)}return}function Vn(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+356|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function qn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+364|0;i=e+368|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Gn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=u?0:2;r=e+364|0;i=e+368|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function $n(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+364|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function Yn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+372|0;i=e+376|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Kn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=u?0:2;r=e+372|0;i=e+376|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Xn(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+372|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function Qn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+380|0;i=e+384|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Jn(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=u?0:2;r=e+380|0;i=e+384|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function Zn(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+380|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function er(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=(u^1)&1;r=e+388|0;i=e+392|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function tr(e,t){e=e|0;t=Y(t);var n=0,r=0,i=0,u=0;u=wt(t)|0;n=u?0:2;r=e+388|0;i=e+392|0;if(!(u|Y(s[r>>2])==t?(o[i>>2]|0)==(n|0):0)){s[r>>2]=t;o[i>>2]=n;Vt(e)}return}function nr(e,t){e=e|0;t=t|0;var n=0,r=0;r=t+388|0;n=o[r+4>>2]|0;t=e;o[t>>2]=o[r>>2];o[t+4>>2]=n;return}function rr(e,t){e=e|0;t=Y(t);var n=0;n=e+396|0;if(Y(s[n>>2])!=t){s[n>>2]=t;Vt(e)}return}function ir(e){e=e|0;return Y(s[e+396>>2])}function or(e){e=e|0;return Y(s[e+400>>2])}function ur(e){e=e|0;return Y(s[e+404>>2])}function ar(e){e=e|0;return Y(s[e+408>>2])}function lr(e){e=e|0;return Y(s[e+412>>2])}function sr(e){e=e|0;return Y(s[e+416>>2])}function cr(e){e=e|0;return Y(s[e+420>>2])}function fr(e,t){e=e|0;t=t|0;Rt(e,(t|0)<6,2918);switch(t|0){case 0:{t=(o[e+496>>2]|0)==2?5:4;break}case 2:{t=(o[e+496>>2]|0)==2?4:5;break}default:{}}return Y(s[e+424+(t<<2)>>2])}function dr(e,t){e=e|0;t=t|0;Rt(e,(t|0)<6,2918);switch(t|0){case 0:{t=(o[e+496>>2]|0)==2?5:4;break}case 2:{t=(o[e+496>>2]|0)==2?4:5;break}default:{}}return Y(s[e+448+(t<<2)>>2])}function pr(e,t){e=e|0;t=t|0;Rt(e,(t|0)<6,2918);switch(t|0){case 0:{t=(o[e+496>>2]|0)==2?5:4;break}case 2:{t=(o[e+496>>2]|0)==2?4:5;break}default:{}}return Y(s[e+472+(t<<2)>>2])}function hr(e,t){e=e|0;t=t|0;var n=0,r=ft;n=o[e+4>>2]|0;if((n|0)==(o[t+4>>2]|0)){if(!n)e=1;else{r=Y(s[e>>2]);e=Y(P(Y(r-Y(s[t>>2]))))>2]=0;o[i+4>>2]=0;o[i+8>>2]=0;je(i|0,e|0,t|0,0);Cr(e,3,(r[i+11>>0]|0)<0?o[i>>2]|0:i,n);XT(i);h=n;return}function yr(e,t,n,r){e=Y(e);t=Y(t);n=n|0;r=r|0;var i=ft;e=Y(e*t);i=Y(LT(e,Y(1.0)));do{if(!(vr(i,Y(0.0))|0)){e=Y(e-i);if(vr(i,Y(1.0))|0){e=Y(e+Y(1.0));break}if(n){e=Y(e+Y(1.0));break}if(!r){if(i>Y(.5))i=Y(1.0);else{r=vr(i,Y(.5))|0;i=r?Y(1.0):Y(0.0)}e=Y(e+i)}}else e=Y(e-i)}while(0);return Y(e/t)}function _r(e,t,n,r,i,o,u,a,l,c,f,d,p){e=e|0;t=Y(t);n=n|0;r=Y(r);i=i|0;o=Y(o);u=u|0;a=Y(a);l=Y(l);c=Y(c);f=Y(f);d=Y(d);p=p|0;var h=0,v=ft,m=ft,g=ft,y=ft,_=ft,b=ft;if(l>2]),v!=Y(0.0)):0){g=Y(yr(t,v,0,0));y=Y(yr(r,v,0,0));m=Y(yr(o,v,0,0));v=Y(yr(a,v,0,0))}else{m=o;g=t;v=a;y=r}if((i|0)==(e|0))h=vr(m,g)|0;else h=0;if((u|0)==(n|0))p=vr(v,y)|0;else p=0;if((!h?(_=Y(t-f),!(br(e,_,l)|0)):0)?!(wr(e,_,i,l)|0):0)h=Er(e,_,i,o,l)|0;else h=1;if((!p?(b=Y(r-d),!(br(n,b,c)|0)):0)?!(wr(n,b,u,c)|0):0)p=Er(n,b,u,a,c)|0;else p=1;p=h&p}return p|0}function br(e,t,n){e=e|0;t=Y(t);n=Y(n);if((e|0)==1)e=vr(t,n)|0;else e=0;return e|0}function wr(e,t,n,r){e=e|0;t=Y(t);n=n|0;r=Y(r);if((e|0)==2&(n|0)==0){if(!(t>=r))e=vr(t,r)|0;else e=1}else e=0;return e|0}function Er(e,t,n,r,i){e=e|0;t=Y(t);n=n|0;r=Y(r);i=Y(i);if((e|0)==2&(n|0)==2&r>t){if(!(i<=t))e=vr(t,i)|0;else e=1}else e=0;return e|0}function Dr(e,t,n,i,u,a,l,f,d,p,v){e=e|0;t=Y(t);n=Y(n);i=i|0;u=u|0;a=a|0;l=Y(l);f=Y(f);d=d|0;p=p|0;v=v|0;var m=0,g=0,y=0,_=0,b=ft,w=ft,E=0,D=0,S=0,C=0,k=0,T=0,x=0,A=0,O=0,P=0,I=0,N=ft,M=ft,R=ft,F=0.0,L=0.0;I=h;h=h+160|0;A=I+152|0;x=I+120|0;T=I+104|0;S=I+72|0;_=I+56|0;k=I+8|0;D=I;C=(o[2279]|0)+1|0;o[2279]=C;O=e+984|0;if((r[O>>0]|0)!=0?(o[e+512>>2]|0)!=(o[2278]|0):0)E=4;else if((o[e+516>>2]|0)==(i|0))P=0;else E=4;if((E|0)==4){o[e+520>>2]=0;o[e+924>>2]=-1;o[e+928>>2]=-1;s[e+932>>2]=Y(-1.0);s[e+936>>2]=Y(-1.0);P=1}e:do{if(!(o[e+964>>2]|0)){if(d){m=e+916|0;if(!(vr(Y(s[m>>2]),t)|0)){E=21;break}if(!(vr(Y(s[e+920>>2]),n)|0)){E=21;break}if((o[e+924>>2]|0)!=(u|0)){E=21;break}m=(o[e+928>>2]|0)==(a|0)?m:0;E=22;break}y=o[e+520>>2]|0;if(!y)E=21;else{g=0;while(1){m=e+524+(g*24|0)|0;if(((vr(Y(s[m>>2]),t)|0?vr(Y(s[e+524+(g*24|0)+4>>2]),n)|0:0)?(o[e+524+(g*24|0)+8>>2]|0)==(u|0):0)?(o[e+524+(g*24|0)+12>>2]|0)==(a|0):0){E=22;break e}g=g+1|0;if(g>>>0>=y>>>0){E=21;break}}}}else{b=Y(Sr(e,2,l));w=Y(Sr(e,0,l));m=e+916|0;R=Y(s[m>>2]);M=Y(s[e+920>>2]);N=Y(s[e+932>>2]);if(!(_r(u,t,a,n,o[e+924>>2]|0,R,o[e+928>>2]|0,M,N,Y(s[e+936>>2]),b,w,v)|0)){y=o[e+520>>2]|0;if(!y)E=21;else{g=0;while(1){m=e+524+(g*24|0)|0;N=Y(s[m>>2]);M=Y(s[e+524+(g*24|0)+4>>2]);R=Y(s[e+524+(g*24|0)+16>>2]);if(_r(u,t,a,n,o[e+524+(g*24|0)+8>>2]|0,N,o[e+524+(g*24|0)+12>>2]|0,M,R,Y(s[e+524+(g*24|0)+20>>2]),b,w,v)|0){E=22;break e}g=g+1|0;if(g>>>0>=y>>>0){E=21;break}}}}else E=22}}while(0);do{if((E|0)==21){if(!(r[11697]|0)){m=0;E=31}else{m=0;E=28}}else if((E|0)==22){g=(r[11697]|0)!=0;if(!((m|0)!=0&(P^1)))if(g){E=28;break}else{E=31;break}_=m+16|0;o[e+908>>2]=o[_>>2];y=m+20|0;o[e+912>>2]=o[y>>2];if(!((r[11698]|0)==0|g^1)){o[D>>2]=kr(C)|0;o[D+4>>2]=C;Cr(e,4,2972,D);g=o[e+972>>2]|0;if(g|0)hA[g&127](e);u=Tr(u,d)|0;a=Tr(a,d)|0;L=+Y(s[_>>2]);F=+Y(s[y>>2]);o[k>>2]=u;o[k+4>>2]=a;c[k+8>>3]=+t;c[k+16>>3]=+n;c[k+24>>3]=L;c[k+32>>3]=F;o[k+40>>2]=p;Cr(e,4,2989,k)}}}while(0);if((E|0)==28){g=kr(C)|0;o[_>>2]=g;o[_+4>>2]=C;o[_+8>>2]=P?3047:11699;Cr(e,4,3038,_);g=o[e+972>>2]|0;if(g|0)hA[g&127](e);k=Tr(u,d)|0;E=Tr(a,d)|0;o[S>>2]=k;o[S+4>>2]=E;c[S+8>>3]=+t;c[S+16>>3]=+n;o[S+24>>2]=p;Cr(e,4,3049,S);E=31}if((E|0)==31){xr(e,t,n,i,u,a,l,f,d,v);if(r[11697]|0){g=o[2279]|0;k=kr(g)|0;o[T>>2]=k;o[T+4>>2]=g;o[T+8>>2]=P?3047:11699;Cr(e,4,3083,T);g=o[e+972>>2]|0;if(g|0)hA[g&127](e);k=Tr(u,d)|0;T=Tr(a,d)|0;F=+Y(s[e+908>>2]);L=+Y(s[e+912>>2]);o[x>>2]=k;o[x+4>>2]=T;c[x+8>>3]=F;c[x+16>>3]=L;o[x+24>>2]=p;Cr(e,4,3092,x)}o[e+516>>2]=i;if(!m){g=e+520|0;m=o[g>>2]|0;if((m|0)==16){if(r[11697]|0)Cr(e,4,3124,A);o[g>>2]=0;m=0}if(d)m=e+916|0;else{o[g>>2]=m+1;m=e+524+(m*24|0)|0}s[m>>2]=t;s[m+4>>2]=n;o[m+8>>2]=u;o[m+12>>2]=a;o[m+16>>2]=o[e+908>>2];o[m+20>>2]=o[e+912>>2];m=0}}if(d){o[e+416>>2]=o[e+908>>2];o[e+420>>2]=o[e+912>>2];r[e+985>>0]=1;r[O>>0]=0}o[2279]=(o[2279]|0)+-1;o[e+512>>2]=o[2278];h=I;return P|(m|0)==0|0}function Sr(e,t,n){e=e|0;t=t|0;n=Y(n);var r=ft;r=Y(Vr(e,t,n));return Y(r+Y(qr(e,t,n)))}function Cr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=h;h=h+16|0;i=u;o[i>>2]=r;if(!e)r=0;else r=o[e+976>>2]|0;Br(r,e,t,n,i);h=u;return}function kr(e){e=e|0;return(e>>>0>60?3201:3201+(60-e)|0)|0}function Tr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+32|0;n=i+12|0;r=i;o[n>>2]=o[254];o[n+4>>2]=o[255];o[n+8>>2]=o[256];o[r>>2]=o[257];o[r+4>>2]=o[258];o[r+8>>2]=o[259];if((e|0)>2)e=11699;else e=o[(t?r:n)+(e<<2)>>2]|0;h=i;return e|0}function xr(e,t,n,i,a,l,c,f,p,v){e=e|0;t=Y(t);n=Y(n);i=i|0;a=a|0;l=l|0;c=Y(c);f=Y(f);p=p|0;v=v|0;var m=0,g=0,y=0,_=0,b=ft,w=ft,E=ft,D=ft,S=ft,C=ft,k=ft,T=0,x=0,A=0,O=ft,P=ft,I=0,N=ft,M=0,R=0,F=0,L=0,B=0,j=0,U=0,z=0,W=0,H=0,V=0,q=0,G=0,$=0,K=0,X=0,Q=0,J=0,Z=ft,ee=ft,te=ft,ne=ft,re=ft,ie=0,oe=0,ue=0,ae=0,le=0,se=ft,ce=ft,fe=ft,de=ft,pe=ft,he=ft,ve=0,me=ft,ge=ft,ye=ft,_e=ft,be=ft,we=ft,Ee=0,De=0,Se=ft,Ce=ft,ke=0,Te=0,xe=0,Ae=0,Oe=ft,Pe=0,Ie=0,Ne=0,Me=0,Re=0,Fe=0,Le=0,Be=ft,je=0,Ue=0;Le=h;h=h+16|0;ie=Le+12|0;oe=Le+8|0;ue=Le+4|0;ae=Le;Rt(e,(a|0)==0|(wt(t)|0)^1,3326);Rt(e,(l|0)==0|(wt(n)|0)^1,3406);Ie=Yr(e,i)|0;o[e+496>>2]=Ie;Re=Kr(2,Ie)|0;Fe=Kr(0,Ie)|0;s[e+440>>2]=Y(Vr(e,Re,c));s[e+444>>2]=Y(qr(e,Re,c));s[e+428>>2]=Y(Vr(e,Fe,c));s[e+436>>2]=Y(qr(e,Fe,c));s[e+464>>2]=Y(Xr(e,Re));s[e+468>>2]=Y(Qr(e,Re));s[e+452>>2]=Y(Xr(e,Fe));s[e+460>>2]=Y(Qr(e,Fe));s[e+488>>2]=Y(Jr(e,Re,c));s[e+492>>2]=Y(Zr(e,Re,c));s[e+476>>2]=Y(Jr(e,Fe,c));s[e+484>>2]=Y(Zr(e,Fe,c));do{if(!(o[e+964>>2]|0)){Ne=e+948|0;Me=(o[e+952>>2]|0)-(o[Ne>>2]|0)>>2;if(!Me){ti(e,t,n,a,l,c,f);break}if(!p?ni(e,t,n,a,l,c,f)|0:0)break;Wt(e);X=e+508|0;r[X>>0]=0;Re=Kr(o[e+4>>2]|0,Ie)|0;Fe=ri(Re,Ie)|0;Pe=Gr(Re)|0;Q=o[e+8>>2]|0;Te=e+28|0;J=(o[Te>>2]|0)!=0;be=Pe?c:f;Se=Pe?f:c;Z=Y(ii(e,Re,c));ee=Y(oi(e,Re,c));b=Y(ii(e,Fe,c));we=Y(ui(e,Re,c));Ce=Y(ui(e,Fe,c));A=Pe?a:l;ke=Pe?l:a;Oe=Pe?we:Ce;S=Pe?Ce:we;_e=Y(Sr(e,2,c));D=Y(Sr(e,0,c));w=Y(Y(Nr(e+364|0,c))-Oe);E=Y(Y(Nr(e+380|0,c))-Oe);C=Y(Y(Nr(e+372|0,f))-S);k=Y(Y(Nr(e+388|0,f))-S);te=Pe?w:C;ne=Pe?E:k;_e=Y(t-_e);t=Y(_e-Oe);if(wt(t)|0)Oe=t;else Oe=Y(NT(Y(RT(t,E)),w));ge=Y(n-D);t=Y(ge-S);if(wt(t)|0)ye=t;else ye=Y(NT(Y(RT(t,k)),C));w=Pe?Oe:ye;me=Pe?ye:Oe;e:do{if((A|0)==1){i=0;g=0;while(1){m=Pt(e,g)|0;if(!i){if(Y(li(m))>Y(0.0)?Y(si(m))>Y(0.0):0)i=m;else i=0}else if(ai(m)|0){_=0;break e}g=g+1|0;if(g>>>0>=Me>>>0){_=i;break}}}else _=0}while(0);T=_+500|0;x=_+504|0;i=0;m=0;t=Y(0.0);y=0;do{g=o[(o[Ne>>2]|0)+(y<<2)>>2]|0;if((o[g+36>>2]|0)==1){ci(g);r[g+985>>0]=1;r[g+984>>0]=0}else{Pr(g);if(p)Mr(g,Yr(g,Ie)|0,w,me,Oe);do{if((o[g+24>>2]|0)!=1){if((g|0)==(_|0)){o[T>>2]=o[2278];s[x>>2]=Y(0.0);break}else{fi(e,g,Oe,a,ye,Oe,ye,l,Ie,v);break}}else{if(m|0)o[m+960>>2]=g;o[g+960>>2]=0;m=g;i=(i|0)==0?g:i}}while(0);he=Y(s[g+504>>2]);t=Y(t+Y(he+Y(Sr(g,Re,Oe))))}y=y+1|0}while((y|0)!=(Me|0));F=t>w;ve=J&((A|0)==2&F)?1:A;M=(ke|0)==1;B=M&(p^1);j=(ve|0)==1;U=(ve|0)==2;z=976+(Re<<2)|0;W=(ke|2|0)==2;$=M&(J^1);H=1040+(Fe<<2)|0;V=1040+(Re<<2)|0;q=976+(Fe<<2)|0;G=(ke|0)!=1;F=J&((A|0)!=0&F);R=e+976|0;M=M^1;t=w;I=0;L=0;he=Y(0.0);re=Y(0.0);while(1){e:do{if(I>>>0>>0){x=o[Ne>>2]|0;y=0;k=Y(0.0);C=Y(0.0);E=Y(0.0);w=Y(0.0);g=0;m=0;_=I;while(1){T=o[x+(_<<2)>>2]|0;if((o[T+36>>2]|0)!=1?(o[T+940>>2]=L,(o[T+24>>2]|0)!=1):0){D=Y(Sr(T,Re,Oe));K=o[z>>2]|0;n=Y(Nr(T+380+(K<<3)|0,be));S=Y(s[T+504>>2]);n=Y(RT(n,S));n=Y(NT(Y(Nr(T+364+(K<<3)|0,be)),n));if(J&(y|0)!=0&Y(D+Y(C+n))>t){l=y;D=k;A=_;break e}D=Y(D+n);n=Y(C+D);D=Y(k+D);if(ai(T)|0){E=Y(E+Y(li(T)));w=Y(w-Y(S*Y(si(T))))}if(m|0)o[m+960>>2]=T;o[T+960>>2]=0;y=y+1|0;m=T;g=(g|0)==0?T:g}else{D=k;n=C}_=_+1|0;if(_>>>0>>0){k=D;C=n}else{l=y;A=_;break}}}else{l=0;D=Y(0.0);E=Y(0.0);w=Y(0.0);g=0;A=I}}while(0);K=E>Y(0.0)&EY(0.0)&wne&((wt(ne)|0)^1))){if(!(r[(o[R>>2]|0)+3>>0]|0)){if(!(O==Y(0.0))?!(Y(li(e))==Y(0.0)):0){K=53;break}t=D;K=53}else K=51}else{t=ne;K=51}}else{t=te;K=51}}else K=51}while(0);if((K|0)==51){K=0;if(wt(t)|0)K=53;else{P=Y(t-D);N=t}}if((K|0)==53){K=0;if(D>2]|0;_=PY(0.0);C=Y(P/O);E=Y(0.0);D=Y(0.0);t=Y(0.0);m=g;do{n=Y(Nr(m+380+(y<<3)|0,be));w=Y(Nr(m+364+(y<<3)|0,be));w=Y(RT(n,Y(NT(w,Y(s[m+504>>2])))));if(_){n=Y(w*Y(si(m)));if(n!=Y(-0.0)?(Be=Y(w-Y(S*n)),se=Y(di(m,Re,Be,N,Oe)),Be!=se):0){E=Y(E-Y(se-w));t=Y(t+n)}}else if((T?(ce=Y(li(m)),ce!=Y(0.0)):0)?(Be=Y(w+Y(C*ce)),fe=Y(di(m,Re,Be,N,Oe)),Be!=fe):0){E=Y(E-Y(fe-w));D=Y(D-ce)}m=o[m+960>>2]|0}while((m|0)!=0);t=Y(k+t);w=Y(P+E);if(!le){S=Y(O+D);_=o[z>>2]|0;T=wY(0.0);S=Y(w/S);t=Y(0.0);do{Be=Y(Nr(g+380+(_<<3)|0,be));E=Y(Nr(g+364+(_<<3)|0,be));E=Y(RT(Be,Y(NT(E,Y(s[g+504>>2])))));if(T){Be=Y(E*Y(si(g)));w=Y(-Be);if(Be!=Y(-0.0)){Be=Y(C*w);w=Y(di(g,Re,Y(E+(x?w:Be)),N,Oe))}else w=E}else if(y?(de=Y(li(g)),de!=Y(0.0)):0)w=Y(di(g,Re,Y(E+Y(S*de)),N,Oe));else w=E;t=Y(t-Y(w-E));D=Y(Sr(g,Re,Oe));n=Y(Sr(g,Fe,Oe));w=Y(w+D);s[oe>>2]=w;o[ae>>2]=1;E=Y(s[g+396>>2]);e:do{if(wt(E)|0){m=wt(me)|0;do{if(!m){if(F|(Ir(g,Fe,me)|0|M))break;if((pi(e,g)|0)!=4)break;if((o[(hi(g,Fe)|0)+4>>2]|0)==3)break;if((o[(vi(g,Fe)|0)+4>>2]|0)==3)break;s[ie>>2]=me;o[ue>>2]=1;break e}}while(0);if(Ir(g,Fe,me)|0){m=o[g+992+(o[q>>2]<<2)>>2]|0;Be=Y(n+Y(Nr(m,me)));s[ie>>2]=Be;m=G&(o[m+4>>2]|0)==2;o[ue>>2]=((wt(Be)|0|m)^1)&1;break}else{s[ie>>2]=me;o[ue>>2]=m?0:2;break}}else{Be=Y(w-D);O=Y(Be/E);Be=Y(E*Be);o[ue>>2]=1;s[ie>>2]=Y(n+(Pe?O:Be))}}while(0);mi(g,Re,N,Oe,ae,oe);mi(g,Fe,me,Oe,ue,ie);do{if(!(Ir(g,Fe,me)|0)?(pi(e,g)|0)==4:0){if((o[(hi(g,Fe)|0)+4>>2]|0)==3){m=0;break}m=(o[(vi(g,Fe)|0)+4>>2]|0)!=3}else m=0}while(0);Be=Y(s[oe>>2]);O=Y(s[ie>>2]);je=o[ae>>2]|0;Ue=o[ue>>2]|0;Dr(g,Pe?Be:O,Pe?O:Be,Ie,Pe?je:Ue,Pe?Ue:je,Oe,ye,p&(m^1),3488,v)|0;r[X>>0]=r[X>>0]|r[g+508>>0];g=o[g+960>>2]|0}while((g|0)!=0)}else t=Y(0.0)}else t=Y(0.0);t=Y(P+t);Ue=t>0]=Ue|u[X>>0];if(U&t>Y(0.0)){m=o[z>>2]|0;if((o[e+364+(m<<3)+4>>2]|0)!=0?(pe=Y(Nr(e+364+(m<<3)|0,be)),pe>=Y(0.0)):0)w=Y(NT(Y(0.0),Y(pe-Y(N-t))));else w=Y(0.0)}else w=t;T=I>>>0>>0;if(T){_=o[Ne>>2]|0;y=I;m=0;do{g=o[_+(y<<2)>>2]|0;if(!(o[g+24>>2]|0)){m=((o[(hi(g,Re)|0)+4>>2]|0)==3&1)+m|0;m=m+((o[(vi(g,Re)|0)+4>>2]|0)==3&1)|0}y=y+1|0}while((y|0)!=(A|0));if(m){D=Y(0.0);n=Y(0.0)}else K=101}else K=101;e:do{if((K|0)==101){K=0;switch(Q|0){case 1:{m=0;D=Y(w*Y(.5));n=Y(0.0);break e}case 2:{m=0;D=w;n=Y(0.0);break e}case 3:{if(l>>>0<=1){m=0;D=Y(0.0);n=Y(0.0);break e}n=Y((l+-1|0)>>>0);m=0;D=Y(0.0);n=Y(Y(NT(w,Y(0.0)))/n);break e}case 5:{n=Y(w/Y((l+1|0)>>>0));m=0;D=n;break e}case 4:{n=Y(w/Y(l>>>0));m=0;D=Y(n*Y(.5));break e}default:{m=0;D=Y(0.0);n=Y(0.0);break e}}}}while(0);t=Y(Z+D);if(T){E=Y(w/Y(m|0));y=o[Ne>>2]|0;g=I;w=Y(0.0);do{m=o[y+(g<<2)>>2]|0;e:do{if((o[m+36>>2]|0)!=1){switch(o[m+24>>2]|0){case 1:{if(gi(m,Re)|0){if(!p)break e;Be=Y(yi(m,Re,N));Be=Y(Be+Y(Xr(e,Re)));Be=Y(Be+Y(Vr(m,Re,Oe)));s[m+400+(o[V>>2]<<2)>>2]=Be;break e}break}case 0:{Ue=(o[(hi(m,Re)|0)+4>>2]|0)==3;Be=Y(E+t);t=Ue?Be:t;if(p){Ue=m+400+(o[V>>2]<<2)|0;s[Ue>>2]=Y(t+Y(s[Ue>>2]))}Ue=(o[(vi(m,Re)|0)+4>>2]|0)==3;Be=Y(E+t);t=Ue?Be:t;if(B){Be=Y(n+Y(Sr(m,Re,Oe)));w=me;t=Y(t+Y(Be+Y(s[m+504>>2])));break e}else{t=Y(t+Y(n+Y(_i(m,Re,Oe))));w=Y(NT(w,Y(_i(m,Fe,Oe))));break e}}default:{}}if(p){Be=Y(D+Y(Xr(e,Re)));Ue=m+400+(o[V>>2]<<2)|0;s[Ue>>2]=Y(Be+Y(s[Ue>>2]))}}}while(0);g=g+1|0}while((g|0)!=(A|0))}else w=Y(0.0);n=Y(ee+t);if(W)D=Y(Y(di(e,Fe,Y(Ce+w),Se,c))-Ce);else D=me;E=Y(Y(di(e,Fe,Y(Ce+($?me:w)),Se,c))-Ce);if(T&p){g=I;do{y=o[(o[Ne>>2]|0)+(g<<2)>>2]|0;do{if((o[y+36>>2]|0)!=1){if((o[y+24>>2]|0)==1){if(gi(y,Fe)|0){Be=Y(yi(y,Fe,me));Be=Y(Be+Y(Xr(e,Fe)));Be=Y(Be+Y(Vr(y,Fe,Oe)));m=o[H>>2]|0;s[y+400+(m<<2)>>2]=Be;if(!(wt(Be)|0))break}else m=o[H>>2]|0;Be=Y(Xr(e,Fe));s[y+400+(m<<2)>>2]=Y(Be+Y(Vr(y,Fe,Oe)));break}m=pi(e,y)|0;do{if((m|0)==4){if((o[(hi(y,Fe)|0)+4>>2]|0)==3){K=139;break}if((o[(vi(y,Fe)|0)+4>>2]|0)==3){K=139;break}if(Ir(y,Fe,me)|0){t=b;break}je=o[y+908+(o[z>>2]<<2)>>2]|0;o[ie>>2]=je;t=Y(s[y+396>>2]);Ue=wt(t)|0;w=(o[d>>2]=je,Y(s[d>>2]));if(Ue)t=E;else{P=Y(Sr(y,Fe,Oe));Be=Y(w/t);t=Y(t*w);t=Y(P+(Pe?Be:t))}s[oe>>2]=t;s[ie>>2]=Y(Y(Sr(y,Re,Oe))+w);o[ue>>2]=1;o[ae>>2]=1;mi(y,Re,N,Oe,ue,ie);mi(y,Fe,me,Oe,ae,oe);t=Y(s[ie>>2]);P=Y(s[oe>>2]);Be=Pe?t:P;t=Pe?P:t;Ue=((wt(Be)|0)^1)&1;Dr(y,Be,t,Ie,Ue,((wt(t)|0)^1)&1,Oe,ye,1,3493,v)|0;t=b}else K=139}while(0);e:do{if((K|0)==139){K=0;t=Y(D-Y(_i(y,Fe,Oe)));do{if((o[(hi(y,Fe)|0)+4>>2]|0)==3){if((o[(vi(y,Fe)|0)+4>>2]|0)!=3)break;t=Y(b+Y(NT(Y(0.0),Y(t*Y(.5)))));break e}}while(0);if((o[(vi(y,Fe)|0)+4>>2]|0)==3){t=b;break}if((o[(hi(y,Fe)|0)+4>>2]|0)==3){t=Y(b+Y(NT(Y(0.0),t)));break}switch(m|0){case 1:{t=b;break e}case 2:{t=Y(b+Y(t*Y(.5)));break e}default:{t=Y(b+t);break e}}}}while(0);Be=Y(he+t);Ue=y+400+(o[H>>2]<<2)|0;s[Ue>>2]=Y(Be+Y(s[Ue>>2]))}}while(0);g=g+1|0}while((g|0)!=(A|0))}he=Y(he+E);re=Y(NT(re,n));l=L+1|0;if(A>>>0>=Me>>>0)break;else{t=N;I=A;L=l}}do{if(p){m=l>>>0>1;if(!m?!(bi(e)|0):0)break;if(!(wt(me)|0)){t=Y(me-he);e:do{switch(o[e+12>>2]|0){case 3:{b=Y(b+t);C=Y(0.0);break}case 2:{b=Y(b+Y(t*Y(.5)));C=Y(0.0);break}case 4:{if(me>he)C=Y(t/Y(l>>>0));else C=Y(0.0);break}case 7:if(me>he){b=Y(b+Y(t/Y(l<<1>>>0)));C=Y(t/Y(l>>>0));C=m?C:Y(0.0);break e}else{b=Y(b+Y(t*Y(.5)));C=Y(0.0);break e}case 6:{C=Y(t/Y(L>>>0));C=me>he&m?C:Y(0.0);break}default:C=Y(0.0)}}while(0);if(l|0){T=1040+(Fe<<2)|0;x=976+(Fe<<2)|0;_=0;g=0;while(1){e:do{if(g>>>0>>0){w=Y(0.0);E=Y(0.0);t=Y(0.0);y=g;while(1){m=o[(o[Ne>>2]|0)+(y<<2)>>2]|0;do{if((o[m+36>>2]|0)!=1?(o[m+24>>2]|0)==0:0){if((o[m+940>>2]|0)!=(_|0))break e;if(wi(m,Fe)|0){Be=Y(s[m+908+(o[x>>2]<<2)>>2]);t=Y(NT(t,Y(Be+Y(Sr(m,Fe,Oe)))))}if((pi(e,m)|0)!=5)break;pe=Y(Ei(m));pe=Y(pe+Y(Vr(m,0,Oe)));Be=Y(s[m+912>>2]);Be=Y(Y(Be+Y(Sr(m,0,Oe)))-pe);pe=Y(NT(E,pe));Be=Y(NT(w,Be));w=Be;E=pe;t=Y(NT(t,Y(pe+Be)))}}while(0);m=y+1|0;if(m>>>0>>0)y=m;else{y=m;break}}}else{E=Y(0.0);t=Y(0.0);y=g}}while(0);S=Y(C+t);n=b;b=Y(b+S);if(g>>>0>>0){D=Y(n+E);m=g;do{g=o[(o[Ne>>2]|0)+(m<<2)>>2]|0;e:do{if((o[g+36>>2]|0)!=1?(o[g+24>>2]|0)==0:0)switch(pi(e,g)|0){case 1:{Be=Y(n+Y(Vr(g,Fe,Oe)));s[g+400+(o[T>>2]<<2)>>2]=Be;break e}case 3:{Be=Y(Y(b-Y(qr(g,Fe,Oe)))-Y(s[g+908+(o[x>>2]<<2)>>2]));s[g+400+(o[T>>2]<<2)>>2]=Be;break e}case 2:{Be=Y(n+Y(Y(S-Y(s[g+908+(o[x>>2]<<2)>>2]))*Y(.5)));s[g+400+(o[T>>2]<<2)>>2]=Be;break e}case 4:{Be=Y(n+Y(Vr(g,Fe,Oe)));s[g+400+(o[T>>2]<<2)>>2]=Be;if(Ir(g,Fe,me)|0)break e;if(Pe){w=Y(s[g+908>>2]);t=Y(w+Y(Sr(g,Re,Oe)));E=S}else{E=Y(s[g+912>>2]);E=Y(E+Y(Sr(g,Fe,Oe)));t=S;w=Y(s[g+908>>2])}if(vr(t,w)|0?vr(E,Y(s[g+912>>2]))|0:0)break e;Dr(g,t,E,Ie,1,1,Oe,ye,1,3501,v)|0;break e}case 5:{s[g+404>>2]=Y(Y(D-Y(Ei(g)))+Y(yi(g,0,me)));break e}default:break e}}while(0);m=m+1|0}while((m|0)!=(y|0))}_=_+1|0;if((_|0)==(l|0))break;else g=y}}}}}while(0);s[e+908>>2]=Y(di(e,2,_e,c,c));s[e+912>>2]=Y(di(e,0,ge,f,c));if((ve|0)!=0?(Ee=o[e+32>>2]|0,De=(ve|0)==2,!(De&(Ee|0)!=2)):0){if(De&(Ee|0)==2){t=Y(we+N);t=Y(NT(Y(RT(t,Y(Di(e,Re,re,be)))),we));K=198}}else{t=Y(di(e,Re,re,be,c));K=198}if((K|0)==198)s[e+908+(o[976+(Re<<2)>>2]<<2)>>2]=t;if((ke|0)!=0?(xe=o[e+32>>2]|0,Ae=(ke|0)==2,!(Ae&(xe|0)!=2)):0){if(Ae&(xe|0)==2){t=Y(Ce+me);t=Y(NT(Y(RT(t,Y(Di(e,Fe,Y(Ce+he),Se)))),Ce));K=204}}else{t=Y(di(e,Fe,Y(Ce+he),Se,c));K=204}if((K|0)==204)s[e+908+(o[976+(Fe<<2)>>2]<<2)>>2]=t;if(p){if((o[Te>>2]|0)==2){g=976+(Fe<<2)|0;y=1040+(Fe<<2)|0;m=0;do{_=Pt(e,m)|0;if(!(o[_+24>>2]|0)){je=o[g>>2]|0;Be=Y(s[e+908+(je<<2)>>2]);Ue=_+400+(o[y>>2]<<2)|0;Be=Y(Be-Y(s[Ue>>2]));s[Ue>>2]=Y(Be-Y(s[_+908+(je<<2)>>2]))}m=m+1|0}while((m|0)!=(Me|0))}if(i|0){m=Pe?ve:a;do{Si(e,i,Oe,m,ye,Ie,v);i=o[i+960>>2]|0}while((i|0)!=0)}m=(Re|2|0)==3;g=(Fe|2|0)==3;if(m|g){i=0;do{y=o[(o[Ne>>2]|0)+(i<<2)>>2]|0;if((o[y+36>>2]|0)!=1){if(m)Ci(e,y,Re);if(g)Ci(e,y,Fe)}i=i+1|0}while((i|0)!=(Me|0))}}}else ei(e,t,n,a,l,c,f)}while(0);h=Le;return}function Ar(e,t){e=e|0;t=Y(t);var n=0;St(e,t>=Y(0.0),3147);n=t==Y(0.0);s[e+4>>2]=n?Y(0.0):t;return}function Or(e,t,n,i){e=e|0;t=Y(t);n=Y(n);i=i|0;var u=ft,a=ft,l=0,c=0,f=0;o[2278]=(o[2278]|0)+1;Pr(e);if(!(Ir(e,2,t)|0)){u=Y(Nr(e+380|0,t));if(!(u>=Y(0.0))){f=((wt(t)|0)^1)&1;u=t}else f=2}else{u=Y(Nr(o[e+992>>2]|0,t));f=1;u=Y(u+Y(Sr(e,2,t)))}if(!(Ir(e,0,n)|0)){a=Y(Nr(e+388|0,n));if(!(a>=Y(0.0))){c=((wt(n)|0)^1)&1;a=n}else c=2}else{a=Y(Nr(o[e+996>>2]|0,n));c=1;a=Y(a+Y(Sr(e,0,t)))}l=e+976|0;if(Dr(e,u,a,i,f,c,t,n,1,3189,o[l>>2]|0)|0?(Mr(e,o[e+496>>2]|0,t,n,t),Rr(e,Y(s[(o[l>>2]|0)+4>>2]),Y(0.0),Y(0.0)),r[11696]|0):0)mr(e,7);return}function Pr(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;a=l+24|0;u=l+16|0;r=l+8|0;i=l;n=0;do{t=e+380+(n<<3)|0;if(!((o[e+380+(n<<3)+4>>2]|0)!=0?(s=t,c=o[s+4>>2]|0,f=r,o[f>>2]=o[s>>2],o[f+4>>2]=c,f=e+364+(n<<3)|0,c=o[f+4>>2]|0,s=i,o[s>>2]=o[f>>2],o[s+4>>2]=c,o[u>>2]=o[r>>2],o[u+4>>2]=o[r+4>>2],o[a>>2]=o[i>>2],o[a+4>>2]=o[i+4>>2],hr(u,a)|0):0))t=e+348+(n<<3)|0;o[e+992+(n<<2)>>2]=t;n=n+1|0}while((n|0)!=2);h=l;return}function Ir(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0;e=o[e+992+(o[976+(t<<2)>>2]<<2)>>2]|0;switch(o[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{if(Y(s[e>>2])>2])>2]|0){case 2:{t=Y(Y(Y(s[e>>2])*t)/Y(100.0));break}case 1:{t=Y(s[e>>2]);break}default:t=Y(E)}return Y(t)}function Mr(e,t,n,r,i){e=e|0;t=t|0;n=Y(n);r=Y(r);i=Y(i);var u=0,a=ft;t=o[e+944>>2]|0?t:1;u=Kr(o[e+4>>2]|0,t)|0;t=ri(u,t)|0;n=Y(Pi(e,u,n));r=Y(Pi(e,t,r));a=Y(n+Y(Vr(e,u,i)));s[e+400+(o[1040+(u<<2)>>2]<<2)>>2]=a;n=Y(n+Y(qr(e,u,i)));s[e+400+(o[1e3+(u<<2)>>2]<<2)>>2]=n;n=Y(r+Y(Vr(e,t,i)));s[e+400+(o[1040+(t<<2)>>2]<<2)>>2]=n;i=Y(r+Y(qr(e,t,i)));s[e+400+(o[1e3+(t<<2)>>2]<<2)>>2]=i;return}function Rr(e,t,n,r){e=e|0;t=Y(t);n=Y(n);r=Y(r);var i=0,u=0,a=ft,l=ft,c=0,f=0,d=ft,p=0,h=ft,v=ft,m=ft,g=ft;if(!(t==Y(0.0))){i=e+400|0;g=Y(s[i>>2]);u=e+404|0;m=Y(s[u>>2]);p=e+416|0;v=Y(s[p>>2]);f=e+420|0;a=Y(s[f>>2]);h=Y(g+n);d=Y(m+r);r=Y(h+v);l=Y(d+a);c=(o[e+988>>2]|0)==1;s[i>>2]=Y(yr(g,t,0,c));s[u>>2]=Y(yr(m,t,0,c));n=Y(LT(Y(v*t),Y(1.0)));if(vr(n,Y(0.0))|0)u=0;else u=(vr(n,Y(1.0))|0)^1;n=Y(LT(Y(a*t),Y(1.0)));if(vr(n,Y(0.0))|0)i=0;else i=(vr(n,Y(1.0))|0)^1;g=Y(yr(r,t,c&u,c&(u^1)));s[p>>2]=Y(g-Y(yr(h,t,0,c)));g=Y(yr(l,t,c&i,c&(i^1)));s[f>>2]=Y(g-Y(yr(d,t,0,c)));u=(o[e+952>>2]|0)-(o[e+948>>2]|0)>>2;if(u|0){i=0;do{Rr(Pt(e,i)|0,t,h,d);i=i+1|0}while((i|0)!=(u|0))}}return}function Fr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;switch(n|0){case 5:case 0:{e=oT(o[489]|0,r,i)|0;break}default:e=jT(r,i)|0}return e|0}function Lr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;i=h;h=h+16|0;u=i;o[u>>2]=r;Br(e,0,t,n,u);h=i;return}function Br(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;e=e|0?e:956;xA[o[e+8>>2]&1](e,t,n,r,i)|0;if((n|0)==5)Ye();else return}function jr(e,t,n){e=e|0;t=t|0;n=n|0;r[e+t>>0]=n&1;return}function Ur(e,t){e=e|0;t=t|0;var n=0,r=0;o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;n=t+4|0;r=(o[n>>2]|0)-(o[t>>2]|0)>>2;if(r|0){zr(e,r);Wr(e,o[t>>2]|0,o[n>>2]|0,r)}return}function zr(e,t){e=e|0;t=t|0;var n=0;if((Hr(e)|0)>>>0>>0)UT(e);if(t>>>0>1073741823)Ye();else{n=$T(t<<2)|0;o[e+4>>2]=n;o[e>>2]=n;o[e+8>>2]=n+(t<<2);return}}function Wr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=e+4|0;e=n-t|0;if((e|0)>0){ix(o[r>>2]|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+(e>>>2<<2)}return}function Hr(e){e=e|0;return 1073741823}function Vr(e,t,n){e=e|0;t=t|0;n=Y(n);if(Gr(t)|0?(o[e+96>>2]|0)!=0:0)e=e+92|0;else e=Et(e+60|0,o[1040+(t<<2)>>2]|0,992)|0;return Y($r(e,n))}function qr(e,t,n){e=e|0;t=t|0;n=Y(n);if(Gr(t)|0?(o[e+104>>2]|0)!=0:0)e=e+100|0;else e=Et(e+60|0,o[1e3+(t<<2)>>2]|0,992)|0;return Y($r(e,n))}function Gr(e){e=e|0;return(e|1|0)==3|0}function $r(e,t){e=e|0;t=Y(t);if((o[e+4>>2]|0)==3)t=Y(0.0);else t=Y(Nr(e,t));return Y(t)}function Yr(e,t){e=e|0;t=t|0;e=o[e>>2]|0;return((e|0)==0?(t|0)>1?t:1:e)|0}function Kr(e,t){e=e|0;t=t|0;var n=0;e:do{if((t|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{n=4;break e}}e=2}else n=4}while(0);return e|0}function Xr(e,t){e=e|0;t=t|0;var n=ft;if(!((Gr(t)|0?(o[e+312>>2]|0)!=0:0)?(n=Y(s[e+308>>2]),n>=Y(0.0)):0))n=Y(NT(Y(s[(Et(e+276|0,o[1040+(t<<2)>>2]|0,992)|0)>>2]),Y(0.0)));return Y(n)}function Qr(e,t){e=e|0;t=t|0;var n=ft;if(!((Gr(t)|0?(o[e+320>>2]|0)!=0:0)?(n=Y(s[e+316>>2]),n>=Y(0.0)):0))n=Y(NT(Y(s[(Et(e+276|0,o[1e3+(t<<2)>>2]|0,992)|0)>>2]),Y(0.0)));return Y(n)}function Jr(e,t,n){e=e|0;t=t|0;n=Y(n);var r=ft;if(!((Gr(t)|0?(o[e+240>>2]|0)!=0:0)?(r=Y(Nr(e+236|0,n)),r>=Y(0.0)):0))r=Y(NT(Y(Nr(Et(e+204|0,o[1040+(t<<2)>>2]|0,992)|0,n)),Y(0.0)));return Y(r)}function Zr(e,t,n){e=e|0;t=t|0;n=Y(n);var r=ft;if(!((Gr(t)|0?(o[e+248>>2]|0)!=0:0)?(r=Y(Nr(e+244|0,n)),r>=Y(0.0)):0))r=Y(NT(Y(Nr(Et(e+204|0,o[1e3+(t<<2)>>2]|0,992)|0,n)),Y(0.0)));return Y(r)}function ei(e,t,n,r,i,u,a){e=e|0;t=Y(t);n=Y(n);r=r|0;i=i|0;u=Y(u);a=Y(a);var l=ft,c=ft,f=ft,d=ft,p=ft,v=ft,m=0,g=0,y=0;y=h;h=h+16|0;m=y;g=e+964|0;Rt(e,(o[g>>2]|0)!=0,3519);l=Y(ui(e,2,t));c=Y(ui(e,0,t));f=Y(Sr(e,2,t));d=Y(Sr(e,0,t));if(wt(t)|0)p=t;else p=Y(NT(Y(0.0),Y(Y(t-f)-l)));if(wt(n)|0)v=n;else v=Y(NT(Y(0.0),Y(Y(n-d)-c)));if((r|0)==1&(i|0)==1){s[e+908>>2]=Y(di(e,2,Y(t-f),u,u));t=Y(di(e,0,Y(n-d),a,u))}else{OA[o[g>>2]&1](m,e,p,r,v,i);p=Y(l+Y(s[m>>2]));v=Y(t-f);s[e+908>>2]=Y(di(e,2,(r|2|0)==2?p:v,u,u));v=Y(c+Y(s[m+4>>2]));t=Y(n-d);t=Y(di(e,0,(i|2|0)==2?v:t,a,u))}s[e+912>>2]=t;h=y;return}function ti(e,t,n,r,i,o,u){e=e|0;t=Y(t);n=Y(n);r=r|0;i=i|0;o=Y(o);u=Y(u);var a=ft,l=ft,c=ft,f=ft;c=Y(ui(e,2,o));a=Y(ui(e,0,o));f=Y(Sr(e,2,o));l=Y(Sr(e,0,o));t=Y(t-f);s[e+908>>2]=Y(di(e,2,(r|2|0)==2?c:t,o,o));n=Y(n-l);s[e+912>>2]=Y(di(e,0,(i|2|0)==2?a:n,u,o));return}function ni(e,t,n,r,i,o,u){e=e|0;t=Y(t);n=Y(n);r=r|0;i=i|0;o=Y(o);u=Y(u);var a=0,l=ft,c=ft;a=(r|0)==2;if((!(t<=Y(0.0)&a)?!(n<=Y(0.0)&(i|0)==2):0)?!((r|0)==1&(i|0)==1):0)e=0;else{l=Y(Sr(e,0,o));c=Y(Sr(e,2,o));a=t>2]=Y(di(e,2,a?Y(0.0):t,o,o));t=Y(n-l);a=n>2]=Y(di(e,0,a?Y(0.0):t,u,o));e=1}return e|0}function ri(e,t){e=e|0;t=t|0;if(ki(e)|0)e=Kr(2,t)|0;else e=0;return e|0}function ii(e,t,n){e=e|0;t=t|0;n=Y(n);n=Y(Jr(e,t,n));return Y(n+Y(Xr(e,t)))}function oi(e,t,n){e=e|0;t=t|0;n=Y(n);n=Y(Zr(e,t,n));return Y(n+Y(Qr(e,t)))}function ui(e,t,n){e=e|0;t=t|0;n=Y(n);var r=ft;r=Y(ii(e,t,n));return Y(r+Y(oi(e,t,n)))}function ai(e){e=e|0;if(!(o[e+24>>2]|0)){if(Y(li(e))!=Y(0.0))e=1;else e=Y(si(e))!=Y(0.0)}else e=0;return e|0}function li(e){e=e|0;var t=ft;if(o[e+944>>2]|0){t=Y(s[e+44>>2]);if(wt(t)|0){t=Y(s[e+40>>2]);e=t>Y(0.0)&((wt(t)|0)^1);return Y(e?t:Y(0.0))}}else t=Y(0.0);return Y(t)}function si(e){e=e|0;var t=ft,n=0,i=ft;do{if(o[e+944>>2]|0){t=Y(s[e+48>>2]);if(wt(t)|0){n=r[(o[e+976>>2]|0)+2>>0]|0;if(n<<24>>24==0?(i=Y(s[e+40>>2]),i>24?Y(1.0):Y(0.0)}}else t=Y(0.0)}while(0);return Y(t)}function ci(e){e=e|0;var t=0,n=0;tx(e+400|0,0,540)|0;r[e+985>>0]=1;Wt(e);n=Ot(e)|0;if(n|0){t=e+948|0;e=0;do{ci(o[(o[t>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)!=(n|0))}return}function fi(e,t,n,r,i,u,a,l,c,f){e=e|0;t=t|0;n=Y(n);r=r|0;i=Y(i);u=Y(u);a=Y(a);l=l|0;c=c|0;f=f|0;var d=0,p=ft,v=0,m=0,g=ft,y=ft,_=0,b=ft,w=0,D=ft,S=0,C=0,k=0,T=0,x=0,A=0,O=0,P=0,I=0,N=0;I=h;h=h+16|0;k=I+12|0;T=I+8|0;x=I+4|0;A=I;P=Kr(o[e+4>>2]|0,c)|0;S=Gr(P)|0;p=Y(Nr(Ti(t)|0,S?u:a));C=Ir(t,2,u)|0;O=Ir(t,0,a)|0;do{if(!(wt(p)|0)?!(wt(S?n:i)|0):0){d=t+504|0;if(!(wt(Y(s[d>>2]))|0)){if(!(xi(o[t+976>>2]|0,0)|0))break;if((o[t+500>>2]|0)==(o[2278]|0))break}s[d>>2]=Y(NT(p,Y(ui(t,P,u))))}else v=7}while(0);do{if((v|0)==7){w=S^1;if(!(w|C^1)){a=Y(Nr(o[t+992>>2]|0,u));s[t+504>>2]=Y(NT(a,Y(ui(t,2,u))));break}if(!(S|O^1)){a=Y(Nr(o[t+996>>2]|0,a));s[t+504>>2]=Y(NT(a,Y(ui(t,0,u))));break}s[k>>2]=Y(E);s[T>>2]=Y(E);o[x>>2]=0;o[A>>2]=0;b=Y(Sr(t,2,u));D=Y(Sr(t,0,u));if(C){g=Y(b+Y(Nr(o[t+992>>2]|0,u)));s[k>>2]=g;o[x>>2]=1;m=1}else{m=0;g=Y(E)}if(O){p=Y(D+Y(Nr(o[t+996>>2]|0,a)));s[T>>2]=p;o[A>>2]=1;d=1}else{d=0;p=Y(E)}v=o[e+32>>2]|0;if(!(S&(v|0)==2)){if(wt(g)|0?!(wt(n)|0):0){s[k>>2]=n;o[x>>2]=2;m=2;g=n}}else v=2;if((!((v|0)==2&w)?wt(p)|0:0)?!(wt(i)|0):0){s[T>>2]=i;o[A>>2]=2;d=2;p=i}y=Y(s[t+396>>2]);_=wt(y)|0;do{if(!_){if((m|0)==1&w){s[T>>2]=Y(Y(g-b)/y);o[A>>2]=1;d=1;v=1;break}if(S&(d|0)==1){s[k>>2]=Y(y*Y(p-D));o[x>>2]=1;d=1;v=1}else v=m}else v=m}while(0);N=wt(n)|0;m=(pi(e,t)|0)!=4;if(!(S|C|((r|0)!=1|N)|(m|(v|0)==1))?(s[k>>2]=n,o[x>>2]=1,!_):0){s[T>>2]=Y(Y(n-b)/y);o[A>>2]=1;d=1}if(!(O|w|((l|0)!=1|(wt(i)|0))|(m|(d|0)==1))?(s[T>>2]=i,o[A>>2]=1,!_):0){s[k>>2]=Y(y*Y(i-D));o[x>>2]=1}mi(t,2,u,u,x,k);mi(t,0,a,u,A,T);n=Y(s[k>>2]);i=Y(s[T>>2]);Dr(t,n,i,c,o[x>>2]|0,o[A>>2]|0,u,a,0,3565,f)|0;a=Y(s[t+908+(o[976+(P<<2)>>2]<<2)>>2]);s[t+504>>2]=Y(NT(a,Y(ui(t,P,u))))}}while(0);o[t+500>>2]=o[2278];h=I;return}function di(e,t,n,r,i){e=e|0;t=t|0;n=Y(n);r=Y(r);i=Y(i);r=Y(Di(e,t,n,r));return Y(NT(r,Y(ui(e,t,i))))}function pi(e,t){e=e|0;t=t|0;t=t+20|0;t=o[((o[t>>2]|0)==0?e+16|0:t)>>2]|0;if((t|0)==5?ki(o[e+4>>2]|0)|0:0)t=1;return t|0}function hi(e,t){e=e|0;t=t|0;if(Gr(t)|0?(o[e+96>>2]|0)!=0:0)t=4;else t=o[1040+(t<<2)>>2]|0;return e+60+(t<<3)|0}function vi(e,t){e=e|0;t=t|0;if(Gr(t)|0?(o[e+104>>2]|0)!=0:0)t=5;else t=o[1e3+(t<<2)>>2]|0;return e+60+(t<<3)|0}function mi(e,t,n,r,i,u){e=e|0;t=t|0;n=Y(n);r=Y(r);i=i|0;u=u|0;n=Y(Nr(e+380+(o[976+(t<<2)>>2]<<3)|0,n));n=Y(n+Y(Sr(e,t,r)));switch(o[i>>2]|0){case 2:case 1:{i=wt(n)|0;r=Y(s[u>>2]);s[u>>2]=i|r>2]=2;s[u>>2]=n}break}default:{}}return}function gi(e,t){e=e|0;t=t|0;e=e+132|0;if(Gr(t)|0?(o[(Et(e,4,948)|0)+4>>2]|0)!=0:0)e=1;else e=(o[(Et(e,o[1040+(t<<2)>>2]|0,948)|0)+4>>2]|0)!=0;return e|0}function yi(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0;e=e+132|0;if(Gr(t)|0?(r=Et(e,4,948)|0,(o[r+4>>2]|0)!=0):0)i=4;else{r=Et(e,o[1040+(t<<2)>>2]|0,948)|0;if(!(o[r+4>>2]|0))n=Y(0.0);else i=4}if((i|0)==4)n=Y(Nr(r,n));return Y(n)}function _i(e,t,n){e=e|0;t=t|0;n=Y(n);var r=ft;r=Y(s[e+908+(o[976+(t<<2)>>2]<<2)>>2]);r=Y(r+Y(Vr(e,t,n)));return Y(r+Y(qr(e,t,n)))}function bi(e){e=e|0;var t=0,n=0,r=0;e:do{if(!(ki(o[e+4>>2]|0)|0)){if((o[e+16>>2]|0)!=5){n=Ot(e)|0;if(!n)t=0;else{t=0;while(1){r=Pt(e,t)|0;if((o[r+24>>2]|0)==0?(o[r+20>>2]|0)==5:0){t=1;break e}t=t+1|0;if(t>>>0>=n>>>0){t=0;break}}}}else t=1}else t=0}while(0);return t|0}function wi(e,t){e=e|0;t=t|0;var n=ft;n=Y(s[e+908+(o[976+(t<<2)>>2]<<2)>>2]);return n>=Y(0.0)&((wt(n)|0)^1)|0}function Ei(e){e=e|0;var t=ft,n=0,r=0,i=0,u=0,a=0,l=0,c=ft;n=o[e+968>>2]|0;if(!n){u=Ot(e)|0;do{if(u|0){n=0;i=0;while(1){r=Pt(e,i)|0;if(o[r+940>>2]|0){a=8;break}if((o[r+24>>2]|0)!=1){l=(pi(e,r)|0)==5;if(l){n=r;break}else n=(n|0)==0?r:n}i=i+1|0;if(i>>>0>=u>>>0){a=8;break}}if((a|0)==8)if(!n)break;t=Y(Ei(n));return Y(t+Y(s[n+404>>2]))}}while(0);t=Y(s[e+912>>2])}else{c=Y(s[e+908>>2]);t=Y(s[e+912>>2]);t=Y(pA[n&0](e,c,t));Rt(e,(wt(t)|0)^1,3573)}return Y(t)}function Di(e,t,n,r){e=e|0;t=t|0;n=Y(n);r=Y(r);var i=ft,o=0;if(!(ki(t)|0)){if(Gr(t)|0){t=0;o=3}else{r=Y(E);i=Y(E)}}else{t=1;o=3}if((o|0)==3){i=Y(Nr(e+364+(t<<3)|0,r));r=Y(Nr(e+380+(t<<3)|0,r))}o=r=Y(0.0)&((wt(r)|0)^1));n=o?r:n;o=i>=Y(0.0)&((wt(i)|0)^1)&n>2]|0,u)|0;m=ri(y,u)|0;g=Gr(y)|0;p=Y(Sr(t,2,n));h=Y(Sr(t,0,n));if(!(Ir(t,2,n)|0)){if(gi(t,2)|0?Ai(t,2)|0:0){l=Y(s[e+908>>2]);c=Y(Xr(e,2));c=Y(l-Y(c+Y(Qr(e,2))));l=Y(yi(t,2,n));l=Y(di(t,2,Y(c-Y(l+Y(Oi(t,2,n)))),n,n))}else l=Y(E)}else l=Y(p+Y(Nr(o[t+992>>2]|0,n)));if(!(Ir(t,0,i)|0)){if(gi(t,0)|0?Ai(t,0)|0:0){c=Y(s[e+912>>2]);b=Y(Xr(e,0));b=Y(c-Y(b+Y(Qr(e,0))));c=Y(yi(t,0,i));c=Y(di(t,0,Y(b-Y(c+Y(Oi(t,0,i)))),i,n))}else c=Y(E)}else c=Y(h+Y(Nr(o[t+996>>2]|0,i)));f=wt(l)|0;d=wt(c)|0;do{if(f^d?(v=Y(s[t+396>>2]),!(wt(v)|0)):0)if(f){l=Y(p+Y(Y(c-h)*v));break}else{b=Y(h+Y(Y(l-p)/v));c=d?b:c;break}}while(0);d=wt(l)|0;f=wt(c)|0;if(d|f){w=(d^1)&1;r=n>Y(0.0)&((r|0)!=0&d);l=g?l:r?n:l;Dr(t,l,c,u,g?w:r?2:w,d&(f^1)&1,l,c,0,3623,a)|0;l=Y(s[t+908>>2]);l=Y(l+Y(Sr(t,2,n)));c=Y(s[t+912>>2]);c=Y(c+Y(Sr(t,0,n)))}Dr(t,l,c,u,1,1,l,c,1,3635,a)|0;if(Ai(t,y)|0?!(gi(t,y)|0):0){w=o[976+(y<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(b-Y(s[t+908+(w<<2)>>2]));b=Y(b-Y(Qr(e,y)));b=Y(b-Y(qr(t,y,n)));b=Y(b-Y(Oi(t,y,g?n:i)));s[t+400+(o[1040+(y<<2)>>2]<<2)>>2]=b}else _=21;do{if((_|0)==21){if(!(gi(t,y)|0)?(o[e+8>>2]|0)==1:0){w=o[976+(y<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(Y(b-Y(s[t+908+(w<<2)>>2]))*Y(.5));s[t+400+(o[1040+(y<<2)>>2]<<2)>>2]=b;break}if(!(gi(t,y)|0)?(o[e+8>>2]|0)==2:0){w=o[976+(y<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(b-Y(s[t+908+(w<<2)>>2]));s[t+400+(o[1040+(y<<2)>>2]<<2)>>2]=b}}}while(0);if(Ai(t,m)|0?!(gi(t,m)|0):0){w=o[976+(m<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(b-Y(s[t+908+(w<<2)>>2]));b=Y(b-Y(Qr(e,m)));b=Y(b-Y(qr(t,m,n)));b=Y(b-Y(Oi(t,m,g?i:n)));s[t+400+(o[1040+(m<<2)>>2]<<2)>>2]=b}else _=30;do{if((_|0)==30?!(gi(t,m)|0):0){if((pi(e,t)|0)==2){w=o[976+(m<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(Y(b-Y(s[t+908+(w<<2)>>2]))*Y(.5));s[t+400+(o[1040+(m<<2)>>2]<<2)>>2]=b;break}w=(pi(e,t)|0)==3;if(w^(o[e+28>>2]|0)==2){w=o[976+(m<<2)>>2]|0;b=Y(s[e+908+(w<<2)>>2]);b=Y(b-Y(s[t+908+(w<<2)>>2]));s[t+400+(o[1040+(m<<2)>>2]<<2)>>2]=b}}}while(0);return}function Ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=ft,i=0;i=o[976+(n<<2)>>2]|0;r=Y(s[t+908+(i<<2)>>2]);r=Y(Y(s[e+908+(i<<2)>>2])-r);r=Y(r-Y(s[t+400+(o[1040+(n<<2)>>2]<<2)>>2]));s[t+400+(o[1e3+(n<<2)>>2]<<2)>>2]=r;return}function ki(e){e=e|0;return(e|1|0)==1|0}function Ti(e){e=e|0;var t=ft;switch(o[e+56>>2]|0){case 0:case 3:{t=Y(s[e+40>>2]);if(t>Y(0.0)&((wt(t)|0)^1))e=r[(o[e+976>>2]|0)+2>>0]|0?1056:992;else e=1056;break}default:e=e+52|0}return e|0}function xi(e,t){e=e|0;t=t|0;return(r[e+t>>0]|0)!=0|0}function Ai(e,t){e=e|0;t=t|0;e=e+132|0;if(Gr(t)|0?(o[(Et(e,5,948)|0)+4>>2]|0)!=0:0)e=1;else e=(o[(Et(e,o[1e3+(t<<2)>>2]|0,948)|0)+4>>2]|0)!=0;return e|0}function Oi(e,t,n){e=e|0;t=t|0;n=Y(n);var r=0,i=0;e=e+132|0;if(Gr(t)|0?(r=Et(e,5,948)|0,(o[r+4>>2]|0)!=0):0)i=4;else{r=Et(e,o[1e3+(t<<2)>>2]|0,948)|0;if(!(o[r+4>>2]|0))n=Y(0.0);else i=4}if((i|0)==4)n=Y(Nr(r,n));return Y(n)}function Pi(e,t,n){e=e|0;t=t|0;n=Y(n);if(gi(e,t)|0)n=Y(yi(e,t,n));else n=Y(-Y(Oi(e,t,n)));return Y(n)}function Ii(e){e=Y(e);return(s[d>>2]=e,o[d>>2]|0)|0}function Ni(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>1073741823)Ye();else{i=$T(t<<2)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<2)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<2);return}function Mi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>2)<<2)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Ri(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-4-t|0)>>>2)<<2);e=o[e>>2]|0;if(e|0)KT(e);return}function Fi(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;a=e+4|0;l=o[a>>2]|0;i=l-r|0;u=i>>2;e=t+(u<<2)|0;if(e>>>0>>0){r=l;do{o[r>>2]=o[e>>2];e=e+4|0;r=(o[a>>2]|0)+4|0;o[a>>2]=r}while(e>>>0>>0)}if(u|0)sx(l+(0-u<<2)|0,t|0,i|0)|0;return}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0;l=t+4|0;s=o[l>>2]|0;i=o[e>>2]|0;a=n;u=a-i|0;r=s+(0-(u>>2)<<2)|0;o[l>>2]=r;if((u|0)>0)ix(r|0,i|0,u|0)|0;i=e+4|0;u=t+8|0;r=(o[i>>2]|0)-a|0;if((r|0)>0){ix(o[u>>2]|0,n|0,r|0)|0;o[u>>2]=(o[u>>2]|0)+(r>>>2<<2)}a=o[e>>2]|0;o[e>>2]=o[l>>2];o[l>>2]=a;a=o[i>>2]|0;o[i>>2]=o[u>>2];o[u>>2]=a;a=e+8|0;n=t+12|0;e=o[a>>2]|0;o[a>>2]=o[n>>2];o[n>>2]=e;o[t>>2]=o[l>>2];return s|0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;a=o[t>>2]|0;u=o[n>>2]|0;if((a|0)!=(u|0)){i=e+8|0;n=((u+-4-a|0)>>>2)+1|0;e=a;r=o[i>>2]|0;do{o[r>>2]=o[e>>2];r=(o[i>>2]|0)+4|0;o[i>>2]=r;e=e+4|0}while((e|0)!=(u|0));o[t>>2]=a+(n<<2)}return}function ji(){_t();return}function Ui(){var e=0;e=$T(4)|0;zi(e);return e|0}function zi(e){e=e|0;o[e>>2]=Lt()|0;return}function Wi(e){e=e|0;if(e|0){Hi(e);KT(e)}return}function Hi(e){e=e|0;jt(o[e>>2]|0);return}function Vi(e,t,n){e=e|0;t=t|0;n=n|0;jr(o[e>>2]|0,t,n);return}function qi(e,t){e=e|0;t=Y(t);Ar(o[e>>2]|0,t);return}function Gi(e,t){e=e|0;t=t|0;return xi(o[e>>2]|0,t)|0}function $i(){var e=0;e=$T(8)|0;Yi(e,0);return e|0}function Yi(e,t){e=e|0;t=t|0;if(!t)t=Ct()|0;else t=Dt(o[t>>2]|0)|0;o[e>>2]=t;o[e+4>>2]=0;Jt(t,e);return}function Ki(e){e=e|0;var t=0;t=$T(8)|0;Yi(t,e);return t|0}function Xi(e){e=e|0;if(e|0){Qi(e);KT(e)}return}function Qi(e){e=e|0;var t=0;xt(o[e>>2]|0);t=e+4|0;e=o[t>>2]|0;o[t>>2]=0;if(e|0){Ji(e);KT(e)}return}function Ji(e){e=e|0;Zi(e);return}function Zi(e){e=e|0;e=o[e>>2]|0;if(e|0)rt(e|0);return}function eo(e){e=e|0;return Zt(e)|0}function to(e){e=e|0;var t=0,n=0;n=e+4|0;t=o[n>>2]|0;o[n>>2]=0;if(t|0){Ji(t);KT(t)}Mt(o[e>>2]|0);return}function no(e,t){e=e|0;t=t|0;Kt(o[e>>2]|0,o[t>>2]|0);return}function ro(e,t){e=e|0;t=t|0;fn(o[e>>2]|0,t);return}function io(e,t,n){e=e|0;t=t|0;n=+n;Cn(o[e>>2]|0,t,Y(n));return}function oo(e,t,n){e=e|0;t=t|0;n=+n;kn(o[e>>2]|0,t,Y(n));return}function uo(e,t){e=e|0;t=t|0;on(o[e>>2]|0,t);return}function ao(e,t){e=e|0;t=t|0;an(o[e>>2]|0,t);return}function lo(e,t){e=e|0;t=t|0;sn(o[e>>2]|0,t);return}function so(e,t){e=e|0;t=t|0;en(o[e>>2]|0,t);return}function co(e,t){e=e|0;t=t|0;pn(o[e>>2]|0,t);return}function fo(e,t){e=e|0;t=t|0;nn(o[e>>2]|0,t);return}function po(e,t,n){e=e|0;t=t|0;n=+n;xn(o[e>>2]|0,t,Y(n));return}function ho(e,t,n){e=e|0;t=t|0;n=+n;An(o[e>>2]|0,t,Y(n));return}function vo(e,t){e=e|0;t=t|0;Pn(o[e>>2]|0,t);return}function mo(e,t){e=e|0;t=t|0;vn(o[e>>2]|0,t);return}function go(e,t){e=e|0;t=t|0;gn(o[e>>2]|0,t);return}function yo(e,t){e=e|0;t=+t;_n(o[e>>2]|0,Y(t));return}function _o(e,t){e=e|0;t=+t;En(o[e>>2]|0,Y(t));return}function bo(e,t){e=e|0;t=+t;Dn(o[e>>2]|0,Y(t));return}function wo(e,t){e=e|0;t=+t;bn(o[e>>2]|0,Y(t));return}function Eo(e,t){e=e|0;t=+t;wn(o[e>>2]|0,Y(t));return}function Do(e,t){e=e|0;t=+t;Ln(o[e>>2]|0,Y(t));return}function So(e,t){e=e|0;t=+t;Bn(o[e>>2]|0,Y(t));return}function Co(e){e=e|0;jn(o[e>>2]|0);return}function ko(e,t){e=e|0;t=+t;zn(o[e>>2]|0,Y(t));return}function To(e,t){e=e|0;t=+t;Wn(o[e>>2]|0,Y(t));return}function xo(e){e=e|0;Hn(o[e>>2]|0);return}function Ao(e,t){e=e|0;t=+t;qn(o[e>>2]|0,Y(t));return}function Oo(e,t){e=e|0;t=+t;Gn(o[e>>2]|0,Y(t));return}function Po(e,t){e=e|0;t=+t;Yn(o[e>>2]|0,Y(t));return}function Io(e,t){e=e|0;t=+t;Kn(o[e>>2]|0,Y(t));return}function No(e,t){e=e|0;t=+t;Qn(o[e>>2]|0,Y(t));return}function Mo(e,t){e=e|0;t=+t;Jn(o[e>>2]|0,Y(t));return}function Ro(e,t){e=e|0;t=+t;er(o[e>>2]|0,Y(t));return}function Fo(e,t){e=e|0;t=+t;tr(o[e>>2]|0,Y(t));return}function Lo(e,t){e=e|0;t=+t;rr(o[e>>2]|0,Y(t));return}function Bo(e,t,n){e=e|0;t=t|0;n=+n;Rn(o[e>>2]|0,t,Y(n));return}function jo(e,t,n){e=e|0;t=t|0;n=+n;In(o[e>>2]|0,t,Y(n));return}function Uo(e,t,n){e=e|0;t=t|0;n=+n;Nn(o[e>>2]|0,t,Y(n));return}function zo(e){e=e|0;return dn(o[e>>2]|0)|0}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+16|0;i=r;Tn(i,o[t>>2]|0,n);Ho(e,i);h=r;return}function Ho(e,t){e=e|0;t=t|0;Vo(e,o[t+4>>2]|0,+Y(s[t>>2]));return}function Vo(e,t,n){e=e|0;t=t|0;n=+n;o[e>>2]=t;c[e+8>>3]=n;return}function qo(e){e=e|0;return un(o[e>>2]|0)|0}function Go(e){e=e|0;return ln(o[e>>2]|0)|0}function $o(e){e=e|0;return cn(o[e>>2]|0)|0}function Yo(e){e=e|0;return tn(o[e>>2]|0)|0}function Ko(e){e=e|0;return hn(o[e>>2]|0)|0}function Xo(e){e=e|0;return rn(o[e>>2]|0)|0}function Qo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+16|0;i=r;On(i,o[t>>2]|0,n);Ho(e,i);h=r;return}function Jo(e){e=e|0;return mn(o[e>>2]|0)|0}function Zo(e){e=e|0;return yn(o[e>>2]|0)|0}function eu(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Sn(r,o[t>>2]|0);Ho(e,r);h=n;return}function tu(e){e=e|0;return+ +Y(Xt(o[e>>2]|0))}function nu(e){e=e|0;return+ +Y(Qt(o[e>>2]|0))}function ru(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Un(r,o[t>>2]|0);Ho(e,r);h=n;return}function iu(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Vn(r,o[t>>2]|0);Ho(e,r);h=n;return}function ou(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;$n(r,o[t>>2]|0);Ho(e,r);h=n;return}function uu(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Xn(r,o[t>>2]|0);Ho(e,r);h=n;return}function au(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Zn(r,o[t>>2]|0);Ho(e,r);h=n;return}function lu(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;nr(r,o[t>>2]|0);Ho(e,r);h=n;return}function su(e){e=e|0;return+ +Y(ir(o[e>>2]|0))}function cu(e,t){e=e|0;t=t|0;return+ +Y(Fn(o[e>>2]|0,t))}function fu(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+16|0;i=r;Mn(i,o[t>>2]|0,n);Ho(e,i);h=r;return}function du(e,t,n){e=e|0;t=t|0;n=n|0;zt(o[e>>2]|0,o[t>>2]|0,n);return}function pu(e,t){e=e|0;t=t|0;Nt(o[e>>2]|0,o[t>>2]|0);return}function hu(e){e=e|0;return Ot(o[e>>2]|0)|0}function vu(e){e=e|0;e=Gt(o[e>>2]|0)|0;if(!e)e=0;else e=eo(e)|0;return e|0}function mu(e,t){e=e|0;t=t|0;e=Pt(o[e>>2]|0,t)|0;if(!e)e=0;else e=eo(e)|0;return e|0}function gu(e,t){e=e|0;t=t|0;var n=0,r=0;r=$T(4)|0;yu(r,t);n=e+4|0;t=o[n>>2]|0;o[n>>2]=r;if(t|0){Ji(t);KT(t)}Ut(o[e>>2]|0,1);return}function yu(e,t){e=e|0;t=t|0;Bu(e,t);return}function _u(e,t,n,r,i,o){e=e|0;t=t|0;n=Y(n);r=r|0;i=Y(i);o=o|0;var u=0,a=0;u=h;h=h+16|0;a=u;bu(a,Zt(t)|0,+n,r,+i,o);s[e>>2]=Y(+c[a>>3]);s[e+4>>2]=Y(+c[a+8>>3]);h=u;return}function bu(e,t,n,r,i,u){e=e|0;t=t|0;n=+n;r=r|0;i=+i;u=u|0;var a=0,l=0,s=0,f=0,d=0;a=h;h=h+32|0;d=a+8|0;f=a+20|0;s=a;l=a+16|0;c[d>>3]=n;o[f>>2]=r;c[s>>3]=i;o[l>>2]=u;wu(e,o[t+4>>2]|0,d,f,s,l);h=a;return}function wu(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;var a=0,l=0;a=h;h=h+16|0;l=a;Dk(l);t=Eu(t)|0;Du(e,t,+c[n>>3],o[r>>2]|0,+c[i>>3],o[u>>2]|0);Ck(l);h=a;return}function Eu(e){e=e|0;return o[e>>2]|0}function Du(e,t,n,r,i,o){e=e|0;t=t|0;n=+n;r=r|0;i=+i;o=o|0;var u=0;u=Cu(Su()|0)|0;n=+ku(n);r=Tu(r)|0;i=+ku(i);xu(e,ot(0,u|0,t|0,+n,r|0,+i,Tu(o)|0)|0);return}function Su(){var e=0;if(!(r[7608]|0)){Ru(9120);e=7608;o[e>>2]=1;o[e+4>>2]=0}return 9120}function Cu(e){e=e|0;return o[e+8>>2]|0}function ku(e){e=+e;return+ +Mu(e)}function Tu(e){e=e|0;return Nu(e)|0}function xu(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+32|0;n=i;r=t;if(!(r&1)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2]}else{Au(n,0);Be(r|0,n|0)|0;Ou(e,n);Pu(n)}h=i;return}function Au(e,t){e=e|0;t=t|0;Iu(e,t);o[e+8>>2]=0;r[e+24>>0]=0;return}function Ou(e,t){e=e|0;t=t|0;t=t+8|0;o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];return}function Pu(e){e=e|0;r[e+24>>0]=0;return}function Iu(e,t){e=e|0;t=t|0;o[e>>2]=t;return}function Nu(e){e=e|0;return e|0}function Mu(e){e=+e;return+e}function Ru(e){e=e|0;Lu(e,Fu()|0,4);return}function Fu(){return 1064}function Lu(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=tt(t|0,n+1|0)|0;return}function Bu(e,t){e=e|0;t=t|0;t=o[t>>2]|0;o[e>>2]=t;Ae(t|0);return}function ju(e){e=e|0;var t=0,n=0;n=e+4|0;t=o[n>>2]|0;o[n>>2]=0;if(t|0){Ji(t);KT(t)}Ut(o[e>>2]|0,0);return}function Uu(e){e=e|0;$t(o[e>>2]|0);return}function zu(e){e=e|0;return Yt(o[e>>2]|0)|0}function Wu(e,t,n,r){e=e|0;t=+t;n=+n;r=r|0;Or(o[e>>2]|0,Y(t),Y(n),r);return}function Hu(e){e=e|0;return+ +Y(or(o[e>>2]|0))}function Vu(e){e=e|0;return+ +Y(ar(o[e>>2]|0))}function qu(e){e=e|0;return+ +Y(ur(o[e>>2]|0))}function Gu(e){e=e|0;return+ +Y(lr(o[e>>2]|0))}function $u(e){e=e|0;return+ +Y(sr(o[e>>2]|0))}function Yu(e){e=e|0;return+ +Y(cr(o[e>>2]|0))}function Ku(e,t){e=e|0;t=t|0;c[e>>3]=+Y(or(o[t>>2]|0));c[e+8>>3]=+Y(ar(o[t>>2]|0));c[e+16>>3]=+Y(ur(o[t>>2]|0));c[e+24>>3]=+Y(lr(o[t>>2]|0));c[e+32>>3]=+Y(sr(o[t>>2]|0));c[e+40>>3]=+Y(cr(o[t>>2]|0));return}function Xu(e,t){e=e|0;t=t|0;return+ +Y(fr(o[e>>2]|0,t))}function Qu(e,t){e=e|0;t=t|0;return+ +Y(dr(o[e>>2]|0,t))}function Ju(e,t){e=e|0;t=t|0;return+ +Y(pr(o[e>>2]|0,t))}function Zu(){return Ft()|0}function ea(){ta();na();ra();ia();oa();ua();return}function ta(){zb(11713,4938,1);return}function na(){tb(10448);return}function ra(){R_(10408);return}function ia(){Jy(10324);return}function oa(){qm(10096);return}function ua(){aa(9132);return}function aa(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0,b=0,w=0,E=0,D=0,S=0,C=0,k=0,T=0,x=0,A=0,O=0,P=0,I=0,N=0,M=0,R=0,F=0,L=0,B=0,j=0,U=0,z=0,W=0,H=0,V=0,q=0,G=0,$=0,Y=0,K=0,X=0,Q=0,J=0,Z=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,ue=0,ae=0,le=0,se=0,ce=0,fe=0,de=0,pe=0,he=0,ve=0,me=0,ge=0,ye=0,_e=0,be=0,we=0,Ee=0,De=0,Se=0,Ce=0,ke=0,Te=0,xe=0,Ae=0,Oe=0,Pe=0,Ie=0;t=h;h=h+672|0;n=t+656|0;Ie=t+648|0;Pe=t+640|0;Oe=t+632|0;Ae=t+624|0;xe=t+616|0;Te=t+608|0;ke=t+600|0;Ce=t+592|0;Se=t+584|0;De=t+576|0;Ee=t+568|0;we=t+560|0;be=t+552|0;_e=t+544|0;ye=t+536|0;ge=t+528|0;me=t+520|0;ve=t+512|0;he=t+504|0;pe=t+496|0;de=t+488|0;fe=t+480|0;ce=t+472|0;se=t+464|0;le=t+456|0;ae=t+448|0;ue=t+440|0;oe=t+432|0;ie=t+424|0;re=t+416|0;ne=t+408|0;te=t+400|0;ee=t+392|0;Z=t+384|0;J=t+376|0;Q=t+368|0;X=t+360|0;K=t+352|0;Y=t+344|0;$=t+336|0;G=t+328|0;q=t+320|0;V=t+312|0;H=t+304|0;W=t+296|0;z=t+288|0;U=t+280|0;j=t+272|0;B=t+264|0;L=t+256|0;F=t+248|0;R=t+240|0;M=t+232|0;N=t+224|0;I=t+216|0;P=t+208|0;O=t+200|0;A=t+192|0;x=t+184|0;T=t+176|0;k=t+168|0;C=t+160|0;S=t+152|0;D=t+144|0;E=t+136|0;w=t+128|0;b=t+120|0;_=t+112|0;y=t+104|0;g=t+96|0;m=t+88|0;v=t+80|0;p=t+72|0;d=t+64|0;f=t+56|0;c=t+48|0;s=t+40|0;l=t+32|0;a=t+24|0;u=t+16|0;i=t+8|0;r=t;la(e,3646);sa(e,3651,2)|0;ca(e,3665,2)|0;fa(e,3682,18)|0;o[Ie>>2]=19;o[Ie+4>>2]=0;o[n>>2]=o[Ie>>2];o[n+4>>2]=o[Ie+4>>2];da(e,3690,n)|0;o[Pe>>2]=1;o[Pe+4>>2]=0;o[n>>2]=o[Pe>>2];o[n+4>>2]=o[Pe+4>>2];pa(e,3696,n)|0;o[Oe>>2]=2;o[Oe+4>>2]=0;o[n>>2]=o[Oe>>2];o[n+4>>2]=o[Oe+4>>2];ha(e,3706,n)|0;o[Ae>>2]=1;o[Ae+4>>2]=0;o[n>>2]=o[Ae>>2];o[n+4>>2]=o[Ae+4>>2];va(e,3722,n)|0;o[xe>>2]=2;o[xe+4>>2]=0;o[n>>2]=o[xe>>2];o[n+4>>2]=o[xe+4>>2];va(e,3734,n)|0;o[Te>>2]=3;o[Te+4>>2]=0;o[n>>2]=o[Te>>2];o[n+4>>2]=o[Te+4>>2];ha(e,3753,n)|0;o[ke>>2]=4;o[ke+4>>2]=0;o[n>>2]=o[ke>>2];o[n+4>>2]=o[ke+4>>2];ha(e,3769,n)|0;o[Ce>>2]=5;o[Ce+4>>2]=0;o[n>>2]=o[Ce>>2];o[n+4>>2]=o[Ce+4>>2];ha(e,3783,n)|0;o[Se>>2]=6;o[Se+4>>2]=0;o[n>>2]=o[Se>>2];o[n+4>>2]=o[Se+4>>2];ha(e,3796,n)|0;o[De>>2]=7;o[De+4>>2]=0;o[n>>2]=o[De>>2];o[n+4>>2]=o[De+4>>2];ha(e,3813,n)|0;o[Ee>>2]=8;o[Ee+4>>2]=0;o[n>>2]=o[Ee>>2];o[n+4>>2]=o[Ee+4>>2];ha(e,3825,n)|0;o[we>>2]=3;o[we+4>>2]=0;o[n>>2]=o[we>>2];o[n+4>>2]=o[we+4>>2];va(e,3843,n)|0;o[be>>2]=4;o[be+4>>2]=0;o[n>>2]=o[be>>2];o[n+4>>2]=o[be+4>>2];va(e,3853,n)|0;o[_e>>2]=9;o[_e+4>>2]=0;o[n>>2]=o[_e>>2];o[n+4>>2]=o[_e+4>>2];ha(e,3870,n)|0;o[ye>>2]=10;o[ye+4>>2]=0;o[n>>2]=o[ye>>2];o[n+4>>2]=o[ye+4>>2];ha(e,3884,n)|0;o[ge>>2]=11;o[ge+4>>2]=0;o[n>>2]=o[ge>>2];o[n+4>>2]=o[ge+4>>2];ha(e,3896,n)|0;o[me>>2]=1;o[me+4>>2]=0;o[n>>2]=o[me>>2];o[n+4>>2]=o[me+4>>2];ma(e,3907,n)|0;o[ve>>2]=2;o[ve+4>>2]=0;o[n>>2]=o[ve>>2];o[n+4>>2]=o[ve+4>>2];ma(e,3915,n)|0;o[he>>2]=3;o[he+4>>2]=0;o[n>>2]=o[he>>2];o[n+4>>2]=o[he+4>>2];ma(e,3928,n)|0;o[pe>>2]=4;o[pe+4>>2]=0;o[n>>2]=o[pe>>2];o[n+4>>2]=o[pe+4>>2];ma(e,3948,n)|0;o[de>>2]=5;o[de+4>>2]=0;o[n>>2]=o[de>>2];o[n+4>>2]=o[de+4>>2];ma(e,3960,n)|0;o[fe>>2]=6;o[fe+4>>2]=0;o[n>>2]=o[fe>>2];o[n+4>>2]=o[fe+4>>2];ma(e,3974,n)|0;o[ce>>2]=7;o[ce+4>>2]=0;o[n>>2]=o[ce>>2];o[n+4>>2]=o[ce+4>>2];ma(e,3983,n)|0;o[se>>2]=20;o[se+4>>2]=0;o[n>>2]=o[se>>2];o[n+4>>2]=o[se+4>>2];da(e,3999,n)|0;o[le>>2]=8;o[le+4>>2]=0;o[n>>2]=o[le>>2];o[n+4>>2]=o[le+4>>2];ma(e,4012,n)|0;o[ae>>2]=9;o[ae+4>>2]=0;o[n>>2]=o[ae>>2];o[n+4>>2]=o[ae+4>>2];ma(e,4022,n)|0;o[ue>>2]=21;o[ue+4>>2]=0;o[n>>2]=o[ue>>2];o[n+4>>2]=o[ue+4>>2];da(e,4039,n)|0;o[oe>>2]=10;o[oe+4>>2]=0;o[n>>2]=o[oe>>2];o[n+4>>2]=o[oe+4>>2];ma(e,4053,n)|0;o[ie>>2]=11;o[ie+4>>2]=0;o[n>>2]=o[ie>>2];o[n+4>>2]=o[ie+4>>2];ma(e,4065,n)|0;o[re>>2]=12;o[re+4>>2]=0;o[n>>2]=o[re>>2];o[n+4>>2]=o[re+4>>2];ma(e,4084,n)|0;o[ne>>2]=13;o[ne+4>>2]=0;o[n>>2]=o[ne>>2];o[n+4>>2]=o[ne+4>>2];ma(e,4097,n)|0;o[te>>2]=14;o[te+4>>2]=0;o[n>>2]=o[te>>2];o[n+4>>2]=o[te+4>>2];ma(e,4117,n)|0;o[ee>>2]=15;o[ee+4>>2]=0;o[n>>2]=o[ee>>2];o[n+4>>2]=o[ee+4>>2];ma(e,4129,n)|0;o[Z>>2]=16;o[Z+4>>2]=0;o[n>>2]=o[Z>>2];o[n+4>>2]=o[Z+4>>2];ma(e,4148,n)|0;o[J>>2]=17;o[J+4>>2]=0;o[n>>2]=o[J>>2];o[n+4>>2]=o[J+4>>2];ma(e,4161,n)|0;o[Q>>2]=18;o[Q+4>>2]=0;o[n>>2]=o[Q>>2];o[n+4>>2]=o[Q+4>>2];ma(e,4181,n)|0;o[X>>2]=5;o[X+4>>2]=0;o[n>>2]=o[X>>2];o[n+4>>2]=o[X+4>>2];va(e,4196,n)|0;o[K>>2]=6;o[K+4>>2]=0;o[n>>2]=o[K>>2];o[n+4>>2]=o[K+4>>2];va(e,4206,n)|0;o[Y>>2]=7;o[Y+4>>2]=0;o[n>>2]=o[Y>>2];o[n+4>>2]=o[Y+4>>2];va(e,4217,n)|0;o[$>>2]=3;o[$+4>>2]=0;o[n>>2]=o[$>>2];o[n+4>>2]=o[$+4>>2];ga(e,4235,n)|0;o[G>>2]=1;o[G+4>>2]=0;o[n>>2]=o[G>>2];o[n+4>>2]=o[G+4>>2];ya(e,4251,n)|0;o[q>>2]=4;o[q+4>>2]=0;o[n>>2]=o[q>>2];o[n+4>>2]=o[q+4>>2];ga(e,4263,n)|0;o[V>>2]=5;o[V+4>>2]=0;o[n>>2]=o[V>>2];o[n+4>>2]=o[V+4>>2];ga(e,4279,n)|0;o[H>>2]=6;o[H+4>>2]=0;o[n>>2]=o[H>>2];o[n+4>>2]=o[H+4>>2];ga(e,4293,n)|0;o[W>>2]=7;o[W+4>>2]=0;o[n>>2]=o[W>>2];o[n+4>>2]=o[W+4>>2];ga(e,4306,n)|0;o[z>>2]=8;o[z+4>>2]=0;o[n>>2]=o[z>>2];o[n+4>>2]=o[z+4>>2];ga(e,4323,n)|0;o[U>>2]=9;o[U+4>>2]=0;o[n>>2]=o[U>>2];o[n+4>>2]=o[U+4>>2];ga(e,4335,n)|0;o[j>>2]=2;o[j+4>>2]=0;o[n>>2]=o[j>>2];o[n+4>>2]=o[j+4>>2];ya(e,4353,n)|0;o[B>>2]=12;o[B+4>>2]=0;o[n>>2]=o[B>>2];o[n+4>>2]=o[B+4>>2];_a(e,4363,n)|0;o[L>>2]=1;o[L+4>>2]=0;o[n>>2]=o[L>>2];o[n+4>>2]=o[L+4>>2];ba(e,4376,n)|0;o[F>>2]=2;o[F+4>>2]=0;o[n>>2]=o[F>>2];o[n+4>>2]=o[F+4>>2];ba(e,4388,n)|0;o[R>>2]=13;o[R+4>>2]=0;o[n>>2]=o[R>>2];o[n+4>>2]=o[R+4>>2];_a(e,4402,n)|0;o[M>>2]=14;o[M+4>>2]=0;o[n>>2]=o[M>>2];o[n+4>>2]=o[M+4>>2];_a(e,4411,n)|0;o[N>>2]=15;o[N+4>>2]=0;o[n>>2]=o[N>>2];o[n+4>>2]=o[N+4>>2];_a(e,4421,n)|0;o[I>>2]=16;o[I+4>>2]=0;o[n>>2]=o[I>>2];o[n+4>>2]=o[I+4>>2];_a(e,4433,n)|0;o[P>>2]=17;o[P+4>>2]=0;o[n>>2]=o[P>>2];o[n+4>>2]=o[P+4>>2];_a(e,4446,n)|0;o[O>>2]=18;o[O+4>>2]=0;o[n>>2]=o[O>>2];o[n+4>>2]=o[O+4>>2];_a(e,4458,n)|0;o[A>>2]=3;o[A+4>>2]=0;o[n>>2]=o[A>>2];o[n+4>>2]=o[A+4>>2];ba(e,4471,n)|0;o[x>>2]=1;o[x+4>>2]=0;o[n>>2]=o[x>>2];o[n+4>>2]=o[x+4>>2];wa(e,4486,n)|0;o[T>>2]=10;o[T+4>>2]=0;o[n>>2]=o[T>>2];o[n+4>>2]=o[T+4>>2];ga(e,4496,n)|0;o[k>>2]=11;o[k+4>>2]=0;o[n>>2]=o[k>>2];o[n+4>>2]=o[k+4>>2];ga(e,4508,n)|0;o[C>>2]=3;o[C+4>>2]=0;o[n>>2]=o[C>>2];o[n+4>>2]=o[C+4>>2];ya(e,4519,n)|0;o[S>>2]=4;o[S+4>>2]=0;o[n>>2]=o[S>>2];o[n+4>>2]=o[S+4>>2];Ea(e,4530,n)|0;o[D>>2]=19;o[D+4>>2]=0;o[n>>2]=o[D>>2];o[n+4>>2]=o[D+4>>2];Da(e,4542,n)|0;o[E>>2]=12;o[E+4>>2]=0;o[n>>2]=o[E>>2];o[n+4>>2]=o[E+4>>2];Sa(e,4554,n)|0;o[w>>2]=13;o[w+4>>2]=0;o[n>>2]=o[w>>2];o[n+4>>2]=o[w+4>>2];Ca(e,4568,n)|0;o[b>>2]=2;o[b+4>>2]=0;o[n>>2]=o[b>>2];o[n+4>>2]=o[b+4>>2];ka(e,4578,n)|0;o[_>>2]=20;o[_+4>>2]=0;o[n>>2]=o[_>>2];o[n+4>>2]=o[_+4>>2];Ta(e,4587,n)|0;o[y>>2]=22;o[y+4>>2]=0;o[n>>2]=o[y>>2];o[n+4>>2]=o[y+4>>2];da(e,4602,n)|0;o[g>>2]=23;o[g+4>>2]=0;o[n>>2]=o[g>>2];o[n+4>>2]=o[g+4>>2];da(e,4619,n)|0;o[m>>2]=14;o[m+4>>2]=0;o[n>>2]=o[m>>2];o[n+4>>2]=o[m+4>>2];xa(e,4629,n)|0;o[v>>2]=1;o[v+4>>2]=0;o[n>>2]=o[v>>2];o[n+4>>2]=o[v+4>>2];Aa(e,4637,n)|0;o[p>>2]=4;o[p+4>>2]=0;o[n>>2]=o[p>>2];o[n+4>>2]=o[p+4>>2];ba(e,4653,n)|0;o[d>>2]=5;o[d+4>>2]=0;o[n>>2]=o[d>>2];o[n+4>>2]=o[d+4>>2];ba(e,4669,n)|0;o[f>>2]=6;o[f+4>>2]=0;o[n>>2]=o[f>>2];o[n+4>>2]=o[f+4>>2];ba(e,4686,n)|0;o[c>>2]=7;o[c+4>>2]=0;o[n>>2]=o[c>>2];o[n+4>>2]=o[c+4>>2];ba(e,4701,n)|0;o[s>>2]=8;o[s+4>>2]=0;o[n>>2]=o[s>>2];o[n+4>>2]=o[s+4>>2];ba(e,4719,n)|0;o[l>>2]=9;o[l+4>>2]=0;o[n>>2]=o[l>>2];o[n+4>>2]=o[l+4>>2];ba(e,4736,n)|0;o[a>>2]=21;o[a+4>>2]=0;o[n>>2]=o[a>>2];o[n+4>>2]=o[a+4>>2];Oa(e,4754,n)|0;o[u>>2]=2;o[u+4>>2]=0;o[n>>2]=o[u>>2];o[n+4>>2]=o[u+4>>2];wa(e,4772,n)|0;o[i>>2]=3;o[i+4>>2]=0;o[n>>2]=o[i>>2];o[n+4>>2]=o[i+4>>2];wa(e,4790,n)|0;o[r>>2]=4;o[r+4>>2]=0;o[n>>2]=o[r>>2];o[n+4>>2]=o[r+4>>2];wa(e,4808,n)|0;h=t;return}function la(e,t){e=e|0;t=t|0;var n=0;n=Mm()|0;o[e>>2]=n;Rm(n,t);cw(o[e>>2]|0);return}function sa(e,t,n){e=e|0;t=t|0;n=n|0;gm(e,Ia(t)|0,n,0);return e|0}function ca(e,t,n){e=e|0;t=t|0;n=n|0;Xv(e,Ia(t)|0,n,0);return e|0}function fa(e,t,n){e=e|0;t=t|0;n=n|0;Nv(e,Ia(t)|0,n,0);return e|0}function da(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];hv(e,t,i);h=r;return e|0}function pa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Gh(e,t,i);h=r;return e|0}function ha(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Th(e,t,i);h=r;return e|0}function va(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];lh(e,t,i);h=r;return e|0}function ma(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Hp(e,t,i);h=r;return e|0}function ga(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Sp(e,t,i);h=r;return e|0}function ya(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];op(e,t,i);h=r;return e|0}function _a(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Cd(e,t,i);h=r;return e|0}function ba(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ud(e,t,i);h=r;return e|0}function wa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];zf(e,t,i);h=r;return e|0}function Ea(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Ef(e,t,i);h=r;return e|0}function Da(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Zc(e,t,i);h=r;return e|0}function Sa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Nc(e,t,i);h=r;return e|0}function Ca(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];hc(e,t,i);h=r;return e|0}function ka(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];qs(e,t,i);h=r;return e|0}function Ta(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ws(e,t,i);h=r;return e|0}function xa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ts(e,t,i);h=r;return e|0}function Aa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Ol(e,t,i);h=r;return e|0}function Oa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Pa(e,t,i);h=r;return e|0}function Pa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Na(e,n,i,1);h=r;return}function Ia(e){e=e|0;return e|0}function Na(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Ma()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Ra(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Fa(u,r)|0,r);h=i;return}function Ma(){var e=0,t=0;if(!(r[7616]|0)){Ya(9136);Fe(24,9136,g|0)|0;t=7616;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9136)|0)){e=9136;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Ya(9136)}return 9136}function Ra(e){e=e|0;return 0}function Fa(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Ma()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Wa(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Ha(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function La(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;var a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0;a=h;h=h+32|0;p=a+24|0;d=a+20|0;s=a+16|0;f=a+12|0;c=a+8|0;l=a+4|0;v=a;o[d>>2]=t;o[s>>2]=n;o[f>>2]=r;o[c>>2]=i;o[l>>2]=u;u=e+28|0;o[v>>2]=o[u>>2];o[p>>2]=o[v>>2];Ba(e+24|0,p,d,f,c,s,l)|0;o[u>>2]=o[o[u>>2]>>2];h=a;return}function Ba(e,t,n,r,i,u,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;a=a|0;e=ja(t)|0;t=$T(24)|0;Ua(t+4|0,o[n>>2]|0,o[r>>2]|0,o[i>>2]|0,o[u>>2]|0,o[a>>2]|0);o[t>>2]=o[e>>2];o[e>>2]=t;return t|0}function ja(e){e=e|0;return o[e>>2]|0}function Ua(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=r;o[e+12>>2]=i;o[e+16>>2]=u;return}function za(e,t){e=e|0;t=t|0;return t|e|0}function Wa(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Ha(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Va(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;qa(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Wa(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Ga(e,l);$a(l);h=c;return}}function Va(e){e=e|0;return 357913941}function qa(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Ga(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function $a(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Ya(e){e=e|0;Ja(e);return}function Ka(e){e=e|0;Qa(e+24|0);return}function Xa(e){e=e|0;return o[e>>2]|0}function Qa(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Ja(e){e=e|0;var t=0;t=Za()|0;nl(e,2,3,t,el()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Za(){return 9228}function el(){return 1140}function tl(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=rl(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=il(t,r)|0;h=n;return t|0}function nl(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=r;o[e+12>>2]=i;o[e+16>>2]=u;return}function rl(e){e=e|0;return(o[(Ma()|0)+24>>2]|0)+(e*12|0)|0}function il(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+48|0;r=i;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;vA[n&31](r,e);r=ol(r)|0;h=i;return r|0}function ol(e){e=e|0;var t=0,n=0,r=0,i=0;i=h;h=h+32|0;t=i+12|0;n=i;r=al(ul()|0)|0;if(!r)e=dl(e)|0;else{ll(t,r);sl(n,t);cl(e,n);e=fl(t)|0}h=i;return e|0}function ul(){var e=0;if(!(r[7632]|0)){Dl(9184);Fe(25,9184,g|0)|0;e=7632;o[e>>2]=1;o[e+4>>2]=0}return 9184}function al(e){e=e|0;return o[e+36>>2]|0}function ll(e,t){e=e|0;t=t|0;o[e>>2]=t;o[e+4>>2]=e;o[e+8>>2]=0;return}function sl(e,t){e=e|0;t=t|0;o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=0;return}function cl(e,t){e=e|0;t=t|0;gl(t,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0;return}function fl(e){e=e|0;return o[(o[e+4>>2]|0)+8>>2]|0}function dl(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0,s=0;s=h;h=h+16|0;n=s+4|0;r=s;i=UD(8)|0;u=i;a=$T(48)|0;l=a;t=l+48|0;do{o[l>>2]=o[e>>2];l=l+4|0;e=e+4|0}while((l|0)<(t|0));t=u+4|0;o[t>>2]=a;l=$T(8)|0;a=o[t>>2]|0;o[r>>2]=0;o[n>>2]=o[r>>2];pl(l,a,n);o[i>>2]=l;h=s;return u|0}function pl(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;n=$T(16)|0;o[n+4>>2]=0;o[n+8>>2]=0;o[n>>2]=1092;o[n+12>>2]=t;o[e+4>>2]=n;return}function hl(e){e=e|0;zT(e);KT(e);return}function vl(e){e=e|0;e=o[e+12>>2]|0;if(e|0)KT(e);return}function ml(e){e=e|0;KT(e);return}function gl(e,t,n,r,i,u,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;a=a|0;u=yl(o[e>>2]|0,t,n,r,i,u,a)|0;a=e+4|0;o[(o[a>>2]|0)+8>>2]=u;return o[(o[a>>2]|0)+8>>2]|0}function yl(e,t,n,r,i,o,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;u=u|0;var a=0,l=0;a=h;h=h+16|0;l=a;Dk(l);e=Eu(e)|0;u=_l(e,+c[t>>3],+c[n>>3],+c[r>>3],+c[i>>3],+c[o>>3],+c[u>>3])|0;Ck(l);h=a;return u|0}function _l(e,t,n,r,i,o,u){e=e|0;t=+t;n=+n;r=+r;i=+i;o=+o;u=+u;var a=0;a=Cu(bl()|0)|0;t=+ku(t);n=+ku(n);r=+ku(r);i=+ku(i);o=+ku(o);return Te(0,a|0,e|0,+t,+n,+r,+i,+o,+ +ku(u))|0}function bl(){var e=0;if(!(r[7624]|0)){wl(9172);e=7624;o[e>>2]=1;o[e+4>>2]=0}return 9172}function wl(e){e=e|0;Lu(e,El()|0,6);return}function El(){return 1112}function Dl(e){e=e|0;Al(e);return}function Sl(e){e=e|0;Cl(e+24|0);kl(e+16|0);return}function Cl(e){e=e|0;xl(e);return}function kl(e){e=e|0;Tl(e);return}function Tl(e){e=e|0;var t=0,n=0;t=o[e>>2]|0;if(t|0)do{n=t;t=o[t>>2]|0;KT(n)}while((t|0)!=0);o[e>>2]=0;return}function xl(e){e=e|0;var t=0,n=0;t=o[e>>2]|0;if(t|0)do{n=t;t=o[t>>2]|0;KT(n)}while((t|0)!=0);o[e>>2]=0;return}function Al(e){e=e|0;var t=0;o[e+16>>2]=0;o[e+20>>2]=0;t=e+24|0;o[t>>2]=0;o[e+28>>2]=t;o[e+36>>2]=0;r[e+40>>0]=0;r[e+41>>0]=0;return}function Ol(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Pl(e,n,i,0);h=r;return}function Pl(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Il()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Nl(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Ml(u,r)|0,r);h=i;return}function Il(){var e=0,t=0;if(!(r[7640]|0)){zl(9232);Fe(26,9232,g|0)|0;t=7640;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9232)|0)){e=9232;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));zl(9232)}return 9232}function Nl(e){e=e|0;return 0}function Ml(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Il()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Rl(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Fl(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Rl(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Fl(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Ll(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Bl(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Rl(u,r,n);o[s>>2]=(o[s>>2]|0)+12;jl(e,l);Ul(l);h=c;return}}function Ll(e){e=e|0;return 357913941}function Bl(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function jl(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Ul(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function zl(e){e=e|0;Vl(e);return}function Wl(e){e=e|0;Hl(e+24|0);return}function Hl(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Vl(e){e=e|0;var t=0;t=Za()|0;nl(e,2,1,t,ql()|0,3);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ql(){return 1144}function Gl(e,t,n,r,i){e=e|0;t=t|0;n=+n;r=+r;i=i|0;var u=0,a=0,l=0,s=0;u=h;h=h+16|0;a=u+8|0;l=u;s=$l(e)|0;e=o[s+4>>2]|0;o[l>>2]=o[s>>2];o[l+4>>2]=e;o[a>>2]=o[l>>2];o[a+4>>2]=o[l+4>>2];Yl(t,a,n,r,i);h=u;return}function $l(e){e=e|0;return(o[(Il()|0)+24>>2]|0)+(e*12|0)|0}function Yl(e,t,n,r,i){e=e|0;t=t|0;n=+n;r=+r;i=i|0;var u=0,a=0,l=0,s=0,c=0;c=h;h=h+16|0;a=c+2|0;l=c+1|0;s=c;u=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)u=o[(o[e>>2]|0)+u>>2]|0;Kl(a,n);n=+Xl(a,n);Kl(l,r);r=+Xl(l,r);Ql(s,i);s=Jl(s,i)|0;gA[u&1](e,n,r,s);h=c;return}function Kl(e,t){e=e|0;t=+t;return}function Xl(e,t){e=e|0;t=+t;return+ +es(t)}function Ql(e,t){e=e|0;t=t|0;return}function Jl(e,t){e=e|0;t=t|0;return Zl(t)|0}function Zl(e){e=e|0;return e|0}function es(e){e=+e;return+e}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ns(e,n,i,1);h=r;return}function ns(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=rs()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=is(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,os(u,r)|0,r);h=i;return}function rs(){var e=0,t=0;if(!(r[7648]|0)){ds(9268);Fe(27,9268,g|0)|0;t=7648;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9268)|0)){e=9268;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));ds(9268)}return 9268}function is(e){e=e|0;return 0}function os(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=rs()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];us(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{as(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function us(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function as(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=ls(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;ss(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];us(u,r,n);o[s>>2]=(o[s>>2]|0)+12;cs(e,l);fs(l);h=c;return}}function ls(e){e=e|0;return 357913941}function ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function cs(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function fs(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function ds(e){e=e|0;vs(e);return}function ps(e){e=e|0;hs(e+24|0);return}function hs(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function vs(e){e=e|0;var t=0;t=Za()|0;nl(e,2,4,t,ms()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ms(){return 1160}function gs(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=ys(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=_s(t,r)|0;h=n;return t|0}function ys(e){e=e|0;return(o[(rs()|0)+24>>2]|0)+(e*12|0)|0}function _s(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;return bs(mA[n&31](e)|0)|0}function bs(e){e=e|0;return e&1|0}function ws(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Es(e,n,i,0);h=r;return}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Ds()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Ss(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Cs(u,r)|0,r);h=i;return}function Ds(){var e=0,t=0;if(!(r[7656]|0)){Is(9304);Fe(28,9304,g|0)|0;t=7656;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9304)|0)){e=9304;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Is(9304)}return 9304}function Ss(e){e=e|0;return 0}function Cs(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Ds()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];ks(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Ts(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function ks(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Ts(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=xs(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;As(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];ks(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Os(e,l);Ps(l);h=c;return}}function xs(e){e=e|0;return 357913941}function As(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Os(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Ps(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Is(e){e=e|0;Rs(e);return}function Ns(e){e=e|0;Ms(e+24|0);return}function Ms(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Rs(e){e=e|0;var t=0;t=Za()|0;nl(e,2,5,t,Fs()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Fs(){return 1164}function Ls(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=Bs(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];js(t,i,n);h=r;return}function Bs(e){e=e|0;return(o[(Ds()|0)+24>>2]|0)+(e*12|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Us(i,n);n=zs(i,n)|0;vA[r&31](e,n);Ws(i);h=u;return}function Us(e,t){e=e|0;t=t|0;Hs(e,t);return}function zs(e,t){e=e|0;t=t|0;return e|0}function Ws(e){e=e|0;Ji(e);return}function Hs(e,t){e=e|0;t=t|0;Vs(e,t);return}function Vs(e,t){e=e|0;t=t|0;o[e>>2]=t;return}function qs(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Gs(e,n,i,0);h=r;return}function Gs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=$s()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Ys(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Ks(u,r)|0,r);h=i;return}function $s(){var e=0,t=0;if(!(r[7664]|0)){nc(9340);Fe(29,9340,g|0)|0;t=7664;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9340)|0)){e=9340;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));nc(9340)}return 9340}function Ys(e){e=e|0;return 0}function Ks(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=$s()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Xs(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Qs(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Xs(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Qs(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Js(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Zs(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Xs(u,r,n);o[s>>2]=(o[s>>2]|0)+12;ec(e,l);tc(l);h=c;return}}function Js(e){e=e|0;return 357913941}function Zs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function ec(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function tc(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function nc(e){e=e|0;oc(e);return}function rc(e){e=e|0;ic(e+24|0);return}function ic(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function oc(e){e=e|0;var t=0;t=Za()|0;nl(e,2,4,t,uc()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function uc(){return 1180}function ac(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=lc(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];n=sc(t,i,n)|0;h=r;return n|0}function lc(e){e=e|0;return(o[($s()|0)+24>>2]|0)+(e*12|0)|0}function sc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;cc(i,n);i=fc(i,n)|0;i=dc(DA[r&15](e,i)|0)|0;h=u;return i|0}function cc(e,t){e=e|0;t=t|0;return}function fc(e,t){e=e|0;t=t|0;return pc(t)|0}function dc(e){e=e|0;return e|0}function pc(e){e=e|0;return e|0}function hc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];vc(e,n,i,0);h=r;return}function vc(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=mc()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=gc(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,yc(u,r)|0,r);h=i;return}function mc(){var e=0,t=0;if(!(r[7672]|0)){Cc(9376);Fe(30,9376,g|0)|0;t=7672;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9376)|0)){e=9376;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Cc(9376)}return 9376}function gc(e){e=e|0;return 0}function yc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=mc()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];_c(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{bc(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function _c(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function bc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=wc(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Ec(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];_c(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Dc(e,l);Sc(l);h=c;return}}function wc(e){e=e|0;return 357913941}function Ec(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Dc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Sc(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Cc(e){e=e|0;xc(e);return}function kc(e){e=e|0;Tc(e+24|0);return}function Tc(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function xc(e){e=e|0;var t=0;t=Za()|0;nl(e,2,5,t,Ac()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Ac(){return 1196}function Oc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=Pc(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=Ic(t,r)|0;h=n;return t|0}function Pc(e){e=e|0;return(o[(mc()|0)+24>>2]|0)+(e*12|0)|0}function Ic(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;return dc(mA[n&31](e)|0)|0}function Nc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Mc(e,n,i,1);h=r;return}function Mc(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Rc()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Fc(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Lc(u,r)|0,r);h=i;return}function Rc(){var e=0,t=0;if(!(r[7680]|0)){Vc(9412);Fe(31,9412,g|0)|0;t=7680;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9412)|0)){e=9412;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Vc(9412)}return 9412}function Fc(e){e=e|0;return 0}function Lc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Rc()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Bc(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{jc(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Bc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function jc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Uc(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;zc(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Bc(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Wc(e,l);Hc(l);h=c;return}}function Uc(e){e=e|0;return 357913941}function zc(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Wc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Hc(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Vc(e){e=e|0;$c(e);return}function qc(e){e=e|0;Gc(e+24|0);return}function Gc(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function $c(e){e=e|0;var t=0;t=Za()|0;nl(e,2,6,t,Yc()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Yc(){return 1200}function Kc(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=Xc(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=Qc(t,r)|0;h=n;return t|0}function Xc(e){e=e|0;return(o[(Rc()|0)+24>>2]|0)+(e*12|0)|0}function Qc(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;return Jc(mA[n&31](e)|0)|0}function Jc(e){e=e|0;return e|0}function Zc(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ef(e,n,i,0);h=r;return}function ef(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=tf()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=nf(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,rf(u,r)|0,r);h=i;return}function tf(){var e=0,t=0;if(!(r[7688]|0)){ff(9448);Fe(32,9448,g|0)|0;t=7688;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9448)|0)){e=9448;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));ff(9448)}return 9448}function nf(e){e=e|0;return 0}function rf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=tf()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];of(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{uf(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function of(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function uf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=af(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;lf(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];of(u,r,n);o[s>>2]=(o[s>>2]|0)+12;sf(e,l);cf(l);h=c;return}}function af(e){e=e|0;return 357913941}function lf(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function sf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function cf(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function ff(e){e=e|0;hf(e);return}function df(e){e=e|0;pf(e+24|0);return}function pf(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function hf(e){e=e|0;var t=0;t=Za()|0;nl(e,2,6,t,vf()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function vf(){return 1204}function mf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=gf(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];yf(t,i,n);h=r;return}function gf(e){e=e|0;return(o[(tf()|0)+24>>2]|0)+(e*12|0)|0}function yf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;_f(i,n);i=bf(i,n)|0;vA[r&31](e,i);h=u;return}function _f(e,t){e=e|0;t=t|0;return}function bf(e,t){e=e|0;t=t|0;return wf(t)|0}function wf(e){e=e|0;return e|0}function Ef(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Df(e,n,i,0);h=r;return}function Df(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Sf()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Cf(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,kf(u,r)|0,r);h=i;return}function Sf(){var e=0,t=0;if(!(r[7696]|0)){Nf(9484);Fe(33,9484,g|0)|0;t=7696;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9484)|0)){e=9484;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Nf(9484)}return 9484}function Cf(e){e=e|0;return 0}function kf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Sf()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Tf(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{xf(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Tf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function xf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Af(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Of(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Tf(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Pf(e,l);If(l);h=c;return}}function Af(e){e=e|0;return 357913941}function Of(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Pf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function If(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Nf(e){e=e|0;Ff(e);return}function Mf(e){e=e|0;Rf(e+24|0);return}function Rf(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Ff(e){e=e|0;var t=0;t=Za()|0;nl(e,2,1,t,Lf()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Lf(){return 1212}function Bf(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;i=h;h=h+16|0;u=i+8|0;a=i;l=jf(e)|0;e=o[l+4>>2]|0;o[a>>2]=o[l>>2];o[a+4>>2]=e;o[u>>2]=o[a>>2];o[u+4>>2]=o[a+4>>2];Uf(t,u,n,r);h=i;return}function jf(e){e=e|0;return(o[(Sf()|0)+24>>2]|0)+(e*12|0)|0}function Uf(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;l=h;h=h+16|0;u=l+1|0;a=l;i=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)i=o[(o[e>>2]|0)+i>>2]|0;_f(u,n);u=bf(u,n)|0;cc(a,r);a=fc(a,r)|0;PA[i&15](e,u,a);h=l;return}function zf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Wf(e,n,i,1);h=r;return}function Wf(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Hf()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Vf(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,qf(u,r)|0,r);h=i;return}function Hf(){var e=0,t=0;if(!(r[7704]|0)){Jf(9520);Fe(34,9520,g|0)|0;t=7704;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9520)|0)){e=9520;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Jf(9520)}return 9520}function Vf(e){e=e|0;return 0}function qf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Hf()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Gf(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{$f(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Gf(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function $f(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Yf(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Kf(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Gf(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Xf(e,l);Qf(l);h=c;return}}function Yf(e){e=e|0;return 357913941}function Kf(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Xf(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Qf(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Jf(e){e=e|0;td(e);return}function Zf(e){e=e|0;ed(e+24|0);return}function ed(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function td(e){e=e|0;var t=0;t=Za()|0;nl(e,2,1,t,nd()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function nd(){return 1224}function rd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0.0,i=0,u=0,a=0,l=0;i=h;h=h+16|0;u=i+8|0;a=i;l=id(e)|0;e=o[l+4>>2]|0;o[a>>2]=o[l>>2];o[a+4>>2]=e;o[u>>2]=o[a>>2];o[u+4>>2]=o[a+4>>2];r=+od(t,u,n);h=i;return+r}function id(e){e=e|0;return(o[(Hf()|0)+24>>2]|0)+(e*12|0)|0}function od(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0.0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Ql(i,n);i=Jl(i,n)|0;a=+Mu(+kA[r&7](e,i));h=u;return+a}function ud(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ad(e,n,i,1);h=r;return}function ad(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=ld()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=sd(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,cd(u,r)|0,r);h=i;return}function ld(){var e=0,t=0;if(!(r[7712]|0)){gd(9556);Fe(35,9556,g|0)|0;t=7712;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9556)|0)){e=9556;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));gd(9556)}return 9556}function sd(e){e=e|0;return 0}function cd(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=ld()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];fd(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{dd(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function fd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function dd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=pd(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;hd(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];fd(u,r,n);o[s>>2]=(o[s>>2]|0)+12;vd(e,l);md(l);h=c;return}}function pd(e){e=e|0;return 357913941}function hd(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function vd(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function md(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function gd(e){e=e|0;bd(e);return}function yd(e){e=e|0;_d(e+24|0);return}function _d(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function bd(e){e=e|0;var t=0;t=Za()|0;nl(e,2,5,t,wd()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function wd(){return 1232}function Ed(e,t){e=e|0;t=t|0;var n=0.0,r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=Dd(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];n=+Sd(t,i);h=r;return+n}function Dd(e){e=e|0;return(o[(ld()|0)+24>>2]|0)+(e*12|0)|0}function Sd(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;return+ +Mu(+wA[n&15](e))}function Cd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];kd(e,n,i,1);h=r;return}function kd(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Td()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=xd(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Ad(u,r)|0,r);h=i;return}function Td(){var e=0,t=0;if(!(r[7720]|0)){Fd(9592);Fe(36,9592,g|0)|0;t=7720;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9592)|0)){e=9592;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Fd(9592)}return 9592}function xd(e){e=e|0;return 0}function Ad(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Td()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Od(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Pd(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Od(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Pd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Id(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Nd(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Od(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Md(e,l);Rd(l);h=c;return}}function Id(e){e=e|0;return 357913941}function Nd(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Md(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Rd(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Fd(e){e=e|0;jd(e);return}function Ld(e){e=e|0;Bd(e+24|0);return}function Bd(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function jd(e){e=e|0;var t=0;t=Za()|0;nl(e,2,7,t,Ud()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Ud(){return 1276}function zd(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=Wd(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=Hd(t,r)|0;h=n;return t|0}function Wd(e){e=e|0;return(o[(Td()|0)+24>>2]|0)+(e*12|0)|0}function Hd(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+16|0;r=i;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;vA[n&31](r,e);r=Vd(r)|0;h=i;return r|0}function Vd(e){e=e|0;var t=0,n=0,r=0,i=0;i=h;h=h+32|0;t=i+12|0;n=i;r=al(qd()|0)|0;if(!r)e=$d(e)|0;else{ll(t,r);sl(n,t);Gd(e,n);e=fl(t)|0}h=i;return e|0}function qd(){var e=0;if(!(r[7736]|0)){ip(9640);Fe(25,9640,g|0)|0;e=7736;o[e>>2]=1;o[e+4>>2]=0}return 9640}function Gd(e,t){e=e|0;t=t|0;Jd(t,e,e+8|0)|0;return}function $d(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0;n=h;h=h+16|0;i=n+4|0;a=n;r=UD(8)|0;t=r;l=$T(16)|0;o[l>>2]=o[e>>2];o[l+4>>2]=o[e+4>>2];o[l+8>>2]=o[e+8>>2];o[l+12>>2]=o[e+12>>2];u=t+4|0;o[u>>2]=l;e=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];Yd(e,u,i);o[r>>2]=e;h=n;return t|0}function Yd(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;n=$T(16)|0;o[n+4>>2]=0;o[n+8>>2]=0;o[n>>2]=1244;o[n+12>>2]=t;o[e+4>>2]=n;return}function Kd(e){e=e|0;zT(e);KT(e);return}function Xd(e){e=e|0;e=o[e+12>>2]|0;if(e|0)KT(e);return}function Qd(e){e=e|0;KT(e);return}function Jd(e,t,n){e=e|0;t=t|0;n=n|0;t=Zd(o[e>>2]|0,t,n)|0;n=e+4|0;o[(o[n>>2]|0)+8>>2]=t;return o[(o[n>>2]|0)+8>>2]|0}function Zd(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+16|0;i=r;Dk(i);e=Eu(e)|0;n=ep(e,o[t>>2]|0,+c[n>>3])|0;Ck(i);h=r;return n|0}function ep(e,t,n){e=e|0;t=t|0;n=+n;var r=0;r=Cu(tp()|0)|0;t=Tu(t)|0;return xe(0,r|0,e|0,t|0,+ +ku(n))|0}function tp(){var e=0;if(!(r[7728]|0)){np(9628);e=7728;o[e>>2]=1;o[e+4>>2]=0}return 9628}function np(e){e=e|0;Lu(e,rp()|0,2);return}function rp(){return 1264}function ip(e){e=e|0;Al(e);return}function op(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];up(e,n,i,1);h=r;return}function up(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=ap()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=lp(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,sp(u,r)|0,r);h=i;return}function ap(){var e=0,t=0;if(!(r[7744]|0)){mp(9684);Fe(37,9684,g|0)|0;t=7744;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9684)|0)){e=9684;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));mp(9684)}return 9684}function lp(e){e=e|0;return 0}function sp(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=ap()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];cp(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{fp(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function cp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function fp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=dp(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;pp(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];cp(u,r,n);o[s>>2]=(o[s>>2]|0)+12;hp(e,l);vp(l);h=c;return}}function dp(e){e=e|0;return 357913941}function pp(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function hp(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function vp(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function mp(e){e=e|0;_p(e);return}function gp(e){e=e|0;yp(e+24|0);return}function yp(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function _p(e){e=e|0;var t=0;t=Za()|0;nl(e,2,5,t,bp()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function bp(){return 1280}function wp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=Ep(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];n=Dp(t,i,n)|0;h=r;return n|0}function Ep(e){e=e|0;return(o[(ap()|0)+24>>2]|0)+(e*12|0)|0}function Dp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;a=h;h=h+32|0;i=a;u=a+16|0;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Ql(u,n);u=Jl(u,n)|0;PA[r&15](i,e,u);u=Vd(i)|0;h=a;return u|0}function Sp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Cp(e,n,i,1);h=r;return}function Cp(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=kp()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Tp(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,xp(u,r)|0,r);h=i;return}function kp(){var e=0,t=0;if(!(r[7752]|0)){Rp(9720);Fe(38,9720,g|0)|0;t=7752;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9720)|0)){e=9720;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Rp(9720)}return 9720}function Tp(e){e=e|0;return 0}function xp(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=kp()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Ap(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Op(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Ap(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Op(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Pp(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Ip(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Ap(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Np(e,l);Mp(l);h=c;return}}function Pp(e){e=e|0;return 357913941}function Ip(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Np(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Mp(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Rp(e){e=e|0;Bp(e);return}function Fp(e){e=e|0;Lp(e+24|0);return}function Lp(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Bp(e){e=e|0;var t=0;t=Za()|0;nl(e,2,8,t,jp()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function jp(){return 1288}function Up(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=zp(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];t=Wp(t,r)|0;h=n;return t|0}function zp(e){e=e|0;return(o[(kp()|0)+24>>2]|0)+(e*12|0)|0}function Wp(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;return Nu(mA[n&31](e)|0)|0}function Hp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Vp(e,n,i,0);h=r;return}function Vp(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=qp()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Gp(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,$p(u,r)|0,r);h=i;return}function qp(){var e=0,t=0;if(!(r[7760]|0)){eh(9756);Fe(39,9756,g|0)|0;t=7760;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9756)|0)){e=9756;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));eh(9756)}return 9756}function Gp(e){e=e|0;return 0}function $p(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=qp()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Yp(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Kp(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Yp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Kp(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Xp(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Qp(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Yp(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Jp(e,l);Zp(l);h=c;return}}function Xp(e){e=e|0;return 357913941}function Qp(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Jp(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Zp(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function eh(e){e=e|0;rh(e);return}function th(e){e=e|0;nh(e+24|0);return}function nh(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function rh(e){e=e|0;var t=0;t=Za()|0;nl(e,2,8,t,ih()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ih(){return 1292}function oh(e,t,n){e=e|0;t=t|0;n=+n;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=uh(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];ah(t,i,n);h=r;return}function uh(e){e=e|0;return(o[(qp()|0)+24>>2]|0)+(e*12|0)|0}function ah(e,t,n){e=e|0;t=t|0;n=+n;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Kl(i,n);n=+Xl(i,n);dA[r&31](e,n);h=u;return}function lh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];sh(e,n,i,0);h=r;return}function sh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=ch()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=fh(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,dh(u,r)|0,r);h=i;return}function ch(){var e=0,t=0;if(!(r[7768]|0)){_h(9792);Fe(40,9792,g|0)|0;t=7768;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9792)|0)){e=9792;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));_h(9792)}return 9792}function fh(e){e=e|0;return 0}function dh(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=ch()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];ph(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{hh(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function ph(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function hh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=vh(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;mh(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];ph(u,r,n);o[s>>2]=(o[s>>2]|0)+12;gh(e,l);yh(l);h=c;return}}function vh(e){e=e|0;return 357913941}function mh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function gh(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function yh(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function _h(e){e=e|0;Eh(e);return}function bh(e){e=e|0;wh(e+24|0);return}function wh(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Eh(e){e=e|0;var t=0;t=Za()|0;nl(e,2,1,t,Dh()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Dh(){return 1300}function Sh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=+r;var i=0,u=0,a=0,l=0;i=h;h=h+16|0;u=i+8|0;a=i;l=Ch(e)|0;e=o[l+4>>2]|0;o[a>>2]=o[l>>2];o[a+4>>2]=e;o[u>>2]=o[a>>2];o[u+4>>2]=o[a+4>>2];kh(t,u,n,r);h=i;return}function Ch(e){e=e|0;return(o[(ch()|0)+24>>2]|0)+(e*12|0)|0}function kh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=+r;var i=0,u=0,a=0,l=0;l=h;h=h+16|0;u=l+1|0;a=l;i=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)i=o[(o[e>>2]|0)+i>>2]|0;Ql(u,n);u=Jl(u,n)|0;Kl(a,r);r=+Xl(a,r);NA[i&15](e,u,r);h=l;return}function Th(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];xh(e,n,i,0);h=r;return}function xh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Ah()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Oh(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Ph(u,r)|0,r);h=i;return}function Ah(){var e=0,t=0;if(!(r[7776]|0)){Bh(9828);Fe(41,9828,g|0)|0;t=7776;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9828)|0)){e=9828;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Bh(9828)}return 9828}function Oh(e){e=e|0;return 0}function Ph(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Ah()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Ih(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Nh(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Ih(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Nh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Mh(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Rh(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Ih(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Fh(e,l);Lh(l);h=c;return}}function Mh(e){e=e|0;return 357913941}function Rh(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Fh(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Lh(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Bh(e){e=e|0;zh(e);return}function jh(e){e=e|0;Uh(e+24|0);return}function Uh(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function zh(e){e=e|0;var t=0;t=Za()|0;nl(e,2,7,t,Wh()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Wh(){return 1312}function Hh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=Vh(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];qh(t,i,n);h=r;return}function Vh(e){e=e|0;return(o[(Ah()|0)+24>>2]|0)+(e*12|0)|0}function qh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Ql(i,n);i=Jl(i,n)|0;vA[r&31](e,i);h=u;return}function Gh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];$h(e,n,i,0);h=r;return}function $h(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=Yh()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Kh(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Xh(u,r)|0,r);h=i;return}function Yh(){var e=0,t=0;if(!(r[7784]|0)){rv(9864);Fe(42,9864,g|0)|0;t=7784;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9864)|0)){e=9864;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));rv(9864)}return 9864}function Kh(e){e=e|0;return 0}function Xh(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=Yh()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Qh(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Jh(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Qh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Jh(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Zh(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;ev(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Qh(u,r,n);o[s>>2]=(o[s>>2]|0)+12;tv(e,l);nv(l);h=c;return}}function Zh(e){e=e|0;return 357913941}function ev(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function tv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function nv(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function rv(e){e=e|0;uv(e);return}function iv(e){e=e|0;ov(e+24|0);return}function ov(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function uv(e){e=e|0;var t=0;t=Za()|0;nl(e,2,8,t,av()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function av(){return 1320}function lv(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=sv(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];cv(t,i,n);h=r;return}function sv(e){e=e|0;return(o[(Yh()|0)+24>>2]|0)+(e*12|0)|0}function cv(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;fv(i,n);i=dv(i,n)|0;vA[r&31](e,i);h=u;return}function fv(e,t){e=e|0;t=t|0;return}function dv(e,t){e=e|0;t=t|0;return pv(t)|0}function pv(e){e=e|0;return e|0}function hv(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];vv(e,n,i,0);h=r;return}function vv(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=mv()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=gv(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,yv(u,r)|0,r);h=i;return}function mv(){var e=0,t=0;if(!(r[7792]|0)){Cv(9900);Fe(43,9900,g|0)|0;t=7792;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9900)|0)){e=9900;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Cv(9900)}return 9900}function gv(e){e=e|0;return 0}function yv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=mv()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];_v(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{bv(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function _v(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function bv(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=wv(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Ev(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];_v(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Dv(e,l);Sv(l);h=c;return}}function wv(e){e=e|0;return 357913941}function Ev(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Dv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Sv(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Cv(e){e=e|0;xv(e);return}function kv(e){e=e|0;Tv(e+24|0);return}function Tv(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function xv(e){e=e|0;var t=0;t=Za()|0;nl(e,2,22,t,Av()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Av(){return 1344}function Ov(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0;n=h;h=h+16|0;r=n+8|0;i=n;u=Pv(e)|0;e=o[u+4>>2]|0;o[i>>2]=o[u>>2];o[i+4>>2]=e;o[r>>2]=o[i>>2];o[r+4>>2]=o[i+4>>2];Iv(t,r);h=n;return}function Pv(e){e=e|0;return(o[(mv()|0)+24>>2]|0)+(e*12|0)|0}function Iv(e,t){e=e|0;t=t|0;var n=0;n=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)n=o[(o[e>>2]|0)+n>>2]|0;hA[n&127](e);return}function Nv(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=Mv()|0;e=Rv(n)|0;La(u,t,i,e,Fv(n,r)|0,r);return}function Mv(){var e=0,t=0;if(!(r[7800]|0)){Hv(9936);Fe(44,9936,g|0)|0;t=7800;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9936)|0)){e=9936;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Hv(9936)}return 9936}function Rv(e){e=e|0;return e|0}function Fv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=Mv()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){Lv(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{Bv(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function Lv(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function Bv(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=jv(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;Uv(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;Lv(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;zv(e,i);Wv(i);h=l;return}}function jv(e){e=e|0;return 536870911}function Uv(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function zv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Wv(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function Hv(e){e=e|0;Gv(e);return}function Vv(e){e=e|0;qv(e+24|0);return}function qv(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function Gv(e){e=e|0;var t=0;t=Za()|0;nl(e,1,23,t,vf()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function $v(e,t){e=e|0;t=t|0;Kv(o[(Yv(e)|0)>>2]|0,t);return}function Yv(e){e=e|0;return(o[(Mv()|0)+24>>2]|0)+(e<<3)|0}function Kv(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;_f(r,t);t=bf(r,t)|0;hA[e&127](t);h=n;return}function Xv(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=Qv()|0;e=Jv(n)|0;La(u,t,i,e,Zv(n,r)|0,r);return}function Qv(){var e=0,t=0;if(!(r[7808]|0)){um(9972);Fe(45,9972,g|0)|0;t=7808;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(9972)|0)){e=9972;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));um(9972)}return 9972}function Jv(e){e=e|0;return e|0}function Zv(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=Qv()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){em(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{tm(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function em(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function tm(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=nm(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;rm(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;em(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;im(e,i);om(i);h=l;return}}function nm(e){e=e|0;return 536870911}function rm(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function im(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function om(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function um(e){e=e|0;sm(e);return}function am(e){e=e|0;lm(e+24|0);return}function lm(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function sm(e){e=e|0;var t=0;t=Za()|0;nl(e,1,9,t,cm()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function cm(){return 1348}function fm(e,t){e=e|0;t=t|0;return pm(o[(dm(e)|0)>>2]|0,t)|0}function dm(e){e=e|0;return(o[(Qv()|0)+24>>2]|0)+(e<<3)|0}function pm(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;hm(r,t);t=vm(r,t)|0;t=dc(mA[e&31](t)|0)|0;h=n;return t|0}function hm(e,t){e=e|0;t=t|0;return}function vm(e,t){e=e|0;t=t|0;return mm(t)|0}function mm(e){e=e|0;return e|0}function gm(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=ym()|0;e=_m(n)|0;La(u,t,i,e,bm(n,r)|0,r);return}function ym(){var e=0,t=0;if(!(r[7816]|0)){Tm(10008);Fe(46,10008,g|0)|0;t=7816;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10008)|0)){e=10008;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Tm(10008)}return 10008}function _m(e){e=e|0;return e|0}function bm(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=ym()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){wm(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{Em(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function wm(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function Em(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=Dm(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;Sm(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;wm(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;Cm(e,i);km(i);h=l;return}}function Dm(e){e=e|0;return 536870911}function Sm(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function Cm(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function km(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function Tm(e){e=e|0;Om(e);return}function xm(e){e=e|0;Am(e+24|0);return}function Am(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function Om(e){e=e|0;var t=0;t=Za()|0;nl(e,1,15,t,Ac()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Pm(e){e=e|0;return Nm(o[(Im(e)|0)>>2]|0)|0}function Im(e){e=e|0;return(o[(ym()|0)+24>>2]|0)+(e<<3)|0}function Nm(e){e=e|0;return dc(TA[e&7]()|0)|0}function Mm(){var e=0;if(!(r[7832]|0)){Vm(10052);Fe(25,10052,g|0)|0;e=7832;o[e>>2]=1;o[e+4>>2]=0}return 10052}function Rm(e,t){e=e|0;t=t|0;o[e>>2]=Fm()|0;o[e+4>>2]=Lm()|0;o[e+12>>2]=t;o[e+8>>2]=Bm()|0;o[e+32>>2]=2;return}function Fm(){return 11709}function Lm(){return 1188}function Bm(){return Wm()|0}function jm(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){zm(n);KT(n)}}else if(t|0){Qi(t);KT(t)}return}function Um(e,t){e=e|0;t=t|0;return t&e|0}function zm(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function Wm(){var e=0;if(!(r[7824]|0)){o[2511]=Hm()|0;o[2512]=0;e=7824;o[e>>2]=1;o[e+4>>2]=0}return 10044}function Hm(){return 0}function Vm(e){e=e|0;Al(e);return}function qm(e){e=e|0;var t=0,n=0,r=0,i=0,u=0;t=h;h=h+32|0;n=t+24|0;u=t+16|0;i=t+8|0;r=t;Gm(e,4827);$m(e,4834,3)|0;Ym(e,3682,47)|0;o[u>>2]=9;o[u+4>>2]=0;o[n>>2]=o[u>>2];o[n+4>>2]=o[u+4>>2];Km(e,4841,n)|0;o[i>>2]=1;o[i+4>>2]=0;o[n>>2]=o[i>>2];o[n+4>>2]=o[i+4>>2];Xm(e,4871,n)|0;o[r>>2]=10;o[r+4>>2]=0;o[n>>2]=o[r>>2];o[n+4>>2]=o[r+4>>2];Qm(e,4891,n)|0;h=t;return}function Gm(e,t){e=e|0;t=t|0;var n=0;n=Vy()|0;o[e>>2]=n;qy(n,t);cw(o[e>>2]|0);return}function $m(e,t,n){e=e|0;t=t|0;n=n|0;Cy(e,Ia(t)|0,n,0);return e|0}function Ym(e,t,n){e=e|0;t=t|0;n=n|0;ay(e,Ia(t)|0,n,0);return e|0}function Km(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];jg(e,t,i);h=r;return e|0}function Xm(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];gg(e,t,i);h=r;return e|0}function Qm(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=o[n+4>>2]|0;o[u>>2]=o[n>>2];o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Jm(e,t,i);h=r;return e|0}function Jm(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Zm(e,n,i,1);h=r;return}function Zm(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=eg()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=tg(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,ng(u,r)|0,r);h=i;return}function eg(){var e=0,t=0;if(!(r[7840]|0)){sg(10100);Fe(48,10100,g|0)|0;t=7840;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10100)|0)){e=10100;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));sg(10100)}return 10100}function tg(e){e=e|0;return 0}function ng(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=eg()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];rg(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{ig(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function rg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function ig(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=og(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;ug(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];rg(u,r,n);o[s>>2]=(o[s>>2]|0)+12;ag(e,l);lg(l);h=c;return}}function og(e){e=e|0;return 357913941}function ug(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function ag(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function lg(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function sg(e){e=e|0;dg(e);return}function cg(e){e=e|0;fg(e+24|0);return}function fg(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function dg(e){e=e|0;var t=0;t=Za()|0;nl(e,2,6,t,pg()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function pg(){return 1364}function hg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=vg(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];n=mg(t,i,n)|0;h=r;return n|0}function vg(e){e=e|0;return(o[(eg()|0)+24>>2]|0)+(e*12|0)|0}function mg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Ql(i,n);i=Jl(i,n)|0;i=bs(DA[r&15](e,i)|0)|0;h=u;return i|0}function gg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];yg(e,n,i,0);h=r;return}function yg(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=_g()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=bg(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,wg(u,r)|0,r);h=i;return}function _g(){var e=0,t=0;if(!(r[7848]|0)){xg(10136);Fe(49,10136,g|0)|0;t=7848;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10136)|0)){e=10136;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));xg(10136)}return 10136}function bg(e){e=e|0;return 0}function wg(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=_g()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Eg(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{Dg(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Eg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function Dg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Sg(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;Cg(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Eg(u,r,n);o[s>>2]=(o[s>>2]|0)+12;kg(e,l);Tg(l);h=c;return}}function Sg(e){e=e|0;return 357913941}function Cg(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function kg(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Tg(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function xg(e){e=e|0;Pg(e);return}function Ag(e){e=e|0;Og(e+24|0);return}function Og(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Pg(e){e=e|0;var t=0;t=Za()|0;nl(e,2,9,t,Ig()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Ig(){return 1372}function Ng(e,t,n){e=e|0;t=t|0;n=+n;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;i=r+8|0;u=r;a=Mg(e)|0;e=o[a+4>>2]|0;o[u>>2]=o[a>>2];o[u+4>>2]=e;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Rg(t,i,n);h=r;return}function Mg(e){e=e|0;return(o[(_g()|0)+24>>2]|0)+(e*12|0)|0}function Rg(e,t,n){e=e|0;t=t|0;n=+n;var r=0,i=0,u=0,a=ft;u=h;h=h+16|0;i=u;r=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)r=o[(o[e>>2]|0)+r>>2]|0;Fg(i,n);a=Y(Lg(i,n));fA[r&1](e,a);h=u;return}function Fg(e,t){e=e|0;t=+t;return}function Lg(e,t){e=e|0;t=+t;return Y(Bg(t))}function Bg(e){e=+e;return Y(e)}function jg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;i=r+8|0;u=r;l=o[n>>2]|0;a=o[n+4>>2]|0;n=Ia(t)|0;o[u>>2]=l;o[u+4>>2]=a;o[i>>2]=o[u>>2];o[i+4>>2]=o[u+4>>2];Ug(e,n,i,0);h=r;return}function Ug(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0;i=h;h=h+32|0;u=i+16|0;f=i+8|0;l=i;c=o[n>>2]|0;s=o[n+4>>2]|0;a=o[e>>2]|0;e=zg()|0;o[f>>2]=c;o[f+4>>2]=s;o[u>>2]=o[f>>2];o[u+4>>2]=o[f+4>>2];n=Wg(u)|0;o[l>>2]=c;o[l+4>>2]=s;o[u>>2]=o[l>>2];o[u+4>>2]=o[l+4>>2];La(a,t,e,n,Hg(u,r)|0,r);h=i;return}function zg(){var e=0,t=0;if(!(r[7856]|0)){Xg(10172);Fe(50,10172,g|0)|0;t=7856;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10172)|0)){e=10172;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Xg(10172)}return 10172}function Wg(e){e=e|0;return 0}function Hg(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0;f=h;h=h+32|0;i=f+24|0;a=f+16|0;l=f;s=f+8|0;u=o[e>>2]|0;r=o[e+4>>2]|0;o[l>>2]=u;o[l+4>>2]=r;d=zg()|0;c=d+24|0;e=za(t,4)|0;o[s>>2]=e;t=d+28|0;n=o[t>>2]|0;if(n>>>0<(o[d+32>>2]|0)>>>0){o[a>>2]=u;o[a+4>>2]=r;o[i>>2]=o[a>>2];o[i+4>>2]=o[a+4>>2];Vg(n,i,e);e=(o[t>>2]|0)+12|0;o[t>>2]=e}else{qg(c,l,s);e=o[t>>2]|0}h=f;return((e-(o[c>>2]|0)|0)/12|0)+-1|0}function Vg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=o[t+4>>2]|0;o[e>>2]=o[t>>2];o[e+4>>2]=r;o[e+8>>2]=n;return}function qg(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0;c=h;h=h+48|0;r=c+32|0;a=c+24|0;l=c;s=e+4|0;i=(((o[s>>2]|0)-(o[e>>2]|0)|0)/12|0)+1|0;u=Gg(e)|0;if(u>>>0>>0)UT(e);else{f=o[e>>2]|0;p=((o[e+8>>2]|0)-f|0)/12|0;d=p<<1;$g(l,p>>>0>>1>>>0?d>>>0>>0?i:d:u,((o[s>>2]|0)-f|0)/12|0,e+8|0);s=l+8|0;u=o[s>>2]|0;i=o[t+4>>2]|0;n=o[n>>2]|0;o[a>>2]=o[t>>2];o[a+4>>2]=i;o[r>>2]=o[a>>2];o[r+4>>2]=o[a+4>>2];Vg(u,r,n);o[s>>2]=(o[s>>2]|0)+12;Yg(e,l);Kg(l);h=c;return}}function Gg(e){e=e|0;return 357913941}function $g(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>357913941)Ye();else{i=$T(t*12|0)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n*12|0)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t*12|0);return}function Yg(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(((i|0)/-12|0)*12|0)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function Kg(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~(((r+-12-t|0)>>>0)/12|0)*12|0);e=o[e>>2]|0;if(e|0)KT(e);return}function Xg(e){e=e|0;Zg(e);return}function Qg(e){e=e|0;Jg(e+24|0);return}function Jg(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~(((t+-12-r|0)>>>0)/12|0)*12|0);KT(n)}return}function Zg(e){e=e|0;var t=0;t=Za()|0;nl(e,2,3,t,ey()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ey(){return 1380}function ty(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;i=h;h=h+16|0;u=i+8|0;a=i;l=ny(e)|0;e=o[l+4>>2]|0;o[a>>2]=o[l>>2];o[a+4>>2]=e;o[u>>2]=o[a>>2];o[u+4>>2]=o[a+4>>2];ry(t,u,n,r);h=i;return}function ny(e){e=e|0;return(o[(zg()|0)+24>>2]|0)+(e*12|0)|0}function ry(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;l=h;h=h+16|0;u=l+1|0;a=l;i=o[t>>2]|0;t=o[t+4>>2]|0;e=e+(t>>1)|0;if(t&1)i=o[(o[e>>2]|0)+i>>2]|0;Ql(u,n);u=Jl(u,n)|0;iy(a,r);a=oy(a,r)|0;PA[i&15](e,u,a);h=l;return}function iy(e,t){e=e|0;t=t|0;return}function oy(e,t){e=e|0;t=t|0;return uy(t)|0}function uy(e){e=e|0;return(e|0)!=0|0}function ay(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=ly()|0;e=sy(n)|0;La(u,t,i,e,cy(n,r)|0,r);return}function ly(){var e=0,t=0;if(!(r[7864]|0)){gy(10208);Fe(51,10208,g|0)|0;t=7864;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10208)|0)){e=10208;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));gy(10208)}return 10208}function sy(e){e=e|0;return e|0}function cy(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=ly()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){fy(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{dy(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function fy(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function dy(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=py(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;hy(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;fy(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;vy(e,i);my(i);h=l;return}}function py(e){e=e|0;return 536870911}function hy(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function vy(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function my(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function gy(e){e=e|0;by(e);return}function yy(e){e=e|0;_y(e+24|0);return}function _y(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function by(e){e=e|0;var t=0;t=Za()|0;nl(e,1,24,t,wy()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function wy(){return 1392}function Ey(e,t){e=e|0;t=t|0;Sy(o[(Dy(e)|0)>>2]|0,t);return}function Dy(e){e=e|0;return(o[(ly()|0)+24>>2]|0)+(e<<3)|0}function Sy(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;hm(r,t);t=vm(r,t)|0;hA[e&127](t);h=n;return}function Cy(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=ky()|0;e=Ty(n)|0;La(u,t,i,e,xy(n,r)|0,r);return}function ky(){var e=0,t=0;if(!(r[7872]|0)){Ry(10244);Fe(52,10244,g|0)|0;t=7872;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10244)|0)){e=10244;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));Ry(10244)}return 10244}function Ty(e){e=e|0;return e|0}function xy(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=ky()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){Ay(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{Oy(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function Ay(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function Oy(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=Py(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;Iy(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;Ay(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;Ny(e,i);My(i);h=l;return}}function Py(e){e=e|0;return 536870911}function Iy(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function Ny(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function My(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function Ry(e){e=e|0;By(e);return}function Fy(e){e=e|0;Ly(e+24|0);return}function Ly(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function By(e){e=e|0;var t=0;t=Za()|0;nl(e,1,16,t,jy()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function jy(){return 1400}function Uy(e){e=e|0;return Wy(o[(zy(e)|0)>>2]|0)|0}function zy(e){e=e|0;return(o[(ky()|0)+24>>2]|0)+(e<<3)|0}function Wy(e){e=e|0;return Hy(TA[e&7]()|0)|0}function Hy(e){e=e|0;return e|0}function Vy(){var e=0;if(!(r[7880]|0)){Qy(10280);Fe(25,10280,g|0)|0;e=7880;o[e>>2]=1;o[e+4>>2]=0}return 10280}function qy(e,t){e=e|0;t=t|0;o[e>>2]=Gy()|0;o[e+4>>2]=$y()|0;o[e+12>>2]=t;o[e+8>>2]=Yy()|0;o[e+32>>2]=4;return}function Gy(){return 11711}function $y(){return 1356}function Yy(){return Wm()|0}function Ky(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){Xy(n);KT(n)}}else if(t|0){Hi(t);KT(t)}return}function Xy(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function Qy(e){e=e|0;Al(e);return}function Jy(e){e=e|0;Zy(e,4920);e_(e)|0;t_(e)|0;return}function Zy(e,t){e=e|0;t=t|0;var n=0;n=qd()|0;o[e>>2]=n;T_(n,t);cw(o[e>>2]|0);return}function e_(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,v_()|0);return e|0}function t_(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,n_()|0);return e|0}function n_(){var e=0;if(!(r[7888]|0)){i_(10328);Fe(53,10328,g|0)|0;e=7888;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10328)|0))i_(10328);return 10328}function r_(e,t){e=e|0;t=t|0;La(e,0,t,0,0,0);return}function i_(e){e=e|0;a_(e);s_(e,10);return}function o_(e){e=e|0;u_(e+24|0);return}function u_(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function a_(e){e=e|0;var t=0;t=Za()|0;nl(e,5,1,t,d_()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function l_(e,t,n){e=e|0;t=t|0;n=+n;c_(e,t,n);return}function s_(e,t){e=e|0;t=t|0;o[e+20>>2]=t;return}function c_(e,t,n){e=e|0;t=t|0;n=+n;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+16|0;u=r+8|0;l=r+13|0;i=r;a=r+12|0;Ql(l,t);o[u>>2]=Jl(l,t)|0;Kl(a,n);c[i>>3]=+Xl(a,n);f_(e,u,i);h=r;return}function f_(e,t,n){e=e|0;t=t|0;n=n|0;Vo(e+8|0,o[t>>2]|0,+c[n>>3]);r[e+24>>0]=1;return}function d_(){return 1404}function p_(e,t){e=e|0;t=+t;return h_(e,t)|0}function h_(e,t){e=e|0;t=+t;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;r=h;h=h+16|0;u=r+4|0;a=r+8|0;l=r;i=UD(8)|0;n=i;s=$T(16)|0;Ql(u,e);e=Jl(u,e)|0;Kl(a,t);Vo(s,e,+Xl(a,t));a=n+4|0;o[a>>2]=s;e=$T(8)|0;a=o[a>>2]|0;o[l>>2]=0;o[u>>2]=o[l>>2];Yd(e,a,u);o[i>>2]=e;h=r;return n|0}function v_(){var e=0;if(!(r[7896]|0)){m_(10364);Fe(54,10364,g|0)|0;e=7896;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10364)|0))m_(10364);return 10364}function m_(e){e=e|0;__(e);s_(e,55);return}function g_(e){e=e|0;y_(e+24|0);return}function y_(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function __(e){e=e|0;var t=0;t=Za()|0;nl(e,5,4,t,S_()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function b_(e){e=e|0;w_(e);return}function w_(e){e=e|0;E_(e);return}function E_(e){e=e|0;D_(e+8|0);r[e+24>>0]=1;return}function D_(e){e=e|0;o[e>>2]=0;c[e+8>>3]=0.0;return}function S_(){return 1424}function C_(){return k_()|0}function k_(){var e=0,t=0,n=0,r=0,i=0,u=0,a=0;t=h;h=h+16|0;i=t+4|0;a=t;n=UD(8)|0;e=n;r=$T(16)|0;D_(r);u=e+4|0;o[u>>2]=r;r=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];Yd(r,u,i);o[n>>2]=r;h=t;return e|0}function T_(e,t){e=e|0;t=t|0;o[e>>2]=x_()|0;o[e+4>>2]=A_()|0;o[e+12>>2]=t;o[e+8>>2]=O_()|0;o[e+32>>2]=5;return}function x_(){return 11710}function A_(){return 1416}function O_(){return N_()|0}function P_(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){I_(n);KT(n)}}else if(t|0)KT(t);return}function I_(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function N_(){var e=0;if(!(r[7904]|0)){o[2600]=M_()|0;o[2601]=0;e=7904;o[e>>2]=1;o[e+4>>2]=0}return 10400}function M_(){return o[357]|0}function R_(e){e=e|0;F_(e,4926);L_(e)|0;return}function F_(e,t){e=e|0;t=t|0;var n=0;n=ul()|0;o[e>>2]=n;K_(n,t);cw(o[e>>2]|0);return}function L_(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,B_()|0);return e|0}function B_(){var e=0;if(!(r[7912]|0)){j_(10412);Fe(56,10412,g|0)|0;e=7912;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10412)|0))j_(10412);return 10412}function j_(e){e=e|0;W_(e);s_(e,57);return}function U_(e){e=e|0;z_(e+24|0);return}function z_(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function W_(e){e=e|0;var t=0;t=Za()|0;nl(e,5,5,t,G_()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function H_(e){e=e|0;V_(e);return}function V_(e){e=e|0;q_(e);return}function q_(e){e=e|0;var t=0,n=0;t=e+8|0;n=t+48|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));r[e+56>>0]=1;return}function G_(){return 1432}function $_(){return Y_()|0}function Y_(){var e=0,t=0,n=0,r=0,i=0,u=0,a=0,l=0;a=h;h=h+16|0;e=a+4|0;t=a;n=UD(8)|0;r=n;i=$T(48)|0;u=i;l=u+48|0;do{o[u>>2]=0;u=u+4|0}while((u|0)<(l|0));u=r+4|0;o[u>>2]=i;l=$T(8)|0;u=o[u>>2]|0;o[t>>2]=0;o[e>>2]=o[t>>2];pl(l,u,e);o[n>>2]=l;h=a;return r|0}function K_(e,t){e=e|0;t=t|0;o[e>>2]=X_()|0;o[e+4>>2]=Q_()|0;o[e+12>>2]=t;o[e+8>>2]=J_()|0;o[e+32>>2]=6;return}function X_(){return 11704}function Q_(){return 1436}function J_(){return N_()|0}function Z_(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){eb(n);KT(n)}}else if(t|0)KT(t);return}function eb(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function tb(e){e=e|0;nb(e,4933);rb(e)|0;ib(e)|0;return}function nb(e,t){e=e|0;t=t|0;var n=0;n=Nb()|0;o[e>>2]=n;Mb(n,t);cw(o[e>>2]|0);return}function rb(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,wb()|0);return e|0}function ib(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,ob()|0);return e|0}function ob(){var e=0;if(!(r[7920]|0)){ub(10452);Fe(58,10452,g|0)|0;e=7920;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10452)|0))ub(10452);return 10452}function ub(e){e=e|0;sb(e);s_(e,1);return}function ab(e){e=e|0;lb(e+24|0);return}function lb(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function sb(e){e=e|0;var t=0;t=Za()|0;nl(e,5,1,t,hb()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function cb(e,t,n){e=e|0;t=+t;n=+n;fb(e,t,n);return}function fb(e,t,n){e=e|0;t=+t;n=+n;var r=0,i=0,o=0,u=0,a=0;r=h;h=h+32|0;o=r+8|0;a=r+17|0;i=r;u=r+16|0;Kl(a,t);c[o>>3]=+Xl(a,t);Kl(u,n);c[i>>3]=+Xl(u,n);db(e,o,i);h=r;return}function db(e,t,n){e=e|0;t=t|0;n=n|0;pb(e+8|0,+c[t>>3],+c[n>>3]);r[e+24>>0]=1;return}function pb(e,t,n){e=e|0;t=+t;n=+n;c[e>>3]=t;c[e+8>>3]=n;return}function hb(){return 1472}function vb(e,t){e=+e;t=+t;return mb(e,t)|0}function mb(e,t){e=+e;t=+t;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;r=h;h=h+16|0;a=r+4|0;l=r+8|0;s=r;i=UD(8)|0;n=i;u=$T(16)|0;Kl(a,e);e=+Xl(a,e);Kl(l,t);pb(u,e,+Xl(l,t));l=n+4|0;o[l>>2]=u;u=$T(8)|0;l=o[l>>2]|0;o[s>>2]=0;o[a>>2]=o[s>>2];gb(u,l,a);o[i>>2]=u;h=r;return n|0}function gb(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;n=$T(16)|0;o[n+4>>2]=0;o[n+8>>2]=0;o[n>>2]=1452;o[n+12>>2]=t;o[e+4>>2]=n;return}function yb(e){e=e|0;zT(e);KT(e);return}function _b(e){e=e|0;e=o[e+12>>2]|0;if(e|0)KT(e);return}function bb(e){e=e|0;KT(e);return}function wb(){var e=0;if(!(r[7928]|0)){Eb(10488);Fe(59,10488,g|0)|0;e=7928;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10488)|0))Eb(10488);return 10488}function Eb(e){e=e|0;Cb(e);s_(e,60);return}function Db(e){e=e|0;Sb(e+24|0);return}function Sb(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function Cb(e){e=e|0;var t=0;t=Za()|0;nl(e,5,6,t,Ob()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function kb(e){e=e|0;Tb(e);return}function Tb(e){e=e|0;xb(e);return}function xb(e){e=e|0;Ab(e+8|0);r[e+24>>0]=1;return}function Ab(e){e=e|0;o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;return}function Ob(){return 1492}function Pb(){return Ib()|0}function Ib(){var e=0,t=0,n=0,r=0,i=0,u=0,a=0;t=h;h=h+16|0;i=t+4|0;a=t;n=UD(8)|0;e=n;r=$T(16)|0;Ab(r);u=e+4|0;o[u>>2]=r;r=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];gb(r,u,i);o[n>>2]=r;h=t;return e|0}function Nb(){var e=0;if(!(r[7936]|0)){Ub(10524);Fe(25,10524,g|0)|0;e=7936;o[e>>2]=1;o[e+4>>2]=0}return 10524}function Mb(e,t){e=e|0;t=t|0;o[e>>2]=Rb()|0;o[e+4>>2]=Fb()|0;o[e+12>>2]=t;o[e+8>>2]=Lb()|0;o[e+32>>2]=7;return}function Rb(){return 11700}function Fb(){return 1484}function Lb(){return N_()|0}function Bb(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){jb(n);KT(n)}}else if(t|0)KT(t);return}function jb(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function Ub(e){e=e|0;Al(e);return}function zb(e,t,n){e=e|0;t=t|0;n=n|0;e=Ia(t)|0;t=Wb(n)|0;n=Hb(n,0)|0;xw(e,t,n,Vb()|0,0);return}function Wb(e){e=e|0;return e|0}function Hb(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=Vb()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){Jb(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{Zb(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function Vb(){var e=0,t=0;if(!(r[7944]|0)){qb(10568);Fe(61,10568,g|0)|0;t=7944;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10568)|0)){e=10568;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));qb(10568)}return 10568}function qb(e){e=e|0;Yb(e);return}function Gb(e){e=e|0;$b(e+24|0);return}function $b(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function Yb(e){e=e|0;var t=0;t=Za()|0;nl(e,1,17,t,Yc()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function Kb(e){e=e|0;return Qb(o[(Xb(e)|0)>>2]|0)|0}function Xb(e){e=e|0;return(o[(Vb()|0)+24>>2]|0)+(e<<3)|0}function Qb(e){e=e|0;return Jc(TA[e&7]()|0)|0}function Jb(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function Zb(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=ew(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;tw(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;Jb(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;nw(e,i);rw(i);h=l;return}}function ew(e){e=e|0;return 536870911}function tw(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function nw(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function rw(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function iw(){ow();return}function ow(){uw(10604);return}function uw(e){e=e|0;aw(e,4955);return}function aw(e,t){e=e|0;t=t|0;var n=0;n=lw()|0;o[e>>2]=n;sw(n,t);cw(o[e>>2]|0);return}function lw(){var e=0;if(!(r[7952]|0)){bw(10612);Fe(25,10612,g|0)|0;e=7952;o[e>>2]=1;o[e+4>>2]=0}return 10612}function sw(e,t){e=e|0;t=t|0;o[e>>2]=vw()|0;o[e+4>>2]=mw()|0;o[e+12>>2]=t;o[e+8>>2]=gw()|0;o[e+32>>2]=8;return}function cw(e){e=e|0;var t=0,n=0;t=h;h=h+16|0;n=t;fw()|0;o[n>>2]=e;dw(10608,n);h=t;return}function fw(){if(!(r[11714]|0)){o[2652]=0;Fe(62,10608,g|0)|0;r[11714]=1}return 10608}function dw(e,t){e=e|0;t=t|0;var n=0;n=$T(8)|0;o[n+4>>2]=o[t>>2];o[n>>2]=o[e>>2];o[e>>2]=n;return}function pw(e){e=e|0;hw(e);return}function hw(e){e=e|0;var t=0,n=0;t=o[e>>2]|0;if(t|0)do{n=t;t=o[t>>2]|0;KT(n)}while((t|0)!=0);o[e>>2]=0;return}function vw(){return 11715}function mw(){return 1496}function gw(){return Wm()|0}function yw(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){_w(n);KT(n)}}else if(t|0)KT(t);return}function _w(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function bw(e){e=e|0;Al(e);return}function ww(e,t){e=e|0;t=t|0;var n=0,r=0;fw()|0;n=o[2652]|0;e:do{if(n|0){while(1){r=o[n+4>>2]|0;if(r|0?(rT(Ew(r)|0,e)|0)==0:0)break;n=o[n>>2]|0;if(!n)break e}Dw(r,t)}}while(0);return}function Ew(e){e=e|0;return o[e+12>>2]|0}function Dw(e,t){e=e|0;t=t|0;var n=0;e=e+36|0;n=o[e>>2]|0;if(n|0){Ji(n);KT(n)}n=$T(4)|0;yu(n,t);o[e>>2]=n;return}function Sw(){if(!(r[11716]|0)){o[2664]=0;Fe(63,10656,g|0)|0;r[11716]=1}return 10656}function Cw(){var e=0;if(!(r[11717]|0)){kw();o[2665]=1504;r[11717]=1;e=1504}else e=o[2665]|0;return e|0}function kw(){if(!(r[11740]|0)){r[11718]=za(za(8,0)|0,0)|0;r[11719]=za(za(0,0)|0,0)|0;r[11720]=za(za(0,16)|0,0)|0;r[11721]=za(za(8,0)|0,0)|0;r[11722]=za(za(0,0)|0,0)|0;r[11723]=za(za(8,0)|0,0)|0;r[11724]=za(za(0,0)|0,0)|0;r[11725]=za(za(8,0)|0,0)|0;r[11726]=za(za(0,0)|0,0)|0;r[11727]=za(za(8,0)|0,0)|0;r[11728]=za(za(0,0)|0,0)|0;r[11729]=za(za(0,0)|0,32)|0;r[11730]=za(za(0,0)|0,32)|0;r[11740]=1}return}function Tw(){return 1572}function xw(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var u=0,a=0,l=0,s=0,c=0,f=0;u=h;h=h+32|0;f=u+16|0;c=u+12|0;s=u+8|0;l=u+4|0;a=u;o[f>>2]=e;o[c>>2]=t;o[s>>2]=n;o[l>>2]=r;o[a>>2]=i;Sw()|0;Aw(10656,f,c,s,l,a);h=u;return}function Aw(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;var a=0;a=$T(24)|0;Ua(a+4|0,o[t>>2]|0,o[n>>2]|0,o[r>>2]|0,o[i>>2]|0,o[u>>2]|0);o[a>>2]=o[e>>2];o[e>>2]=a;return}function Ow(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0,b=0;b=h;h=h+32|0;m=b+20|0;g=b+8|0;y=b+4|0;_=b;t=o[t>>2]|0;if(t|0){v=m+4|0;s=m+8|0;c=g+4|0;f=g+8|0;d=g+8|0;p=m+8|0;do{a=t+4|0;l=Pw(a)|0;if(l|0){i=Iw(l)|0;o[m>>2]=0;o[v>>2]=0;o[s>>2]=0;r=(Nw(l)|0)+1|0;Mw(m,r);if(r|0)while(1){r=r+-1|0;gk(g,o[i>>2]|0);u=o[v>>2]|0;if(u>>>0<(o[p>>2]|0)>>>0){o[u>>2]=o[g>>2];o[v>>2]=(o[v>>2]|0)+4}else Rw(m,g);if(!r)break;else i=i+4|0}r=Fw(l)|0;o[g>>2]=0;o[c>>2]=0;o[f>>2]=0;e:do{if(o[r>>2]|0){i=0;u=0;while(1){if((i|0)==(u|0))Lw(g,r);else{o[i>>2]=o[r>>2];o[c>>2]=(o[c>>2]|0)+4}r=r+4|0;if(!(o[r>>2]|0))break e;i=o[c>>2]|0;u=o[d>>2]|0}}}while(0);o[y>>2]=Bw(a)|0;o[_>>2]=Xa(l)|0;jw(n,e,y,_,m,g);Uw(g);zw(m)}t=o[t>>2]|0}while((t|0)!=0)}h=b;return}function Pw(e){e=e|0;return o[e+12>>2]|0}function Iw(e){e=e|0;return o[e+12>>2]|0}function Nw(e){e=e|0;return o[e+16>>2]|0}function Mw(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+32|0;n=i;r=o[e>>2]|0;if((o[e+8>>2]|0)-r>>2>>>0>>0){bE(n,t,(o[e+4>>2]|0)-r>>2,e+8|0);wE(e,n);EE(n)}h=i;return}function Rw(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0;a=h;h=h+32|0;n=a;r=e+4|0;i=((o[r>>2]|0)-(o[e>>2]|0)>>2)+1|0;u=mE(e)|0;if(u>>>0>>0)UT(e);else{l=o[e>>2]|0;c=(o[e+8>>2]|0)-l|0;s=c>>1;bE(n,c>>2>>>0>>1>>>0?s>>>0>>0?i:s:u,(o[r>>2]|0)-l>>2,e+8|0);u=n+8|0;o[o[u>>2]>>2]=o[t>>2];o[u>>2]=(o[u>>2]|0)+4;wE(e,n);EE(n);h=a;return}}function Fw(e){e=e|0;return o[e+8>>2]|0}function Lw(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0;a=h;h=h+32|0;n=a;r=e+4|0;i=((o[r>>2]|0)-(o[e>>2]|0)>>2)+1|0;u=pE(e)|0;if(u>>>0>>0)UT(e);else{l=o[e>>2]|0;c=(o[e+8>>2]|0)-l|0;s=c>>1;gE(n,c>>2>>>0>>1>>>0?s>>>0>>0?i:s:u,(o[r>>2]|0)-l>>2,e+8|0);u=n+8|0;o[o[u>>2]>>2]=o[t>>2];o[u>>2]=(o[u>>2]|0)+4;yE(e,n);_E(n);h=a;return}}function Bw(e){e=e|0;return o[e>>2]|0}function jw(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;Ww(e,t,n,r,i,o);return}function Uw(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-4-r|0)>>>2)<<2);KT(n)}return}function zw(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-4-r|0)>>>2)<<2);KT(n)}return}function Ww(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;var a=0,l=0,s=0,c=0,f=0,d=0;a=h;h=h+48|0;f=a+40|0;l=a+32|0;d=a+24|0;s=a+12|0;c=a;Dk(l);e=Eu(e)|0;o[d>>2]=o[t>>2];n=o[n>>2]|0;r=o[r>>2]|0;Hw(s,i);Vw(c,u);o[f>>2]=o[d>>2];qw(e,f,n,r,s,c);Uw(c);zw(s);Ck(l);h=a;return}function Hw(e,t){e=e|0;t=t|0;var n=0,r=0;o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;n=t+4|0;r=(o[n>>2]|0)-(o[t>>2]|0)>>2;if(r|0){hE(e,r);vE(e,o[t>>2]|0,o[n>>2]|0,r)}return}function Vw(e,t){e=e|0;t=t|0;var n=0,r=0;o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;n=t+4|0;r=(o[n>>2]|0)-(o[t>>2]|0)>>2;if(r|0){fE(e,r);dE(e,o[t>>2]|0,o[n>>2]|0,r)}return}function qw(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;var a=0,l=0,s=0,c=0,f=0,d=0;a=h;h=h+32|0;f=a+28|0;d=a+24|0;l=a+12|0;s=a;c=Cu(Gw()|0)|0;o[d>>2]=o[t>>2];o[f>>2]=o[d>>2];t=$w(f)|0;n=Yw(n)|0;r=Kw(r)|0;o[l>>2]=o[i>>2];f=i+4|0;o[l+4>>2]=o[f>>2];d=i+8|0;o[l+8>>2]=o[d>>2];o[d>>2]=0;o[f>>2]=0;o[i>>2]=0;i=Xw(l)|0;o[s>>2]=o[u>>2];f=u+4|0;o[s+4>>2]=o[f>>2];d=u+8|0;o[s+8>>2]=o[d>>2];o[d>>2]=0;o[f>>2]=0;o[u>>2]=0;Oe(0,c|0,e|0,t|0,n|0,r|0,i|0,Qw(s)|0)|0;Uw(s);zw(l);h=a;return}function Gw(){var e=0;if(!(r[7968]|0)){sE(10708);e=7968;o[e>>2]=1;o[e+4>>2]=0}return 10708}function $w(e){e=e|0;return tE(e)|0}function Yw(e){e=e|0;return Zw(e)|0}function Kw(e){e=e|0;return Jc(e)|0}function Xw(e){e=e|0;return eE(e)|0}function Qw(e){e=e|0;return Jw(e)|0}function Jw(e){e=e|0;var t=0,n=0,r=0;r=(o[e+4>>2]|0)-(o[e>>2]|0)|0;n=r>>2;r=UD(r+4|0)|0;o[r>>2]=n;if(n|0){t=0;do{o[r+4+(t<<2)>>2]=Zw(o[(o[e>>2]|0)+(t<<2)>>2]|0)|0;t=t+1|0}while((t|0)!=(n|0))}return r|0}function Zw(e){e=e|0;return e|0}function eE(e){e=e|0;var t=0,n=0,r=0;r=(o[e+4>>2]|0)-(o[e>>2]|0)|0;n=r>>2;r=UD(r+4|0)|0;o[r>>2]=n;if(n|0){t=0;do{o[r+4+(t<<2)>>2]=tE((o[e>>2]|0)+(t<<2)|0)|0;t=t+1|0}while((t|0)!=(n|0))}return r|0}function tE(e){e=e|0;var t=0,n=0,r=0,i=0;i=h;h=h+32|0;t=i+12|0;n=i;r=al(nE()|0)|0;if(!r)e=rE(e)|0;else{ll(t,r);sl(n,t);bk(e,n);e=fl(t)|0}h=i;return e|0}function nE(){var e=0;if(!(r[7960]|0)){lE(10664);Fe(25,10664,g|0)|0;e=7960;o[e>>2]=1;o[e+4>>2]=0}return 10664}function rE(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0;n=h;h=h+16|0;i=n+4|0;a=n;r=UD(8)|0;t=r;l=$T(4)|0;o[l>>2]=o[e>>2];u=t+4|0;o[u>>2]=l;e=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];iE(e,u,i);o[r>>2]=e;h=n;return t|0}function iE(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;n=$T(16)|0;o[n+4>>2]=0;o[n+8>>2]=0;o[n>>2]=1656;o[n+12>>2]=t;o[e+4>>2]=n;return}function oE(e){e=e|0;zT(e);KT(e);return}function uE(e){e=e|0;e=o[e+12>>2]|0;if(e|0)KT(e);return}function aE(e){e=e|0;KT(e);return}function lE(e){e=e|0;Al(e);return}function sE(e){e=e|0;Lu(e,cE()|0,5);return}function cE(){return 1676}function fE(e,t){e=e|0;t=t|0;var n=0;if((pE(e)|0)>>>0>>0)UT(e);if(t>>>0>1073741823)Ye();else{n=$T(t<<2)|0;o[e+4>>2]=n;o[e>>2]=n;o[e+8>>2]=n+(t<<2);return}}function dE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=e+4|0;e=n-t|0;if((e|0)>0){ix(o[r>>2]|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+(e>>>2<<2)}return}function pE(e){e=e|0;return 1073741823}function hE(e,t){e=e|0;t=t|0;var n=0;if((mE(e)|0)>>>0>>0)UT(e);if(t>>>0>1073741823)Ye();else{n=$T(t<<2)|0;o[e+4>>2]=n;o[e>>2]=n;o[e+8>>2]=n+(t<<2);return}}function vE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=e+4|0;e=n-t|0;if((e|0)>0){ix(o[r>>2]|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+(e>>>2<<2)}return}function mE(e){e=e|0;return 1073741823}function gE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>1073741823)Ye();else{i=$T(t<<2)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<2)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<2);return}function yE(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>2)<<2)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function _E(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-4-t|0)>>>2)<<2);e=o[e>>2]|0;if(e|0)KT(e);return}function bE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>1073741823)Ye();else{i=$T(t<<2)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<2)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<2);return}function wE(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>2)<<2)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function EE(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-4-t|0)>>>2)<<2);e=o[e>>2]|0;if(e|0)KT(e);return}function DE(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0;g=h;h=h+32|0;f=g+20|0;d=g+12|0;c=g+16|0;p=g+4|0;v=g;m=g+8|0;l=Cw()|0;u=o[l>>2]|0;a=o[u>>2]|0;if(a|0){s=o[l+8>>2]|0;l=o[l+4>>2]|0;while(1){gk(f,a);SE(e,f,l,s);u=u+4|0;a=o[u>>2]|0;if(!a)break;else{s=s+1|0;l=l+1|0}}}u=Tw()|0;a=o[u>>2]|0;if(a|0)do{gk(f,a);o[d>>2]=o[u+4>>2];CE(t,f,d);u=u+8|0;a=o[u>>2]|0}while((a|0)!=0);u=o[(fw()|0)>>2]|0;if(u|0)do{t=o[u+4>>2]|0;gk(f,o[(kE(t)|0)>>2]|0);o[d>>2]=Ew(t)|0;TE(n,f,d);u=o[u>>2]|0}while((u|0)!=0);gk(c,0);u=Sw()|0;o[f>>2]=o[c>>2];Ow(f,u,i);u=o[(fw()|0)>>2]|0;if(u|0){e=f+4|0;t=f+8|0;n=f+8|0;do{s=o[u+4>>2]|0;gk(d,o[(kE(s)|0)>>2]|0);AE(p,xE(s)|0);a=o[p>>2]|0;if(a|0){o[f>>2]=0;o[e>>2]=0;o[t>>2]=0;do{gk(v,o[(kE(o[a+4>>2]|0)|0)>>2]|0);l=o[e>>2]|0;if(l>>>0<(o[n>>2]|0)>>>0){o[l>>2]=o[v>>2];o[e>>2]=(o[e>>2]|0)+4}else Rw(f,v);a=o[a>>2]|0}while((a|0)!=0);OE(r,d,f);zw(f)}o[m>>2]=o[d>>2];c=PE(s)|0;o[f>>2]=o[m>>2];Ow(f,c,i);kl(p);u=o[u>>2]|0}while((u|0)!=0)}h=g;return}function SE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;qE(e,t,n,r);return}function CE(e,t,n){e=e|0;t=t|0;n=n|0;VE(e,t,n);return}function kE(e){e=e|0;return e|0}function TE(e,t,n){e=e|0;t=t|0;n=n|0;jE(e,t,n);return}function xE(e){e=e|0;return e+16|0}function AE(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;u=h;h=h+16|0;i=u+8|0;n=u;o[e>>2]=0;r=o[t>>2]|0;o[i>>2]=r;o[n>>2]=e;n=LE(n)|0;if(r|0){r=$T(12)|0;a=(BE(i)|0)+4|0;e=o[a+4>>2]|0;t=r+4|0;o[t>>2]=o[a>>2];o[t+4>>2]=e;t=o[o[i>>2]>>2]|0;o[i>>2]=t;if(!t)e=r;else{t=r;while(1){e=$T(12)|0;s=(BE(i)|0)+4|0;l=o[s+4>>2]|0;a=e+4|0;o[a>>2]=o[s>>2];o[a+4>>2]=l;o[t>>2]=e;a=o[o[i>>2]>>2]|0;o[i>>2]=a;if(!a)break;else t=e}}o[e>>2]=o[n>>2];o[n>>2]=r}h=u;return}function OE(e,t,n){e=e|0;t=t|0;n=n|0;IE(e,t,n);return}function PE(e){e=e|0;return e+24|0}function IE(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+32|0;a=r+24|0;i=r+16|0;l=r+12|0;u=r;Dk(i);e=Eu(e)|0;o[l>>2]=o[t>>2];Hw(u,n);o[a>>2]=o[l>>2];NE(e,a,u);zw(u);Ck(i);h=r;return}function NE(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0;r=h;h=h+32|0;a=r+16|0;l=r+12|0;i=r;u=Cu(ME()|0)|0;o[l>>2]=o[t>>2];o[a>>2]=o[l>>2];t=$w(a)|0;o[i>>2]=o[n>>2];a=n+4|0;o[i+4>>2]=o[a>>2];l=n+8|0;o[i+8>>2]=o[l>>2];o[l>>2]=0;o[a>>2]=0;o[n>>2]=0;ke(0,u|0,e|0,t|0,Xw(i)|0)|0;zw(i);h=r;return}function ME(){var e=0;if(!(r[7976]|0)){RE(10720);e=7976;o[e>>2]=1;o[e+4>>2]=0}return 10720}function RE(e){e=e|0;Lu(e,FE()|0,2);return}function FE(){return 1732}function LE(e){e=e|0;return o[e>>2]|0}function BE(e){e=e|0;return o[e>>2]|0}function jE(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+32|0;u=r+16|0;i=r+8|0;a=r;Dk(i);e=Eu(e)|0;o[a>>2]=o[t>>2];n=o[n>>2]|0;o[u>>2]=o[a>>2];UE(e,u,n);Ck(i);h=r;return}function UE(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+16|0;u=r+4|0;a=r;i=Cu(zE()|0)|0;o[a>>2]=o[t>>2];o[u>>2]=o[a>>2];t=$w(u)|0;ke(0,i|0,e|0,t|0,Yw(n)|0)|0;h=r;return}function zE(){var e=0;if(!(r[7984]|0)){WE(10732);e=7984;o[e>>2]=1;o[e+4>>2]=0}return 10732}function WE(e){e=e|0;Lu(e,HE()|0,2);return}function HE(){return 1744}function VE(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0;r=h;h=h+32|0;u=r+16|0;i=r+8|0;a=r;Dk(i);e=Eu(e)|0;o[a>>2]=o[t>>2];n=o[n>>2]|0;o[u>>2]=o[a>>2];UE(e,u,n);Ck(i);h=r;return}function qE(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var u=0,a=0,l=0,s=0;u=h;h=h+32|0;l=u+16|0;a=u+8|0;s=u;Dk(a);e=Eu(e)|0;o[s>>2]=o[t>>2];n=r[n>>0]|0;i=r[i>>0]|0;o[l>>2]=o[s>>2];GE(e,l,n,i);Ck(a);h=u;return}function GE(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;i=h;h=h+16|0;a=i+4|0;l=i;u=Cu($E()|0)|0;o[l>>2]=o[t>>2];o[a>>2]=o[l>>2];t=$w(a)|0;n=YE(n)|0;nt(0,u|0,e|0,t|0,n|0,YE(r)|0)|0;h=i;return}function $E(){var e=0;if(!(r[7992]|0)){XE(10744);e=7992;o[e>>2]=1;o[e+4>>2]=0}return 10744}function YE(e){e=e|0;return KE(e)|0}function KE(e){e=e|0;return e&255|0}function XE(e){e=e|0;Lu(e,QE()|0,3);return}function QE(){return 1756}function JE(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0;v=h;h=h+32|0;s=v+8|0;c=v+4|0;f=v+20|0;d=v;Vs(e,0);i=_k(t)|0;o[s>>2]=0;p=s+4|0;o[p>>2]=0;o[s+8>>2]=0;switch(i<<24>>24){case 0:{r[f>>0]=0;ZE(c,n,f);eD(e,c)|0;Zi(c);break}case 8:{p=yk(t)|0;r[f>>0]=8;gk(d,o[p+4>>2]|0);tD(c,n,f,d,p+8|0);eD(e,c)|0;Zi(c);break}case 9:{a=yk(t)|0;t=o[a+4>>2]|0;if(t|0){l=s+8|0;u=a+12|0;while(1){t=t+-1|0;gk(c,o[u>>2]|0);i=o[p>>2]|0;if(i>>>0<(o[l>>2]|0)>>>0){o[i>>2]=o[c>>2];o[p>>2]=(o[p>>2]|0)+4}else Rw(s,c);if(!t)break;else u=u+4|0}}r[f>>0]=9;gk(d,o[a+8>>2]|0);nD(c,n,f,d,s);eD(e,c)|0;Zi(c);break}default:{p=yk(t)|0;r[f>>0]=i;gk(d,o[p+4>>2]|0);rD(c,n,f,d);eD(e,c)|0;Zi(c)}}zw(s);h=v;return}function ZE(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;i=h;h=h+16|0;o=i;Dk(o);t=Eu(t)|0;gD(e,t,r[n>>0]|0);Ck(o);h=i;return}function eD(e,t){e=e|0;t=t|0;var n=0;n=o[e>>2]|0;if(n|0)rt(n|0);o[e>>2]=o[t>>2];o[t>>2]=0;return e|0}function tD(e,t,n,i,u){e=e|0;t=t|0;n=n|0;i=i|0;u=u|0;var a=0,l=0,s=0,c=0;a=h;h=h+32|0;s=a+16|0;l=a+8|0;c=a;Dk(l);t=Eu(t)|0;n=r[n>>0]|0;o[c>>2]=o[i>>2];u=o[u>>2]|0;o[s>>2]=o[c>>2];pD(e,t,n,s,u);Ck(l);h=a;return}function nD(e,t,n,i,u){e=e|0;t=t|0;n=n|0;i=i|0;u=u|0;var a=0,l=0,s=0,c=0,f=0;a=h;h=h+32|0;c=a+24|0;l=a+16|0;f=a+12|0;s=a;Dk(l);t=Eu(t)|0;n=r[n>>0]|0;o[f>>2]=o[i>>2];Hw(s,u);o[c>>2]=o[f>>2];sD(e,t,n,c,s);zw(s);Ck(l);h=a;return}function rD(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var u=0,a=0,l=0,s=0;u=h;h=h+32|0;l=u+16|0;a=u+8|0;s=u;Dk(a);t=Eu(t)|0;n=r[n>>0]|0;o[s>>2]=o[i>>2];o[l>>2]=o[s>>2];iD(e,t,n,l);Ck(a);h=u;return}function iD(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0,a=0,l=0;i=h;h=h+16|0;u=i+4|0;l=i;a=Cu(oD()|0)|0;n=YE(n)|0;o[l>>2]=o[r>>2];o[u>>2]=o[l>>2];uD(e,ke(0,a|0,t|0,n|0,$w(u)|0)|0);h=i;return}function oD(){var e=0;if(!(r[8e3]|0)){aD(10756);e=8e3;o[e>>2]=1;o[e+4>>2]=0}return 10756}function uD(e,t){e=e|0;t=t|0;Vs(e,t);return}function aD(e){e=e|0;Lu(e,lD()|0,2);return}function lD(){return 1772}function sD(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var u=0,a=0,l=0,s=0,c=0;u=h;h=h+32|0;s=u+16|0;c=u+12|0;a=u;l=Cu(cD()|0)|0;n=YE(n)|0;o[c>>2]=o[r>>2];o[s>>2]=o[c>>2];r=$w(s)|0;o[a>>2]=o[i>>2];s=i+4|0;o[a+4>>2]=o[s>>2];c=i+8|0;o[a+8>>2]=o[c>>2];o[c>>2]=0;o[s>>2]=0;o[i>>2]=0;uD(e,nt(0,l|0,t|0,n|0,r|0,Xw(a)|0)|0);zw(a);h=u;return}function cD(){var e=0;if(!(r[8008]|0)){fD(10768);e=8008;o[e>>2]=1;o[e+4>>2]=0}return 10768}function fD(e){e=e|0;Lu(e,dD()|0,3);return}function dD(){return 1784}function pD(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var u=0,a=0,l=0,s=0;u=h;h=h+16|0;l=u+4|0;s=u;a=Cu(hD()|0)|0;n=YE(n)|0;o[s>>2]=o[r>>2];o[l>>2]=o[s>>2];r=$w(l)|0;uD(e,nt(0,a|0,t|0,n|0,r|0,Kw(i)|0)|0);h=u;return}function hD(){var e=0;if(!(r[8016]|0)){vD(10780);e=8016;o[e>>2]=1;o[e+4>>2]=0}return 10780}function vD(e){e=e|0;Lu(e,mD()|0,3);return}function mD(){return 1800}function gD(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=Cu(yD()|0)|0;uD(e,it(0,r|0,t|0,YE(n)|0)|0);return}function yD(){var e=0;if(!(r[8024]|0)){_D(10792);e=8024;o[e>>2]=1;o[e+4>>2]=0}return 10792}function _D(e){e=e|0;Lu(e,bD()|0,1);return}function bD(){return 1816}function wD(){ED();DD();SD();return}function ED(){o[2702]=YT(65536)|0;return}function DD(){$D(10856);return}function SD(){CD(10816);return}function CD(e){e=e|0;kD(e,5044);TD(e)|0;return}function kD(e,t){e=e|0;t=t|0;var n=0;n=nE()|0;o[e>>2]=n;zD(n,t);cw(o[e>>2]|0);return}function TD(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,xD()|0);return e|0}function xD(){var e=0;if(!(r[8032]|0)){AD(10820);Fe(64,10820,g|0)|0;e=8032;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(10820)|0))AD(10820);return 10820}function AD(e){e=e|0;ID(e);s_(e,25);return}function OD(e){e=e|0;PD(e+24|0);return}function PD(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function ID(e){e=e|0;var t=0;t=Za()|0;nl(e,5,18,t,LD()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ND(e,t){e=e|0;t=t|0;MD(e,t);return}function MD(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;n=h;h=h+16|0;r=n;i=n+4|0;cc(i,t);o[r>>2]=fc(i,t)|0;RD(e,r);h=n;return}function RD(e,t){e=e|0;t=t|0;FD(e+4|0,o[t>>2]|0);r[e+8>>0]=1;return}function FD(e,t){e=e|0;t=t|0;o[e>>2]=t;return}function LD(){return 1824}function BD(e){e=e|0;return jD(e)|0}function jD(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0;n=h;h=h+16|0;i=n+4|0;a=n;r=UD(8)|0;t=r;l=$T(4)|0;cc(i,e);FD(l,fc(i,e)|0);u=t+4|0;o[u>>2]=l;e=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];iE(e,u,i);o[r>>2]=e;h=n;return t|0}function UD(e){e=e|0;var t=0,n=0;e=e+7&-8;if(e>>>0<=32768?(t=o[2701]|0,e>>>0<=(65536-t|0)>>>0):0){n=(o[2702]|0)+t|0;o[2701]=t+e;e=n}else{e=YT(e+8|0)|0;o[e>>2]=o[2703];o[2703]=e;e=e+8|0}return e|0}function zD(e,t){e=e|0;t=t|0;o[e>>2]=WD()|0;o[e+4>>2]=HD()|0;o[e+12>>2]=t;o[e+8>>2]=VD()|0;o[e+32>>2]=9;return}function WD(){return 11744}function HD(){return 1832}function VD(){return N_()|0}function qD(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){GD(n);KT(n)}}else if(t|0)KT(t);return}function GD(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function $D(e){e=e|0;YD(e,5052);KD(e)|0;XD(e,5058,26)|0;QD(e,5069,1)|0;JD(e,5077,10)|0;ZD(e,5087,19)|0;tS(e,5094,27)|0;return}function YD(e,t){e=e|0;t=t|0;var n=0;n=sk()|0;o[e>>2]=n;ck(n,t);cw(o[e>>2]|0);return}function KD(e){e=e|0;var t=0;t=o[e>>2]|0;r_(t,YC()|0);return e|0}function XD(e,t,n){e=e|0;t=t|0;n=n|0;TC(e,Ia(t)|0,n,0);return e|0}function QD(e,t,n){e=e|0;t=t|0;n=n|0;sC(e,Ia(t)|0,n,0);return e|0}function JD(e,t,n){e=e|0;t=t|0;n=n|0;BS(e,Ia(t)|0,n,0);return e|0}function ZD(e,t,n){e=e|0;t=t|0;n=n|0;bS(e,Ia(t)|0,n,0);return e|0}function eS(e,t){e=e|0;t=t|0;var n=0,r=0;e:while(1){n=o[2703]|0;while(1){if((n|0)==(t|0))break e;r=o[n>>2]|0;o[2703]=r;if(!n)n=r;else break}KT(n)}o[2701]=e;return}function tS(e,t,n){e=e|0;t=t|0;n=n|0;nS(e,Ia(t)|0,n,0);return e|0}function nS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=rS()|0;e=iS(n)|0;La(u,t,i,e,oS(n,r)|0,r);return}function rS(){var e=0,t=0;if(!(r[8040]|0)){dS(10860);Fe(65,10860,g|0)|0;t=8040;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10860)|0)){e=10860;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));dS(10860)}return 10860}function iS(e){e=e|0;return e|0}function oS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=rS()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){uS(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{aS(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function uS(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function aS(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=lS(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;sS(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;uS(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;cS(e,i);fS(i);h=l;return}}function lS(e){e=e|0;return 536870911}function sS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function cS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function fS(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function dS(e){e=e|0;vS(e);return}function pS(e){e=e|0;hS(e+24|0);return}function hS(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function vS(e){e=e|0;var t=0;t=Za()|0;nl(e,1,11,t,mS()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function mS(){return 1840}function gS(e,t,n){e=e|0;t=t|0;n=n|0;_S(o[(yS(e)|0)>>2]|0,t,n);return}function yS(e){e=e|0;return(o[(rS()|0)+24>>2]|0)+(e<<3)|0}function _S(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,o=0;r=h;h=h+16|0;o=r+1|0;i=r;cc(o,t);t=fc(o,t)|0;cc(i,n);n=fc(i,n)|0;vA[e&31](t,n);h=r;return}function bS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=wS()|0;e=ES(n)|0;La(u,t,i,e,DS(n,r)|0,r);return}function wS(){var e=0,t=0;if(!(r[8048]|0)){OS(10896);Fe(66,10896,g|0)|0;t=8048;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10896)|0)){e=10896;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));OS(10896)}return 10896}function ES(e){e=e|0;return e|0}function DS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=wS()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){SS(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{CS(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function SS(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function CS(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=kS(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;TS(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;SS(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;xS(e,i);AS(i);h=l;return}}function kS(e){e=e|0;return 536870911}function TS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function xS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function AS(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function OS(e){e=e|0;NS(e);return}function PS(e){e=e|0;IS(e+24|0);return}function IS(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function NS(e){e=e|0;var t=0;t=Za()|0;nl(e,1,11,t,MS()|0,1);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function MS(){return 1852}function RS(e,t){e=e|0;t=t|0;return LS(o[(FS(e)|0)>>2]|0,t)|0}function FS(e){e=e|0;return(o[(wS()|0)+24>>2]|0)+(e<<3)|0}function LS(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;cc(r,t);t=fc(r,t)|0;t=Jc(mA[e&31](t)|0)|0;h=n;return t|0}function BS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=jS()|0;e=US(n)|0;La(u,t,i,e,zS(n,r)|0,r);return}function jS(){var e=0,t=0;if(!(r[8056]|0)){YS(10932);Fe(67,10932,g|0)|0;t=8056;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10932)|0)){e=10932;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));YS(10932)}return 10932}function US(e){e=e|0;return e|0}function zS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=jS()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){WS(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{HS(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function WS(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function HS(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=VS(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;qS(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;WS(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;GS(e,i);$S(i);h=l;return}}function VS(e){e=e|0;return 536870911}function qS(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function GS(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function $S(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function YS(e){e=e|0;QS(e);return}function KS(e){e=e|0;XS(e+24|0);return}function XS(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function QS(e){e=e|0;var t=0;t=Za()|0;nl(e,1,7,t,JS()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function JS(){return 1860}function ZS(e,t,n){e=e|0;t=t|0;n=n|0;return tC(o[(eC(e)|0)>>2]|0,t,n)|0}function eC(e){e=e|0;return(o[(jS()|0)+24>>2]|0)+(e<<3)|0}function tC(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0;r=h;h=h+32|0;a=r+12|0;u=r+8|0;l=r;s=r+16|0;i=r+4|0;nC(s,t);rC(l,s,t);Us(i,n);n=zs(i,n)|0;o[a>>2]=o[l>>2];PA[e&15](u,a,n);n=iC(u)|0;Zi(u);Ws(i);h=r;return n|0}function nC(e,t){e=e|0;t=t|0;return}function rC(e,t,n){e=e|0;t=t|0;n=n|0;oC(e,n);return}function iC(e){e=e|0;return Eu(e)|0}function oC(e,t){e=e|0;t=t|0;var n=0,r=0,i=0;i=h;h=h+16|0;n=i;r=t;if(!(r&1))o[e>>2]=o[t>>2];else{uC(n,0);Be(r|0,n|0)|0;aC(e,n);lC(n)}h=i;return}function uC(e,t){e=e|0;t=t|0;Iu(e,t);o[e+4>>2]=0;r[e+8>>0]=0;return}function aC(e,t){e=e|0;t=t|0;o[e>>2]=o[t+4>>2];return}function lC(e){e=e|0;r[e+8>>0]=0;return}function sC(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=cC()|0;e=fC(n)|0;La(u,t,i,e,dC(n,r)|0,r);return}function cC(){var e=0,t=0;if(!(r[8064]|0)){_C(10968);Fe(68,10968,g|0)|0;t=8064;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(10968)|0)){e=10968;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));_C(10968)}return 10968}function fC(e){e=e|0;return e|0}function dC(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=cC()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){pC(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{hC(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function pC(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function hC(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=vC(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;mC(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;pC(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;gC(e,i);yC(i);h=l;return}}function vC(e){e=e|0;return 536870911}function mC(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function gC(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function yC(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function _C(e){e=e|0;EC(e);return}function bC(e){e=e|0;wC(e+24|0);return}function wC(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function EC(e){e=e|0;var t=0;t=Za()|0;nl(e,1,1,t,DC()|0,5);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function DC(){return 1872}function SC(e,t,n,r,i,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;u=u|0;kC(o[(CC(e)|0)>>2]|0,t,n,r,i,u);return}function CC(e){e=e|0;return(o[(cC()|0)+24>>2]|0)+(e<<3)|0}function kC(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;var u=0,a=0,l=0,s=0,c=0,f=0;u=h;h=h+32|0;a=u+16|0;l=u+12|0;s=u+8|0;c=u+4|0;f=u;Us(a,t);t=zs(a,t)|0;Us(l,n);n=zs(l,n)|0;Us(s,r);r=zs(s,r)|0;Us(c,i);i=zs(c,i)|0;Us(f,o);o=zs(f,o)|0;cA[e&1](t,n,r,i,o);Ws(f);Ws(c);Ws(s);Ws(l);Ws(a);h=u;return}function TC(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=o[e>>2]|0;i=xC()|0;e=AC(n)|0;La(u,t,i,e,OC(n,r)|0,r);return}function xC(){var e=0,t=0;if(!(r[8072]|0)){LC(11004);Fe(69,11004,g|0)|0;t=8072;o[t>>2]=1;o[t+4>>2]=0}if(!(Xa(11004)|0)){e=11004;t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));LC(11004)}return 11004}function AC(e){e=e|0;return e|0}function OC(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0,l=0,s=0;l=h;h=h+16|0;i=l;u=l+4|0;o[i>>2]=e;s=xC()|0;a=s+24|0;t=za(t,4)|0;o[u>>2]=t;n=s+28|0;r=o[n>>2]|0;if(r>>>0<(o[s+32>>2]|0)>>>0){PC(r,e,t);t=(o[n>>2]|0)+8|0;o[n>>2]=t}else{IC(a,i,u);t=o[n>>2]|0}h=l;return(t-(o[a>>2]|0)>>3)+-1|0}function PC(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;return}function IC(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0;l=h;h=h+32|0;i=l;u=e+4|0;a=((o[u>>2]|0)-(o[e>>2]|0)>>3)+1|0;r=NC(e)|0;if(r>>>0>>0)UT(e);else{s=o[e>>2]|0;f=(o[e+8>>2]|0)-s|0;c=f>>2;MC(i,f>>3>>>0>>1>>>0?c>>>0>>0?a:c:r,(o[u>>2]|0)-s>>3,e+8|0);a=i+8|0;PC(o[a>>2]|0,o[t>>2]|0,o[n>>2]|0);o[a>>2]=(o[a>>2]|0)+8;RC(e,i);FC(i);h=l;return}}function NC(e){e=e|0;return 536870911}function MC(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;o[e+12>>2]=0;o[e+16>>2]=r;do{if(t){if(t>>>0>536870911)Ye();else{i=$T(t<<3)|0;break}}else i=0}while(0);o[e>>2]=i;r=i+(n<<3)|0;o[e+8>>2]=r;o[e+4>>2]=r;o[e+12>>2]=i+(t<<3);return}function RC(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,u=0,a=0;r=o[e>>2]|0;a=e+4|0;u=t+4|0;i=(o[a>>2]|0)-r|0;n=(o[u>>2]|0)+(0-(i>>3)<<3)|0;o[u>>2]=n;if((i|0)>0){ix(n|0,r|0,i|0)|0;r=u;n=o[u>>2]|0}else r=u;u=o[e>>2]|0;o[e>>2]=n;o[r>>2]=u;u=t+8|0;i=o[a>>2]|0;o[a>>2]=o[u>>2];o[u>>2]=i;u=e+8|0;a=t+12|0;e=o[u>>2]|0;o[u>>2]=o[a>>2];o[a>>2]=e;o[t>>2]=o[r>>2];return}function FC(e){e=e|0;var t=0,n=0,r=0;t=o[e+4>>2]|0;n=e+8|0;r=o[n>>2]|0;if((r|0)!=(t|0))o[n>>2]=r+(~((r+-8-t|0)>>>3)<<3);e=o[e>>2]|0;if(e|0)KT(e);return}function LC(e){e=e|0;UC(e);return}function BC(e){e=e|0;jC(e+24|0);return}function jC(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function UC(e){e=e|0;var t=0;t=Za()|0;nl(e,1,12,t,zC()|0,2);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function zC(){return 1896}function WC(e,t,n){e=e|0;t=t|0;n=n|0;VC(o[(HC(e)|0)>>2]|0,t,n);return}function HC(e){e=e|0;return(o[(xC()|0)+24>>2]|0)+(e<<3)|0}function VC(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,o=0;r=h;h=h+16|0;o=r+4|0;i=r;qC(o,t);t=GC(o,t)|0;Us(i,n);n=zs(i,n)|0;vA[e&31](t,n);Ws(i);h=r;return}function qC(e,t){e=e|0;t=t|0;return}function GC(e,t){e=e|0;t=t|0;return $C(t)|0}function $C(e){e=e|0;return e|0}function YC(){var e=0;if(!(r[8080]|0)){KC(11040);Fe(70,11040,g|0)|0;e=8080;o[e>>2]=1;o[e+4>>2]=0}if(!(Xa(11040)|0))KC(11040);return 11040}function KC(e){e=e|0;JC(e);s_(e,71);return}function XC(e){e=e|0;QC(e+24|0);return}function QC(e){e=e|0;var t=0,n=0,r=0;n=o[e>>2]|0;r=n;if(n|0){e=e+4|0;t=o[e>>2]|0;if((t|0)!=(n|0))o[e>>2]=t+(~((t+-8-r|0)>>>3)<<3);KT(n)}return}function JC(e){e=e|0;var t=0;t=Za()|0;nl(e,5,7,t,nk()|0,0);o[e+24>>2]=0;o[e+28>>2]=0;o[e+32>>2]=0;return}function ZC(e){e=e|0;ek(e);return}function ek(e){e=e|0;tk(e);return}function tk(e){e=e|0;r[e+8>>0]=1;return}function nk(){return 1936}function rk(){return ik()|0}function ik(){var e=0,t=0,n=0,r=0,i=0,u=0,a=0;t=h;h=h+16|0;i=t+4|0;a=t;n=UD(8)|0;e=n;u=e+4|0;o[u>>2]=$T(1)|0;r=$T(8)|0;u=o[u>>2]|0;o[a>>2]=0;o[i>>2]=o[a>>2];ok(r,u,i);o[n>>2]=r;h=t;return e|0}function ok(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;n=$T(16)|0;o[n+4>>2]=0;o[n+8>>2]=0;o[n>>2]=1916;o[n+12>>2]=t;o[e+4>>2]=n;return}function uk(e){e=e|0;zT(e);KT(e);return}function ak(e){e=e|0;e=o[e+12>>2]|0;if(e|0)KT(e);return}function lk(e){e=e|0;KT(e);return}function sk(){var e=0;if(!(r[8088]|0)){mk(11076);Fe(25,11076,g|0)|0;e=8088;o[e>>2]=1;o[e+4>>2]=0}return 11076}function ck(e,t){e=e|0;t=t|0;o[e>>2]=fk()|0;o[e+4>>2]=dk()|0;o[e+12>>2]=t;o[e+8>>2]=pk()|0;o[e+32>>2]=10;return}function fk(){return 11745}function dk(){return 1940}function pk(){return Wm()|0}function hk(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;if((Um(r,896)|0)==512){if(n|0){vk(n);KT(n)}}else if(t|0)KT(t);return}function vk(e){e=e|0;e=o[e+4>>2]|0;if(e|0)qT(e);return}function mk(e){e=e|0;Al(e);return}function gk(e,t){e=e|0;t=t|0;o[e>>2]=t;return}function yk(e){e=e|0;return o[e>>2]|0}function _k(e){e=e|0;return r[o[e>>2]>>0]|0}function bk(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;o[r>>2]=o[e>>2];wk(t,r)|0;h=n;return}function wk(e,t){e=e|0;t=t|0;var n=0;n=Ek(o[e>>2]|0,t)|0;t=e+4|0;o[(o[t>>2]|0)+8>>2]=n;return o[(o[t>>2]|0)+8>>2]|0}function Ek(e,t){e=e|0;t=t|0;var n=0,r=0;n=h;h=h+16|0;r=n;Dk(r);e=Eu(e)|0;t=Sk(e,o[t>>2]|0)|0;Ck(r);h=n;return t|0}function Dk(e){e=e|0;o[e>>2]=o[2701];o[e+4>>2]=o[2703];return}function Sk(e,t){e=e|0;t=t|0;var n=0;n=Cu(kk()|0)|0;return it(0,n|0,e|0,Kw(t)|0)|0}function Ck(e){e=e|0;eS(o[e>>2]|0,o[e+4>>2]|0);return}function kk(){var e=0;if(!(r[8096]|0)){Tk(11120);e=8096;o[e>>2]=1;o[e+4>>2]=0}return 11120}function Tk(e){e=e|0;Lu(e,xk()|0,1);return}function xk(){return 1948}function Ak(){Ok();return}function Ok(){var e=0,t=0,n=0,i=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0;y=h;h=h+16|0;p=y+4|0;v=y;Ne(65536,10804,o[2702]|0,10812);n=Cw()|0;t=o[n>>2]|0;e=o[t>>2]|0;if(e|0){i=o[n+8>>2]|0;n=o[n+4>>2]|0;while(1){ze(e|0,u[n>>0]|0|0,r[i>>0]|0);t=t+4|0;e=o[t>>2]|0;if(!e)break;else{i=i+1|0;n=n+1|0}}}e=Tw()|0;t=o[e>>2]|0;if(t|0)do{We(t|0,o[e+4>>2]|0);e=e+8|0;t=o[e>>2]|0}while((t|0)!=0);We(Pk()|0,5167);d=fw()|0;e=o[d>>2]|0;e:do{if(e|0){do{Ik(o[e+4>>2]|0);e=o[e>>2]|0}while((e|0)!=0);e=o[d>>2]|0;if(e|0){f=d;do{while(1){a=e;e=o[e>>2]|0;a=o[a+4>>2]|0;if(!(Nk(a)|0))break;o[v>>2]=f;o[p>>2]=o[v>>2];Mk(d,p)|0;if(!e)break e}Rk(a);f=o[f>>2]|0;t=Fk(a)|0;l=Xe()|0;s=h;h=h+((1*(t<<2)|0)+15&-16)|0;c=h;h=h+((1*(t<<2)|0)+15&-16)|0;t=o[(xE(a)|0)>>2]|0;if(t|0){n=s;i=c;while(1){o[n>>2]=o[(kE(o[t+4>>2]|0)|0)>>2];o[i>>2]=o[t+8>>2];t=o[t>>2]|0;if(!t)break;else{n=n+4|0;i=i+4|0}}}_=kE(a)|0;t=Lk(a)|0;n=Fk(a)|0;i=Bk(a)|0;Ge(_|0,t|0,s|0,c|0,n|0,i|0,Ew(a)|0);Re(l|0)}while((e|0)!=0)}}}while(0);e=o[(Sw()|0)>>2]|0;if(e|0)do{_=e+4|0;d=Pw(_)|0;a=Fw(d)|0;l=Iw(d)|0;s=(Nw(d)|0)+1|0;c=jk(d)|0;f=Uk(_)|0;d=Xa(d)|0;p=Bw(_)|0;v=zk(_)|0;Ve(0,a|0,l|0,s|0,c|0,f|0,d|0,p|0,v|0,Wk(_)|0);e=o[e>>2]|0}while((e|0)!=0);e=o[(fw()|0)>>2]|0;e:do{if(e|0){t:while(1){t=o[e+4>>2]|0;if(t|0?(m=o[(kE(t)|0)>>2]|0,g=o[(PE(t)|0)>>2]|0,g|0):0){n=g;do{t=n+4|0;i=Pw(t)|0;n:do{if(i|0)switch(Xa(i)|0){case 0:break t;case 4:case 3:case 2:{c=Fw(i)|0;f=Iw(i)|0;d=(Nw(i)|0)+1|0;p=jk(i)|0;v=Xa(i)|0;_=Bw(t)|0;Ve(m|0,c|0,f|0,d|0,p|0,0,v|0,_|0,zk(t)|0,Wk(t)|0);break n}case 1:{s=Fw(i)|0;c=Iw(i)|0;f=(Nw(i)|0)+1|0;d=jk(i)|0;p=Uk(t)|0;v=Xa(i)|0;_=Bw(t)|0;Ve(m|0,s|0,c|0,f|0,d|0,p|0,v|0,_|0,zk(t)|0,Wk(t)|0);break n}case 5:{d=Fw(i)|0;p=Iw(i)|0;v=(Nw(i)|0)+1|0;_=jk(i)|0;Ve(m|0,d|0,p|0,v|0,_|0,Hk(i)|0,Xa(i)|0,0,0,0);break n}default:break n}}while(0);n=o[n>>2]|0}while((n|0)!=0)}e=o[e>>2]|0;if(!e)break e}Ye()}}while(0);$e();h=y;return}function Pk(){return 11703}function Ik(e){e=e|0;r[e+40>>0]=0;return}function Nk(e){e=e|0;return(r[e+40>>0]|0)!=0|0}function Mk(e,t){e=e|0;t=t|0;t=Vk(t)|0;e=o[t>>2]|0;o[t>>2]=o[e>>2];KT(e);return o[t>>2]|0}function Rk(e){e=e|0;r[e+40>>0]=1;return}function Fk(e){e=e|0;return o[e+20>>2]|0}function Lk(e){e=e|0;return o[e+8>>2]|0}function Bk(e){e=e|0;return o[e+32>>2]|0}function jk(e){e=e|0;return o[e+4>>2]|0}function Uk(e){e=e|0;return o[e+4>>2]|0}function zk(e){e=e|0;return o[e+8>>2]|0}function Wk(e){e=e|0;return o[e+16>>2]|0}function Hk(e){e=e|0;return o[e+20>>2]|0}function Vk(e){e=e|0;return o[e>>2]|0}function qk(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0,b=0,w=0,E=0,D=0;D=h;h=h+16|0;p=D;do{if(e>>>0<245){c=e>>>0<11?16:e+11&-8;e=c>>>3;d=o[2783]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=11172+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;u=o[i>>2]|0;if((e|0)==(u|0))o[2783]=d&~(1<>2]=e;o[n>>2]=u}E=t<<3;o[r+4>>2]=E|3;E=r+E+4|0;o[E>>2]=o[E>>2]|1;E=i;h=D;return E|0}f=o[2785]|0;if(c>>>0>f>>>0){if(n|0){t=2<>>12&16;t=t>>>a;n=t>>>5&8;t=t>>>n;i=t>>>2&4;t=t>>>i;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|a|i|e|r)+(t>>>r)|0;t=11172+(r<<1<<2)|0;e=t+8|0;i=o[e>>2]|0;a=i+8|0;n=o[a>>2]|0;if((t|0)==(n|0)){e=d&~(1<>2]=t;o[e>>2]=n;e=d}u=(r<<3)-c|0;o[i+4>>2]=c|3;r=i+c|0;o[r+4>>2]=u|1;o[r+u>>2]=u;if(f|0){i=o[2788]|0;t=f>>>3;n=11172+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=i;o[t+12>>2]=i;o[i+8>>2]=t;o[i+12>>2]=n}o[2785]=u;o[2788]=r;E=a;h=D;return E|0}l=o[2784]|0;if(l){n=(l&0-l)+-1|0;a=n>>>12&16;n=n>>>a;u=n>>>5&8;n=n>>>u;s=n>>>2&4;n=n>>>s;r=n>>>1&2;n=n>>>r;e=n>>>1&1;e=o[11436+((u|a|s|r|e)+(n>>>e)<<2)>>2]|0;n=(o[e+4>>2]&-8)-c|0;r=o[e+16+(((o[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){s=e;u=n}else{do{a=(o[r+4>>2]&-8)-c|0;s=a>>>0>>0;n=s?a:n;e=s?r:e;r=o[r+16+(((o[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);s=e;u=n}a=s+c|0;if(s>>>0>>0){i=o[s+24>>2]|0;t=o[s+12>>2]|0;do{if((t|0)==(s|0)){e=s+20|0;t=o[e>>2]|0;if(!t){e=s+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){n=t+20|0;r=o[n>>2]|0;if(r|0){t=r;e=n;continue}n=t+16|0;r=o[n>>2]|0;if(!r)break;else{t=r;e=n}}o[e>>2]=0;n=t}else{n=o[s+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[s+28>>2]|0;e=11436+(t<<2)|0;if((s|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[2784]=l&~(1<>2]|0)!=(s|0)&1)<<2)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[s+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[s+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(u>>>0<16){E=u+c|0;o[s+4>>2]=E|3;E=s+E+4|0;o[E>>2]=o[E>>2]|1}else{o[s+4>>2]=c|3;o[a+4>>2]=u|1;o[a+u>>2]=u;if(f|0){r=o[2788]|0;t=f>>>3;n=11172+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[2785]=u;o[2788]=a}E=s+8|0;h=D;return E|0}else d=c}else d=c}else d=c}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;s=o[2784]|0;if(s){r=0-c|0;e=e>>>8;if(e){if(c>>>0>16777215)l=31;else{d=(e+1048320|0)>>>16&8;w=e<>>16&4;w=w<>>16&2;l=14-(f|d|l)+(w<>>15)|0;l=c>>>(l+7|0)&1|l<<1}}else l=0;n=o[11436+(l<<2)>>2]|0;e:do{if(!n){n=0;e=0;w=57}else{e=0;a=c<<((l|0)==31?0:25-(l>>>1)|0);u=0;while(1){i=(o[n+4>>2]&-8)-c|0;if(i>>>0>>0)if(!i){e=n;r=0;i=n;w=61;break e}else{e=n;r=i}i=o[n+20>>2]|0;n=o[n+16+(a>>>31<<2)>>2]|0;u=(i|0)==0|(i|0)==(n|0)?u:i;i=(n|0)==0;if(i){n=u;w=57;break}else a=a<<((i^1)&1)}}}while(0);if((w|0)==57){if((n|0)==0&(e|0)==0){e=2<>>12&16;d=d>>>a;u=d>>>5&8;d=d>>>u;l=d>>>2&4;d=d>>>l;f=d>>>1&2;d=d>>>f;n=d>>>1&1;e=0;n=o[11436+((u|a|l|f|n)+(d>>>n)<<2)>>2]|0}if(!n){l=e;a=r}else{i=n;w=61}}if((w|0)==61)while(1){w=0;n=(o[i+4>>2]&-8)-c|0;d=n>>>0>>0;n=d?n:r;e=d?i:e;i=o[i+16+(((o[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){l=e;a=n;break}else{r=n;w=61}}if((l|0)!=0?a>>>0<((o[2785]|0)-c|0)>>>0:0){u=l+c|0;if(l>>>0>=u>>>0){E=0;h=D;return E|0}i=o[l+24>>2]|0;t=o[l+12>>2]|0;do{if((t|0)==(l|0)){e=l+20|0;t=o[e>>2]|0;if(!t){e=l+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){n=t+20|0;r=o[n>>2]|0;if(r|0){t=r;e=n;continue}n=t+16|0;r=o[n>>2]|0;if(!r)break;else{t=r;e=n}}o[e>>2]=0}else{E=o[l+8>>2]|0;o[E+12>>2]=t;o[t+8>>2]=E}}while(0);do{if(i){e=o[l+28>>2]|0;n=11436+(e<<2)|0;if((l|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=s&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=t;if(!t){r=s;break}}o[t+24>>2]=i;e=o[l+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[l+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t;r=s}else r=s}else r=s}while(0);do{if(a>>>0>=16){o[l+4>>2]=c|3;o[u+4>>2]=a|1;o[u+a>>2]=a;t=a>>>3;if(a>>>0<256){n=11172+(t<<1<<2)|0;e=o[2783]|0;t=1<>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=a>>>8;if(t){if(a>>>0>16777215)t=31;else{w=(t+1048320|0)>>>16&8;E=t<>>16&4;E=E<>>16&2;t=14-(b|w|t)+(E<>>15)|0;t=a>>>(t+7|0)&1|t<<1}}else t=0;n=11436+(t<<2)|0;o[u+28>>2]=t;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<>2]=u;o[u+24>>2]=n;o[u+12>>2]=u;o[u+8>>2]=u;break}e=a<<((t|0)==31?0:25-(t>>>1)|0);n=o[n>>2]|0;while(1){if((o[n+4>>2]&-8|0)==(a|0)){w=97;break}r=n+16+(e>>>31<<2)|0;t=o[r>>2]|0;if(!t){w=96;break}else{e=e<<1;n=t}}if((w|0)==96){o[r>>2]=u;o[u+24>>2]=n;o[u+12>>2]=u;o[u+8>>2]=u;break}else if((w|0)==97){w=n+8|0;E=o[w>>2]|0;o[E+12>>2]=u;o[w>>2]=u;o[u+8>>2]=E;o[u+12>>2]=n;o[u+24>>2]=0;break}}else{E=a+c|0;o[l+4>>2]=E|3;E=l+E+4|0;o[E>>2]=o[E>>2]|1}}while(0);E=l+8|0;h=D;return E|0}else d=c}else d=c}else d=-1}while(0);n=o[2785]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[2788]|0;if(t>>>0>15){E=e+d|0;o[2788]=E;o[2785]=t;o[E+4>>2]=t|1;o[E+t>>2]=t;o[e+4>>2]=d|3}else{o[2785]=0;o[2788]=0;o[e+4>>2]=n|3;E=e+n+4|0;o[E>>2]=o[E>>2]|1}E=e+8|0;h=D;return E|0}a=o[2786]|0;if(a>>>0>d>>>0){b=a-d|0;o[2786]=b;E=o[2789]|0;w=E+d|0;o[2789]=w;o[w+4>>2]=b|1;o[E+4>>2]=d|3;E=E+8|0;h=D;return E|0}if(!(o[2901]|0)){o[2903]=4096;o[2902]=4096;o[2904]=-1;o[2905]=-1;o[2906]=0;o[2894]=0;e=p&-16^1431655768;o[p>>2]=e;o[2901]=e;e=4096}else e=o[2903]|0;l=d+48|0;s=d+47|0;u=e+s|0;i=0-e|0;c=u&i;if(c>>>0<=d>>>0){E=0;h=D;return E|0}e=o[2893]|0;if(e|0?(f=o[2891]|0,p=f+c|0,p>>>0<=f>>>0|p>>>0>e>>>0):0){E=0;h=D;return E|0}e:do{if(!(o[2894]&4)){n=o[2789]|0;t:do{if(n){r=11580;while(1){e=o[r>>2]|0;if(e>>>0<=n>>>0?(g=r+4|0,(e+(o[g>>2]|0)|0)>>>0>n>>>0):0)break;e=o[r+8>>2]|0;if(!e){w=118;break t}else r=e}t=u-a&i;if(t>>>0<2147483647){e=lx(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[g>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;u=e;w=135;break e}}else{r=e;w=126}}else t=0}else w=118}while(0);do{if((w|0)==118){n=lx(0)|0;if((n|0)!=(-1|0)?(t=n,v=o[2902]|0,m=v+-1|0,t=((m&t|0)==0?0:(m+t&0-v)-t|0)+c|0,v=o[2891]|0,m=t+v|0,t>>>0>d>>>0&t>>>0<2147483647):0){g=o[2893]|0;if(g|0?m>>>0<=v>>>0|m>>>0>g>>>0:0){t=0;break}e=lx(t|0)|0;if((e|0)==(n|0)){a=t;u=n;w=135;break e}else{r=e;w=126}}else t=0}}while(0);do{if((w|0)==126){n=0-t|0;if(!(l>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;u=r;w=135;break e}e=o[2903]|0;e=s-t+e&0-e;if(e>>>0>=2147483647){a=t;u=r;w=135;break e}if((lx(e|0)|0)==(-1|0)){lx(n|0)|0;t=0;break}else{a=e+t|0;u=r;w=135;break e}}}while(0);o[2894]=o[2894]|4;w=133}else{t=0;w=133}}while(0);if(((w|0)==133?c>>>0<2147483647:0)?(b=lx(c|0)|0,g=lx(0)|0,y=g-b|0,_=y>>>0>(d+40|0)>>>0,!((b|0)==(-1|0)|_^1|b>>>0>>0&((b|0)!=(-1|0)&(g|0)!=(-1|0))^1)):0){a=_?y:t;u=b;w=135}if((w|0)==135){t=(o[2891]|0)+a|0;o[2891]=t;if(t>>>0>(o[2892]|0)>>>0)o[2892]=t;s=o[2789]|0;do{if(s){t=11580;while(1){e=o[t>>2]|0;n=t+4|0;r=o[n>>2]|0;if((u|0)==(e+r|0)){w=145;break}i=o[t+8>>2]|0;if(!i)break;else t=i}if(((w|0)==145?(o[t+12>>2]&8|0)==0:0)?s>>>0>>0&s>>>0>=e>>>0:0){o[n>>2]=r+a;E=s+8|0;E=(E&7|0)==0?0:0-E&7;w=s+E|0;E=(o[2786]|0)+(a-E)|0;o[2789]=w;o[2786]=E;o[w+4>>2]=E|1;o[w+E+4>>2]=40;o[2790]=o[2905];break}if(u>>>0<(o[2787]|0)>>>0)o[2787]=u;n=u+a|0;t=11580;while(1){if((o[t>>2]|0)==(n|0)){w=153;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((w|0)==153?(o[t+12>>2]&8|0)==0:0){o[t>>2]=u;f=t+4|0;o[f>>2]=(o[f>>2]|0)+a;f=u+8|0;f=u+((f&7|0)==0?0:0-f&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;c=f+d|0;l=t-f-d|0;o[f+4>>2]=d|3;do{if((t|0)!=(s|0)){if((t|0)==(o[2788]|0)){E=(o[2785]|0)+l|0;o[2785]=E;o[2788]=c;o[c+4>>2]=E|1;o[c+E>>2]=E;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;e:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[2783]=o[2783]&~(1<>2]=n;o[n+8>>2]=e;break}}else{u=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){r=t+16|0;n=r+4|0;e=o[n>>2]|0;if(!e){e=o[r>>2]|0;if(!e){e=0;break}else n=r}while(1){r=e+20|0;i=o[r>>2]|0;if(i|0){e=i;n=r;continue}r=e+16|0;i=o[r>>2]|0;if(!i)break;else{e=i;n=r}}o[n>>2]=0}else{E=o[t+8>>2]|0;o[E+12>>2]=e;o[e+8>>2]=E}}while(0);if(!u)break;n=o[t+28>>2]|0;r=11436+(n<<2)|0;do{if((t|0)!=(o[r>>2]|0)){o[u+16+(((o[u+16>>2]|0)!=(t|0)&1)<<2)>>2]=e;if(!e)break e}else{o[r>>2]=e;if(e|0)break;o[2784]=o[2784]&~(1<>2]=u;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+l|0}else i=l;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[c+4>>2]=i|1;o[c+i>>2]=i;t=i>>>3;if(i>>>0<256){n=11172+(t<<1<<2)|0;e=o[2783]|0;t=1<>2]|0}o[e>>2]=c;o[t+12>>2]=c;o[c+8>>2]=t;o[c+12>>2]=n;break}t=i>>>8;do{if(!t)t=0;else{if(i>>>0>16777215){t=31;break}w=(t+1048320|0)>>>16&8;E=t<>>16&4;E=E<>>16&2;t=14-(b|w|t)+(E<>>15)|0;t=i>>>(t+7|0)&1|t<<1}}while(0);r=11436+(t<<2)|0;o[c+28>>2]=t;e=c+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[2784]|0;n=1<>2]=c;o[c+24>>2]=r;o[c+12>>2]=c;o[c+8>>2]=c;break}e=i<<((t|0)==31?0:25-(t>>>1)|0);n=o[r>>2]|0;while(1){if((o[n+4>>2]&-8|0)==(i|0)){w=194;break}r=n+16+(e>>>31<<2)|0;t=o[r>>2]|0;if(!t){w=193;break}else{e=e<<1;n=t}}if((w|0)==193){o[r>>2]=c;o[c+24>>2]=n;o[c+12>>2]=c;o[c+8>>2]=c;break}else if((w|0)==194){w=n+8|0;E=o[w>>2]|0;o[E+12>>2]=c;o[w>>2]=c;o[c+8>>2]=E;o[c+12>>2]=n;o[c+24>>2]=0;break}}else{E=(o[2786]|0)+l|0;o[2786]=E;o[2789]=c;o[c+4>>2]=E|1}}while(0);E=f+8|0;h=D;return E|0}t=11580;while(1){e=o[t>>2]|0;if(e>>>0<=s>>>0?(E=e+(o[t+4>>2]|0)|0,E>>>0>s>>>0):0)break;t=o[t+8>>2]|0}i=E+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=s+16|0;e=e>>>0>>0?s:e;t=e+8|0;n=u+8|0;n=(n&7|0)==0?0:0-n&7;w=u+n|0;n=a+-40-n|0;o[2789]=w;o[2786]=n;o[w+4>>2]=n|1;o[w+n+4>>2]=40;o[2790]=o[2905];n=e+4|0;o[n>>2]=27;o[t>>2]=o[2895];o[t+4>>2]=o[2896];o[t+8>>2]=o[2897];o[t+12>>2]=o[2898];o[2895]=u;o[2896]=a;o[2898]=0;o[2897]=t;t=e+24|0;do{w=t;t=t+4|0;o[t>>2]=7}while((w+8|0)>>>0>>0);if((e|0)!=(s|0)){u=e-s|0;o[n>>2]=o[n>>2]&-2;o[s+4>>2]=u|1;o[e>>2]=u;t=u>>>3;if(u>>>0<256){n=11172+(t<<1<<2)|0;e=o[2783]|0;t=1<>2]|0}o[e>>2]=s;o[t+12>>2]=s;o[s+8>>2]=t;o[s+12>>2]=n;break}t=u>>>8;if(t){if(u>>>0>16777215)n=31;else{w=(t+1048320|0)>>>16&8;E=t<>>16&4;E=E<>>16&2;n=14-(b|w|n)+(E<>>15)|0;n=u>>>(n+7|0)&1|n<<1}}else n=0;r=11436+(n<<2)|0;o[s+28>>2]=n;o[s+20>>2]=0;o[i>>2]=0;t=o[2784]|0;e=1<>2]=s;o[s+24>>2]=r;o[s+12>>2]=s;o[s+8>>2]=s;break}e=u<<((n|0)==31?0:25-(n>>>1)|0);n=o[r>>2]|0;while(1){if((o[n+4>>2]&-8|0)==(u|0)){w=216;break}r=n+16+(e>>>31<<2)|0;t=o[r>>2]|0;if(!t){w=215;break}else{e=e<<1;n=t}}if((w|0)==215){o[r>>2]=s;o[s+24>>2]=n;o[s+12>>2]=s;o[s+8>>2]=s;break}else if((w|0)==216){w=n+8|0;E=o[w>>2]|0;o[E+12>>2]=s;o[w>>2]=s;o[s+8>>2]=E;o[s+12>>2]=n;o[s+24>>2]=0;break}}}else{E=o[2787]|0;if((E|0)==0|u>>>0>>0)o[2787]=u;o[2895]=u;o[2896]=a;o[2898]=0;o[2792]=o[2901];o[2791]=-1;t=0;do{E=11172+(t<<1<<2)|0;o[E+12>>2]=E;o[E+8>>2]=E;t=t+1|0}while((t|0)!=32);E=u+8|0;E=(E&7|0)==0?0:0-E&7;w=u+E|0;E=a+-40-E|0;o[2789]=w;o[2786]=E;o[w+4>>2]=E|1;o[w+E+4>>2]=40;o[2790]=o[2905]}}while(0);t=o[2786]|0;if(t>>>0>d>>>0){b=t-d|0;o[2786]=b;E=o[2789]|0;w=E+d|0;o[2789]=w;o[w+4>>2]=b|1;o[E+4>>2]=d|3;E=E+8|0;h=D;return E|0}}o[(Jk()|0)>>2]=12;E=0;h=D;return E|0}function Gk(e){e=e|0;var t=0,n=0,r=0,i=0,u=0,a=0,l=0,s=0;if(!e)return;n=e+-8|0;i=o[2787]|0;e=o[e+-4>>2]|0;t=e&-8;s=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;u=r+t|0;if(a>>>0>>0)return;if((a|0)==(o[2788]|0)){e=s+4|0;t=o[e>>2]|0;if((t&3|0)!=3){l=a;t=u;break}o[2785]=u;o[e>>2]=t&-2;o[a+4>>2]=u|1;o[a+u>>2]=u;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[2783]=o[2783]&~(1<>2]=t;o[t+8>>2]=e;l=a;t=u;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){n=a+16|0;t=n+4|0;e=o[t>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}else t=n}while(1){n=e+20|0;r=o[n>>2]|0;if(r|0){e=r;t=n;continue}n=e+16|0;r=o[n>>2]|0;if(!r)break;else{e=r;t=n}}o[t>>2]=0}else{l=o[a+8>>2]|0;o[l+12>>2]=e;o[e+8>>2]=l}}while(0);if(i){t=o[a+28>>2]|0;n=11436+(t<<2)|0;if((a|0)==(o[n>>2]|0)){o[n>>2]=e;if(!e){o[2784]=o[2784]&~(1<>2]|0)!=(a|0)&1)<<2)>>2]=e;if(!e){l=a;t=u;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;l=a;t=u}else{l=a;t=u}}else{l=a;t=u}}else{l=n;a=n}}while(0);if(a>>>0>=s>>>0)return;e=s+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){e=o[2788]|0;if((s|0)==(o[2789]|0)){s=(o[2786]|0)+t|0;o[2786]=s;o[2789]=l;o[l+4>>2]=s|1;if((l|0)!=(e|0))return;o[2788]=0;o[2785]=0;return}if((s|0)==(e|0)){s=(o[2785]|0)+t|0;o[2785]=s;o[2788]=a;o[l+4>>2]=s|1;o[a+s>>2]=s;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[s+8>>2]|0;e=o[s+12>>2]|0;if((e|0)==(t|0)){o[2783]=o[2783]&~(1<>2]=e;o[e+8>>2]=t;break}}else{u=o[s+24>>2]|0;e=o[s+12>>2]|0;do{if((e|0)==(s|0)){n=s+16|0;t=n+4|0;e=o[t>>2]|0;if(!e){e=o[n>>2]|0;if(!e){n=0;break}else t=n}while(1){n=e+20|0;r=o[n>>2]|0;if(r|0){e=r;t=n;continue}n=e+16|0;r=o[n>>2]|0;if(!r)break;else{e=r;t=n}}o[t>>2]=0;n=e}else{n=o[s+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(u|0){e=o[s+28>>2]|0;t=11436+(e<<2)|0;if((s|0)==(o[t>>2]|0)){o[t>>2]=n;if(!n){o[2784]=o[2784]&~(1<>2]|0)!=(s|0)&1)<<2)>>2]=n;if(!n)break}o[n+24>>2]=u;e=s+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[l+4>>2]=i|1;o[a+i>>2]=i;if((l|0)==(o[2788]|0)){o[2785]=i;return}}else{o[e>>2]=r&-2;o[l+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=11172+(e<<1<<2)|0;t=o[2783]|0;e=1<>2]|0}o[t>>2]=l;o[e+12>>2]=l;o[l+8>>2]=e;o[l+12>>2]=n;return}e=i>>>8;if(e){if(i>>>0>16777215)e=31;else{a=(e+1048320|0)>>>16&8;s=e<>>16&4;s=s<>>16&2;e=14-(u|a|e)+(s<>>15)|0;e=i>>>(e+7|0)&1|e<<1}}else e=0;r=11436+(e<<2)|0;o[l+28>>2]=e;o[l+20>>2]=0;o[l+16>>2]=0;t=o[2784]|0;n=1<>>1)|0);n=o[r>>2]|0;while(1){if((o[n+4>>2]&-8|0)==(i|0)){e=73;break}r=n+16+(t>>>31<<2)|0;e=o[r>>2]|0;if(!e){e=72;break}else{t=t<<1;n=e}}if((e|0)==72){o[r>>2]=l;o[l+24>>2]=n;o[l+12>>2]=l;o[l+8>>2]=l;break}else if((e|0)==73){a=n+8|0;s=o[a>>2]|0;o[s+12>>2]=l;o[a>>2]=l;o[l+8>>2]=s;o[l+12>>2]=n;o[l+24>>2]=0;break}}else{o[2784]=t|n;o[r>>2]=l;o[l+24>>2]=r;o[l+12>>2]=l;o[l+8>>2]=l}}while(0);s=(o[2791]|0)+-1|0;o[2791]=s;if(!s)e=11588;else return;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[2791]=-1;return}function $k(){return 11628}function Yk(e){e=e|0;var t=0,n=0;t=h;h=h+16|0;n=t;o[n>>2]=tT(o[e+60>>2]|0)|0;e=Qk(ut(6,n|0)|0)|0;h=t;return e|0}function Kk(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0;d=h;h=h+48|0;c=d+16|0;u=d;i=d+32|0;l=e+28|0;r=o[l>>2]|0;o[i>>2]=r;s=e+20|0;r=(o[s>>2]|0)-r|0;o[i+4>>2]=r;o[i+8>>2]=t;o[i+12>>2]=n;r=r+n|0;a=e+60|0;o[u>>2]=o[a>>2];o[u+4>>2]=i;o[u+8>>2]=2;u=Qk(st(146,u|0)|0)|0;e:do{if((r|0)!=(u|0)){t=2;while(1){if((u|0)<0)break;r=r-u|0;v=o[i+4>>2]|0;p=u>>>0>v>>>0;i=p?i+8|0:i;t=(p<<31>>31)+t|0;v=u-(p?v:0)|0;o[i>>2]=(o[i>>2]|0)+v;p=i+4|0;o[p>>2]=(o[p>>2]|0)-v;o[c>>2]=o[a>>2];o[c+4>>2]=i;o[c+8>>2]=t;u=Qk(st(146,c|0)|0)|0;if((r|0)==(u|0)){f=3;break e}}o[e+16>>2]=0;o[l>>2]=0;o[s>>2]=0;o[e>>2]=o[e>>2]|32;if((t|0)==2)n=0;else n=n-(o[i+4>>2]|0)|0}else f=3}while(0);if((f|0)==3){v=o[e+44>>2]|0;o[e+16>>2]=v+(o[e+48>>2]|0);o[l>>2]=v;o[s>>2]=v}h=d;return n|0}function Xk(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0;i=h;h=h+32|0;u=i;r=i+20|0;o[u>>2]=o[e+60>>2];o[u+4>>2]=0;o[u+8>>2]=t;o[u+12>>2]=r;o[u+16>>2]=n;if((Qk(lt(140,u|0)|0)|0)<0){o[r>>2]=-1;e=-1}else e=o[r>>2]|0;h=i;return e|0}function Qk(e){e=e|0;if(e>>>0>4294963200){o[(Jk()|0)>>2]=0-e;e=-1}return e|0}function Jk(){return(Zk()|0)+64|0}function Zk(){return eT()|0}function eT(){return 2084}function tT(e){e=e|0;return e|0}function nT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0;u=h;h=h+32|0;i=u;o[e+36>>2]=1;if((o[e>>2]&64|0)==0?(o[i>>2]=o[e+60>>2],o[i+4>>2]=21523,o[i+8>>2]=u+16,Qe(54,i|0)|0):0)r[e+75>>0]=-1;i=Kk(e,t,n)|0;h=u;return i|0}function rT(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function iT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function oT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0;y=h;h=h+224|0;d=y+120|0;p=y+80|0;m=y;g=y+136|0;i=p;u=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(u|0));o[d>>2]=o[n>>2];if((uT(0,t,d,m,p)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)v=aT(e)|0;else v=0;n=o[e>>2]|0;f=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){u=e+44|0;a=o[u>>2]|0;o[u>>2]=g;l=e+28|0;o[l>>2]=g;s=e+20|0;o[s>>2]=g;o[i>>2]=80;c=e+16|0;o[c>>2]=g+80;n=uT(e,t,d,m,p)|0;if(a){_A[o[e+36>>2]&7](e,0,0)|0;n=(o[s>>2]|0)==0?-1:n;o[u>>2]=a;o[i>>2]=0;o[c>>2]=0;o[l>>2]=0;o[s>>2]=0}}else n=uT(e,t,d,m,p)|0;i=o[e>>2]|0;o[e>>2]=i|f;if(v|0)lT(e);n=(i&32|0)==0?n:-1}h=y;return n|0}function uT(e,t,n,u,a){e=e|0;t=t|0;n=n|0;u=u|0;a=a|0;var l=0,s=0,f=0,d=0,p=0,v=0,m=0,g=0,y=0,_=0,b=0,w=0,E=0,D=0,S=0,C=0,k=0,T=0,x=0,O=0,P=0,I=0,N=0;N=h;h=h+64|0;x=N+16|0;O=N;k=N+24|0;P=N+8|0;I=N+20|0;o[x>>2]=t;D=(e|0)!=0;S=k+40|0;C=S;k=k+39|0;T=P+4|0;s=0;l=0;v=0;e:while(1){do{if((l|0)>-1)if((s|0)>(2147483647-l|0)){o[(Jk()|0)>>2]=75;l=-1;break}else{l=s+l|0;break}}while(0);s=r[t>>0]|0;if(!(s<<24>>24)){E=87;break}else f=t;t:while(1){switch(s<<24>>24){case 37:{s=f;E=9;break t}case 0:{s=f;break t}default:{}}w=f+1|0;o[x>>2]=w;s=r[w>>0]|0;f=w}t:do{if((E|0)==9)while(1){E=0;if((r[f+1>>0]|0)!=37)break t;s=s+1|0;f=f+2|0;o[x>>2]=f;if((r[f>>0]|0)==37)E=9;else break}}while(0);s=s-t|0;if(D)sT(e,t,s);if(s|0){t=f;continue}d=f+1|0;s=(r[d>>0]|0)+-48|0;if(s>>>0<10){w=(r[f+2>>0]|0)==36;b=w?s:-1;v=w?1:v;d=w?f+3|0:d}else b=-1;o[x>>2]=d;s=r[d>>0]|0;f=(s<<24>>24)+-32|0;t:do{if(f>>>0<32){p=0;m=s;while(1){s=1<>2]=d;s=r[d>>0]|0;f=(s<<24>>24)+-32|0;if(f>>>0>=32)break;else m=s}}else p=0}while(0);if(s<<24>>24==42){f=d+1|0;s=(r[f>>0]|0)+-48|0;if(s>>>0<10?(r[d+2>>0]|0)==36:0){o[a+(s<<2)>>2]=10;s=o[u+((r[f>>0]|0)+-48<<3)>>2]|0;v=1;d=d+3|0}else{if(v|0){l=-1;break}if(D){v=(o[n>>2]|0)+(4-1)&~(4-1);s=o[v>>2]|0;o[n>>2]=v+4;v=0;d=f}else{s=0;v=0;d=f}}o[x>>2]=d;w=(s|0)<0;s=w?0-s|0:s;p=w?p|8192:p}else{s=cT(x)|0;if((s|0)<0){l=-1;break}d=o[x>>2]|0}do{if((r[d>>0]|0)==46){if((r[d+1>>0]|0)!=42){o[x>>2]=d+1;f=cT(x)|0;d=o[x>>2]|0;break}m=d+2|0;f=(r[m>>0]|0)+-48|0;if(f>>>0<10?(r[d+3>>0]|0)==36:0){o[a+(f<<2)>>2]=10;f=o[u+((r[m>>0]|0)+-48<<3)>>2]|0;d=d+4|0;o[x>>2]=d;break}if(v|0){l=-1;break e}if(D){w=(o[n>>2]|0)+(4-1)&~(4-1);f=o[w>>2]|0;o[n>>2]=w+4}else f=0;o[x>>2]=m;d=m}else f=-1}while(0);_=0;while(1){if(((r[d>>0]|0)+-65|0)>>>0>57){l=-1;break e}w=d+1|0;o[x>>2]=w;m=r[(r[d>>0]|0)+-65+(5178+(_*58|0))>>0]|0;g=m&255;if((g+-1|0)>>>0<8){_=g;d=w}else break}if(!(m<<24>>24)){l=-1;break}y=(b|0)>-1;do{if(m<<24>>24==19){if(y){l=-1;break e}else E=49}else{if(y){o[a+(b<<2)>>2]=g;y=u+(b<<3)|0;b=o[y+4>>2]|0;E=O;o[E>>2]=o[y>>2];o[E+4>>2]=b;E=49;break}if(!D){l=0;break e}fT(O,g,n)}}while(0);if((E|0)==49?(E=0,!D):0){s=0;t=w;continue}d=r[d>>0]|0;d=(_|0)!=0&(d&15|0)==3?d&-33:d;y=p&-65537;b=(p&8192|0)==0?p:y;t:do{switch(d|0){case 110:switch((_&255)<<24>>24){case 0:{o[o[O>>2]>>2]=l;s=0;t=w;continue e}case 1:{o[o[O>>2]>>2]=l;s=0;t=w;continue e}case 2:{s=o[O>>2]|0;o[s>>2]=l;o[s+4>>2]=((l|0)<0)<<31>>31;s=0;t=w;continue e}case 3:{i[o[O>>2]>>1]=l;s=0;t=w;continue e}case 4:{r[o[O>>2]>>0]=l;s=0;t=w;continue e}case 6:{o[o[O>>2]>>2]=l;s=0;t=w;continue e}case 7:{s=o[O>>2]|0;o[s>>2]=l;o[s+4>>2]=((l|0)<0)<<31>>31;s=0;t=w;continue e}default:{s=0;t=w;continue e}}case 112:{d=120;f=f>>>0>8?f:8;t=b|8;E=61;break}case 88:case 120:{t=b;E=61;break}case 111:{d=O;t=o[d>>2]|0;d=o[d+4>>2]|0;g=pT(t,d,S)|0;y=C-g|0;p=0;m=5642;f=(b&8|0)==0|(f|0)>(y|0)?f:y+1|0;y=b;E=67;break}case 105:case 100:{d=O;t=o[d>>2]|0;d=o[d+4>>2]|0;if((d|0)<0){t=ZT(0,0,t|0,d|0)|0;d=A;p=O;o[p>>2]=t;o[p+4>>2]=d;p=1;m=5642;E=66;break t}else{p=(b&2049|0)!=0&1;m=(b&2048|0)==0?(b&1|0)==0?5642:5644:5643;E=66;break t}}case 117:{d=O;p=0;m=5642;t=o[d>>2]|0;d=o[d+4>>2]|0;E=66;break}case 99:{r[k>>0]=o[O>>2];t=k;p=0;m=5642;g=S;d=1;f=y;break}case 109:{d=vT(o[(Jk()|0)>>2]|0)|0;E=71;break}case 115:{d=o[O>>2]|0;d=d|0?d:5652;E=71;break}case 67:{o[P>>2]=o[O>>2];o[T>>2]=0;o[O>>2]=P;g=-1;d=P;E=75;break}case 83:{t=o[O>>2]|0;if(!f){gT(e,32,s,0,b);t=0;E=84}else{g=f;d=t;E=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=_T(e,+c[O>>3],s,f,b,d)|0;t=w;continue e}default:{p=0;m=5642;g=S;d=f;f=b}}}while(0);t:do{if((E|0)==61){b=O;_=o[b>>2]|0;b=o[b+4>>2]|0;g=dT(_,b,S,d&32)|0;m=(t&8|0)==0|(_|0)==0&(b|0)==0;p=m?0:2;m=m?5642:5642+(d>>4)|0;y=t;t=_;d=b;E=67}else if((E|0)==66){g=hT(t,d,S)|0;y=b;E=67}else if((E|0)==71){E=0;b=mT(d,0,f)|0;_=(b|0)==0;t=d;p=0;m=5642;g=_?d+f|0:b;d=_?f:b-d|0;f=y}else if((E|0)==75){E=0;m=d;t=0;f=0;while(1){p=o[m>>2]|0;if(!p)break;f=yT(I,p)|0;if((f|0)<0|f>>>0>(g-t|0)>>>0)break;t=f+t|0;if(g>>>0>t>>>0)m=m+4|0;else break}if((f|0)<0){l=-1;break e}gT(e,32,s,t,b);if(!t){t=0;E=84}else{p=0;while(1){f=o[d>>2]|0;if(!f){E=84;break t}f=yT(I,f)|0;p=f+p|0;if((p|0)>(t|0)){E=84;break t}sT(e,I,f);if(p>>>0>=t>>>0){E=84;break}else d=d+4|0}}}}while(0);if((E|0)==67){E=0;d=(t|0)!=0|(d|0)!=0;b=(f|0)!=0|d;d=((d^1)&1)+(C-g)|0;t=b?g:S;g=S;d=b?(f|0)>(d|0)?f:d:f;f=(f|0)>-1?y&-65537:y}else if((E|0)==84){E=0;gT(e,32,s,t,b^8192);s=(s|0)>(t|0)?s:t;t=w;continue}_=g-t|0;y=(d|0)<(_|0)?_:d;b=y+p|0;s=(s|0)<(b|0)?b:s;gT(e,32,s,b,f);sT(e,m,p);gT(e,48,s,b,f^65536);gT(e,48,y,_,0);sT(e,t,_);gT(e,32,s,b,f^8192);t=w}e:do{if((E|0)==87)if(!e)if(!v)l=0;else{l=1;while(1){t=o[a+(l<<2)>>2]|0;if(!t)break;fT(u+(l<<3)|0,t,n);l=l+1|0;if((l|0)>=10){l=1;break e}}while(1){if(o[a+(l<<2)>>2]|0){l=-1;break e}l=l+1|0;if((l|0)>=10){l=1;break}}}}while(0);h=N;return l|0}function aT(e){e=e|0;return 0}function lT(e){e=e|0;return}function sT(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))PT(t,n,e)|0;return}function cT(e){e=e|0;var t=0,n=0,i=0;n=o[e>>2]|0;i=(r[n>>0]|0)+-48|0;if(i>>>0<10){t=0;do{t=i+(t*10|0)|0;n=n+1|0;o[e>>2]=n;i=(r[n>>0]|0)+-48|0}while(i>>>0<10)}else t=0;return t|0}function fT(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,u=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);u=+c[i>>3];o[n>>2]=i+8;c[e>>3]=u;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);u=+c[i>>3];o[n>>2]=i+8;c[e>>3]=u;break e}default:break e}}while(0)}while(0);return}function dT(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=u[5694+(e&15)>>0]|0|i;e=rx(e|0,t|0,4)|0;t=A}while(!((e|0)==0&(t|0)==0));return n|0}function pT(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=rx(e|0,t|0,3)|0;t=A}while(!((e|0)==0&(t|0)==0));return n|0}function hT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){while(1){i=cx(e|0,t|0,10,0)|0;n=n+-1|0;r[n>>0]=i&255|48;i=e;e=ax(e|0,t|0,10,0)|0;if(!(t>>>0>9|(t|0)==9&i>>>0>4294967295))break;else t=A}t=e}else t=e;if(t)while(1){n=n+-1|0;r[n>>0]=(t>>>0)%10|0|48;if(t>>>0<10)break;else t=(t>>>0)/10|0}return n|0}function vT(e){e=e|0;return kT(e,o[(CT()|0)+188>>2]|0)|0}function mT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){u=t&255;while(1){if((r[e>>0]|0)==u<<24>>24){l=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(i)l=6;else n=0;e:do{if((l|0)==6){u=t&255;if((r[e>>0]|0)!=u<<24>>24){i=V(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break;e=e+4|0;n=n+-4|0;if(n>>>0<=3){l=11;break t}}else l=11}while(0);if((l|0)==11)if(!n){n=0;break}while(1){if((r[e>>0]|0)==u<<24>>24)break e;e=e+1|0;n=n+-1|0;if(!n){n=0;break}}}}}while(0);return(n|0?e:0)|0}function gT(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,u=0;u=h;h=h+256|0;o=u;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;tx(o|0,t|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{sT(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}sT(e,o,i)}h=u;return}function yT(e,t){e=e|0;t=t|0;if(!e)e=0;else e=DT(e,t,0)|0;return e|0}function _T(e,t,n,i,a,l){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;l=l|0;var s=0,c=0,f=0,d=0,p=0,v=0,m=0,g=0.0,y=0,_=0,b=0,w=0,E=0,D=0,S=0,C=0,k=0,T=0,x=0,O=0,P=0,I=0,N=0;N=h;h=h+560|0;f=N+8|0;b=N;I=N+524|0;P=I;d=N+512|0;o[b>>2]=0;O=d+12|0;bT(t)|0;if((A|0)<0){t=-t;T=1;k=5659}else{T=(a&2049|0)!=0&1;k=(a&2048|0)==0?(a&1|0)==0?5660:5665:5662}bT(t)|0;x=A&2146435072;do{if(x>>>0<2146435072|(x|0)==2146435072&0<0){g=+wT(t,b)*2.0;s=g!=0.0;if(s)o[b>>2]=(o[b>>2]|0)+-1;E=l|32;if((E|0)==97){y=l&32;m=(y|0)==0?k:k+9|0;v=T|2;s=12-i|0;do{if(!(i>>>0>11|(s|0)==0)){t=8.0;do{s=s+-1|0;t=t*16.0}while((s|0)!=0);if((r[m>>0]|0)==45){t=-(t+(-g-t));break}else{t=g+t-t;break}}else t=g}while(0);c=o[b>>2]|0;s=(c|0)<0?0-c|0:c;s=hT(s,((s|0)<0)<<31>>31,O)|0;if((s|0)==(O|0)){s=d+11|0;r[s>>0]=48}r[s+-1>>0]=(c>>31&2)+43;p=s+-2|0;r[p>>0]=l+15;d=(i|0)<1;f=(a&8|0)==0;s=I;do{x=~~t;c=s+1|0;r[s>>0]=u[5694+x>>0]|y;t=(t-+(x|0))*16.0;if((c-P|0)==1?!(f&(d&t==0.0)):0){r[c>>0]=46;s=s+2|0}else s=c}while(t!=0.0);x=s-P|0;P=O-p|0;O=(i|0)!=0&(x+-2|0)<(i|0)?i+2|0:x;s=P+v+O|0;gT(e,32,n,s,a);sT(e,m,v);gT(e,48,n,s,a^65536);sT(e,I,x);gT(e,48,O-x|0,0,0);sT(e,p,P);gT(e,32,n,s,a^8192);break}c=(i|0)<0?6:i;if(s){s=(o[b>>2]|0)+-28|0;o[b>>2]=s;t=g*268435456.0}else{t=g;s=o[b>>2]|0}x=(s|0)<0?f:f+288|0;f=x;do{S=~~t>>>0;o[f>>2]=S;f=f+4|0;t=(t-+(S>>>0))*1.0e9}while(t!=0.0);if((s|0)>0){d=x;v=f;while(1){p=(s|0)<29?s:29;s=v+-4|0;if(s>>>0>=d>>>0){f=0;do{D=nx(o[s>>2]|0,0,p|0)|0;D=ex(D|0,A|0,f|0,0)|0;S=A;w=cx(D|0,S|0,1e9,0)|0;o[s>>2]=w;f=ax(D|0,S|0,1e9,0)|0;s=s+-4|0}while(s>>>0>=d>>>0);if(f){d=d+-4|0;o[d>>2]=f}}f=v;while(1){if(f>>>0<=d>>>0)break;s=f+-4|0;if(!(o[s>>2]|0))f=s;else break}s=(o[b>>2]|0)-p|0;o[b>>2]=s;if((s|0)>0)v=f;else break}}else d=x;if((s|0)<0){i=((c+25|0)/9|0)+1|0;_=(E|0)==102;do{y=0-s|0;y=(y|0)<9?y:9;if(d>>>0>>0){p=(1<>>y;m=0;s=d;do{S=o[s>>2]|0;o[s>>2]=(S>>>y)+m;m=V(S&p,v)|0;s=s+4|0}while(s>>>0>>0);s=(o[d>>2]|0)==0?d+4|0:d;if(!m){d=s;s=f}else{o[f>>2]=m;d=s;s=f+4|0}}else{d=(o[d>>2]|0)==0?d+4|0:d;s=f}f=_?x:d;f=(s-f>>2|0)>(i|0)?f+(i<<2)|0:s;s=(o[b>>2]|0)+y|0;o[b>>2]=s}while((s|0)<0);s=d;i=f}else{s=d;i=f}S=x;if(s>>>0>>0){f=(S-s>>2)*9|0;p=o[s>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;f=f+1|0}while(p>>>0>=d>>>0)}}else f=0;_=(E|0)==103;w=(c|0)!=0;d=c-((E|0)!=102?f:0)+((w&_)<<31>>31)|0;if((d|0)<(((i-S>>2)*9|0)+-9|0)){d=d+9216|0;y=x+4+(((d|0)/9|0)+-1024<<2)|0;d=((d|0)%9|0)+1|0;if((d|0)<9){p=10;do{p=p*10|0;d=d+1|0}while((d|0)!=9)}else p=10;v=o[y>>2]|0;m=(v>>>0)%(p>>>0)|0;d=(y+4|0)==(i|0);if(!(d&(m|0)==0)){g=(((v>>>0)/(p>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;D=(p|0)/2|0;t=m>>>0>>0?.5:d&(m|0)==(D|0)?1.0:1.5;if(T){D=(r[k>>0]|0)==45;t=D?-t:t;g=D?-g:g}d=v-m|0;o[y>>2]=d;if(g+t!=g){D=d+p|0;o[y>>2]=D;if(D>>>0>999999999){f=y;while(1){d=f+-4|0;o[f>>2]=0;if(d>>>0>>0){s=s+-4|0;o[s>>2]=0}D=(o[d>>2]|0)+1|0;o[d>>2]=D;if(D>>>0>999999999)f=d;else break}}else d=y;f=(S-s>>2)*9|0;v=o[s>>2]|0;if(v>>>0>=10){p=10;do{p=p*10|0;f=f+1|0}while(v>>>0>=p>>>0)}}else d=y}else d=y;d=d+4|0;d=i>>>0>d>>>0?d:i;D=s}else{d=i;D=s}E=d;while(1){if(E>>>0<=D>>>0){b=0;break}s=E+-4|0;if(!(o[s>>2]|0))E=s;else{b=1;break}}i=0-f|0;do{if(_){s=((w^1)&1)+c|0;if((s|0)>(f|0)&(f|0)>-5){p=l+-1|0;c=s+-1-f|0}else{p=l+-2|0;c=s+-1|0}s=a&8;if(!s){if(b?(C=o[E+-4>>2]|0,(C|0)!=0):0){if(!((C>>>0)%10|0)){d=0;s=10;do{s=s*10|0;d=d+1|0}while(!((C>>>0)%(s>>>0)|0|0))}else d=0}else d=9;s=((E-S>>2)*9|0)+-9|0;if((p|32|0)==102){y=s-d|0;y=(y|0)>0?y:0;c=(c|0)<(y|0)?c:y;y=0;break}else{y=s+f-d|0;y=(y|0)>0?y:0;c=(c|0)<(y|0)?c:y;y=0;break}}else y=s}else{p=l;y=a&8}}while(0);_=c|y;v=(_|0)!=0&1;m=(p|32|0)==102;if(m){w=0;s=(f|0)>0?f:0}else{s=(f|0)<0?i:f;s=hT(s,((s|0)<0)<<31>>31,O)|0;d=O;if((d-s|0)<2)do{s=s+-1|0;r[s>>0]=48}while((d-s|0)<2);r[s+-1>>0]=(f>>31&2)+43;s=s+-2|0;r[s>>0]=p;w=s;s=d-s|0}s=T+1+c+v+s|0;gT(e,32,n,s,a);sT(e,k,T);gT(e,48,n,s,a^65536);if(m){p=D>>>0>x>>>0?x:D;y=I+9|0;v=y;m=I+8|0;d=p;do{f=hT(o[d>>2]|0,0,y)|0;if((d|0)==(p|0)){if((f|0)==(y|0)){r[m>>0]=48;f=m}}else if(f>>>0>I>>>0){tx(I|0,48,f-P|0)|0;do{f=f+-1|0}while(f>>>0>I>>>0)}sT(e,f,v-f|0);d=d+4|0}while(d>>>0<=x>>>0);if(_|0)sT(e,5710,1);if(d>>>0>>0&(c|0)>0)while(1){f=hT(o[d>>2]|0,0,y)|0;if(f>>>0>I>>>0){tx(I|0,48,f-P|0)|0;do{f=f+-1|0}while(f>>>0>I>>>0)}sT(e,f,(c|0)<9?c:9);d=d+4|0;f=c+-9|0;if(!(d>>>0>>0&(c|0)>9)){c=f;break}else c=f}gT(e,48,c+9|0,9,0)}else{_=b?E:D+4|0;if((c|0)>-1){b=I+9|0;y=(y|0)==0;i=b;v=0-P|0;m=I+8|0;p=D;do{f=hT(o[p>>2]|0,0,b)|0;if((f|0)==(b|0)){r[m>>0]=48;f=m}do{if((p|0)==(D|0)){d=f+1|0;sT(e,f,1);if(y&(c|0)<1){f=d;break}sT(e,5710,1);f=d}else{if(f>>>0<=I>>>0)break;tx(I|0,48,f+v|0)|0;do{f=f+-1|0}while(f>>>0>I>>>0)}}while(0);P=i-f|0;sT(e,f,(c|0)>(P|0)?P:c);c=c-P|0;p=p+4|0}while(p>>>0<_>>>0&(c|0)>-1)}gT(e,48,c+18|0,18,0);sT(e,w,O-w|0)}gT(e,32,n,s,a^8192)}else{I=(l&32|0)!=0;s=T+3|0;gT(e,32,n,s,a&-65537);sT(e,k,T);sT(e,t!=t|0.0!=0.0?I?5686:5690:I?5678:5682,3);gT(e,32,n,s,a^8192)}}while(0);h=N;return((s|0)<(n|0)?n:s)|0}function bT(e){e=+e;var t=0;c[d>>3]=e;t=o[d>>2]|0;A=o[d+4>>2]|0;return t|0}function wT(e,t){e=+e;t=t|0;return+ +ET(e,t)}function ET(e,t){e=+e;t=t|0;var n=0,r=0,i=0;c[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=rx(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+ET(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+c[d>>3]}}return+e}function DT(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(ST()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Jk()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Jk()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function ST(){return eT()|0}function CT(){return eT()|0}function kT(e,t){e=e|0;t=t|0;var n=0,i=0;i=0;while(1){if((u[5712+i>>0]|0)==(e|0)){e=2;break}n=i+1|0;if((n|0)==87){n=5800;i=87;e=5;break}else i=n}if((e|0)==2)if(!i)n=5800;else{n=5800;e=5}if((e|0)==5)while(1){do{e=n;n=n+1|0}while((r[e>>0]|0)!=0);i=i+-1|0;if(!i)break;else e=5}return TT(n,o[t+20>>2]|0)|0}function TT(e,t){e=e|0;t=t|0;return xT(e,t)|0}function xT(e,t){e=e|0;t=t|0;if(!t)t=0;else t=AT(o[t>>2]|0,o[t+4>>2]|0,e)|0;return(t|0?t:e)|0}function AT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,h=0;h=(o[e>>2]|0)+1794895138|0;a=OT(o[e+8>>2]|0,h)|0;i=OT(o[e+12>>2]|0,h)|0;u=OT(o[e+16>>2]|0,h)|0;e:do{if((a>>>0>>2>>>0?(p=t-(a<<2)|0,i>>>0

    >>0&u>>>0

    >>0):0)?((u|i)&3|0)==0:0){p=i>>>2;d=u>>>2;f=0;while(1){s=a>>>1;c=f+s|0;l=c<<1;u=l+p|0;i=OT(o[e+(u<<2)>>2]|0,h)|0;u=OT(o[e+(u+1<<2)>>2]|0,h)|0;if(!(u>>>0>>0&i>>>0<(t-u|0)>>>0)){i=0;break e}if(r[e+(u+i)>>0]|0){i=0;break e}i=rT(n,e+u|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}else{f=i?f:c;a=i?s:a-s|0}}i=l+d|0;u=OT(o[e+(i<<2)>>2]|0,h)|0;i=OT(o[e+(i+1<<2)>>2]|0,h)|0;if(i>>>0>>0&u>>>0<(t-i|0)>>>0)i=(r[e+(i+u)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function OT(e,t){e=e|0;t=t|0;var n=0;n=fx(e|0)|0;return((t|0)==0?e:n)|0}function PT(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0,s=0;i=n+16|0;u=o[i>>2]|0;if(!u){if(!(IT(n)|0)){u=o[i>>2]|0;a=5}else i=0}else a=5;e:do{if((a|0)==5){s=n+20|0;l=o[s>>2]|0;i=l;if((u-l|0)>>>0>>0){i=_A[o[n+36>>2]&7](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)>-1){l=t;while(1){if(!l){a=0;u=e;break t}u=l+-1|0;if((r[e+u>>0]|0)==10)break;else l=u}i=_A[o[n+36>>2]&7](n,e,l)|0;if(i>>>0>>0)break e;a=l;u=e+l|0;t=t-l|0;i=o[s>>2]|0}else{a=0;u=e}}while(0);ix(i|0,u|0,t|0)|0;o[s>>2]=(o[s>>2]|0)+t;i=a+t|0}}while(0);return i|0}function IT(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function NT(e,t){e=Y(e);t=Y(t);var n=0,r=0;n=MT(e)|0;do{if((n&2147483647)>>>0<=2139095040){r=MT(t)|0;if((r&2147483647)>>>0<=2139095040)if((r^n|0)<0){e=(n|0)<0?t:e;break}else{e=e>2]=e,o[d>>2]|0)|0}function RT(e,t){e=Y(e);t=Y(t);var n=0,r=0;n=FT(e)|0;do{if((n&2147483647)>>>0<=2139095040){r=FT(t)|0;if((r&2147483647)>>>0<=2139095040)if((r^n|0)<0){e=(n|0)<0?e:t;break}else{e=e>2]=e,o[d>>2]|0)|0}function LT(e,t){e=Y(e);t=Y(t);var n=0,r=0,i=0,u=0,a=0,l=0,c=0,f=0;u=(s[d>>2]=e,o[d>>2]|0);l=(s[d>>2]=t,o[d>>2]|0);n=u>>>23&255;a=l>>>23&255;c=u&-2147483648;i=l<<1;e:do{if((i|0)!=0?!((n|0)==255|((BT(t)|0)&2147483647)>>>0>2139095040):0){r=u<<1;if(r>>>0<=i>>>0){t=Y(e*Y(0.0));return Y((r|0)==(i|0)?t:e)}if(!n){n=u<<9;if((n|0)>-1){r=n;n=0;do{n=n+-1|0;r=r<<1}while((r|0)>-1)}else n=0;r=u<<1-n}else r=u&8388607|8388608;if(!a){u=l<<9;if((u|0)>-1){i=0;do{i=i+-1|0;u=u<<1}while((u|0)>-1)}else i=0;a=i;l=l<<1-i}else l=l&8388607|8388608;i=r-l|0;u=(i|0)>-1;t:do{if((n|0)>(a|0)){while(1){if(u)if(!i)break;else r=i;r=r<<1;n=n+-1|0;i=r-l|0;u=(i|0)>-1;if((n|0)<=(a|0))break t}t=Y(e*Y(0.0));break e}}while(0);if(u)if(!i){t=Y(e*Y(0.0));break}else r=i;if(r>>>0<8388608)do{r=r<<1;n=n+-1|0}while(r>>>0<8388608);if((n|0)>0)n=r+-8388608|n<<23;else n=r>>>(1-n|0);t=(o[d>>2]=n|c,Y(s[d>>2]))}else f=3}while(0);if((f|0)==3){t=Y(e*t);t=Y(t/t)}return Y(t)}function BT(e){e=Y(e);return(s[d>>2]=e,o[d>>2]|0)|0}function jT(e,t){e=e|0;t=t|0;return oT(o[582]|0,e,t)|0}function UT(e){e=e|0;Ye()}function zT(e){e=e|0;return}function WT(e,t){e=e|0;t=t|0;return 0}function HT(e){e=e|0;if((VT(e+4|0)|0)==-1){hA[o[(o[e>>2]|0)+8>>2]&127](e);e=1}else e=0;return e|0}function VT(e){e=e|0;var t=0;t=o[e>>2]|0;o[e>>2]=t+-1;return t+-1|0}function qT(e){e=e|0;if(HT(e)|0)GT(e);return}function GT(e){e=e|0;var t=0;t=e+8|0;if(!((o[t>>2]|0)!=0?(VT(t)|0)!=-1:0))hA[o[(o[e>>2]|0)+16>>2]&127](e);return}function $T(e){e=e|0;var t=0;t=(e|0)==0?1:e;while(1){e=qk(t)|0;if(e|0)break;e=QT()|0;if(!e){e=0;break}IA[e&0]()}return e|0}function YT(e){e=e|0;return $T(e)|0}function KT(e){e=e|0;Gk(e);return}function XT(e){e=e|0;if((r[e+11>>0]|0)<0)KT(o[e>>2]|0);return}function QT(){var e=0;e=o[2923]|0;o[2923]=e+0;return e|0}function JT(){}function ZT(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(A=r,e-n>>>0|0)|0}function ex(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(A=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function tx(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0,l=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;u=i-64|0;l=t|t<<8|t<<16|t<<24;while((e|0)<=(u|0)){o[e>>2]=l;o[e+4>>2]=l;o[e+8>>2]=l;o[e+12>>2]=l;o[e+16>>2]=l;o[e+20>>2]=l;o[e+24>>2]=l;o[e+28>>2]=l;o[e+32>>2]=l;o[e+36>>2]=l;o[e+40>>2]=l;o[e+44>>2]=l;o[e+48>>2]=l;o[e+52>>2]=l;o[e+56>>2]=l;o[e+60>>2]=l;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=l;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function nx(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){A=t<>>32-n;return e<>>n;return e>>>n|(t&(1<>>n-32|0}function ix(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,u=0,a=0;if((n|0)>=8192)return He(e|0,t|0,n|0)|0;a=e|0;u=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=u&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=u-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(u|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function ox(e){e=e|0;var t=0;t=r[m+(e&255)>>0]|0;if((t|0)<8)return t|0;t=r[m+(e>>8&255)>>0]|0;if((t|0)<8)return t+8|0;t=r[m+(e>>16&255)>>0]|0;if((t|0)<8)return t+16|0;return(r[m+(e>>>24)>>0]|0)+24|0}function ux(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var u=0,a=0,l=0,s=0,c=0,f=0,d=0,p=0,h=0,v=0;f=e;s=t;c=s;a=n;p=r;l=p;if(!c){u=(i|0)!=0;if(!l){if(u){o[i>>2]=(f>>>0)%(a>>>0);o[i+4>>2]=0}p=0;i=(f>>>0)/(a>>>0)>>>0;return(A=p,i)|0}else{if(!u){p=0;i=0;return(A=p,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;p=0;i=0;return(A=p,i)|0}}u=(l|0)==0;do{if(a){if(!u){u=($(l|0)|0)-($(c|0)|0)|0;if(u>>>0<=31){d=u+1|0;l=31-u|0;t=u-31>>31;a=d;e=f>>>(d>>>0)&t|c<>>(d>>>0)&t;u=0;l=f<>2]=e|0;o[i+4>>2]=s|t&0;p=0;i=0;return(A=p,i)|0}u=a-1|0;if(u&a|0){l=($(a|0)|0)+33-($(c|0)|0)|0;v=64-l|0;d=32-l|0;s=d>>31;h=l-32|0;t=h>>31;a=l;e=d-1>>31&c>>>(h>>>0)|(c<>>(l>>>0))&t;t=t&c>>>(l>>>0);u=f<>>(h>>>0))&s|f<>31;break}if(i|0){o[i>>2]=u&f;o[i+4>>2]=0}if((a|0)==1){h=s|t&0;v=e|0|0;return(A=h,v)|0}else{v=ox(a|0)|0;h=c>>>(v>>>0)|0;v=c<<32-v|f>>>(v>>>0)|0;return(A=h,v)|0}}else{if(u){if(i|0){o[i>>2]=(c>>>0)%(a>>>0);o[i+4>>2]=0}h=0;v=(c>>>0)/(a>>>0)>>>0;return(A=h,v)|0}if(!f){if(i|0){o[i>>2]=0;o[i+4>>2]=(c>>>0)%(l>>>0)}h=0;v=(c>>>0)/(l>>>0)>>>0;return(A=h,v)|0}u=l-1|0;if(!(u&l)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=u&c|t&0}h=0;v=c>>>((ox(l|0)|0)>>>0);return(A=h,v)|0}u=($(l|0)|0)-($(c|0)|0)|0;if(u>>>0<=30){t=u+1|0;l=31-u|0;a=t;e=c<>>(t>>>0);t=c>>>(t>>>0);u=0;l=f<>2]=e|0;o[i+4>>2]=s|t&0;h=0;v=0;return(A=h,v)|0}}while(0);if(!a){c=l;s=0;l=0}else{d=n|0|0;f=p|r&0;c=ex(d|0,f|0,-1,-1)|0;n=A;s=l;l=0;do{r=s;s=u>>>31|s<<1;u=l|u<<1;r=e<<1|r>>>31|0;p=e>>>31|t<<1|0;ZT(c|0,n|0,r|0,p|0)|0;v=A;h=v>>31|((v|0)<0?-1:0)<<1;l=h&1;e=ZT(r|0,p|0,h&d|0,(((v|0)<0?-1:0)>>31|((v|0)<0?-1:0)<<1)&f|0)|0;t=A;a=a-1|0}while((a|0)!=0);c=s;s=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}h=(u|0)>>>31|(c|a)<<1|(a<<1|u>>>31)&0|s;v=(u<<1|0>>>31)&-2|l;return(A=h,v)|0}function ax(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return ux(e,t,n,r,0)|0}function lx(e){e=e|0;var t=0,n=0;n=e+15&-16|0;t=o[f>>2]|0;e=t+n|0;if((n|0)>0&(e|0)<(t|0)|(e|0)<0){Z()|0;qe(12);return-1}o[f>>2]=e;if((e|0)>(J()|0)?(Q()|0)==0:0){o[f>>2]=t;qe(12);return-1}return t|0}function sx(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;if((t|0)<(e|0)&(e|0)<(t+n|0)){i=e;t=t+n|0;e=e+n|0;while((n|0)>0){e=e-1|0;t=t-1|0;n=n-1|0;r[e>>0]=r[t>>0]|0}e=i}else ix(e,t,n)|0;return e|0}function cx(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,u=0;u=h;h=h+16|0;i=u|0;ux(e,t,n,r,i)|0;h=u;return(A=o[i+4>>2]|0,o[i>>2]|0)|0}function fx(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function dx(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;cA[e&1](t|0,n|0,r|0,i|0,o|0)}function px(e,t,n){e=e|0;t=t|0;n=Y(n);fA[e&1](t|0,Y(n))}function hx(e,t,n){e=e|0;t=t|0;n=+n;dA[e&31](t|0,+n)}function vx(e,t,n,r){e=e|0;t=t|0;n=Y(n);r=Y(r);return Y(pA[e&0](t|0,Y(n),Y(r)))}function mx(e,t){e=e|0;t=t|0;hA[e&127](t|0)}function gx(e,t,n){e=e|0;t=t|0;n=n|0;vA[e&31](t|0,n|0)}function yx(e,t){e=e|0;t=t|0;return mA[e&31](t|0)|0}function _x(e,t,n,r,i){e=e|0;t=t|0;n=+n;r=+r;i=i|0;gA[e&1](t|0,+n,+r,i|0)}function bx(e,t,n,r){e=e|0;t=t|0;n=+n;r=+r;yA[e&1](t|0,+n,+r)}function wx(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return _A[e&7](t|0,n|0,r|0)|0}function Ex(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return+bA[e&1](t|0,n|0,r|0)}function Dx(e,t){e=e|0;t=t|0;return+wA[e&15](t|0)}function Sx(e,t,n){e=e|0;t=t|0;n=+n;return EA[e&1](t|0,+n)|0}function Cx(e,t,n){e=e|0;t=t|0;n=n|0;return DA[e&15](t|0,n|0)|0}function kx(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=+r;i=+i;o=o|0;SA[e&1](t|0,n|0,+r,+i,o|0)}function Tx(e,t,n,r,i,o,u){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;u=u|0;CA[e&1](t|0,n|0,r|0,i|0,o|0,u|0)}function xx(e,t,n){e=e|0;t=t|0;n=n|0;return+kA[e&7](t|0,n|0)}function Ax(e){e=e|0;return TA[e&7]()|0}function Ox(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;return xA[e&1](t|0,n|0,r|0,i|0,o|0)|0}function Px(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=+i;AA[e&1](t|0,n|0,r|0,+i)}function Ix(e,t,n,r,i,o,u){e=e|0;t=t|0;n=n|0;r=Y(r);i=i|0;o=Y(o);u=u|0;OA[e&1](t|0,n|0,Y(r),i|0,Y(o),u|0)}function Nx(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;PA[e&15](t|0,n|0,r|0)}function Mx(e){e=e|0;IA[e&0]()}function Rx(e,t,n,r){e=e|0;t=t|0;n=n|0;r=+r;NA[e&15](t|0,n|0,+r)}function Fx(e,t,n){e=e|0;t=+t;n=+n;return MA[e&1](+t,+n)|0}function Lx(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;RA[e&15](t|0,n|0,r|0,i|0)}function Bx(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;K(0)}function jx(e,t){e=e|0;t=Y(t);K(1)}function Ux(e,t){e=e|0;t=+t;K(2)}function zx(e,t,n){e=e|0;t=Y(t);n=Y(n);K(3);return ft}function Wx(e){e=e|0;K(4)}function Hx(e,t){e=e|0;t=t|0;K(5)}function Vx(e){e=e|0;K(6);return 0}function qx(e,t,n,r){e=e|0;t=+t;n=+n;r=r|0;K(7)}function Gx(e,t,n){e=e|0;t=+t;n=+n;K(8)}function $x(e,t,n){e=e|0;t=t|0;n=n|0;K(9);return 0}function Yx(e,t,n){e=e|0;t=t|0;n=n|0;K(10);return 0.0}function Kx(e){e=e|0;K(11);return 0.0}function Xx(e,t){e=e|0;t=+t;K(12);return 0}function Qx(e,t){e=e|0;t=t|0;K(13);return 0}function Jx(e,t,n,r,i){e=e|0;t=t|0;n=+n;r=+r;i=i|0;K(14)}function Zx(e,t,n,r,i,o){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;K(15)}function eA(e,t){e=e|0;t=t|0;K(16);return 0.0}function tA(){K(17);return 0}function nA(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;K(18);return 0}function rA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=+r;K(19)}function iA(e,t,n,r,i,o){e=e|0;t=t|0;n=Y(n);r=r|0;i=Y(i);o=o|0;K(20)}function oA(e,t,n){e=e|0;t=t|0;n=n|0;K(21)}function uA(){K(22)}function aA(e,t,n){e=e|0;t=t|0;n=+n;K(23)}function lA(e,t){e=+e;t=+t;K(24);return 0}function sA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;K(25)}var cA=[Bx,DE];var fA=[jx,qi];var dA=[Ux,yo,_o,bo,wo,Eo,Do,So,ko,To,Ao,Oo,Po,Io,No,Mo,Ro,Fo,Lo,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux,Ux];var pA=[zx];var hA=[Wx,zT,hl,vl,ml,Kd,Xd,Qd,yb,_b,bb,oE,uE,aE,uk,ak,lk,bt,Xi,to,Co,xo,ju,Uu,Ka,Sl,Wl,ps,Ns,rc,kc,qc,df,Mf,Zf,yd,Ld,gp,Fp,th,bh,jh,iv,kv,Vv,am,xm,Wi,cg,Ag,Qg,yy,Fy,o_,g_,b_,U_,H_,ab,Db,kb,Gb,pw,Cl,OD,pS,PS,KS,bC,BC,XC,ZC,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx,Wx];var vA=[Hx,no,ro,uo,ao,lo,so,co,fo,vo,mo,go,eu,ru,iu,ou,uu,au,lu,pu,gu,Ku,Ov,$v,Ey,ND,ww,eS,Hx,Hx,Hx,Hx];var mA=[Vx,Yk,Ki,zo,qo,Go,$o,Yo,Ko,Xo,Jo,Zo,hu,vu,zu,Pm,Uy,Kb,BD,UD,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx,Vx];var gA=[qx,Wu];var yA=[Gx,cb];var _A=[$x,Kk,Xk,nT,ac,wp,hg,ZS];var bA=[Yx,rd];var wA=[Kx,tu,nu,su,Hu,Vu,qu,Gu,$u,Yu,Kx,Kx,Kx,Kx,Kx,Kx];var EA=[Xx,p_];var DA=[Qx,WT,mu,tl,gs,Oc,Kc,zd,Up,fm,Gi,RS,Qx,Qx,Qx,Qx];var SA=[Jx,Gl];var CA=[Zx,SC];var kA=[eA,cu,Xu,Qu,Ju,Ed,eA,eA];var TA=[tA,Zu,$i,Ui,C_,$_,Pb,rk];var xA=[nA,Fr];var AA=[rA,Sh];var OA=[iA,_u];var PA=[oA,Wo,Qo,fu,du,Ls,mf,Hh,lv,Vi,JE,gS,WC,oA,oA,oA];var IA=[uA];var NA=[aA,io,oo,po,ho,Bo,jo,Uo,oh,Ng,l_,aA,aA,aA,aA,aA];var MA=[lA,vb];var RA=[sA,Bf,jm,ty,Ky,P_,Z_,Bb,yw,qD,hk,sA,sA,sA,sA,sA];return{_llvm_bswap_i32:fx,dynCall_idd:Fx,dynCall_i:Ax,_i64Subtract:ZT,___udivdi3:ax,dynCall_vif:px,setThrew:mt,dynCall_viii:Nx,_bitshift64Lshr:rx,_bitshift64Shl:nx,dynCall_vi:mx,dynCall_viiddi:kx,dynCall_diii:Ex,dynCall_iii:Cx,_memset:tx,_sbrk:lx,_memcpy:ix,__GLOBAL__sub_I_Yoga_cpp:ji,dynCall_vii:gx,___uremdi3:cx,dynCall_vid:hx,stackAlloc:dt,_nbind_init:Ak,getTempRet0:yt,dynCall_di:Dx,dynCall_iid:Sx,setTempRet0:gt,_i64Add:ex,dynCall_fiff:vx,dynCall_iiii:wx,_emscripten_get_global_libc:$k,dynCall_viid:Rx,dynCall_viiid:Px,dynCall_viififi:Ix,dynCall_ii:yx,__GLOBAL__sub_I_Binding_cc:wD,dynCall_viiii:Lx,dynCall_iiiiii:Ox,stackSave:pt,dynCall_viiiii:dx,__GLOBAL__sub_I_nbind_cc:ea,dynCall_vidd:bx,_free:Gk,runPostSets:JT,dynCall_viiiiii:Tx,establishStackSpace:vt,_memmove:sx,stackRestore:ht,_malloc:qk,__GLOBAL__sub_I_common_cc:iw,dynCall_viddi:_x,dynCall_dii:xx,dynCall_v:Mx}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function t(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),t()}),1)):t()))}function exit(e,t){t&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){e=e||[],ensureInitRuntime();var t=e.length+1;function n(){for(var e=0;e<3;e++)r.push(0)}var r=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];n();for(var i=0;i0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()},void 0===(__WEBPACK_AMD_DEFINE_RESULT__=function(){return wrapper}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__=[]))||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},3019:e=>{"use strict";e.exports={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2}},6401:(e,t,n)=>{"use strict";var r=n(7180),i=n(3354),o=!1,u=null;if(i({},(function(e,t){if(!o){if(o=!0,e)throw e;u=t}})),!o)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");e.exports=r(u.bind,u.lib)},7180:(e,t,n)=>{"use strict";var r=Object.assign||function(e){for(var t=1;t"}}]),e}(),s=function(){function e(t,n){u(this,e),this.width=t,this.height=n}return i(e,null,[{key:"fromJS",value:function(t){return new e(t.width,t.height)}}]),i(e,[{key:"fromJS",value:function(e){e(this.width,this.height)}},{key:"toString",value:function(){return""}}]),e}(),c=function(){function e(t,n){u(this,e),this.unit=t,this.value=n}return i(e,[{key:"fromJS",value:function(e){e(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case a.UNIT_POINT:return String(this.value);case a.UNIT_PERCENT:return this.value+"%";case a.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),e}();e.exports=function(e,t){function n(e,t,n){var r=e[t];e[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:NaN,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.DIRECTION_LTR;return e.call(this,t,n,r)})),r({Config:t.Config,Node:t.Node,Layout:e("Layout",l),Size:e("Size",s),Value:e("Value",c),getInstanceCount:function(){return t.getInstanceCount.apply(t,arguments)}},a)}},2357:e=>{"use strict";e.exports=require("assert")},6417:e=>{"use strict";e.exports=require("crypto")},8614:e=>{"use strict";e.exports=require("events")},5747:e=>{"use strict";e.exports=require("fs")},8605:e=>{"use strict";e.exports=require("http")},7211:e=>{"use strict";e.exports=require("https")},2282:e=>{"use strict";e.exports=require("module")},1631:e=>{"use strict";e.exports=require("net")},2087:e=>{"use strict";e.exports=require("os")},2413:e=>{"use strict";e.exports=require("stream")},4016:e=>{"use strict";e.exports=require("tls")},3867:e=>{"use strict";e.exports=require("tty")},8835:e=>{"use strict";e.exports=require("url")},8761:e=>{"use strict";e.exports=require("zlib")}},__webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e])return __webpack_module_cache__[e].exports;var t=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}return __webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),__webpack_require__(7560)})(); + */ return plugin; } -}; \ No newline at end of file +}; diff --git a/.yarn/releases/yarn-2.4.2.cjs b/.yarn/releases/yarn-2.4.2.cjs deleted file mode 100755 index a15be7f95..000000000 --- a/.yarn/releases/yarn-2.4.2.cjs +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env node -module.exports=(()=>{var e={25545:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=25545,e.exports=t},44692:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var A=r(54143);const n={optional:!0},o=[["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:n,zenObservable:n}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:n,zenObservable:n}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":n}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":n,"postcss-jsx":n,"postcss-less":n,"postcss-markdown":n,"postcss-scss":n}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:n}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4"},peerDependenciesMeta:{eslint:n}}],["rc-animate@*",{peerDependencies:{react:"^15.0.0 || ^16.0.0","react-dom":"^15.0.0 || ^16.0.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:n,"utf-8-validate":n}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}]];let i,s,a;const c=new Map([[A.makeIdent(null,"fsevents").identHash,function(){return void 0===i&&(i=r(78761).brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),i}],[A.makeIdent(null,"resolve").identHash,function(){return void 0===s&&(s=r(78761).brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),s}],[A.makeIdent(null,"typescript").identHash,function(){return void 0===a&&(a=r(78761).brotliDecompressSync(Buffer.from("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","base64")).toString()),a}]]),g={hooks:{registerPackageExtensions:async(e,t)=>{for(const[e,r]of o)t(A.parseDescriptor(e,!0),r)},getBuiltinPatch:async(e,t)=>{var r;if(!t.startsWith("compat/"))return;const n=A.parseIdent(t.slice("compat/".length)),o=null===(r=c.get(n.identHash))||void 0===r?void 0:r();return void 0!==o?o:null},reduceDependency:async(e,t,r,n)=>void 0===c.get(e.identHash)?e:A.makeDescriptor(e,A.makeRange({protocol:"patch:",source:A.stringifyDescriptor(e),selector:`builtin`,params:null}))}}},10189:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>p});var A=r(36370),n=r(25413),o=r(54143),i=r(40822);class s extends n.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){const e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");const t=o.parseIdent(this.command),r=o.makeIdent(t.scope,"create-"+t.name);return this.cli.run(["dlx",...e,o.stringifyIdent(r),...this.args])}}(0,A.gn)([i.Command.String("-p,--package",{description:"The package to run the provided command from"})],s.prototype,"pkg",void 0),(0,A.gn)([i.Command.Boolean("-q,--quiet",{description:"Only report critical errors instead of printing the full install logs"})],s.prototype,"quiet",void 0),(0,A.gn)([i.Command.String()],s.prototype,"command",void 0),(0,A.gn)([i.Command.Proxy()],s.prototype,"args",void 0),(0,A.gn)([i.Command.Path("create")],s.prototype,"execute",null);var a=r(39922),c=r(85824),g=r(63088),l=r(43896),u=r(46009);class h extends n.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){return a.VK.telemetry=null,await l.xfs.mktempPromise(async e=>{const t=u.y1.join(e,"dlx-"+process.pid);await l.xfs.mkdirPromise(t),await l.xfs.writeFilePromise(u.y1.join(t,"package.json"),"{}\n"),await l.xfs.writeFilePromise(u.y1.join(t,"yarn.lock"),"");const r=u.y1.join(t,".yarnrc.yml"),A=await a.VK.findProjectCwd(this.context.cwd,u.QS.lockfile),i=null!==A?u.y1.join(A,".yarnrc.yml"):null;null!==i&&l.xfs.existsSync(i)?(await l.xfs.copyFilePromise(i,r),await a.VK.updateConfiguration(t,e=>{const t={...e,enableGlobalCache:!0,enableTelemetry:!1};return Array.isArray(e.plugins)&&(t.plugins=e.plugins.map(e=>{const t="string"==typeof e?e:e.path,r=u.cS.isAbsolute(t)?t:u.cS.resolve(u.cS.fromPortablePath(A),t);return"string"==typeof e?r:{path:r,spec:e.spec}})),t})):await l.xfs.writeFilePromise(r,"enableGlobalCache: true\nenableTelemetry: false\n");const s=void 0!==this.pkg?[this.pkg]:[this.command],h=o.parseDescriptor(this.command).name,p=await this.cli.run(["add","--",...s],{cwd:t,quiet:this.quiet});if(0!==p)return p;this.quiet||this.context.stdout.write("\n");const d=await a.VK.find(t,this.context.plugins),{project:C,workspace:f}=await c.I.find(d,t);if(null===f)throw new n.WorkspaceRequiredError(C.cwd,t);return await C.restoreInstallState(),await g.executeWorkspaceAccessibleBinary(f,h,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}}h.usage=i.Command.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]}),(0,A.gn)([i.Command.String("-p,--package",{description:"The package to run the provided command from"})],h.prototype,"pkg",void 0),(0,A.gn)([i.Command.Boolean("-q,--quiet",{description:"Only report critical errors instead of printing the full install logs"})],h.prototype,"quiet",void 0),(0,A.gn)([i.Command.String()],h.prototype,"command",void 0),(0,A.gn)([i.Command.Proxy()],h.prototype,"args",void 0),(0,A.gn)([i.Command.Path("dlx")],h.prototype,"execute",null);const p={commands:[s,h]}},34777:(e,t,r)=>{"use strict";r.r(t),r.d(t,{dedupeUtils:()=>A,default:()=>We,suggestUtils:()=>A});var A={};r.r(A),r.d(A,{Modifier:()=>o,Strategy:()=>i,Target:()=>n,applyModifier:()=>S,extractDescriptorFromPath:()=>K,extractRangeModifier:()=>v,fetchDescriptorFrom:()=>N,findProjectDescriptors:()=>k,getModifier:()=>D,getSuggestedDescriptors:()=>F});var n,o,i,s=r(39922),a=r(36370),c=r(25413),g=r(28148),l=r(62152),u=r(92659),h=r(85824),p=r(15815),d=r(54143),C=r(40822),f=r(61899),I=r(33720),E=r(46611),B=r(71643),y=r(43896),m=r(46009),w=r(53887),Q=r.n(w);function D(e,t){return e.exact?o.EXACT:e.caret?o.CARET:e.tilde?o.TILDE:t.configuration.get("defaultSemverRangePrefix")}!function(e){e.REGULAR="dependencies",e.DEVELOPMENT="devDependencies",e.PEER="peerDependencies"}(n||(n={})),function(e){e.CARET="^",e.TILDE="~",e.EXACT=""}(o||(o={})),function(e){e.KEEP="keep",e.REUSE="reuse",e.PROJECT="project",e.LATEST="latest",e.CACHE="cache"}(i||(i={}));const b=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function v(e,{project:t}){const r=e.match(b);return r?r[1]:t.configuration.get("defaultSemverRangePrefix")}function S(e,t){let{protocol:r,source:A,params:n,selector:o}=d.parseRange(e.range);return Q().valid(o)&&(o=`${t}${e.range}`),d.makeDescriptor(e,d.makeRange({protocol:r,source:A,params:n,selector:o}))}async function k(e,{project:t,target:r}){const A=new Map,o=e=>{let t=A.get(e.descriptorHash);return t||A.set(e.descriptorHash,t={descriptor:e,locators:[]}),t};for(const A of t.workspaces)if(r===n.PEER){const t=A.manifest.peerDependencies.get(e.identHash);void 0!==t&&o(t).locators.push(A.locator)}else{const t=A.manifest.dependencies.get(e.identHash),i=A.manifest.devDependencies.get(e.identHash);r===n.DEVELOPMENT?void 0!==i?o(i).locators.push(A.locator):void 0!==t&&o(t).locators.push(A.locator):void 0!==t?o(t).locators.push(A.locator):void 0!==i&&o(i).locators.push(A.locator)}return A}async function K(e,{cwd:t,workspace:r}){return await async function(e){return await y.xfs.mktempPromise(async t=>{const r=s.VK.create(t);return r.useWithSource(t,{enableMirror:!1,compressionLevel:0},t,{overwrite:!0}),await e(new g.C(t,{configuration:r,check:!1,immutable:!1}))})}(async A=>{m.y1.isAbsolute(e)||(e=m.y1.relative(r.cwd,m.y1.resolve(t,e))).match(/^\.{0,2}\//)||(e="./"+e);const{project:n}=r,o=await N(d.makeIdent(null,"archive"),e,{project:r.project,cache:A,workspace:r});if(!o)throw new Error("Assertion failed: The descriptor should have been found");const i=new I.$,s=n.configuration.makeResolver(),a=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:A,fetcher:a,report:i,resolver:s},g=s.bindDescriptor(o,r.anchoredLocator,c),l=d.convertDescriptorToLocator(g),u=await a.fetch(l,c),h=await E.G.find(u.prefixPath,{baseFs:u.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return d.makeDescriptor(h.name,e)})}async function F(e,{project:t,workspace:r,cache:A,target:o,modifier:s,strategies:a,maxResults:c=1/0}){if(!(c>=0))throw new Error(`Invalid maxResults (${c})`);if("unknown"!==e.range)return{suggestions:[{descriptor:e,name:"Use "+d.prettyDescriptor(t.configuration,e),reason:"(unambiguous explicit request)"}],rejections:[]};const g=null!=r&&r.manifest[o].get(e.identHash)||null,l=[],u=[],h=async e=>{try{await e()}catch(e){u.push(e)}};for(const u of a){if(l.length>=c)break;switch(u){case i.KEEP:await h(async()=>{g&&l.push({descriptor:g,name:"Keep "+d.prettyDescriptor(t.configuration,g),reason:"(no changes)"})});break;case i.REUSE:await h(async()=>{for(const{descriptor:A,locators:n}of(await k(e,{project:t,target:o})).values()){if(1===n.length&&n[0].locatorHash===r.anchoredLocator.locatorHash&&a.includes(i.KEEP))continue;let e="(originally used by "+d.prettyLocator(t.configuration,n[0]);e+=n.length>1?` and ${n.length-1} other${n.length>2?"s":""})`:")",l.push({descriptor:A,name:"Reuse "+d.prettyDescriptor(t.configuration,A),reason:e})}});break;case i.CACHE:await h(async()=>{for(const r of t.storedDescriptors.values())r.identHash===e.identHash&&l.push({descriptor:r,name:"Reuse "+d.prettyDescriptor(t.configuration,r),reason:"(already used somewhere in the lockfile)"})});break;case i.PROJECT:await h(async()=>{if(null!==r.manifest.name&&e.identHash===r.manifest.name.identHash)return;const A=t.tryWorkspaceByIdent(e);null!==A&&l.push({descriptor:A.anchoredDescriptor,name:"Attach "+d.prettyWorkspace(t.configuration,A),reason:`(local workspace at ${A.cwd})`})});break;case i.LATEST:await h(async()=>{if("unknown"!==e.range)l.push({descriptor:e,name:"Use "+d.prettyRange(t.configuration,e.range),reason:"(explicit range requested)"});else if(o===n.PEER)l.push({descriptor:d.makeDescriptor(e,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(t.configuration.get("enableNetwork")){let n=await N(e,"latest",{project:t,cache:A,workspace:r,preserveModifier:!1});n&&(n=S(n,s),l.push({descriptor:n,name:"Use "+d.prettyDescriptor(t.configuration,n),reason:"(resolved from latest)"}))}else l.push({descriptor:null,name:"Resolve from latest",reason:B.pretty(t.configuration,"(unavailable because enableNetwork is toggled off)","grey")})})}}return{suggestions:l.slice(0,c),rejections:u.slice(0,c)}}async function N(e,t,{project:r,cache:A,workspace:n,preserveModifier:o=!0}){const i=d.makeDescriptor(e,t),s=new I.$,a=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),g={project:r,fetcher:a,cache:A,checksums:r.storedChecksums,report:s,skipIntegrityCheck:!0},l={...g,resolver:c,fetchOptions:g},u=c.bindDescriptor(i,n.anchoredLocator,l),h=await c.getCandidates(u,new Map,l);if(0===h.length)return null;const p=h[0];let{protocol:C,source:f,params:E,selector:B}=d.parseRange(d.convertToManifestRange(p.reference));if(C===r.configuration.get("defaultProtocol")&&(C=null),Q().valid(B)&&!1!==o){B=v("string"==typeof o?o:i.range,{project:r})+B}return d.makeDescriptor(p,d.makeRange({protocol:C,source:f,params:E,selector:B}))}class M extends c.BaseCommand{constructor(){super(...arguments),this.packages=[],this.json=!1,this.exact=!1,this.tilde=!1,this.caret=!1,this.dev=!1,this.peer=!1,this.optional=!1,this.preferDev=!1,this.interactive=null,this.cached=!1}async execute(){var e;const t=await s.VK.find(this.context.cwd,this.context.plugins),{project:r,workspace:A}=await h.I.find(t,this.context.cwd),o=await g.C.find(t);if(!A)throw new c.WorkspaceRequiredError(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});const a=null!==(e=this.interactive)&&void 0!==e?e:t.get("preferInteractive"),I=D(this,r),E=[...a?[i.REUSE]:[],i.PROJECT,...this.cached?[i.CACHE]:[],i.LATEST],B=a?1/0:1,y=await Promise.all(this.packages.map(async e=>{const t=e.match(/^\.{0,2}\//)?await K(e,{cwd:this.context.cwd,workspace:A}):d.parseDescriptor(e),i=function(e,t,{dev:r,peer:A,preferDev:o,optional:i}){const s=e.manifest[n.REGULAR].has(t.identHash),a=e.manifest[n.DEVELOPMENT].has(t.identHash),c=e.manifest[n.PEER].has(t.identHash);if((r||A)&&s)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!A&&c)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(i&&a)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(i&&!A&&c)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||o)&&i)throw new C.UsageError(`Package "${d.prettyIdent(e.project.configuration,t)}" cannot simultaneously be a dev dependency and an optional dependency`);return A?n.PEER:r||o?n.DEVELOPMENT:s?n.REGULAR:a?n.DEVELOPMENT:n.REGULAR}(A,t,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return[t,await F(t,{project:r,workspace:A,cache:o,target:i,modifier:I,strategies:E,maxResults:B}),i]})),m=await l.h.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async e=>{for(const[A,{suggestions:n,rejections:o}]of y){if(0===n.filter(e=>null!==e.descriptor).length){const[n]=o;if(void 0===n)throw new Error("Assertion failed: Expected an error to have been set");const i=this.cli.error(n);r.configuration.get("enableNetwork")?e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range:\n\n${i}`):e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range (note: network resolution has been disabled):\n\n${i}`)}}});if(m.hasErrors())return m.exitCode();let w=!1;const Q=[],b=[];for(const[,{suggestions:e},t]of y){let r;const n=e.filter(e=>null!==e.descriptor),o=n[0].descriptor,i=n.every(e=>d.areDescriptorsEqual(e.descriptor,o));1===n.length||i?r=o:(w=!0,({answer:r}=await(0,f.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:e.map(({descriptor:e,name:t,reason:r})=>e?{name:t,hint:r,descriptor:e}:{name:t,hint:r,disabled:!0}),onCancel:()=>process.exit(130),result(e){return this.find(e,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout})));const s=A.manifest[t].get(r.identHash);void 0!==s&&s.descriptorHash===r.descriptorHash||(A.manifest[t].set(r.identHash,r),this.optional&&("dependencies"===t?A.manifest.ensureDependencyMeta({...r,range:"unknown"}).optional=!0:"peerDependencies"===t&&(A.manifest.ensurePeerDependencyMeta({...r,range:"unknown"}).optional=!0)),void 0===s?Q.push([A,t,r,E]):b.push([A,t,s,r]))}await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyAddition,Q),await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,b),w&&this.context.stdout.write("\n");return(await p.Pk.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await r.install({cache:o,report:e})})).exitCode()}}M.usage=C.Command.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]}),(0,a.gn)([C.Command.Rest()],M.prototype,"packages",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],M.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("-E,--exact",{description:"Don't use any semver modifier on the resolved range"})],M.prototype,"exact",void 0),(0,a.gn)([C.Command.Boolean("-T,--tilde",{description:"Use the `~` semver modifier on the resolved range"})],M.prototype,"tilde",void 0),(0,a.gn)([C.Command.Boolean("-C,--caret",{description:"Use the `^` semver modifier on the resolved range"})],M.prototype,"caret",void 0),(0,a.gn)([C.Command.Boolean("-D,--dev",{description:"Add a package as a dev dependency"})],M.prototype,"dev",void 0),(0,a.gn)([C.Command.Boolean("-P,--peer",{description:"Add a package as a peer dependency"})],M.prototype,"peer",void 0),(0,a.gn)([C.Command.Boolean("-O,--optional",{description:"Add / upgrade a package to an optional regular / peer dependency"})],M.prototype,"optional",void 0),(0,a.gn)([C.Command.Boolean("--prefer-dev",{description:"Add / upgrade a package to a dev dependency"})],M.prototype,"preferDev",void 0),(0,a.gn)([C.Command.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"})],M.prototype,"interactive",void 0),(0,a.gn)([C.Command.Boolean("--cached",{description:"Reuse the highest version already used somewhere within the project"})],M.prototype,"cached",void 0),(0,a.gn)([C.Command.Path("add")],M.prototype,"execute",null);var R=r(63088);class x extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,locator:r}=await h.I.find(e,this.context.cwd);if(await t.restoreInstallState(),this.name){const A=(await R.getPackageAccessibleBinaries(r,{project:t})).get(this.name);if(!A)throw new C.UsageError(`Couldn't find a binary named "${this.name}" for package "${d.prettyLocator(e,r)}"`);const[,n]=A;return this.context.stdout.write(n+"\n"),0}return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async A=>{const n=await R.getPackageAccessibleBinaries(r,{project:t}),o=Array.from(n.keys()).reduce((e,t)=>Math.max(e,t.length),0);for(const[e,[t,r]]of n)A.reportJson({name:e,source:d.stringifyIdent(t),path:r});if(this.verbose)for(const[t,[r]]of n)A.reportInfo(null,`${t.padEnd(o," ")} ${d.prettyLocator(e,r)}`);else for(const e of n.keys())A.reportInfo(null,e)})).exitCode()}}x.usage=C.Command.Usage({description:"get the path to a binary script",details:"\n When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the `-v,--verbose` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n ",examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]}),(0,a.gn)([C.Command.String({required:!1})],x.prototype,"name",void 0),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Print both the binary name and the locator of the package that provides the binary"})],x.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],x.prototype,"json",void 0),(0,a.gn)([C.Command.Path("bin")],x.prototype,"execute",null);class L extends c.BaseCommand{constructor(){super(...arguments),this.mirror=!1,this.all=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=await g.C.find(e);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async()=>{const e=(this.all||this.mirror)&&null!==t.mirrorCwd,r=!this.mirror;e&&await y.xfs.removePromise(t.mirrorCwd),r&&await y.xfs.removePromise(t.cwd)})).exitCode()}}L.usage=C.Command.Usage({description:"remove the shared cache files",details:"\n This command will remove all the files from the cache.\n ",examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]}),(0,a.gn)([C.Command.Boolean("--mirror",{description:"Remove the global cache files instead of the local cache files"})],L.prototype,"mirror",void 0),(0,a.gn)([C.Command.Boolean("--all",{description:"Remove both the global cache files and the local cache files of the current project"})],L.prototype,"all",void 0),(0,a.gn)([C.Command.Path("cache","clean")],L.prototype,"execute",null);var P=r(73632),O=r(44674),U=r.n(O),T=r(31669);class j extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.unsafe=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=this.name.replace(/[.[].*$/,""),r=this.name.replace(/^[^.[]*/,"");if(void 0===e.settings.get(t))throw new C.UsageError(`Couldn't find a configuration settings named "${t}"`);const A=e.getSpecial(t,{hideSecrets:!this.unsafe,getNativePaths:!0}),n=P.convertMapsToIndexableObjects(A),o=r?U()(n,r):n,i=await p.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async e=>{e.reportJson(o)});if(!this.json){if("string"==typeof o)return this.context.stdout.write(o+"\n"),i.exitCode();T.inspect.styles.name="cyan",this.context.stdout.write((0,T.inspect)(o,{depth:1/0,colors:e.get("enableColors"),compact:!1})+"\n")}return i.exitCode()}}j.usage=C.Command.Usage({description:"read a configuration settings",details:"\n This command will print a configuration setting.\n\n Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the `--no-redacted` to get the untransformed value.\n ",examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration","yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'"],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]}),(0,a.gn)([C.Command.String()],j.prototype,"name",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],j.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--no-redacted",{description:"Don't redact secrets (such as tokens) from the output"})],j.prototype,"unsafe",void 0),(0,a.gn)([C.Command.Path("config","get")],j.prototype,"execute",null);var Y=r(82558),G=r.n(Y),H=r(81534),J=r.n(H);class q extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.home=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new C.UsageError("This command must be run from within a project folder");const t=this.name.replace(/[.[].*$/,""),r=this.name.replace(/^[^.[]*\.?/,"");if(void 0===e.settings.get(t))throw new C.UsageError(`Couldn't find a configuration settings named "${t}"`);const A=this.json?JSON.parse(this.value):this.value,n=this.home?e=>s.VK.updateHomeConfiguration(e):t=>s.VK.updateConfiguration(e.projectCwd,t);await n(e=>{if(r){const t=G()(e);return J()(t,this.name,A),t}return{...e,[t]:A}});const o=(await s.VK.find(this.context.cwd,this.context.plugins)).getSpecial(t,{hideSecrets:!0,getNativePaths:!0}),i=P.convertMapsToIndexableObjects(o),a=r?U()(i,r):i;return(await p.Pk.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async t=>{T.inspect.styles.name="cyan",t.reportInfo(u.b.UNNAMED,`Successfully set ${this.name} to ${(0,T.inspect)(a,{depth:1/0,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}}q.usage=C.Command.Usage({description:"change a configuration settings",details:"\n This command will set a configuration setting.\n\n When used without the `--json` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n When used with the `--json` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n ",examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",'yarn config set unsafeHttpWhitelist --json \'["*.example.com", "example.com"]\''],["Set a complex configuration setting (an Object) using the `--json` flag",'yarn config set packageExtensions --json \'{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }\''],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",'yarn config set \'npmRegistries["//npm.example.com"].npmAuthToken\' "ffffffff-ffff-ffff-ffff-ffffffffffff"']]}),(0,a.gn)([C.Command.String()],q.prototype,"name",void 0),(0,a.gn)([C.Command.String()],q.prototype,"value",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Set complex configuration settings to JSON values"})],q.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("-H,--home",{description:"Update the home configuration instead of the project configuration"})],q.prototype,"home",void 0),(0,a.gn)([C.Command.Path("config","set")],q.prototype,"execute",null);class z extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.why=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins,{strict:!1});return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{if(e.invalid.size>0&&!this.json){for(const[r,A]of e.invalid)t.reportError(u.b.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${r}" in ${A}`);t.reportSeparator()}if(this.json){const r=P.sortMap(e.settings.keys(),e=>e);for(const A of r){const r=e.settings.get(A),n=e.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),o=e.sources.get(A);this.verbose?t.reportJson({key:A,effective:n,source:o}):t.reportJson({key:A,effective:n,source:o,...r})}}else{const r=P.sortMap(e.settings.keys(),e=>e),A=r.reduce((e,t)=>Math.max(e,t.length),0),n={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){const o=r.map(t=>{const r=e.settings.get(t);if(!r)throw new Error(`Assertion failed: This settings ("${t}") should have been registered`);return[t,this.why?e.sources.get(t)||"":r.description]}),i=o.reduce((e,[,t])=>Math.max(e,t.length),0);for(const[r,s]of o)t.reportInfo(null,`${r.padEnd(A," ")} ${s.padEnd(i," ")} ${(0,T.inspect)(e.getSpecial(r,{hideSecrets:!0,getNativePaths:!0}),n)}`)}else for(const o of r)t.reportInfo(null,`${o.padEnd(A," ")} ${(0,T.inspect)(e.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),n)}`)}})).exitCode()}}z.usage=C.Command.Usage({description:"display the current configuration",details:"\n This command prints the current active configuration settings.\n ",examples:[["Print the active configuration settings","$0 config"]]}),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Print the setting description on top of the regular key/value information"})],z.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--why",{description:"Print the reason why a setting is set a particular way"})],z.prototype,"why",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],z.prototype,"json",void 0),(0,a.gn)([C.Command.Path("config")],z.prototype,"execute",null);var W,X=r(15966),V=r(35691),_=r(2401),Z=r.n(_);!function(e){e.HIGHEST="highest"}(W||(W={}));const $=new Set(Object.values(W)),ee={highest:async(e,t,{resolver:r,fetcher:A,resolveOptions:n,fetchOptions:o})=>{const i=new Map;for(const[t,r]of e.storedResolutions){const A=e.storedDescriptors.get(t);if(void 0===A)throw new Error(`Assertion failed: The descriptor (${t}) should have been registered`);P.getSetWithDefault(i,A.identHash).add(r)}return Array.from(e.storedDescriptors.values(),async A=>{if(t.length&&!Z().isMatch(d.stringifyIdent(A),t))return null;const o=e.storedResolutions.get(A.descriptorHash);if(void 0===o)throw new Error(`Assertion failed: The resolution (${A.descriptorHash}) should have been registered`);const s=e.originalPackages.get(o);if(void 0===s)return null;if(!r.shouldPersistResolution(s,n))return null;const a=i.get(A.identHash);if(void 0===a)throw new Error(`Assertion failed: The resolutions (${A.identHash}) should have been registered`);if(1===a.size)return null;const c=[...a].map(t=>{const r=e.originalPackages.get(t);if(void 0===r)throw new Error(`Assertion failed: The package (${t}) should have been registered`);return r.reference}),g=await r.getSatisfying(A,c,n),l=null==g?void 0:g[0];if(void 0===l)return null;const u=l.locatorHash,h=e.originalPackages.get(u);if(void 0===h)throw new Error(`Assertion failed: The package (${u}) should have been registered`);return u===o?null:{descriptor:A,currentPackage:s,updatedPackage:h}})}};class te extends c.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.strategy=W.HIGHEST,this.check=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd),r=await g.C.find(e);let A=0;const n=await p.Pk.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async e=>{A=await async function(e,{strategy:t,patterns:r,cache:A,report:n}){const{configuration:o}=e,i=new I.$,s=o.makeResolver(),a=o.makeFetcher(),c={cache:A,checksums:e.storedChecksums,fetcher:a,project:e,report:i,skipIntegrityCheck:!0},g={project:e,resolver:s,report:i,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{const A=ee[t],i=await A(e,r,{resolver:s,resolveOptions:g,fetcher:a,fetchOptions:c}),l=V.yG.progressViaCounter(i.length);n.reportProgress(l);let h,p=0;switch(await Promise.all(i.map(t=>t.then(t=>{if(null===t)return;p++;const{descriptor:r,currentPackage:A,updatedPackage:i}=t;n.reportInfo(u.b.UNNAMED,`${d.prettyDescriptor(o,r)} can be deduped from ${d.prettyLocator(o,A)} to ${d.prettyLocator(o,i)}`),n.reportJson({descriptor:d.stringifyDescriptor(r),currentResolution:d.stringifyLocator(A),updatedResolution:d.stringifyLocator(i)}),e.storedResolutions.set(r.descriptorHash,i.locatorHash)}).finally(()=>l.tick()))),p){case 0:h="No packages";break;case 1:h="One package";break;default:h=p+" packages"}const C=B.pretty(o,t,B.Type.CODE);return n.reportInfo(u.b.UNNAMED,`${h} can be deduped using the ${C} strategy`),p})}(t,{strategy:this.strategy,patterns:this.patterns,cache:r,report:e})});if(n.hasErrors())return n.exitCode();if(this.check)return A?1:0;return(await p.Pk.start({configuration:e,stdout:this.context.stdout,json:this.json},async e=>{await t.install({cache:r,report:e})})).exitCode()}}te.schema=X.object().shape({strategy:X.string().test({name:"strategy",message:"${path} must be one of ${strategies}",params:{strategies:[...$].join(", ")},test:e=>$.has(e)})}),te.usage=C.Command.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]}),(0,a.gn)([C.Command.Rest()],te.prototype,"patterns",void 0),(0,a.gn)([C.Command.String("-s,--strategy",{description:"The strategy to use when deduping dependencies"})],te.prototype,"strategy",void 0),(0,a.gn)([C.Command.Boolean("-c,--check",{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"})],te.prototype,"check",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],te.prototype,"json",void 0),(0,a.gn)([C.Command.Path("dedupe")],te.prototype,"execute",null);class re extends C.Command{async execute(){const{plugins:e}=await s.VK.find(this.context.cwd,this.context.plugins),t=[];for(const r of e){const{commands:e}=r[1];if(e){const A=C.Cli.from(e).definitions();t.push([r[0],A])}}const A=this.cli.definitions(),n=r(60306)["@yarnpkg/builder"].bundles.standard;for(const e of t){const t=e[1];for(const r of t)A.find(e=>{return t=e.path,A=r.path,t.split(" ").slice(1).join()===A.split(" ").slice(1).join();var t,A}).plugin={name:e[0],isDefault:n.includes(e[0])}}this.context.stdout.write(JSON.stringify({commands:A},null,2)+"\n")}}(0,a.gn)([C.Command.Path("--clipanion=definitions")],re.prototype,"execute",null);class Ae extends C.Command{async execute(){this.context.stdout.write(this.cli.usage(null))}}(0,a.gn)([C.Command.Path("help"),C.Command.Path("--help"),C.Command.Path("-h")],Ae.prototype,"execute",null);class ne extends C.Command{constructor(){super(...arguments),this.args=[]}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!d.tryParseIdent(this.leadingArgument)){const e=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}return await this.cli.run(["run",this.leadingArgument,...this.args])}}(0,a.gn)([C.Command.String()],ne.prototype,"leadingArgument",void 0),(0,a.gn)([C.Command.Proxy()],ne.prototype,"args",void 0);var oe=r(59355);class ie extends C.Command{async execute(){this.context.stdout.write((oe.o||"")+"\n")}}(0,a.gn)([C.Command.Path("-v"),C.Command.Path("--version")],ie.prototype,"execute",null);var se=r(6220);class ae extends c.BaseCommand{constructor(){super(...arguments),this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return await y.xfs.mktempPromise(async e=>{const{code:r}=await se.pipevp(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await R.makeScriptEnv({project:t,binFolder:e})});return r})}}ae.usage=C.Command.Usage({description:"execute a shell command",details:"\n This command simply executes a shell binary within the context of the root directory of the active workspace.\n\n It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n ",examples:[["Execute a shell command","$0 exec echo Hello World"]]}),(0,a.gn)([C.Command.String()],ae.prototype,"commandName",void 0),(0,a.gn)([C.Command.Proxy()],ae.prototype,"args",void 0),(0,a.gn)([C.Command.Path("exec")],ae.prototype,"execute",null);var ce=r(36545);class ge extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);if(await t.applyLightResolution(),void 0!==this.hash)return await async function(e,t,r){const{configuration:A}=t,n=t.peerRequirements.get(e);if(void 0===n)throw new Error(`No peerDependency requirements found for hash: "${e}"`);return(await p.Pk.start({configuration:A,stdout:r.stdout,includeFooter:!1},async e=>{var r,o;const i=t.storedPackages.get(n.subject);if(void 0===i)throw new Error("Assertion failed: Expected the subject package to have been registered");const s=t.storedPackages.get(n.rootRequester);if(void 0===s)throw new Error("Assertion failed: Expected the root package to have been registered");const a=null!==(r=i.dependencies.get(n.requested.identHash))&&void 0!==r?r:null,c=null!==a?t.storedResolutions.get(a.descriptorHash):null;if(void 0===c)throw new Error("Assertion failed: Expected the resolution to have been registered");const g=null!==c?t.storedPackages.get(c):null;if(void 0===g)throw new Error("Assertion failed: Expected the provided package to have been registered");const l=[...n.allRequesters.values()].map(e=>{const r=t.storedPackages.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the package to be registered");const A=d.devirtualizeLocator(r),o=t.storedPackages.get(A.locatorHash);if(void 0===o)throw new Error("Assertion failed: Expected the package to be registered");const i=o.peerDependencies.get(n.requested.identHash);if(void 0===i)throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:r,peerDependency:i}});if(null!==g){const t=l.every(({peerDependency:e})=>ce.satisfiesWithPrereleases(g.version,e.range));e.reportInfo(u.b.UNNAMED,`${d.prettyLocator(A,i)} provides ${d.prettyLocator(A,g)} with version ${d.prettyReference(A,null!==(o=g.version)&&void 0!==o?o:"")}, which ${t?"satisfies":"doesn't satisfy"} the following requirements:`)}else e.reportInfo(u.b.UNNAMED,`${d.prettyLocator(A,i)} doesn't provide ${d.prettyIdent(A,n.requested)}, breaking the following requirements:`);e.reportSeparator();const h=B.mark(A),p=[];for(const{pkg:e,peerDependency:t}of P.sortMap(l,e=>d.stringifyLocator(e.pkg))){const r=null!==g&&ce.satisfiesWithPrereleases(g.version,t.range)?h.Check:h.Cross;p.push({stringifiedLocator:d.stringifyLocator(e),prettyLocator:d.prettyLocator(A,e),prettyRange:d.prettyRange(A,t.range),mark:r})}const C=Math.max(...p.map(({stringifiedLocator:e})=>e.length)),f=Math.max(...p.map(({prettyRange:e})=>e.length));for(const{stringifiedLocator:t,prettyLocator:r,prettyRange:A,mark:n}of P.sortMap(p,({stringifiedLocator:e})=>e))e.reportInfo(null,`${r.padEnd(C+(r.length-t.length)," ")} → ${A.padEnd(f," ")} ${n}`);p.length>1&&(e.reportSeparator(),e.reportInfo(u.b.UNNAMED,"Note: these requirements start with "+d.prettyLocator(t.configuration,s)))})).exitCode()}(this.hash,t,{stdout:this.context.stdout});return(await p.Pk.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async r=>{var A;const n=[([,e])=>d.stringifyLocator(t.storedPackages.get(e.subject)),([,e])=>d.stringifyIdent(e.requested)];for(const[o,i]of P.sortMap(t.peerRequirements,n)){const n=t.storedPackages.get(i.subject);if(void 0===n)throw new Error("Assertion failed: Expected the subject package to have been registered");const s=t.storedPackages.get(i.rootRequester);if(void 0===s)throw new Error("Assertion failed: Expected the root package to have been registered");const a=null!==(A=n.dependencies.get(i.requested.identHash))&&void 0!==A?A:null,c=B.pretty(e,o,B.Type.CODE),g=d.prettyLocator(e,n),l=d.prettyIdent(e,i.requested),u=d.prettyIdent(e,s),h=i.allRequesters.length-1,p="descendant"+(1===h?"":"s"),C=h>0?` and ${h} ${p}`:"",f=null!==a?"provides":"doesn't provide";r.reportInfo(null,`${c} → ${g} ${f} ${l} to ${u}${C}`)}})).exitCode()}}ge.schema=X.object().shape({hash:X.string().matches(/^p[0-9a-f]{5}$/)}),ge.usage=C.Command.Usage({description:"explain a set of peer requirements",details:"\n A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.\n\n When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.\n\n When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.\n\n **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (`yarn explain peer-requirements`).\n ",examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]}),(0,a.gn)([C.Command.String({required:!1})],ge.prototype,"hash",void 0),(0,a.gn)([C.Command.Path("explain","peer-requirements")],ge.prototype,"execute",null);var le=r(85875);class ue extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.recursive=!1,this.extra=[],this.cache=!1,this.dependents=!1,this.manifest=!1,this.nameOnly=!1,this.virtuals=!1,this.json=!1,this.patterns=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r&&!this.all)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const n=new Set(this.extra);this.cache&&n.add("cache"),this.dependents&&n.add("dependents"),this.manifest&&n.add("manifest");const o=(e,{recursive:r})=>{const A=e.anchoredLocator.locatorHash,n=new Map,o=[A];for(;o.length>0;){const e=o.shift();if(n.has(e))continue;const i=t.storedPackages.get(e);if(void 0===i)throw new Error("Assertion failed: Expected the package to be registered");if(n.set(e,i),d.isVirtualLocator(i)&&o.push(d.devirtualizeLocator(i).locatorHash),r||e===A)for(const e of i.dependencies.values()){const r=t.storedResolutions.get(e.descriptorHash);if(void 0===r)throw new Error("Assertion failed: Expected the resolution to be registered");o.push(r)}}return n.values()},i=({all:e,recursive:A})=>e&&A?t.storedPackages.values():e?(({recursive:e})=>{const r=new Map;for(const A of t.workspaces)for(const t of o(A,{recursive:e}))r.set(t.locatorHash,t);return r.values()})({recursive:A}):o(r,{recursive:A}),{selection:a,sortedLookup:l}=(({all:e,recursive:t})=>{const r=i({all:e,recursive:t}),A=this.patterns.map(e=>{const t=d.parseLocator(e),r=Z().makeRe(d.stringifyIdent(t)),A=d.isVirtualLocator(t),n=A?d.devirtualizeLocator(t):t;return e=>{const o=d.stringifyIdent(e);if(!r.test(o))return!1;if("unknown"===t.reference)return!0;const i=d.isVirtualLocator(e),s=i?d.devirtualizeLocator(e):e;return(!A||!i||t.reference===e.reference)&&n.reference===s.reference}}),n=P.sortMap([...r],e=>d.stringifyLocator(e));return{selection:n.filter(e=>0===A.length||A.some(t=>t(e))),sortedLookup:n}})({all:this.all,recursive:this.recursive});if(0===a.length)throw new C.UsageError("No package matched your request");const u=new Map;if(this.dependents)for(const e of l)for(const r of e.dependencies.values()){const A=t.storedResolutions.get(r.descriptorHash);if(void 0===A)throw new Error("Assertion failed: Expected the resolution to be registered");P.getArrayWithDefault(u,A).push(e)}const p=new Map;for(const e of l){if(!d.isVirtualLocator(e))continue;const t=d.devirtualizeLocator(e);P.getArrayWithDefault(p,t.locatorHash).push(e)}const f={},m={children:f},w=e.makeFetcher(),Q={project:t,fetcher:w,cache:A,checksums:t.storedChecksums,report:new I.$,skipIntegrityCheck:!0},D=[async(e,t,r)=>{var A,n;if(!t.has("manifest"))return;const o=await w.fetch(e,Q);let i;try{i=await E.G.find(o.prefixPath,{baseFs:o.packageFs})}finally{null===(A=o.releaseFs)||void 0===A||A.call(o)}r("Manifest",{License:B.tuple(B.Type.NO_HINT,i.license),Homepage:B.tuple(B.Type.URL,null!==(n=i.raw.homepage)&&void 0!==n?n:null)})},async(e,r,n)=>{var o;if(!r.has("cache"))return;const i=null!==(o=t.storedChecksums.get(e.locatorHash))&&void 0!==o?o:null,s=A.getLocatorPath(e,i);let a;if(null!==s)try{a=y.xfs.statSync(s)}catch(e){}const c=void 0!==a?[a.size,B.Type.SIZE]:void 0;n("Cache",{Checksum:B.tuple(B.Type.NO_HINT,i),Path:B.tuple(B.Type.PATH,s),Size:c})}];for(const r of a){const A=d.isVirtualLocator(r);if(!this.virtuals&&A)continue;const o={},i={value:[r,B.Type.LOCATOR],children:o};if(f[d.stringifyLocator(r)]=i,this.nameOnly){delete i.children;continue}const s=p.get(r.locatorHash);void 0!==s&&(o.Instances={label:"Instances",value:B.tuple(B.Type.NUMBER,s.length)}),o.Version={label:"Version",value:B.tuple(B.Type.NO_HINT,r.version)};const a=(e,t)=>{const r={};if(o[e]=r,Array.isArray(t))r.children=t.map(e=>({value:e}));else{const e={};r.children=e;for(const[r,A]of Object.entries(t))void 0!==A&&(e[r]={label:r,value:A})}};if(!A){for(const e of D)await e(r,n,a);await e.triggerHook(e=>e.fetchPackageInfo,r,n,a)}r.bin.size>0&&!A&&a("Exported Binaries",[...r.bin.keys()].map(e=>B.tuple(B.Type.PATH,e)));const c=u.get(r.locatorHash);void 0!==c&&c.length>0&&a("Dependents",c.map(e=>B.tuple(B.Type.LOCATOR,e))),r.dependencies.size>0&&!A&&a("Dependencies",[...r.dependencies.values()].map(e=>{var r;const A=t.storedResolutions.get(e.descriptorHash),n=void 0!==A&&null!==(r=t.storedPackages.get(A))&&void 0!==r?r:null;return B.tuple(B.Type.RESOLUTION,{descriptor:e,locator:n})})),r.peerDependencies.size>0&&A&&a("Peer dependencies",[...r.peerDependencies.values()].map(e=>{var A,n;const o=r.dependencies.get(e.identHash),i=void 0!==o&&null!==(A=t.storedResolutions.get(o.descriptorHash))&&void 0!==A?A:null,s=null!==i&&null!==(n=t.storedPackages.get(i))&&void 0!==n?n:null;return B.tuple(B.Type.RESOLUTION,{descriptor:e,locator:s})}))}le.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}}ue.usage=C.Command.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]}),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Print versions of a package from the whole project"})],ue.prototype,"all",void 0),(0,a.gn)([C.Command.Boolean("-R,--recursive",{description:"Print information for all packages, including transitive dependencies"})],ue.prototype,"recursive",void 0),(0,a.gn)([C.Command.Array("-X,--extra",{description:"An array of requests of extra data provided by plugins"})],ue.prototype,"extra",void 0),(0,a.gn)([C.Command.Boolean("--cache",{description:"Print information about the cache entry of a package (path, size, checksum)"})],ue.prototype,"cache",void 0),(0,a.gn)([C.Command.Boolean("--dependents",{description:"Print all dependents for each matching package"})],ue.prototype,"dependents",void 0),(0,a.gn)([C.Command.Boolean("--manifest",{description:"Print data obtained by looking at the package archive (license, homepage, ...)"})],ue.prototype,"manifest",void 0),(0,a.gn)([C.Command.Boolean("--name-only",{description:"Only print the name for the matching packages"})],ue.prototype,"nameOnly",void 0),(0,a.gn)([C.Command.Boolean("--virtuals",{description:"Print each instance of the virtual packages"})],ue.prototype,"virtuals",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],ue.prototype,"json",void 0),(0,a.gn)([C.Command.Rest()],ue.prototype,"patterns",void 0),(0,a.gn)([C.Command.Path("info")],ue.prototype,"execute",null);var he=r(11640),pe=r(5864);class de extends c.BaseCommand{constructor(){super(...arguments),this.json=!1,this.checkCache=!1,this.skipBuilds=!1,this.silent=!1}async execute(){var e,t,r;const A=await s.VK.find(this.context.cwd,this.context.plugins);void 0!==this.inlineBuilds&&A.useWithSource("",{enableInlineBuilds:this.inlineBuilds},A.startingCwd,{overwrite:!0});const n=!!process.env.NOW_BUILDER,o=!!process.env.NETLIFY,i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(e,{error:t})=>{const r=await p.Pk.start({configuration:A,stdout:this.context.stdout,includeFooter:!1},async r=>{t?r.reportError(u.b.DEPRECATED_CLI_SETTINGS,e):r.reportWarning(u.b.DEPRECATED_CLI_SETTINGS,e)});return r.hasErrors()?r.exitCode():null};if(void 0!==this.ignoreEngines){const e=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!n});if(null!==e)return e}if(void 0!==this.registry){const e=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(null!==e)return e}if(void 0!==this.preferOffline){const e=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!n});if(null!==e)return e}if(void 0!==this.production){const e=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(null!==e)return e}if(void 0!==this.nonInteractive){const e=await a("The --non-interactive option is deprecated",{error:!i});if(null!==e)return e}if(void 0!==this.frozenLockfile){const e=await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!i&&!pe.TRAVIS});if(null!==e)return e}if(void 0!==this.cacheFolder){const e=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!o});if(null!==e)return e}const l=void 0===this.immutable&&void 0===this.frozenLockfile?null!==(e=A.get("enableImmutableInstalls"))&&void 0!==e&&e:null!==(r=null!==(t=this.immutable)&&void 0!==t?t:this.frozenLockfile)&&void 0!==r&&r;if(null!==A.projectCwd){const e=await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeFooter:!1},async e=>{await async function(e,t){if(!e.projectCwd)return!1;const r=m.y1.join(e.projectCwd,e.get("lockfileFilename"));if(!await y.xfs.existsPromise(r))return!1;const A=await y.xfs.readFilePromise(r,"utf8");if(!A.includes("<<<<<<<"))return!1;if(t)throw new V.lk(u.b.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");const[n,o]=function(e){const t=[[],[]],r=e.split(/\r?\n/g);let A=!1;for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith("<<<<<<<")){for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if("======="===e){A=!1;break}A||e.startsWith("|||||||")?A=!0:t[0].push(e)}for(;r.length>0;){const e=r.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith(">>>>>>>"))break;t[1].push(e)}}else t[0].push(e),t[1].push(e)}return[t[0].join("\n"),t[1].join("\n")]}(A);let i,s;try{i=(0,he.parseSyml)(n),s=(0,he.parseSyml)(o)}catch(e){throw new V.lk(u.b.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}const a={...i,...s};for(const[e,t]of Object.entries(a))"string"==typeof t&&delete a[e];return await y.xfs.changeFilePromise(r,(0,he.stringifySyml)(a),{automaticNewlines:!0}),!0}(A,l)&&(e.reportInfo(u.b.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts 👍"),e.reportSeparator())});if(e.hasErrors())return e.exitCode()}if(null!==A.projectCwd){const e=await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeFooter:!1},async e=>{var t;(null===(t=s.VK.telemetry)||void 0===t?void 0:t.isNew)&&(e.reportInfo(u.b.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),e.reportInfo(u.b.TELEMETRY_NOTICE,`Run ${B.pretty(A,"yarn config set --home enableTelemetry 0",B.Type.CODE)} to disable`),e.reportSeparator())});if(e.hasErrors())return e.exitCode()}const{project:d,workspace:C}=await h.I.find(A,this.context.cwd),f=await g.C.find(A,{immutable:this.immutableCache,check:this.checkCache});if(!C)throw new c.WorkspaceRequiredError(d.cwd,this.context.cwd);await d.restoreInstallState({restoreResolutions:!1});return(await p.Pk.start({configuration:A,json:this.json,stdout:this.context.stdout,includeLogs:!0},async e=>{await d.install({cache:f,report:e,immutable:l,skipBuild:this.skipBuilds})})).exitCode()}}de.usage=C.Command.Usage({description:"install the project dependencies",details:"\n This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where are stored the cache files).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.js file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.js file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set, Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePaths` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--skip-builds` option is set, Yarn will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],de.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"})],de.prototype,"immutable",void 0),(0,a.gn)([C.Command.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"})],de.prototype,"immutableCache",void 0),(0,a.gn)([C.Command.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"})],de.prototype,"checkCache",void 0),(0,a.gn)([C.Command.Boolean("--production",{hidden:!0})],de.prototype,"production",void 0),(0,a.gn)([C.Command.Boolean("--non-interactive",{hidden:!0})],de.prototype,"nonInteractive",void 0),(0,a.gn)([C.Command.Boolean("--frozen-lockfile",{hidden:!0})],de.prototype,"frozenLockfile",void 0),(0,a.gn)([C.Command.Boolean("--prefer-offline",{hidden:!0})],de.prototype,"preferOffline",void 0),(0,a.gn)([C.Command.Boolean("--ignore-engines",{hidden:!0})],de.prototype,"ignoreEngines",void 0),(0,a.gn)([C.Command.String("--registry",{hidden:!0})],de.prototype,"registry",void 0),(0,a.gn)([C.Command.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"})],de.prototype,"inlineBuilds",void 0),(0,a.gn)([C.Command.Boolean("--skip-builds",{description:"Skip the build step altogether"})],de.prototype,"skipBuilds",void 0),(0,a.gn)([C.Command.String("--cache-folder",{hidden:!0})],de.prototype,"cacheFolder",void 0),(0,a.gn)([C.Command.Boolean("--silent",{hidden:!0})],de.prototype,"silent",void 0),(0,a.gn)([C.Command.Path(),C.Command.Path("install")],de.prototype,"execute",null);class Ce extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.private=!1,this.relative=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.destination)),o=await s.VK.find(n,this.context.plugins),{project:i,workspace:a}=await h.I.find(o,n);if(!a)throw new c.WorkspaceRequiredError(i.cwd,n);const l=t.topLevelWorkspace,u=[];if(this.all){for(const e of i.workspaces)!e.manifest.name||e.manifest.private&&!this.private||u.push(e);if(0===u.length)throw new C.UsageError("No workspace found to be linked in the target project")}else{if(!a.manifest.name)throw new C.UsageError("The target workspace doesn't have a name and thus cannot be linked");if(a.manifest.private&&!this.private)throw new C.UsageError("The target workspace is marked private - use the --private flag to link it anyway");u.push(a)}for(const e of u){const r=d.stringifyIdent(e.locator),A=this.relative?m.y1.relative(t.cwd,e.cwd):e.cwd;l.manifest.resolutions.push({pattern:{descriptor:{fullName:r}},reference:"portal:"+A})}return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ce.usage=C.Command.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n\n There is no `yarn unlink` command. To unlink the workspaces from the current project one must revert the changes made to the `resolutions` field.\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]}),(0,a.gn)([C.Command.String()],Ce.prototype,"destination",void 0),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Link all workspaces belonging to the target project to the current one"})],Ce.prototype,"all",void 0),(0,a.gn)([C.Command.Boolean("-p,--private",{description:"Also link private workspaces belonging to the target project to the current one"})],Ce.prototype,"private",void 0),(0,a.gn)([C.Command.Boolean("-r,--relative",{description:"Link workspaces using relative paths instead of absolute paths"})],Ce.prototype,"relative",void 0),(0,a.gn)([C.Command.Path("link")],Ce.prototype,"execute",null);class fe extends c.BaseCommand{constructor(){super(...arguments),this.args=[]}async execute(){return this.cli.run(["exec","node",...this.args])}}fe.usage=C.Command.Usage({description:"run node with the hook already setup",details:"\n This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n ",examples:[["Run a Node script","$0 node ./my-script.js"]]}),(0,a.gn)([C.Command.Proxy()],fe.prototype,"args",void 0),(0,a.gn)([C.Command.Path("node")],fe.prototype,"execute",null);var Ie=r(20624),Ee=r(12087),Be=r(85622),ye=r.n(Be),me=r(79669);class we extends c.BaseCommand{constructor(){super(...arguments),this.onlyIfNeeded=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let t;if("latest"===this.version||"berry"===this.version)t="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if("classic"===this.version)t="https://nightly.yarnpkg.com/latest.js";else if(ce.satisfiesWithPrereleases(this.version,">=2.0.0"))t=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else{if(!ce.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))throw Q().validRange(this.version)?new C.UsageError("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new C.UsageError(`Invalid version descriptor "${this.version}"`);t=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`}return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{r.reportInfo(u.b.UNNAMED,"Downloading "+B.pretty(e,t,"green"));const A=await me.get(t,{configuration:e});await Qe(e,null,A,{report:r})})).exitCode()}}async function Qe(e,t,r,{report:A}){const n=e.projectCwd?e.projectCwd:e.startingCwd;null===t&&await y.xfs.mktempPromise(async e=>{const A=m.y1.join(e,"yarn.cjs");await y.xfs.writeFilePromise(A,r);const{stdout:o}=await se.execvp(process.execPath,[m.cS.fromPortablePath(A),"--version"],{cwd:n,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(t=o.trim(),!Q().valid(t))throw new Error("Invalid semver version")});const o=m.y1.resolve(n,".yarn/releases"),i=m.y1.resolve(o,`yarn-${t}.cjs`),a=m.y1.relative(e.startingCwd,i),c=m.y1.relative(n,i),g=e.get("yarnPath"),l=null===g||g.startsWith(o+"/");A.reportInfo(u.b.UNNAMED,"Saving the new release in "+B.pretty(e,a,"magenta")),await y.xfs.removePromise(m.y1.dirname(i)),await y.xfs.mkdirPromise(m.y1.dirname(i),{recursive:!0}),await y.xfs.writeFilePromise(i,r),await y.xfs.chmodPromise(i,493),l&&await s.VK.updateConfiguration(n,{yarnPath:c})}we.usage=C.Command.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]}),(0,a.gn)([C.Command.Boolean("--only-if-needed",{description:"Only lock the Yarn version if it isn't already locked"})],we.prototype,"onlyIfNeeded",void 0),(0,a.gn)([C.Command.String()],we.prototype,"version",void 0),(0,a.gn)([C.Command.Path("policies","set-version"),C.Command.Path("set","version")],we.prototype,"execute",null);const De=/^[0-9]+$/;function be(e){return De.test(e)?`pull/${e}/head`:e}class ve extends c.BaseCommand{constructor(){super(...arguments),this.repository="https://github.com/yarnpkg/berry.git",this.branch="master",this.plugins=[],this.noMinify=!1,this.force=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=void 0!==this.installPath?m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.installPath)):m.y1.resolve(m.cS.toPortablePath((0,Ee.tmpdir)()),"yarnpkg-sources",Ie.makeHash(this.repository).slice(0,6));return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{await ke(this,{configuration:e,report:r,target:t}),r.reportSeparator(),r.reportInfo(u.b.UNNAMED,"Building a fresh bundle"),r.reportSeparator(),await Se((({plugins:e,noMinify:t},r)=>[["yarn","build:cli",...(new Array).concat(...e.map(e=>["--plugin",ye().resolve(r,e)])),...t?["--no-minify"]:[],"|"]])(this,t),{configuration:e,context:this.context,target:t}),r.reportSeparator();const A=m.y1.resolve(t,"packages/yarnpkg-cli/bundles/yarn.js"),n=await y.xfs.readFilePromise(A);await Qe(e,"sources",n,{report:r})})).exitCode()}}async function Se(e,{configuration:t,context:r,target:A}){for(const[n,...o]of e){const e="|"===o[o.length-1];if(e&&o.pop(),e)await se.pipevp(n,o,{cwd:A,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(B.pretty(t," $ "+[n,...o].join(" "),"grey")+"\n");try{await se.execvp(n,o,{cwd:A,strict:!0})}catch(e){throw r.stdout.write(e.stdout||e.stack),e}}}}async function ke(e,{configuration:t,report:r,target:A}){let n=!1;if(!e.force&&y.xfs.existsSync(m.y1.join(A,".git"))){r.reportInfo(u.b.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Se((({branch:e})=>[["git","fetch","origin",be(e),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]])(e),{configuration:t,context:e.context,target:A}),n=!0}catch(e){r.reportSeparator(),r.reportWarning(u.b.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(u.b.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await y.xfs.removePromise(A),await y.xfs.mkdirPromise(A,{recursive:!0}),await Se((({repository:e,branch:t},r)=>[["git","init",m.cS.fromPortablePath(r)],["git","remote","add","origin",e],["git","fetch","origin",be(t)],["git","reset","--hard","FETCH_HEAD"]])(e,A),{configuration:t,context:e.context,target:A}))}ve.usage=C.Command.Usage({description:"build Yarn from master",details:"\n This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n ",examples:[["Build Yarn from master","$0 set version from sources"]]}),(0,a.gn)([C.Command.String("--path",{description:"The path where the repository should be cloned to"})],ve.prototype,"installPath",void 0),(0,a.gn)([C.Command.String("--repository",{description:"The repository that should be cloned"})],ve.prototype,"repository",void 0),(0,a.gn)([C.Command.String("--branch",{description:"The branch of the repository that should be cloned"})],ve.prototype,"branch",void 0),(0,a.gn)([C.Command.Array("--plugin",{description:"An array of additional plugins that should be included in the bundle"})],ve.prototype,"plugins",void 0),(0,a.gn)([C.Command.Boolean("--no-minify",{description:"Build a bundle for development (debugging) - non-minified and non-mangled"})],ve.prototype,"noMinify",void 0),(0,a.gn)([C.Command.Boolean("-f,--force",{description:"Always clone the repository instead of trying to fetch the latest commits"})],ve.prototype,"force",void 0),(0,a.gn)([C.Command.Path("set","version","from","sources")],ve.prototype,"execute",null);var Ke=r(78835);const Fe=require("vm");async function Ne(e){const t=await me.get("https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml",{configuration:e});return(0,he.parseSyml)(t.toString())}class Me extends c.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{const r=await Ne(e);for(const[e,{experimental:A,...n}]of Object.entries(r)){let r=e;A&&(r+=" [experimental]"),t.reportJson({name:e,experimental:A,...n}),t.reportInfo(null,r)}})).exitCode()}}Me.usage=C.Command.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Me.prototype,"json",void 0),(0,a.gn)([C.Command.Path("plugin","list")],Me.prototype,"execute",null);class Re extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const{project:r}=await h.I.find(e,this.context.cwd);let A,n;if(this.name.match(/^\.{0,2}[\\/]/)||m.cS.isAbsolute(this.name)){const o=m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.name));t.reportInfo(u.b.UNNAMED,"Reading "+B.pretty(e,o,B.Type.PATH)),A=m.y1.relative(r.cwd,o),n=await y.xfs.readFilePromise(o)}else{let r;if(this.name.match(/^https?:/)){try{new Ke.URL(this.name)}catch(e){throw new V.lk(u.b.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}A=this.name,r=this.name}else{const t=d.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),n=d.stringifyIdent(t),o=await Ne(e);if(!Object.prototype.hasOwnProperty.call(o,n))throw new V.lk(u.b.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${n}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);A=n,r=o[n].url}t.reportInfo(u.b.UNNAMED,"Downloading "+B.pretty(e,r,"green")),n=await me.get(r,{configuration:e})}await xe(A,n,{project:r,report:t})})).exitCode()}}async function xe(e,t,{project:r,report:A}){const{configuration:n}=r,o={},i={exports:o};(0,Fe.runInNewContext)(t.toString(),{module:i,exports:o});const a=i.exports.name,c=`.yarn/plugins/${a}.cjs`,g=m.y1.resolve(r.cwd,c);A.reportInfo(u.b.UNNAMED,"Saving the new plugin in "+B.pretty(n,c,"magenta")),await y.xfs.mkdirPromise(m.y1.dirname(g),{recursive:!0}),await y.xfs.writeFilePromise(g,t);const l={path:c,spec:e};await s.VK.updateConfiguration(r.cwd,e=>{const t=[];let A=!1;for(const n of e.plugins||[]){const e="string"!=typeof n?n.path:n,o=m.y1.resolve(r.cwd,m.cS.toPortablePath(e)),{name:i}=P.dynamicRequire(m.cS.fromPortablePath(o));i!==a?t.push(n):(t.push(l),A=!0)}return A||t.push(l),{...e,plugins:t}})}Re.usage=C.Command.Usage({category:"Plugin-related commands",description:"download a plugin",details:"\n This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n Three types of plugin references are accepted:\n\n - If the plugin is stored within the Yarn repository, it can be referenced by name.\n - Third-party plugins can be referenced directly through their public urls.\n - Local plugins can be referenced by their path on the disk.\n\n Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the `@yarnpkg/builder` package).\n ",examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]}),(0,a.gn)([C.Command.String()],Re.prototype,"name",void 0),(0,a.gn)([C.Command.Path("plugin","import")],Re.prototype,"execute",null);class Le extends c.BaseCommand{constructor(){super(...arguments),this.repository="https://github.com/yarnpkg/berry.git",this.branch="master",this.noMinify=!1,this.force=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),t=void 0!==this.installPath?m.y1.resolve(this.context.cwd,m.cS.toPortablePath(this.installPath)):m.y1.resolve(m.cS.toPortablePath((0,Ee.tmpdir)()),"yarnpkg-sources",Ie.makeHash(this.repository).slice(0,6));return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const{project:A}=await h.I.find(e,this.context.cwd),n=d.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),o=d.stringifyIdent(n),i=await Ne(e);if(!Object.prototype.hasOwnProperty.call(i,o))throw new V.lk(u.b.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${o}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);const s=o,a=s.replace(/@yarnpkg\//,"");await ke(this,{configuration:e,report:r,target:t}),r.reportSeparator(),r.reportInfo(u.b.UNNAMED,"Building a fresh "+a),r.reportSeparator(),await Se((({pluginName:e,noMinify:t},r)=>[["yarn","build:"+e,...t?["--no-minify"]:[],"|"]])({pluginName:a,noMinify:this.noMinify}),{configuration:e,context:this.context,target:t}),r.reportSeparator();const c=m.y1.resolve(t,`packages/${a}/bundles/${s}.js`),g=await y.xfs.readFilePromise(c);await xe(s,g,{project:A,report:r})})).exitCode()}}Le.usage=C.Command.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:"\n This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.\n\n The plugins can be referenced by their short name if sourced from the official Yarn repository.\n ",examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]}),(0,a.gn)([C.Command.String()],Le.prototype,"name",void 0),(0,a.gn)([C.Command.String("--path",{description:"The path where the repository should be cloned to"})],Le.prototype,"installPath",void 0),(0,a.gn)([C.Command.String("--repository",{description:"The repository that should be cloned"})],Le.prototype,"repository",void 0),(0,a.gn)([C.Command.String("--branch",{description:"The branch of the repository that should be cloned"})],Le.prototype,"branch",void 0),(0,a.gn)([C.Command.Boolean("--no-minify",{description:"Build a plugin for development (debugging) - non-minified and non-mangled"})],Le.prototype,"noMinify",void 0),(0,a.gn)([C.Command.Boolean("-f,--force",{description:"Always clone the repository instead of trying to fetch the latest commits"})],Le.prototype,"force",void 0),(0,a.gn)([C.Command.Path("plugin","import","from","sources")],Le.prototype,"execute",null);class Pe extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const A=this.name,n=d.parseIdent(A);if(!e.plugins.has(A))throw new C.UsageError(d.prettyIdent(e,n)+" isn't referenced by the current configuration");const o=`.yarn/plugins/${A}.cjs`,i=m.y1.resolve(t.cwd,o);y.xfs.existsSync(i)&&(r.reportInfo(u.b.UNNAMED,`Removing ${B.pretty(e,o,B.Type.PATH)}...`),await y.xfs.removePromise(i)),r.reportInfo(u.b.UNNAMED,"Updating the configuration..."),await s.VK.updateConfiguration(t.cwd,e=>{if(!Array.isArray(e.plugins))return e;const t=e.plugins.filter(e=>e.path!==o);return e.plugins.length===t.length?e:{...e,plugins:t}})})).exitCode()}}Pe.usage=C.Command.Usage({category:"Plugin-related commands",description:"remove a plugin",details:"\n This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.\n\n **Note:** The plugins have to be referenced by their name property, which can be obtained using the `yarn plugin runtime` command. Shorthands are not allowed.\n ",examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]}),(0,a.gn)([C.Command.String()],Pe.prototype,"name",void 0),(0,a.gn)([C.Command.Path("plugin","remove")],Pe.prototype,"execute",null);class Oe extends c.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{for(const r of e.plugins.keys()){const e=this.context.plugins.plugins.has(r);let A=r;e&&(A+=" [builtin]"),t.reportJson({name:r,builtin:e}),t.reportInfo(null,""+A)}})).exitCode()}}Oe.usage=C.Command.Usage({category:"Plugin-related commands",description:"list the active plugins",details:"\n This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n ",examples:[["List the currently active plugins","$0 plugin runtime"]]}),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Oe.prototype,"json",void 0),(0,a.gn)([C.Command.Path("plugin","runtime")],Oe.prototype,"execute",null);class Ue extends c.BaseCommand{constructor(){super(...arguments),this.idents=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=new Set;for(const e of this.idents)n.add(d.parseIdent(e).identHash);await t.resolveEverything({cache:A,report:new I.$});const o=e.get("bstatePath"),i=y.xfs.existsSync(o)?(0,he.parseSyml)(await y.xfs.readFilePromise(o,"utf8")):{},a=new Map;for(const e of t.storedPackages.values()){if(!Object.prototype.hasOwnProperty.call(i,e.locatorHash))continue;if(0===n.size||n.has(e.identHash))continue;const t=i[e.locatorHash];a.set(e.locatorHash,t)}if(a.size>0){const r=e.get("bstatePath"),A=h.I.generateBuildStateFile(a,t.storedPackages);await y.xfs.mkdirPromise(m.y1.dirname(r),{recursive:!0}),await y.xfs.changeFilePromise(r,A,{automaticNewlines:!0})}else await y.xfs.removePromise(o);return(await p.Pk.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ue.usage=C.Command.Usage({description:"rebuild the project's native packages",details:"\n This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n ",examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]}),(0,a.gn)([C.Command.Rest()],Ue.prototype,"idents",void 0),(0,a.gn)([C.Command.Path("rebuild")],Ue.prototype,"execute",null);class Te extends c.BaseCommand{constructor(){super(...arguments),this.all=!1,this.patterns=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState({restoreResolutions:!1});const o=this.all?t.workspaces:[r],i=[n.REGULAR,n.DEVELOPMENT,n.PEER],a=[];let l=!1;const u=[];for(const e of this.patterns){let t=!1;const r=d.parseIdent(e);for(const A of o){const n=[...A.manifest.peerDependenciesMeta.keys()];for(const r of Z()(n,e))A.manifest.peerDependenciesMeta.delete(r),l=!0,t=!0;for(const e of i){const n=A.manifest.getForScope(e),o=[...n.values()].map(e=>d.stringifyIdent(e));for(const i of Z()(o,d.stringifyIdent(r))){const{identHash:r}=d.parseIdent(i),o=n.get(r);if(void 0===o)throw new Error("Assertion failed: Expected the descriptor to be registered");A.manifest[e].delete(r),u.push([A,e,o]),l=!0,t=!0}}}t||a.push(e)}const f=a.length>1?"Patterns":"Pattern",I=a.length>1?"don't":"doesn't",E=this.all?"any":"this";if(a.length>0)throw new C.UsageError(`${f} ${B.prettyList(e,a,s.a5.CODE)} ${I} match any packages referenced by ${E} workspace`);if(l){await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyRemoval,u);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}return 0}}Te.usage=C.Command.Usage({description:"remove dependencies from the project",details:"\n This command will remove the packages matching the specified patterns from the current workspace.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n ",examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]}),(0,a.gn)([C.Command.Boolean("-A,--all",{description:"Apply the operation to all workspaces from the current project"})],Te.prototype,"all",void 0),(0,a.gn)([C.Command.Rest()],Te.prototype,"patterns",void 0),(0,a.gn)([C.Command.Path("remove")],Te.prototype,"execute",null);class je extends c.BaseCommand{async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const A=r.manifest.scripts,n=P.sortMap(A.keys(),e=>e),o={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},i=n.reduce((e,t)=>Math.max(e,t.length),0);for(const[e,r]of A.entries())t.reportInfo(null,`${e.padEnd(i," ")} ${(0,T.inspect)(r,o)}`)})).exitCode()}}(0,a.gn)([C.Command.Path("run")],je.prototype,"execute",null);class Ye extends c.BaseCommand{constructor(){super(...arguments),this.inspect=!1,this.inspectBrk=!1,this.topLevel=!1,this.binariesOnly=!1,this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r,locator:A}=await h.I.find(e,this.context.cwd);await t.restoreInstallState();const n=this.topLevel?t.topLevelWorkspace.anchoredLocator:A;if(!this.binariesOnly&&await R.hasPackageScript(n,this.scriptName,{project:t}))return await R.executePackageScript(n,this.scriptName,this.args,{project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if((await R.getPackageAccessibleBinaries(n,{project:t})).get(this.scriptName)){const e=[];return this.inspect&&("string"==typeof this.inspect?e.push("--inspect="+this.inspect):e.push("--inspect")),this.inspectBrk&&("string"==typeof this.inspectBrk?e.push("--inspect-brk="+this.inspectBrk):e.push("--inspect-brk")),await R.executePackageAccessibleBinary(n,this.scriptName,this.args,{cwd:this.context.cwd,project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:e})}if(!this.topLevel&&!this.binariesOnly&&r&&this.scriptName.includes(":")){const e=(await Promise.all(t.workspaces.map(async e=>e.manifest.scripts.has(this.scriptName)?e:null))).filter(e=>null!==e);if(1===e.length)return await R.executeWorkspaceScript(e[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw"node-gyp"===this.scriptName?new C.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${d.prettyLocator(e,A)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new C.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${d.prettyLocator(e,A)}).`);{if("global"===this.scriptName)throw new C.UsageError("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");const e=[this.scriptName].concat(this.args);for(const[t,r]of c.pluginCommands)for(const A of r)if(e.length>=A.length&&JSON.stringify(e.slice(0,A.length))===JSON.stringify(A))throw new C.UsageError(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${t} plugin. You can install it with "yarn plugin import ${t}".`);throw new C.UsageError(`Couldn't find a script named "${this.scriptName}".`)}}}Ye.usage=C.Command.Usage({description:"run a script defined in the package.json",details:"\n This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n - If the `scripts` field from your local package.json contains a matching script name, its definition will get executed.\n\n - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.\n\n - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n ",examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]}),(0,a.gn)([C.Command.String("--inspect",{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"})],Ye.prototype,"inspect",void 0),(0,a.gn)([C.Command.String("--inspect-brk",{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"})],Ye.prototype,"inspectBrk",void 0),(0,a.gn)([C.Command.Boolean("-T,--top-level",{hidden:!0})],Ye.prototype,"topLevel",void 0),(0,a.gn)([C.Command.Boolean("-B,--binaries-only",{hidden:!0})],Ye.prototype,"binariesOnly",void 0),(0,a.gn)([C.Command.Boolean("--silent",{hidden:!0})],Ye.prototype,"silent",void 0),(0,a.gn)([C.Command.String()],Ye.prototype,"scriptName",void 0),(0,a.gn)([C.Command.Proxy()],Ye.prototype,"args",void 0),(0,a.gn)([C.Command.Path("run")],Ye.prototype,"execute",null);class Ge extends c.BaseCommand{constructor(){super(...arguments),this.save=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd),A=await g.C.find(e);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const n=d.parseDescriptor(this.descriptor,!0),o=d.makeDescriptor(n,this.resolution);t.storedDescriptors.set(n.descriptorHash,n),t.storedDescriptors.set(o.descriptorHash,o),t.resolutionAliases.set(n.descriptorHash,o.descriptorHash);return(await p.Pk.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:A,report:e})})).exitCode()}}Ge.usage=C.Command.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]}),(0,a.gn)([C.Command.String()],Ge.prototype,"descriptor",void 0),(0,a.gn)([C.Command.String()],Ge.prototype,"resolution",void 0),(0,a.gn)([C.Command.Boolean("-s,--save",{description:"Persist the resolution inside the top-level manifest"})],Ge.prototype,"save",void 0),(0,a.gn)([C.Command.Path("set","resolution")],Ge.prototype,"execute",null);class He extends c.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.interactive=null,this.exact=!1,this.tilde=!1,this.caret=!1}async execute(){var e;const t=await s.VK.find(this.context.cwd,this.context.plugins),{project:r,workspace:A}=await h.I.find(t,this.context.cwd),o=await g.C.find(t);if(!A)throw new c.WorkspaceRequiredError(r.cwd,this.context.cwd);const a=null!==(e=this.interactive)&&void 0!==e?e:t.get("preferInteractive"),I=D(this,r),E=a?[i.KEEP,i.REUSE,i.PROJECT,i.LATEST]:[i.PROJECT,i.LATEST],y=[],m=[];for(const e of this.patterns){let t=!1;const A=d.parseDescriptor(e);for(const e of r.workspaces)for(const i of[n.REGULAR,n.DEVELOPMENT]){const n=[...e.manifest.getForScope(i).values()].map(e=>d.stringifyIdent(e));for(const s of Z()(n,d.stringifyIdent(A))){const n=d.parseIdent(s),a=e.manifest[i].get(n.identHash);if(void 0===a)throw new Error("Assertion failed: Expected the descriptor to be registered");const c=d.makeDescriptor(n,A.range);y.push(Promise.resolve().then(async()=>[e,i,a,await F(c,{project:r,workspace:e,cache:o,target:i,modifier:I,strategies:E})])),t=!0}}t||m.push(e)}if(m.length>1)throw new C.UsageError(`Patterns ${B.prettyList(t,m,s.a5.CODE)} don't match any packages referenced by any workspace`);if(m.length>0)throw new C.UsageError(`Pattern ${B.prettyList(t,m,s.a5.CODE)} doesn't match any packages referenced by any workspace`);const w=await Promise.all(y),Q=await l.h.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async e=>{for(const[,,A,{suggestions:n,rejections:o}]of w){const i=n.filter(e=>null!==e.descriptor);if(0===i.length){const[n]=o;if(void 0===n)throw new Error("Assertion failed: Expected an error to have been set");const i=this.cli.error(n);r.configuration.get("enableNetwork")?e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range\n\n${i}`):e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,`${d.prettyDescriptor(t,A)} can't be resolved to a satisfying range (note: network resolution has been disabled)\n\n${i}`)}else i.length>1&&!a&&e.reportError(u.b.CANT_SUGGEST_RESOLUTIONS,d.prettyDescriptor(t,A)+" has multiple possible upgrade strategies; use -i to disambiguate manually")}});if(Q.hasErrors())return Q.exitCode();let b=!1;const v=[];for(const[e,A,,{suggestions:n}]of w){let o;const i=n.filter(e=>null!==e.descriptor),s=i[0].descriptor,a=i.every(e=>d.areDescriptorsEqual(e.descriptor,s));1===i.length||a?o=s:(b=!0,({answer:o}=await(0,f.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${d.prettyWorkspace(t,e)} ❯ ${A}?`,choices:n.map(({descriptor:e,name:t,reason:r})=>e?{name:t,hint:r,descriptor:e}:{name:t,hint:r,disabled:!0}),onCancel:()=>process.exit(130),result(e){return this.find(e,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout})));const c=e.manifest[A].get(o.identHash);if(void 0===c)throw new Error("Assertion failed: This descriptor should have a matching entry");if(c.descriptorHash!==o.descriptorHash)e.manifest[A].set(o.identHash,o),v.push([e,A,c,o]);else{const A=t.makeResolver(),n={project:r,resolver:A},o=A.bindDescriptor(c,e.anchoredLocator,n);r.forgetResolution(o)}}await t.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,v),b&&this.context.stdout.write("\n");return(await p.Pk.start({configuration:t,stdout:this.context.stdout},async e=>{await r.install({cache:o,report:e})})).exitCode()}}He.usage=C.Command.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),(0,a.gn)([C.Command.Rest()],He.prototype,"patterns",void 0),(0,a.gn)([C.Command.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"})],He.prototype,"interactive",void 0),(0,a.gn)([C.Command.Boolean("-E,--exact",{description:"Don't use any semver modifier on the resolved range"})],He.prototype,"exact",void 0),(0,a.gn)([C.Command.Boolean("-T,--tilde",{description:"Use the `~` semver modifier on the resolved range"})],He.prototype,"tilde",void 0),(0,a.gn)([C.Command.Boolean("-C,--caret",{description:"Use the `^` semver modifier on the resolved range"})],He.prototype,"caret",void 0),(0,a.gn)([C.Command.Path("up")],He.prototype,"execute",null);class Je extends c.BaseCommand{constructor(){super(...arguments),this.recursive=!1,this.json=!1,this.peers=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const A=d.parseIdent(this.package).identHash,n=this.recursive?function(e,t,{configuration:r,peers:A}){const n=P.sortMap(e.workspaces,e=>d.stringifyLocator(e.anchoredLocator)),o=new Set,i=new Set,s=r=>{if(o.has(r.locatorHash))return i.has(r.locatorHash);if(o.add(r.locatorHash),r.identHash===t)return i.add(r.locatorHash),!0;let n=!1;r.identHash===t&&(n=!0);for(const t of r.dependencies.values()){if(!A&&r.peerDependencies.has(t.identHash))continue;const o=e.storedResolutions.get(t.descriptorHash);if(!o)throw new Error("Assertion failed: The resolution should have been registered");const i=e.storedPackages.get(o);if(!i)throw new Error("Assertion failed: The package should have been registered");s(i)&&(n=!0)}return n&&i.add(r.locatorHash),n};for(const t of n){const r=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!r)throw new Error("Assertion failed: The package should have been registered");s(r)}const a=new Set,c={},g={children:c},l=(t,r,n)=>{if(!i.has(t.locatorHash))return;const o={},s={value:null!==n?B.tuple(B.Type.DEPENDENT,{locator:t,descriptor:n}):B.tuple(B.Type.LOCATOR,t),children:o};if(r[d.stringifyLocator(t)]=s,!a.has(t.locatorHash)&&(a.add(t.locatorHash),null===n||!e.tryWorkspaceByLocator(t)))for(const r of t.dependencies.values()){if(!A&&t.peerDependencies.has(r.identHash))continue;const n=e.storedResolutions.get(r.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");const i=e.storedPackages.get(n);if(!i)throw new Error("Assertion failed: The package should have been registered");l(i,o,r)}};for(const t of n){const r=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!r)throw new Error("Assertion failed: The package should have been registered");l(r,c,null)}return g}(t,A,{configuration:e,peers:this.peers}):function(e,t,{configuration:r,peers:A}){const n=P.sortMap(e.storedPackages.values(),e=>d.stringifyLocator(e)),o={},i={children:o};for(const r of n){const n={},i=null;for(const s of r.dependencies.values()){if(!A&&r.peerDependencies.has(s.identHash))continue;const a=e.storedResolutions.get(s.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");const c=e.storedPackages.get(a);if(!c)throw new Error("Assertion failed: The package should have been registered");if(c.identHash!==t)continue;if(null===i){const e=d.stringifyLocator(r);o[e]={value:[r,B.Type.LOCATOR],children:n}}const g=d.stringifyLocator(c);n[g]={value:[{descriptor:s,locator:c},B.Type.DEPENDENT]}}}return i}(t,A,{configuration:e,peers:this.peers});le.emitTree(n,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}}Je.usage=C.Command.Usage({description:"display the reason why a package is needed",details:'\n This command prints the exact reasons why a package appears in the dependency tree.\n\n If `-R,--recursive` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.\n ',examples:[["Explain why lodash is used in your project","$0 why lodash"]]}),(0,a.gn)([C.Command.String()],Je.prototype,"package",void 0),(0,a.gn)([C.Command.Boolean("-R,--recursive",{description:"List, for each workspace, what are all the paths that lead to the dependency"})],Je.prototype,"recursive",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],Je.prototype,"json",void 0),(0,a.gn)([C.Command.Boolean("--peers",{description:"Also print the peer dependencies that match the specified name"})],Je.prototype,"peers",void 0),(0,a.gn)([C.Command.Path("why")],Je.prototype,"execute",null);class qe extends c.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t}=await h.I.find(e,this.context.cwd);return(await p.Pk.start({configuration:e,json:this.json,stdout:this.context.stdout},async e=>{for(const r of t.workspaces){const{manifest:A}=r;let n;if(this.verbose){const e=new Set,r=new Set;for(const n of E.G.hardDependencies)for(const[o,i]of A.getForScope(n)){const A=t.tryWorkspaceByDescriptor(i);null===A?t.workspacesByIdent.has(o)&&r.add(i):e.add(A)}n={workspaceDependencies:Array.from(e).map(e=>e.relativeCwd),mismatchedWorkspaceDependencies:Array.from(r).map(e=>d.stringifyDescriptor(e))}}e.reportInfo(null,""+r.relativeCwd),e.reportJson({location:r.relativeCwd,name:A.name?d.stringifyIdent(A.name):null,...n})}})).exitCode()}}qe.usage=C.Command.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "}),(0,a.gn)([C.Command.Boolean("-v,--verbose",{description:"Also return the cross-dependencies between workspaces"})],qe.prototype,"verbose",void 0),(0,a.gn)([C.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],qe.prototype,"json",void 0),(0,a.gn)([C.Command.Path("workspaces","list")],qe.prototype,"execute",null);class ze extends C.Command{constructor(){super(...arguments),this.args=[]}async execute(){const e=await s.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await h.I.find(e,this.context.cwd);if(!r)throw new c.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=t.workspaces,n=new Map(A.map(e=>{const t=d.convertToIdent(e.locator);return[d.stringifyIdent(t),e]})),o=n.get(this.workspaceName);if(void 0===o){const e=Array.from(n.keys()).sort();throw new C.UsageError(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n - ${e.join("\n - ")}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}}ze.usage=C.Command.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:"\n This command will run a given sub-command on a single workspace.\n ",examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]}),(0,a.gn)([C.Command.String()],ze.prototype,"workspaceName",void 0),(0,a.gn)([C.Command.String()],ze.prototype,"commandName",void 0),(0,a.gn)([C.Command.Proxy()],ze.prototype,"args",void 0),(0,a.gn)([C.Command.Path("workspace")],ze.prototype,"execute",null);const We={configuration:{enableImmutableInstalls:{description:"If true, prevents the install command from modifying the lockfile",type:s.a2.BOOLEAN,default:!1},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:s.a2.STRING,values:["^","~",""],default:o.CARET}},commands:[L,j,q,Ge,ve,we,qe,re,Ae,ne,ie,M,x,z,te,ae,ge,ue,de,Ce,fe,Le,Re,Pe,Me,Oe,Ue,Te,je,Ye,He,Je,ze]}},68023:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>E,fileUtils:()=>A});var A={};r.r(A),r.d(A,{makeArchiveFromLocator:()=>p,makeBufferFromLocator:()=>d,makeLocator:()=>h,makeSpec:()=>u,parseSpec:()=>l});var n=r(54143),o=r(46009);const i=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,s=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/;var a=r(73632),c=r(72785),g=r(75448);function l(e){const{params:t,selector:r}=n.parseRange(e),A=o.cS.toPortablePath(r);return{parentLocator:t&&"string"==typeof t.locator?n.parseLocator(t.locator):null,path:A}}function u({parentLocator:e,path:t,folderHash:r,protocol:A}){const o=null!==e?{locator:n.stringifyLocator(e)}:{},i=void 0!==r?{hash:r}:{};return n.makeRange({protocol:A,source:t,selector:t,params:{...i,...o}})}function h(e,{parentLocator:t,path:r,folderHash:A,protocol:o}){return n.makeLocator(e,u({parentLocator:t,path:r,folderHash:A,protocol:o}))}async function p(e,{protocol:t,fetchOptions:r,inMemory:A=!1}){const{parentLocator:i,path:s}=n.parseFileStyleRange(e.reference,{protocol:t}),l=o.y1.isAbsolute(s)?{packageFs:new g.M(o.LZ.root),prefixPath:o.LZ.dot,localPath:o.LZ.root}:await r.fetcher.fetch(i,r),u=l.localPath?{packageFs:new g.M(o.LZ.root),prefixPath:o.y1.relative(o.LZ.root,l.localPath)}:l;l!==u&&l.releaseFs&&l.releaseFs();const h=u.packageFs,p=o.y1.join(u.prefixPath,s);return await a.releaseAfterUseAsync(async()=>await c.makeArchiveFromDirectory(p,{baseFs:h,prefixPath:n.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:A}),u.releaseFs)}async function d(e,{protocol:t,fetchOptions:r}){return(await p(e,{protocol:t,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var C=r(20624),f=r(32485),I=r(46611);const E={fetchers:[class{supports(e,t){return!!s.test(e.reference)&&!!e.reference.startsWith("file:")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,n.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:o,prefixPath:n.getIdentVendorPath(e),checksum:i}}async fetchFromDisk(e,t){const{parentLocator:r,path:A}=n.parseFileStyleRange(e.reference,{protocol:"file:"}),i=o.y1.isAbsolute(A)?{packageFs:new g.M(o.LZ.root),prefixPath:o.LZ.dot,localPath:o.LZ.root}:await t.fetcher.fetch(r,t),s=i.localPath?{packageFs:new g.M(o.LZ.root),prefixPath:o.y1.relative(o.LZ.root,i.localPath)}:i;i!==s&&i.releaseFs&&i.releaseFs();const l=s.packageFs,u=o.y1.join(s.prefixPath,A),h=await l.readFilePromise(u);return await a.releaseAfterUseAsync(async()=>await c.convertToZip(h,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:n.getIdentVendorPath(e),stripComponents:1}),s.releaseFs)}},class{supports(e,t){return!!e.reference.startsWith("file:")}getLocalPath(e,t){const{parentLocator:r,path:A}=n.parseFileStyleRange(e.reference,{protocol:"file:"});if(o.y1.isAbsolute(A))return A;const i=t.fetcher.getLocalPath(r,t);return null===i?null:o.y1.resolve(i,A)}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,n.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:o,prefixPath:n.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:i}}async fetchFromDisk(e,t){return p(e,{protocol:"file:",fetchOptions:t})}}],resolvers:[class{supportsDescriptor(e,t){return!!s.test(e.range)&&(!!e.range.startsWith("file:")||!!i.test(e.range))}supportsLocator(e,t){return!!s.test(e.reference)&&!!e.reference.startsWith("file:")}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return i.test(e.range)&&(e=n.makeDescriptor(e,"file:"+e.range)),n.bindDescriptor(e,{locator:n.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){let A=e.range;return A.startsWith("file:")&&(A=A.slice("file:".length)),[n.makeLocator(e,"file:"+o.cS.toPortablePath(A))]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await a.releaseAfterUseAsync(async()=>await I.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:f.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}},class{supportsDescriptor(e,t){return!!e.range.match(i)||!!e.range.startsWith("file:")}supportsLocator(e,t){return!!e.reference.startsWith("file:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return i.test(e.range)&&(e=n.makeDescriptor(e,"file:"+e.range)),n.bindDescriptor(e,{locator:n.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const{path:A,parentLocator:o}=l(e.range);if(null===o)throw new Error("Assertion failed: The descriptor should have been bound");const i=await d(n.makeLocator(e,n.makeRange({protocol:"file:",source:A,selector:A,params:{locator:n.stringifyLocator(o)}})),{protocol:"file:",fetchOptions:r.fetchOptions});return[h(e,{parentLocator:o,path:A,folderHash:C.makeHash("1",i).slice(0,6),protocol:"file:"})]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await a.releaseAfterUseAsync(async()=>await I.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:f.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},75641:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>F,gitUtils:()=>A});var A={};r.r(A),r.d(A,{TreeishProtocols:()=>y,clone:()=>S,isGitUrl:()=>m,lsRemote:()=>b,normalizeLocator:()=>D,normalizeRepoUrl:()=>Q,resolveUrl:()=>v,splitRepoUrl:()=>w});var n=r(39922),o=r(54143),i=r(63088),s=r(73632),a=r(72785),c=r(43896),g=r(46009),l=r(79669),u=r(6220),h=r(71191),p=r.n(h),d=r(53887),C=r.n(d),f=r(78835),I=r.n(f);function E(){return{...process.env,GIT_SSH_COMMAND:"ssh -o BatchMode=yes"}}const B=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/];var y;function m(e){return!!e&&B.some(t=>!!e.match(t))}function w(e){const t=(e=Q(e)).indexOf("#");if(-1===t)return{repo:e,treeish:{protocol:y.Head,request:"master"},extra:{}};const r=e.slice(0,t),A=e.slice(t+1);if(A.match(/^[a-z]+=/)){const e=p().parse(A);for(const[t,r]of Object.entries(e))if("string"!=typeof r)throw new Error(`Assertion failed: The ${t} parameter must be a literal string`);const t=Object.values(y).find(t=>Object.prototype.hasOwnProperty.call(e,t));let n,o;void 0!==t?(n=t,o=e[t]):(n=y.Head,o="master");for(const t of Object.values(y))delete e[t];return{repo:r,treeish:{protocol:n,request:o},extra:e}}{const e=A.indexOf(":");let t,n;return-1===e?(t=null,n=A):(t=A.slice(0,e),n=A.slice(e+1)),{repo:r,treeish:{protocol:t,request:n},extra:{}}}}function Q(e,{git:t=!1}={}){var r;if(e=(e=(e=e.replace(/^git\+https:/,"https:")).replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3")).replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),t){let t;e=e.replace(/^git\+([^:]+):/,"$1:");try{t=I().parse(e)}catch(e){t=null}t&&"ssh:"===t.protocol&&(null===(r=t.path)||void 0===r?void 0:r.startsWith("/:"))&&(e=e.replace(/^ssh:\/\//,""))}return e}function D(e){return o.makeLocator(e,Q(e.reference))}async function b(e,t){const r=Q(e,{git:!0});if(!l.getNetworkSettings(r,{configuration:t}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let A;try{A=await u.execvp("git",["ls-remote","--refs",r],{cwd:t.startingCwd,env:E(),strict:!0})}catch(t){throw t.message=`Listing the refs for ${e} failed`,t}const n=new Map,o=/^([a-f0-9]{40})\t(refs\/[^\n]+)/gm;let i;for(;null!==(i=o.exec(A.stdout));)n.set(i[2],i[1]);return n}async function v(e,t){const{repo:r,treeish:{protocol:A,request:n},extra:o}=w(e),i=await b(r,t),s=(e,t)=>{switch(e){case y.Commit:if(!t.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return p().stringify({...o,commit:t});case y.Head:{const e=i.get("refs/heads/"+t);if(void 0===e)throw new Error(`Unknown head ("${t}")`);return p().stringify({...o,commit:e})}case y.Tag:{const e=i.get("refs/tags/"+t);if(void 0===e)throw new Error(`Unknown tag ("${t}")`);return p().stringify({...o,commit:e})}case y.Semver:{if(!C().validRange(t))throw new Error(`Invalid range ("${t}")`);const e=new Map([...i.entries()].filter(([e])=>e.startsWith("refs/tags/")).map(([e,t])=>[C().parse(e.slice(10)),t]).filter(e=>null!==e[0])),r=C().maxSatisfying([...e.keys()],t);if(null===r)throw new Error(`No matching range ("${t}")`);return p().stringify({...o,commit:e.get(r)})}case null:{let e;if(null!==(e=a(y.Commit,t)))return e;if(null!==(e=a(y.Tag,t)))return e;if(null!==(e=a(y.Head,t)))return e;throw t.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${e}")`)}},a=(e,t)=>{try{return s(e,t)}catch(e){return null}};return`${r}#${s(A,n)}`}async function S(e,t){return await t.getLimit("cloneConcurrency")(async()=>{const{repo:r,treeish:{protocol:A,request:n}}=w(e);if("commit"!==A)throw new Error("Invalid treeish protocol when cloning");const o=Q(r,{git:!0});if(!1===l.getNetworkSettings(o,{configuration:t}).enableNetwork)throw new Error(`Request to '${o}' has been blocked because of your configuration settings`);const i=await c.xfs.mktempPromise(),s={cwd:i,env:E(),strict:!0};try{await u.execvp("git",["clone","-c core.autocrlf=false",o,g.cS.fromPortablePath(i)],s),await u.execvp("git",["checkout",""+n],s)}catch(e){throw e.message="Repository clone failed: "+e.message,e}return i})}!function(e){e.Commit="commit",e.Head="head",e.Tag="tag",e.Semver="semver"}(y||(y={}));var k=r(32485),K=r(46611);const F={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:n.a2.NUMBER,default:2}},fetchers:[class{supports(e,t){return m(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,A=D(e),n=new Map(t.checksums);n.set(A.locatorHash,r);const i={...t,checksums:n},s=await this.downloadHosted(A,i);if(null!==s)return s;const[a,c,g]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,o.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote repository"),loader:()=>this.cloneFromRemote(A,i),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:a,releaseFs:c,prefixPath:o.getIdentVendorPath(e),checksum:g}}async downloadHosted(e,t){return t.project.configuration.reduceHook(e=>e.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){const r=await S(e.reference,t.project.configuration),A=w(e.reference),n=g.y1.join(r,"package.tgz");await i.prepareExternalProject(r,n,{configuration:t.project.configuration,report:t.report,workspace:A.extra.workspace});const l=await c.xfs.readFilePromise(n);return await s.releaseAfterUseAsync(async()=>await a.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:o.getIdentVendorPath(e),stripComponents:1}))}}],resolvers:[class{supportsDescriptor(e,t){return m(e.range)}supportsLocator(e,t){return m(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=await v(e.range,r.project.configuration);return[o.makeLocator(e,A)]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await s.releaseAfterUseAsync(async()=>await K.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:k.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},68126:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var A=r(54143),n=r(79669),o=r(72785),i=r(63088),s=r(43896),a=r(75448),c=r(46009),g=r(75641),l=r(71191),u=r.n(l);const h=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];class p{supports(e,t){return!(!(r=e.reference)||!h.some(e=>!!r.match(e)));var r}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[n,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,A.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from GitHub"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:n,releaseFs:o,prefixPath:A.getIdentVendorPath(e),checksum:i}}async fetchFromNetwork(e,t){const r=await n.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await s.xfs.mktempPromise(async n=>{const l=new a.M(n);await o.extractArchiveTo(r,l,{stripComponents:1});const u=g.gitUtils.splitRepoUrl(e.reference),h=c.y1.join(n,"package.tgz");await i.prepareExternalProject(n,h,{configuration:t.project.configuration,report:t.report,workspace:u.extra.workspace});const p=await s.xfs.readFilePromise(h);return await o.convertToZip(p,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){const{auth:r,username:A,reponame:n,treeish:o}=function(e){let t;for(const r of h)if(t=e.match(r),t)break;if(!t)throw new Error(`Input cannot be parsed as a valid GitHub URL ('${e}').`);let[,r,A,n,o="master"]=t;const{commit:i}=u().parse(o);return o=i||o.replace(/[^:]*:/,""),{auth:r,username:A,reponame:n,treeish:o}}(e.reference);return`https://${r?r+"@":""}github.com/${A}/${n}/archive/${o}.tar.gz`}}const d={hooks:{async fetchHostedRepository(e,t,r){if(null!==e)return e;const A=new p;if(!A.supports(t,r))return null;try{return await A.fetch(t,r)}catch(e){return null}}}}},99148:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>l});var A=r(54143),n=r(79669),o=r(72785);const i=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,s=/^https?:/;var a=r(46611),c=r(32485),g=r(73632);const l={fetchers:[class{supports(e,t){return!!i.test(e.reference)&&!!s.test(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[n,o,i]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,A.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote server"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:n,releaseFs:o,prefixPath:A.getIdentVendorPath(e),checksum:i}}async fetchFromNetwork(e,t){const r=await n.get(e.reference,{configuration:t.project.configuration});return await o.convertToZip(r,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.getIdentVendorPath(e),stripComponents:1})}}],resolvers:[class{supportsDescriptor(e,t){return!!i.test(e.range)&&!!s.test(e.range)}supportsLocator(e,t){return!!i.test(e.reference)&&!!s.test(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){return[A.convertDescriptorToLocator(e)]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await g.releaseAfterUseAsync(async()=>await a.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:c.Un.HARD,dependencies:A.dependencies,peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},64314:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>I});var A=r(39922),n=r(36370),o=r(25413),i=r(46611),s=r(85824),a=r(6220),c=r(63088),g=r(54143),l=r(43896),u=r(46009),h=r(40822),p=r(80305),d=r.n(p),C=r(31669);class f extends o.BaseCommand{constructor(){super(...arguments),this.usev2=!1,this.assumeFreshProject=!1,this.yes=!1,this.private=!1,this.workspace=!1,this.install=!1}async execute(){if(l.xfs.existsSync(u.y1.join(this.context.cwd,i.G.fileName)))throw new h.UsageError("A package.json already exists in the specified directory");const e=await A.VK.find(this.context.cwd,this.context.plugins),t=this.install?!0===this.install?"latest":this.install:null;return null!==t?await this.executeProxy(e,t):await this.executeRegular(e)}async executeProxy(e,t){if(null!==e.get("yarnPath"))throw new h.UsageError(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(null!==e.projectCwd)throw new h.UsageError("Cannot use the --install flag when the current directory is already part of a project");l.xfs.existsSync(this.context.cwd)||await l.xfs.mkdirPromise(this.context.cwd,{recursive:!0});const r=u.y1.join(this.context.cwd,e.get("lockfileFilename"));l.xfs.existsSync(r)||await l.xfs.writeFilePromise(r,"");const A=await this.cli.run(["set","version",t]);if(0!==A)return A;this.context.stdout.write("\n");const n=["--assume-fresh-project"];return this.private&&n.push("-p"),this.workspace&&n.push("-w"),this.yes&&n.push("-y"),await l.xfs.mktempPromise(async e=>{const{code:t}=await a.pipevp("yarn",["init",...n],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await c.makeScriptEnv({binFolder:e})});return t})}async executeRegular(e){let t=null;if(!this.assumeFreshProject)try{t=await s.I.find(e,this.context.cwd)}catch(e){t=null}l.xfs.existsSync(this.context.cwd)||await l.xfs.mkdirPromise(this.context.cwd,{recursive:!0});const r=new i.G,A=Object.fromEntries(e.get("initFields").entries());r.load(A),r.name=g.makeIdent(e.get("initScope"),u.y1.basename(this.context.cwd)),r.version=e.get("initVersion"),r.private=this.private||this.workspace,r.license=e.get("initLicense"),this.workspace&&(await l.xfs.mkdirPromise(u.y1.join(this.context.cwd,"packages"),{recursive:!0}),r.workspaceDefinitions=[{pattern:"packages/*"}]);const n={};r.exportTo(n),C.inspect.styles.name="cyan",this.context.stdout.write((0,C.inspect)(n,{depth:1/0,colors:!0,compact:!1})+"\n");const o=u.y1.join(this.context.cwd,i.G.fileName);await l.xfs.changeFilePromise(o,JSON.stringify(n,null,2)+"\n");const c=u.y1.join(this.context.cwd,"README.md");if(l.xfs.existsSync(c)||await l.xfs.writeFilePromise(c,`# ${g.stringifyIdent(r.name)}\n`),!t){const t=u.y1.join(this.context.cwd,u.QS.lockfile);await l.xfs.writeFilePromise(t,"");const r=["/.yarn/** linguist-vendored"].map(e=>e+"\n").join(""),A=u.y1.join(this.context.cwd,".gitattributes");l.xfs.existsSync(A)||await l.xfs.writeFilePromise(A,r);const n=["/.yarn/*","!/.yarn/releases","!/.yarn/plugins","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(e=>e+"\n").join(""),o=u.y1.join(this.context.cwd,".gitignore");l.xfs.existsSync(o)||await l.xfs.writeFilePromise(o,n);const i={"*":{endOfLine:"lf",insertFinalNewline:!0},"*.{js,json,.yml}":{charset:"utf-8",indentStyle:"space",indentSize:2}};d()(i,e.get("initEditorConfig"));let s="root = true\n";for(const[e,t]of Object.entries(i)){s+=`\n[${e}]\n`;for(const[e,r]of Object.entries(t)){s+=`${e.replace(/[A-Z]/g,e=>"_"+e.toLowerCase())} = ${r}\n`}}const c=u.y1.join(this.context.cwd,".editorconfig");l.xfs.existsSync(c)||await l.xfs.writeFilePromise(c,s),await a.execvp("git",["init"],{cwd:this.context.cwd})}}}f.usage=h.Command.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]}),(0,n.gn)([h.Command.Boolean("-2",{hidden:!0})],f.prototype,"usev2",void 0),(0,n.gn)([h.Command.Boolean("--assume-fresh-project",{hidden:!0})],f.prototype,"assumeFreshProject",void 0),(0,n.gn)([h.Command.Boolean("-y,--yes",{hidden:!0})],f.prototype,"yes",void 0),(0,n.gn)([h.Command.Boolean("-p,--private",{description:"Initialize a private package"})],f.prototype,"private",void 0),(0,n.gn)([h.Command.Boolean("-w,--workspace",{description:"Initialize a private workspace root with a `packages/` directory"})],f.prototype,"workspace",void 0),(0,n.gn)([h.Command.String("-i,--install",{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"})],f.prototype,"install",void 0),(0,n.gn)([h.Command.Path("init")],f.prototype,"execute",null);const I={configuration:{initLicense:{description:"License used when creating packages via the init command",type:A.a2.STRING,default:null},initScope:{description:"Scope used when creating packages via the init command",type:A.a2.STRING,default:null},initVersion:{description:"Version used when creating packages via the init command",type:A.a2.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:A.a2.MAP,valueDefinition:{description:"",type:A.a2.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:A.a2.MAP,valueDefinition:{description:"",type:A.a2.ANY}}},commands:[f]}},92994:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g});var A=r(54143),n=r(46009),o=r(75448),i=r(10489);var s=r(46611),a=r(32485),c=r(73632);const g={fetchers:[class{supports(e,t){return!!e.reference.startsWith("link:")}getLocalPath(e,t){const{parentLocator:r,path:o}=A.parseFileStyleRange(e.reference,{protocol:"link:"});if(n.y1.isAbsolute(o))return o;const i=t.fetcher.getLocalPath(r,t);return null===i?null:n.y1.resolve(i,o)}async fetch(e,t){const{parentLocator:r,path:s}=A.parseFileStyleRange(e.reference,{protocol:"link:"}),a=n.y1.isAbsolute(s)?{packageFs:new o.M(n.LZ.root),prefixPath:n.LZ.dot,localPath:n.LZ.root}:await t.fetcher.fetch(r,t),c=a.localPath?{packageFs:new o.M(n.LZ.root),prefixPath:n.y1.relative(n.LZ.root,a.localPath)}:a;a!==c&&a.releaseFs&&a.releaseFs();const g=c.packageFs,l=n.y1.join(c.prefixPath,s);return a.localPath?{packageFs:new o.M(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,discardFromLookup:!0,localPath:l}:{packageFs:new i.n(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,discardFromLookup:!0}}},class{supports(e,t){return!!e.reference.startsWith("portal:")}getLocalPath(e,t){const{parentLocator:r,path:o}=A.parseFileStyleRange(e.reference,{protocol:"portal:"});if(n.y1.isAbsolute(o))return o;const i=t.fetcher.getLocalPath(r,t);return null===i?null:n.y1.resolve(i,o)}async fetch(e,t){const{parentLocator:r,path:s}=A.parseFileStyleRange(e.reference,{protocol:"portal:"}),a=n.y1.isAbsolute(s)?{packageFs:new o.M(n.LZ.root),prefixPath:n.LZ.dot,localPath:n.LZ.root}:await t.fetcher.fetch(r,t),c=a.localPath?{packageFs:new o.M(n.LZ.root),prefixPath:n.y1.relative(n.LZ.root,a.localPath)}:a;a!==c&&a.releaseFs&&a.releaseFs();const g=c.packageFs,l=n.y1.join(c.prefixPath,s);return a.localPath?{packageFs:new o.M(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot,localPath:l}:{packageFs:new i.n(l,{baseFs:g}),releaseFs:c.releaseFs,prefixPath:n.LZ.dot}}}],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("link:")}supportsLocator(e,t){return!!e.reference.startsWith("link:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return A.bindDescriptor(e,{locator:A.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const o=e.range.slice("link:".length);return[A.makeLocator(e,"link:"+n.cS.toPortablePath(o))]}async getSatisfying(e,t,r){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:a.Un.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}},class{supportsDescriptor(e,t){return!!e.range.startsWith("portal:")}supportsLocator(e,t){return!!e.reference.startsWith("portal:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return A.bindDescriptor(e,{locator:A.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const o=e.range.slice("portal:".length);return[A.makeLocator(e,"portal:"+n.cS.toPortablePath(o))]}async getSatisfying(e,t,r){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const r=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),A=await c.releaseAfterUseAsync(async()=>await s.G.find(r.prefixPath,{baseFs:r.packageFs}),r.releaseFs);return{...e,version:A.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:a.Un.SOFT,dependencies:new Map([...A.dependencies,...A.devDependencies]),peerDependencies:A.peerDependencies,dependenciesMeta:A.dependenciesMeta,peerDependenciesMeta:A.peerDependenciesMeta,bin:A.bin}}}]}},8375:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>ne,getPnpPath:()=>Ae});var A,n=r(39922),o=r(46009),i=r(54143);!function(e){e[e.YES=0]="YES",e[e.NO=1]="NO",e[e.DEPENDS=2]="DEPENDS"}(A||(A={}));const s=(e,t)=>`${e}@${t}`,a=(e,t)=>{const r=t.indexOf("#"),A=r>=0?t.substring(r+1):t;return s(e,A)};var c;!function(e){e[e.NONE=-1]="NONE",e[e.PERF=0]="PERF",e[e.CHECK=1]="CHECK",e[e.REASONS=2]="REASONS",e[e.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"}(c||(c={}));const g=(e,t)=>{if(t.decoupled)return t;const{name:r,references:A,ident:n,locator:o,dependencies:i,originalDependencies:s,hoistedDependencies:a,peerNames:c,reasons:g,isHoistBorder:l}=t,u={name:r,references:new Set(A),ident:n,locator:o,dependencies:new Map(i),originalDependencies:new Map(s),hoistedDependencies:new Map(a),peerNames:new Set(c),reasons:new Map(g),decoupled:!0,isHoistBorder:l},h=u.dependencies.get(r);return h&&h.ident==u.ident&&u.dependencies.set(r,u),e.dependencies.set(u.name,u),u},l=e=>{const t=new Set,r=(A,n=new Set)=>{if(!n.has(A)){n.add(A);for(const o of A.peerNames)if(!e.peerNames.has(o)){const A=e.dependencies.get(o);A&&!t.has(A)&&r(A,n)}t.add(A)}};for(const t of e.dependencies.values())e.peerNames.has(t.name)||r(t);return t},u=(e,t,r,A,n=new Set)=>{const o=t[t.length-1];if(n.has(o))return;n.add(o);const i=((e,t)=>{const r=new Map([[e.name,[e.ident]]]);for(const t of e.dependencies.values())e.peerNames.has(t.name)||r.set(t.name,[t.ident]);const A=Array.from(t.keys());A.sort((e,r)=>{const A=t.get(e),n=t.get(r);return n.peerDependents.size!==A.peerDependents.size?n.peerDependents.size-A.peerDependents.size:n.dependents.size-A.dependents.size});for(const t of A){const A=t.substring(0,t.indexOf("@",1)),n=t.substring(A.length+1);if(!e.peerNames.has(A)){let e=r.get(A);e||(e=[],r.set(A,e)),e.indexOf(n)<0&&e.push(n)}}return r})(o,E(o)),s=new Map(Array.from(i.entries()).map(([e,t])=>[e,t[0]])),a=o===e?new Map:(e=>{const t=new Map,r=new Set,A=n=>{if(!r.has(n)){r.add(n);for(const r of n.hoistedDependencies.values())e.dependencies.has(r.name)||t.set(r.name,r);for(const e of n.dependencies.values())n.peerNames.has(e.name)||A(e)}};return A(e),t})(o);let c;do{p(e,t,r,a,s,i,A),c=!1;for(const[e,t]of i)t.length>1&&!o.dependencies.has(e)&&(s.delete(e),t.shift(),s.set(e,t[0]),c=!0)}while(c);for(const n of o.dependencies.values())o.peerNames.has(n.name)||r.has(n.locator)||(r.add(n.locator),u(e,[...t,n],r,A),r.delete(n.locator))},h=(e,t,r,n,o,i,{outputReason:s})=>{let a,c=null,g=new Set;s&&(a=""+Array.from(e).map(e=>B(e)).join("→"));const l=t[t.length-1],u=r.ident===l.ident,h=o.get(r.name);let p=h===r.ident&&!u;if(s&&!p&&h&&!u&&(c=`- filled by: ${B(i.get(r.name)[0])} at ${a}`),p){let e=!1;const A=n.get(r.name);if(e=!A||A.ident===r.ident,s&&!e&&(c=`- filled by: ${B(A.locator)} at ${a}`),e)for(let A=1;A=1;r--){const n=t[r];for(const o of A){if(n.peerNames.has(o)&&n.originalDependencies.has(o))continue;const i=n.dependencies.get(o);i&&(r===t.length-1?g.add(i):(g=null,e=!1,s&&(c=`- peer dependency ${B(i.locator)} from parent ${B(n.locator)} was not hoisted to ${a}`))),A.delete(o)}if(!e)break}p=e}return null!==g&&g.size>0?{isHoistable:A.DEPENDS,dependsOn:g,reason:c}:{isHoistable:p?A.YES:A.NO,reason:c}},p=(e,t,r,n,o,i,s)=>{const a=t[t.length-1],u=new Set,p=(t,C,I,E)=>{if(u.has(I))return;const m=[...C,I.locator],w=new Map,Q=new Map;for(const e of l(I)){let g=null;if(g||(g=h(r,[a,...t,I],e,n,o,i,{outputReason:s.debugLevel>=c.REASONS})),Q.set(e,g),g.isHoistable===A.DEPENDS)for(const t of g.dependsOn){const r=w.get(t.name)||new Set;r.add(e.name),w.set(t.name,r)}}const D=new Set,b=(e,t,r)=>{if(!D.has(e)){D.add(e),e.ident!==I.ident&&Q.set(e,{isHoistable:A.NO,reason:r});for(const A of w.get(e.name)||[])b(I.dependencies.get(A),t,r)}};let v;s.debugLevel>=c.REASONS&&(v=""+Array.from(r).map(e=>B(e)).join("→"));for(const[e,t]of Q)t.isHoistable===A.NO&&b(e,t,`- peer dependency ${B(e.locator)} from parent ${B(I.locator)} was not hoisted to ${v}`);for(const e of Q.keys())if(!D.has(e)){I.dependencies.delete(e.name),I.hoistedDependencies.set(e.name,e),I.reasons.delete(e.name);const t=a.dependencies.get(e.name);if(t)for(const r of e.references)t.references.add(r);else a.ident!==e.ident&&(a.dependencies.set(e.name,e),E.add(e))}if(s.check){const r=d(e);if(r)throw new Error(`${r}, after hoisting dependencies of ${[a,...t,I].map(e=>B(e.locator)).join("→")}:\n${y(e)}`)}const S=l(I);for(const e of S)if(D.has(e)&&m.indexOf(e.locator)<0){const r=Q.get(e);if(r.isHoistable!==A.YES&&I.reasons.set(e.name,r.reason),!e.isHoistBorder){u.add(I);const r=g(I,e);p([...t,I],[...C,I.locator],r,f),u.delete(I)}}};let C,f=new Set(l(a));do{C=f,f=new Set;for(const e of C){if(e.locator===a.locator||e.isHoistBorder)continue;const t=g(a,e);p([],Array.from(r),t,f)}}while(f.size>0)},d=e=>{const t=[],r=new Set,A=new Set,n=(e,o)=>{if(r.has(e))return;if(r.add(e),A.has(e))return;const i=new Map(o);for(const t of e.dependencies.values())e.peerNames.has(t.name)||i.set(t.name,t);for(const r of e.originalDependencies.values()){const n=i.get(r.name),s=()=>""+Array.from(A).concat([e]).map(e=>B(e.locator)).join("→");if(e.peerNames.has(r.name)){const e=o.get(r.name);e===n&&e&&e.ident===r.ident||t.push(`${s()} - broken peer promise: expected ${r.ident} but found ${e?e.ident:e}`)}else n?n.ident!==r.ident&&t.push(`${s()} - broken require promise for ${r.name}: expected ${r.ident}, but found: ${n.ident}`):t.push(`${s()} - broken require promise: no required dependency ${r.locator} found`)}A.add(e);for(const t of e.dependencies.values())e.peerNames.has(t.name)||n(t,i);A.delete(e)};return n(e,e.dependencies),t.join("\n")},C=(e,t)=>{const{identName:r,name:A,reference:n,peerNames:o}=e,i={name:A,references:new Set([n]),locator:s(r,n),ident:a(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(o),reasons:new Map,decoupled:!0,isHoistBorder:!0},c=new Map([[e,i]]),g=(e,r)=>{let A=c.get(e);const n=!!A;if(!A){const{name:n,identName:o,reference:i,peerNames:g}=e,l=t.hoistingLimits.get(r.locator);A={name:n,references:new Set([i]),locator:s(o,i),ident:a(o,i),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(g),reasons:new Map,decoupled:!0,isHoistBorder:!!l&&l.has(n)},c.set(e,A)}if(r.dependencies.set(e.name,A),r.originalDependencies.set(e.name,A),n){const e=new Set,t=r=>{if(!e.has(r)){e.add(r),r.decoupled=!1;for(const e of r.dependencies.values())r.peerNames.has(e.name)||t(e)}};t(A)}else for(const t of e.dependencies)g(t,A)};for(const t of e.dependencies)g(t,i);return i},f=e=>e.substring(0,e.indexOf("@",1)),I=e=>{const t={name:e.name,identName:f(e.locator),references:new Set(e.references),dependencies:new Set},r=new Set([e]),A=(e,t,n)=>{const o=r.has(e);let i;if(t===e)i=n;else{const{name:t,references:r,locator:A}=e;i={name:t,identName:f(A),references:r,dependencies:new Set}}if(n.dependencies.add(i),!o){r.add(e);for(const t of e.dependencies.values())e.peerNames.has(t.name)||A(t,e,i);r.delete(e)}};for(const r of e.dependencies.values())A(r,e,t);return t},E=e=>{const t=new Map,r=new Set([e]),A=e=>{const r=(e=>`${e.name}@${e.ident}`)(e);let A=t.get(r);return A||(A={dependents:new Set,peerDependents:new Set},t.set(r,A)),A},n=(e,t)=>{const o=!!r.has(t);if(A(t).dependents.add(e.ident),!o){r.add(t);for(const e of t.dependencies.values())if(t.peerNames.has(e.name)){A(e).peerDependents.add(t.ident)}else n(t,e)}};for(const t of e.dependencies.values())e.peerNames.has(t.name)||n(e,t);return t},B=e=>{const t=e.indexOf("@",1),r=e.substring(0,t),A=e.substring(t+1);if("workspace:."===A)return".";if(A){const e=(A.indexOf("#")>0?A.split("#")[1]:A).replace("npm:","");return A.startsWith("virtual")?`v:${r}@${e}`:`${r}@${e}`}return""+r},y=e=>{let t=0;const r=(e,A,n="")=>{if(t>5e4||A.has(e))return"";t++;const o=Array.from(e.dependencies.values());let i="";A.add(e);for(let t=0;t":"")+(c!==s.name?`a:${s.name}:`:"")+B(s.locator)+(a?" "+a:"")}\n`,i+=r(s,A,`${n}${t5e4?"\nTree is too large, part of the tree has been dunped\n":"")};var m,w;!function(e){e.HARD="HARD",e.SOFT="SOFT"}(m||(m={})),function(e){e.WORKSPACES="workspaces",e.DEPENDENCIES="dependencies",e.NONE="none"}(w||(w={}));const Q=(e,t)=>{const{packageTree:r,hoistingLimits:A}=b(e,t),n=((e,t={})=>{const r=t.debugLevel||Number(process.env.NM_DEBUG_LEVEL||c.NONE),A={check:t.check||r>=c.INTENSIVE_CHECK,debugLevel:r,hoistingLimits:t.hoistingLimits||new Map};A.debugLevel>=c.PERF&&console.time("hoist");const n=C(e,A);if(u(n,[n],new Set([n.locator]),A),A.debugLevel>=c.PERF&&console.timeEnd("hoist"),A.debugLevel>=c.CHECK){const e=d(n);if(e)throw new Error(`${e}, after hoisting finished:\n${y(n)}`)}return A.debugLevel>=c.REASONS&&console.log(y(n)),I(n)})(r,{hoistingLimits:A});return v(e,n,t)},D=e=>`${e.name}@${e.reference}`;const b=(e,t)=>{const r=e.getDependencyTreeRoots(),A=new Map,n=new Map,s=e.getPackageInformation(e.topLevel);if(null===s)throw new Error("Assertion failed: Expected the top-level package to have been registered");const a=e.findPackageLocator(s.packageLocation);if(null===a)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");const c=o.cS.toPortablePath(s.packageLocation),g=D(a);if(t.project){const e={children:new Map},r=t.project.cwd.split(o.y1.sep);for(const[A,n]of t.project.workspacesByCwd){const t=A.split(o.y1.sep).slice(r.length);let s=e;for(const e of t){let t=s.children.get(e);t||(t={children:new Map},s.children.set(e,t)),s=t}s.workspaceLocator={name:i.stringifyIdent(n.anchoredLocator),reference:n.anchoredLocator.reference}}const A=(e,t)=>{if(e.workspaceLocator){const r=D(t);let A=n.get(r);A||(A=new Set,n.set(r,A)),A.add(e.workspaceLocator)}for(const r of e.children.values())A(r,e.workspaceLocator||t)};for(const t of e.children.values())A(t,e.workspaceLocator)}else for(const e of r)if(e.name!==a.name||e.reference!==a.reference){let t=n.get(g);t||(t=new Set,n.set(g,t)),t.add(e)}const l={name:a.name,identName:a.name,reference:a.reference,peerNames:s.packagePeers,dependencies:new Set},u=new Map,h=(r,s,g,p,d,C,f)=>{var I,E;const B=((e,t)=>`${D(t)}:${e}`)(r,g);let y=u.get(B);const m=!!y;if(m||g.name!==a.name||g.reference!==a.reference||(y=l,u.set(B,l)),y||(y={name:r,identName:g.name,reference:g.reference,dependencies:new Set,peerNames:s.packagePeers},u.set(B,y)),f){const e=D({name:p.identName,reference:p.reference}),t=A.get(e)||new Set;A.set(e,t),t.add(y.name)}const Q=new Map(s.packageDependencies);if(t.project){const e=t.project.workspacesByCwd.get(o.cS.toPortablePath(s.packageLocation.slice(0,-1)));if(e){const t=new Set([...Array.from(e.manifest.peerDependencies.values(),e=>i.stringifyIdent(e)),...Array.from(e.manifest.peerDependenciesMeta.keys())]);for(const e of t)Q.has(e)||(Q.set(e,d.get(e)||null),y.peerNames.add(e))}}const b=D(g),v=n.get(b);if(v)for(const e of v)Q.set(e.name+"$wsroot$",e.reference);p.dependencies.add(y);const S=t.pnpifyFs||!function(e){let t=i.parseDescriptor(e);return i.isVirtualDescriptor(t)&&(t=i.devirtualizeDescriptor(t)),t.range.startsWith("portal:")}(B);if(!m&&S)for(const[r,A]of Q)if(null!==A){const n=e.getLocator(r,A),i=e.getLocator(r.replace("$wsroot$",""),A),s=e.getPackageInformation(i);if(null===s)throw new Error("Assertion failed: Expected the package to have been registered");const a=null===(I=t.hoistingLimitsByCwd)||void 0===I?void 0:I.get(C),g=o.y1.relative(c,o.cS.toPortablePath(s.packageLocation))||o.LZ.dot,l=null===(E=t.hoistingLimitsByCwd)||void 0===E?void 0:E.get(g),u=a===w.DEPENDENCIES||l===w.DEPENDENCIES||l===w.WORKSPACES;h(r,s,n,y,Q,g,u)}};return h(a.name,s,a,l,s.packageDependencies,o.LZ.dot,!1),{packageTree:l,hoistingLimits:A}};const v=(e,t,r)=>{const A=new Map,n=(t,A)=>{const{linkType:n,target:i}=function(e,t,r){const A=t.getLocator(e.name.replace("$wsroot$",""),e.reference),n=t.getPackageInformation(A);if(null===n)throw new Error("Assertion failed: Expected the package to be registered");let i,s;if(r.pnpifyFs)s=o.cS.toPortablePath(n.packageLocation),i=m.SOFT;else{const r=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(n.packageLocation):n.packageLocation;s=o.cS.toPortablePath(r||n.packageLocation),i=n.linkType}return{linkType:i,target:s}}(t,e,r);return{locator:D(t),target:i,linkType:n,aliases:A}},s=e=>{const[t,r]=e.split("/");return r?{scope:(0,o.Zu)(t),name:(0,o.Zu)(r)}:{scope:null,name:(0,o.Zu)(t)}},a=new Set,c=(e,t)=>{if(!a.has(e)){a.add(e);for(const r of e.dependencies){if(r===e||e.identName.endsWith("$wsroot$")&&r.identName===e.identName.replace("$wsroot$",""))continue;const a=Array.from(r.references).sort(),g={name:r.identName,reference:a[0]},{name:l,scope:u}=s(r.name),h=u?[u,l]:[l],p=o.y1.join(t,"node_modules"),d=o.y1.join(p,...h),C=n(g,a.slice(1));if(!r.name.endsWith("$wsroot$")){const e=A.get(d);if(e){if(e.dirList)throw new Error(`Assertion failed: ${d} cannot merge dir node with leaf node`);{const t=i.parseLocator(e.locator),r=i.parseLocator(C.locator);if(e.linkType!==C.linkType)throw new Error(`Assertion failed: ${d} cannot merge nodes with different link types`);if(t.identHash!==r.identHash)throw new Error(`Assertion failed: ${d} cannot merge nodes with different idents ${i.stringifyLocator(t)} and ${i.stringifyLocator(r)}`);C.aliases=[...C.aliases,...e.aliases,i.parseLocator(e.locator).reference]}}A.set(d,C);const t=d.split("/"),r=t.indexOf("node_modules");let n=t.length-1;for(;r>=0&&n>r;){const e=o.cS.toPortablePath(t.slice(0,n).join(o.y1.sep)),r=(0,o.Zu)(t[n]),i=A.get(e);if(i){if(i.dirList){if(i.dirList.has(r))break;i.dirList.add(r)}}else A.set(e,{dirList:new Set([r])});n--}}c(r,C.linkType===m.SOFT?C.target:d)}}},g=n({name:t.name,reference:Array.from(t.references)[0]},[]),l=g.target;return A.set(l,g),c(t,l),A};var S=r(92659),k=r(32485),K=r(73632),F=r(46611),N=r(35691),M=r(43896),R=r(17674),x=r(53660),L=r(65281),P=r(11640),O=r(83228),U=r(58069),T=r.n(U),j=r(40822),Y=r(35747),G=r.n(Y);const H="node_modules";class J{constructor(e){this.opts=e,this.localStore=new Map,this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,t){var r;const A=o.y1.resolve(t.packageFs.getRealPath(),t.prefixPath);let n=this.customData.store.get(e.locatorHash);if(void 0===n&&(n=await async function(e,t){var r;const A=null!==(r=await F.G.tryFind(t.prefixPath,{baseFs:t.packageFs}))&&void 0!==r?r:new F.G,n=new Set(["preinstall","install","postinstall"]);for(const e of A.scripts.keys())n.has(e)||A.scripts.delete(e);return{manifest:{bin:A.bin,os:A.os,cpu:A.cpu,scripts:A.scripts},misc:{extractHint:O.jsInstallUtils.getExtractHint(t),hasBindingGyp:O.jsInstallUtils.hasBindingGyp(t)}}}(0,t),e.linkType===k.Un.HARD&&this.customData.store.set(e.locatorHash,n)),!O.jsInstallUtils.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};const s=new Map,a=new Set;if(s.has(i.stringifyIdent(e))||s.set(i.stringifyIdent(e),e.reference),i.isVirtualLocator(e))for(const t of e.peerDependencies.values())s.set(i.stringifyIdent(t),null),a.add(i.stringifyIdent(t));const c={packageLocation:o.cS.fromPortablePath(A)+"/",packageDependencies:s,packagePeers:a,linkType:e.linkType,discardFromLookup:null!==(r=t.discardFromLookup)&&void 0!==r&&r};return this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:c}),{packageLocation:A,buildDirective:null}}async attachInternalDependencies(e,t){const r=this.localStore.get(e.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected information object to have been registered");for(const[e,A]of t){const t=i.areIdentsEqual(e,A)?A.reference:[i.requirableIdent(A),A.reference];r.pnpNode.packageDependencies.set(i.requirableIdent(e),t)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if("node-modules"!==this.opts.project.configuration.get("nodeLinker"))return;const e=new R.p({baseFs:new x.A({libzip:await(0,L.getLibzipPromise)(),maxOpenFiles:80,readOnlyArchives:!0})});let t=await q(this.opts.project);if(null===t){const e=this.opts.project.configuration.get("bstatePath");await M.xfs.existsPromise(e)&&await M.xfs.unlinkPromise(e),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map}}const r=new Map(this.opts.project.workspaces.map(e=>{var t,r;let A=this.opts.project.configuration.get("nmHoistingLimits");try{A=K.validateEnum(w,null!==(r=null===(t=e.manifest.installConfig)||void 0===t?void 0:t.hoistingLimits)&&void 0!==r?r:A)}catch(t){const r=i.prettyWorkspace(this.opts.project.configuration,e);this.opts.report.reportWarning(S.b.INVALID_MANIFEST,`${r}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(w).join(", ")}, using default: "${A}"`)}return[e.relativeCwd,A]})),A=(e=>{const t=new Map;for(const[r,A]of e.entries())if(!A.dirList){let e=t.get(A.locator);e||(e={target:A.target,linkType:A.linkType,locations:[],aliases:A.aliases},t.set(A.locator,e)),e.locations.push(r)}for(const e of t.values())e.locations=e.locations.sort((e,t)=>{const r=e.split(o.y1.delimiter).length,A=t.split(o.y1.delimiter).length;return r!==A?A-r:t.localeCompare(e)});return t})(Q({VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(e,t)=>Array.isArray(t)?{name:t[0],reference:t[1]}:{name:e,reference:t},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(e=>{const t=e.anchoredLocator;return{name:i.stringifyIdent(e.locator),reference:t.reference}}),getPackageInformation:e=>{const t=null===e.reference?this.opts.project.topLevelWorkspace.anchoredLocator:i.makeLocator(i.parseIdent(e.name),e.reference),r=this.localStore.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected the package reference to have been registered");return r.pnpNode},findPackageLocator:e=>{const t=this.opts.project.tryWorkspaceByCwd(o.cS.toPortablePath(e));if(null!==t){const e=t.anchoredLocator;return{name:i.stringifyIdent(e),reference:e.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:e=>o.cS.fromPortablePath(R.p.resolveVirtual(o.cS.toPortablePath(e)))},{pnpifyFs:!1,hoistingLimitsByCwd:r,project:this.opts.project}));await async function(e,t,{baseFs:r,project:A,report:n,loadManifest:s}){const a=o.y1.join(A.cwd,H),{locationTree:c,binSymlinks:g}=function(e,t){const r=new Map([...e]),A=new Map([...t]);for(const[t,r]of e){const e=o.y1.join(t,H);if(!M.xfs.existsSync(e)){r.children.delete(H);for(const t of A.keys())null!==o.y1.contains(e,t)&&A.delete(t)}}return{locationTree:r,binSymlinks:A}}(e.locationTree,e.binSymlinks),l=X(t,{skipPrefix:A.cwd}),u=[],h=async({srcDir:e,dstDir:t,linkType:A})=>{const n=(async()=>{try{A===k.Un.SOFT?(await M.xfs.mkdirPromise(o.y1.dirname(t),{recursive:!0}),await V(o.y1.resolve(e),t)):await _(t,e,{baseFs:r})}catch(r){throw r.message=`While persisting ${e} -> ${t} ${r.message}`,r}finally{I.tick()}})().then(()=>u.splice(u.indexOf(n),1));u.push(n),u.length>4&&await Promise.race(u)},p=async(e,t,r)=>{const A=(async()=>{const A=async(e,t,r)=>{try{r&&r.innerLoop||await M.xfs.mkdirPromise(t,{recursive:!0});const n=await M.xfs.readdirPromise(e,{withFileTypes:!0});for(const i of n){if(!(r&&r.innerLoop||".bin"!==i.name))continue;const n=o.y1.join(e,i.name),s=o.y1.join(t,i.name);i.isDirectory()?(i.name!==H||r&&r.innerLoop)&&(await M.xfs.mkdirPromise(s,{recursive:!0}),await A(n,s,{innerLoop:!0})):await M.xfs.copyFilePromise(n,s,G().constants.COPYFILE_FICLONE)}}catch(A){throw r&&r.innerLoop||(A.message=`While cloning ${e} -> ${t} ${A.message}`),A}finally{r&&r.innerLoop||I.tick()}};await A(e,t,r)})().then(()=>u.splice(u.indexOf(A),1));u.push(A),u.length>4&&await Promise.race(u)},d=async(e,t,r)=>{if(r)for(const[A,n]of t.children){const t=r.children.get(A);await d(o.y1.join(e,A),n,t)}else t.children.has(H)&&await z(o.y1.join(e,H),{contentsOnly:!1}),await z(e,{contentsOnly:e===a})};for(const[e,t]of c){const r=l.get(e);for(const[A,n]of t.children){if("."===A)continue;const t=r?r.children.get(A):r;await d(o.y1.join(e,A),n,t)}}const C=async(e,t,r)=>{if(r){$(t.locator,r.locator)||await z(e,{contentsOnly:t.linkType===k.Un.HARD});for(const[A,n]of t.children){const t=r.children.get(A);await C(o.y1.join(e,A),n,t)}}else t.children.has(H)&&await z(o.y1.join(e,H),{contentsOnly:!0}),await z(e,{contentsOnly:t.linkType===k.Un.HARD})};for(const[e,t]of l){const r=c.get(e);for(const[A,n]of t.children){if("."===A)continue;const t=r?r.children.get(A):r;await C(o.y1.join(e,A),n,t)}}const f=[];for(const[r,{locations:n}]of e.locatorMap.entries())for(const e of n){const{locationRoot:n,segments:i}=W(e,{skipPrefix:A.cwd});let s=l.get(n),a=n;if(s){for(const e of i)if(a=o.y1.join(a,e),s=s.children.get(e),!s)break;if(s&&!$(s.locator,r)){const e=t.get(s.locator),r=e.target,A=a,n=e.linkType;r!==A&&f.push({srcDir:r,dstDir:A,linkType:n})}}}for(const[e,{locations:r}]of t.entries())for(const n of r){const{locationRoot:r,segments:i}=W(n,{skipPrefix:A.cwd});let s=c.get(r),a=l.get(r),g=r;const u=t.get(e),h=u.target,p=n;if(h===p)continue;const d=u.linkType;for(const e of i)a=a.children.get(e);if(s){for(const e of i)if(g=o.y1.join(g,e),s=s.children.get(e),!s){f.push({srcDir:h,dstDir:p,linkType:d});break}}else f.push({srcDir:h,dstDir:p,linkType:d})}const I=N.yG.progressViaCounter(f.length),E=n.reportProgress(I);try{const e=new Map;for(const t of f)t.linkType!==k.Un.SOFT&&e.has(t.srcDir)||(e.set(t.srcDir,t.dstDir),await h({...t}));await Promise.all(u),u.length=0;for(const t of f){const r=e.get(t.srcDir);t.linkType!==k.Un.SOFT&&t.dstDir!==r&&await p(r,t.dstDir)}await Promise.all(u),await M.xfs.mkdirPromise(a,{recursive:!0});const r=await async function(e,t,r,{loadManifest:A}){const n=new Map;for(const[t,{locations:r}]of e){const e=Z(t)?null:await A(t,r[0]),i=new Map;if(e)for(const[t,A]of e.bin){const e=o.y1.join(r[0],A);""!==A&&M.xfs.existsSync(e)&&i.set(t,A)}n.set(t,i)}const i=new Map,s=(e,t,A)=>{const a=new Map,c=o.y1.contains(r,e);if(A.locator&&null!==c){const t=n.get(A.locator);for(const[r,A]of t){const t=o.y1.join(e,o.cS.toPortablePath(A));a.set((0,o.Zu)(r),t)}for(const[t,r]of A.children){const A=o.y1.join(e,t),n=s(A,A,r);n.size>0&&i.set(e,new Map([...i.get(e)||new Map,...n]))}}else for(const[r,n]of A.children){const A=s(o.y1.join(e,r),t,n);for(const[e,t]of A)a.set(e,t)}return a};for(const[e,r]of t){const t=s(e,e,r);t.size>0&&i.set(e,new Map([...i.get(e)||new Map,...t]))}return i}(t,l,A.cwd,{loadManifest:s});await async function(e,t){for(const r of e.keys())if(!t.has(r)){const e=o.y1.join(r,H,".bin");await M.xfs.removePromise(e)}for(const[r,A]of t){const t=o.y1.join(r,H,".bin"),n=e.get(r)||new Map;await M.xfs.mkdirPromise(t,{recursive:!0});for(const e of n.keys())A.has(e)||(await M.xfs.removePromise(o.y1.join(t,e)),"win32"===process.platform&&await M.xfs.removePromise(o.y1.join(t,(0,o.Zu)(e+".cmd"))));for(const[e,r]of A){const A=n.get(e),i=o.y1.join(t,e);A!==r&&("win32"===process.platform?await T()(o.cS.fromPortablePath(r),o.cS.fromPortablePath(i),{createPwshFile:!1}):(await M.xfs.removePromise(i),await V(r,i),await M.xfs.chmodPromise(r,493)))}}}(g,r),await async function(e,t,r){let A="";A+="# Warning: This file is automatically generated. Removing it is fine, but will\n",A+="# cause your node_modules installation to become invalidated.\n",A+="\n",A+="__metadata:\n",A+=" version: 1\n";const n=Array.from(t.keys()).sort(),s=i.stringifyLocator(e.topLevelWorkspace.anchoredLocator);for(const i of n){const n=t.get(i);A+="\n",A+=JSON.stringify(i)+":\n",A+=" locations:\n";for(const t of n.locations){const r=o.y1.contains(e.cwd,t);if(null===r)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);A+=` - ${JSON.stringify(r)}\n`}if(n.aliases.length>0){A+=" aliases:\n";for(const e of n.aliases)A+=` - ${JSON.stringify(e)}\n`}if(i===s&&r.size>0){A+=" bin:\n";for(const[t,n]of r){const r=o.y1.contains(e.cwd,t);if(null===r)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);A+=` ${JSON.stringify(r)}:\n`;for(const[e,r]of n){const n=o.y1.relative(o.y1.join(t,H),r);A+=` ${JSON.stringify(e)}: ${JSON.stringify(n)}\n`}}}}const a=e.cwd,c=o.y1.join(a,H,".yarn-state.yml");await M.xfs.changeFilePromise(c,A,{automaticNewlines:!0})}(A,t,r)}finally{E.stop()}}(t,A,{baseFs:e,project:this.opts.project,report:this.opts.report,loadManifest:async e=>{const t=i.parseLocator(e),r=this.localStore.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: Expected the slot to exist");return r.customPackageData.manifest}});const n=[];for(const[e,t]of A.entries()){if(Z(e))continue;const r=i.parseLocator(e),A=this.localStore.get(r.locatorHash);if(void 0===A)throw new Error("Assertion failed: Expected the slot to exist");const o=O.jsInstallUtils.extractBuildScripts(A.pkg,A.customPackageData,A.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});0!==o.length&&n.push({buildLocations:t.locations,locatorHash:r.locatorHash,buildDirective:o})}return{customData:this.customData,records:n}}}async function q(e,{unrollAliases:t=!1}={}){const r=e.cwd,A=o.y1.join(r,H,".yarn-state.yml");if(!M.xfs.existsSync(A))return null;const n=(0,P.parseSyml)(await M.xfs.readFilePromise(A,"utf8"));if(n.__metadata.version>1)return null;const s=new Map,a=new Map;delete n.__metadata;for(const[e,A]of Object.entries(n)){const n=A.locations.map(e=>o.y1.join(r,e)),c=A.bin;if(c)for(const[e,t]of Object.entries(c)){const A=o.y1.join(r,o.cS.toPortablePath(e)),n=K.getMapWithDefault(a,A);for(const[e,r]of Object.entries(t))n.set((0,o.Zu)(e),o.cS.toPortablePath([A,H,r].join(o.y1.delimiter)))}if(s.set(e,{target:o.LZ.dot,linkType:k.Un.HARD,locations:n,aliases:A.aliases||[]}),t&&A.aliases)for(const t of A.aliases){const{scope:r,name:A}=i.parseLocator(e),a=i.makeLocator(i.makeIdent(r,A),t),c=i.stringifyLocator(a);s.set(c,{target:o.LZ.dot,linkType:k.Un.HARD,locations:n,aliases:[]})}}return{locatorMap:s,binSymlinks:a,locationTree:X(s,{skipPrefix:e.cwd})}}const z=async(e,t)=>{if(e.split(o.y1.sep).indexOf(H)<0)throw new Error("Assertion failed: trying to remove dir that doesn't contain node_modules: "+e);try{if(!t.innerLoop){if((await M.xfs.lstatPromise(e)).isSymbolicLink())return void await M.xfs.unlinkPromise(e)}const r=await M.xfs.readdirPromise(e,{withFileTypes:!0});for(const A of r){const r=o.y1.join(e,(0,o.Zu)(A.name));A.isDirectory()?(A.name!==H||t&&t.innerLoop)&&await z(r,{innerLoop:!0,contentsOnly:!1}):await M.xfs.unlinkPromise(r)}t.contentsOnly||await M.xfs.rmdirPromise(e)}catch(e){if("ENOENT"!==e.code&&"ENOTEMPTY"!==e.code)throw e}},W=(e,{skipPrefix:t})=>{const r=o.y1.contains(t,e);if(null===r)throw new Error(`Assertion failed: Cannot process a path that isn't part of the requested prefix (${e} isn't within ${t})`);const A=r.split(o.y1.sep).filter(e=>""!==e),n=A.indexOf(H),i=A.slice(0,n).join(o.y1.sep);return{locationRoot:o.y1.join(t,i),segments:A.slice(n)}},X=(e,{skipPrefix:t})=>{const r=new Map;if(null===e)return r;const A=()=>({children:new Map,linkType:k.Un.HARD});for(const[n,i]of e.entries()){if(i.linkType===k.Un.SOFT){if(null!==o.y1.contains(t,i.target)){const e=K.getFactoryWithDefault(r,i.target,A);e.locator=n,e.linkType=i.linkType}}for(const e of i.locations){const{locationRoot:o,segments:s}=W(e,{skipPrefix:t});let a=K.getFactoryWithDefault(r,o,A);for(let e=0;e{let r;try{"win32"===process.platform&&(r=M.xfs.lstatSync(e))}catch(e){}"win32"!=process.platform||r&&!r.isDirectory()?M.xfs.symlinkPromise(o.y1.relative(o.y1.dirname(t),e),t):M.xfs.symlinkPromise(e,t,"junction")},_=async(e,t,{baseFs:r,innerLoop:A})=>{await M.xfs.mkdirPromise(e,{recursive:!0});const n=await r.readdirPromise(t,{withFileTypes:!0}),i=async(e,t,A)=>{if(A.isFile()){const A=await r.lstatPromise(t);await r.copyFilePromise(t,e);const n=511&A.mode;420!==n&&await M.xfs.chmodPromise(e,n)}else{if(!A.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${await M.xfs.statSync(t).mode.toString(8).padStart(6,"0")})`);{const A=await r.readlinkPromise(t);await V(o.y1.resolve(o.y1.dirname(e),A),e)}}};for(const s of n){const n=o.y1.join(t,(0,o.Zu)(s.name)),a=o.y1.join(e,(0,o.Zu)(s.name));s.isDirectory()?(s.name!==H||A)&&await _(a,n,{baseFs:r,innerLoop:!0}):await i(a,n,s)}};function Z(e){let t=i.parseDescriptor(e);return i.isVirtualDescriptor(t)&&(t=i.devirtualizeDescriptor(t)),t.range.startsWith("link:")}const $=(e,t)=>{if(!e||!t)return e===t;let r=i.parseLocator(e);i.isVirtualLocator(r)&&(r=i.devirtualizeLocator(r));let A=i.parseLocator(t);return i.isVirtualLocator(A)&&(A=i.devirtualizeLocator(A)),i.areLocatorsEqual(r,A)};var ee=r(34432);class te extends O.PnpLinker{constructor(){super(...arguments),this.mode="loose"}makeInstaller(e){return new re(e)}}class re extends O.PnpInstaller{constructor(){super(...arguments),this.mode="loose"}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=new R.p({baseFs:new x.A({libzip:await(0,L.getLibzipPromise)(),maxOpenFiles:80,readOnlyArchives:!0})}),r=(0,ee.oC)(e,this.opts.project.cwd,t),A=Q(r,{pnpifyFs:!1,project:this.opts.project}),n=new Map;e.fallbackPool=n;const s=(e,t)=>{const r=i.parseLocator(t.locator),A=i.stringifyIdent(r);A===e?n.set(e,r.reference):n.set(e,[A,r.reference])},a=o.y1.join(this.opts.project.cwd,o.QS.nodeModules),c=A.get(a);if(void 0===c)throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(const e of c.dirList){const t=o.y1.join(a,e),r=A.get(t);if(void 0===r)throw new Error("Assertion failed: Expected the child to have been registered");if("target"in r)s(e,r);else for(const n of r.dirList){const r=o.y1.join(t,n),i=A.get(r);if(void 0===i)throw new Error("Assertion failed: Expected the subchild to have been registered");if(!("target"in i))throw new Error("Assertion failed: Expected the leaf junction to be a package");s(`${e}/${n}`,i)}}return super.finalizeInstallWithPnp(e)}}const Ae=e=>o.y1.join(e.cwd,".pnp.js"),ne={configuration:{nmHoistingLimits:{description:"Prevent packages can be hoisted past specific levels",type:n.a2.STRING,values:[w.WORKSPACES,w.DEPENDENCIES,w.NONE],default:"none"}},linkers:[class{supportsPackage(e,t){return"node-modules"===t.project.configuration.get("nodeLinker")}async findPackageLocation(e,t){const r=t.project.tryWorkspaceByLocator(e);if(r)return r.cwd;const A=await q(t.project,{unrollAliases:!0});if(null===A)throw new j.UsageError("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");const n=A.locatorMap.get(i.stringifyLocator(e));if(!n){const r=new j.UsageError(`Couldn't find ${i.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw r.code="LOCATOR_NOT_INSTALLED",r}return n.locations[0]}async findPackageLocator(e,t){const r=await q(t.project,{unrollAliases:!0});if(null===r)return null;const{locationRoot:A,segments:n}=W(o.y1.resolve(e),{skipPrefix:t.project.cwd});let s=r.locationTree.get(A);if(!s)return null;let a=s.locator;for(const e of n){if(s=s.children.get(e),!s)break;a=s.locator||a}return i.parseLocator(a)}makeInstaller(e){return new J(e)}},te]}},8190:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>V});var A,n,o=r(39922),i=r(36370),s=r(25413),a=r(85824),c=r(62152),g=r(35691),l=r(92659),u=r(85875),h=r(15815),p=r(14224),d=r(40822);!function(e){e.All="all",e.Production="production",e.Development="development"}(A||(A={})),function(e){e.Info="info",e.Low="low",e.Moderate="moderate",e.High="high",e.Critical="critical"}(n||(n={}));var C=r(54143),f=r(73632),I=r(71643);const E=[n.Info,n.Low,n.Moderate,n.High,n.Critical];function B(e,t){const r=[],A=new Set,n=e=>{A.has(e)||(A.add(e),r.push(e))};for(const e of t)n(e);const o=new Set;for(;r.length>0;){const t=r.shift(),A=e.storedResolutions.get(t);if(void 0===A)throw new Error("Assertion failed: Expected the resolution to have been registered");const i=e.storedPackages.get(A);if(i){o.add(t);for(const e of i.dependencies.values())n(e.descriptorHash)}}return o}function y(e,t,{all:r}){const A=r?e.workspaces:[t],n=A.map(e=>e.manifest),o=new Set(n.map(e=>[...e.dependencies].map(([e,t])=>e)).flat()),i=new Set(n.map(e=>[...e.devDependencies].map(([e,t])=>e)).flat()),s=A.map(e=>[...e.dependencies.values()]).flat(),a=s.filter(e=>o.has(e.identHash)).map(e=>e.descriptorHash),c=s.filter(e=>i.has(e.identHash)).map(e=>e.descriptorHash),g=B(e,a),l=B(e,c);return u=l,h=g,new Set([...u].filter(e=>!h.has(e)));var u,h}function m(e){const t={};for(const r of e)t[C.stringifyIdent(r)]=C.parseRange(r.range).selector;return t}function w(e){if(void 0===e)return new Set;const t=E.indexOf(e),r=E.slice(t);return new Set(r)}function Q(e,t){var r;const A=function(e,t){const r=w(t),A={};for(const t of r)A[t]=e[t];return A}(e,t);for(const e of Object.keys(A))if(null!==(r=A[e])&&void 0!==r&&r)return!0;return!1}class D extends s.BaseCommand{constructor(){super(...arguments),this.all=!1,this.recursive=!1,this.environment=A.All,this.json=!1,this.severity=n.Info}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const n=function(e,t,{all:r,environment:n}){const o=r?e.workspaces:[t],i=[];if([A.All,A.Production].includes(n))for(const e of o)for(const t of e.manifest.dependencies.values())i.push(t);const s=[];if([A.All,A.Development].includes(n))for(const e of o)for(const t of e.manifest.devDependencies.values())s.push(t);return m([...i,...s].filter(e=>null===C.parseRange(e.range).protocol))}(t,r,{all:this.all,environment:this.environment}),i=function(e,t,{all:r}){var A;const n=y(e,t,{all:r}),o={};for(const t of e.storedPackages.values())o[C.stringifyIdent(t)]={version:null!==(A=t.version)&&void 0!==A?A:"0.0.0",integrity:t.identHash,requires:m(t.dependencies.values()),dev:n.has(C.convertLocatorToDescriptor(t).descriptorHash)};return o}(t,r,{all:this.all});if(!this.recursive)for(const e of Object.keys(i))Object.prototype.hasOwnProperty.call(n,e)?i[e].requires={}:delete i[e];const d={requires:n,dependencies:i},E=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e});let B;const D=await c.h.start({configuration:e,stdout:this.context.stdout},async()=>{try{B=await p.npmHttpUtils.post("/-/npm/v1/security/audits/quick",d,{authType:p.npmHttpUtils.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:E})}catch(e){throw"HTTPError"!==e.name?e:new g.lk(l.b.EXCEPTION,e.toString())}});if(D.hasErrors())return D.exitCode();const b=Q(B.metadata.vulnerabilities,this.severity);if(!this.json&&b)return u.emitTree(function(e,t){const r={},A={children:r};let n=Object.values(e.advisories);if(null!=t){const e=w(t);n=n.filter(t=>e.has(t.severity))}for(const e of f.sortMap(n,e=>e.module_name))r[e.module_name]={label:e.module_name,value:I.tuple(I.Type.RANGE,e.findings.map(e=>e.version).join(", ")),children:{Issue:{label:"Issue",value:I.tuple(I.Type.NO_HINT,e.title)},URL:{label:"URL",value:I.tuple(I.Type.URL,e.url)},Severity:{label:"Severity",value:I.tuple(I.Type.NO_HINT,e.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:I.tuple(I.Type.RANGE,e.vulnerable_versions)},"Patched Versions":{label:"Patched Versions",value:I.tuple(I.Type.RANGE,e.patched_versions)},Via:{label:"Via",value:I.tuple(I.Type.NO_HINT,Array.from(new Set(e.findings.map(e=>e.paths).flat().map(e=>e.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:I.tuple(I.Type.NO_HINT,e.recommendation.replace(/\n/g," "))}}};return A}(B,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1;return(await h.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async e=>{e.reportJson(B),b||e.reportInfo(l.b.EXCEPTION,"No audit suggestions")})).exitCode()}}D.usage=d.Command.Usage({description:"perform a vulnerability audit against the installed packages",details:`\n This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).\n\n For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`.\n\n Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${E.map(e=>`\`${e}\``).join(", ")}.\n\n If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.\n\n To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them.\n `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]}),(0,i.gn)([d.Command.Boolean("-A,--all")],D.prototype,"all",void 0),(0,i.gn)([d.Command.Boolean("-R,--recursive")],D.prototype,"recursive",void 0),(0,i.gn)([d.Command.String("--environment")],D.prototype,"environment",void 0),(0,i.gn)([d.Command.Boolean("--json")],D.prototype,"json",void 0),(0,i.gn)([d.Command.String("--severity")],D.prototype,"severity",void 0),(0,i.gn)([d.Command.Path("npm","audit")],D.prototype,"execute",null);var b=r(85622),v=r.n(b),S=r(53887),k=r.n(S),K=r(31669);class F extends s.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t}=await a.I.find(e,this.context.cwd),r=void 0!==this.fields?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,A=[];let n=!1;const i=await h.Pk.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async o=>{for(const i of this.packages){let s;if("."===i){const e=t.topLevelWorkspace;if(!e.manifest.name)throw new d.UsageError("Missing 'name' field in "+v().join(e.cwd,"package.json"));s=C.makeDescriptor(e.manifest.name,"unknown")}else s=C.parseDescriptor(i);const a=p.npmHttpUtils.getIdentUrl(s);let c;try{c=N(await p.npmHttpUtils.get(a,{configuration:e,ident:s,jsonResponse:!0}))}catch(e){throw"HTTPError"!==e.name?e:404===e.response.statusCode?new g.lk(l.b.EXCEPTION,"Package not found"):new g.lk(l.b.EXCEPTION,e.toString())}const u=Object.keys(c.versions).sort(k().compareLoose);let h=c["dist-tags"].latest||u[u.length-1];if(k().validRange(s.range)){const t=k().maxSatisfying(u,s.range);null!==t?h=t:(o.reportWarning(l.b.UNNAMED,`Unmet range ${C.prettyRange(e,s.range)}; falling back to the latest version`),n=!0)}else"unknown"!==s.range&&(o.reportWarning(l.b.UNNAMED,`Invalid range ${C.prettyRange(e,s.range)}; falling back to the latest version`),n=!0);const f=c.versions[h],I={...c,...f,version:h,versions:u};let E;if(null!==r){E={};for(const t of r){const r=I[t];void 0!==r?E[t]=r:(o.reportWarning(l.b.EXCEPTION,`The '${t}' field doesn't exist inside ${C.prettyIdent(e,s)}'s informations`),n=!0)}}else this.json||(delete I.dist,delete I.readme,delete I.users),E=I;o.reportJson(E),this.json||A.push(E)}});K.inspect.styles.name="cyan";for(const e of A)(e!==A[0]||n)&&this.context.stdout.write("\n"),this.context.stdout.write((0,K.inspect)(e,{depth:1/0,colors:!0,compact:!1})+"\n");return i.exitCode()}}function N(e){if(Array.isArray(e)){const t=[];for(let r of e)r=N(r),r&&t.push(r);return t}if("object"==typeof e&&null!==e){const t={};for(const r of Object.keys(e)){if(r.startsWith("_"))continue;const A=N(e[r]);A&&(t[r]=A)}return t}return e||null}F.usage=d.Command.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]}),(0,i.gn)([d.Command.Rest()],F.prototype,"packages",void 0),(0,i.gn)([d.Command.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"})],F.prototype,"fields",void 0),(0,i.gn)([d.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],F.prototype,"json",void 0),(0,i.gn)([d.Command.Path("npm","info")],F.prototype,"execute",null);var M=r(61899);class R extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),t=await x({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const A=await async function({registry:e,report:t,stdin:r,stdout:A}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};t.reportInfo(l.b.UNNAMED,"Logging in to "+e);let n=!1;e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(l.b.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0);t.reportSeparator();const{username:o,password:i}=await(0,M.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:A},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:A}]);return t.reportSeparator(),{name:o,password:i}}({registry:t,report:r,stdin:this.context.stdin,stdout:this.context.stdout}),n="/-/user/org.couchdb.user:"+encodeURIComponent(A.name),i=await p.npmHttpUtils.put(n,A,{attemptedAs:A.name,configuration:e,registry:t,jsonResponse:!0,authType:p.npmHttpUtils.AuthType.NO_AUTH});return await async function(e,t,{configuration:r,scope:A}){const n=e=>r=>{const A=f.isIndexableObject(r)?r:{},n=A[e],o=f.isIndexableObject(n)?n:{};return{...A,[e]:{...o,npmAuthToken:t}}},i=A?{npmScopes:n(A)}:{npmRegistries:n(e)};return await o.VK.updateHomeConfiguration(i)}(t,i.token,{configuration:e,scope:this.scope}),r.reportInfo(l.b.UNNAMED,"Successfully logged in")})).exitCode()}}async function x({scope:e,publish:t,configuration:r,cwd:A}){return e&&t?p.npmConfigUtils.getScopeRegistry(e,{configuration:r,type:p.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):e?p.npmConfigUtils.getScopeRegistry(e,{configuration:r}):t?p.npmConfigUtils.getPublishRegistry((await(0,s.openWorkspace)(r,A)).manifest,{configuration:r}):p.npmConfigUtils.getDefaultRegistry({configuration:r})}R.usage=d.Command.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Login to the registry configured for a given scope"})],R.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Login to the publish registry"})],R.prototype,"publish",void 0),(0,i.gn)([d.Command.Path("npm","login")],R.prototype,"execute",null);const L=new Set(["npmAuthIdent","npmAuthToken"]);class P extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1,this.all=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),t=async()=>{var t;const r=await x({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),A=await o.VK.find(this.context.cwd,this.context.plugins),n=C.makeIdent(null!==(t=this.scope)&&void 0!==t?t:null,"pkg");return!p.npmConfigUtils.getAuthConfiguration(r,{configuration:A,ident:n}).get("npmAuthToken")};return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{if(this.all&&(await async function(){const e=e=>{let t=!1;const r=f.isIndexableObject(e)?{...e}:{};r.npmAuthToken&&(delete r.npmAuthToken,t=!0);for(const e of Object.keys(r))O(r,e)&&(t=!0);if(0!==Object.keys(r).length)return t?r:e};return await o.VK.updateHomeConfiguration({npmRegistries:e,npmScopes:e})}(),r.reportInfo(l.b.UNNAMED,"Successfully logged out from everything")),this.scope)return await U("npmScopes",this.scope),void(await t()?r.reportInfo(l.b.UNNAMED,"Successfully logged out from "+this.scope):r.reportWarning(l.b.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it"));const A=await x({configuration:e,cwd:this.context.cwd,publish:this.publish});await U("npmRegistries",A),await t()?r.reportInfo(l.b.UNNAMED,"Successfully logged out from "+A):r.reportWarning(l.b.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}}function O(e,t){const r=e[t];if(!f.isIndexableObject(r))return!1;const A=new Set(Object.keys(r));if([...L].every(e=>!A.has(e)))return!1;for(const e of L)A.delete(e);if(0===A.size)return e[t]=void 0,!0;const n={...r};for(const e of L)delete n[e];return e[t]=n,!0}async function U(e,t){return await o.VK.updateHomeConfiguration({[e]:e=>{const r=f.isIndexableObject(e)?e:{};if(!Object.prototype.hasOwnProperty.call(r,t))return e;const A=r[t],n=f.isIndexableObject(A)?A:{},o=new Set(Object.keys(n));if([...L].every(e=>!o.has(e)))return e;for(const e of L)o.delete(e);if(0===o.size){if(1===Object.keys(r).length)return;return{...r,[t]:void 0}}const i={};for(const e of L)i[e]=void 0;return{...r,[t]:{...n,...i}}}})}P.usage=d.Command.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Logout of the registry configured for a given scope"})],P.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Logout of the publish registry"})],P.prototype,"publish",void 0),(0,i.gn)([d.Command.Boolean("-A,--all",{description:"Logout of all registries"})],P.prototype,"all",void 0),(0,i.gn)([d.Command.Path("npm","logout")],P.prototype,"execute",null);var T=r(63088),j=r(49881);class Y extends s.BaseCommand{constructor(){super(...arguments),this.tag="latest",this.tolerateRepublish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);if(r.manifest.private)throw new d.UsageError("Private workspaces cannot be published");if(null===r.manifest.name||null===r.manifest.version)throw new d.UsageError("Workspaces must have valid names and versions to be published on an external registry");await t.restoreInstallState();const A=r.manifest.name,n=r.manifest.version,i=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{if(this.tolerateRepublish)try{const r=await p.npmHttpUtils.get(p.npmHttpUtils.getIdentUrl(A),{configuration:e,registry:i,ident:A,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(r,"versions"))throw new g.lk(l.b.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(r.versions,n))return void t.reportWarning(l.b.UNNAMED,`Registry already knows about version ${n}; skipping.`)}catch(e){if("HTTPError"!==e.name)throw e;if(404!==e.response.statusCode)throw new g.lk(l.b.NETWORK_ERROR,`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`)}await T.maybeExecuteWorkspaceLifecycleScript(r,"prepublish",{report:t}),await j.packUtils.prepareForPack(r,{report:t},async()=>{const n=await j.packUtils.genPackList(r);for(const e of n)t.reportInfo(null,e);const o=await j.packUtils.genPackStream(r,n),s=await f.bufferStream(o),a=await p.npmPublishUtils.makePublishBody(r,s,{access:this.access,tag:this.tag,registry:i});try{await p.npmHttpUtils.put(p.npmHttpUtils.getIdentUrl(A),a,{configuration:e,registry:i,ident:A,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}}),t.hasErrors()||t.reportInfo(l.b.UNNAMED,"Package archive published")})).exitCode()}}Y.usage=d.Command.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]}),(0,i.gn)([d.Command.String("--access",{description:"The access for the published package (public or restricted)"})],Y.prototype,"access",void 0),(0,i.gn)([d.Command.String("--tag",{description:"The tag on the registry that the package should be attached to"})],Y.prototype,"tag",void 0),(0,i.gn)([d.Command.Boolean("--tolerate-republish",{description:"Warn and exit when republishing an already existing version of a package"})],Y.prototype,"tolerateRepublish",void 0),(0,i.gn)([d.Command.Path("npm","publish")],Y.prototype,"execute",null);var G=r(46009);class H extends s.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);let A;if(void 0!==this.package)A=C.parseIdent(this.package);else{if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);if(!r.manifest.name)throw new d.UsageError("Missing 'name' field in "+G.y1.join(r.cwd,G.QS.manifest));A=r.manifest.name}const n=await J(A,e),i={children:f.sortMap(Object.entries(n),([e])=>e).map(([e,t])=>({value:I.tuple(I.Type.RESOLUTION,{descriptor:C.makeDescriptor(A,e),locator:C.makeLocator(A,t)})}))};return u.emitTree(i,{configuration:e,json:this.json,stdout:this.context.stdout})}}async function J(e,t){const r=`/-/package${p.npmHttpUtils.getIdentUrl(e)}/dist-tags`;return p.npmHttpUtils.get(r,{configuration:t,ident:e,jsonResponse:!0}).catch(e=>{throw"HTTPError"!==e.name?e:404===e.response.statusCode?new g.lk(l.b.EXCEPTION,"Package not found"):new g.lk(l.b.EXCEPTION,e.toString())})}H.usage=d.Command.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:"\n This command will list all tags of a package from the npm registry.\n\n If the package is not specified, Yarn will default to the current workspace.\n ",examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]}),(0,i.gn)([d.Command.String({required:!1})],H.prototype,"package",void 0),(0,i.gn)([d.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],H.prototype,"json",void 0),(0,i.gn)([d.Command.Path("npm","tag","list")],H.prototype,"execute",null);class q extends s.BaseCommand{async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=C.parseDescriptor(this.package,!0),n=A.range;if(!k().valid(n))throw new d.UsageError(`The range ${I.pretty(e,A.range,I.Type.RANGE)} must be a valid semver version`);const i=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e}),c=I.pretty(e,A,I.Type.IDENT),g=I.pretty(e,n,I.Type.RANGE),u=I.pretty(e,this.tag,I.Type.CODE);return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{const r=await J(A,e);Object.prototype.hasOwnProperty.call(r,this.tag)&&r[this.tag]===n&&t.reportWarning(l.b.UNNAMED,`Tag ${u} is already set to version ${g}`);try{const t=`/-/package${p.npmHttpUtils.getIdentUrl(A)}/dist-tags/${encodeURIComponent(this.tag)}`;await p.npmHttpUtils.put(t,n,{configuration:e,registry:i,ident:A,jsonRequest:!0,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}t.hasErrors()||t.reportInfo(l.b.UNNAMED,`Tag ${u} added to version ${g} of package ${c}`)})).exitCode()}}q.usage=d.Command.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:"\n This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.\n ",examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]}),(0,i.gn)([d.Command.String()],q.prototype,"package",void 0),(0,i.gn)([d.Command.String()],q.prototype,"tag",void 0),(0,i.gn)([d.Command.Path("npm","tag","add")],q.prototype,"execute",null);var z=r(15966);class W extends s.BaseCommand{async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await a.I.find(e,this.context.cwd);if(!r)throw new s.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=C.parseIdent(this.package),n=p.npmConfigUtils.getPublishRegistry(r.manifest,{configuration:e}),i=I.pretty(e,this.tag,I.Type.CODE),c=I.pretty(e,A,I.Type.IDENT),g=await J(A,e);if(!Object.prototype.hasOwnProperty.call(g,this.tag))throw new d.UsageError(`${i} is not a tag of package ${c}`);return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async t=>{try{const t=`/-/package${p.npmHttpUtils.getIdentUrl(A)}/dist-tags/${encodeURIComponent(this.tag)}`;await p.npmHttpUtils.del(t,{configuration:e,registry:n,ident:A,jsonResponse:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const r=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(l.b.NETWORK_ERROR,r)}}t.hasErrors()||t.reportInfo(l.b.UNNAMED,`Tag ${i} removed from package ${c}`)})).exitCode()}}W.schema=z.object().shape({tag:z.string().notOneOf(["latest"])}),W.usage=d.Command.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:"\n This command will remove a tag from a package from the npm registry.\n ",examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]}),(0,i.gn)([d.Command.String()],W.prototype,"package",void 0),(0,i.gn)([d.Command.String()],W.prototype,"tag",void 0),(0,i.gn)([d.Command.Path("npm","tag","remove")],W.prototype,"execute",null);class X extends s.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins);let t;t=this.scope&&this.publish?p.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e,type:p.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):this.scope?p.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e}):this.publish?p.npmConfigUtils.getPublishRegistry((await(0,s.openWorkspace)(e,this.context.cwd)).manifest,{configuration:e}):p.npmConfigUtils.getDefaultRegistry({configuration:e});return(await h.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{try{const A=await p.npmHttpUtils.get("/-/whoami",{configuration:e,registry:t,authType:p.npmHttpUtils.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?C.makeIdent(this.scope,""):void 0});r.reportInfo(l.b.UNNAMED,A.username)}catch(e){if("HTTPError"!==e.name)throw e;401===e.response.statusCode||403===e.response.statusCode?r.reportError(l.b.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired"):r.reportError(l.b.AUTHENTICATION_INVALID,e.toString())}})).exitCode()}}X.usage=d.Command.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]}),(0,i.gn)([d.Command.String("-s,--scope",{description:"Print username for the registry configured for a given scope"})],X.prototype,"scope",void 0),(0,i.gn)([d.Command.Boolean("--publish",{description:"Print username for the publish registry"})],X.prototype,"publish",void 0),(0,i.gn)([d.Command.Path("npm","whoami")],X.prototype,"execute",null);const V={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:o.a2.STRING,default:null}},commands:[D,F,R,P,Y,q,H,W,X]}},14224:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>W,npmConfigUtils:()=>A,npmHttpUtils:()=>n,npmPublishUtils:()=>o});var A={};r.r(A),r.d(A,{RegistryType:()=>l,getAuthConfiguration:()=>Q,getDefaultRegistry:()=>y,getPublishRegistry:()=>E,getRegistryConfiguration:()=>m,getScopeConfiguration:()=>w,getScopeRegistry:()=>B,normalizeRegistry:()=>I});var n={};r.r(n),r.d(n,{AuthType:()=>u,del:()=>K,get:()=>v,getIdentUrl:()=>b,handleInvalidAuthenticationError:()=>D,post:()=>S,put:()=>k});var o={};r.r(o),r.d(o,{makePublishBody:()=>J});var i=r(39922),s=r(54143),a=r(72785),c=r(53887),g=r.n(c);var l,u,h=r(79669),p=r(35691),d=r(92659),C=r(61899),f=r(78835);function I(e){return e.replace(/\/$/,"")}function E(e,{configuration:t}){return e.publishConfig&&e.publishConfig.registry?I(e.publishConfig.registry):e.name?B(e.name.scope,{configuration:t,type:l.PUBLISH_REGISTRY}):y({configuration:t,type:l.PUBLISH_REGISTRY})}function B(e,{configuration:t,type:r=l.FETCH_REGISTRY}){const A=w(e,{configuration:t});if(null===A)return y({configuration:t,type:r});const n=A.get(r);return null===n?y({configuration:t,type:r}):I(n)}function y({configuration:e,type:t=l.FETCH_REGISTRY}){const r=e.get(t);return I(null!==r?r:e.get(l.FETCH_REGISTRY))}function m(e,{configuration:t}){const r=t.get("npmRegistries"),A=r.get(e);if(void 0!==A)return A;const n=r.get(e.replace(/^[a-z]+:/,""));return void 0!==n?n:null}function w(e,{configuration:t}){if(null===e)return null;const r=t.get("npmScopes").get(e);return r||null}function Q(e,{configuration:t,ident:r}){const A=r&&w(r.scope,{configuration:t});if((null==A?void 0:A.get("npmAuthIdent"))||(null==A?void 0:A.get("npmAuthToken")))return A;return m(e,{configuration:t})||t}async function D(e,{attemptedAs:t,registry:r,headers:A,configuration:n}){if("HTTPError"===e.name&&401===e.response.statusCode)throw new p.lk(d.b.AUTHENTICATION_INVALID,`Invalid authentication (${"string"!=typeof t?"as "+await async function(e,t,{configuration:r}){var A;if(void 0===t||void 0===t.authorization)return"an anonymous user";try{const n=await h.get(new f.URL(e+"/-/whoami").href,{configuration:r,headers:t,jsonResponse:!0});return null!==(A=n.username)&&void 0!==A?A:"an unknown user"}catch(e){return"an unknown user"}}(r,A,{configuration:n}):"attempted as "+t})`)}function b(e){return e.scope?`/@${e.scope}%2f${e.name}`:"/"+e.name}async function v(e,{configuration:t,headers:r,ident:A,authType:n,registry:o,...i}){if(A&&void 0===o&&(o=B(A.scope,{configuration:t})),A&&A.scope&&void 0===n&&(n=u.BEST_EFFORT),"string"!=typeof o)throw new Error("Assertion failed: The registry should be a string");const s=F(o,{authType:n,configuration:t,ident:A});let a;s&&(r={...r,authorization:s});try{a=new f.URL(e)}catch(t){a=new f.URL(o+e)}try{return await h.get(a.href,{configuration:t,headers:r,...i})}catch(e){throw await D(e,{registry:o,configuration:t,headers:r}),e}}async function S(e,t,{attemptedAs:r,configuration:A,headers:n,ident:o,authType:i=u.ALWAYS_AUTH,registry:s,...a}){if(o&&void 0===s&&(s=B(o.scope,{configuration:A})),"string"!=typeof s)throw new Error("Assertion failed: The registry should be a string");const c=F(s,{authType:i,configuration:A,ident:o});c&&(n={...n,authorization:c});try{return await h.post(s+e,t,{configuration:A,headers:n,...a})}catch(o){if(!M(o))throw await D(o,{attemptedAs:r,registry:s,configuration:A,headers:n}),o;const i=await N(),c={...n,...R(i)};try{return await h.post(`${s}${e}`,t,{configuration:A,headers:c,...a})}catch(e){throw await D(e,{attemptedAs:r,registry:s,configuration:A,headers:n}),e}}}async function k(e,t,{attemptedAs:r,configuration:A,headers:n,ident:o,authType:i=u.ALWAYS_AUTH,registry:s,...a}){if(o&&void 0===s&&(s=B(o.scope,{configuration:A})),"string"!=typeof s)throw new Error("Assertion failed: The registry should be a string");const c=F(s,{authType:i,configuration:A,ident:o});c&&(n={...n,authorization:c});try{return await h.put(s+e,t,{configuration:A,headers:n,...a})}catch(o){if(!M(o))throw await D(o,{attemptedAs:r,registry:s,configuration:A,headers:n}),o;const i=await N(),c={...n,...R(i)};try{return await h.put(`${s}${e}`,t,{configuration:A,headers:c,...a})}catch(e){throw await D(e,{attemptedAs:r,registry:s,configuration:A,headers:n}),e}}}async function K(e,{attemptedAs:t,configuration:r,headers:A,ident:n,authType:o=u.ALWAYS_AUTH,registry:i,...s}){if(n&&void 0===i&&(i=B(n.scope,{configuration:r})),"string"!=typeof i)throw new Error("Assertion failed: The registry should be a string");const a=F(i,{authType:o,configuration:r,ident:n});a&&(A={...A,authorization:a});try{return await h.del(i+e,{configuration:r,headers:A,...s})}catch(n){if(!M(n))throw await D(n,{attemptedAs:t,registry:i,configuration:r,headers:A}),n;const o=await N(),a={...A,...R(o)};try{return await h.del(`${i}${e}`,{configuration:r,headers:a,...s})}catch(e){throw await D(e,{attemptedAs:t,registry:i,configuration:r,headers:A}),e}}}function F(e,{authType:t=u.CONFIGURATION,configuration:r,ident:A}){const n=Q(e,{configuration:r,ident:A}),o=function(e,t){switch(t){case u.CONFIGURATION:return e.get("npmAlwaysAuth");case u.BEST_EFFORT:case u.ALWAYS_AUTH:return!0;case u.NO_AUTH:return!1;default:throw new Error("Unreachable")}}(n,t);if(!o)return null;if(n.get("npmAuthToken"))return"Bearer "+n.get("npmAuthToken");if(n.get("npmAuthIdent"))return"Basic "+n.get("npmAuthIdent");if(o&&t!==u.BEST_EFFORT)throw new p.lk(d.b.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}async function N(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";const{otp:e}=await(0,C.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return e}function M(e){if("HTTPError"!==e.name)return!1;try{return e.response.headers["www-authenticate"].split(/,\s*/).map(e=>e.toLowerCase()).includes("otp")}catch(e){return!1}}function R(e){return{"npm-otp":e}}!function(e){e.FETCH_REGISTRY="npmRegistryServer",e.PUBLISH_REGISTRY="npmPublishRegistry"}(l||(l={})),function(e){e[e.NO_AUTH=0]="NO_AUTH",e[e.BEST_EFFORT=1]="BEST_EFFORT",e[e.CONFIGURATION=2]="CONFIGURATION",e[e.ALWAYS_AUTH=3]="ALWAYS_AUTH"}(u||(u={}));class x{supports(e,t){if(!e.reference.startsWith("npm:"))return!1;const r=new f.URL(e.reference);return!!g().valid(r.pathname)&&!r.searchParams.has("__archiveUrl")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote registry"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let r;try{r=await v(x.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch(A){r=await v(x.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await a.convertToZip(r,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:s.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:r}){let A=B(e.scope,{configuration:r});const n=x.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),A=A.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),(t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"))===A+n||t===A+n.replace(/%2f/g,"/")}static getLocatorUrl(e){const t=g().clean(e.reference.slice("npm:".length));if(null===t)throw new p.lk(d.b.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${b(e)}/-/${e.name}-${t}.tgz`}}var L=r(46611),P=r(36545),O=r(32485);const U=s.makeIdent(null,"node-gyp"),T=/\b(node-gyp|prebuild-install)\b/;var j=r(52779);var Y=r(49881),G=r(76417),H=r(10129);async function J(e,t,{access:r,tag:A,registry:n}){const o=e.project.configuration,i=e.manifest.name,a=e.manifest.version,c=s.stringifyIdent(i),g=(0,G.createHash)("sha1").update(t).digest("hex"),l=H.Sd(t).toString();void 0===r&&(r=e.manifest.publishConfig&&"string"==typeof e.manifest.publishConfig.access?e.manifest.publishConfig.access:null!==o.get("npmPublishAccess")?o.get("npmPublishAccess"):i.scope?"restricted":"public");const u=await Y.packUtils.genPackageManifest(e),h=`${c}-${a}.tgz`,p=new f.URL(`${c}/-/${h}`,n);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:t.toString("base64"),length:t.length}},name:c,access:r,"dist-tags":{[A]:a},versions:{[a]:{...u,_id:`${c}@${a}`,name:c,version:a,dist:{shasum:g,integrity:l,tarball:p.toString()}}}}}const q={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:i.a2.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:i.a2.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:i.a2.SECRET,default:null}},z={npmPublishRegistry:{description:"Registry to push packages to",type:i.a2.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:i.a2.STRING,default:"https://registry.yarnpkg.com"}},W={configuration:{...q,...z,npmScopes:{description:"Settings per package scope",type:i.a2.MAP,valueDefinition:{description:"",type:i.a2.SHAPE,properties:{...q,...z}}},npmRegistries:{description:"Settings per registry",type:i.a2.MAP,normalizeKeys:I,valueDefinition:{description:"",type:i.a2.SHAPE,properties:{...q}}}},fetchers:[class{supports(e,t){if(!e.reference.startsWith("npm:"))return!1;const{selector:r,params:A}=s.parseRange(e.reference);return!!g().valid(r)&&(null!==A&&"string"==typeof A.__archiveUrl)}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the remote server"),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){const{params:r}=s.parseRange(e.reference);if(null===r||"string"!=typeof r.__archiveUrl)throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");const A=await v(r.__archiveUrl,{configuration:t.project.configuration,ident:e});return await a.convertToZip(A,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:s.getIdentVendorPath(e),stripComponents:1})}},x],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!s.tryParseDescriptor(e.range.slice("npm:".length),!0)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){const r=s.parseDescriptor(e.range.slice("npm:".length),!0);return t.resolver.getResolutionDependencies(r,t)}async getCandidates(e,t,r){const A=s.parseDescriptor(e.range.slice("npm:".length),!0);return await r.resolver.getCandidates(A,t,r)}async getSatisfying(e,t,r){const A=s.parseDescriptor(e.range.slice("npm:".length),!0);return r.resolver.getSatisfying(A,t,r)}resolve(e,t){throw new Error("Unreachable")}},class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!P.validRange(e.range.slice("npm:".length))}supportsLocator(e,t){if(!e.reference.startsWith("npm:"))return!1;const{selector:r}=s.parseRange(e.reference);return!!g().valid(r)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=P.validRange(e.range.slice("npm:".length));if(null===A)throw new Error("Expected a valid range, got "+e.range.slice("npm:".length));const n=await v(b(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0}),o=Object.keys(n.versions).map(e=>new(g().SemVer)(e)).filter(e=>A.test(e)),i=o.filter(e=>!n.versions[e.raw].deprecated),a=i.length>0?i:o;return a.sort((e,t)=>-e.compare(t)),a.map(t=>{const A=s.makeLocator(e,"npm:"+t.raw),o=n.versions[t.raw].dist.tarball;return x.isConventionalTarballUrl(A,o,{configuration:r.project.configuration})?A:s.bindLocator(A,{__archiveUrl:o})})}async getSatisfying(e,t,r){const A=P.validRange(e.range.slice("npm:".length));if(null===A)throw new Error("Expected a valid range, got "+e.range.slice("npm:".length));return t.map(e=>{try{return new(g().SemVer)(e.slice("npm:".length))}catch(e){return null}}).filter(e=>null!==e).filter(e=>A.test(e)).sort((e,t)=>-e.compare(t)).map(t=>s.makeLocator(e,"npm:"+t.raw))}async resolve(e,t){const{selector:r}=s.parseRange(e.reference),A=g().clean(r);if(null===A)throw new p.lk(d.b.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");const n=await v(b(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new p.lk(d.b.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,A))throw new p.lk(d.b.REMOTE_NOT_FOUND,`Registry failed to return reference "${A}"`);const o=new L.G;if(o.load(n.versions[A]),!o.dependencies.has(U.identHash)&&!o.peerDependencies.has(U.identHash))for(const r of o.scripts.values())if(r.match(T)){o.dependencies.set(U.identHash,s.makeDescriptor(U,"latest")),t.report.reportWarning(d.b.NODE_GYP_INJECTED,s.prettyLocator(t.project.configuration,e)+": Implicit dependencies on node-gyp are discouraged");break}return"string"==typeof o.raw.deprecated&&t.report.reportWarning(d.b.DEPRECATED_PACKAGE,`${s.prettyLocator(t.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),{...e,version:A,languageName:"node",linkType:O.Un.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}},class{supportsDescriptor(e,t){return!!e.range.startsWith("npm:")&&!!j.c.test(e.range.slice("npm:".length))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){const A=e.range.slice("npm:".length),n=await v(b(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new p.lk(d.b.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');const o=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,A))throw new p.lk(d.b.REMOTE_NOT_FOUND,`Registry failed to return tag "${A}"`);const i=o[A],a=s.makeLocator(e,"npm:"+i),c=n.versions[i].dist.tarball;return x.isConventionalTarballUrl(a,c,{configuration:r.project.configuration})?[a]:[s.bindLocator(a,{__archiveUrl:c})]}async getSatisfying(e,t,r){return null}async resolve(e,t){throw new Error("Unreachable")}}]}},49881:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>T,packUtils:()=>A});var A={};r.r(A),r.d(A,{genPackList:()=>N,genPackStream:()=>K,genPackageManifest:()=>F,hasPackScripts:()=>S,prepareForPack:()=>k});var n=r(54143),o=r(35691),i=r(92659),s=r(36370),a=r(40822);class c extends a.Command{}(0,s.gn)([a.Command.String("--cwd",{hidden:!0})],c.prototype,"cwd",void 0);var g=r(46611),l=r(46009);class u extends a.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${l.y1.relative(e,t)} isn't a workspace of ${l.y1.join(e,g.G.fileName)}).`)}}r(63129),r(5864),r(35747);new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);var h=r(71643),p=r(39922);(0,s.gn)([a.Command.Path("--welcome")],class extends c{async execute(){const e=await p.VK.find(this.context.cwd,this.context.plugins);this.context.stdout.write((e=>`\n${h.pretty(e,"Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${h.pretty(e,"https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${h.pretty(e,"https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${h.pretty(e,"https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${h.pretty(e,"find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${h.pretty(e,"yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${h.pretty(e,"yarn set version from sources","magenta")}\n\nSee you later 👋\n`)(e).trim()+"\n")}}.prototype,"execute",null);var d=r(85824),C=r(28148),f=r(33720),I=r(15815),E=r(43896),B=r(63088),y=r(10489),m=r(2401),w=r.n(m),Q=r(59938),D=r(78761);const b=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],v=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function S(e){return!!B.hasWorkspaceScript(e,"prepack")||!!B.hasWorkspaceScript(e,"postpack")}async function k(e,{report:t},r){await B.maybeExecuteWorkspaceLifecycleScript(e,"prepack",{report:t});try{await r()}finally{await B.maybeExecuteWorkspaceLifecycleScript(e,"postpack",{report:t})}}async function K(e,t){var r,A;void 0===t&&(t=await N(e));const n=new Set;for(const t of null!==(A=null===(r=e.manifest.publishConfig)||void 0===r?void 0:r.executableFiles)&&void 0!==A?A:new Set)n.add(l.y1.normalize(t));for(const t of e.manifest.bin.values())n.add(l.y1.normalize(t));const o=Q.pack();process.nextTick(async()=>{for(const r of t){const t=l.y1.normalize(r),A=l.y1.resolve(e.cwd,t),i=l.y1.join("package",t),s=await E.xfs.lstatPromise(A),a={name:i,mtime:new Date(3155328e5)},c=n.has(t)?493:420;let g,u;const h=new Promise((e,t)=>{g=e,u=t}),p=e=>{e?u(e):g()};if(s.isFile()){let r;r="package.json"===t?Buffer.from(JSON.stringify(await F(e),null,2)):await E.xfs.readFilePromise(A),o.entry({...a,mode:c,type:"file"},r,p)}else s.isSymbolicLink()?o.entry({...a,mode:c,type:"symlink",linkname:await E.xfs.readlinkPromise(A)},p):p(new Error(`Unsupported file type ${s.mode} for ${l.cS.fromPortablePath(t)}`));await h}o.finalize()});const i=(0,D.createGzip)();return o.pipe(i),i}async function F(e){const t=JSON.parse(JSON.stringify(e.manifest.raw));return await e.project.configuration.triggerHook(e=>e.beforeWorkspacePacking,e,t),t}async function N(e){var t,r,A,n,o,i,s,a;const c=e.project,g=c.configuration,u={accept:[],reject:[]};for(const e of v)u.reject.push(e);for(const e of b)u.accept.push(e);u.reject.push(g.get("rcFilename"));const h=t=>{if(null===t||!t.startsWith(e.cwd+"/"))return;const r=l.y1.relative(e.cwd,t),A=l.y1.resolve(l.LZ.root,r);u.reject.push(A)};h(l.y1.resolve(c.cwd,g.get("lockfileFilename"))),h(g.get("bstatePath")),h(g.get("cacheFolder")),h(g.get("globalFolder")),h(g.get("installStatePath")),h(g.get("virtualFolder")),h(g.get("yarnPath")),await g.triggerHook(e=>e.populateYarnPaths,c,e=>{h(e)});for(const t of c.workspaces){const r=l.y1.relative(e.cwd,t.cwd);""===r||r.match(/^(\.\.)?\//)||u.reject.push("/"+r)}const p={accept:[],reject:[]},d=null!==(r=null===(t=e.manifest.publishConfig)||void 0===t?void 0:t.main)&&void 0!==r?r:e.manifest.main,C=null!==(n=null===(A=e.manifest.publishConfig)||void 0===A?void 0:A.module)&&void 0!==n?n:e.manifest.module,f=null!==(i=null===(o=e.manifest.publishConfig)||void 0===o?void 0:o.browser)&&void 0!==i?i:e.manifest.browser,I=null!==(a=null===(s=e.manifest.publishConfig)||void 0===s?void 0:s.bin)&&void 0!==a?a:e.manifest.bin;null!=d&&p.accept.push(l.y1.resolve(l.LZ.root,d)),null!=C&&p.accept.push(l.y1.resolve(l.LZ.root,C)),"string"==typeof f&&p.accept.push(l.y1.resolve(l.LZ.root,f));for(const e of I.values())p.accept.push(l.y1.resolve(l.LZ.root,e));if(f instanceof Map)for(const[e,t]of f.entries())p.accept.push(l.y1.resolve(l.LZ.root,e)),"string"==typeof t&&p.accept.push(l.y1.resolve(l.LZ.root,t));const E=null!==e.manifest.files;if(E){p.reject.push("/*");for(const t of e.manifest.files)R(p.accept,t,{cwd:l.LZ.root})}return await async function(e,{hasExplicitFileList:t,globalList:r,ignoreList:A}){const n=[],o=new y.n(e),i=[[l.LZ.root,[A]]];for(;i.length>0;){const[e,A]=i.pop(),s=await o.lstatPromise(e);if(!x(e,{globalList:r,ignoreLists:s.isDirectory()?null:A}))if(s.isDirectory()){const n=await o.readdirPromise(e);let s=!1,a=!1;if(!t||e!==l.LZ.root)for(const e of n)s=s||".gitignore"===e,a=a||".npmignore"===e;const c=a?await M(o,e,".npmignore"):s?await M(o,e,".gitignore"):null;let g=null!==c?[c].concat(A):A;x(e,{globalList:r,ignoreLists:A})&&(g=[...A,{accept:[],reject:["**/*"]}]);for(const t of n)i.push([l.y1.resolve(e,t),g])}else(s.isFile()||s.isSymbolicLink())&&n.push(l.y1.relative(l.LZ.root,e))}return n.sort()}(e.cwd,{hasExplicitFileList:E,globalList:u,ignoreList:p})}async function M(e,t,r){const A={accept:[],reject:[]},n=await e.readFilePromise(l.y1.join(t,r),"utf8");for(const e of n.split(/\n/g))R(A.reject,e,{cwd:t});return A}function R(e,t,{cwd:r}){const A=t.trim();""!==A&&"#"!==A[0]&&e.push(function(e,{cwd:t}){const r="!"===e[0];return r&&(e=e.slice(1)),e.match(/\.{0,1}\//)&&(e=l.y1.resolve(t,e)),r&&(e="!"+e),e}(A,{cwd:r}))}function x(e,{globalList:t,ignoreLists:r}){if(L(e,t.accept))return!1;if(L(e,t.reject))return!0;if(null!==r)for(const t of r){if(L(e,t.accept))return!1;if(L(e,t.reject))return!0}return!1}function L(e,t){let r=t;const A=[];for(let e=0;e{await k(r,{report:t},async()=>{t.reportJson({base:r.cwd});const e=await N(r);for(const r of e)t.reportInfo(null,r),t.reportJson({location:r});if(!this.dryRun){const t=await K(r,e),n=E.xfs.createWriteStream(A);t.pipe(n),await new Promise(e=>{n.on("finish",e)})}}),this.dryRun||(t.reportInfo(i.b.UNNAMED,"Package archive generated in "+h.pretty(e,A,h.Type.PATH)),t.reportJson({output:A}))})).exitCode()}}O.usage=a.Command.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]}),(0,s.gn)([a.Command.Boolean("--install-if-needed",{description:"Run a preliminary `yarn install` if the package contains build scripts"})],O.prototype,"installIfNeeded",void 0),(0,s.gn)([a.Command.Boolean("-n,--dry-run",{description:"Print the file paths without actually generating the package archive"})],O.prototype,"dryRun",void 0),(0,s.gn)([a.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],O.prototype,"json",void 0),(0,s.gn)([a.Command.String("--filename",{hidden:!1,description:"Create the archive at the specified path"}),a.Command.String("-o,--out",{description:"Create the archive at the specified path"})],O.prototype,"out",void 0),(0,s.gn)([a.Command.Path("pack")],O.prototype,"execute",null);const U=["dependencies","devDependencies","peerDependencies"],T={hooks:{beforeWorkspacePacking:(e,t)=>{t.publishConfig&&(t.publishConfig.main&&(t.main=t.publishConfig.main),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.module&&(t.module=t.publishConfig.module),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.bin&&(t.bin=t.publishConfig.bin));const r=e.project;for(const A of U)for(const s of e.manifest.getForScope(A).values()){const e=r.tryWorkspaceByDescriptor(s),a=n.parseRange(s.range);if("workspace:"===a.protocol)if(null===e){if(null===r.tryWorkspaceByIdent(s))throw new o.lk(i.b.WORKSPACE_NOT_FOUND,n.prettyDescriptor(r.configuration,s)+": No local workspace found for this range")}else{let r;r=n.areDescriptorsEqual(s,e.anchoredDescriptor)||"*"===a.selector?e.manifest.version:a.selector,t[A][n.stringifyIdent(s)]=r}}}},commands:[O]}},29936:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>re,patchUtils:()=>A});var A={};r.r(A),r.d(A,{applyPatchFile:()=>S,diffFolders:()=>H,extractPackageToDisk:()=>G,isParentRequired:()=>j,loadPatchFiles:()=>Y,makeDescriptor:()=>O,makeLocator:()=>U,parseDescriptor:()=>x,parseLocator:()=>L,parsePatchFile:()=>D});var n=r(39922),o=r(35691),i=r(92659),s=r(54143),a=r(73632),c=r(43896),g=r(46009),l=r(90739),u=r(75448),h=r(65281),p=r(33720),d=r(6220),C=r(36545),f=r(78420);class I extends Error{constructor(e,t){super("Cannot apply hunk #"+(e+1)),this.hunk=t}}const E=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function B(e){return g.y1.relative(g.LZ.root,g.y1.resolve(g.LZ.root,g.cS.toPortablePath(e)))}function y(e){const t=e.trim().match(E);if(!t)throw new Error(`Bad header line: '${e}'`);return{original:{start:Math.max(Number(t[1]),1),length:Number(t[3]||1)},patched:{start:Math.max(Number(t[4]),1),length:Number(t[6]||1)}}}var m;!function(e){e.Context="context",e.Insertion="insertion",e.Deletion="deletion"}(m||(m={}));const w={"@":"header","-":m.Deletion,"+":m.Insertion," ":m.Context,"\\":"pragma",undefined:m.Context};function Q(e){const t=511&parseInt(e,8);if(420!==t&&493!==t)throw new Error("Unexpected file mode string: "+e);return t}function D(e){const t=e.split(/\n/g);return""===t[t.length-1]&&t.pop(),function(e){const t=[];for(const r of e){const{semverExclusivity:e,diffLineFromPath:A,diffLineToPath:n,oldMode:o,newMode:i,deletedFileMode:s,newFileMode:c,renameFrom:g,renameTo:l,beforeHash:u,afterHash:h,fromPath:p,toPath:d,hunks:C}=r,f=g?"rename":s?"file deletion":c?"file creation":C&&C.length>0?"patch":"mode change";let I=null;switch(f){case"rename":if(!g||!l)throw new Error("Bad parser state: rename from & to not given");t.push({type:"rename",semverExclusivity:e,fromPath:B(g),toPath:B(l)}),I=l;break;case"file deletion":{const r=A||p;if(!r)throw new Error("Bad parse state: no path given for file deletion");t.push({type:"file deletion",semverExclusivity:e,hunk:C&&C[0]||null,path:B(r),mode:Q(s),hash:u})}break;case"file creation":{const r=n||d;if(!r)throw new Error("Bad parse state: no path given for file creation");t.push({type:"file creation",semverExclusivity:e,hunk:C&&C[0]||null,path:B(r),mode:Q(c),hash:h})}break;case"patch":case"mode change":I=d||n;break;default:a.assertNever(f)}I&&o&&i&&o!==i&&t.push({type:"mode change",semverExclusivity:e,path:B(I),oldMode:Q(o),newMode:Q(i)}),I&&C&&C.length&&t.push({type:"patch",semverExclusivity:e,path:B(I),hunks:C,beforeHash:u,afterHash:h})}return t}(function(e){const t=[];let r={semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null},A="parsing header",n=null,o=null;function i(){n&&(o&&(n.parts.push(o),o=null),r.hunks.push(n),n=null)}function s(){i(),t.push(r),r={semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}}for(let t=0;te<0?e:"+"+e;throw new Error(`hunk header integrity check failed (expected @@ ${A(e.header.original.length)} ${A(e.header.patched.length)} @@, got @@ ${A(t)} ${A(r)} @@)`)}}async function v(e,t,r){const A=await e.lstatPromise(t),n=await r();if(void 0!==n&&(t=n),e.lutimesPromise)await e.lutimesPromise(t,A.atime,A.mtime);else{if(A.isSymbolicLink())throw new Error("Cannot preserve the time values of a symlink");await e.utimesPromise(t,A.atime,A.mtime)}}async function S(e,{baseFs:t=new f.S,dryRun:r=!1,version:A=null}={}){for(const n of e)if(null===n.semverExclusivity||null===A||C.satisfiesWithPrereleases(A,n.semverExclusivity))switch(n.type){case"file deletion":if(r){if(!t.existsSync(n.path))throw new Error("Trying to delete a file that doesn't exist: "+n.path)}else await v(t,g.y1.dirname(n.path),async()=>{await t.unlinkPromise(n.path)});break;case"rename":if(r){if(!t.existsSync(n.fromPath))throw new Error("Trying to move a file that doesn't exist: "+n.fromPath)}else await v(t,g.y1.dirname(n.fromPath),async()=>{await v(t,g.y1.dirname(n.toPath),async()=>{await v(t,n.fromPath,async()=>(await t.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(t.existsSync(n.path))throw new Error("Trying to create a file that already exists: "+n.path)}else{const e=n.hunk?n.hunk.parts[0].lines.join("\n")+(n.hunk.parts[0].noNewlineAtEndOfFile?"":"\n"):"";await t.mkdirpPromise(g.y1.dirname(n.path),{chmod:493,utimes:[315532800,315532800]}),await t.writeFilePromise(n.path,e,{mode:n.mode}),await t.utimesPromise(n.path,315532800,315532800)}break;case"patch":await v(t,n.path,async()=>{await F(n,{baseFs:t,dryRun:r})});break;case"mode change":{const e=(await t.statPromise(n.path)).mode;if(k(n.newMode)!==k(e))continue;await v(t,n.path,async()=>{await t.chmodPromise(n.path,n.newMode)})}break;default:a.assertNever(n)}}function k(e){return(64&e)>0}function K(e){return e.replace(/\s+$/,"")}async function F({hunks:e,path:t},{baseFs:r,dryRun:A=!1}){const n=await r.statSync(t).mode,o=(await r.readFileSync(t,"utf8")).split(/\n/),i=[];let s=0,c=0;for(const t of e){const r=Math.max(c,t.header.patched.start+s),A=Math.max(0,r-c),n=Math.max(0,o.length-r-t.header.original.length),a=Math.max(A,n);let g=0,l=0,u=null;for(;g<=a;){if(g<=A&&(l=r-g,u=N(t,o,l),null!==u)){g=-g;break}if(g<=n&&(l=r+g,u=N(t,o,l),null!==u))break;g+=1}if(null===u)throw new I(e.indexOf(t),t);i.push(u),s+=g,c=l+t.header.original.length}if(A)return;let g=0;for(const e of i)for(const t of e)switch(t.type){case"splice":{const e=t.index+g;o.splice(e,t.numToDelete,...t.linesToInsert),g+=t.linesToInsert.length-t.numToDelete}break;case"pop":o.pop();break;case"push":o.push(t.line);break;default:a.assertNever(t)}await r.writeFilePromise(t,o.join("\n"),{mode:n})}function N(e,t,r){const A=[];for(const o of e.parts)switch(o.type){case m.Context:case m.Deletion:for(const e of o.lines){const A=t[r];if(null==A||(n=e,K(A)!==K(n)))return null;r+=1}o.type===m.Deletion&&(A.push({type:"splice",index:r-o.lines.length,numToDelete:o.lines.length,linesToInsert:[]}),o.noNewlineAtEndOfFile&&A.push({type:"push",line:""}));break;case m.Insertion:A.push({type:"splice",index:r,numToDelete:0,linesToInsert:o.lines}),o.noNewlineAtEndOfFile&&A.push({type:"pop"});break;default:a.assertNever(o.type)}var n;return A}const M=/^builtin<([^>]+)>$/;function R(e,t){const{source:r,selector:A,params:n}=s.parseRange(e);if(null===r)throw new Error("Patch locators must explicitly define their source");const o=A?A.split(/&/).map(e=>g.cS.toPortablePath(e)):[],i=n&&"string"==typeof n.locator?s.parseLocator(n.locator):null,a=n&&"string"==typeof n.version?n.version:null;return{parentLocator:i,sourceItem:t(r),patchPaths:o,sourceVersion:a}}function x(e){const{sourceItem:t,...r}=R(e.range,s.parseDescriptor);return{...r,sourceDescriptor:t}}function L(e){const{sourceItem:t,...r}=R(e.reference,s.parseLocator);return{...r,sourceLocator:t}}function P({parentLocator:e,sourceItem:t,patchPaths:r,sourceVersion:A,patchHash:n},o){const i=null!==e?{locator:s.stringifyLocator(e)}:{},a=void 0!==A?{version:A}:{},c=void 0!==n?{hash:n}:{};return s.makeRange({protocol:"patch:",source:o(t),selector:r.join("&"),params:{...a,...c,...i}})}function O(e,{parentLocator:t,sourceDescriptor:r,patchPaths:A}){return s.makeLocator(e,P({parentLocator:t,sourceItem:r,patchPaths:A},s.stringifyDescriptor))}function U(e,{parentLocator:t,sourcePackage:r,patchPaths:A,patchHash:n}){return s.makeLocator(e,P({parentLocator:t,sourceItem:r,sourceVersion:r.version,patchPaths:A,patchHash:n},s.stringifyLocator))}function T({onAbsolute:e,onRelative:t,onBuiltin:r},A){const n=A.match(M);return null!==n?r(n[1]):g.y1.isAbsolute(A)?e(A):t(A)}function j(e){return T({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},e)}async function Y(e,t,r){const A=null!==e?await r.fetcher.fetch(e,r):null,n=A&&A.localPath?{packageFs:new u.M(g.LZ.root),prefixPath:g.y1.relative(g.LZ.root,A.localPath)}:A;A&&A!==n&&A.releaseFs&&A.releaseFs();return(await a.releaseAfterUseAsync(async()=>await Promise.all(t.map(async e=>T({onAbsolute:async()=>await c.xfs.readFilePromise(e,"utf8"),onRelative:async()=>{if(null===A)throw new Error("Assertion failed: The parent locator should have been fetched");return await A.packageFs.readFilePromise(e,"utf8")},onBuiltin:async e=>await r.project.configuration.firstHook(e=>e.getBuiltinPatch,r.project,e)},e))))).map(e=>"string"==typeof e?e.replace(/\r\n?/g,"\n"):e)}async function G(e,{cache:t,project:r}){const A=r.storedChecksums,n=new p.$,o=r.configuration.makeFetcher(),i=await o.fetch(e,{cache:t,project:r,fetcher:o,checksums:A,report:n}),a=await c.xfs.mktempPromise();return await c.xfs.copyPromise(a,i.prefixPath,{baseFs:i.packageFs}),await c.xfs.writeJsonPromise(g.y1.join(a,".yarn-patch.json"),{locator:s.stringifyLocator(e)}),c.xfs.detachTemp(a),a}async function H(e,t){const r=g.cS.fromPortablePath(e).replace(/\\/g,"/"),A=g.cS.fromPortablePath(t).replace(/\\/g,"/"),{stdout:n}=await d.execvp("git",["diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index",r,A],{cwd:g.cS.toPortablePath(process.cwd())}),o=r.startsWith("/")?e=>e.slice(1):e=>e;return n.replace(new RegExp(`(a|b)(${a.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp("(a|b)"+a.escapeRegExp(`/${o(A)}/`),"g"),"$1/").replace(new RegExp(a.escapeRegExp(r+"/"),"g"),"").replace(new RegExp(a.escapeRegExp(A+"/"),"g"),"")}var J=r(71643);function q(e,{configuration:t,report:r}){for(const A of e.parts)for(const e of A.lines)switch(A.type){case m.Context:r.reportInfo(null," "+J.pretty(t,e,"grey"));break;case m.Deletion:r.reportError(i.b.FROZEN_LOCKFILE_EXCEPTION,"- "+J.pretty(t,e,J.Type.REMOVED));break;case m.Insertion:r.reportError(i.b.FROZEN_LOCKFILE_EXCEPTION,"+ "+J.pretty(t,e,J.Type.ADDED));break;default:a.assertNever(A.type)}}var z=r(20624);var W=r(36370),X=r(25413),V=r(85824),_=r(28148),Z=r(40822);class $ extends X.BaseCommand{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await V.I.find(e,this.context.cwd),A=await _.C.find(e);if(!r)throw new X.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const o=g.y1.resolve(this.context.cwd,g.cS.toPortablePath(this.patchFolder)),i=g.y1.join(o,".yarn-patch.json");if(!c.xfs.existsSync(i))throw new Z.UsageError("The argument folder didn't get created by 'yarn patch'");const a=await c.xfs.readJsonPromise(i),l=s.parseLocator(a.locator,!0);if(!t.storedPackages.has(l.locatorHash))throw new Z.UsageError("No package found in the project for the given locator");const u=await G(l,{cache:A,project:t});this.context.stdout.write(await H(u,o))}}$.usage=Z.Command.Usage({description:"\n This will turn the folder passed in parameter into a patchfile suitable for consumption with the `patch:` protocol.\n\n Only folders generated through `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "}),(0,W.gn)([Z.Command.String()],$.prototype,"patchFolder",void 0),(0,W.gn)([Z.Command.Path("patch-commit")],$.prototype,"execute",null);var ee=r(15815);class te extends X.BaseCommand{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await V.I.find(e,this.context.cwd),A=await _.C.find(e);if(!r)throw new X.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();let o=s.parseLocator(this.package);if("unknown"===o.reference){const r=a.mapAndFilter([...t.storedPackages.values()],e=>e.identHash!==o.identHash||s.isVirtualLocator(e)?a.mapAndFilter.skip:e);if(0===r.length)throw new Z.UsageError("No package found in the project for the given locator");if(r.length>1)throw new Z.UsageError("Multiple candidate packages found; explicitly choose one of them (use `yarn why ` to get more information as to who depends on them):\n"+r.map(t=>"\n- "+s.prettyLocator(e,t)).join(""));o=r[0]}if(!t.storedPackages.has(o.locatorHash))throw new Z.UsageError("No package found in the project for the given locator");await ee.Pk.start({configuration:e,stdout:this.context.stdout},async r=>{const n=await G(o,{cache:A,project:t});r.reportInfo(i.b.UNNAMED,`Package ${s.prettyLocator(e,o)} got extracted with success!`),r.reportInfo(i.b.UNNAMED,"You can now edit the following folder: "+J.pretty(e,g.cS.fromPortablePath(n),"magenta")),r.reportInfo(i.b.UNNAMED,`Once you are done run ${J.pretty(e,"yarn patch-commit "+g.cS.fromPortablePath(n),"cyan")} and Yarn will store a patchfile based on your changes.`)})}}te.usage=Z.Command.Usage({description:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '}),(0,W.gn)([Z.Command.String()],te.prototype,"package",void 0),(0,W.gn)([Z.Command.Path("patch")],te.prototype,"execute",null);const re={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:n.a2.BOOLEAN,default:!1}},commands:[$,te],fetchers:[class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){const r=t.checksums.get(e.locatorHash)||null,[A,n,o]=await t.cache.fetchPackageFromCache(e,r,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,s.prettyLocator(t.project.configuration,e)+" can't be found in the cache and will be fetched from the disk"),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck});return{packageFs:A,releaseFs:n,prefixPath:s.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){const{parentLocator:r,sourceLocator:A,sourceVersion:n,patchPaths:p}=L(e),d=await Y(r,p,t),C=await c.xfs.mktempPromise(),f=g.y1.join(C,"patched.zip"),E=await t.fetcher.fetch(A,t),B=s.getIdentVendorPath(e),y=await(0,h.getLibzipPromise)(),m=new l.d(f,{libzip:y,create:!0,level:t.project.configuration.get("compressionLevel")});await m.mkdirpPromise(B),await a.releaseAfterUseAsync(async()=>{await m.copyPromise(B,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs);const w=new u.M(g.y1.resolve(g.LZ.root,B),{baseFs:m});for(const e of d)if(null!==e)try{await S(D(e),{baseFs:w,version:n})}catch(e){if(!(e instanceof I))throw e;const r=t.project.configuration.get("enableInlineHunks"),A=r?"":" (set enableInlineHunks for details)";throw new o.lk(i.b.PATCH_HUNK_FAILED,e.message+A,A=>{r&&q(e.hunk,{configuration:t.project.configuration,report:A})})}return m}}],resolvers:[class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){const{patchPaths:A}=x(e);return A.every(e=>!j(e))?e:s.bindDescriptor(e,{locator:s.stringifyLocator(t)})}getResolutionDependencies(e,t){const{sourceDescriptor:r}=x(e);return[r]}async getCandidates(e,t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const{parentLocator:A,sourceDescriptor:n,patchPaths:o}=x(e),i=await Y(A,o,r.fetchOptions),s=t.get(n.descriptorHash);if(void 0===s)throw new Error("Assertion failed: The dependency should have been resolved");return[U(e,{parentLocator:A,sourcePackage:s,patchPaths:o,patchHash:z.makeHash("2",...i).slice(0,6)})]}async getSatisfying(e,t,r){return null}async resolve(e,t){const{sourceLocator:r}=L(e);return{...await t.resolver.resolve(r,t),...e}}}]}},83228:(e,t,r)=>{"use strict";r.r(t),r.d(t,{PnpInstaller:()=>k,PnpLinker:()=>S,default:()=>Y,getPnpPath:()=>T,jsInstallUtils:()=>A,pnpUtils:()=>n,quotePathIfNeeded:()=>j});var A={};r.r(A),r.d(A,{checkAndReportManifestCompatibility:()=>y,extractBuildScripts:()=>m,getExtractHint:()=>Q,hasBindingGyp:()=>D});var n={};r.r(n),r.d(n,{getUnpluggedPath:()=>b});var o=r(39922),i=r(43896),s=r(46009),a=r(53887),c=r.n(a),g=r(54143),l=r(71643),u=r(73632),h=r(32485),p=r(92659),d=r(46611),C=r(17674),f=r(75448),I=r(34432),E=r(40822),B=r(92409);function y(e,t,r,{configuration:A,report:n}){return d.G.isManifestFieldCompatible(t.manifest.os,process.platform)?!!d.G.isManifestFieldCompatible(t.manifest.cpu,process.arch)||(null==n||n.reportWarningOnce(p.b.INCOMPATIBLE_CPU,`${g.prettyLocator(A,e)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(null==n||n.reportWarningOnce(p.b.INCOMPATIBLE_OS,`${g.prettyLocator(A,e)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function m(e,t,r,{configuration:A,report:n}){const o=[];for(const e of["preinstall","install","postinstall"])t.manifest.scripts.has(e)&&o.push([B.k.SCRIPT,e]);if(!t.manifest.scripts.has("install")&&t.misc.hasBindingGyp&&o.push([B.k.SHELLCODE,"node-gyp rebuild"]),0===o.length)return[];if(!A.get("enableScripts")&&!r.built)return null==n||n.reportWarningOnce(p.b.DISABLED_BUILD_SCRIPTS,g.prettyLocator(A,e)+" lists build scripts, but all build scripts have been disabled."),[];if(e.linkType!==h.Un.HARD)return null==n||n.reportWarningOnce(p.b.SOFT_LINK_BUILD,g.prettyLocator(A,e)+" lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored."),[];if(r&&!1===r.built)return null==n||n.reportInfoOnce(p.b.BUILD_DISABLED,g.prettyLocator(A,e)+" lists build scripts, but its build has been explicitly disabled through configuration."),[];return y(e,t,"build",{configuration:A,report:n})?o:[]}const w=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function Q(e){return e.packageFs.getExtractHint({relevantExtensions:w})}function D(e){const t=s.y1.join(e.prefixPath,"binding.gyp");return e.packageFs.existsSync(t)}function b(e,{configuration:t}){return s.y1.resolve(t.get("pnpUnpluggedFolder"),g.slugifyLocator(e))}const v=new Set([g.makeIdent(null,"nan").identHash,g.makeIdent(null,"node-gyp").identHash,g.makeIdent(null,"node-pre-gyp").identHash,g.makeIdent(null,"node-addon-api").identHash,g.makeIdent(null,"fsevents").identHash]);class S{constructor(){this.mode="strict"}supportsPackage(e,t){return"pnp"===t.project.configuration.get("nodeLinker")&&t.project.configuration.get("pnpMode")===this.mode}async findPackageLocation(e,t){const r=T(t.project).main;if(!i.xfs.existsSync(r))throw new E.UsageError(`The project in ${l.pretty(t.project.configuration,t.project.cwd+"/package.json",l.Type.PATH)} doesn't seem to have been installed - running an install there might help`);const A=u.dynamicRequireNoCache(r),n={name:g.requirableIdent(e),reference:e.reference},o=A.getPackageInformation(n);if(!o)throw new E.UsageError(`Couldn't find ${g.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return s.cS.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){const A=T(t.project).main;if(!i.xfs.existsSync(A))return null;const n=s.cS.fromPortablePath(A),o=u.dynamicRequire(n);delete r.c[n];const a=o.findPackageLocator(s.cS.fromPortablePath(e));return a?g.makeLocator(g.parseIdent(a.name),a.reference):null}makeInstaller(e){return new k(e)}}class k{constructor(e){this.opts=e,this.mode="strict",this.packageRegistry=new Map,this.virtualTemplates=new Map,this.customData={store:new Map},this.unpluggedPaths=new Set,this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,t){const r=g.requirableIdent(e),A=e.reference,n=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!g.isVirtualLocator(e),i=!o&&!n,a=!o&&e.linkType!==h.Un.SOFT;let c=this.customData.store.get(e.locatorHash);void 0===c&&(c=await async function(e,t){var r;const A=null!==(r=await d.G.tryFind(t.prefixPath,{baseFs:t.packageFs}))&&void 0!==r?r:new d.G,n=new Set(["preinstall","install","postinstall"]);for(const e of A.scripts.keys())n.has(e)||A.scripts.delete(e);return{manifest:{os:A.os,cpu:A.cpu,scripts:A.scripts,preferUnplugged:A.preferUnplugged},misc:{extractHint:Q(t),hasBindingGyp:D(t)}}}(0,t),e.linkType===h.Un.HARD&&this.customData.store.set(e.locatorHash,c));const l=this.opts.project.getDependencyMeta(e,e.version),p=i?m(e,c,l,{configuration:this.opts.project.configuration,report:this.opts.report}):[],f=a?await this.unplugPackageIfNeeded(e,c,t,l):t.packageFs;if(s.y1.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);const I=s.y1.resolve(f.getRealPath(),t.prefixPath),E=K(this.opts.project.cwd,I),B=new Map,y=new Set;if(g.isVirtualLocator(e)){for(const t of e.peerDependencies.values())B.set(g.requirableIdent(t),null),y.add(g.stringifyIdent(t));if(!this.opts.project.tryWorkspaceByLocator(e)){const t=g.devirtualizeLocator(e);this.virtualTemplates.set(t.locatorHash,{location:K(this.opts.project.cwd,C.p.resolveVirtual(I)),locator:t})}}return u.getMapWithDefault(this.packageRegistry,r).set(A,{packageLocation:E,packageDependencies:B,packagePeers:y,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:I,buildDirective:p.length>0?p:null}}async attachInternalDependencies(e,t){const r=this.getPackageInformation(e);for(const[e,A]of t){const t=g.areIdentsEqual(e,A)?A.reference:[g.requirableIdent(A),A.reference];r.packageDependencies.set(g.requirableIdent(e),t)}}async attachExternalDependents(e,t){for(const r of t){this.getDiskInformation(r).packageDependencies.set(g.requirableIdent(e),e.reference)}}async finalizeInstall(){const e=new Set;for(const{locator:e,location:t}of this.virtualTemplates.values())u.getMapWithDefault(this.packageRegistry,g.stringifyIdent(e)).set(e.reference,{packageLocation:t,packageDependencies:new Map,packagePeers:new Set,linkType:h.Un.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));const t=this.opts.project.configuration.get("pnpFallbackMode"),r=e,A=this.opts.project.workspaces.map(({anchoredLocator:e})=>({name:g.requirableIdent(e),reference:e.reference})),n="none"!==t,o=[],i=new Map,s=u.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),a=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if("dependencies-only"===t)for(const e of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(e)&&o.push({name:g.requirableIdent(e),reference:e.reference});return await this.finalizeInstallWithPnp({blacklistedLocations:r,dependencyTreeRoots:A,enableTopLevelFallback:n,fallbackExclusionList:o,fallbackPool:i,ignorePattern:s,packageRegistry:a,shebang:c}),{customData:this.customData}}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=T(this.opts.project),r=this.opts.project.configuration.get("pnpDataPath");if(await i.xfs.removePromise(t.other),"pnp"!==this.opts.project.configuration.get("nodeLinker"))return await i.xfs.removePromise(t.main),void await i.xfs.removePromise(r);const A=await this.locateNodeModules(e.ignorePattern);if(A.length>0){this.opts.report.reportWarning(p.b.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(const e of A)await i.xfs.removePromise(e)}if(this.opts.project.configuration.get("pnpEnableInlining")){const A=(0,I.gY)(e);await i.xfs.changeFilePromise(t.main,A,{automaticNewlines:!0}),await i.xfs.chmodPromise(t.main,493),await i.xfs.removePromise(r)}else{const A=s.y1.relative(s.y1.dirname(t.main),r),{dataFile:n,loaderFile:o}=(0,I.Q$)({...e,dataLocation:A});await i.xfs.changeFilePromise(t.main,o,{automaticNewlines:!0}),await i.xfs.chmodPromise(t.main,493),await i.xfs.changeFilePromise(r,n,{automaticNewlines:!0}),await i.xfs.chmodPromise(r,420)}const n=this.opts.project.configuration.get("pnpUnpluggedFolder");if(0===this.unpluggedPaths.size)await i.xfs.removePromise(n);else for(const e of await i.xfs.readdirPromise(n)){const t=s.y1.resolve(n,e);this.unpluggedPaths.has(t)||await i.xfs.removePromise(t)}}async locateNodeModules(e){const t=[],r=e?new RegExp(e):null;for(const e of this.opts.project.workspaces){const A=s.y1.join(e.cwd,"node_modules");if(r&&r.test(s.y1.relative(this.opts.project.cwd,e.cwd))||!i.xfs.existsSync(A))continue;const n=await i.xfs.readdirPromise(A,{withFileTypes:!0}),o=n.filter(e=>!e.isDirectory()||".bin"===e.name||!e.name.startsWith("."));if(o.length===n.length)t.push(A);else for(const e of o)t.push(s.y1.join(A,e.name))}return t}async unplugPackageIfNeeded(e,t,r,A){return this.shouldBeUnplugged(e,t,A)?this.unplugPackage(e,r):r.packageFs}shouldBeUnplugged(e,t,r){return void 0!==r.unplugged?r.unplugged:!!v.has(e.identHash)||(null!==t.manifest.preferUnplugged?t.manifest.preferUnplugged:!!(m(e,t,r,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint))}async unplugPackage(e,t){const r=b(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(r);const A=s.y1.join(r,t.prefixPath,".ready");return await i.xfs.existsPromise(A)||(await i.xfs.mkdirPromise(r,{recursive:!0}),await i.xfs.copyPromise(r,s.LZ.dot,{baseFs:t.packageFs,overwrite:!1}),await i.xfs.writeFilePromise(A,"")),new f.M(r)}getPackageInformation(e){const t=g.requirableIdent(e),r=e.reference,A=this.packageRegistry.get(t);if(!A)throw new Error(`Assertion failed: The package information store should have been available (for ${g.prettyIdent(this.opts.project.configuration,e)})`);const n=A.get(r);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${g.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){const t=u.getMapWithDefault(this.packageRegistry,"@@disk"),r=K(this.opts.project.cwd,e);return u.getFactoryWithDefault(t,r,()=>({packageLocation:r,packageDependencies:new Map,packagePeers:new Set,linkType:h.Un.SOFT,discardFromLookup:!1}))}}function K(e,t){let r=s.y1.relative(e,t);return r.match(/^\.{0,2}\//)||(r="./"+r),r.replace(/\/?$/,"/")}var F=r(36370),N=r(25413),M=r(85824),R=r(28148),x=r(15815),L=r(36545),P=r(2401),O=r.n(P);class U extends N.BaseCommand{constructor(){super(...arguments),this.patterns=[],this.all=!1,this.recursive=!1,this.json=!1}async execute(){const e=await o.VK.find(this.context.cwd,this.context.plugins),{project:t,workspace:r}=await M.I.find(e,this.context.cwd),A=await R.C.find(e);if(!r)throw new N.WorkspaceRequiredError(t.cwd,this.context.cwd);if("pnp"!==e.get("nodeLinker"))throw new E.UsageError("This command can only be used if the `nodeLinker` option is set to `pnp`");await t.restoreInstallState();const n=new Set(this.patterns),i=this.patterns.map(t=>{const r=g.parseDescriptor(t),A="unknown"!==r.range?r:g.makeDescriptor(r,"*");if(!c().validRange(A.range))throw new E.UsageError(`The range of the descriptor patterns must be a valid semver range (${g.prettyDescriptor(e,A)})`);return e=>{const r=g.stringifyIdent(e);return!!O().isMatch(r,g.stringifyIdent(A))&&(!(e.version&&!L.satisfiesWithPrereleases(e.version,A.range))&&(n.delete(t),!0))}}),s=e=>{const r=new Set,A=[],n=(e,o)=>{if(!r.has(e.locatorHash)&&(r.add(e.locatorHash),!t.tryWorkspaceByLocator(e)&&i.some(t=>t(e))&&A.push(e),!(o>0)||this.recursive))for(const r of e.dependencies.values()){const e=t.storedResolutions.get(r.descriptorHash);if(!e)throw new Error("Assertion failed: The resolution should have been registered");const A=t.storedPackages.get(e);if(!A)throw new Error("Assertion failed: The package should have been registered");n(A,o+1)}};for(const r of e){const e=t.storedPackages.get(r.anchoredLocator.locatorHash);if(!e)throw new Error("Assertion failed: The package should have been registered");n(e,0)}return A};let a,h;if(this.all&&this.recursive?(a=(()=>{const e=[];for(const r of t.storedPackages.values())t.tryWorkspaceByLocator(r)||g.isVirtualLocator(r)||!i.some(e=>e(r))||e.push(r);return e})(),h="the project"):this.all?(a=s(t.workspaces),h="any workspace"):(a=s([r]),h="this workspace"),n.size>1)throw new E.UsageError(`Patterns ${l.prettyList(e,n,l.Type.CODE)} don't match any packages referenced by ${h}`);if(n.size>0)throw new E.UsageError(`Pattern ${l.prettyList(e,n,l.Type.CODE)} doesn't match any packages referenced by ${h}`);a=u.sortMap(a,e=>g.stringifyLocator(e));return(await x.Pk.start({configuration:e,stdout:this.context.stdout,json:this.json},async r=>{var n;for(const A of a){const o=null!==(n=A.version)&&void 0!==n?n:"unknown";t.topLevelWorkspace.manifest.ensureDependencyMeta(g.makeDescriptor(A,o)).unplugged=!0,r.reportInfo(p.b.UNNAMED,`Will unpack ${g.prettyLocator(e,A)} to ${l.pretty(e,b(A,{configuration:e}),l.Type.PATH)}`),r.reportJson({locator:g.stringifyLocator(A),version:o})}await t.topLevelWorkspace.persistManifest(),r.reportSeparator(),await t.install({cache:A,report:r})})).exitCode()}}U.usage=E.Command.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]}),(0,F.gn)([E.Command.Rest()],U.prototype,"patterns",void 0),(0,F.gn)([E.Command.Boolean("-A,--all",{description:"Unplug direct dependencies from the entire project"})],U.prototype,"all",void 0),(0,F.gn)([E.Command.Boolean("-R,--recursive",{description:"Unplug both direct and transitive dependencies"})],U.prototype,"recursive",void 0),(0,F.gn)([E.Command.Boolean("--json",{description:"Format the output as an NDJSON stream"})],U.prototype,"json",void 0),(0,F.gn)([E.Command.Path("unplug")],U.prototype,"execute",null);const T=e=>{let t,r;return"module"===e.topLevelWorkspace.manifest.type?(t=".pnp.cjs",r=".pnp.js"):(t=".pnp.js",r=".pnp.cjs"),{main:s.y1.join(e.cwd,t),other:s.y1.join(e.cwd,r)}},j=e=>/\s/.test(e)?JSON.stringify(e):e;const Y={hooks:{populateYarnPaths:async function(e,t){t(T(e).main),t(T(e).other),t(e.configuration.get("pnpDataPath")),t(e.configuration.get("pnpUnpluggedFolder"))},setupScriptEnvironment:async function(e,t,r){const A=T(e).main,n="--require "+j(s.cS.fromPortablePath(A));if(A.includes(" ")&&c().lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(i.xfs.existsSync(A)){let e=t.NODE_OPTIONS||"";const r=/\s*--require\s+\S*\.pnp\.c?js\s*/g;e=e.replace(r," ").trim(),e=e?`${n} ${e}`:n,t.NODE_OPTIONS=e}}},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:o.a2.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:o.a2.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:o.a2.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:o.a2.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:o.a2.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:o.a2.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:o.a2.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:o.a2.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[S],commands:[U]}},43418:(e,t,r)=>{"use strict";r.r(t);var A=r(50683),n=r.n(A);Object.fromEntries||(Object.fromEntries=n());var o=r(59355),i=r(10419),s=r(45330);(0,i.D)({binaryVersion:o.o||"",pluginConfiguration:(0,s.e)()})},25413:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BaseCommand:()=>A.F,WorkspaceRequiredError:()=>s,getDynamicLibs:()=>c,getPluginConfiguration:()=>g.e,main:()=>h.D,openWorkspace:()=>u,pluginCommands:()=>p.f});var A=r(56087),n=r(46611),o=r(46009),i=r(40822);class s extends i.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${o.y1.relative(e,t)} isn't a workspace of ${o.y1.join(e,n.G.fileName)}).`)}}const a=["@yarnpkg/cli","@yarnpkg/core","@yarnpkg/fslib","@yarnpkg/libzip","@yarnpkg/parsers","@yarnpkg/shell","clipanion","semver","yup"],c=()=>new Map(a.map(e=>[e,r(98497)(e)]));var g=r(45330),l=r(85824);async function u(e,t){const{project:r,workspace:A}=await l.I.find(e,t);if(!A)throw new s(r.cwd,t);return A}var h=r(10419),p=r(15683)},10419:(e,t,r)=>{"use strict";r.d(t,{D:()=>f});var A=r(36545),n=r(39922),o=r(81832),i=r(43896),s=r(46009),a=r(63129),c=r(5864),g=r(40822),l=r(35747),u=r(15683),h=r(36370),p=r(71643),d=r(56087);class C extends d.F{async execute(){const e=await n.VK.find(this.context.cwd,this.context.plugins);this.context.stdout.write((e=>`\n${p.pretty(e,"Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${p.pretty(e,"https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${p.pretty(e,"https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${p.pretty(e,"https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${p.pretty(e,"find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${p.pretty(e,"yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${p.pretty(e,"yarn set version from sources","magenta")}\n\nSee you later 👋\n`)(e).trim()+"\n")}}async function f({binaryVersion:e,pluginConfiguration:t}){async function r(){const h=new g.Cli({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:e});h.register(C);try{await async function h(p){var d,C,f,I,E;const B=process.versions.node,y=">=10.17 <14 || >14.1";if("1"!==process.env.YARN_IGNORE_NODE&&!A.satisfiesWithPrereleases(B,y))throw new g.UsageError(`This tool requires a Node version compatible with ${y} (got ${B}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);const m=await n.VK.find(s.cS.toPortablePath(process.cwd()),t,{usePath:!0,strict:!1}),w=m.get("yarnPath"),Q=m.get("ignorePath"),D=m.get("ignoreCwd");if(!Q&&!D&&w===s.cS.toPortablePath(s.cS.resolve(process.argv[1])))return process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",void await h(p);if(null===w||Q){Q&&delete process.env.YARN_IGNORE_PATH;m.get("enableTelemetry")&&!c.isCI&&process.stdout.isTTY&&(n.VK.telemetry=new o.E(m,"puba9cdc10ec5790a2cf4969dd413a47270")),null===(d=n.VK.telemetry)||void 0===d||d.reportVersion(e);for(const[e,t]of m.plugins.entries()){u.f.has(null!==(f=null===(C=e.match(/^@yarnpkg\/plugin-(.*)$/))||void 0===C?void 0:C[1])&&void 0!==f?f:"")&&(null===(I=n.VK.telemetry)||void 0===I||I.reportPluginName(e));for(const e of t.commands||[])p.register(e)}const A=p.process(process.argv.slice(2));A.help||null===(E=n.VK.telemetry)||void 0===E||E.reportCommandName(A.path.join(" "));const i=A.cwd;if(void 0!==i&&!D){const e=(0,l.realpathSync)(process.cwd()),t=(0,l.realpathSync)(i);if(e!==t)return process.chdir(i),void await r()}await p.runExit(A,{cwd:s.cS.toPortablePath(process.cwd()),plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}else if(i.xfs.existsSync(w))try{!function(e){const t=s.cS.fromPortablePath(e);process.on("SIGINT",()=>{}),t?(0,a.execFileSync)(process.execPath,[t,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,a.execFileSync)(t,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}(w)}catch(e){process.exitCode=e.code||1}else process.stdout.write(p.error(new Error(`The "yarn-path" option has been set (in ${m.sources.get("yarnPath")}), but the specified location doesn't exist (${w}).`))),process.exitCode=1}(h)}catch(e){process.stdout.write(h.error(e)),process.exitCode=1}}return r().catch(e=>{process.stdout.write(e.stack||e.message),process.exitCode=1}).finally(()=>i.xfs.rmtempPromise())}(0,h.gn)([g.Command.Path("--welcome")],C.prototype,"execute",null)},15683:(e,t,r)=>{"use strict";r.d(t,{f:()=>A});const A=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]])},56087:(e,t,r)=>{"use strict";r.d(t,{F:()=>o});var A=r(36370),n=r(40822);class o extends n.Command{}(0,A.gn)([n.Command.String("--cwd",{hidden:!0})],o.prototype,"cwd",void 0)},28148:(e,t,r)=>{"use strict";r.d(t,{C:()=>I});var A=r(78420),n=r(15037),o=r(90739),i=r(14626),s=r(46009),a=r(43896),c=r(65281),g=r(35747),l=r.n(g),u=r(92659),h=r(35691),p=r(20624),d=r(73632),C=r(54143);const f=7;class I{constructor(e,{configuration:t,immutable:r=t.get("enableImmutableCache"),check:A=!1}){this.markedFiles=new Set,this.mutexes=new Map,this.configuration=t,this.cwd=e,this.immutable=r,this.check=A;const n=t.get("cacheKeyOverride");if(null!==n)this.cacheKey=""+n;else{const e=t.get("compressionLevel"),r=e!==o.k?"c"+e:"";this.cacheKey=[f,r].join("")}}static async find(e,{immutable:t,check:r}={}){const A=new I(e.get("cacheFolder"),{configuration:e,immutable:t,check:r});return await A.setup(),A}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;const e=this.configuration.get("globalFolder")+"/cache";return e!==this.cwd?e:null}getVersionFilename(e){return`${C.slugifyLocator(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){const r=function(e){const t=e.indexOf("/");return-1!==t?e.slice(t+1):e}(t).slice(0,10);return`${C.slugifyLocator(e)}-${r}.zip`}getLocatorPath(e,t){if(null===this.mirrorCwd)return s.y1.resolve(this.cwd,this.getVersionFilename(e));if(null===t)return null;return E(t)!==this.cacheKey?null:s.y1.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){const t=this.mirrorCwd;return null!==t?s.y1.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache")){await a.xfs.mkdirPromise(this.cwd,{recursive:!0});const e=s.y1.resolve(this.cwd,".gitignore");await a.xfs.changeFilePromise(e,"/.gitignore\n*.flock\n")}}async fetchPackageFromCache(e,t,{onHit:r,onMiss:g,loader:f,skipIntegrityCheck:I}){const B=this.getLocatorMirrorPath(e),y=new A.S,m=async(e,r=null)=>{const A=I&&t?t:`${this.cacheKey}/${await p.checksumFile(e)}`;if(null!==r){if(A!==(I&&t?t:`${this.cacheKey}/${await p.checksumFile(r)}`))throw new h.lk(u.b.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(null!==t&&A!==t){let e;switch(e=this.check?"throw":E(t)!==E(A)?"update":this.configuration.get("checksumBehavior"),e){case"ignore":return t;case"update":return A;default:case"throw":throw new h.lk(u.b.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return A},w=async t=>{if(!f)throw new Error("Cache check required but no loader configured for "+C.prettyLocator(this.configuration,e));const r=await f(),A=r.getRealPath();return r.saveAndClose(),await a.xfs.chmodPromise(A,420),await m(t,A)},Q=async()=>{if(null===B||!await a.xfs.existsPromise(B)){const e=await f(),t=e.getRealPath();return e.saveAndClose(),t}const t=await a.xfs.mktempPromise(),r=s.y1.join(t,this.getVersionFilename(e));return await a.xfs.copyFilePromise(B,r,l().constants.COPYFILE_FICLONE),r},D=async()=>{if(!f)throw new Error("Cache entry required but missing for "+C.prettyLocator(this.configuration,e));if(this.immutable)throw new h.lk(u.b.IMMUTABLE_CACHE,"Cache entry required but missing for "+C.prettyLocator(this.configuration,e));const t=await Q();await a.xfs.chmodPromise(t,420);const r=await m(t),A=this.getLocatorPath(e,r);if(!A)throw new Error("Assertion failed: Expected the cache path to be available");return await this.writeFileWithLock(A,async()=>await this.writeFileWithLock(B,async()=>(await a.xfs.movePromise(t,A),null!==B&&await a.xfs.copyFilePromise(A,B,l().constants.COPYFILE_FICLONE),[A,r])))};for(let t;t=this.mutexes.get(e.locatorHash);)await t;const[b,v]=await(async()=>{const A=(async()=>{const A=this.getLocatorPath(e,t),n=null!==A&&await y.existsPromise(A),o=n?r:g;if(o&&o(),n){let e=null;const t=A;return e=this.check?await w(t):await m(t),[t,e]}return D()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}})();this.markedFiles.add(b);let S=null;const k=await(0,c.getLibzipPromise)(),K=new n.v(()=>d.prettifySyncErrors(()=>S=new o.d(b,{baseFs:y,libzip:k,readOnly:!0}),t=>`Failed to open the cache entry for ${C.prettyLocator(this.configuration,e)}: ${t}`),s.y1);return[new i.K(b,{baseFs:K,pathUtils:s.y1}),()=>{null!==S&&S.discardAndClose()},v]}async writeFileWithLock(e,t){return null===e?await t():(await a.xfs.mkdirPromise(s.y1.dirname(e),{recursive:!0}),await a.xfs.lockPromise(e,async()=>await t()))}}function E(e){const t=e.indexOf("/");return-1!==t?e.slice(0,t):null}},39922:(e,t,r)=>{"use strict";r.d(t,{VK:()=>W,nh:()=>U,tr:()=>O,a5:()=>j,EW:()=>z,a2:()=>T});var A=r(43896),n=r(46009),o=r(90739),i=r(11640),s=r(54738),a=r.n(s),c=r(5864),g=r(40822),l=r(61578),u=r.n(l),h=r(53887),p=r.n(h),d=r(92413),C=r(92659),f=r(54143);const I={hooks:{reduceDependency:(e,t,r,A,{resolver:n,resolveOptions:o})=>{for(const{pattern:A,reference:i}of t.topLevelWorkspace.manifest.resolutions){if(A.from&&A.from.fullName!==f.requirableIdent(r))continue;if(A.from&&A.from.description&&A.from.description!==r.reference)continue;if(A.descriptor.fullName!==f.requirableIdent(e))continue;if(A.descriptor.description&&A.descriptor.description!==e.range)continue;return n.bindDescriptor(f.makeDescriptor(e,i),t.topLevelWorkspace.anchoredLocator,o)}return e},validateProject:async(e,t)=>{for(const r of e.workspaces){const A=f.prettyWorkspace(e.configuration,r);await e.configuration.triggerHook(e=>e.validateWorkspace,r,{reportWarning:(e,r)=>t.reportWarning(e,`${A}: ${r}`),reportError:(e,r)=>t.reportError(e,`${A}: ${r}`)})}},validateWorkspace:async(e,t)=>{const{manifest:r}=e;r.resolutions.length&&e.cwd!==e.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(const e of r.errors)t.reportWarning(C.b.INVALID_MANIFEST,e.message)}}};var E=r(46611),B=r(35691);class y{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){const r=this.getFetcher(e,t);return await r.fetch(e,t)}tryFetcher(e,t){const r=this.fetchers.find(r=>r.supports(e,t));return r||null}getFetcher(e,t){const r=this.fetchers.find(r=>r.supports(e,t));if(!r)throw new B.lk(C.b.FETCHER_NOT_FOUND,f.prettyLocator(t.project.configuration,e)+" isn't supported by any available fetcher");return r}}var m=r(27092),w=r(52779),Q=r(60895);class D{static isVirtualDescriptor(e){return!!e.range.startsWith(D.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(D.protocol)}supportsDescriptor(e,t){return D.isVirtualDescriptor(e)}supportsLocator(e,t){return D.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,r){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,r){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}D.protocol="virtual:";var b=r(75448),v=r(94538);class S{supports(e){return!!e.reference.startsWith(v.d.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){const r=this.getWorkspace(e,t).cwd;return{packageFs:new b.M(r),prefixPath:n.LZ.dot,localPath:r}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(v.d.protocol.length))}}var k=r(81111),K=r(71643),F=r(73632),N=r(32282),M=r.n(N);function R(e){return("undefined"!=typeof require?require:r(32178))(e)}var x=r(36545),L=r(32485);const P=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput"]),O=".yarnrc.yml",U="yarn.lock";var T;!function(e){e.ANY="ANY",e.BOOLEAN="BOOLEAN",e.ABSOLUTE_PATH="ABSOLUTE_PATH",e.LOCATOR="LOCATOR",e.LOCATOR_LOOSE="LOCATOR_LOOSE",e.NUMBER="NUMBER",e.STRING="STRING",e.SECRET="SECRET",e.SHAPE="SHAPE",e.MAP="MAP"}(T||(T={}));const j=K.Type,Y={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:T.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:T.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:T.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:T.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:T.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:T.ABSOLUTE_PATH,default:k.getDefaultGlobalFolder()},cacheFolder:{description:"Folder where the cache files must be written",type:T.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:T.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:o.k},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named $$virtual)",type:T.ABSOLUTE_PATH,default:"./.yarn/$$virtual"},bstatePath:{description:"Path of the file where the current state of the built packages must be stored",type:T.ABSOLUTE_PATH,default:"./.yarn/build-state.yml"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:T.STRING,default:U},installStatePath:{description:"Path of the file where the install state will be persisted",type:T.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:T.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:T.STRING,default:q()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:T.BOOLEAN,default:!1},enableAbsoluteVirtuals:{description:"If true, the virtual symlinks will use absolute paths if required [non portable!!]",type:T.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:T.BOOLEAN,default:K.supportsColor,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:T.BOOLEAN,default:K.supportsHyperlinks,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:T.BOOLEAN,default:c.isCI,defaultText:""},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:T.BOOLEAN,default:!c.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:T.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:T.BOOLEAN,default:c.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:T.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:T.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:T.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:T.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:T.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:T.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:T.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:T.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:T.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:T.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:T.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:T.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:T.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:T.NUMBER,default:1/0},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:T.MAP,valueDefinition:{description:"",type:T.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:T.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:T.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:T.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:T.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:T.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:T.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:T.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:T.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:T.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:T.STRING,values:Object.values(K.LogLevel),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:T.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:T.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:T.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:T.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:T.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:T.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:T.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:T.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:T.MAP,valueDefinition:{description:"A range",type:T.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:T.MAP,valueDefinition:{description:"A semver range",type:T.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:T.MAP,valueDefinition:{description:"The peerDependency meta",type:T.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:T.BOOLEAN,default:!1}}}}}}}};function G(e,t,r,A,n){if(A.isArray)return Array.isArray(r)?r.map((r,o)=>H(e,`${t}[${o}]`,r,A,n)):String(r).split(/,/).map(r=>H(e,t,r,A,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${t}" cannot be an array`);return H(e,t,r,A,n)}function H(e,t,r,A,o){var i;switch(A.type){case T.ANY:return r;case T.SHAPE:return function(e,t,r,A,n){if("object"!=typeof r||Array.isArray(r))throw new g.UsageError(`Object configuration settings "${t}" must be an object`);const o=J(e,A,{ignoreArrays:!0});if(null===r)return o;for(const[i,s]of Object.entries(r)){const r=`${t}.${i}`;if(!A.properties[i])throw new g.UsageError(`Unrecognized configuration settings found: ${t}.${i} - run "yarn config -v" to see the list of settings supported in Yarn`);o.set(i,G(e,r,s,A.properties[i],n))}return o}(e,t,r,A,o);case T.MAP:return function(e,t,r,A,n){const o=new Map;if("object"!=typeof r||Array.isArray(r))throw new g.UsageError(`Map configuration settings "${t}" must be an object`);if(null===r)return o;for(const[i,s]of Object.entries(r)){const r=A.normalizeKeys?A.normalizeKeys(i):i,a=`${t}['${r}']`,c=A.valueDefinition;o.set(r,G(e,a,s,c,n))}return o}(e,t,r,A,o)}if(null===r&&!A.isNullable&&null!==A.default)throw new Error(`Non-nullable configuration settings "${t}" cannot be set to null`);if(null===(i=A.values)||void 0===i?void 0:i.includes(r))return r;const s=(()=>{if(A.type===T.BOOLEAN)return F.parseBoolean(r);if("string"!=typeof r)throw new Error(`Expected value (${r}) to be a string`);const e=F.replaceEnvVariables(r,{env:process.env});switch(A.type){case T.ABSOLUTE_PATH:return n.y1.resolve(o,n.cS.toPortablePath(e));case T.LOCATOR_LOOSE:return f.parseLocator(e,!1);case T.NUMBER:return parseInt(e);case T.LOCATOR:return f.parseLocator(e);default:return e}})();if(A.values&&!A.values.includes(s))throw new Error("Invalid value, expected one of "+A.values.join(", "));return s}function J(e,t,{ignoreArrays:r=!1}={}){switch(t.type){case T.SHAPE:{if(t.isArray&&!r)return[];const A=new Map;for(const[r,n]of Object.entries(t.properties))A.set(r,J(e,n));return A}case T.MAP:return t.isArray&&!r?[]:new Map;case T.ABSOLUTE_PATH:return null===t.default?null:null===e.projectCwd?n.y1.isAbsolute(t.default)?n.y1.normalize(t.default):t.isNullable?null:void 0:Array.isArray(t.default)?t.default.map(t=>n.y1.resolve(e.projectCwd,t)):n.y1.resolve(e.projectCwd,t.default);default:return t.default}}function q(){for(const[e,t]of Object.entries(process.env))if("yarn_rc_filename"===e.toLowerCase()&&"string"==typeof t)return t;return O}var z;!function(e){e[e.LOCKFILE=0]="LOCKFILE",e[e.MANIFEST=1]="MANIFEST",e[e.NONE=2]="NONE"}(z||(z={}));class W{constructor(e){this.projectCwd=null,this.plugins=new Map,this.settings=new Map,this.values=new Map,this.sources=new Map,this.invalid=new Map,this.packageExtensions=new Map,this.limits=new Map,this.startingCwd=e}static create(e,t,r){const A=new W(e);void 0===t||t instanceof Map||(A.projectCwd=t),A.importSettings(Y);const n=void 0!==r?r:t instanceof Map?t:new Map;for(const[e,t]of n)A.activatePlugin(e,t);return A}static async find(e,t,{lookup:r=z.LOCKFILE,strict:o=!0,usePath:i=!1,useRc:s=!0}={}){const c=function(){const e={};for(let[t,r]of Object.entries(process.env))t=t.toLowerCase(),t.startsWith("yarn_")&&(t=a()(t.slice("yarn_".length)),e[t]=r);return e}();delete c.rcFilename;const l=await W.findRcFiles(e),u=await W.findHomeRcFile(),h=({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A})=>({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A}),p=({ignoreCwd:e,yarnPath:t,ignorePath:r,lockfileFilename:A,...n})=>n,d=new W(e);d.importSettings(h(Y)),d.useWithSource("",h(c),e,{strict:!1});for(const{path:e,cwd:t,data:r}of l)d.useWithSource(e,h(r),t,{strict:!1});if(u&&d.useWithSource(u.path,h(u.data),u.cwd,{strict:!1}),i){const e=d.get("yarnPath"),t=d.get("ignorePath");if(null!==e&&!t)return d}const C=d.get("lockfileFilename");let f;switch(r){case z.LOCKFILE:f=await W.findProjectCwd(e,C);break;case z.MANIFEST:f=await W.findProjectCwd(e,null);break;case z.NONE:f=A.xfs.existsSync(n.y1.join(e,"package.json"))?n.y1.resolve(e):null}d.startingCwd=e,d.projectCwd=f,d.importSettings(p(Y));const E=new Map([["@@core",I]]);if(null!==t){for(const e of t.plugins.keys())E.set(e,(B=t.modules.get(e)).__esModule?B.default:B);const r=new Map;for(const e of new Set(M().builtinModules||Object.keys(process.binding("natives"))))r.set(e,()=>R(e));for(const[e,A]of t.modules)r.set(e,()=>A);const A=new Set,o=e=>e.default||e,i=(e,t)=>{const{factory:i,name:s}=R(n.cS.fromPortablePath(e));if(A.has(s))return;const a=new Map(r),c=e=>{if(a.has(e))return a.get(e)();throw new g.UsageError(`This plugin cannot access the package referenced via ${e} which is neither a builtin, nor an exposed entry`)},l=F.prettifySyncErrors(()=>o(i(c)),e=>`${e} (when initializing ${s}, defined in ${t})`);r.set(s,()=>l),A.add(s),E.set(s,l)};if(c.plugins)for(const t of c.plugins.split(";")){i(n.y1.resolve(e,n.cS.toPortablePath(t)),"")}for(const{path:e,cwd:t,data:r}of l)if(s&&Array.isArray(r.plugins))for(const A of r.plugins){const r="string"!=typeof A?A.path:A;i(n.y1.resolve(t,n.cS.toPortablePath(r)),e)}}var B;for(const[e,t]of E)d.activatePlugin(e,t);d.useWithSource("",p(c),e,{strict:o});for(const{path:e,cwd:t,data:r}of l)d.useWithSource(e,p(r),t,{strict:o});return u&&d.useWithSource(u.path,p(u.data),u.cwd,{strict:!1}),d.get("enableGlobalCache")&&(d.values.set("cacheFolder",d.get("globalFolder")+"/cache"),d.sources.set("cacheFolder","")),await d.refreshPackageExtensions(),d}static async findRcFiles(e){const t=q(),r=[];let o=e,s=null;for(;o!==s;){s=o;const e=n.y1.join(s,t);if(A.xfs.existsSync(e)){const t=await A.xfs.readFilePromise(e,"utf8");let n;try{n=(0,i.parseSyml)(t)}catch(r){let A="";throw t.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(A=" (in particular, make sure you list the colons after each key name)"),new g.UsageError(`Parse error when loading ${e}; please check it's proper Yaml${A}`)}r.push({path:e,cwd:s,data:n})}o=n.y1.dirname(s)}return r}static async findHomeRcFile(){const e=q(),t=k.getHomeFolder(),r=n.y1.join(t,e);if(A.xfs.existsSync(r)){const e=await A.xfs.readFilePromise(r,"utf8");return{path:r,cwd:t,data:(0,i.parseSyml)(e)}}return null}static async findProjectCwd(e,t){let r=null,o=e,i=null;for(;o!==i;){if(i=o,A.xfs.existsSync(n.y1.join(i,"package.json"))&&(r=i),null!==t){if(A.xfs.existsSync(n.y1.join(i,t))){r=i;break}}else if(null!==r)break;o=n.y1.dirname(i)}return r}static async updateConfiguration(e,t){const r=q(),o=n.y1.join(e,r),s=A.xfs.existsSync(o)?(0,i.parseSyml)(await A.xfs.readFilePromise(o,"utf8")):{};let a,c=!1;if("function"==typeof t){try{a=t(s)}catch(e){a=t({})}if(a===s)return}else{a=s;for(const e of Object.keys(t)){const r=s[e],A=t[e];let n;if("function"==typeof A)try{n=A(r)}catch(e){n=A(void 0)}else n=A;r!==n&&(a[e]=n,c=!0)}if(!c)return}await A.xfs.changeFilePromise(o,(0,i.stringifySyml)(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){const t=k.getHomeFolder();return await W.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),void 0!==t.configuration&&this.importSettings(t.configuration)}importSettings(e){for(const[t,r]of Object.entries(e))if(null!=r){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,r),this.values.set(t,J(this,r))}}useWithSource(e,t,r,A){try{this.use(e,t,r,A)}catch(t){throw t.message+=` (in ${K.pretty(this,e,K.Type.PATH)})`,t}}use(e,t,r,{strict:A=!0,overwrite:n=!1}={}){for(const o of Object.keys(t)){if(void 0===t[o])continue;if("plugins"===o)continue;if(""===e&&P.has(o))continue;if("rcFilename"===o)throw new g.UsageError(`The rcFilename settings can only be set via ${"yarn_RC_FILENAME".toUpperCase()}, not via a rc file`);const i=this.settings.get(o);if(!i){if(A)throw new g.UsageError(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(n||i.type===T.MAP||i.isArray&&i.concatenateValues))continue;let s;try{s=G(this,o,t[o],i,r)}catch(t){throw t.message+=" in "+K.pretty(this,e,K.Type.PATH),t}if(i.type===T.MAP){const t=this.values.get(o);this.values.set(o,new Map(n?[...t,...s]:[...s,...t])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(i.isArray&&i.concatenateValues){const t=this.values.get(o);this.values.set(o,n?[...t,...s]:[...s,...t]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,s),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:r=!1}){const A=this.get(e),o=this.settings.get(e);if(void 0===o)throw new g.UsageError(`Couldn't find a configuration settings named "${e}"`);return function e(t,r,A){if(r.type===T.SECRET&&"string"==typeof t&&A.hideSecrets)return"********";if(r.type===T.ABSOLUTE_PATH&&"string"==typeof t&&A.getNativePaths)return n.cS.fromPortablePath(t);if(r.isArray&&Array.isArray(t)){const n=[];for(const o of t)n.push(e(o,r,A));return n}if(r.type===T.MAP&&t instanceof Map){const n=new Map;for(const[o,i]of t.entries())n.set(o,e(i,r.valueDefinition,A));return n}if(r.type===T.SHAPE&&t instanceof Map){const n=new Map;for(const[o,i]of t.entries()){const t=r.properties[o];n.set(o,e(i,t,A))}return n}return t}(A,o,{hideSecrets:t,getNativePaths:r})}getSubprocessStreams(e,{header:t,prefix:r,report:n}){let o,i;const s=A.xfs.createWriteStream(e);if(this.get("enableInlineBuilds")){const e=n.createStreamReporter(`${r} ${K.pretty(this,"STDOUT","green")}`),t=n.createStreamReporter(`${r} ${K.pretty(this,"STDERR","red")}`);o=new d.PassThrough,o.pipe(e),o.pipe(s),i=new d.PassThrough,i.pipe(t),i.pipe(s)}else o=s,i=s,void 0!==t&&o.write(t+"\n");return{stdout:o,stderr:i}}makeResolver(){const e=[];for(const t of this.plugins.values())for(const r of t.resolvers||[])e.push(new r);return new m.B([new D,new v.d,new w.O,...e])}makeFetcher(){const e=[];for(const t of this.plugins.values())for(const r of t.fetchers||[])e.push(new r);return new y([new Q.N,new S,...e])}getLinkers(){const e=[];for(const t of this.plugins.values())for(const r of t.linkers||[])e.push(new r);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;const e=this.packageExtensions,t=(t,r,{userProvided:A=!1}={})=>{if(!p().validRange(t.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");const n=new E.G;n.load(r,{yamlCompatibilityMode:!0});const o=[];F.getArrayWithDefault(e,t.identHash).push([t.range,o]);const i={status:L._u.Inactive,userProvided:A,parentDescriptor:t};for(const e of n.dependencies.values())o.push({...i,type:L.HN.Dependency,descriptor:e,description:`${f.stringifyIdent(t)} > ${f.stringifyIdent(e)}`});for(const e of n.peerDependencies.values())o.push({...i,type:L.HN.PeerDependency,descriptor:e,description:`${f.stringifyIdent(t)} >> ${f.stringifyIdent(e)}`});for(const[e,r]of n.peerDependenciesMeta)for(const[A,n]of Object.entries(r))o.push({...i,type:L.HN.PeerDependencyMeta,selector:e,key:A,value:n,description:`${f.stringifyIdent(t)} >> ${e} / ${A}`})};await this.triggerHook(e=>e.registerPackageExtensions,this,t);for(const[e,r]of this.get("packageExtensions"))t(f.parseDescriptor(e,!0),F.convertMapsToIndexableObjects(r),{userProvided:!0})}normalizePackage(e){const t=f.copyPackage(e);if(null==this.packageExtensions)throw new Error("refreshPackageExtensions has to be called before normalizing packages");const r=this.packageExtensions.get(e.identHash);if(void 0!==r){const A=e.version;if(null!==A)for(const[e,n]of r)if(x.satisfiesWithPrereleases(A,e))for(const e of n)switch(e.status===L._u.Inactive&&(e.status=L._u.Redundant),e.type){case L.HN.Dependency:void 0===t.dependencies.get(e.descriptor.identHash)&&(e.status=L._u.Active,t.dependencies.set(e.descriptor.identHash,e.descriptor));break;case L.HN.PeerDependency:void 0===t.peerDependencies.get(e.descriptor.identHash)&&(e.status=L._u.Active,t.peerDependencies.set(e.descriptor.identHash,e.descriptor));break;case L.HN.PeerDependencyMeta:{const r=t.peerDependenciesMeta.get(e.selector);void 0!==r&&Object.prototype.hasOwnProperty.call(r,e.key)&&r[e.key]===e.value||(e.status=L._u.Active,F.getFactoryWithDefault(t.peerDependenciesMeta,e.selector,()=>({}))[e.key]=e.value)}break;default:F.assertNever(e)}}const A=e=>e.scope?`${e.scope}__${e.name}`:""+e.name;for(const e of t.peerDependencies.values()){if("@types"===e.scope)continue;const r=A(e),n=f.makeIdent("types",r);t.peerDependencies.has(n.identHash)||t.peerDependenciesMeta.has(n.identHash)||t.peerDependenciesMeta.set(f.stringifyIdent(n),{optional:!0})}for(const e of t.peerDependenciesMeta.keys()){const r=f.parseIdent(e);t.peerDependencies.has(r.identHash)||t.peerDependencies.set(r.identHash,f.makeDescriptor(r,"*"))}return t.dependencies=new Map(F.sortMap(t.dependencies,([,e])=>f.stringifyDescriptor(e))),t.peerDependencies=new Map(F.sortMap(t.peerDependencies,([,e])=>f.stringifyDescriptor(e))),t}getLimit(e){return F.getFactoryWithDefault(this.limits,e,()=>u()(this.get(e)))}async triggerHook(e,...t){for(const r of this.plugins.values()){const A=r.hooks;if(!A)continue;const n=e(A);n&&await n(...t)}}async triggerMultipleHooks(e,t){for(const r of t)await this.triggerHook(e,...r)}async reduceHook(e,t,...r){let A=t;for(const t of this.plugins.values()){const n=t.hooks;if(!n)continue;const o=e(n);o&&(A=await o(A,...r))}return A}async firstHook(e,...t){for(const r of this.plugins.values()){const A=r.hooks;if(!A)continue;const n=e(A);if(!n)continue;const o=await n(...t);if(void 0!==o)return o}return null}format(e,t){return K.pretty(this,e,t)}}W.telemetry=null},92409:(e,t,r)=>{"use strict";var A;r.d(t,{k:()=>A}),function(e){e[e.SCRIPT=0]="SCRIPT",e[e.SHELLCODE=1]="SHELLCODE"}(A||(A={}))},62152:(e,t,r)=>{"use strict";r.d(t,{h:()=>i});var A=r(35691),n=r(15815),o=r(71643);class i extends A.yG{constructor({configuration:e,stdout:t,suggestInstall:r=!0}){super(),this.errorCount=0,o.addLogFilterSupport(this,{configuration:e}),this.configuration=e,this.stdout=t,this.suggestInstall=r}static async start(e,t){const r=new this(e);try{await t(r)}catch(e){r.reportExceptionOnce(e)}finally{await r.finalize()}return r}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t,r){return("function"==typeof t?t:r)()}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r;return await A()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){this.errorCount+=1,this.stdout.write(`${o.pretty(this.configuration,"➤","redBright")} ${this.formatNameWithHyperlink(e)}: ${t}\n`)}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(const{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(o.pretty(this.configuration,"➤","redBright")+" Errors happened when preparing the environment required to run this command.\n"),this.suggestInstall&&this.stdout.write(o.pretty(this.configuration,"➤","redBright")+' This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.\n'))}formatNameWithHyperlink(e){return(0,n.Qw)(e,{configuration:this.configuration,json:!1})}}},46611:(e,t,r)=>{"use strict";r.d(t,{G:()=>l});var A=r(78420),n=r(46009),o=r(11640),i=r(53887),s=r.n(i),a=r(73632),c=r(36545),g=r(54143);class l{constructor(){this.indent=" ",this.name=null,this.version=null,this.os=null,this.cpu=null,this.type=null,this.private=!1,this.license=null,this.main=null,this.module=null,this.browser=null,this.languageName=null,this.bin=new Map,this.scripts=new Map,this.dependencies=new Map,this.devDependencies=new Map,this.peerDependencies=new Map,this.workspaceDefinitions=[],this.dependenciesMeta=new Map,this.peerDependenciesMeta=new Map,this.resolutions=[],this.files=null,this.publishConfig=null,this.installConfig=null,this.preferUnplugged=null,this.raw={},this.errors=[]}static async tryFind(e,{baseFs:t=new A.S}={}){const r=n.y1.join(e,"package.json");return await t.existsPromise(r)?await l.fromFile(r,{baseFs:t}):null}static async find(e,{baseFs:t}={}){const r=await l.tryFind(e,{baseFs:t});if(null===r)throw new Error("Manifest not found");return r}static async fromFile(e,{baseFs:t=new A.S}={}){const r=new l;return await r.loadFile(e,{baseFs:t}),r}static fromText(e){const t=new l;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(null===e)return!0;let r=!0,A=!1;for(const n of e)if("!"===n[0]){if(A=!0,t===n.slice(1))return!1}else if(r=!1,n===t)return!0;return A&&r}loadFromText(e){let t;try{t=JSON.parse(h(e)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(t),this.indent=u(e)}async loadFile(e,{baseFs:t=new A.S}){const r=await t.readFilePromise(e,"utf8");let n;try{n=JSON.parse(h(r)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(n),this.indent=u(r)}load(e,{yamlCompatibilityMode:t=!1}={}){if("object"!=typeof e||null===e)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;const r=[];if("string"==typeof e.name)try{this.name=g.parseIdent(e.name)}catch(e){r.push(new Error("Parsing failed for the 'name' field"))}if("string"==typeof e.version&&(this.version=e.version),Array.isArray(e.os)){const t=[];this.os=t;for(const A of e.os)"string"!=typeof A?r.push(new Error("Parsing failed for the 'os' field")):t.push(A)}if(Array.isArray(e.cpu)){const t=[];this.cpu=t;for(const A of e.cpu)"string"!=typeof A?r.push(new Error("Parsing failed for the 'cpu' field")):t.push(A)}if("string"==typeof e.type&&(this.type=e.type),"boolean"==typeof e.private&&(this.private=e.private),"string"==typeof e.license&&(this.license=e.license),"string"==typeof e.languageName&&(this.languageName=e.languageName),"string"==typeof e.main&&(this.main=p(e.main)),"string"==typeof e.module&&(this.module=p(e.module)),null!=e.browser)if("string"==typeof e.browser)this.browser=p(e.browser);else{this.browser=new Map;for(const[t,r]of Object.entries(e.browser))this.browser.set(p(t),"string"==typeof r?p(r):r)}if("string"==typeof e.bin)null!==this.name?this.bin=new Map([[this.name.name,p(e.bin)]]):r.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.bin&&null!==e.bin)for(const[t,A]of Object.entries(e.bin))"string"==typeof A?this.bin.set(t,p(A)):r.push(new Error(`Invalid bin definition for '${t}'`));if("object"==typeof e.scripts&&null!==e.scripts)for(const[t,A]of Object.entries(e.scripts))"string"==typeof A?this.scripts.set(t,A):r.push(new Error(`Invalid script definition for '${t}'`));if("object"==typeof e.dependencies&&null!==e.dependencies)for(const[t,A]of Object.entries(e.dependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.dependencies.set(n.identHash,n)}if("object"==typeof e.devDependencies&&null!==e.devDependencies)for(const[t,A]of Object.entries(e.devDependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.devDependencies.set(n.identHash,n)}if("object"==typeof e.peerDependencies&&null!==e.peerDependencies)for(let[t,A]of Object.entries(e.peerDependencies)){let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}"string"==typeof A&&c.validRange(A)||(r.push(new Error(`Invalid dependency range for '${t}'`)),A="*");const n=g.makeDescriptor(e,A);this.peerDependencies.set(n.identHash,n)}"object"==typeof e.workspaces&&e.workspaces.nohoist&&r.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));const A=Array.isArray(e.workspaces)?e.workspaces:"object"==typeof e.workspaces&&null!==e.workspaces&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];for(const e of A)"string"==typeof e?this.workspaceDefinitions.push({pattern:e}):r.push(new Error(`Invalid workspace definition for '${e}'`));if("object"==typeof e.dependenciesMeta&&null!==e.dependenciesMeta)for(const[A,n]of Object.entries(e.dependenciesMeta)){if("object"!=typeof n||null===n){r.push(new Error("Invalid meta field for '"+A));continue}const e=g.parseDescriptor(A),o=this.ensureDependencyMeta(e),i=d(n.built,{yamlCompatibilityMode:t});if(null===i){r.push(new Error(`Invalid built meta field for '${A}'`));continue}const s=d(n.optional,{yamlCompatibilityMode:t});if(null===s){r.push(new Error(`Invalid optional meta field for '${A}'`));continue}const a=d(n.unplugged,{yamlCompatibilityMode:t});null!==a?Object.assign(o,{built:i,optional:s,unplugged:a}):r.push(new Error(`Invalid unplugged meta field for '${A}'`))}if("object"==typeof e.peerDependenciesMeta&&null!==e.peerDependenciesMeta)for(const[A,n]of Object.entries(e.peerDependenciesMeta)){if("object"!=typeof n||null===n){r.push(new Error(`Invalid meta field for '${A}'`));continue}const e=g.parseDescriptor(A),o=this.ensurePeerDependencyMeta(e),i=d(n.optional,{yamlCompatibilityMode:t});null!==i?Object.assign(o,{optional:i}):r.push(new Error(`Invalid optional meta field for '${A}'`))}if("object"==typeof e.resolutions&&null!==e.resolutions)for(const[t,A]of Object.entries(e.resolutions))if("string"==typeof A)try{this.resolutions.push({pattern:(0,o.parseResolution)(t),reference:A})}catch(e){r.push(e);continue}else r.push(new Error(`Invalid resolution entry for '${t}'`));if(Array.isArray(e.files)){this.files=new Set;for(const t of e.files)"string"==typeof t?this.files.add(t):r.push(new Error(`Invalid files entry for '${t}'`))}if("object"==typeof e.publishConfig&&null!==e.publishConfig){if(this.publishConfig={},"string"==typeof e.publishConfig.access&&(this.publishConfig.access=e.publishConfig.access),"string"==typeof e.publishConfig.main&&(this.publishConfig.main=p(e.publishConfig.main)),"string"==typeof e.publishConfig.module&&(this.publishConfig.module=p(e.publishConfig.module)),null!=e.publishConfig.browser)if("string"==typeof e.publishConfig.browser)this.publishConfig.browser=p(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(const[t,r]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(p(t),"string"==typeof r?p(r):r)}if("string"==typeof e.publishConfig.registry&&(this.publishConfig.registry=e.publishConfig.registry),"string"==typeof e.publishConfig.bin)null!==this.name?this.publishConfig.bin=new Map([[this.name.name,p(e.publishConfig.bin)]]):r.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.publishConfig.bin&&null!==e.publishConfig.bin){this.publishConfig.bin=new Map;for(const[t,A]of Object.entries(e.publishConfig.bin))"string"==typeof A?this.publishConfig.bin.set(t,p(A)):r.push(new Error(`Invalid bin definition for '${t}'`))}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(const t of e.publishConfig.executableFiles)"string"==typeof t?this.publishConfig.executableFiles.add(p(t)):r.push(new Error("Invalid executable file definition"))}}if("object"==typeof e.installConfig&&null!==e.installConfig){this.installConfig={};for(const t of Object.keys(e.installConfig))"hoistingLimits"===t?"string"==typeof e.installConfig.hoistingLimits?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:r.push(new Error("Invalid hoisting limits definition")):r.push(new Error("Unrecognized installConfig key: "+t))}if("object"==typeof e.optionalDependencies&&null!==e.optionalDependencies)for(const[t,A]of Object.entries(e.optionalDependencies)){if("string"!=typeof A){r.push(new Error(`Invalid dependency range for '${t}'`));continue}let e;try{e=g.parseIdent(t)}catch(e){r.push(new Error(`Parsing failed for the dependency name '${t}'`));continue}const n=g.makeDescriptor(e,A);this.dependencies.set(n.identHash,n);const o=g.makeDescriptor(e,"unknown"),i=this.ensureDependencyMeta(o);Object.assign(i,{optional:!0})}"boolean"==typeof e.preferUnplugged&&(this.preferUnplugged=e.preferUnplugged),this.errors=r}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!this.dependencies.has(e.identHash)||!!this.peerDependencies.has(e.identHash)}hasHardDependency(e){return!!this.dependencies.has(e.identHash)||!!this.devDependencies.has(e.identHash)}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!this.hasHardDependency(e)||!!this.hasSoftDependency(e)}isCompatibleWithOS(e){return l.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return l.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if("unknown"!==e.range&&!s().valid(e.range))throw new Error(`Invalid meta field range for '${g.stringifyDescriptor(e)}'`);const t=g.stringifyIdent(e),r="unknown"!==e.range?e.range:null;let A=this.dependenciesMeta.get(t);A||this.dependenciesMeta.set(t,A=new Map);let n=A.get(r);return n||A.set(r,n={}),n}ensurePeerDependencyMeta(e){if("unknown"!==e.range)throw new Error(`Invalid meta field range for '${g.stringifyDescriptor(e)}'`);const t=g.stringifyIdent(e);let r=this.peerDependenciesMeta.get(t);return r||this.peerDependenciesMeta.set(t,r={}),r}setRawField(e,t,{after:r=[]}={}){const A=new Set(r.filter(e=>Object.prototype.hasOwnProperty.call(this.raw,e)));if(0===A.size||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{const r=this.raw,n=this.raw={};let o=!1;for(const i of Object.keys(r))n[i]=r[i],o||(A.delete(i),0===A.size&&(n[e]=t,o=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){if(Object.assign(e,this.raw),null!==this.name?e.name=g.stringifyIdent(this.name):delete e.name,null!==this.version?e.version=this.version:delete e.version,null!==this.os?e.os=this.os:delete e.os,null!==this.cpu?e.cpu=this.cpu:delete e.cpu,null!==this.type?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,null!==this.license?e.license=this.license:delete e.license,null!==this.languageName?e.languageName=this.languageName:delete e.languageName,null!==this.main?e.main=this.main:delete e.main,null!==this.module?e.module=this.module:delete e.module,null!==this.browser){const t=this.browser;"string"==typeof t?e.browser=t:t instanceof Map&&(e.browser=Object.assign({},...Array.from(t.keys()).sort().map(e=>({[e]:t.get(e)}))))}else delete e.browser;1===this.bin.size&&null!==this.name&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(e=>({[e]:this.bin.get(e)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:e})=>e)}:e.workspaces=this.workspaceDefinitions.map(({pattern:e})=>e):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;const r=[],A=[];for(const e of this.dependencies.values()){const n=this.dependenciesMeta.get(g.stringifyIdent(e));let o=!1;if(t&&n){const e=n.get(null);e&&e.optional&&(o=!0)}o?A.push(e):r.push(e)}r.length>0?e.dependencies=Object.assign({},...g.sortDescriptors(r).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.dependencies,A.length>0?e.optionalDependencies=Object.assign({},...g.sortDescriptors(A).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...g.sortDescriptors(this.devDependencies.values()).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...g.sortDescriptors(this.peerDependencies.values()).map(e=>({[g.stringifyIdent(e)]:e.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(const[r,A]of a.sortMap(this.dependenciesMeta.entries(),([e,t])=>e))for(const[n,o]of a.sortMap(A.entries(),([e,t])=>null!==e?"0"+e:"1")){const A=null!==n?g.stringifyDescriptor(g.makeDescriptor(g.parseIdent(r),n)):r,i={...o};t&&null===n&&delete i.optional,0!==Object.keys(i).length&&(e.dependenciesMeta[A]=i)}return 0===Object.keys(e.dependenciesMeta).length&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...a.sortMap(this.peerDependenciesMeta.entries(),([e,t])=>e).map(([e,t])=>({[e]:t}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:e,reference:t})=>({[(0,o.stringifyResolution)(e)]:t}))):delete e.resolutions,null!==this.files?e.files=Array.from(this.files):delete e.files,null!==this.preferUnplugged?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}}function u(e){const t=e.match(/^[ \t]+/m);return t?t[0]:" "}function h(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function p(e){return e.replace(/\\/g,"/")}function d(e,{yamlCompatibilityMode:t}){return t?a.tryParseOptionalBoolean(e):void 0===e||"boolean"==typeof e?e:null}l.fileName="package.json",l.allDependencies=["dependencies","devDependencies","peerDependencies"],l.hardDependencies=["dependencies","devDependencies"]},92659:(e,t,r)=>{"use strict";var A;function n(e){return"YN"+e.toString(10).padStart(4,"0")}r.d(t,{b:()=>A,i:()=>n}),function(e){e[e.UNNAMED=0]="UNNAMED",e[e.EXCEPTION=1]="EXCEPTION",e[e.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",e[e.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",e[e.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",e[e.BUILD_DISABLED=5]="BUILD_DISABLED",e[e.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",e[e.MUST_BUILD=7]="MUST_BUILD",e[e.MUST_REBUILD=8]="MUST_REBUILD",e[e.BUILD_FAILED=9]="BUILD_FAILED",e[e.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",e[e.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",e[e.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",e[e.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",e[e.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",e[e.REMOTE_INVALID=15]="REMOTE_INVALID",e[e.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",e[e.RESOLUTION_PACK=17]="RESOLUTION_PACK",e[e.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",e[e.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",e[e.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",e[e.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",e[e.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",e[e.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",e[e.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",e[e.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",e[e.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",e[e.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",e[e.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",e[e.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",e[e.FETCH_FAILED=30]="FETCH_FAILED",e[e.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",e[e.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",e[e.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",e[e.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",e[e.NETWORK_ERROR=35]="NETWORK_ERROR",e[e.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",e[e.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",e[e.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",e[e.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",e[e.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",e[e.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",e[e.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",e[e.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",e[e.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",e[e.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",e[e.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",e[e.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",e[e.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",e[e.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",e[e.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",e[e.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",e[e.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",e[e.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",e[e.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",e[e.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",e[e.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",e[e.INVALID_MANIFEST=57]="INVALID_MANIFEST",e[e.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",e[e.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",e[e.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",e[e.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",e[e.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",e[e.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",e[e.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",e[e.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",e[e.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",e[e.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",e[e.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",e[e.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION"}(A||(A={}))},27092:(e,t,r)=>{"use strict";r.d(t,{B:()=>n});var A=r(54143);class n{constructor(e){this.resolvers=e.filter(e=>e)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,r){return this.getResolverByDescriptor(e,r).bindDescriptor(e,t,r)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,r){const A=this.getResolverByDescriptor(e,r);return await A.getCandidates(e,t,r)}async getSatisfying(e,t,r){return this.getResolverByDescriptor(e,r).getSatisfying(e,t,r)}async resolve(e,t){const r=this.getResolverByLocator(e,t);return await r.resolve(e,t)}tryResolverByDescriptor(e,t){const r=this.resolvers.find(r=>r.supportsDescriptor(e,t));return r||null}getResolverByDescriptor(e,t){const r=this.resolvers.find(r=>r.supportsDescriptor(e,t));if(!r)throw new Error(A.prettyDescriptor(t.project.configuration,e)+" isn't supported by any available resolver");return r}tryResolverByLocator(e,t){const r=this.resolvers.find(r=>r.supportsLocator(e,t));return r||null}getResolverByLocator(e,t){const r=this.resolvers.find(r=>r.supportsLocator(e,t));if(!r)throw new Error(A.prettyLocator(t.project.configuration,e)+" isn't supported by any available resolver");return r}}},85824:(e,t,r)=>{"use strict";r.d(t,{I:()=>ie});var A=r(43896),n=r(46009),o=r(5944),i=r(11640),s=r(40822),a=r(76417);function c(){}function g(e,t,r,A,n){for(var o=0,i=t.length,s=0,a=0;oe.length?r:e})),c.value=e.join(l)}else c.value=e.join(r.slice(s,s+c.count));s+=c.count,c.added||(a+=c.count)}}var u=t[i-1];return i>1&&"string"==typeof u.value&&(u.added||u.removed)&&e.equals("",u.value)&&(t[i-2].value+=u.value,t.pop()),t}function l(e){return{newPos:e.newPos,components:e.components.slice(0)}}c.prototype={diff:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},A=r.callback;"function"==typeof r&&(A=r,r={}),this.options=r;var n=this;function o(e){return A?(setTimeout((function(){A(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var i=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,a=1,c=i+s,u=[{newPos:-1,components:[]}],h=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=i&&h+1>=s)return o([{value:this.join(t),count:t.length}]);function p(){for(var r=-1*a;r<=a;r+=2){var A=void 0,c=u[r-1],h=u[r+1],p=(h?h.newPos:0)-r;c&&(u[r-1]=void 0);var d=c&&c.newPos+1=i&&p+1>=s)return o(g(n,A.components,t,e,n.useLongestToken));u[r]=A}else u[r]=void 0}a++}if(A)!function e(){setTimeout((function(){if(a>c)return A();p()||e()}),0)}();else for(;a<=c;){var d=p();if(d)return d}},pushComponent:function(e,t,r){var A=e[e.length-1];A&&A.added===t&&A.removed===r?e[e.length-1]={count:A.count+1,added:t,removed:r}:e.push({count:1,added:t,removed:r})},extractCommon:function(e,t,r,A){for(var n=t.length,o=r.length,i=e.newPos,s=i-A,a=0;i+10?a(d.lines.slice(-i.context)):[],g-=u.length,l-=u.length)}(o=u).push.apply(o,E(n.map((function(e){return(t.added?"+":"-")+e})))),t.added?p+=n.length:h+=n.length}else{if(g)if(n.length<=2*i.context&&e=s.length-2&&n.length<=i.context){var y=/\n$/.test(r),m=/\n$/.test(A),w=0==n.length&&u.length>B.oldLines;!y&&w&&u.splice(B.oldLines,0,"\\ No newline at end of file"),(y||w)&&m||u.push("\\ No newline at end of file")}c.push(B),g=0,l=0,u=[]}h+=n.length,p+=n.length}},f=0;f`${r}#commit=${A}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(e,t,r="",A,n)=>`https://${r}github.com/${A}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(e,t,r="",A,n)=>`https://${r}github.com/${A}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@[^/]+\/)?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,e=>"npm:"+e],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,e=>"npm:"+e],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,e=>"npm:"+e],[/^[^/]+\.tgz#[0-9a-f]+$/,e=>"npm:"+e]];class T{constructor(){this.resolutions=null}async setup(e,{report:t}){const r=n.y1.join(e.cwd,e.configuration.get("lockfileFilename"));if(!A.xfs.existsSync(r))return;const o=await A.xfs.readFilePromise(r,"utf8"),s=(0,i.parseSyml)(o);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;const a=this.resolutions=new Map;for(const r of Object.keys(s)){let A=O.tryParseDescriptor(r);if(!A){t.reportWarning(P.b.YARN_IMPORT_FAILED,`Failed to parse the string "${r}" into a proper descriptor`);continue}k().validRange(A.range)&&(A=O.makeDescriptor(A,"npm:"+A.range));const{version:n,resolved:o}=s[r];if(!o)continue;let i;for(const[e,t]of U){const r=o.match(e);if(r){i=t(n,...r);break}}if(!i){t.reportWarning(P.b.YARN_IMPORT_FAILED,`${O.prettyDescriptor(e.configuration,A)}: Only some patterns can be imported from legacy lockfiles (not "${o}")`);continue}const c=O.makeLocator(A,i);a.set(A.descriptorHash,c)}}supportsDescriptor(e,t){return!!this.resolutions&&this.resolutions.has(e.descriptorHash)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");const A=this.resolutions.get(e.descriptorHash);if(!A)throw new Error("Assertion failed: The resolution should have been registered");return[A]}async getSatisfying(e,t,r){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}class j{supportsDescriptor(e,t){return!!t.project.storedResolutions.get(e.descriptorHash)||!!t.project.originalPackages.has(O.convertDescriptorToLocator(e).locatorHash)}supportsLocator(e,t){return!!t.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){let A=r.project.originalPackages.get(O.convertDescriptorToLocator(e).locatorHash);if(A)return[A];const n=r.project.storedResolutions.get(e.descriptorHash);if(!n)throw new Error("Expected the resolution to have been successful - resolution not found");if(A=r.project.originalPackages.get(n),!A)throw new Error("Expected the resolution to have been successful - package not found");return[A]}async getSatisfying(e,t,r){return null}async resolve(e,t){const r=t.project.originalPackages.get(e.locatorHash);if(!r)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return r}}var Y=r(46611),G=r(27092),H=r(35691);class J{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,r){return this.resolver.bindDescriptor(e,t,r)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,r){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}async getSatisfying(e,t,r){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}async resolve(e,t){throw new H.lk(P.b.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}}var q=r(33720),z=r(17722),W=r(81111),X=r(71643),V=r(20624),_=r(73632),Z=r(63088),$=r(36545),ee=r(32485);const te=/ *, */g,re=/\/$/,Ae=(0,K.promisify)(R().gzip),ne=(0,K.promisify)(R().gunzip),oe={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"]};class ie{constructor(e,{configuration:t}){this.resolutionAliases=new Map,this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map,this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.storedChecksums=new Map,this.accessibleLocators=new Set,this.originalPackages=new Map,this.optionalBuilds=new Set,this.peerRequirements=new Map,this.installersCustomData=new Map,this.lockFileChecksum=null,this.configuration=t,this.cwd=e}static async find(e,t){var r,o,i;if(!e.projectCwd)throw new s.UsageError("No project found in "+t);let a=e.projectCwd,c=t,g=null;for(;g!==e.projectCwd;){if(g=c,A.xfs.existsSync(n.y1.join(g,n.QS.manifest))){a=g;break}c=n.y1.dirname(g)}const l=new ie(e.projectCwd,{configuration:e});null===(r=x.VK.telemetry)||void 0===r||r.reportProject(l.cwd),await l.setupResolutions(),await l.setupWorkspaces(),null===(o=x.VK.telemetry)||void 0===o||o.reportWorkspaceCount(l.workspaces.length),null===(i=x.VK.telemetry)||void 0===i||i.reportDependencyCount(l.workspaces.reduce((e,t)=>e+t.manifest.dependencies.size+t.manifest.devDependencies.size,0));const u=l.tryWorkspaceByCwd(a);if(u)return{project:l,workspace:u,locator:u.anchoredLocator};const h=await l.findLocatorForLocation(a+"/",{strict:!0});if(h)return{project:l,locator:h,workspace:null};throw new s.UsageError(`The nearest package directory (${X.pretty(e,a,X.Type.PATH)}) doesn't seem to be part of the project declared in ${X.pretty(e,l.cwd,X.Type.PATH)}.\n\n- If the project directory is right, it might be that you forgot to list ${X.pretty(e,n.y1.relative(l.cwd,a),X.Type.PATH)} as a workspace.\n- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}static generateBuildStateFile(e,t){let r="# Warning: This file is automatically generated. Removing it is fine, but will\n# cause all your builds to become invalidated.\n";const A=[...e].map(([e,r])=>{const A=t.get(e);if(void 0===A)throw new Error("Assertion failed: The locator should have been registered");return[O.stringifyLocator(A),A.locatorHash,r]});for(const[e,t,n]of _.sortMap(A,[e=>e[0],e=>e[1]]))r+="\n",r+=`# ${e}\n`,r+=JSON.stringify(t)+":\n",r+=` ${n}\n`;return r}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;const e=n.y1.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(A.xfs.existsSync(e)){const r=await A.xfs.readFilePromise(e,"utf8");this.lockFileChecksum=V.makeHash("1",r);const n=(0,i.parseSyml)(r);if(n.__metadata){const e=n.__metadata.version,r=n.__metadata.cacheKey;for(const A of Object.keys(n)){if("__metadata"===A)continue;const o=n[A];if(void 0===o.resolution)throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);const i=O.parseLocator(o.resolution,!0),s=new Y.G;s.load(o,{yamlCompatibilityMode:!0});const a=s.version,c=s.languageName||t,g=o.linkType.toUpperCase(),l=s.dependencies,u=s.peerDependencies,h=s.dependenciesMeta,p=s.peerDependenciesMeta,d=s.bin;if(null!=o.checksum){const e=void 0===r||o.checksum.includes("/")?o.checksum:`${r}/${o.checksum}`;this.storedChecksums.set(i.locatorHash,e)}if(e>=4){const e={...i,version:a,languageName:c,linkType:g,dependencies:l,peerDependencies:u,dependenciesMeta:h,peerDependenciesMeta:p,bin:d};this.originalPackages.set(e.locatorHash,e)}for(const t of A.split(te)){const r=O.parseDescriptor(t);if(this.storedDescriptors.set(r.descriptorHash,r),e>=4)this.storedResolutions.set(r.descriptorHash,i.locatorHash);else{const e=O.convertLocatorToDescriptor(i);e.descriptorHash!==r.descriptorHash&&(this.storedDescriptors.set(e.descriptorHash,e),this.resolutionAliases.set(r.descriptorHash,e.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){const t=e;e=[];for(const r of t){if(this.workspacesByCwd.has(r))continue;const t=await this.addWorkspace(r),A=this.storedPackages.get(t.anchoredLocator.locatorHash);A&&(t.dependencies=A.dependencies);for(const r of t.workspacesCwds)e.push(r)}}}async addWorkspace(e){const t=new z.j(e,{project:this});await t.setup();const r=this.workspacesByIdent.get(t.locator.identHash);if(void 0!==r)throw new Error(`Duplicate workspace name ${O.prettyIdent(this.configuration,t.locator)}: ${e} conflicts with ${r.cwd}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){n.y1.isAbsolute(e)||(e=n.y1.resolve(this.cwd,e)),e=n.y1.normalize(e).replace(/\/+$/,"");const t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){const t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(const r of this.workspaces){n.y1.relative(r.cwd,e).startsWith("../")||(t&&t.cwd.length>=r.cwd.length||(t=r))}return t||null}getWorkspaceByFilePath(e){const t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){const t=this.workspacesByIdent.get(e.identHash);return void 0===t?null:t}getWorkspaceByIdent(e){const t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${O.prettyIdent(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){const t=this.tryWorkspaceByIdent(e);return null!==t&&t.accepts(e.range)?t:null}getWorkspaceByDescriptor(e){const t=this.tryWorkspaceByDescriptor(e);if(null===t)throw new Error(`Workspace not found (${O.prettyDescriptor(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){O.isVirtualLocator(e)&&(e=O.devirtualizeLocator(e));const t=this.tryWorkspaceByIdent(e);return null===t||t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash?null:t}getWorkspaceByLocator(e){const t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${O.prettyLocator(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(const e of this.workspaces){const t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error("Assertion failed: Expected workspace to have been resolved");e.dependencies=new Map(t.dependencies)}}forgetResolution(e){const t=e=>{this.storedResolutions.delete(e),this.storedDescriptors.delete(e)},r=e=>{this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)};if("descriptorHash"in e){const A=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);const n=new Set(this.storedResolutions.values());void 0===A||n.has(A)||r(A)}if("locatorHash"in e){r(e.locatorHash);for(const[r,A]of this.storedResolutions)A===e.locatorHash&&t(r)}}forgetTransientResolutions(){const e=this.configuration.makeResolver();for(const t of this.originalPackages.values()){let r;try{r=e.shouldPersistResolution(t,{project:this,resolver:e})}catch(e){r=!1}r||this.forgetResolution(t)}}forgetVirtualResolutions(){for(const e of this.storedPackages.values())for(const[t,r]of e.dependencies)O.isVirtualDescriptor(r)&&e.dependencies.set(t,O.devirtualizeDescriptor(r))}getDependencyMeta(e,t){const r={},A=this.topLevelWorkspace.manifest.dependenciesMeta.get(O.stringifyIdent(e));if(!A)return r;const n=A.get(null);if(n&&Object.assign(r,n),null===t||!k().valid(t))return r;for(const[e,n]of A)null!==e&&e===t&&Object.assign(r,n);return r}async findLocatorForLocation(e,{strict:t=!1}={}){const r=new q.$,A=this.configuration.getLinkers(),n={project:this,report:r};for(const r of A){const A=await r.findPackageLocator(e,n);if(A){if(t){if((await r.findPackageLocation(A,n)).replace(re,"")!==e.replace(re,""))continue}return A}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();const t=e.resolver||this.configuration.makeResolver(),r=new T;await r.setup(this,{report:e.report});const o=e.lockfileOnly?new G.B([new j,new J(t)]):new G.B([new j,r,t]),i=this.configuration.makeFetcher(),s=e.lockfileOnly?{project:this,report:e.report,resolver:o}:{project:this,report:e.report,resolver:o,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:i}},a=new Map,c=new Map,g=new Map,l=new Map,u=new Map,h=new Map,p=[],d=async e=>{const t=await _.prettifyAsyncErrors(async()=>await o.resolve(e,s),t=>`${O.prettyLocator(this.configuration,e)}: ${t}`);if(!O.areLocatorsEqual(e,t))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${O.prettyLocator(this.configuration,e)} to ${O.prettyLocator(this.configuration,t)})`);l.set(t.locatorHash,t);const r=this.configuration.normalizePackage(t);for(const[t,A]of r.dependencies){const n=await this.configuration.reduceHook(e=>e.reduceDependency,A,this,r,A,{resolver:o,resolveOptions:s});if(!O.areIdentsEqual(A,n))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");const i=o.bindDescriptor(n,e,s);r.dependencies.set(t,i)}return p.push(Promise.all([...r.dependencies.values()].map(e=>f(e)))),c.set(r.locatorHash,r),r},C=async e=>{const t=this.resolutionAliases.get(e.descriptorHash);if(void 0!==t)return(async(e,t)=>{const r=await f(t);return a.set(e.descriptorHash,e),g.set(e.descriptorHash,r.locatorHash),r})(e,this.storedDescriptors.get(t));const r=o.getResolutionDependencies(e,s),A=new Map(await Promise.all(r.map(async e=>[e.descriptorHash,await f(e)]))),n=(await _.prettifyAsyncErrors(async()=>await o.getCandidates(e,A,s),t=>`${O.prettyDescriptor(this.configuration,e)}: ${t}`))[0];if(void 0===n)throw new Error(O.prettyDescriptor(this.configuration,e)+": No candidates found");return a.set(e.descriptorHash,e),g.set(e.descriptorHash,n.locatorHash),(async e=>{const t=u.get(e.locatorHash);if(void 0!==t)return t;const r=Promise.resolve().then(()=>d(e));return u.set(e.locatorHash,r),r})(n)},f=e=>{const t=h.get(e.descriptorHash);if(void 0!==t)return t;a.set(e.descriptorHash,e);const r=Promise.resolve().then(()=>C(e));return h.set(e.descriptorHash,r),r};for(const e of this.workspaces){const t=e.anchoredDescriptor;p.push(f(t))}for(;p.length>0;){const e=[...p];p.length=0,await Promise.all(e)}const I=new Set(this.resolutionAliases.values()),E=new Set(c.keys()),B=new Set,y=new Map;!function({project:e,allDescriptors:t,allResolutions:r,allPackages:o,accessibleLocators:i=new Set,optionalBuilds:s=new Set,volatileDescriptors:a=new Set,peerRequirements:c=new Map,report:g,tolerateMissingPackages:l=!1}){var u;const h=new Map,p=[],d=new Map,C=new Map,f=new Map,I=new Map,E=new Map,B=new Map(e.workspaces.map(e=>{const t=e.anchoredLocator.locatorHash,r=o.get(t);if(void 0===r){if(l)return[t,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[t,O.copyPackage(r)]})),y=()=>{const e=A.xfs.mktempSync(),t=n.y1.join(e,"stacktrace.log"),r=String(p.length+1).length,o=p.map((e,t)=>`${(t+1+".").padStart(r," ")} ${O.stringifyLocator(e)}\n`).join("");throw A.xfs.writeFileSync(t,o),new H.lk(P.b.STACK_OVERFLOW_RESOLUTION,"Encountered a stack overflow when resolving peer dependencies; cf "+t)},m=e=>{const t=r.get(e.descriptorHash);if(void 0===t)throw new Error("Assertion failed: The resolution should have been registered");const A=o.get(t);if(!A)throw new Error("Assertion failed: The package could not be found");return A},w=(e,t,{first:r,optional:A})=>{p.length>1e3&&y(),p.push(e);const n=Q(e,t,{first:r,optional:A});return p.pop(),n},Q=(A,n,{first:c,optional:g})=>{if(i.has(A.locatorHash))return;i.add(A.locatorHash),g||s.delete(A.locatorHash);const u=o.get(A.locatorHash);if(!u){if(l)return;throw new Error(`Assertion failed: The package (${O.prettyLocator(e.configuration,A)}) should have been registered`)}const p=[],m=[],Q=[],D=[],b=[];for(const i of Array.from(u.dependencies.values())){if(u.peerDependencies.has(i.identHash)&&!c)continue;if(O.isVirtualDescriptor(i))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(i.descriptorHash);let s=g;if(!s){const e=u.dependenciesMeta.get(O.stringifyIdent(i));if(void 0!==e){const t=e.get(null);void 0!==t&&t.optional&&(s=!0)}}const C=r.get(i.descriptorHash);if(!C){if(l)continue;throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(e.configuration,i)}) should have been registered`)}const v=B.get(C)||o.get(C);if(!v)throw new Error(`Assertion failed: The package (${C}, resolved from ${O.prettyDescriptor(e.configuration,i)}) should have been registered`);if(0===v.peerDependencies.size){w(v,new Map,{first:!1,optional:s});continue}const S=h.get(v.locatorHash);let k,K;"number"==typeof S&&S>=2&&y();const F=new Set;let N;m.push(()=>{k=O.virtualizeDescriptor(i,A.locatorHash),K=O.virtualizePackage(v,A.locatorHash),u.dependencies.delete(i.identHash),u.dependencies.set(k.identHash,k),r.set(k.descriptorHash,K.locatorHash),t.set(k.descriptorHash,k),o.set(K.locatorHash,K),p.push([v,k,K])}),Q.push(()=>{var e;N=new Map;for(const o of K.peerDependencies.values()){let i=u.dependencies.get(o.identHash);if(!i&&O.areIdentsEqual(A,o)&&(i=O.convertLocatorToDescriptor(A),t.set(i.descriptorHash,i),r.set(i.descriptorHash,A.locatorHash),a.delete(i.descriptorHash)),i||!K.dependencies.has(o.identHash)){if(i||(i=O.makeDescriptor(o,"missing:")),K.dependencies.set(i.identHash,i),O.isVirtualDescriptor(i)){_.getSetWithDefault(f,i.descriptorHash).add(K.locatorHash)}d.set(i.identHash,i),"missing:"===i.range&&F.add(i.identHash),N.set(o.identHash,null!==(e=n.get(o.identHash))&&void 0!==e?e:K.locatorHash)}else K.peerDependencies.delete(o.identHash)}K.dependencies=new Map(_.sortMap(K.dependencies,([e,t])=>O.stringifyIdent(t)))}),D.push(()=>{if(!o.has(K.locatorHash))return;const e=h.get(v.locatorHash),t=void 0!==e?e+1:1;h.set(v.locatorHash,t),w(K,N,{first:!1,optional:s}),h.set(v.locatorHash,t-1)}),b.push(()=>{const e=u.dependencies.get(i.identHash);if(void 0===e)throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");const t=r.get(e.descriptorHash);if(void 0===t)throw new Error("Assertion failed: Expected the descriptor to be registered");if(_.getSetWithDefault(E,t).add(A.locatorHash),o.has(K.locatorHash)){for(const e of K.peerDependencies.values()){const t=N.get(e.identHash);if(void 0===t)throw new Error("Assertion failed: Expected the peer dependency ident to be registered");_.getArrayWithDefault(_.getMapWithDefault(I,t),O.stringifyIdent(e)).push(K.locatorHash)}for(const e of F)K.dependencies.delete(e)}})}for(const e of[...m,...Q])e();let v;do{v=!0;for(const[A,n,s]of p){if(!o.has(s.locatorHash))continue;const a=_.getMapWithDefault(C,A.locatorHash),c=V.makeHash(...[...s.dependencies.values()].map(t=>{const A="missing:"!==t.range?r.get(t.descriptorHash):"missing:";if(void 0===A)throw new Error(`Assertion failed: Expected the resolution for ${O.prettyDescriptor(e.configuration,t)} to have been registered`);return A}),n.identHash),g=a.get(c);if(void 0===g){a.set(c,n);continue}if(g===n)continue;v=!1,o.delete(s.locatorHash),t.delete(n.descriptorHash),r.delete(n.descriptorHash),i.delete(s.locatorHash);const l=f.get(n.descriptorHash)||[],h=[u.locatorHash,...l];f.delete(n.descriptorHash);for(const e of h){const t=o.get(e);void 0!==t&&t.dependencies.set(n.identHash,g)}}}while(!v);for(const e of[...D,...b])e()};for(const t of e.workspaces)a.delete(t.anchoredDescriptor.descriptorHash),w(t.anchoredLocator,new Map,{first:!0,optional:!1});let D;!function(e){e[e.NotProvided=0]="NotProvided",e[e.NotCompatible=1]="NotCompatible"}(D||(D={}));const b=[];for(const[e,t]of E){const r=o.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the root to be registered");const A=I.get(e);if(void 0!==A)for(const n of t){const t=o.get(n);if(void 0!==t)for(const[i,s]of A){const A=O.parseIdent(i);if(t.peerDependencies.has(A.identHash))continue;const a="p"+V.makeHash(n,i,e).slice(0,5);c.set(a,{subject:n,requested:A,rootRequester:e,allRequesters:s});const g=r.dependencies.get(A.identHash);if(void 0!==g){const e=m(g),n=null!==(u=e.version)&&void 0!==u?u:"0.0.0",i=new Set;for(const e of s){const t=o.get(e);if(void 0===t)throw new Error("Assertion failed: Expected the link to be registered");const r=t.peerDependencies.get(A.identHash);if(void 0===r)throw new Error("Assertion failed: Expected the ident to be registered");i.add(r.range)}[...i].every(e=>$.satisfiesWithPrereleases(n,e))||b.push({type:D.NotCompatible,subject:t,requested:A,requester:r,version:n,hash:a,requirementCount:s.length})}else{const e=r.peerDependenciesMeta.get(i);(null==e?void 0:e.optional)||b.push({type:D.NotProvided,subject:t,requested:A,requester:r,hash:a})}}}}const v=[e=>O.prettyLocatorNoColors(e.subject),e=>O.stringifyIdent(e.requested),e=>""+e.type];for(const t of _.sortMap(b,v))switch(t.type){case D.NotProvided:null==g||g.reportWarning(P.b.MISSING_PEER_DEPENDENCY,`${O.prettyLocator(e.configuration,t.subject)} doesn't provide ${O.prettyIdent(e.configuration,t.requested)} (${X.pretty(e.configuration,t.hash,X.Type.CODE)}), requested by ${O.prettyIdent(e.configuration,t.requester)}`);break;case D.NotCompatible:{const r=t.requirementCount>1?"and some of its descendants request":"requests";null==g||g.reportWarning(P.b.INCOMPATIBLE_PEER_DEPENDENCY,`${O.prettyLocator(e.configuration,t.subject)} provides ${O.prettyIdent(e.configuration,t.requested)} (${X.pretty(e.configuration,t.hash,X.Type.CODE)}) with version ${O.prettyReference(e.configuration,t.version)}, which doesn't satisfy what ${O.prettyIdent(e.configuration,t.requester)} ${r}`)}}b.length>0&&(null==g||g.reportWarning(P.b.UNNAMED,`Some peer dependencies are incorrectly met; run ${X.pretty(e.configuration,"yarn explain peer-requirements ",X.Type.CODE)} for details, where ${X.pretty(e.configuration,"",X.Type.CODE)} is the six-letter p-prefixed code`))}({project:this,report:e.report,accessibleLocators:B,volatileDescriptors:I,optionalBuilds:E,peerRequirements:y,allDescriptors:a,allResolutions:g,allPackages:c});for(const e of I)a.delete(e),g.delete(e);this.storedResolutions=g,this.storedDescriptors=a,this.storedPackages=c,this.accessibleLocators=B,this.originalPackages=l,this.optionalBuilds=E,this.peerRequirements=y,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:r}){const A=r||this.configuration.makeFetcher(),n={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:t},o=Array.from(new Set(_.sortMap(this.storedResolutions.values(),[e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");return O.stringifyLocator(t)}])));let i=!1;const s=H.yG.progressViaCounter(o.length);t.reportProgress(s);const a=v()(32);if(await t.startCacheReport(async()=>{await Promise.all(o.map(e=>a(async()=>{const r=this.storedPackages.get(e);if(!r)throw new Error("Assertion failed: The locator should have been registered");if(O.isVirtualLocator(r))return;let o;try{o=await A.fetch(r,n)}catch(e){return e.message=`${O.prettyLocator(this.configuration,r)}: ${e.message}`,t.reportExceptionOnce(e),void(i=e)}o.checksum?this.storedChecksums.set(r.locatorHash,o.checksum):this.storedChecksums.delete(r.locatorHash),o.releaseFs&&o.releaseFs()}).finally(()=>{s.tick()})))}),i)throw i}async linkEverything({cache:e,report:t,fetcher:r,skipBuild:o}){var s;const c=r||this.configuration.makeFetcher(),g={checksums:this.storedChecksums,project:this,cache:e,fetcher:c,report:t,skipIntegrityCheck:!0},l=this.configuration.getLinkers(),u={project:this,report:t},h=new Map(l.map(e=>{const t=e.makeInstaller(u),r=t.getCustomDataKey(),A=this.installersCustomData.get(r);return void 0!==A&&t.attachCustomData(A),[e,t]})),p=new Map,d=new Map,C=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");return[e,await c.fetch(t,g)]})));for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(void 0===t)throw new Error("Assertion failed: The locator should have been registered");const r=f.get(t.locatorHash);if(void 0===r)throw new Error("Assertion failed: The fetch result should have been registered");const A=this.tryWorkspaceByLocator(t);if(null!==A){const e=[],{scripts:o}=A.manifest;for(const t of["preinstall","install","postinstall"])o.has(t)&&e.push([L.k.SCRIPT,t]);try{for(const e of h.values()){if(null!==(await e.installPackage(t,r)).buildDirective)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}}finally{r.releaseFs&&r.releaseFs()}const i=n.y1.join(r.packageFs.getRealPath(),r.prefixPath);d.set(t.locatorHash,i),e.length>0&&C.set(t.locatorHash,{directives:e,buildLocations:[i]})}else{const e=l.find(e=>e.supportsPackage(t,u));if(!e)throw new H.lk(P.b.LINKER_NOT_FOUND,O.prettyLocator(this.configuration,t)+" isn't supported by any available linker");const A=h.get(e);if(!A)throw new Error("Assertion failed: The installer should have been registered");let n;try{n=await A.installPackage(t,r)}finally{r.releaseFs&&r.releaseFs()}p.set(t.locatorHash,e),d.set(t.locatorHash,n.packageLocation),n.buildDirective&&n.packageLocation&&C.set(t.locatorHash,{directives:n.buildDirective,buildLocations:[n.packageLocation]})}}const I=new Map;for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");const r=null!==this.tryWorkspaceByLocator(t),A=async(e,A)=>{const n=d.get(t.locatorHash);if(void 0===n)throw new Error(`Assertion failed: The package (${O.prettyLocator(this.configuration,t)}) should have been registered`);const o=[];for(const A of t.dependencies.values()){const i=this.storedResolutions.get(A.descriptorHash);if(void 0===i)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,A)}, from ${O.prettyLocator(this.configuration,t)})should have been registered`);const s=this.storedPackages.get(i);if(void 0===s)throw new Error(`Assertion failed: The package (${i}, resolved from ${O.prettyDescriptor(this.configuration,A)}) should have been registered`);const a=null===this.tryWorkspaceByLocator(s)?p.get(i):null;if(void 0===a)throw new Error(`Assertion failed: The package (${i}, resolved from ${O.prettyDescriptor(this.configuration,A)}) should have been registered`);const c=null===a;if(a===e||r||c)null!==d.get(s.locatorHash)&&o.push([A,s]);else if(null!==n){_.getArrayWithDefault(I,i).push(n)}}null!==n&&await A.attachInternalDependencies(t,o)};if(r)for(const[e,t]of h)await A(e,t);else{const e=p.get(t.locatorHash);if(!e)throw new Error("Assertion failed: The linker should have been found");const r=h.get(e);if(!r)throw new Error("Assertion failed: The installer should have been registered");await A(e,r)}}for(const[e,t]of I){const r=this.storedPackages.get(e);if(!r)throw new Error("Assertion failed: The package should have been registered");const A=p.get(r.locatorHash);if(!A)throw new Error("Assertion failed: The linker should have been found");const n=h.get(A);if(!n)throw new Error("Assertion failed: The installer should have been registered");await n.attachExternalDependents(r,t)}const E=new Map;for(const e of h.values()){const t=await e.finalizeInstall();for(const e of null!==(s=null==t?void 0:t.records)&&void 0!==s?s:[])C.set(e.locatorHash,{directives:e.buildDirective,buildLocations:e.buildLocations});void 0!==(null==t?void 0:t.customData)&&E.set(e.getCustomDataKey(),t.customData)}if(this.installersCustomData=E,await this.persistInstallStateFile(),o)return;const B=new Set(this.storedPackages.keys()),y=new Set(C.keys());for(const e of y)B.delete(e);const m=(0,a.createHash)("sha512");m.update(process.versions.node),this.configuration.triggerHook(e=>e.globalHashGeneration,this,e=>{m.update("\0"),m.update(e)});const w=m.digest("hex"),Q=new Map,D=e=>{let t=Q.get(e.locatorHash);if(void 0!==t)return t;const r=this.storedPackages.get(e.locatorHash);if(void 0===r)throw new Error("Assertion failed: The package should have been registered");const A=(0,a.createHash)("sha512");A.update(e.locatorHash),Q.set(e.locatorHash,"");for(const e of r.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(void 0===t)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,e)}) should have been registered`);const r=this.storedPackages.get(t);if(void 0===r)throw new Error("Assertion failed: The package should have been registered");A.update(D(r))}return t=A.digest("hex"),Q.set(e.locatorHash,t),t},b=(e,t)=>{const r=(0,a.createHash)("sha512");r.update(w),r.update(D(e));for(const e of t)r.update(e);return r.digest("hex")},v=this.configuration.get("bstatePath"),S=A.xfs.existsSync(v)?(0,i.parseSyml)(await A.xfs.readFilePromise(v,"utf8")):{},k=new Map;for(;y.size>0;){const e=y.size,r=[];for(const e of y){const o=this.storedPackages.get(e);if(!o)throw new Error("Assertion failed: The package should have been registered");let i=!0;for(const e of o.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(!t)throw new Error(`Assertion failed: The resolution (${O.prettyDescriptor(this.configuration,e)}) should have been registered`);if(y.has(t)){i=!1;break}}if(!i)continue;y.delete(e);const s=C.get(o.locatorHash);if(!s)throw new Error("Assertion failed: The build directive should have been registered");const a=b(o,s.buildLocations);if(Object.prototype.hasOwnProperty.call(S,o.locatorHash)&&S[o.locatorHash]===a)k.set(o.locatorHash,a);else{Object.prototype.hasOwnProperty.call(S,o.locatorHash)?t.reportInfo(P.b.MUST_REBUILD,O.prettyLocator(this.configuration,o)+" must be rebuilt because its dependency tree changed"):t.reportInfo(P.b.MUST_BUILD,O.prettyLocator(this.configuration,o)+" must be built because it never did before or the last one failed");for(const e of s.buildLocations){if(!n.y1.isAbsolute(e))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${e})`);r.push((async()=>{for(const[r,i]of s.directives){let s=`# This file contains the result of Yarn building a package (${O.stringifyLocator(o)})\n`;switch(r){case L.k.SCRIPT:s+=`# Script name: ${i}\n`;break;case L.k.SHELLCODE:s+=`# Script code: ${i}\n`}const c=null;await A.xfs.mktempPromise(async g=>{const l=n.y1.join(g,"build.log"),{stdout:u,stderr:h}=this.configuration.getSubprocessStreams(l,{header:s,prefix:O.prettyLocator(this.configuration,o),report:t});let p;try{switch(r){case L.k.SCRIPT:p=await Z.executePackageScript(o,i,[],{cwd:e,project:this,stdin:c,stdout:u,stderr:h});break;case L.k.SHELLCODE:p=await Z.executePackageShellcode(o,i,[],{cwd:e,project:this,stdin:c,stdout:u,stderr:h})}}catch(e){h.write(e.stack),p=1}if(u.end(),h.end(),0===p)return k.set(o.locatorHash,a),!0;A.xfs.detachTemp(g);const d=`${O.prettyLocator(this.configuration,o)} couldn't be built successfully (exit code ${X.pretty(this.configuration,p,X.Type.NUMBER)}, logs can be found here: ${X.pretty(this.configuration,l,X.Type.PATH)})`;return t.reportInfo(P.b.BUILD_FAILED,d),this.optionalBuilds.has(o.locatorHash)?(k.set(o.locatorHash,a),!0):(t.reportError(P.b.BUILD_FAILED,d),!1)})}})())}}}if(await Promise.all(r),e===y.size){const e=Array.from(y).map(e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The package should have been registered");return O.prettyLocator(this.configuration,t)}).join(", ");t.reportError(P.b.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${e})`);break}}if(k.size>0){const e=this.configuration.get("bstatePath"),t=ie.generateBuildStateFile(k,this.storedPackages);await A.xfs.mkdirPromise(n.y1.dirname(e),{recursive:!0}),await A.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}else await A.xfs.removePromise(v)}async install(e){var t,r;const i=this.configuration.get("nodeLinker");null===(t=x.VK.telemetry)||void 0===t||t.reportInstall(i),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(e=>e.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(const e of this.configuration.packageExtensions.values())for(const[,t]of e)for(const e of t)e.status=ee._u.Inactive;const s=n.y1.join(this.cwd,this.configuration.get("lockfileFilename"));let a=null;if(e.immutable)try{a=await A.xfs.readFilePromise(s,"utf8")}catch(e){throw"ENOENT"===e.code?new H.lk(P.b.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):e}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(const[,t]of this.configuration.packageExtensions)for(const[,r]of t)for(const t of r)if(t.userProvided){const r=X.pretty(this.configuration,t,X.Type.PACKAGE_EXTENSION);switch(t.status){case ee._u.Inactive:e.report.reportWarning(P.b.UNUSED_PACKAGE_EXTENSION,r+": No matching package in the dependency tree; you may not need this rule anymore.");break;case ee._u.Redundant:e.report.reportWarning(P.b.REDUNDANT_PACKAGE_EXTENSION,r+": This rule seems redundant when applied on the original package; the extension may have been applied upstream.")}}if(null!==a){const t=(0,o.qH)(a,this.generateLockfile());if(t!==a){const r=w(s,s,a,t);e.report.reportSeparator();for(const t of r.hunks){e.report.reportInfo(null,`@@ -${t.oldStart},${t.oldLines} +${t.newStart},${t.newLines} @@`);for(const r of t.lines)r.startsWith("+")?e.report.reportError(P.b.FROZEN_LOCKFILE_EXCEPTION,X.pretty(this.configuration,r,X.Type.ADDED)):r.startsWith("-")?e.report.reportError(P.b.FROZEN_LOCKFILE_EXCEPTION,X.pretty(this.configuration,r,X.Type.REMOVED)):e.report.reportInfo(null,X.pretty(this.configuration,r,"grey"))}throw e.report.reportSeparator(),new H.lk(P.b.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(const e of this.configuration.packageExtensions.values())for(const[,t]of e)for(const e of t)e.userProvided&&e.status===ee._u.Active&&(null===(r=x.VK.telemetry)||void 0===r||r.reportPackageExtension(X.json(e,X.Type.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(void 0===e.persistProject||e.persistProject)&&await this.cacheCleanup(e)}),(void 0===e.persistProject||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{const t=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],r=await Promise.all(t.map(async e=>V.checksumPattern(e,{cwd:this.cwd})));await this.linkEverything(e);const A=await Promise.all(t.map(async e=>V.checksumPattern(e,{cwd:this.cwd})));for(let n=0;ne.afterAllInstalled,this,e)}generateLockfile(){const e=new Map;for(const[t,r]of this.storedResolutions.entries()){let A=e.get(r);A||e.set(r,A=new Set),A.add(t)}const t={__metadata:{version:4}};for(const[r,A]of e.entries()){const e=this.originalPackages.get(r);if(!e)continue;const n=[];for(const e of A){const t=this.storedDescriptors.get(e);if(!t)throw new Error("Assertion failed: The descriptor should have been registered");n.push(t)}const o=n.map(e=>O.stringifyDescriptor(e)).sort().join(", "),i=new Y.G;let s;i.version=e.linkType===ee.Un.HARD?e.version:"0.0.0-use.local",i.languageName=e.languageName,i.dependencies=new Map(e.dependencies),i.peerDependencies=new Map(e.peerDependencies),i.dependenciesMeta=new Map(e.dependenciesMeta),i.peerDependenciesMeta=new Map(e.peerDependenciesMeta),i.bin=new Map(e.bin);const a=this.storedChecksums.get(e.locatorHash);if(void 0!==a){const e=a.indexOf("/");if(-1===e)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");const r=a.slice(0,e),A=a.slice(e+1);void 0===t.__metadata.cacheKey&&(t.__metadata.cacheKey=r),s=r===t.__metadata.cacheKey?A:a}t[o]={...i.exportTo({},{compatibilityMode:!1}),linkType:e.linkType.toLowerCase(),resolution:O.stringifyLocator(e),checksum:s}}return['# This file is generated by running "yarn install" inside your project.\n',"# Manual changes might be lost - proceed with caution!\n"].join("")+"\n"+(0,i.stringifySyml)(t)}async persistLockfile(){const e=n.y1.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.generateLockfile();await A.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}async persistInstallStateFile(){const e=[];for(const t of Object.values(oe))e.push(...t);const t=D()(this,e),r=await Ae(N().serialize(t)),o=this.configuration.get("installStatePath");await A.xfs.mkdirPromise(n.y1.dirname(o),{recursive:!0}),await A.xfs.changeFilePromise(o,r)}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0}={}){const r=this.configuration.get("installStatePath");if(!A.xfs.existsSync(r))return void(t&&await this.applyLightResolution());const n=await A.xfs.readFilePromise(r),o=N().deserialize(await ne(n));e&&void 0!==o.installersCustomData&&(this.installersCustomData=o.installersCustomData),t&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,D()(o,oe.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new q.$}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(const e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){const r=new Set([".gitignore"]);if(A.xfs.existsSync(e.cwd)&&(0,W.isFolderInside)(e.cwd,this.cwd)){for(const o of await A.xfs.readdirPromise(e.cwd)){if(r.has(o))continue;const i=n.y1.resolve(e.cwd,o);e.markedFiles.has(i)||(e.immutable?t.reportError(P.b.IMMUTABLE_CACHE,X.pretty(this.configuration,n.y1.basename(i),"magenta")+" appears to be unused and would marked for deletion, but the cache is immutable"):(t.reportInfo(P.b.UNUSED_CACHE_ENTRY,X.pretty(this.configuration,n.y1.basename(i),"magenta")+" appears to be unused - removing"),await A.xfs.removePromise(i)))}e.markedFiles.clear()}}}},52779:(e,t,r)=>{"use strict";r.d(t,{c:()=>s,O:()=>a});var A=r(53887),n=r.n(A),o=r(36545),i=r(54143);const s=/^(?!v)[a-z0-9-.]+$/i;class a{supportsDescriptor(e,t){return!!o.validRange(e.range)||!!s.test(e.range)}supportsLocator(e,t){return!!n().valid(e.reference)||!!s.test(e.reference)}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,r){return r.resolver.bindDescriptor(this.forwardDescriptor(e,r),t,r)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,r){return await r.resolver.getCandidates(this.forwardDescriptor(e,r),t,r)}async getSatisfying(e,t,r){return await r.resolver.getSatisfying(this.forwardDescriptor(e,r),t,r)}async resolve(e,t){const r=await t.resolver.resolve(this.forwardLocator(e,t),t);return i.renamePackage(r,e)}forwardDescriptor(e,t){return i.makeDescriptor(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return i.makeLocator(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}}},35691:(e,t,r)=>{"use strict";r.d(t,{lk:()=>i,yG:()=>s});var A=r(92413),n=r(24304),o=r(92659);class i extends Error{constructor(e,t,r){super(t),this.reportExtra=r,this.reportCode=e}}class s{constructor(){this.reportedInfos=new Set,this.reportedWarnings=new Set,this.reportedErrors=new Set}static progressViaCounter(e){let t,r=0,A=new Promise(e=>{t=e});const n=e=>{const n=t;A=new Promise(e=>{t=e}),r=e,n()},o=async function*(){for(;ro,set:n,tick:(e=0)=>{n(r+1)}}}reportInfoOnce(e,t,r){const A=r&&r.key?r.key:t;this.reportedInfos.has(A)||(this.reportedInfos.add(A),this.reportInfo(e,t))}reportWarningOnce(e,t,r){const A=r&&r.key?r.key:t;this.reportedWarnings.has(A)||(this.reportedWarnings.add(A),this.reportWarning(e,t))}reportErrorOnce(e,t,r){var A;const n=r&&r.key?r.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),null===(A=null==r?void 0:r.reportExtra)||void 0===A||A.call(r,this))}reportExceptionOnce(e){!function(e){return void 0!==e.reportCode}(e)?this.reportErrorOnce(o.b.EXCEPTION,e.stack||e.message,{key:e}):this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra})}createStreamReporter(e=null){const t=new A.PassThrough,r=new n.StringDecoder;let o="";return t.on("data",t=>{let A,n=r.write(t);do{if(A=n.indexOf("\n"),-1!==A){const t=o+n.substr(0,A);n=n.substr(A+1),o="",null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t)}}while(-1!==A);o+=n}),t.on("end",()=>{const t=r.end();""!==t&&(null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t))}),t}}},15815:(e,t,r)=>{"use strict";r.d(t,{Qw:()=>C,Pk:()=>f});var A=r(29148),n=r.n(A),o=r(92659),i=r(35691),s=r(71643);const a=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],c=new Set([o.b.FETCH_NOT_CACHED,o.b.UNUSED_CACHE_ENTRY]),g=process.env.GITHUB_ACTIONS?{start:e=>`::group::${e}\n`,end:e=>"::endgroup::\n"}:process.env.TRAVIS?{start:e=>`travis_fold:start:${e}\n`,end:e=>`travis_fold:end:${e}\n`}:process.env.GITLAB_CI?{start:e=>`section_start:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r${e}\n`,end:e=>`section_end:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r`}:null,l=new Date,u=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,h={patrick:{date:[17,3],chars:["🍀","🌱"],size:40},simba:{date:[19,7],chars:["🦁","🌴"],size:40},jack:{date:[31,10],chars:["🎃","🦇"],size:40},hogsfather:{date:[31,12],chars:["🎉","🎄"],size:40},default:{chars:["=","-"],size:80}},p=u&&Object.keys(h).find(e=>{const t=h[e];return!t.date||t.date[0]===l.getDate()&&t.date[1]===l.getMonth()+1})||"default";function d(e,{configuration:t,json:r}){const A=null===e?0:e,n=(0,o.i)(A);return r||null!==e?n:s.pretty(t,n,"grey")}function C(e,{configuration:t,json:r}){const A=d(e,{configuration:t,json:r});if(!t.get("enableHyperlinks"))return A;if(null===e||e===o.b.UNNAMED)return A;return`]8;;${`https://yarnpkg.com/advanced/error-codes#${A}---${o.b[e]}`.toLowerCase()}${A}]8;;`}class f extends i.yG{constructor({configuration:e,stdout:t,json:r=!1,includeFooter:A=!0,includeLogs:n=!r,includeInfos:o=n,includeWarnings:i=n,forgettableBufferSize:a=5,forgettableNames:g=new Set}){super(),this.uncommitted=new Set,this.cacheHitCount=0,this.cacheMissCount=0,this.warningCount=0,this.errorCount=0,this.startTime=Date.now(),this.indent=0,this.progress=new Map,this.progressTime=0,this.progressFrame=0,this.progressTimeout=null,this.forgettableLines=[],s.addLogFilterSupport(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=a,this.forgettableNames=new Set([...g,...c]),this.includeFooter=A,this.includeInfos=o,this.includeWarnings=i,this.json=r,this.stdout=t;const l=this.configuration.get("progressBarStyle")||p;if(!Object.prototype.hasOwnProperty.call(h,l))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=h[l];const u="➤ YN0000: ┌ ".length,d=Math.max(0,Math.min(process.stdout.columns-u,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*d/80)}static async start(e,t){const r=new this(e),A=process.emitWarning;process.emitWarning=(e,t)=>{if("string"!=typeof e){const r=e;e=r.message,t=null!=t?t:r.name}const A=void 0!==t?`${t}: ${e}`:e;r.reportWarning(o.b.UNNAMED,A)};try{await t(r)}catch(e){r.reportExceptionOnce(e)}finally{await r.finalize(),process.emitWarning=A}return r}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,t){this.cacheMissCount+=1,void 0===t||this.configuration.get("preferAggregateCacheInfo")||this.reportInfo(o.b.FETCH_NOT_CACHED,t)}startTimerSync(e,t,r){const A="function"==typeof t?t:r,n={committed:!1,action:()=>{this.reportInfo(null,"┌ "+e),this.indent+=1,null!==g&&this.stdout.write(g.start(e))}};("function"==typeof t?{}:t).skipIfEmpty?this.uncommitted.add(n):(n.action(),n.committed=!0);const o=Date.now();try{return A()}catch(e){throw this.reportExceptionOnce(e),e}finally{const t=Date.now();this.uncommitted.delete(n),n.committed&&(this.indent-=1,null!==g&&this.stdout.write(g.end(e)),this.configuration.get("enableTimers")&&t-o>200?this.reportInfo(null,"└ Completed in "+s.pretty(this.configuration,t-o,s.Type.DURATION)):this.reportInfo(null,"└ Completed"))}}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r,n={committed:!1,action:()=>{this.reportInfo(null,"┌ "+e),this.indent+=1,null!==g&&this.stdout.write(g.start(e))}};("function"==typeof t?{}:t).skipIfEmpty?this.uncommitted.add(n):(n.action(),n.committed=!0);const o=Date.now();try{return await A()}catch(e){throw this.reportExceptionOnce(e),e}finally{const t=Date.now();this.uncommitted.delete(n),n.committed&&(this.indent-=1,null!==g&&this.stdout.write(g.end(e)),this.configuration.get("enableTimers")&&t-o>200?this.reportInfo(null,"└ Completed in "+s.pretty(this.configuration,t-o,s.Type.DURATION)):this.reportInfo(null,"└ Completed"))}}async startCacheReport(e){const t=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(e){throw this.reportExceptionOnce(e),e}finally{null!==t&&this.reportCacheChanges(t)}}reportSeparator(){0===this.indent?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,t){if(!this.includeInfos)return;this.commit();const r=`${s.pretty(this.configuration,"➤","blueBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(r),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(r,{truncate:!0});else this.writeLineWithForgettableReset(r)}reportWarning(e,t){this.warningCount+=1,this.includeWarnings&&(this.commit(),this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${s.pretty(this.configuration,"➤","yellowBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`))}reportError(e,t){this.errorCount+=1,this.commit(),this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${s.pretty(this.configuration,"➤","redBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`,{truncate:!1})}reportProgress(e){let t=!1;const r=Promise.resolve().then(async()=>{const r={progress:0,title:void 0};this.progress.set(e,{definition:r,lastScaledSize:-1}),this.refreshProgress(-1);for await(const{progress:A,title:n}of e)t||r.progress===A&&r.title===n||(r.progress=A,r.title=n,this.refreshProgress());A()}),A=()=>{t||(t=!0,this.progress.delete(e),this.refreshProgress(1))};return{...r,stop:A}}reportJson(e){this.json&&this.writeLineWithForgettableReset(""+JSON.stringify(e))}async finalize(){if(!this.includeFooter)return;let e="";e=this.errorCount>0?"Failed with errors":this.warningCount>0?"Done with warnings":"Done";const t=s.pretty(this.configuration,Date.now()-this.startTime,s.Type.DURATION),r=this.configuration.get("enableTimers")?`${e} in ${t}`:e;this.errorCount>0?this.reportError(o.b.UNNAMED,r):this.warningCount>0?this.reportWarning(o.b.UNNAMED,r):this.reportInfo(o.b.UNNAMED,r)}writeLine(e,{truncate:t}={}){this.clearProgress({clear:!0}),this.stdout.write(this.truncate(e,{truncate:t})+"\n"),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:t}={}){this.forgettableLines=[],this.writeLine(e,{truncate:t})}writeLines(e,{truncate:t}={}){this.clearProgress({delta:e.length});for(const r of e)this.stdout.write(this.truncate(r,{truncate:t})+"\n");this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:t}){const r=this.cacheHitCount-e,A=this.cacheMissCount-t;if(0===r&&0===A)return;let n="";this.cacheHitCount>1?n+=this.cacheHitCount+" packages were already cached":1===this.cacheHitCount?n+=" - one package was already cached":n+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?n+=`, ${this.cacheMissCount} had to be fetched`:1===this.cacheMissCount&&(n+=", one had to be fetched"):this.cacheMissCount>1?n+=` - ${this.cacheMissCount} packages had to be fetched`:1===this.cacheMissCount&&(n+=" - one package had to be fetched"),this.reportInfo(o.b.FETCH_NOT_CACHED,n)}commit(){const e=this.uncommitted;this.uncommitted=new Set;for(const t of e)t.committed=!0,t.action()}clearProgress({delta:e=0,clear:t=!1}){this.configuration.get("enableProgressBars")&&!this.json&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||t)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json)return;if(null!==this.progressTimeout&&clearTimeout(this.progressTimeout),this.progressTimeout=null,0===this.progress.size)return;const e=Date.now();e-this.progressTime>80&&(this.progressFrame=(this.progressFrame+1)%a.length,this.progressTime=e);const t=a[this.progressFrame];for(const e of this.progress.values()){const r=this.progressStyle.chars[0].repeat(e.lastScaledSize),A=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-e.lastScaledSize);this.stdout.write(`${s.pretty(this.configuration,"➤","blueBright")} ${this.formatName(null)}: ${t} ${r}${A}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},80)}refreshProgress(e=0){let t=!1;if(0===this.progress.size)t=!0;else for(const e of this.progress.values()){const r=Math.trunc(this.progressMaxScaledSize*e.definition.progress),A=e.lastScaledSize;if(e.lastScaledSize=r,r!==A){t=!0;break}}t&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:t}={}){return this.configuration.get("enableProgressBars")||(t=!1),void 0===t&&(t=this.configuration.get("preferTruncatedLines")),t&&(e=n()(e,0,process.stdout.columns-1)),e}formatName(e){return d(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return C(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"│ ".repeat(this.indent)}}},81832:(e,t,r)=>{"use strict";r.d(t,{E:()=>a});var A,n=r(43896),o=r(46009),i=r(79669),s=r(73632);!function(e){e.VERSION="version",e.COMMAND_NAME="commandName",e.PLUGIN_NAME="pluginName",e.INSTALL_COUNT="installCount",e.PROJECT_COUNT="projectCount",e.WORKSPACE_COUNT="workspaceCount",e.DEPENDENCY_COUNT="dependencyCount",e.EXTENSION="packageExtension"}(A||(A={}));class a{constructor(e,t){this.values=new Map,this.hits=new Map,this.enumerators=new Map,this.configuration=e;const r=this.getRegistryPath();this.isNew=!n.xfs.existsSync(r),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(A.VERSION,e)}reportCommandName(e){this.reportValue(A.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(A.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(A.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(A.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(A.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(A.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(A.DEPENDENCY_COUNT,String(e))}reportValue(e,t){s.getSetWithDefault(this.values,e).add(t)}reportEnumerator(e,t){s.getSetWithDefault(this.enumerators,e).add(t)}reportHit(e,t="*"){const r=s.getMapWithDefault(this.hits,e),A=s.getFactoryWithDefault(r,t,()=>0);r.set(t,A+1)}getRegistryPath(){const e=this.configuration.get("globalFolder");return o.y1.join(e,"telemetry.json")}sendReport(e){var t,r,A;const s=this.getRegistryPath();let a;try{a=n.xfs.readJsonSync(s)}catch(e){a={}}const c=Date.now(),g=24*this.configuration.get("telemetryInterval")*60*60*1e3,l=(null!==(t=a.lastUpdate)&&void 0!==t?t:c+g+Math.floor(g*Math.random()))+g;if(!(l>c&&null!=a.lastUpdate)){try{n.xfs.mkdirSync(o.y1.dirname(s),{recursive:!0}),n.xfs.writeJsonSync(s,{lastUpdate:c})}catch(e){return}if(!(l>c)&&a.blocks)for(const[t,n]of Object.entries(null!==(r=a.blocks)&&void 0!==r?r:{})){if(0===Object.keys(n).length)continue;const r=n;r.userId=t;for(const e of Object.keys(null!==(A=r.enumerators)&&void 0!==A?A:{}))r.enumerators[e]=r.enumerators[e].length;const o=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`;i.post(o,r,{configuration:this.configuration}).catch(()=>{})}}}applyChanges(){var e,t,r,A,i,s,a,c,g;const l=this.getRegistryPath();let u;try{u=n.xfs.readJsonSync(l)}catch(e){u={}}const h=null!==(e=this.configuration.get("telemetryUserId"))&&void 0!==e?e:"*",p=u.blocks=null!==(t=u.blocks)&&void 0!==t?t:{},d=p[h]=null!==(r=p[h])&&void 0!==r?r:{};for(const e of this.hits.keys()){const t=d.hits=null!==(A=d.hits)&&void 0!==A?A:{},r=t[e]=null!==(i=t[e])&&void 0!==i?i:{};for(const[t,A]of this.hits.get(e))r[t]=(null!==(s=r[t])&&void 0!==s?s:0)+A}for(const e of["values","enumerators"])for(const t of this[e].keys()){const r=d[e]=null!==(a=d[e])&&void 0!==a?a:{};r[t]=[...new Set([...null!==(c=r[t])&&void 0!==c?c:[],...null!==(g=this[e].get(t))&&void 0!==g?g:[]])]}n.xfs.mkdirSync(o.y1.dirname(l),{recursive:!0}),n.xfs.writeJsonSync(l,u)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch(e){}})}}},33720:(e,t,r)=>{"use strict";r.d(t,{$:()=>n});var A=r(35691);class n extends A.yG{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t,r){return("function"==typeof t?t:r)()}async startTimerPromise(e,t,r){const A="function"==typeof t?t:r;return await A()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(const{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}},60895:(e,t,r)=>{"use strict";r.d(t,{N:()=>s});var A=r(17674),n=r(14626),o=r(46009),i=r(54143);class s{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){const r=e.reference.indexOf("#");if(-1===r)throw new Error("Invalid virtual package reference");const A=e.reference.slice(r+1),n=i.makeLocator(e,A);return t.fetcher.getLocalPath(n,t)}async fetch(e,t){const r=e.reference.indexOf("#");if(-1===r)throw new Error("Invalid virtual package reference");const A=e.reference.slice(r+1),n=i.makeLocator(e,A),o=await t.fetcher.fetch(n,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return i.slugifyLocator(e)}async ensureVirtualLink(e,t,r){const i=t.packageFs.getRealPath(),s=r.project.configuration.get("virtualFolder"),a=this.getLocatorFilename(e),c=A.p.makeVirtualPath(s,a,i),g=new n.K(c,{baseFs:t.packageFs,pathUtils:o.y1});return{...t,packageFs:g}}}},17722:(e,t,r)=>{"use strict";r.d(t,{j:()=>h});var A=r(43896),n=r(46009),o=r(58592),i=r.n(o),s=r(53887),a=r.n(s),c=r(46611),g=r(94538),l=r(20624),u=r(54143);class h{constructor(e,{project:t}){this.workspacesCwds=new Set,this.dependencies=new Map,this.project=t,this.cwd=e}async setup(){this.manifest=A.xfs.existsSync(n.y1.join(this.cwd,c.G.fileName))?await c.G.find(this.cwd):new c.G,this.relativeCwd=n.y1.relative(this.project.cwd,this.cwd)||n.LZ.dot;const e=this.manifest.name?this.manifest.name:u.makeIdent(null,`${this.computeCandidateName()}-${l.makeHash(this.relativeCwd).substr(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=u.makeLocator(e,t),this.anchoredDescriptor=u.makeDescriptor(this.locator,`${g.d.protocol}${this.relativeCwd}`),this.anchoredLocator=u.makeLocator(this.locator,`${g.d.protocol}${this.relativeCwd}`);const r=this.manifest.workspaceDefinitions.map(({pattern:e})=>e),o=await i()(r,{absolute:!0,cwd:n.cS.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort();for(const e of o){const t=n.y1.resolve(this.cwd,n.cS.toPortablePath(e));A.xfs.existsSync(n.y1.join(t,"package.json"))&&this.workspacesCwds.add(t)}}accepts(e){const t=e.indexOf(":"),r=-1!==t?e.slice(0,t+1):null,A=-1!==t?e.slice(t+1):e;return r===g.d.protocol&&n.y1.normalize(A)===this.relativeCwd||(r===g.d.protocol&&"*"===A||!!a().validRange(A)&&(r===g.d.protocol?a().satisfies(null!==this.manifest.version?this.manifest.version:"0.0.0",A):!!this.project.configuration.get("enableTransparentWorkspaces")&&(null!==this.manifest.version&&a().satisfies(this.manifest.version,A))))}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":""+n.y1.basename(this.cwd)||"unnamed-workspace"}async persistManifest(){const e={};this.manifest.exportTo(e);const t=n.y1.join(this.cwd,c.G.fileName),r=JSON.stringify(e,null,this.manifest.indent)+"\n";await A.xfs.changeFilePromise(t,r,{automaticNewlines:!0})}}},94538:(e,t,r)=>{"use strict";r.d(t,{d:()=>n});var A=r(32485);class n{supportsDescriptor(e,t){if(e.range.startsWith(n.protocol))return!0;return null!==t.project.tryWorkspaceByDescriptor(e)}supportsLocator(e,t){return!!e.reference.startsWith(n.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,r){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,r){return[r.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,r){return null}async resolve(e,t){const r=t.project.getWorkspaceByCwd(e.reference.slice(n.protocol.length));return{...e,version:r.manifest.version||"0.0.0",languageName:"unknown",linkType:A.Un.SOFT,dependencies:new Map([...r.manifest.dependencies,...r.manifest.devDependencies]),peerDependencies:new Map([...r.manifest.peerDependencies]),dependenciesMeta:r.manifest.dependenciesMeta,peerDependenciesMeta:r.manifest.peerDependenciesMeta,bin:r.manifest.bin}}}n.protocol="workspace:"},59355:(e,t,r)=>{"use strict";r.d(t,{o:()=>A});const A="2.4.2"},6220:(e,t,r)=>{"use strict";r.r(t),r.d(t,{EndStrategy:()=>A,pipevp:()=>g,execvp:()=>l});var A,n=r(46009),o=r(67566),i=r.n(o);function s(e){return null!==e&&"number"==typeof e.fd}function a(){}!function(e){e[e.Never=0]="Never",e[e.ErrorCode=1]="ErrorCode",e[e.Always=2]="Always"}(A||(A={}));let c=0;async function g(e,t,{cwd:r,env:o=process.env,strict:g=!1,stdin:l=null,stdout:u,stderr:p,end:d=A.Always}){const C=["pipe","pipe","pipe"];null===l?C[0]="ignore":s(l)&&(C[0]=l),s(u)&&(C[1]=u),s(p)&&(C[2]=p),0==c++&&process.on("SIGINT",a);const f=i()(e,t,{cwd:n.cS.fromPortablePath(r),env:{...o,PWD:n.cS.fromPortablePath(r)},stdio:C});s(l)||null===l||l.pipe(f.stdin),s(u)||f.stdout.pipe(u,{end:!1}),s(p)||f.stderr.pipe(p,{end:!1});const I=()=>{for(const e of new Set([u,p]))s(e)||e.end()};return new Promise((t,r)=>{f.on("error",e=>{0==--c&&process.off("SIGINT",a),d!==A.Always&&d!==A.ErrorCode||I(),r(e)}),f.on("close",(n,o)=>{0==--c&&process.off("SIGINT",a),(d===A.Always||d===A.ErrorCode&&n>0)&&I(),0!==n&&g?r(null!==n?new Error(`Child "${e}" exited with exit code ${n}`):new Error(`Child "${e}" exited with signal ${o}`)):t({code:h(n,o)})})})}async function l(e,t,{cwd:r,env:A=process.env,encoding:o="utf8",strict:s=!1}){const a=["ignore","pipe","pipe"],c=[],g=[],l=n.cS.fromPortablePath(r);void 0!==A.PWD&&(A={...A,PWD:l});const u=i()(e,t,{cwd:l,env:A,stdio:a});return u.stdout.on("data",e=>{c.push(e)}),u.stderr.on("data",e=>{g.push(e)}),await new Promise((t,r)=>{u.on("error",r),u.on("close",(A,n)=>{const i="buffer"===o?Buffer.concat(c):Buffer.concat(c).toString(o),a="buffer"===o?Buffer.concat(g):Buffer.concat(g).toString(o);0!==A&&s?r(Object.assign(new Error(`Child "${e}" exited with exit code ${A}\n\n${a}`),{code:h(A,n),stdout:i,stderr:a})):t({code:h(A,n),stdout:i,stderr:a})})})}const u=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function h(e,t){const r=u.get(t);return void 0!==r?128+r:null!=e?e:1}},81111:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getDefaultGlobalFolder:()=>o,getHomeFolder:()=>i,isFolderInside:()=>s});var A=r(46009),n=r(12087);function o(){if("win32"===process.platform){const e=A.cS.toPortablePath(process.env.LOCALAPPDATA||A.cS.join((0,n.homedir)(),"AppData","Local"));return A.y1.resolve(e,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){const e=A.cS.toPortablePath(process.env.XDG_DATA_HOME);return A.y1.resolve(e,"yarn/berry")}return A.y1.resolve(i(),".yarn/berry")}function i(){return A.cS.toPortablePath((0,n.homedir)()||"/usr/local/share")}function s(e,t){const r=A.y1.relative(t,e);return r&&!r.startsWith("..")&&!A.y1.isAbsolute(r)}},71643:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Type:()=>A,Style:()=>n,supportsColor:()=>h,supportsHyperlinks:()=>p,tuple:()=>I,applyStyle:()=>E,applyColor:()=>B,pretty:()=>y,prettyList:()=>m,json:()=>w,mark:()=>Q,LogLevel:()=>D,addLogFilterSupport:()=>b});var A,n,o=r(46009),i=r(95882),s=r.n(i),a=r(92659),c=r(73632),g=r(54143),l=r(32485);!function(e){e.NO_HINT="NO_HINT",e.NULL="NULL",e.SCOPE="SCOPE",e.NAME="NAME",e.RANGE="RANGE",e.REFERENCE="REFERENCE",e.NUMBER="NUMBER",e.PATH="PATH",e.URL="URL",e.ADDED="ADDED",e.REMOVED="REMOVED",e.CODE="CODE",e.DURATION="DURATION",e.SIZE="SIZE",e.IDENT="IDENT",e.DESCRIPTOR="DESCRIPTOR",e.LOCATOR="LOCATOR",e.RESOLUTION="RESOLUTION",e.DEPENDENT="DEPENDENT",e.PACKAGE_EXTENSION="PACKAGE_EXTENSION"}(A||(A={})),function(e){e[e.BOLD=2]="BOLD"}(n||(n={}));const u=process.env.GITHUB_ACTIONS?{level:2}:s().supportsColor?{level:s().supportsColor.level}:{level:0},h=0!==u.level,p=h&&!process.env.GITHUB_ACTIONS,d=new(s().Instance)(u),C=new Map([[A.NO_HINT,null],[A.NULL,["#a853b5",129]],[A.SCOPE,["#d75f00",166]],[A.NAME,["#d7875f",173]],[A.RANGE,["#00afaf",37]],[A.REFERENCE,["#87afff",111]],[A.NUMBER,["#ffd700",220]],[A.PATH,["#d75fd7",170]],[A.URL,["#d75fd7",170]],[A.ADDED,["#5faf00",70]],[A.REMOVED,["#d70000",160]],[A.CODE,["#87afff",111]],[A.SIZE,["#ffd700",220]]]),f={[A.NUMBER]:{pretty:(e,t)=>""+t,json:e=>e},[A.IDENT]:{pretty:(e,t)=>g.prettyIdent(e,t),json:e=>g.stringifyIdent(e)},[A.LOCATOR]:{pretty:(e,t)=>g.prettyLocator(e,t),json:e=>g.stringifyLocator(e)},[A.DESCRIPTOR]:{pretty:(e,t)=>g.prettyDescriptor(e,t),json:e=>g.stringifyDescriptor(e)},[A.RESOLUTION]:{pretty:(e,{descriptor:t,locator:r})=>g.prettyResolution(e,t,r),json:({descriptor:e,locator:t})=>({descriptor:g.stringifyDescriptor(e),locator:null!==t?g.stringifyLocator(t):null})},[A.DEPENDENT]:{pretty:(e,{locator:t,descriptor:r})=>g.prettyDependent(e,t,r),json:({locator:e,descriptor:t})=>({locator:g.stringifyLocator(e),descriptor:g.stringifyDescriptor(t)})},[A.PACKAGE_EXTENSION]:{pretty:(e,t)=>{switch(t.type){case l.HN.Dependency:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"dependencies",A.CODE)} ➤ ${g.prettyIdent(e,t.descriptor)}`;case l.HN.PeerDependency:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"peerDependencies",A.CODE)} ➤ ${g.prettyIdent(e,t.descriptor)}`;case l.HN.PeerDependencyMeta:return`${g.prettyIdent(e,t.parentDescriptor)} ➤ ${B(e,"peerDependenciesMeta",A.CODE)} ➤ ${g.prettyIdent(e,g.parseIdent(t.selector))} ➤ ${B(e,t.key,A.CODE)}`;default:throw new Error("Assertion failed: Unsupported package extension type: "+t.type)}},json:e=>{switch(e.type){case l.HN.Dependency:return`${g.stringifyIdent(e.parentDescriptor)} > ${g.stringifyIdent(e.descriptor)}`;case l.HN.PeerDependency:return`${g.stringifyIdent(e.parentDescriptor)} >> ${g.stringifyIdent(e.descriptor)}`;case l.HN.PeerDependencyMeta:return`${g.stringifyIdent(e.parentDescriptor)} >> ${e.selector} / ${e.key}`;default:throw new Error("Assertion failed: Unsupported package extension type: "+e.type)}}},[A.DURATION]:{pretty:(e,t)=>{if(t>6e4){const e=Math.floor(t/1e3/60),r=Math.ceil((t-60*e*1e3)/1e3);return 0===r?e+"m":`${e}m ${r}s`}{const e=Math.floor(t/1e3),r=t-1e3*e;return 0===r?e+"s":`${e}s ${r}ms`}},json:e=>e},[A.SIZE]:{pretty:(e,t)=>{const r=["KB","MB","GB","TB"];let n=r.length;for(;n>1&&t<1024**n;)n-=1;const o=1024**n;return B(e,`${Math.floor(100*t/o)/100} ${r[n-1]}`,A.NUMBER)},json:e=>e},[A.PATH]:{pretty:(e,t)=>B(e,o.cS.fromPortablePath(t),A.PATH),json:e=>o.cS.fromPortablePath(e)}};function I(e,t){return[t,e]}function E(e,t,r){return e.get("enableColors")?(r&n.BOLD&&(t=s().bold(t)),t):t}function B(e,t,r){if(!e.get("enableColors"))return t;const A=C.get(r);if(null===A)return t;const n=void 0===A?r:u.level>=3?A[0]:A[1],o="number"==typeof n?d.ansi256(n):n.startsWith("#")?d.hex(n):d[n];if("function"!=typeof o)throw new Error("Invalid format type "+n);return o(t)}function y(e,t,r){if(null===t)return B(e,"null",A.NULL);if(Object.prototype.hasOwnProperty.call(f,r)){return f[r].pretty(e,t)}if("string"!=typeof t)throw new Error("Assertion failed: Expected the value to be a string, got "+typeof t);return B(e,t,r)}function m(e,t,r,{separator:A=", "}={}){return[...t].map(t=>y(e,t,r)).join(A)}function w(e,t){if(null===e)return null;if(Object.prototype.hasOwnProperty.call(f,t))return c.overrideType(t),f[t].json(e);if("string"!=typeof e)throw new Error("Assertion failed: Expected the value to be a string, got "+typeof e);return e}function Q(e){return{Check:B(e,"✓","green"),Cross:B(e,"✘","red"),Question:B(e,"?","cyan")}}var D;function b(e,{configuration:t}){const r=t.get("logFilters"),A=new Map,n=new Map;for(const e of r){const t=e.get("level");if(void 0===t)continue;const r=e.get("code");void 0!==r&&A.set(r,t);const o=e.get("text");void 0!==o&&n.set(o,t)}const o=e.reportInfo,i=e.reportWarning,c=e.reportError,g=function(e,t,r,g){switch(((e,t,r)=>{if(null===e||e===a.b.UNNAMED)return r;if(n.size>0){const e=n.get(s().reset(t));if(void 0!==e)return null!=e?e:r}if(A.size>0){const t=A.get((0,a.i)(e));if(void 0!==t)return null!=t?t:r}return r})(t,r,g)){case D.Info:o.call(e,t,r);break;case D.Warning:i.call(e,null!=t?t:a.b.UNNAMED,r);break;case D.Error:c.call(e,null!=t?t:a.b.UNNAMED,r)}};e.reportInfo=function(...e){return g(this,...e,D.Info)},e.reportWarning=function(...e){return g(this,...e,D.Warning)},e.reportError=function(...e){return g(this,...e,D.Error)}}!function(e){e.Error="error",e.Warning="warning",e.Info="info",e.Discard="discard"}(D||(D={}))},20624:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeHash:()=>a,checksumFile:()=>c,checksumPattern:()=>g});var A=r(43896),n=r(46009),o=r(76417),i=r(58592),s=r.n(i);function a(...e){const t=(0,o.createHash)("sha512");for(const r of e)t.update(r||"");return t.digest("hex")}function c(e){return new Promise((t,r)=>{const n=(0,o.createHash)("sha512"),i=A.xfs.createReadStream(e);i.on("data",e=>{n.update(e)}),i.on("error",e=>{r(e)}),i.on("end",()=>{t(n.digest("hex"))})})}async function g(e,{cwd:t}){const r=(await s()(e,{cwd:n.cS.fromPortablePath(t),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(e=>e+"/**/*"),i=await s()([e,...r],{cwd:n.cS.fromPortablePath(t),expandDirectories:!1,onlyFiles:!1,unique:!0});i.sort();const a=await Promise.all(i.map(async e=>{const t=[Buffer.from(e)],r=n.cS.toPortablePath(e),o=await A.xfs.lstatPromise(r);return o.isSymbolicLink()?t.push(Buffer.from(await A.xfs.readlinkPromise(r))):o.isFile()&&t.push(await A.xfs.readFilePromise(r)),t.join("\0")})),c=(0,o.createHash)("sha512");for(const e of a)c.update(e);return c.digest("hex")}},79669:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getNetworkSettings:()=>d,Method:()=>C,request:()=>f,get:()=>I,put:()=>E,post:()=>B,del:()=>y});var A=r(43896),n=r(57211),o=r(98605),i=r(2401),s=r.n(i),a=r(98161),c=r(78835);const g=new Map,l=new Map,u=new o.Agent({keepAlive:!0}),h=new n.Agent({keepAlive:!0});function p(e){const t=new c.URL(e),r={host:t.hostname,headers:{}};return t.port&&(r.port=Number(t.port)),{proxy:r}}function d(e,t){const r=[...t.configuration.get("networkSettings")].sort(([e],[t])=>t.length-e.length),A={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(A),o=new c.URL(e);for(const[e,t]of r)if(s().isMatch(o.hostname,e))for(const e of n){const r=t.get(e);null!==r&&void 0===A[e]&&(A[e]=r)}for(const e of n)void 0===A[e]&&(A[e]=t.configuration.get(e));return A}var C;async function f(e,t,{configuration:n,headers:o,json:i,jsonRequest:g=i,jsonResponse:f=i,method:I=C.GET}){const E=d(e,{configuration:n});if(!1===E.enableNetwork)throw new Error(`Request to '${e}' has been blocked because of your configuration settings`);const B=new c.URL(e);if("http:"===B.protocol&&!s().isMatch(B.hostname,n.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${B.hostname})`);const y={agent:{http:E.httpProxy?a.httpOverHttp(p(E.httpProxy)):u,https:E.httpsProxy?a.httpsOverHttp(p(E.httpsProxy)):h},headers:o,method:I};y.responseType=f?"json":"buffer",null!==t&&(Buffer.isBuffer(t)||!g&&"string"==typeof t?y.body=t:y.json=t);const m=n.get("httpTimeout"),w=n.get("httpRetry"),Q=n.get("enableStrictSsl"),D=E.caFilePath,{default:b}=await Promise.resolve().then(r.t.bind(r,48722,7)),v=D?await async function(e){let t=l.get(e);return t||(t=A.xfs.readFilePromise(e).then(t=>(l.set(e,t),t)),l.set(e,t)),t}(D):void 0,S=b.extend({timeout:{socket:m},retry:w,https:{rejectUnauthorized:Q,certificateAuthority:v},...y});return n.getLimit("networkConcurrency")(()=>S(e))}async function I(e,{configuration:t,json:r,jsonResponse:A=r,...n}){let o=g.get(e);return o||(o=f(e,null,{configuration:t,...n}).then(t=>(g.set(e,t.body),t.body)),g.set(e,o)),!1===Buffer.isBuffer(o)&&(o=await o),A?JSON.parse(o.toString()):o}async function E(e,t,r){return(await f(e,t,{...r,method:C.PUT})).body}async function B(e,t,r){return(await f(e,t,{...r,method:C.POST})).body}async function y(e,t){return(await f(e,null,{...t,method:C.DELETE})).body}!function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.DELETE="DELETE"}(C||(C={}))},53836:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Cache:()=>p.C,DEFAULT_RC_FILENAME:()=>d.tr,DEFAULT_LOCK_FILENAME:()=>d.nh,Configuration:()=>d.VK,FormatType:()=>d.a5,ProjectLookup:()=>d.EW,SettingsType:()=>d.a2,BuildType:()=>C.k,LightReport:()=>f.h,Manifest:()=>I.G,MessageName:()=>E.b,Project:()=>B.I,TAG_REGEXP:()=>y.c,ReportError:()=>m.lk,Report:()=>m.yG,StreamReport:()=>w.Pk,TelemetryManager:()=>Q.E,ThrowReport:()=>D.$,VirtualFetcher:()=>b.N,WorkspaceResolver:()=>v.d,Workspace:()=>S.j,YarnVersion:()=>k.o,LinkType:()=>K.Un,PackageExtensionType:()=>K.HN,PackageExtensionStatus:()=>K._u,hashUtils:()=>i,httpUtils:()=>s,execUtils:()=>A,folderUtils:()=>n,formatUtils:()=>o,miscUtils:()=>a,scriptUtils:()=>c,semverUtils:()=>g,structUtils:()=>l,tgzUtils:()=>u,treeUtils:()=>h});var A=r(6220),n=r(81111),o=r(71643),i=r(20624),s=r(79669),a=r(73632),c=r(63088),g=r(36545),l=r(54143),u=r(72785),h=r(85875),p=r(28148),d=r(39922),C=r(92409),f=r(62152),I=r(46611),E=r(92659),B=r(85824),y=r(52779),m=r(35691),w=r(15815),Q=r(81832),D=r(33720),b=r(60895),v=r(94538),S=r(17722),k=r(59355),K=r(32485)},73632:(e,t,r)=>{"use strict";r.r(t),r.d(t,{escapeRegExp:()=>a,overrideType:()=>c,assertNever:()=>g,validateEnum:()=>l,mapAndFilter:()=>u,mapAndFind:()=>p,isIndexableObject:()=>C,convertMapsToIndexableObjects:()=>f,getFactoryWithDefault:()=>I,getArrayWithDefault:()=>E,getSetWithDefault:()=>B,getMapWithDefault:()=>y,releaseAfterUseAsync:()=>m,prettifyAsyncErrors:()=>w,prettifySyncErrors:()=>Q,bufferStream:()=>D,BufferStream:()=>b,DefaultStream:()=>v,dynamicRequire:()=>S,dynamicRequireNoCache:()=>k,sortMap:()=>K,buildIgnorePattern:()=>F,replaceEnvVariables:()=>N,parseBoolean:()=>M,parseOptionalBoolean:()=>R,tryParseOptionalBoolean:()=>x});var A=r(46009),n=r(40822),o=r(2401),i=r.n(o),s=r(92413);function a(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c(e){}function g(e){throw new Error(`Assertion failed: Unexpected object '${e}'`)}function l(e,t){if(!Object.values(e).includes(t))throw new Error("Assertion failed: Invalid value for enumeration");return t}function u(e,t){const r=[];for(const A of e){const e=t(A);e!==h&&r.push(e)}return r}e=r.hmd(e);const h=Symbol();function p(e,t){for(const r of e){const e=t(r);if(e!==d)return e}}u.skip=h;const d=Symbol();function C(e){return"object"==typeof e&&null!==e}function f(e){if(e instanceof Map&&(e=Object.fromEntries(e)),C(e))for(const t of Object.keys(e)){const r=e[t];C(r)&&(e[t]=f(r))}return e}function I(e,t,r){let A=e.get(t);return void 0===A&&e.set(t,A=r()),A}function E(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=[]),r}function B(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=new Set),r}function y(e,t){let r=e.get(t);return void 0===r&&e.set(t,r=new Map),r}async function m(e,t){if(null==t)return await e();try{return await e()}finally{await t()}}async function w(e,t){try{return await e()}catch(e){throw e.message=t(e.message),e}}function Q(e,t){try{return e()}catch(e){throw e.message=t(e.message),e}}async function D(e){return await new Promise((t,r)=>{const A=[];e.on("error",e=>{r(e)}),e.on("data",e=>{A.push(e)}),e.on("end",()=>{t(Buffer.concat(A))})})}p.skip=d;class b extends s.Transform{constructor(){super(...arguments),this.chunks=[]}_transform(e,t,r){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),r(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}}class v extends s.Transform{constructor(e=Buffer.alloc(0)){super(),this.active=!0,this.ifEmpty=e}_transform(e,t,r){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,r(null,e)}_flush(e){this.active&&this.ifEmpty.length>0&&e(null,this.ifEmpty)}}function S(e){return"undefined"!=typeof require?require(e):r(32178)(e)}function k(t){const n=A.cS.fromPortablePath(t),o=r.c[n];let i;delete r.c[n];try{i=S(n);const t=r.c[n],A=e.children.indexOf(t);-1!==A&&e.children.splice(A,1)}finally{r.c[n]=o}return i}function K(e,t){const r=Array.from(e);Array.isArray(t)||(t=[t]);const A=[];for(const e of t)A.push(r.map(t=>e(t)));const n=r.map((e,t)=>t);return n.sort((e,t)=>{for(const r of A){const A=r[e]r[t]?1:0;if(0!==A)return A}return 0}),n.map(e=>r[e])}function F(e){return 0===e.length?null:e.map(e=>`(${i().makeRe(e,{windows:!1}).source})`).join("|")}function N(e,{env:t}){return e.replace(/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g,(...e)=>{const{variableName:r,colon:A,fallback:o}=e[e.length-1],i=Object.prototype.hasOwnProperty.call(t,r),s=t[r];if(s)return s;if(i&&!A)return s;if(null!=o)return o;throw new n.UsageError(`Environment variable not found (${r})`)})}function M(e){switch(e){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${e}" as a boolean`)}}function R(e){return void 0===e?e:M(e)}function x(e){try{return R(e)}catch(e){return null}}},63088:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeScriptEnv:()=>b,prepareExternalProject:()=>S,hasPackageScript:()=>k,executePackageScript:()=>K,executePackageShellcode:()=>F,executeWorkspaceScript:()=>M,hasWorkspaceScript:()=>R,executeWorkspaceLifecycleScript:()=>x,maybeExecuteWorkspaceLifecycleScript:()=>L,getPackageAccessibleBinaries:()=>P,getWorkspaceAccessibleBinaries:()=>O,executePackageAccessibleBinary:()=>U,executeWorkspaceAccessibleBinary:()=>T});var A,n=r(46009),o=r(53660),i=r(75448),s=r(43896),a=r(65281),c=r(76756),g=r(50730),l=r(61814),u=r.n(l),h=r(61578),p=r.n(h),d=r(92413),C=r(46611),f=r(92659),I=r(35691),E=r(15815),B=r(59355),y=r(6220),m=r(71643),w=r(73632),Q=r(54143);async function D(e,t,r,A=[]){"win32"===process.platform&&await Promise.all([s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".exe"}),(0,g.O9)()),s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".exe.info"}),[r,...A].join("\n")),s.xfs.writeFilePromise(n.y1.format({dir:e,name:t,ext:".cmd"}),`@"${r}" ${A.map(e=>`"${e.replace('"','""')}"`).join(" ")} %*\n`)]),await s.xfs.writeFilePromise(n.y1.join(e,t),`#!/bin/sh\nexec "${r}" ${A.map(e=>`'${e.replace(/'/g,"'\"'\"'")}'`).join(" ")} "$@"\n`),await s.xfs.chmodPromise(n.y1.join(e,t),493)}async function b({project:e,binFolder:t,lifecycleScript:r}){const A={};for(const[e,t]of Object.entries(process.env))void 0!==t&&(A["path"!==e.toLowerCase()?e:"PATH"]=t);const o=n.cS.fromPortablePath(t);A.BERRY_BIN_FOLDER=n.cS.fromPortablePath(o),await D(t,"node",process.execPath),null!==B.o&&(await D(t,"run",process.execPath,[process.argv[1],"run"]),await D(t,"yarn",process.execPath,[process.argv[1]]),await D(t,"yarnpkg",process.execPath,[process.argv[1]]),await D(t,"node-gyp",process.execPath,[process.argv[1],"run","--top-level","node-gyp"])),e&&(A.INIT_CWD=n.cS.fromPortablePath(e.configuration.startingCwd)),A.PATH=A.PATH?`${o}${n.cS.delimiter}${A.PATH}`:""+o,A.npm_execpath=`${o}${n.cS.sep}yarn`,A.npm_node_execpath=`${o}${n.cS.sep}node`;const i=null!==B.o?"yarn/"+B.o:`yarn/${w.dynamicRequire("@yarnpkg/core").version}-core`;return A.npm_config_user_agent=`${i} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,r&&(A.npm_lifecycle_event=r),e&&await e.configuration.triggerHook(e=>e.setupScriptEnvironment,e,A,async(e,r,A)=>await D(t,(0,n.Zu)(e),r,A)),A}!function(e){e.Yarn1="Yarn Classic",e.Yarn2="Yarn",e.Npm="npm",e.Pnpm="pnpm"}(A||(A={}));const v=p()(2);async function S(e,t,{configuration:r,report:o,workspace:i=null}){await v(async()=>{await s.xfs.mktempPromise(async a=>{const c=n.y1.join(a,"pack.log"),{stdout:g,stderr:l}=r.getSubprocessStreams(c,{prefix:e,report:o}),u=await async function(e){let t=null;try{t=await s.xfs.readFilePromise(n.y1.join(e,n.QS.lockfile),"utf8")}catch(e){}return null!==t?t.match(/^__metadata:$/m)?A.Yarn2:A.Yarn1:s.xfs.existsSync(n.y1.join(e,"package-lock.json"))?A.Npm:s.xfs.existsSync(n.y1.join(e,"pnpm-lock.yaml"))?A.Pnpm:null}(e);let h;null!==u?(g.write(`Installing the project using ${u}\n\n`),h=u):(g.write("No package manager detected; defaulting to Yarn\n\n"),h=A.Yarn2),await s.xfs.mktempPromise(async r=>{const o=await b({binFolder:r}),u=new Map([[A.Yarn1,async()=>{const r=null!==i?["workspace",i]:[],A=await y.pipevp("yarn",["set","version","classic","--only-if-needed"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==A.code)return A.code;await s.xfs.appendFilePromise(n.y1.join(e,".npmignore"),"/.yarn\n"),g.write("\n");const a=await y.pipevp("yarn",["install"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==a.code)return a.code;g.write("\n");const c=await y.pipevp("yarn",[...r,"pack","--filename",n.cS.fromPortablePath(t)],{cwd:e,env:o,stdin:null,stdout:g,stderr:l});return 0!==c.code?c.code:0}],[A.Yarn2,async()=>{const r=null!==i?["workspace",i]:[];o.YARN_ENABLE_INLINE_BUILDS="1";const A=n.y1.join(e,n.QS.lockfile);await s.xfs.existsPromise(A)||await s.xfs.writeFilePromise(A,"");const a=await y.pipevp("yarn",[...r,"pack","--install-if-needed","--filename",n.cS.fromPortablePath(t)],{cwd:e,env:o,stdin:null,stdout:g,stderr:l});return 0!==a.code?a.code:0}],[A.Npm,async()=>{if(null!==i)throw new Error("Workspaces aren't supported by npm, which has been detected as the primary package manager for "+e);delete o.npm_config_user_agent;const r=await y.pipevp("npm",["install"],{cwd:e,env:o,stdin:null,stdout:g,stderr:l,end:y.EndStrategy.ErrorCode});if(0!==r.code)return r.code;const A=new d.PassThrough,a=w.bufferStream(A);A.pipe(g);const c=await y.pipevp("npm",["pack","--silent"],{cwd:e,env:o,stdin:null,stdout:A,stderr:l});if(0!==c.code)return c.code;const u=(await a).toString().trim(),h=n.y1.resolve(e,n.cS.toPortablePath(u));return await s.xfs.renamePromise(h,t),0}]]).get(h);if(void 0===u)throw new Error("Assertion failed: Unsupported workflow");const p=await u();if(0!==p&&void 0!==p)throw s.xfs.detachTemp(a),new I.lk(f.b.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${p}, logs can be found here: ${c})`)})})})}async function k(e,t,{project:r}){const A=r.storedPackages.get(e.locatorHash);if(!A)throw new Error(`Package for ${Q.prettyLocator(r.configuration,e)} not found in the project`);return await o.A.openPromise(async e=>{const o=r.configuration,s=r.configuration.getLinkers(),a={project:r,report:new E.Pk({stdout:new d.PassThrough,configuration:o})},c=s.find(e=>e.supportsPackage(A,a));if(!c)throw new Error(`The package ${Q.prettyLocator(r.configuration,A)} isn't supported by any of the available linkers`);const g=await c.findPackageLocation(A,a),l=new i.M(g,{baseFs:e});return(await C.G.find(n.LZ.dot,{baseFs:l})).scripts.has(t)},{libzip:await(0,a.getLibzipPromise)()})}async function K(e,t,r,{cwd:A,project:n,stdin:o,stdout:i,stderr:a}){return await s.xfs.mktempPromise(async s=>{const{manifest:g,env:l,cwd:u}=await N(e,{project:n,binFolder:s,cwd:A,lifecycleScript:t}),h=g.scripts.get(t);if(void 0===h)return 1;const p=await n.configuration.reduceHook(e=>e.wrapScriptExecution,async()=>await(0,c.execute)(h,r,{cwd:u,env:l,stdin:o,stdout:i,stderr:a}),n,e,t,{script:h,args:r,cwd:u,env:l,stdin:o,stdout:i,stderr:a});return await p()})}async function F(e,t,r,{cwd:A,project:n,stdin:o,stdout:i,stderr:a}){return await s.xfs.mktempPromise(async s=>{const{env:g,cwd:l}=await N(e,{project:n,binFolder:s,cwd:A});return await(0,c.execute)(t,r,{cwd:l,env:g,stdin:o,stdout:i,stderr:a})})}async function N(e,{project:t,binFolder:r,cwd:A,lifecycleScript:s}){const c=t.storedPackages.get(e.locatorHash);if(!c)throw new Error(`Package for ${Q.prettyLocator(t.configuration,e)} not found in the project`);return await o.A.openPromise(async o=>{const a=t.configuration,g=t.configuration.getLinkers(),l={project:t,report:new E.Pk({stdout:new d.PassThrough,configuration:a})},u=g.find(e=>e.supportsPackage(c,l));if(!u)throw new Error(`The package ${Q.prettyLocator(t.configuration,c)} isn't supported by any of the available linkers`);const h=await b({project:t,binFolder:r,lifecycleScript:s});await Promise.all(Array.from(await P(e,{project:t}),([e,[,t]])=>D(r,(0,n.Zu)(e),process.execPath,[t])));const p=await u.findPackageLocation(c,l),f=new i.M(p,{baseFs:o}),I=await C.G.find(n.LZ.dot,{baseFs:f});return void 0===A&&(A=p),{manifest:I,binFolder:r,env:h,cwd:A}},{libzip:await(0,a.getLibzipPromise)()})}async function M(e,t,r,{cwd:A,stdin:n,stdout:o,stderr:i}){return await K(e.anchoredLocator,t,r,{cwd:A,project:e.project,stdin:n,stdout:o,stderr:i})}function R(e,t){return e.manifest.scripts.has(t)}async function x(e,t,{cwd:r,report:A}){const{configuration:o}=e.project;await s.xfs.mktempPromise(async i=>{const a=n.y1.join(i,t+".log"),c=`# This file contains the result of Yarn calling the "${t}" lifecycle script inside a workspace ("${e.cwd}")\n`,{stdout:g,stderr:l}=o.getSubprocessStreams(a,{report:A,prefix:Q.prettyLocator(o,e.anchoredLocator),header:c});A.reportInfo(f.b.LIFECYCLE_SCRIPT,`Calling the "${t}" lifecycle script`);const h=await M(e,t,[],{cwd:r,stdin:null,stdout:g,stderr:l});if(g.end(),l.end(),0!==h)throw s.xfs.detachTemp(i),new I.lk(f.b.LIFECYCLE_SCRIPT,`${u()(t)} script failed (exit code ${m.pretty(o,h,m.Type.NUMBER)}, logs can be found here: ${m.pretty(o,a,m.Type.PATH)}); run ${m.pretty(o,"yarn "+t,m.Type.CODE)} to investigate`)})}async function L(e,t,r){R(e,t)&&await x(e,t,r)}async function P(e,{project:t}){const r=t.configuration,A=new Map,o=t.storedPackages.get(e.locatorHash);if(!o)throw new Error(`Package for ${Q.prettyLocator(r,e)} not found in the project`);const i=new d.Writable,s=r.getLinkers(),a={project:t,report:new E.Pk({configuration:r,stdout:i})},c=new Set([e.locatorHash]);for(const e of o.dependencies.values()){const A=t.storedResolutions.get(e.descriptorHash);if(!A)throw new Error(`Assertion failed: The resolution (${Q.prettyDescriptor(r,e)}) should have been registered`);c.add(A)}for(const e of c){const r=t.storedPackages.get(e);if(!r)throw new Error(`Assertion failed: The package (${e}) should have been registered`);if(0===r.bin.size)continue;const o=s.find(e=>e.supportsPackage(r,a));if(!o)continue;let i=null;try{i=await o.findPackageLocation(r,a)}catch(e){if("LOCATOR_NOT_INSTALLED"===e.code)continue;throw e}for(const[e,t]of r.bin)A.set(e,[r,n.cS.fromPortablePath(n.y1.resolve(i,t))])}return A}async function O(e){return await P(e.anchoredLocator,{project:e.project})}async function U(e,t,r,{cwd:A,project:o,stdin:i,stdout:a,stderr:c,nodeArgs:g=[]}){const l=await P(e,{project:o}),u=l.get(t);if(!u)throw new Error(`Binary not found (${t}) for ${Q.prettyLocator(o.configuration,e)}`);return await s.xfs.mktempPromise(async e=>{const[,t]=u,h=await b({project:o,binFolder:e});let p;await Promise.all(Array.from(l,([e,[,t]])=>D(h.BERRY_BIN_FOLDER,(0,n.Zu)(e),process.execPath,[t])));try{p=await y.pipevp(process.execPath,[...g,t,...r],{cwd:A,env:h,stdin:i,stdout:a,stderr:c})}finally{await s.xfs.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function T(e,t,r,{cwd:A,stdin:n,stdout:o,stderr:i}){return await U(e.anchoredLocator,t,r,{project:e.project,cwd:A,stdin:n,stdout:o,stderr:i})}},36545:(e,t,r)=>{"use strict";r.r(t),r.d(t,{satisfiesWithPrereleases:()=>o,validRange:()=>s});var A=r(53887),n=r.n(A);function o(e,t,r=!1){let A,o;try{A=new(n().Range)(t,{includePrerelease:!0,loose:r})}catch(e){return!1}if(!e)return!1;try{o=new(n().SemVer)(e,A),o.prerelease&&(o.prerelease=[])}catch(e){return!1}return A.set.some(e=>{for(const t of e)t.semver.prerelease&&(t.semver.prerelease=[]);return e.every(e=>e.test(o))})}const i=new Map;function s(e){if(-1!==e.indexOf(":"))return null;let t=i.get(e);if(void 0!==t)return t;try{t=new(n().Range)(e)}catch(e){t=null}return i.set(e,t),t}},54143:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeIdent:()=>u,makeDescriptor:()=>h,makeLocator:()=>p,convertToIdent:()=>d,convertDescriptorToLocator:()=>C,convertLocatorToDescriptor:()=>f,convertPackageToLocator:()=>I,renamePackage:()=>E,copyPackage:()=>B,virtualizeDescriptor:()=>y,virtualizePackage:()=>m,isVirtualDescriptor:()=>w,isVirtualLocator:()=>Q,devirtualizeDescriptor:()=>D,devirtualizeLocator:()=>b,bindDescriptor:()=>v,bindLocator:()=>S,areIdentsEqual:()=>k,areDescriptorsEqual:()=>K,areLocatorsEqual:()=>F,areVirtualPackagesEquivalent:()=>N,parseIdent:()=>M,tryParseIdent:()=>R,parseDescriptor:()=>x,tryParseDescriptor:()=>L,parseLocator:()=>P,tryParseLocator:()=>O,parseRange:()=>U,parseFileStyleRange:()=>T,makeRange:()=>Y,convertToManifestRange:()=>G,requirableIdent:()=>H,stringifyIdent:()=>J,stringifyDescriptor:()=>q,stringifyLocator:()=>z,slugifyIdent:()=>W,slugifyLocator:()=>X,prettyIdent:()=>V,prettyRange:()=>Z,prettyDescriptor:()=>$,prettyReference:()=>ee,prettyLocator:()=>te,prettyLocatorNoColors:()=>re,sortDescriptors:()=>Ae,prettyWorkspace:()=>ne,prettyResolution:()=>oe,prettyDependent:()=>ie,getIdentVendorPath:()=>se});var A=r(46009),n=r(71191),o=r.n(n),i=r(53887),s=r.n(i),a=r(71643),c=r(20624),g=r(73632),l=r(54143);function u(e,t){if(null==e?void 0:e.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:c.makeHash(e,t),scope:e,name:t}}function h(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:c.makeHash(e.identHash,t),range:t}}function p(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:c.makeHash(e.identHash,t),reference:t}}function d(e){return{identHash:e.identHash,scope:e.scope,name:e.name}}function C(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.descriptorHash,reference:e.range}}function f(e){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:e.locatorHash,range:e.reference}}function I(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference}}function E(e,t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference,version:e.version,languageName:e.languageName,linkType:e.linkType,dependencies:new Map(e.dependencies),peerDependencies:new Map(e.peerDependencies),dependenciesMeta:new Map(e.dependenciesMeta),peerDependenciesMeta:new Map(e.peerDependenciesMeta),bin:new Map(e.bin)}}function B(e){return E(e,e)}function y(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return h(e,`virtual:${t}#${e.range}`)}function m(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return E(e,p(e,`virtual:${t}#${e.reference}`))}function w(e){return e.range.startsWith("virtual:")}function Q(e){return e.reference.startsWith("virtual:")}function D(e){if(!w(e))throw new Error("Not a virtual descriptor");return h(e,e.range.replace(/^[^#]*#/,""))}function b(e){if(!Q(e))throw new Error("Not a virtual descriptor");return p(e,e.reference.replace(/^[^#]*#/,""))}function v(e,t){return e.range.includes("::")?e:h(e,`${e.range}::${o().stringify(t)}`)}function S(e,t){return e.reference.includes("::")?e:p(e,`${e.reference}::${o().stringify(t)}`)}function k(e,t){return e.identHash===t.identHash}function K(e,t){return e.descriptorHash===t.descriptorHash}function F(e,t){return e.locatorHash===t.locatorHash}function N(e,t){if(!Q(e))throw new Error("Invalid package type");if(!Q(t))throw new Error("Invalid package type");if(!k(e,t))return!1;if(e.dependencies.size!==t.dependencies.size)return!1;for(const r of e.dependencies.values()){const e=t.dependencies.get(r.identHash);if(!e)return!1;if(!K(r,e))return!1}return!0}function M(e){const t=R(e);if(!t)throw new Error(`Invalid ident (${e})`);return t}function R(e){const t=e.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!t)return null;const[,r,A]=t;return u(void 0!==r?r:null,A)}function x(e,t=!1){const r=L(e,t);if(!r)throw new Error(`Invalid descriptor (${e})`);return r}function L(e,t=!1){const r=t?e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;const[,A,n,o]=r;if("unknown"===o)throw new Error(`Invalid range (${e})`);const i=void 0!==o?o:"unknown";return h(u(void 0!==A?A:null,n),i)}function P(e,t=!1){const r=O(e,t);if(!r)throw new Error(`Invalid locator (${e})`);return r}function O(e,t=!1){const r=t?e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):e.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;const[,A,n,o]=r;if("unknown"===o)throw new Error(`Invalid reference (${e})`);const i=void 0!==o?o:"unknown";return p(u(void 0!==A?A:null,n),i)}function U(e,t){const r=e.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(null===r)throw new Error(`Invalid range (${e})`);const A=void 0!==r[1]?r[1]:null;if("string"==typeof(null==t?void 0:t.requireProtocol)&&A!==t.requireProtocol)throw new Error(`Invalid protocol (${A})`);if((null==t?void 0:t.requireProtocol)&&null===A)throw new Error(`Missing protocol (${A})`);const n=void 0!==r[3]?decodeURIComponent(r[2]):null;if((null==t?void 0:t.requireSource)&&null===n)throw new Error(`Missing source (${e})`);const i=void 0!==r[3]?decodeURIComponent(r[3]):decodeURIComponent(r[2]);return{protocol:A,source:n,selector:(null==t?void 0:t.parseSelector)?o().parse(i):i,params:void 0!==r[4]?o().parse(r[4]):null}}function T(e,{protocol:t}){const{selector:r,params:A}=U(e,{requireProtocol:t,requireBindings:!0});if("string"!=typeof A.locator)throw new Error("Assertion failed: Invalid bindings for "+e);return{parentLocator:P(A.locator,!0),path:r}}function j(e){return e=(e=(e=e.replace(/%/g,"%25")).replace(/:/g,"%3A")).replace(/#/g,"%23")}function Y({protocol:e,source:t,selector:r,params:A}){let n="";return null!==e&&(n+=""+e),null!==t&&(n+=j(t)+"#"),n+=j(r),function(e){return null!==e&&Object.entries(e).length>0}(A)&&(n+="::"+o().stringify(A)),n}function G(e){const{params:t,protocol:r,source:A,selector:n}=U(e);for(const e in t)e.startsWith("__")&&delete t[e];return Y({protocol:r,source:A,params:t,selector:n})}function H(e){return e.scope?`@${e.scope}/${e.name}`:""+e.name}function J(e){return e.scope?`@${e.scope}/${e.name}`:""+e.name}function q(e){return e.scope?`@${e.scope}/${e.name}@${e.range}`:`${e.name}@${e.range}`}function z(e){return e.scope?`@${e.scope}/${e.name}@${e.reference}`:`${e.name}@${e.reference}`}function W(e){return null!==e.scope?`@${e.scope}-${e.name}`:e.name}function X(e){const{protocol:t,selector:r}=U(e.reference),n=null!==t?t.replace(/:$/,""):"exotic",o=s().valid(r),i=null!==o?`${n}-${o}`:""+n,a=(e.scope,`${W(e)}-${i}-${e.locatorHash.slice(0,10)}`);return(0,A.Zu)(a)}function V(e,t){return t.scope?`${a.pretty(e,`@${t.scope}/`,a.Type.SCOPE)}${a.pretty(e,t.name,a.Type.NAME)}`:""+a.pretty(e,t.name,a.Type.NAME)}function _(e){if(e.startsWith("virtual:")){return`${_(e.substr(e.indexOf("#")+1))} [${e.substr("virtual:".length,5)}]`}return e.replace(/\?.*/,"?[...]")}function Z(e,t){return""+a.pretty(e,_(t),a.Type.RANGE)}function $(e,t){return`${V(e,t)}${a.pretty(e,"@",a.Type.RANGE)}${Z(e,t.range)}`}function ee(e,t){return""+a.pretty(e,_(t),a.Type.REFERENCE)}function te(e,t){return`${V(e,t)}${a.pretty(e,"@",a.Type.REFERENCE)}${ee(e,t.reference)}`}function re(e){return`${J(e)}@${_(e.reference)}`}function Ae(e){return g.sortMap(e,[e=>J(e),e=>e.range])}function ne(e,t){return V(e,t.locator)}function oe(e,t,r){const A=w(t)?D(t):t;return null===r?`${l.prettyDescriptor(e,A)} → ${a.mark(e).Cross}`:A.identHash===r.identHash?`${l.prettyDescriptor(e,A)} → ${ee(e,r.reference)}`:`${l.prettyDescriptor(e,A)} → ${te(e,r)}`}function ie(e,t,r){return null===r?""+te(e,t):`${te(e,t)} (via ${l.prettyRange(e,r.range)})`}function se(e){return"node_modules/"+H(e)}},72785:(e,t,r)=>{"use strict";r.r(t),r.d(t,{makeArchiveFromDirectory:()=>h,convertToZip:()=>p,extractArchiveTo:()=>d});var A=r(78420),n=r(46009),o=r(90739),i=r(43896),s=r(65281),a=r(59938),c=r(31669),g=r(78761),l=r.n(g);const u=(0,c.promisify)(l().gunzip);async function h(e,{baseFs:t=new A.S,prefixPath:r=n.LZ.root,compressionLevel:a,inMemory:c=!1}={}){const g=await(0,s.getLibzipPromise)();let l;if(c)l=new o.d(null,{libzip:g,level:a});else{const e=await i.xfs.mktempPromise(),t=n.y1.join(e,"archive.zip");l=new o.d(t,{create:!0,libzip:g,level:a})}const u=n.y1.resolve(n.LZ.root,r);return await l.copyPromise(u,e,{baseFs:t,stableTime:!0,stableSort:!0}),l}async function p(e,t){const r=await i.xfs.mktempPromise(),A=n.y1.join(r,"archive.zip"),{compressionLevel:a,...c}=t;return await d(e,new o.d(A,{create:!0,libzip:await(0,s.getLibzipPromise)(),level:a}),c)}async function d(e,t,{stripComponents:r=0,prefixPath:A=n.LZ.dot}={}){const o=a.extract();o.on("entry",(e,o,i)=>{var s,a;if(function(e){if("/"===e.name[0])return!0;const t=e.name.split(/\//g);return!!t.some(e=>".."===e)||t.length<=r}(e))return void i();const c=n.y1.normalize(n.cS.toPortablePath(e.name)).replace(/\/$/,"").split(/\//g);if(c.length<=r)return o.resume(),void i();const g=c.slice(r).join("/"),l=n.y1.join(A,g);let u=420;switch("directory"!==e.type&&0==(73&(null!==(s=e.mode)&&void 0!==s?s:0))||(u|=73),e.type){case"directory":t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]}),t.mkdirSync(l),t.chmodSync(l,u),t.utimesSync(l,315532800,315532800),i();break;case"file":{t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]});const e=[];o.on("data",t=>e.push(t)),o.on("end",()=>{t.writeFileSync(l,Buffer.concat(e)),t.chmodSync(l,u),t.utimesSync(l,315532800,315532800),i()})}break;case"symlink":t.mkdirpSync(n.y1.dirname(l),{chmod:493,utimes:[315532800,315532800]}),t.symlinkSync(e.linkname,l),null===(a=t.lutimesSync)||void 0===a||a.call(t,l,315532800,315532800),i();break;default:o.resume(),i()}});const i=await u(e);return await new Promise((e,r)=>{o.on("error",e=>{r(e)}),o.on("finish",()=>{e(t)}),o.end(i)})}},85875:(e,t,r)=>{"use strict";r.r(t),r.d(t,{treeNodeToTreeify:()=>o,treeNodeToJson:()=>i,emitList:()=>s,emitTree:()=>a});var A=r(94682),n=r(71643);function o(e,{configuration:t}){const r={},A=(e,r)=>{const o=Array.isArray(e)?e.entries():Object.entries(e);for(const[e,{label:i,value:s,children:a}]of o){const o=[];void 0!==i&&o.push(n.applyStyle(t,i,n.Style.BOLD)),void 0!==s&&o.push(n.pretty(t,s[0],s[1])),0===o.length&&o.push(n.applyStyle(t,""+e,n.Style.BOLD));const c=r[o.join(": ")]={};void 0!==a&&A(a,c)}};if(void 0===e.children)throw new Error("The root node must only contain children");return A(e.children,r),r}function i(e){const t=e=>{var r;if(void 0===e.children){if(void 0===e.value)throw new Error("Assertion failed: Expected a value to be set if the children are missing");return n.json(e.value[0],e.value[1])}const A=Array.isArray(e.children)?e.children.entries():Object.entries(null!==(r=e.children)&&void 0!==r?r:{}),o=Array.isArray(e.children)?[]:{};for(const[e,r]of A)o[e]=t(r);return void 0===e.value?o:{value:n.json(e.value[0],e.value[1]),children:o}};return t(e)}function s(e,{configuration:t,stdout:r,json:A}){a({children:e.map(e=>({value:e}))},{configuration:t,stdout:r,json:A})}function a(e,{configuration:t,stdout:r,json:n,separators:s=0}){var a;if(n){const t=Array.isArray(e.children)?e.children.values():Object.values(null!==(a=e.children)&&void 0!==a?a:{});for(const e of t)r.write(JSON.stringify(i(e))+"\n");return}let c=(0,A.asTree)(o(e,{configuration:t}),!1,!1);if(s>=1&&(c=c.replace(/^([├└]─)/gm,"│\n$1").replace(/^│\n/,"")),s>=2)for(let e=0;e<2;++e)c=c.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,"$1$3 │\n$2").replace(/^│\n/,"");if(s>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(c)}},32485:(e,t,r)=>{"use strict";var A,n,o;r.d(t,{Un:()=>A,HN:()=>n,_u:()=>o}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(A||(A={})),function(e){e.Dependency="Dependency",e.PeerDependency="PeerDependency",e.PeerDependencyMeta="PeerDependencyMeta"}(n||(n={})),function(e){e.Inactive="inactive",e.Redundant="redundant",e.Active="active"}(o||(o={}))},14626:(e,t,r)=>{"use strict";r.d(t,{K:()=>n});var A=r(42096);class n extends A.p{constructor(e,{baseFs:t,pathUtils:r}){super(r),this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}},75448:(e,t,r)=>{"use strict";r.d(t,{M:()=>i});var A=r(78420),n=r(42096),o=r(46009);class i extends n.p{constructor(e,{baseFs:t=new A.S}={}){super(o.y1),this.target=this.pathUtils.normalize(e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?o.y1.normalize(e):this.baseFs.resolve(o.y1.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}},5944:(e,t,r)=>{"use strict";r.d(t,{fS:()=>g,uY:()=>c,qH:()=>l});var A=r(12087),n=r(35747),o=r.n(n),i=r(46009);const s=new Date(3155328e5);async function a(e,t,r,A,n,c,g,l){var u,h;const p=await async function(e,t){try{return await e.lstatPromise(t)}catch(e){return null}}(A,n),d=await c.lstatPromise(g),C=l.stableTime?{mtime:s,atime:s}:d;let f;switch(!0){case d.isDirectory():f=await async function(e,t,r,A,n,o,i,s,c,g){if(null!==o&&!o.isDirectory()){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),o=null}let l=!1;null===o&&(e.push(async()=>A.mkdirPromise(n,{mode:c.mode})),l=!0);const u=await i.readdirPromise(s);if(g.stableSort)for(const o of u.sort())await a(e,t,r,A,A.pathUtils.join(n,o),i,i.pathUtils.join(s,o),g)&&(l=!0);else{(await Promise.all(u.map(async o=>{await a(e,t,r,A,A.pathUtils.join(n,o),i,i.pathUtils.join(s,o),g)}))).some(e=>e)&&(l=!0)}return l}(e,t,r,A,n,p,c,g,d,l);break;case d.isFile():f=await async function(e,t,r,A,n,i,s,a,c,g){if(null!==i){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),i=null}const l=A===s?async()=>A.copyFilePromise(a,n,o().constants.COPYFILE_FICLONE):async()=>A.writeFilePromise(n,await s.readFilePromise(a));return e.push(async()=>l()),!0}(e,0,0,A,n,p,c,g,0,l);break;case d.isSymbolicLink():f=await async function(e,t,r,A,n,o,s,a,c,g){if(null!==o){if(!g.overwrite)return!1;e.push(async()=>A.removePromise(n)),o=null}return e.push(async()=>{await A.symlinkPromise((0,i.CI)(A.pathUtils,await s.readlinkPromise(a)),n)}),!0}(e,0,0,A,n,p,c,g,0,l);break;default:throw new Error(`Unsupported file type (${d.mode})`)}return(f||(null===(u=null==p?void 0:p.mtime)||void 0===u?void 0:u.getTime())!==C.mtime.getTime()||(null===(h=null==p?void 0:p.atime)||void 0===h?void 0:h.getTime())!==C.atime.getTime())&&(t.push(()=>r(n,C.atime,C.mtime)),f=!0),null!==p&&(511&p.mode)==(511&d.mode)||(t.push(()=>A.chmodPromise(n,511&d.mode)),f=!0),f}class c{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){const r=[e];for(;r.length>0;){const e=r.shift();if((await this.lstatPromise(e)).isDirectory()){const A=await this.readdirPromise(e);if(!t)throw new Error("Not supported");for(const t of A.sort())r.push(this.pathUtils.join(e,t))}else yield e}}async removePromise(e,{recursive:t=!0,maxRetries:r=5}={}){let A;try{A=await this.lstatPromise(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(A.isDirectory()){if(t)for(const t of await this.readdirPromise(e))await this.removePromise(this.pathUtils.resolve(e,t));let A=0;do{try{await this.rmdirPromise(e);break}catch(e){if("EBUSY"===e.code||"ENOTEMPTY"===e.code){if(0===r)break;await new Promise(e=>setTimeout(e,100*A));continue}throw e}}while(A++e()))}(this,e,r,t,{overwrite:A,stableSort:n,stableTime:o})}copySync(e,t,{baseFs:r=this,overwrite:A=!0}={}){const n=r.lstatSync(t),o=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);const n=r.readdirSync(t);for(const o of n)this.copySync(this.pathUtils.join(e,o),r.pathUtils.join(t,o),{baseFs:r,overwrite:A})}else if(n.isFile()){if(!o||A){o&&this.removeSync(e);const A=r.readFileSync(t);this.writeFileSync(e,A)}}else{if(!n.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);if(!o||A){o&&this.removeSync(e);const A=r.readlinkSync(t);this.symlinkSync((0,i.CI)(this.pathUtils,A),e)}}const s=511&n.mode;this.chmodSync(e,s)}async changeFilePromise(e,t,r={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t):this.changeFileTextPromise(e,t,r)}async changeFileBufferPromise(e,t){let r=Buffer.alloc(0);try{r=await this.readFilePromise(e)}catch(e){}0!==Buffer.compare(r,t)&&await this.writeFilePromise(e,t)}async changeFileTextPromise(e,t,{automaticNewlines:r}={}){let A="";try{A=await this.readFilePromise(e,"utf8")}catch(e){}const n=r?l(A,t):t;A!==n&&await this.writeFilePromise(e,n)}changeFileSync(e,t,r={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t):this.changeFileTextSync(e,t,r)}changeFileBufferSync(e,t){let r=Buffer.alloc(0);try{r=this.readFileSync(e)}catch(e){}0!==Buffer.compare(r,t)&&this.writeFileSync(e,t)}changeFileTextSync(e,t,{automaticNewlines:r=!1}={}){let A="";try{A=this.readFileSync(e,"utf8")}catch(e){}const n=r?l(A,t):t;A!==n&&this.writeFileSync(e,n)}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(r){if("EXDEV"!==r.code)throw r;await this.copyPromise(t,e),await this.removePromise(e)}}moveSync(e,t){try{this.renameSync(e,t)}catch(r){if("EXDEV"!==r.code)throw r;this.copySync(t,e),this.removeSync(e)}}async lockPromise(e,t){const r=e+".flock",A=Date.now();let n=null;const o=async()=>{let e;try{[e]=await this.readJsonPromise(r)}catch(e){return Date.now()-A<500}try{return process.kill(e,0),!0}catch(e){return!1}};for(;null===n;)try{n=await this.openPromise(r,"wx")}catch(e){if("EEXIST"!==e.code)throw e;if(!await o())try{await this.unlinkPromise(r);continue}catch(e){}if(!(Date.now()-A<6e4))throw new Error(`Couldn't acquire a lock in a reasonable time (via ${r})`);await new Promise(e=>setTimeout(e,1e3/60))}await this.writePromise(n,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(n),await this.unlinkPromise(r)}catch(e){}}}async readJsonPromise(e){const t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}readJsonSync(e){const t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,JSON.stringify(t,null,2)+"\n")}writeJsonSync(e,t){return this.writeFileSync(e,JSON.stringify(t,null,2)+"\n")}async preserveTimePromise(e,t){const r=await this.lstatPromise(e),A=await t();void 0!==A&&(e=A),this.lutimesPromise?await this.lutimesPromise(e,r.atime,r.mtime):r.isSymbolicLink()||await this.utimesPromise(e,r.atime,r.mtime)}async preserveTimeSync(e,t){const r=this.lstatSync(e),A=t();void 0!==A&&(e=A),this.lutimesSync?this.lutimesSync(e,r.atime,r.mtime):r.isSymbolicLink()||this.utimesSync(e,r.atime,r.mtime)}}c.DEFAULT_TIME=315532800;class g extends c{constructor(){super(i.y1)}}function l(e,t){return t.replace(/\r?\n/g,function(e){const t=e.match(/\r?\n/g);if(null===t)return A.EOL;const r=t.filter(e=>"\r\n"===e).length;return r>t.length-r?"\r\n":"\n"}(e))}},10489:(e,t,r)=>{"use strict";r.d(t,{n:()=>s});var A=r(78420),n=r(42096),o=r(46009);const i=o.LZ.root;class s extends n.p{constructor(e,{baseFs:t=new A.S}={}){super(o.y1),this.target=this.pathUtils.resolve(o.LZ.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(o.LZ.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){const t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(i,e));if(t.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(i,this.pathUtils.relative(this.target,e))}}},15037:(e,t,r)=>{"use strict";r.d(t,{v:()=>n});var A=r(42096);class n extends A.p{constructor(e,t){super(t),this.instance=null,this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}}},78420:(e,t,r)=>{"use strict";r.d(t,{S:()=>a});var A=r(35747),n=r.n(A),o=r(5944),i=r(26984),s=r(46009);class a extends o.fS{constructor(e=n()){super(),this.realFs=e,void 0!==this.realFs.lutimes&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return s.LZ.root}resolve(e){return s.y1.resolve(e)}async openPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.open(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}openSync(e,t,r){return this.realFs.openSync(s.cS.fromPortablePath(e),t,r)}async opendirPromise(e,t){return await new Promise((r,A)=>{void 0!==t?this.realFs.opendir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A)):this.realFs.opendir(s.cS.fromPortablePath(e),this.makeCallback(r,A))}).then(t=>Object.defineProperty(t,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,t){const r=void 0!==t?this.realFs.opendirSync(s.cS.fromPortablePath(e),t):this.realFs.opendirSync(s.cS.fromPortablePath(e));return Object.defineProperty(r,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,t,r=0,A=0,n=-1){return await new Promise((o,i)=>{this.realFs.read(e,t,r,A,n,(e,t)=>{e?i(e):o(t)})})}readSync(e,t,r,A,n){return this.realFs.readSync(e,t,r,A,n)}async writePromise(e,t,r,A,n){return await new Promise((o,i)=>"string"==typeof t?this.realFs.write(e,t,r,this.makeCallback(o,i)):this.realFs.write(e,t,r,A,n,this.makeCallback(o,i)))}writeSync(e,t,r,A,n){return"string"==typeof t?this.realFs.writeSync(e,t,r):this.realFs.writeSync(e,t,r,A,n)}async closePromise(e){await new Promise((t,r)=>{this.realFs.close(e,this.makeCallback(t,r))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){const r=null!==e?s.cS.fromPortablePath(e):e;return this.realFs.createReadStream(r,t)}createWriteStream(e,t){const r=null!==e?s.cS.fromPortablePath(e):e;return this.realFs.createWriteStream(r,t)}async realpathPromise(e){return await new Promise((t,r)=>{this.realFs.realpath(s.cS.fromPortablePath(e),{},this.makeCallback(t,r))}).then(e=>s.cS.toPortablePath(e))}realpathSync(e){return s.cS.toPortablePath(this.realFs.realpathSync(s.cS.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(t=>{this.realFs.exists(s.cS.fromPortablePath(e),t)})}accessSync(e,t){return this.realFs.accessSync(s.cS.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise((r,A)=>{this.realFs.access(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}existsSync(e){return this.realFs.existsSync(s.cS.fromPortablePath(e))}async statPromise(e){return await new Promise((t,r)=>{this.realFs.stat(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}statSync(e){return this.realFs.statSync(s.cS.fromPortablePath(e))}async lstatPromise(e){return await new Promise((t,r)=>{this.realFs.lstat(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}lstatSync(e){return this.realFs.lstatSync(s.cS.fromPortablePath(e))}async chmodPromise(e,t){return await new Promise((r,A)=>{this.realFs.chmod(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}chmodSync(e,t){return this.realFs.chmodSync(s.cS.fromPortablePath(e),t)}async chownPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.chown(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}chownSync(e,t,r){return this.realFs.chownSync(s.cS.fromPortablePath(e),t,r)}async renamePromise(e,t){return await new Promise((r,A)=>{this.realFs.rename(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),this.makeCallback(r,A))})}renameSync(e,t){return this.realFs.renameSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t))}async copyFilePromise(e,t,r=0){return await new Promise((A,n)=>{this.realFs.copyFile(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),r,this.makeCallback(A,n))})}copyFileSync(e,t,r=0){return this.realFs.copyFileSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),r)}async appendFilePromise(e,t,r){return await new Promise((A,n)=>{const o="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.appendFile(o,t,r,this.makeCallback(A,n)):this.realFs.appendFile(o,t,this.makeCallback(A,n))})}appendFileSync(e,t,r){const A="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.appendFileSync(A,t,r):this.realFs.appendFileSync(A,t)}async writeFilePromise(e,t,r){return await new Promise((A,n)=>{const o="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.writeFile(o,t,r,this.makeCallback(A,n)):this.realFs.writeFile(o,t,this.makeCallback(A,n))})}writeFileSync(e,t,r){const A="string"==typeof e?s.cS.fromPortablePath(e):e;r?this.realFs.writeFileSync(A,t,r):this.realFs.writeFileSync(A,t)}async unlinkPromise(e){return await new Promise((t,r)=>{this.realFs.unlink(s.cS.fromPortablePath(e),this.makeCallback(t,r))})}unlinkSync(e){return this.realFs.unlinkSync(s.cS.fromPortablePath(e))}async utimesPromise(e,t,r){return await new Promise((A,n)=>{this.realFs.utimes(s.cS.fromPortablePath(e),t,r,this.makeCallback(A,n))})}utimesSync(e,t,r){this.realFs.utimesSync(s.cS.fromPortablePath(e),t,r)}async lutimesPromiseImpl(e,t,r){const A=this.realFs.lutimes;if(void 0===A)throw(0,i.bk)("unavailable Node binding",`lutimes '${e}'`);return await new Promise((n,o)=>{A.call(this.realFs,s.cS.fromPortablePath(e),t,r,this.makeCallback(n,o))})}lutimesSyncImpl(e,t,r){const A=this.realFs.lutimesSync;if(void 0===A)throw(0,i.bk)("unavailable Node binding",`lutimes '${e}'`);A.call(this.realFs,s.cS.fromPortablePath(e),t,r)}async mkdirPromise(e,t){return await new Promise((r,A)=>{this.realFs.mkdir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}mkdirSync(e,t){return this.realFs.mkdirSync(s.cS.fromPortablePath(e),t)}async rmdirPromise(e,t){return await new Promise((r,A)=>{t?this.realFs.rmdir(s.cS.fromPortablePath(e),t,this.makeCallback(r,A)):this.realFs.rmdir(s.cS.fromPortablePath(e),this.makeCallback(r,A))})}rmdirSync(e,t){return this.realFs.rmdirSync(s.cS.fromPortablePath(e),t)}async linkPromise(e,t){return await new Promise((r,A)=>{this.realFs.link(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t),this.makeCallback(r,A))})}linkSync(e,t){return this.realFs.linkSync(s.cS.fromPortablePath(e),s.cS.fromPortablePath(t))}async symlinkPromise(e,t,r){const A=r||(e.endsWith("/")?"dir":"file");return await new Promise((r,n)=>{this.realFs.symlink(s.cS.fromPortablePath(e.replace(/\/+$/,"")),s.cS.fromPortablePath(t),A,this.makeCallback(r,n))})}symlinkSync(e,t,r){const A=r||(e.endsWith("/")?"dir":"file");return this.realFs.symlinkSync(s.cS.fromPortablePath(e.replace(/\/+$/,"")),s.cS.fromPortablePath(t),A)}async readFilePromise(e,t){return await new Promise((r,A)=>{const n="string"==typeof e?s.cS.fromPortablePath(e):e;this.realFs.readFile(n,t,this.makeCallback(r,A))})}readFileSync(e,t){const r="string"==typeof e?s.cS.fromPortablePath(e):e;return this.realFs.readFileSync(r,t)}async readdirPromise(e,{withFileTypes:t}={}){return await new Promise((r,A)=>{t?this.realFs.readdir(s.cS.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(r,A)):this.realFs.readdir(s.cS.fromPortablePath(e),this.makeCallback(e=>r(e),A))})}readdirSync(e,{withFileTypes:t}={}){return t?this.realFs.readdirSync(s.cS.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(s.cS.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((t,r)=>{this.realFs.readlink(s.cS.fromPortablePath(e),this.makeCallback(t,r))}).then(e=>s.cS.toPortablePath(e))}readlinkSync(e){return s.cS.toPortablePath(this.realFs.readlinkSync(s.cS.fromPortablePath(e)))}async truncatePromise(e,t){return await new Promise((r,A)=>{this.realFs.truncate(s.cS.fromPortablePath(e),t,this.makeCallback(r,A))})}truncateSync(e,t){return this.realFs.truncateSync(s.cS.fromPortablePath(e),t)}watch(e,t,r){return this.realFs.watch(s.cS.fromPortablePath(e),t,r)}watchFile(e,t,r){return this.realFs.watchFile(s.cS.fromPortablePath(e),t,r)}unwatchFile(e,t){return this.realFs.unwatchFile(s.cS.fromPortablePath(e),t)}makeCallback(e,t){return(r,A)=>{r?t(r):e(A)}}}},39725:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var A=r(42096),n=r(46009);class o extends A.p{constructor(e){super(n.cS),this.baseFs=e}mapFromBase(e){return n.cS.fromPortablePath(e)}mapToBase(e){return n.cS.toPortablePath(e)}}},42096:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var A=r(5944);class n extends A.uY{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,r){return this.baseFs.openPromise(this.mapToBase(e),t,r)}openSync(e,t,r){return this.baseFs.openSync(this.mapToBase(e),t,r)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,r,A,n){return await this.baseFs.readPromise(e,t,r,A,n)}readSync(e,t,r,A,n){return this.baseFs.readSync(e,t,r,A,n)}async writePromise(e,t,r,A,n){return"string"==typeof t?await this.baseFs.writePromise(e,t,r):await this.baseFs.writePromise(e,t,r,A,n)}writeSync(e,t,r,A,n){return"string"==typeof t?this.baseFs.writeSync(e,t,r):this.baseFs.writeSync(e,t,r,A,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(null!==e?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(null!==e?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e){return this.baseFs.statPromise(this.mapToBase(e))}statSync(e){return this.baseFs.statSync(this.mapToBase(e))}async lstatPromise(e){return this.baseFs.lstatPromise(this.mapToBase(e))}lstatSync(e){return this.baseFs.lstatSync(this.mapToBase(e))}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async chownPromise(e,t,r){return this.baseFs.chownPromise(this.mapToBase(e),t,r)}chownSync(e,t,r){return this.baseFs.chownSync(this.mapToBase(e),t,r)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,r=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),r)}copyFileSync(e,t,r=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),r)}async appendFilePromise(e,t,r){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,r)}appendFileSync(e,t,r){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,r)}async writeFilePromise(e,t,r){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,r)}writeFileSync(e,t,r){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,r)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,r){return this.baseFs.utimesPromise(this.mapToBase(e),t,r)}utimesSync(e,t,r){return this.baseFs.utimesSync(this.mapToBase(e),t,r)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,r){return this.baseFs.symlinkPromise(this.mapToBase(e),this.mapToBase(t),r)}symlinkSync(e,t,r){return this.baseFs.symlinkSync(this.mapToBase(e),this.mapToBase(t),r)}async readFilePromise(e,t){return this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,{withFileTypes:t}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:t})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}watch(e,t,r){return this.baseFs.watch(this.mapToBase(e),t,r)}watchFile(e,t,r){return this.baseFs.watchFile(this.mapToBase(e),t,r)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return"number"==typeof e?e:this.mapToBase(e)}}},17674:(e,t,r)=>{"use strict";r.d(t,{p:()=>c});var A=r(78420),n=r(42096),o=r(46009);const i=/^[0-9]+$/,s=/^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,a=/^([^/]+-)?[a-f0-9]+$/;class c extends n.p{constructor({baseFs:e=new A.S}={}){super(o.y1),this.baseFs=e}static makeVirtualPath(e,t,r){if("$$virtual"!==o.y1.basename(e))throw new Error('Assertion failed: Virtual folders must be named "$$virtual"');if(!o.y1.basename(t).match(a))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");const A=o.y1.relative(o.y1.dirname(e),r).split("/");let n=0;for(;n{"use strict";r.d(t,{k:()=>C,d:()=>f});var A=r(35747),n=r(92413),o=r(31669),i=r(78761),s=r.n(i),a=r(5944),c=r(78420),g=r(19697),l=r(38783),u=r(22004),h=r(26984),p=r(46009),d=r(65760);const C="mixed";class f extends a.fS{constructor(e,t){super(),this.lzSource=null,this.listings=new Map,this.entries=new Map,this.fileSources=new Map,this.fds=new Map,this.nextFd=0,this.ready=!1,this.readOnly=!1,this.libzip=t.libzip;const r=t;if(this.level=void 0!==r.level?r.level:C,null===e&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),"string"==typeof e){const{baseFs:t=new c.S}=r;this.baseFs=t,this.path=e}else this.path=null,this.baseFs=null;if(t.stats)this.stats=t.stats;else if("string"==typeof e)try{this.stats=this.baseFs.statSync(e)}catch(e){if("ENOENT"!==e.code||!r.create)throw e;this.stats=d.makeDefaultStats()}else this.stats=d.makeDefaultStats();const A=this.libzip.malloc(4);try{let n=0;if("string"==typeof e&&r.create&&(n|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),t.readOnly&&(n|=this.libzip.ZIP_RDONLY,this.readOnly=!0),"string"==typeof e)this.zip=this.libzip.open(p.cS.fromPortablePath(e),n,A);else{const t=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(t,n,A),this.lzSource=t}catch(e){throw this.libzip.source.free(t),e}}if(0===this.zip){const e=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(e,this.libzip.getValue(A,"i32")),this.makeLibzipError(e)}}finally{this.libzip.free(A)}this.listings.set(p.LZ.root,new Set);const n=this.libzip.getNumEntries(this.zip,0);for(let e=0;ee)throw new Error("Overread");const A=this.libzip.HEAPU8.subarray(t,t+e);return Buffer.from(A)}finally{this.libzip.free(t)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw h.Vw("archive closed, close");(0,l.L)(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly)return void this.discardAndClose();const e=this.baseFs.existsSync(this.path)?511&this.baseFs.statSync(this.path).mode:null;if(-1===this.libzip.close(this.zip))throw this.makeLibzipError(this.libzip.getError(this.zip));null===e?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(511&this.baseFs.statSync(this.path).mode)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return p.y1.resolve(p.LZ.root,e)}async openPromise(e,t,r){return this.openSync(e,t,r)}openSync(e,t,r){const A=this.nextFd++;return this.fds.set(A,{cursor:0,p:e}),A}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,t){return this.opendirSync(e,t)}opendirSync(e,t={}){const r=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`opendir '${e}'`);const A=this.listings.get(r);if(!A)throw h.Ab(`opendir '${e}'`);const n=[...A],o=this.openSync(r,"r");return(0,g.a)(this,r,n,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,t,r,A,n){return this.readSync(e,t,r,A,n)}readSync(e,t,r=0,A=0,n=-1){const o=this.fds.get(e);if(void 0===o)throw h.Ch("read");let i;i=-1===n||null===n?o.cursor:n;const s=this.readFileSync(o.p);s.copy(t,r,i,i+A);const a=Math.max(0,Math.min(s.length-i,A));return-1!==n&&null!==n||(o.cursor+=a),a}async writePromise(e,t,r,A,n){return"string"==typeof t?this.writeSync(e,t,n):this.writeSync(e,t,r,A,n)}writeSync(e,t,r,A,n){if(void 0===this.fds.get(e))throw h.Ch("read");throw new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(void 0===this.fds.get(e))throw h.Ch("read");this.fds.delete(e)}createReadStream(e,{encoding:t}={}){if(null===e)throw new Error("Unimplemented");const r=this.openSync(e,"r"),A=Object.assign(new n.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(e,t)=>{clearImmediate(o),this.closeSync(r),t(e)}}),{close(){A.destroy()},bytesRead:0,path:e}),o=setImmediate(async()=>{try{const r=await this.readFilePromise(e,t);A.bytesRead=r.length,A.end(r)}catch(e){A.destroy(e)}});return A}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw h.YW(`open '${e}'`);if(null===e)throw new Error("Unimplemented");const r=[],A=this.openSync(e,"w"),o=Object.assign(new n.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(n,o)=>{try{n?o(n):(this.writeFileSync(e,Buffer.concat(r),t),o(null))}catch(e){o(e)}finally{this.closeSync(A)}}}),{bytesWritten:0,path:e,close(){o.destroy()}});return o.on("data",e=>{const t=Buffer.from(e);o.bytesWritten+=t.length,r.push(t)}),o}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){const t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw h.Vw(`archive closed, existsSync '${e}'`);if(0===this.symlinkCount){const t=p.y1.resolve(p.LZ.root,e);return this.entries.has(t)||this.listings.has(t)}let t;try{t=this.resolveFilename(`stat '${e}'`,e)}catch(e){return!1}return this.entries.has(t)||this.listings.has(t)}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=A.constants.F_OK){const r=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`access '${e}'`);if(this.readOnly&&t&A.constants.W_OK)throw h.YW(`access '${e}'`)}async statPromise(e){return this.statSync(e)}statSync(e){const t=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`stat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`stat '${e}'`);return this.statImpl(`stat '${e}'`,t)}async lstatPromise(e){return this.lstatSync(e)}lstatSync(e){const t=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`lstat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,t)}statImpl(e,t){const r=this.entries.get(t);if(void 0!==r){const e=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,r,0,0,e))throw this.makeLibzipError(this.libzip.getError(this.zip));const A=this.stats.uid,n=this.stats.gid,o=this.libzip.struct.statSize(e)>>>0,i=512,s=Math.ceil(o/i),a=1e3*(this.libzip.struct.statMtime(e)>>>0),c=a,g=a,l=a,h=new Date(c),p=new Date(g),C=new Date(l),f=new Date(a),I=this.listings.has(t)?u.QB:this.isSymbolicLink(r)?u.Zv:u.Pe,E=I===u.QB?493:420,B=I|511&this.getUnixMode(r,E);return Object.assign(new d.StatEntry,{uid:A,gid:n,size:o,blksize:i,blocks:s,atime:h,birthtime:p,ctime:C,mtime:f,atimeMs:c,birthtimeMs:g,ctimeMs:l,mtimeMs:a,mode:B})}if(this.listings.has(t)){const e=this.stats.uid,t=this.stats.gid,r=0,A=512,n=0,o=this.stats.mtimeMs,i=this.stats.mtimeMs,s=this.stats.mtimeMs,a=this.stats.mtimeMs,c=new Date(o),g=new Date(i),l=new Date(s),h=new Date(a),p=493|u.QB;return Object.assign(new d.StatEntry,{uid:e,gid:t,size:r,blksize:A,blocks:n,atime:c,birthtime:g,ctime:l,mtime:h,atimeMs:o,birthtimeMs:i,ctimeMs:s,mtimeMs:a,mode:p})}throw new Error("Unreachable")}getUnixMode(e,t){if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let t=this.listings.get(e);if(t)return t;const r=this.registerListing(p.y1.dirname(e));return t=new Set,r.add(p.y1.basename(e)),this.listings.set(e,t),t}registerEntry(e,t){this.registerListing(p.y1.dirname(e)).add(p.y1.basename(e)),this.entries.set(e,t)}unregisterListing(e){this.listings.delete(e);const t=this.listings.get(p.y1.dirname(e));null==t||t.delete(p.y1.basename(e))}unregisterEntry(e){this.unregisterListing(e);const t=this.entries.get(e);this.entries.delete(e),void 0!==t&&(this.fileSources.delete(t),this.isSymbolicLink(t)&&this.symlinkCount--)}deleteEntry(e,t){this.unregisterEntry(e);if(-1===this.libzip.delete(this.zip,t))throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,t,r=!0){if(!this.ready)throw h.Vw("archive closed, "+e);let A=p.y1.resolve(p.LZ.root,t);if("/"===A)return p.LZ.root;const n=this.entries.get(A);if(r&&void 0!==n){if(0!==this.symlinkCount&&this.isSymbolicLink(n)){const t=this.getFileSource(n).toString();return this.resolveFilename(e,p.y1.resolve(p.y1.dirname(A),t),!0)}return A}for(;;){const t=this.resolveFilename(e,p.y1.dirname(A),!0),n=this.listings.has(t),o=this.entries.has(t);if(!n&&!o)throw h.z6(e);if(!n)throw h.Ab(e);if(A=p.y1.resolve(t,p.y1.basename(A)),!r||0===this.symlinkCount)break;const i=this.libzip.name.locate(this.zip,A.slice(1));if(-1===i)break;if(!this.isSymbolicLink(i))break;{const e=this.getFileSource(i).toString();A=p.y1.resolve(p.y1.dirname(A),e)}}return A}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));const t=this.libzip.malloc(e.byteLength);if(!t)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){const t=this.libzip.struct.errorS(),{buffer:r,byteLength:A}=this.allocateBuffer(e),n=this.libzip.source.fromUnattachedBuffer(r,A,0,!0,t);if(0===n)throw this.libzip.free(t),this.makeLibzipError(t);return n}allocateSource(e){const{buffer:t,byteLength:r}=this.allocateBuffer(e),A=this.libzip.source.fromBuffer(this.zip,t,r,0,!0);if(0===A)throw this.libzip.free(t),this.makeLibzipError(this.libzip.getError(this.zip));return A}setFileSource(e,t){const r=Buffer.isBuffer(t)?t:Buffer.from(t),A=p.y1.relative(p.LZ.root,e),n=this.allocateSource(t);try{const e=this.libzip.file.add(this.zip,A,n,this.libzip.ZIP_FL_OVERWRITE);if(-1===e)throw this.makeLibzipError(this.libzip.getError(this.zip));if("mixed"!==this.level){let t;t=0===this.level?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(-1===this.libzip.file.setCompression(this.zip,e,0,t,this.level))throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(e,r),e}catch(e){throw this.libzip.source.free(n),e}}isSymbolicLink(e){if(0===this.symlinkCount)return!1;if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX)return!1;return(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&u.wK)===u.Zv}getFileSource(e,t={asyncDecompress:!1}){const r=this.fileSources.get(e);if(void 0!==r)return r;const A=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,e,0,0,A))throw this.makeLibzipError(this.libzip.getError(this.zip));const n=this.libzip.struct.statCompSize(A),o=this.libzip.struct.statCompMethod(A),i=this.libzip.malloc(n);try{const r=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(0===r)throw this.makeLibzipError(this.libzip.getError(this.zip));try{const A=this.libzip.fread(r,i,n,0);if(-1===A)throw this.makeLibzipError(this.libzip.file.getError(r));if(An)throw new Error("Overread");const a=this.libzip.HEAPU8.subarray(i,i+n),c=Buffer.from(a);if(0===o)return this.fileSources.set(e,c),c;if(t.asyncDecompress)return new Promise((t,r)=>{s().inflateRaw(c,(A,n)=>{A?r(A):(this.fileSources.set(e,n),t(n))})});{const t=s().inflateRawSync(c);return this.fileSources.set(e,t),t}}finally{this.libzip.fclose(r)}}finally{this.libzip.free(i)}}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw h.YW(`chmod '${e}'`);t&=493;const r=this.resolveFilename(`chmod '${e}'`,e,!1),A=this.entries.get(r);if(void 0===A)throw new Error(`Assertion failed: The entry should have been registered (${r})`);const n=-512&this.getUnixMode(A,0|u.Pe)|t;if(-1===this.libzip.file.setExternalAttributes(this.zip,A,0,0,this.libzip.ZIP_OPSYS_UNIX,n<<16))throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,t,r){return this.chownSync(e,t,r)}chownSync(e,t,r){throw new Error("Unimplemented")}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error("Unimplemented")}async copyFilePromise(e,t,r){const{indexSource:A,indexDest:n,resolvedDestP:o}=this.prepareCopyFile(e,t,r),i=await this.getFileSource(A,{asyncDecompress:!0}),s=this.setFileSource(o,i);s!==n&&this.registerEntry(o,s)}copyFileSync(e,t,r=0){const{indexSource:A,indexDest:n,resolvedDestP:o}=this.prepareCopyFile(e,t,r),i=this.getFileSource(A),s=this.setFileSource(o,i);s!==n&&this.registerEntry(o,s)}prepareCopyFile(e,t,r=0){if(this.readOnly)throw h.YW(`copyfile '${e} -> '${t}'`);if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw h.bk("unsupported clone operation",`copyfile '${e}' -> ${t}'`);const n=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),o=this.entries.get(n);if(void 0===o)throw h.hq(`copyfile '${e}' -> '${t}'`);const i=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),s=this.entries.get(i);if(0!=(r&(A.constants.COPYFILE_EXCL|A.constants.COPYFILE_FICLONE_FORCE))&&void 0!==s)throw h.cT(`copyfile '${e}' -> '${t}'`);return{indexSource:o,resolvedDestP:i,indexDest:s}}async appendFilePromise(e,t,r){if(this.readOnly)throw h.YW(`open '${e}'`);return void 0===r?r={flag:"a"}:"string"==typeof r?r={flag:"a",encoding:r}:void 0===r.flag&&(r={flag:"a",...r}),this.writeFilePromise(e,t,r)}appendFileSync(e,t,r={}){if(this.readOnly)throw h.YW(`open '${e}'`);return void 0===r?r={flag:"a"}:"string"==typeof r?r={flag:"a",encoding:r}:void 0===r.flag&&(r={flag:"a",...r}),this.writeFileSync(e,t,r)}async writeFilePromise(e,t,r){const{encoding:A,index:n,resolvedP:o}=this.prepareWriteFile(e,r);void 0!==n&&"object"==typeof r&&r.flag&&r.flag.includes("a")&&(t=Buffer.concat([await this.getFileSource(n,{asyncDecompress:!0}),Buffer.from(t)])),null!==A&&(t=t.toString(A));const i=this.setFileSource(o,t);i!==n&&this.registerEntry(o,i)}writeFileSync(e,t,r){const{encoding:A,index:n,resolvedP:o}=this.prepareWriteFile(e,r);void 0!==n&&"object"==typeof r&&r.flag&&r.flag.includes("a")&&(t=Buffer.concat([this.getFileSource(n),Buffer.from(t)])),null!==A&&(t=t.toString(A));const i=this.setFileSource(o,t);i!==n&&this.registerEntry(o,i)}prepareWriteFile(e,t){if("string"!=typeof e)throw h.Ch("read");if(this.readOnly)throw h.YW(`open '${e}'`);const r=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(r))throw h.GA(`open '${e}'`);let A=null;"string"==typeof t?A=t:"object"==typeof t&&t.encoding&&(A=t.encoding);return{encoding:A,resolvedP:r,index:this.entries.get(r)}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw h.YW(`unlink '${e}'`);const t=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(t))throw h.GA(`unlink '${e}'`);const r=this.entries.get(t);if(void 0===r)throw h.hq(`unlink '${e}'`);this.deleteEntry(t,r)}async utimesPromise(e,t,r){return this.utimesSync(e,t,r)}utimesSync(e,t,r){if(this.readOnly)throw h.YW(`utimes '${e}'`);const A=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(A,r)}async lutimesPromise(e,t,r){return this.lutimesSync(e,t,r)}lutimesSync(e,t,r){if(this.readOnly)throw h.YW(`lutimes '${e}'`);const A=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(A,r)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));const r=this.entries.get(e);if(void 0===r)throw new Error("Unreachable");if(-1===this.libzip.file.setMtime(this.zip,r,0,function(e){if("string"==typeof e&&String(+e)===e)return+e;if(Number.isFinite(e))return e<0?Date.now()/1e3:e;if((0,o.isDate)(e))return e.getTime()/1e3;throw new Error("Invalid time")}(t),0))throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:r=!1}={}){if(r)return void this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw h.YW(`mkdir '${e}'`);const A=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(A)||this.listings.has(A))throw h.cT(`mkdir '${e}'`);this.hydrateDirectory(A),this.chmodSync(A,t)}async rmdirPromise(e,t){return this.rmdirSync(e,t)}rmdirSync(e,{recursive:t=!1}={}){if(this.readOnly)throw h.YW(`rmdir '${e}'`);if(t)return void this.removeSync(e);const r=this.resolveFilename(`rmdir '${e}'`,e),A=this.listings.get(r);if(!A)throw h.Ab(`rmdir '${e}'`);if(A.size>0)throw h.re(`rmdir '${e}'`);const n=this.entries.get(r);if(void 0===n)throw h.hq(`rmdir '${e}'`);this.deleteEntry(e,n)}hydrateDirectory(e){const t=this.libzip.dir.add(this.zip,p.y1.relative(p.LZ.root,e));if(-1===t)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,t),t}async linkPromise(e,t){return this.linkSync(e,t)}linkSync(e,t){throw h.Hs(`link '${e}' -> '${t}'`)}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw h.YW(`symlink '${e}' -> '${t}'`);const r=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(r))throw h.GA(`symlink '${e}' -> '${t}'`);if(this.entries.has(r))throw h.cT(`symlink '${e}' -> '${t}'`);const A=this.setFileSource(r,e);this.registerEntry(r,A);if(-1===this.libzip.file.setExternalAttributes(this.zip,A,0,0,this.libzip.ZIP_OPSYS_UNIX,(511|u.Zv)<<16))throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const r=await this.readFileBuffer(e,{asyncDecompress:!0});return t?r.toString(t):r}readFileSync(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const r=this.readFileBuffer(e);return t?r.toString(t):r}readFileBuffer(e,t={asyncDecompress:!1}){if("string"!=typeof e)throw h.Ch("read");const r=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`open '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(r))throw h.Ab(`open '${e}'`);if(this.listings.has(r))throw h.GA("read");const A=this.entries.get(r);if(void 0===A)throw new Error("Unreachable");return this.getFileSource(A,t)}async readdirPromise(e,{withFileTypes:t}={}){return this.readdirSync(e,{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){const r=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw h.z6(`scandir '${e}'`);const A=this.listings.get(r);if(!A)throw h.Ab(`scandir '${e}'`);const n=[...A];return t?n.map(t=>Object.assign(this.statImpl("lstat",p.y1.join(e,t)),{name:t})):n}async readlinkPromise(e){const t=this.prepareReadlink(e);return(await this.getFileSource(t,{asyncDecompress:!0})).toString()}readlinkSync(e){const t=this.prepareReadlink(e);return this.getFileSource(t).toString()}prepareReadlink(e){const t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw h.z6(`readlink '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw h.Ab(`open '${e}'`);if(this.listings.has(t))throw h.hq(`readlink '${e}'`);const r=this.entries.get(t);if(void 0===r)throw new Error("Unreachable");if(!this.isSymbolicLink(r))throw h.hq(`readlink '${e}'`);return r}async truncatePromise(e,t=0){const r=this.resolveFilename(`open '${e}'`,e),A=this.entries.get(r);if(void 0===A)throw h.hq(`open '${e}'`);const n=await this.getFileSource(A,{asyncDecompress:!0}),o=Buffer.alloc(t,0);return n.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,t=0){const r=this.resolveFilename(`open '${e}'`,e),A=this.entries.get(r);if(void 0===A)throw h.hq(`open '${e}'`);const n=this.getFileSource(A),o=Buffer.alloc(t,0);return n.copy(o),this.writeFileSync(e,o)}watch(e,t,r){let A;switch(typeof t){case"function":case"string":case"undefined":A=!0;break;default:({persistent:A=!0}=t)}if(!A)return{on:()=>{},close:()=>{}};const n=setInterval(()=>{},864e5);return{on:()=>{},close:()=>{clearInterval(n)}}}watchFile(e,t,r){const A=this.resolveFilename(`open '${e}'`,e);return(0,l._x)(this,A,t,r)}unwatchFile(e,t){const r=this.resolveFilename(`open '${e}'`,e);return(0,l.nd)(this,r,t)}}},53660:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var A=r(35747),n=r(5944),o=r(78420),i=r(90739),s=r(38783),a=r(46009);const c=2147483648,g=/.*?(?await this.baseFs.openPromise(e,t,r),async(e,{subPath:A})=>this.remapFd(e,await e.openPromise(A,t,r)))}openSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.openSync(e,t,r),(e,{subPath:A})=>this.remapFd(e,e.openSync(A,t,r)))}async opendirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,t),async(e,{subPath:r})=>await e.opendirPromise(r,t),{requireSubpath:!1})}opendirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,t),(e,{subPath:r})=>e.opendirSync(r,t),{requireSubpath:!1})}async readPromise(e,t,r,A,n){if(0==(e&c))return await this.baseFs.readPromise(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[i,s]=o;return await i.readPromise(s,t,r,A,n)}readSync(e,t,r,A,n){if(0==(e&c))return this.baseFs.readSync(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[i,s]=o;return i.readSync(s,t,r,A,n)}async writePromise(e,t,r,A,n){if(0==(e&c))return"string"==typeof t?await this.baseFs.writePromise(e,t,r):await this.baseFs.writePromise(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[i,s]=o;return"string"==typeof t?await i.writePromise(s,t,r):await i.writePromise(s,t,r,A,n)}writeSync(e,t,r,A,n){if(0==(e&c))return"string"==typeof t?this.baseFs.writeSync(e,t,r):this.baseFs.writeSync(e,t,r,A,n);const o=this.fdMap.get(e);if(void 0===o)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[i,s]=o;return"string"==typeof t?i.writeSync(s,t,r):i.writeSync(s,t,r,A,n)}async closePromise(e){if(0==(e&c))return await this.baseFs.closePromise(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[r,A]=t;return await r.closePromise(A)}closeSync(e){if(0==(e&c))return this.baseFs.closeSync(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[r,A]=t;return r.closeSync(A)}createReadStream(e,t){return null===e?this.baseFs.createReadStream(e,t):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,t),(e,{subPath:r})=>e.createReadStream(r,t))}createWriteStream(e,t){return null===e?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,t),(e,{subPath:r})=>e.createWriteStream(r,t))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(e,{archivePath:t,subPath:r})=>{let A=this.realPaths.get(t);return void 0===A&&(A=await this.baseFs.realpathPromise(t),this.realPaths.set(t,A)),this.pathUtils.join(A,this.pathUtils.relative(a.LZ.root,await e.realpathPromise(r)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(e,{archivePath:t,subPath:r})=>{let A=this.realPaths.get(t);return void 0===A&&(A=this.baseFs.realpathSync(t),this.realPaths.set(t,A)),this.pathUtils.join(A,this.pathUtils.relative(a.LZ.root,e.realpathSync(r)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(e,{subPath:t})=>await e.existsPromise(t))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(e,{subPath:t})=>e.existsSync(t))}async accessPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,t),async(e,{subPath:r})=>await e.accessPromise(r,t))}accessSync(e,t){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,t),(e,{subPath:r})=>e.accessSync(r,t))}async statPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e),async(e,{subPath:t})=>await e.statPromise(t))}statSync(e){return this.makeCallSync(e,()=>this.baseFs.statSync(e),(e,{subPath:t})=>e.statSync(t))}async lstatPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e),async(e,{subPath:t})=>await e.lstatPromise(t))}lstatSync(e){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e),(e,{subPath:t})=>e.lstatSync(t))}async chmodPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,t),async(e,{subPath:r})=>await e.chmodPromise(r,t))}chmodSync(e,t){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,t),(e,{subPath:r})=>e.chmodSync(r,t))}async chownPromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,t,r),async(e,{subPath:A})=>await e.chownPromise(A,t,r))}chownSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,t,r),(e,{subPath:A})=>e.chownSync(A,t,r))}async renamePromise(e,t){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.renamePromise(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(e,{subPath:r})=>await this.makeCallPromise(t,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(t,{subPath:A})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await e.renamePromise(r,A)}))}renameSync(e,t){return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.renameSync(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(e,{subPath:r})=>this.makeCallSync(t,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(t,{subPath:A})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return e.renameSync(r,A)}))}async copyFilePromise(e,t,r=0){const n=async(e,t,n,o)=>{if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${o}'`),{code:"EXDEV"});if(r&A.constants.COPYFILE_EXCL&&await this.existsPromise(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${o}'`),{code:"EEXIST"});let i;try{i=await e.readFilePromise(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${o}'`),{code:"EINVAL"})}await n.writeFilePromise(o,i)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.copyFilePromise(e,t,r),async(t,{subPath:r})=>await n(this.baseFs,e,t,r)),async(e,{subPath:A})=>await this.makeCallPromise(t,async()=>await n(e,A,this.baseFs,t),async(t,{subPath:o})=>e!==t?await n(e,A,t,o):await e.copyFilePromise(A,o,r)))}copyFileSync(e,t,r=0){const n=(e,t,n,o)=>{if(0!=(r&A.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${o}'`),{code:"EXDEV"});if(r&A.constants.COPYFILE_EXCL&&this.existsSync(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${o}'`),{code:"EEXIST"});let i;try{i=e.readFileSync(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${o}'`),{code:"EINVAL"})}n.writeFileSync(o,i)};return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.copyFileSync(e,t,r),(t,{subPath:r})=>n(this.baseFs,e,t,r)),(e,{subPath:A})=>this.makeCallSync(t,()=>n(e,A,this.baseFs,t),(t,{subPath:o})=>e!==t?n(e,A,t,o):e.copyFileSync(A,o,r)))}async appendFilePromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,t,r),async(e,{subPath:A})=>await e.appendFilePromise(A,t,r))}appendFileSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,t,r),(e,{subPath:A})=>e.appendFileSync(A,t,r))}async writeFilePromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,t,r),async(e,{subPath:A})=>await e.writeFilePromise(A,t,r))}writeFileSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,t,r),(e,{subPath:A})=>e.writeFileSync(A,t,r))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(e,{subPath:t})=>await e.unlinkPromise(t))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(e,{subPath:t})=>e.unlinkSync(t))}async utimesPromise(e,t,r){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,t,r),async(e,{subPath:A})=>await e.utimesPromise(A,t,r))}utimesSync(e,t,r){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,t,r),(e,{subPath:A})=>e.utimesSync(A,t,r))}async mkdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,t),async(e,{subPath:r})=>await e.mkdirPromise(r,t))}mkdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,t),(e,{subPath:r})=>e.mkdirSync(r,t))}async rmdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,t),async(e,{subPath:r})=>await e.rmdirPromise(r,t))}rmdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,t),(e,{subPath:r})=>e.rmdirSync(r,t))}async linkPromise(e,t){return await this.makeCallPromise(t,async()=>await this.baseFs.linkPromise(e,t),async(t,{subPath:r})=>await t.linkPromise(e,r))}linkSync(e,t){return this.makeCallSync(t,()=>this.baseFs.linkSync(e,t),(t,{subPath:r})=>t.linkSync(e,r))}async symlinkPromise(e,t,r){return await this.makeCallPromise(t,async()=>await this.baseFs.symlinkPromise(e,t,r),async(t,{subPath:r})=>await t.symlinkPromise(e,r))}symlinkSync(e,t,r){return this.makeCallSync(t,()=>this.baseFs.symlinkSync(e,t,r),(t,{subPath:r})=>t.symlinkSync(e,r))}async readFilePromise(e,t){return this.makeCallPromise(e,async()=>{switch(t){case"utf8":default:return await this.baseFs.readFilePromise(e,t)}},async(e,{subPath:r})=>await e.readFilePromise(r,t))}readFileSync(e,t){return this.makeCallSync(e,()=>{switch(t){case"utf8":default:return this.baseFs.readFileSync(e,t)}},(e,{subPath:r})=>e.readFileSync(r,t))}async readdirPromise(e,{withFileTypes:t}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:t}),async(e,{subPath:r})=>await e.readdirPromise(r,{withFileTypes:t}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:t}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:t}),(e,{subPath:r})=>e.readdirSync(r,{withFileTypes:t}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(e,{subPath:t})=>await e.readlinkPromise(t))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(e,{subPath:t})=>e.readlinkSync(t))}async truncatePromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,t),async(e,{subPath:r})=>await e.truncatePromise(r,t))}truncateSync(e,t){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,t),(e,{subPath:r})=>e.truncateSync(r,t))}watch(e,t,r){return this.makeCallSync(e,()=>this.baseFs.watch(e,t,r),(e,{subPath:A})=>e.watch(A,t,r))}watchFile(e,t,r){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,t,r),()=>(0,s._x)(this,e,t,r))}unwatchFile(e,t){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,t),()=>(0,s.nd)(this,e,t))}async makeCallPromise(e,t,r,{requireSubpath:A=!0}={}){if("string"!=typeof e)return await t();const n=this.resolve(e),o=this.findZip(n);return o?A&&"/"===o.subPath?await t():await this.getZipPromise(o.archivePath,async e=>await r(e,o)):await t()}makeCallSync(e,t,r,{requireSubpath:A=!0}={}){if("string"!=typeof e)return t();const n=this.resolve(e),o=this.findZip(n);return o?A&&"/"===o.subPath?t():this.getZipSync(o.archivePath,e=>r(e,o)):t()}findZip(e){if(this.filter&&!this.filter.test(e))return null;let t="";for(;;){const r=g.exec(e.substr(t.length));if(!r)return null;if(t=this.pathUtils.join(t,r[0]),!1===this.isZip.has(t)){if(this.notZip.has(t))continue;try{if(!this.baseFs.lstatSync(t).isFile()){this.notZip.add(t);continue}}catch(e){return null}this.isZip.add(t)}return{archivePath:t,subPath:this.pathUtils.join(a.LZ.root,e.substr(t.length))}}}limitOpenFiles(e){if(null===this.zipInstances)return;const t=Date.now();let r=t+this.maxAge,A=null===e?0:this.zipInstances.size-e;for(const[n,{zipFs:o,expiresAt:i,refCount:s}]of this.zipInstances.entries())if(0===s&&!o.hasOpenFileHandles())if(t>=i)o.saveAndClose(),this.zipInstances.delete(n),A-=1;else{if(null===e||A<=0){r=i;break}o.saveAndClose(),this.zipInstances.delete(n),A-=1}null===this.limitOpenFilesTimeout&&(null===e&&this.zipInstances.size>0||null!==e)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},r-t).unref())}async getZipPromise(e,t){const r=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let A=this.zipInstances.get(e);if(!A){const t=await r();A=this.zipInstances.get(e),A||(A={zipFs:new i.d(e,t),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,A),A.expiresAt=Date.now()+this.maxAge,A.refCount+=1;try{return await t(A.zipFs)}finally{A.refCount-=1}}else{const A=new i.d(e,await r());try{return await t(A)}finally{A.saveAndClose()}}}getZipSync(e,t){const r=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let A=this.zipInstances.get(e);return A||(A={zipFs:new i.d(e,r()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,A),A.expiresAt=Date.now()+this.maxAge,t(A.zipFs)}{const A=new i.d(e,r());try{return t(A)}finally{A.saveAndClose()}}}}},19697:(e,t,r)=>{"use strict";r.d(t,{a:()=>o});var A=r(26984);class n{constructor(e,t,r={}){this.path=e,this.nextDirent=t,this.opts=r,this.closed=!1}throwIfClosed(){if(this.closed)throw A.Xh()}async*[Symbol.asyncIterator](){try{let e;for(;null!==(e=await this.read());)yield e}finally{await this.close()}}read(e){const t=this.readSync();return void 0!==e?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),void 0!==e?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),null===(t=(e=this.opts).onClose)||void 0===t||t.call(e),this.closed=!0}}function o(e,t,r,A){return new n(t,()=>{const A=r.shift();return void 0===A?null:Object.assign(e.statSync(e.pathUtils.join(t,A)),{name:A})},A)}},38783:(e,t,r)=>{"use strict";r.d(t,{L:()=>u,nd:()=>l,_x:()=>g});var A,n,o=r(28614),i=r(65760);function s(e,t){if(e!==t)throw new Error(`Invalid StatWatcher status: expected '${t}', got '${e}'`)}!function(e){e.Change="change",e.Stop="stop"}(A||(A={})),function(e){e.Ready="ready",e.Running="running",e.Stopped="stopped"}(n||(n={}));class a extends o.EventEmitter{constructor(e,t,{bigint:r=!1}={}){super(),this.status=n.Ready,this.changeListeners=new Map,this.startTimeout=null,this.fakeFs=e,this.path=t,this.bigint=r,this.lastStats=this.stat()}static create(e,t,r){const A=new a(e,t,r);return A.start(),A}start(){s(this.status,n.Ready),this.status=n.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(A.Change,this.lastStats,this.lastStats)},3)}stop(){s(this.status,n.Running),this.status=n.Stopped,null!==this.startTimeout&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(A.Stop)}stat(){try{return this.fakeFs.statSync(this.path)}catch(e){if("ENOENT"===e.code)return i.makeEmptyStats();throw e}}makeInterval(e){const t=setInterval(()=>{const e=this.stat(),t=this.lastStats;i.areStatsEqual(e,t)||(this.lastStats=e,this.emit(A.Change,e,t))},e.interval);return e.persistent?t:t.unref()}registerChangeListener(e,t){this.addListener(A.Change,e),this.changeListeners.set(e,this.makeInterval(t))}unregisterChangeListener(e){this.removeListener(A.Change,e);const t=this.changeListeners.get(e);void 0!==t&&clearInterval(t),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(const e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(const e of this.changeListeners.values())e.ref();return this}unref(){for(const e of this.changeListeners.values())e.unref();return this}}const c=new WeakMap;function g(e,t,r,A){let n,o,i,s;switch(typeof r){case"function":n=!1,o=!0,i=5007,s=r;break;default:({bigint:n=!1,persistent:o=!0,interval:i=5007}=r),s=A}let g=c.get(e);void 0===g&&c.set(e,g=new Map);let l=g.get(t);return void 0===l&&(l=a.create(e,t,{bigint:n}),g.set(t,l)),l.registerChangeListener(s,{persistent:o,interval:i}),l}function l(e,t,r){const A=c.get(e);if(void 0===A)return;const n=A.get(t);void 0!==n&&(void 0===r?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),A.delete(t)))}function u(e){const t=c.get(e);if(void 0!==t)for(const r of t.keys())l(e,r)}},22004:(e,t,r)=>{"use strict";r.d(t,{wK:()=>A,QB:()=>n,Pe:()=>o,Zv:()=>i});const A=61440,n=16384,o=32768,i=40960},26984:(e,t,r)=>{"use strict";function A(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}function n(e){return A("EBUSY",e)}function o(e,t){return A("ENOSYS",`${e}, ${t}`)}function i(e){return A("EINVAL","invalid argument, "+e)}function s(e){return A("EBADF","bad file descriptor, "+e)}function a(e){return A("ENOENT","no such file or directory, "+e)}function c(e){return A("ENOTDIR","not a directory, "+e)}function g(e){return A("EISDIR","illegal operation on a directory, "+e)}function l(e){return A("EEXIST","file already exists, "+e)}function u(e){return A("EROFS","read-only filesystem, "+e)}function h(e){return A("ENOTEMPTY","directory not empty, "+e)}function p(e){return A("EOPNOTSUPP","operation not supported, "+e)}function d(){return A("ERR_DIR_CLOSED","Directory handle was closed")}r.d(t,{Vw:()=>n,bk:()=>o,hq:()=>i,Ch:()=>s,z6:()=>a,Ab:()=>c,GA:()=>g,cT:()=>l,YW:()=>u,re:()=>h,Hs:()=>p,Xh:()=>d,Yn:()=>C});class C extends Error{constructor(e,t){super(e),this.name="Libzip Error",this.code=t}}},43896:(e,t,r)=>{"use strict";r.r(t),r.d(t,{AliasFS:()=>u.K,CwdFS:()=>h.M,DEFAULT_COMPRESSION_LEVEL:()=>l.k,FakeFS:()=>g.uY,Filename:()=>s.QS,JailFS:()=>p.n,LazyFS:()=>d.v,NoFS:()=>f,NodeFS:()=>i.S,PortablePath:()=>s.LZ,PosixFS:()=>I.i,ProxiedFS:()=>E.p,VirtualFS:()=>B.p,ZipFS:()=>l.d,ZipOpenFS:()=>y.A,extendFs:()=>Q,normalizeLineEndings:()=>g.qH,npath:()=>s.cS,opendir:()=>c.a,patchFs:()=>w,ppath:()=>s.y1,statUtils:()=>a,toFilename:()=>s.Zu,xfs:()=>S});var A=r(12087),n=r.n(A),o=r(31669),i=r(78420),s=r(46009),a=r(65760),c=r(19697),g=r(5944),l=r(90739),u=r(14626),h=r(75448),p=r(10489),d=r(15037);const C=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"});class f extends g.uY{constructor(){super(s.y1)}getExtractHint(){throw C()}getRealPath(){throw C()}resolve(){throw C()}async openPromise(){throw C()}openSync(){throw C()}async opendirPromise(){throw C()}opendirSync(){throw C()}async readPromise(){throw C()}readSync(){throw C()}async writePromise(){throw C()}writeSync(){throw C()}async closePromise(){throw C()}closeSync(){throw C()}createWriteStream(){throw C()}createReadStream(){throw C()}async realpathPromise(){throw C()}realpathSync(){throw C()}async readdirPromise(){throw C()}readdirSync(){throw C()}async existsPromise(e){throw C()}existsSync(e){throw C()}async accessPromise(){throw C()}accessSync(){throw C()}async statPromise(){throw C()}statSync(){throw C()}async lstatPromise(e){throw C()}lstatSync(e){throw C()}async chmodPromise(){throw C()}chmodSync(){throw C()}async chownPromise(){throw C()}chownSync(){throw C()}async mkdirPromise(){throw C()}mkdirSync(){throw C()}async rmdirPromise(){throw C()}rmdirSync(){throw C()}async linkPromise(){throw C()}linkSync(){throw C()}async symlinkPromise(){throw C()}symlinkSync(){throw C()}async renamePromise(){throw C()}renameSync(){throw C()}async copyFilePromise(){throw C()}copyFileSync(){throw C()}async appendFilePromise(){throw C()}appendFileSync(){throw C()}async writeFilePromise(){throw C()}writeFileSync(){throw C()}async unlinkPromise(){throw C()}unlinkSync(){throw C()}async utimesPromise(){throw C()}utimesSync(){throw C()}async readFilePromise(){throw C()}readFileSync(){throw C()}async readlinkPromise(){throw C()}readlinkSync(){throw C()}async truncatePromise(){throw C()}truncateSync(){throw C()}watch(){throw C()}watchFile(){throw C()}unwatchFile(){throw C()}}f.instance=new f;var I=r(39725),E=r(42096),B=r(17674),y=r(53660);function m(e){const t=s.cS.toPortablePath(n().tmpdir()),r=Math.ceil(4294967296*Math.random()).toString(16).padStart(8,"0");return s.y1.join(t,`${e}${r}`)}function w(e,t){const r=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),A=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),n=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]),i=(e,t,r)=>{const A=e[t];e[t]=r,void 0!==(null==A?void 0:A[o.promisify.custom])&&(r[o.promisify.custom]=A[o.promisify.custom])};i(e,"exists",(e,...r)=>{const A="function"==typeof r[r.length-1]?r.pop():()=>{};process.nextTick(()=>{t.existsPromise(e).then(e=>{A(e)},()=>{A(!1)})})}),i(e,"read",(e,r,...A)=>{const n="function"==typeof A[A.length-1]?A.pop():()=>{};process.nextTick(()=>{t.readPromise(e,r,...A).then(e=>{n(null,e,r)},e=>{n(e)})})});for(const r of A){const A=r.replace(/Promise$/,"");if(void 0===e[A])continue;const n=t[r];if(void 0===n)continue;i(e,A,(...e)=>{const r="function"==typeof e[e.length-1]?e.pop():()=>{};process.nextTick(()=>{n.apply(t,e).then(e=>{r(null,e)},e=>{r(e)})})})}e.realpath.native=e.realpath,i(e,"existsSync",e=>{try{return t.existsSync(e)}catch(e){return!1}});for(const A of r){const r=A;if(void 0===e[r])continue;const n=t[A];void 0!==n&&i(e,r,n.bind(t))}e.realpathSync.native=e.realpathSync;{const r=process.emitWarning;let o;process.emitWarning=()=>{};try{o=e.promises}finally{process.emitWarning=r}if(void 0!==o){for(const e of A){const r=e.replace(/Promise$/,"");if(void 0===o[r])continue;const A=t[e];void 0!==A&&("open"!==e&&i(o,r,A.bind(t)))}class e{constructor(e){this.fd=e}}for(const r of n){const A=r.replace(/Promise$/,""),n=t[r];void 0!==n&&i(e.prototype,A,(function(...e){return n.call(t,this.fd,...e)}))}i(o,"open",async(...r)=>{const A=await t.openPromise(...r);return new e(A)})}}e.read[o.promisify.custom]=async(e,r,...A)=>{const n=t.readPromise(e,r,...A);return{bytesRead:await n,buffer:r}}}function Q(e,t){const r=Object.create(e);return w(r,t),r}const D=new Set;let b=!1;function v(){b||(b=!0,process.once("exit",()=>{S.rmtempSync()}))}const S=Object.assign(new i.S,{detachTemp(e){D.delete(e)},mktempSync(e){for(v();;){const t=m("xfs-");try{this.mkdirSync(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const r=this.realpathSync(t);if(D.add(r),void 0===e)return t;try{return e(r)}finally{if(D.has(r)){D.delete(r);try{this.removeSync(r)}catch(e){}}}}},async mktempPromise(e){for(v();;){const t=m("xfs-");try{await this.mkdirPromise(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const r=await this.realpathPromise(t);if(D.add(r),void 0===e)return r;try{return await e(r)}finally{if(D.has(r)){D.delete(r);try{await this.removePromise(r)}catch(e){}}}}},async rmtempPromise(){await Promise.all(Array.from(D.values()).map(async e=>{try{await S.removePromise(e,{maxRetries:0}),D.delete(e)}catch(e){}}))},rmtempSync(){for(const e of D)try{S.removeSync(e),D.delete(e)}catch(e){}}})},46009:(e,t,r)=>{"use strict";r.d(t,{LZ:()=>i,QS:()=>s,cS:()=>a,y1:()=>c,CI:()=>f,Zu:()=>I});var A,n=r(85622),o=r.n(n);!function(e){e[e.File=0]="File",e[e.Portable=1]="Portable",e[e.Native=2]="Native"}(A||(A={}));const i={root:"/",dot:"."},s={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",pnpJs:".pnp.js",rc:".yarnrc.yml"},a=Object.create(o()),c=Object.create(o().posix);a.cwd=()=>process.cwd(),c.cwd=()=>C(process.cwd()),c.resolve=(...e)=>e.length>0&&c.isAbsolute(e[0])?o().posix.resolve(...e):o().posix.resolve(c.cwd(),...e);const g=function(e,t,r){return(t=e.normalize(t))===(r=e.normalize(r))?".":(t.endsWith(e.sep)||(t+=e.sep),r.startsWith(t)?r.slice(t.length):null)};a.fromPortablePath=d,a.toPortablePath=C,a.contains=(e,t)=>g(a,e,t),c.contains=(e,t)=>g(c,e,t);const l=/^([a-zA-Z]:.*)$/,u=/^\\\\(\.\\)?(.*)$/,h=/^\/([a-zA-Z]:.*)$/,p=/^\/unc\/(\.dot\/)?(.*)$/;function d(e){if("win32"!==process.platform)return e;if(e.match(h))e=e.replace(h,"$1");else{if(!e.match(p))return e;e=e.replace(p,(e,t,r)=>`\\\\${t?".\\":""}${r}`)}return e.replace(/\//g,"\\")}function C(e){return"win32"!==process.platform?e:(e.match(l)?e=e.replace(l,"/$1"):e.match(u)&&(e=e.replace(u,(e,t,r)=>`/unc/${t?".dot/":""}${r}`)),e.replace(/\\/g,"/"))}function f(e,t){return e===a?d(t):C(t)}function I(e){if(""!==a.parse(e).dir||""!==c.parse(e).dir)throw new Error(`Invalid filename: "${e}"`);return e}},65760:(e,t,r)=>{"use strict";r.r(t),r.d(t,{DirEntry:()=>n,StatEntry:()=>o,makeDefaultStats:()=>i,makeEmptyStats:()=>s,areStatsEqual:()=>a});var A=r(22004);class n{constructor(){this.name="",this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&A.wK)===A.QB}isFIFO(){return!1}isFile(){return(this.mode&A.wK)===A.Pe}isSocket(){return!1}isSymbolicLink(){return(this.mode&A.wK)===A.Zv}}class o{constructor(){this.dev=0,this.ino=0,this.mode=0,this.nlink=1,this.rdev=0,this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&A.wK)===A.QB}isFIFO(){return!1}isFile(){return(this.mode&A.wK)===A.Pe}isSocket(){return!1}isSymbolicLink(){return(this.mode&A.wK)===A.Zv}}function i(){return Object.assign(new o,{uid:0,gid:0,size:0,blksize:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date(0),mtime:new Date(0),ctime:new Date(0),birthtime:new Date(0),mode:420|A.Pe})}function s(){return Object.assign(i(),{nlink:0,blocks:0,mode:0})}function a(e,t){return e.atimeMs===t.atimeMs&&(e.birthtimeMs===t.birthtimeMs&&(e.blksize===t.blksize&&(e.blocks===t.blocks&&(e.ctimeMs===t.ctimeMs&&(e.dev===t.dev&&(e.gid===t.gid&&(e.ino===t.ino&&(e.isBlockDevice()===t.isBlockDevice()&&(e.isCharacterDevice()===t.isCharacterDevice()&&(e.isDirectory()===t.isDirectory()&&(e.isFIFO()===t.isFIFO()&&(e.isFile()===t.isFile()&&(e.isSocket()===t.isSocket()&&(e.isSymbolicLink()===t.isSymbolicLink()&&(e.mode===t.mode&&(e.mtimeMs===t.mtimeMs&&(e.nlink===t.nlink&&(e.rdev===t.rdev&&(e.size===t.size&&e.uid===t.uid)))))))))))))))))))}},65281:(e,t,r)=>{"use strict";r.r(t),r.d(t,{getLibzipPromise:()=>s,getLibzipSync:()=>i});const A=["number","number"];var n;!function(e){e[e.ZIP_ER_OK=0]="ZIP_ER_OK",e[e.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",e[e.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",e[e.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",e[e.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",e[e.ZIP_ER_READ=5]="ZIP_ER_READ",e[e.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",e[e.ZIP_ER_CRC=7]="ZIP_ER_CRC",e[e.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",e[e.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",e[e.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",e[e.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",e[e.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",e[e.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",e[e.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",e[e.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",e[e.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",e[e.ZIP_ER_EOF=17]="ZIP_ER_EOF",e[e.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",e[e.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",e[e.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",e[e.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",e[e.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",e[e.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",e[e.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",e[e.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",e[e.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",e[e.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",e[e.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",e[e.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",e[e.ZIP_ER_TELL=30]="ZIP_ER_TELL",e[e.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"}(n||(n={}));let o=null;function i(){var e;return null===o&&(e=r(3368),o={get HEAP8(){return e.HEAP8},get HEAPU8(){return e.HEAPU8},errors:n,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint16S:e._malloc(2),uint32S:e._malloc(4),uint64S:e._malloc(8),malloc:e._malloc,free:e._free,getValue:e.getValue,open:e.cwrap("zip_open","number",["string","number","number"]),openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),delete:e.cwrap("zip_delete","number",["number","number"]),stat:e.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...A,"number","number"]),fopen:e.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...A,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...A,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...A,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...A,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...A,"number","number"])},ext:{countSymlinks:e.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...A,"number"]),free:e.cwrap("zip_source_free",null,["number"]),keep:e.cwrap("zip_source_keep",null,["number"]),open:e.cwrap("zip_source_open","number",["number"]),close:e.cwrap("zip_source_close","number",["number"]),seek:e.cwrap("zip_source_seek","number",["number",...A,"number"]),tell:e.cwrap("zip_source_tell","number",["number"]),read:e.cwrap("zip_source_read","number",["number","number","number"]),error:e.cwrap("zip_source_error","number",["number"]),setMtime:e.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:e.cwrap("zipstruct_stat","number",[]),statS:e.cwrap("zipstruct_statS","number",[]),statName:e.cwrap("zipstruct_stat_name","string",["number"]),statIndex:e.cwrap("zipstruct_stat_index","number",["number"]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:e.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:e.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),error:e.cwrap("zipstruct_error","number",[]),errorS:e.cwrap("zipstruct_errorS","number",[]),errorCodeZip:e.cwrap("zipstruct_error_code_zip","number",["number"])}}),o}async function s(){return i()}},11640:(e,t,r)=>{"use strict";r.r(t),r.d(t,{parseResolution:()=>i,parseShell:()=>n,parseSyml:()=>I,stringifyResolution:()=>s,stringifySyml:()=>d});var A=r(92962);function n(e,t={isGlobPattern:()=>!1}){try{return(0,A.parse)(e,t)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}var o=r(98261);function i(e){const t=e.match(/^\*{1,2}\/(.*)/);if(t)throw new Error(`The override for '${e}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${t[1]}' instead.`);try{return(0,o.parse)(e)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function s(e){let t="";return e.from&&(t+=e.from.fullName,e.from.description&&(t+="@"+e.from.description),t+="/"),t+=e.descriptor.fullName,e.descriptor.description&&(t+="@"+e.descriptor.description),t}var a=r(21194),c=r(85443);const g=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,l=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"];class u{constructor(e){this.data=e}}function h(e){return e.match(g)?e:JSON.stringify(e)}function p(e,t,r){if(null===e)return"null\n";if("number"==typeof e||"boolean"==typeof e)return e.toString()+"\n";if("string"==typeof e)return h(e)+"\n";if(Array.isArray(e)){if(0===e.length)return"[]\n";const r=" ".repeat(t);return"\n"+e.map(e=>`${r}- ${p(e,t+1,!1)}`).join("")}if("object"==typeof e&&e){let A,n;e instanceof u?(A=e.data,n=!1):(A=e,n=!0);const o=" ".repeat(t),i=Object.keys(A);n&&i.sort((e,t)=>{const r=l.indexOf(e),A=l.indexOf(t);return-1===r&&-1===A?et?1:0:-1!==r&&-1===A?-1:-1===r&&-1!==A?1:r-A});const s=i.filter(e=>!function e(t){return void 0===t||"object"==typeof t&&null!==t&&Object.keys(t).every(r=>e(t[r]))}(A[e])).map((e,n)=>{const i=A[e],s=h(e),a=p(i,t+1,!0),c=n>0||r?o:"";return a.startsWith("\n")?`${c}${s}:${a}`:`${c}${s}: ${a}`}).join(0===t?"\n":"")||"\n";return r?"\n"+s:""+s}throw new Error(`Unsupported value type (${e})`)}function d(e){try{const t=p(e,0,!1);return"\n"!==t?t:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}d.PreserveOrdering=u;const C=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function f(e){if(C.test(e))return function(e){return e.endsWith("\n")||(e+="\n"),(0,c.parse)(e)}(e);const t=(0,a.safeLoad)(e,{schema:a.FAILSAFE_SCHEMA});if(null==t)return{};if("object"!=typeof t)throw new Error(`Expected an indexed object, got a ${typeof t} instead. Does your file follow Yaml's rules?`);if(Array.isArray(t))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return t}function I(e){return f(e)}},34432:(e,t,r)=>{"use strict";var A,n;r.d(t,{gY:()=>E,Q$:()=>B,oC:()=>F}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(A||(A={})),function(e){e.DEFAULT="DEFAULT",e.TOP_LEVEL="TOP_LEVEL",e.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",e.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",e.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",e.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",e.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",e.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",e.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",e.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",e.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",e.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"}(n||(n={}));const o={[n.DEFAULT]:{collapsed:!1,next:{"*":n.DEFAULT}},[n.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:n.FALLBACK_EXCLUSION_LIST,packageRegistryData:n.PACKAGE_REGISTRY_DATA,"*":n.DEFAULT}},[n.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{"*":n.FALLBACK_EXCLUSION_ENTRIES}},[n.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{"*":n.FALLBACK_EXCLUSION_DATA}},[n.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{"*":n.DEFAULT}},[n.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{"*":n.PACKAGE_REGISTRY_ENTRIES}},[n.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{"*":n.PACKAGE_STORE_DATA}},[n.PACKAGE_STORE_DATA]:{collapsed:!1,next:{"*":n.PACKAGE_STORE_ENTRIES}},[n.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{"*":n.PACKAGE_INFORMATION_DATA}},[n.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:n.PACKAGE_DEPENDENCIES,"*":n.DEFAULT}},[n.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{"*":n.PACKAGE_DEPENDENCY}},[n.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{"*":n.DEFAULT}}};function i(e,t,r,A){const{next:n}=o[r];return s(t,n[e]||n["*"],A)}function s(e,t,r){const{collapsed:A}=o[t];return Array.isArray(e)?A?function(e,t,r){let A="";A+="[";for(let n=0,o=e.length;ne(t)));const n=r.map((e,t)=>t);return n.sort((e,t)=>{for(const r of A){const A=r[e]r[t]?1:0;if(0!==A)return A}return 0}),n.map(e=>r[e])}function g(e){const t=new Map,r=c(e.fallbackExclusionList||[],[({name:e,reference:t})=>e,({name:e,reference:t})=>t]);for(const{name:e,reference:A}of r){let r=t.get(e);void 0===r&&t.set(e,r=new Set),r.add(A)}return Array.from(t).map(([e,t])=>[e,Array.from(t)])}function l(e){return c(e.fallbackPool||[],([e])=>e)}function u(e){const t=[];for(const[r,A]of c(e.packageRegistry,([e])=>null===e?"0":"1"+e)){const e=[];t.push([r,e]);for(const[t,{packageLocation:n,packageDependencies:o,packagePeers:i,linkType:s,discardFromLookup:a}]of c(A,([e])=>null===e?"0":"1"+e)){const A=[];null===r||null===t||o.has(r)||A.push([r,t]);for(const[e,t]of c(o.entries(),([e])=>e))A.push([e,t]);const g=i&&i.size>0?Array.from(i):void 0,l=a||void 0;e.push([t,{packageLocation:n,packageDependencies:A,packagePeers:g,linkType:s,discardFromLookup:l}])}}return t}function h(e){return c(e.blacklistedLocations||[],e=>e)}function p(e){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback||!1,ignorePatternData:e.ignorePattern||null,fallbackExclusionList:g(e),fallbackPool:l(e),locationBlacklistData:h(e),packageRegistryData:u(e)}}var d=r(20103),C=r.n(d);function f(e,t){return[e?e+"\n":"","/* eslint-disable */\n\n","try {\n"," Object.freeze({}).detectStrictMode = true;\n","} catch (error) {\n"," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n","}\n","\n","var __non_webpack_module__ = module;\n","\n","function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n",t.replace(/^/gm," "),"}\n","\n",C()()].join("")}function I(e){return JSON.stringify(e,null,2)}function E(e){const t=function(e){return[`return hydrateRuntimeState(${a(e)}, {basePath: basePath || __dirname});\n`].join("")}(p(e));return f(e.shebang,t)}function B(e){const t=p(e),r=(A=e.dataLocation,["var path = require('path');\n",`var dataLocation = path.resolve(__dirname, ${JSON.stringify(A)});\n`,"return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n"].join(""));var A;const n=f(e.shebang,r);return{dataFile:I(t),loaderFile:n}}var y=r(35747),m=(r(85622),r(31669)),w=r(46009);var Q,D=r(17674),b=r(32282);!function(e){e.API_ERROR="API_ERROR",e.BLACKLISTED="BLACKLISTED",e.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",e.MISSING_DEPENDENCY="MISSING_DEPENDENCY",e.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",e.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",e.INTERNAL="INTERNAL",e.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",e.UNSUPPORTED="UNSUPPORTED"}(Q||(Q={}));const v=new Set([Q.BLACKLISTED,Q.BUILTIN_NODE_RESOLUTION_FAILED,Q.MISSING_DEPENDENCY,Q.MISSING_PEER_DEPENDENCY,Q.QUALIFIED_PATH_RESOLUTION_FAILED,Q.UNDECLARED_DEPENDENCY]);function S(e,t,r={}){const A=v.has(e)?"MODULE_NOT_FOUND":e,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(t),{code:{...n,value:A},pnpCode:{...n,value:e},data:{...n,value:r}})}function k(e){return w.cS.normalize(w.cS.fromPortablePath(e))}function K(e,t){const r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,A=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(b.Module.builtinModules||Object.keys(process.binding("natives"))),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/,i=/^(\/|\.{1,2}(\/|$))/,s=/\/$/,a={name:null,reference:null},c=[],g=new Set;if(!0===e.enableTopLevelFallback&&c.push(a),!1!==t.compatibilityMode)for(const t of["react-scripts","gatsby"]){const r=e.packageRegistry.get(t);if(r)for(const e of r.keys()){if(null===e)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:t,reference:e})}}const{ignorePattern:l,packageRegistry:u,packageLocatorsByLocations:h,packageLocationLengths:p}=e;function d(e,t){return{fn:e,args:t,error:null,result:null}}function C(e,r){if(!1===t.allowDebug)return r;if(Number.isFinite(A)){if(A>=2)return(...t)=>{const A=d(e,t);try{return A.result=r(...t)}catch(e){throw A.error=e}finally{console.trace(A)}};if(A>=1)return(...t)=>{try{return r(...t)}catch(r){const A=d(e,t);throw A.error=r,console.trace(A),r}}}return r}function f(e){const t=y(e);if(!t)throw S(Q.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return t}function I(t){if(null===t.name)return!0;for(const r of e.dependencyTreeRoots)if(r.name===t.name&&r.reference===t.reference)return!0;return!1}function E(e,t){return t.endsWith("/")&&(t=w.y1.join(t,"internal.js")),b.Module._resolveFilename(w.cS.fromPortablePath(e),function(e){const t=new b.Module(e,null);return t.filename=e,t.paths=b.Module._nodeModulePaths(e),t}(w.cS.fromPortablePath(t)),!1,{plugnplay:!1})}function B(t){if(null===l)return!1;const r=w.y1.contains(e.basePath,t);return null!==r&&!!l.test(r.replace(/\/$/,""))}function y({name:e,reference:t}){const r=u.get(e);if(!r)return null;const A=r.get(t);return A||null}function m(e,t){const r=new Map,A=new Set,n=t=>{const o=JSON.stringify(t.name);if(A.has(o))return;A.add(o);const i=function({name:e,reference:t}){const r=[];for(const[A,n]of u)if(null!==A)for(const[o,i]of n){if(null===o)continue;i.packageDependencies.get(e)===t&&(A===e&&o===t||r.push({name:A,reference:o}))}return r}(t);for(const t of i){if(f(t).packagePeers.has(e))n(t);else{let e=r.get(t.name);void 0===e&&r.set(t.name,e=new Set),e.add(t.reference)}}};n(t);const o=[];for(const e of[...r.keys()].sort())for(const t of[...r.get(e)].sort())o.push({name:e,reference:t});return o}function v(t){if(B(t))return null;let r=(A=w.y1.relative(e.basePath,t),w.cS.toPortablePath(A));var A;r.match(i)||(r="./"+r),t.match(s)&&!r.endsWith("/")&&(r+="/");let n=0;for(;nr.length;)n+=1;for(let e=n;eI(e))?S(Q.MISSING_PEER_DEPENDENCY,`${s.name} tried to access ${t} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n${e.map(e=>`Ancestor breaking the chain: ${e.name}@${e.reference}\n`).join("")}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t,brokenAncestors:e}):S(Q.MISSING_PEER_DEPENDENCY,`${s.name} tried to access ${t} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n${e.map(e=>`Ancestor breaking the chain: ${e.name}@${e.reference}\n`).join("")}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t,brokenAncestors:e})}else void 0===d&&(B=!a&&n.has(A)?I(s)?S(Q.UNDECLARED_DEPENDENCY,`Your application tried to access ${t}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${t} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,dependencyName:t}):S(Q.UNDECLARED_DEPENDENCY,`${s.name} tried to access ${t}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${t} isn't otherwise declared in ${s.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t}):I(s)?S(Q.UNDECLARED_DEPENDENCY,`Your application tried to access ${t}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${u}\n`,{request:l,issuer:u,dependencyName:t}):S(Q.UNDECLARED_DEPENDENCY,`${s.name} tried to access ${t}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${t} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n`,{request:l,issuer:u,issuerLocator:Object.assign({},s),dependencyName:t}));if(null==d){if(null===C||null===B)throw B||new Error("Assertion failed: Expected an error to have been set");d=C;const e=B.message.replace(/\n.*/g,"");B.message=e,g.has(e)||(g.add(e),process.emitWarning(B))}const y=Array.isArray(d)?{name:d[0],reference:d[1]}:{name:t,reference:d},D=f(y);if(!D.packageLocation)throw S(Q.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${y.name}@${y.reference} (via "${l}")\nRequired by: ${s.name}@${s.reference} (via ${u})\n`,{request:l,issuer:u,dependencyLocator:Object.assign({},y)});const b=D.packageLocation;h=o?w.y1.join(b,o):b}else{if(w.y1.isAbsolute(A))h=w.y1.normalize(A);else{if(!i)throw S(Q.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:l,issuer:u});const e=w.y1.resolve(i);h=i.match(s)?w.y1.normalize(w.y1.join(e,A)):w.y1.normalize(w.y1.join(w.y1.dirname(e),A))}v(h)}return w.y1.normalize(h)}function F(e,{extensions:r=Object.keys(b.Module._extensions)}={}){const A=[],n=function e(r,A,{extensions:n}){let o;try{A.push(r),o=t.fakeFs.statSync(r)}catch(e){}if(o&&!o.isDirectory())return t.fakeFs.realpathSync(r);if(o&&o.isDirectory()){let o,i;try{o=JSON.parse(t.fakeFs.readFileSync(w.y1.join(r,"package.json"),"utf8"))}catch(e){}if(o&&o.main&&(i=w.y1.resolve(r,o.main)),i&&i!==r){const t=e(i,A,{extensions:n});if(null!==t)return t}}for(let e=0,o=n.length;e`Rejected candidate: ${k(e)}\n`).join("")}`,{unqualifiedPath:t})}}return{VERSIONS:{std:3,resolveVirtual:1,getAllLocators:1},topLevel:a,getLocator:(e,t)=>Array.isArray(t)?{name:t[0],reference:t[1]}:{name:e,reference:t},getDependencyTreeRoots:()=>[...e.dependencyTreeRoots],getAllLocators(){const e=[];for(const[t,r]of u)for(const A of r.keys())null!==t&&null!==A&&e.push({name:t,reference:A});return e},getPackageInformation:e=>{const t=y(e);if(null===t)return null;const r=w.cS.fromPortablePath(t.packageLocation);return{...t,packageLocation:r}},findPackageLocator:e=>v(w.cS.toPortablePath(e)),resolveToUnqualified:C("resolveToUnqualified",(e,t,r)=>{const A=null!==t?w.cS.toPortablePath(t):null,n=K(w.cS.toPortablePath(e),A,r);return null===n?null:w.cS.fromPortablePath(n)}),resolveUnqualified:C("resolveUnqualified",(e,t)=>w.cS.fromPortablePath(F(w.cS.toPortablePath(e),t))),resolveRequest:C("resolveRequest",(e,t,r)=>{const A=null!==t?w.cS.toPortablePath(t):null,n=function(e,t,{considerBuiltins:r,extensions:A}={}){const n=K(e,t,{considerBuiltins:r});if(null===n)return null;try{return F(n,{extensions:A})}catch(r){throw"QUALIFIED_PATH_RESOLUTION_FAILED"===r.pnpCode&&Object.assign(r.data,{request:k(e),issuer:t&&k(t)}),r}}(w.cS.toPortablePath(e),A,r);return null===n?null:w.cS.fromPortablePath(n)}),resolveVirtual:C("resolveVirtual",e=>{const t=function(e){const t=w.y1.normalize(e),r=D.p.resolveVirtual(t);return r!==t?r:null}(w.cS.toPortablePath(e));return null!==t?w.cS.fromPortablePath(t):null})}}(0,m.promisify)(y.readFile);const F=(e,t,r)=>K(function(e,{basePath:t}){const r=w.cS.toPortablePath(t),A=w.y1.resolve(r),n=null!==e.ignorePatternData?new RegExp(e.ignorePatternData):null,o=new Map(e.packageRegistryData.map(([e,t])=>[e,new Map(t.map(([e,t])=>[e,{packageLocation:w.y1.join(A,t.packageLocation),packageDependencies:new Map(t.packageDependencies),packagePeers:new Set(t.packagePeers),linkType:t.linkType,discardFromLookup:t.discardFromLookup||!1}]))])),i=new Map,s=new Set;for(const[t,r]of e.packageRegistryData)for(const[e,A]of r){if(null===t!=(null===e))throw new Error("Assertion failed: The name and reference should be null, or neither should");if(A.discardFromLookup)continue;const r={name:t,reference:e};i.set(A.packageLocation,r),s.add(A.packageLocation.length)}for(const t of e.locationBlacklistData)i.set(t,null);const a=new Map(e.fallbackExclusionList.map(([e,t])=>[e,new Set(t)])),c=new Map(e.fallbackPool);return{basePath:r,dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback,fallbackExclusionList:a,fallbackPool:c,ignorePattern:n,packageLocationLengths:[...s].sort((e,t)=>t-e),packageLocatorsByLocations:i,packageRegistry:o}}(p(e),{basePath:t}),{fakeFs:r,pnpapiResolution:w.cS.join(t,".pnp.js")})},76756:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ShellError:()=>c,execute:()=>Z,globUtils:()=>A});var A={};r.r(A),r.d(A,{fastGlobOptions:()=>E,isBraceExpansion:()=>m,isGlobPattern:()=>B,match:()=>y,micromatchOptions:()=>I});var n=r(46009),o=r(78420),i=r(11640),s=r(12087),a=r(92413);class c extends Error{constructor(e){super(e),this.name="ShellError"}}var g=r(43896),l=r(39725),u=r(19347),h=r.n(u),p=r(35747),d=r.n(p),C=r(2401),f=r.n(C);const I={strictBrackets:!0},E={onlyDirectories:!1,onlyFiles:!1};function B(e){if(!f().scan(e,I).isGlob)return!1;try{f().parse(e,I)}catch(e){return!1}return!0}function y(e,{cwd:t,baseFs:r}){return h()(e,{...E,cwd:n.cS.fromPortablePath(t),fs:(0,g.extendFs)(d(),new l.i(r))})}function m(e){return f().scan(e,I).isBrace}var w,Q=r(67566),D=r.n(Q);function b(){}!function(e){e[e.STDIN=0]="STDIN",e[e.STDOUT=1]="STDOUT",e[e.STDERR=2]="STDERR"}(w||(w={}));let v=0;class S{constructor(e){this.stream=e}close(){}get(){return this.stream}}class k{constructor(){this.stream=null}close(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");return this.stream}}class K{constructor(e,t){this.stdin=null,this.stdout=null,this.stderr=null,this.pipe=null,this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:r,stderr:A}){const n=new K(null,e);return n.stdin=t,n.stdout=r,n.stderr=A,n}pipeTo(e,t=w.STDOUT){const r=new K(this,e),A=new k;return r.pipe=A,r.stdout=this.stdout,r.stderr=this.stderr,(t&w.STDOUT)===w.STDOUT?this.stdout=A:null!==this.ancestor&&(this.stderr=this.ancestor.stdout),(t&w.STDERR)===w.STDERR?this.stderr=A:null!==this.ancestor&&(this.stderr=this.ancestor.stderr),r}async exec(){const e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(null===this.stdin)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t,r;if(null===this.stdout)throw new Error("Assertion failed: No output stream registered");if(t=this.stdout,e[1]=t.get(),null===this.stderr)throw new Error("Assertion failed: No error stream registered");r=this.stderr,e[2]=r.get();const A=this.implementation(e);return this.pipe&&this.pipe.attach(A.stdin),await A.promise.then(e=>(t.close(),r.close(),e))}async run(){const e=[];for(let t=this;t;t=t.ancestor)e.push(t.exec());return(await Promise.all(e))[0]}}function F(e,t){return K.start(e,t)}var N;function M(e,t,r){const A=new a.PassThrough({autoDestroy:!0});switch(e){case w.STDIN:(t&N.Readable)===N.Readable&&r.stdin.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&r.stdin instanceof a.Writable&&A.pipe(r.stdin,{end:!1});break;case w.STDOUT:(t&N.Readable)===N.Readable&&r.stdout.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&A.pipe(r.stdout,{end:!1});break;case w.STDERR:(t&N.Readable)===N.Readable&&r.stderr.pipe(A,{end:!1}),(t&N.Writable)===N.Writable&&A.pipe(r.stderr,{end:!1});break;default:throw new c(`Bad file descriptor: "${e}"`)}return A}function R(e,t={}){const r={...e,...t};return r.environment={...e.environment,...t.environment},r.variables={...e.variables,...t.variables},r}!function(e){e[e.Readable=1]="Readable",e[e.Writable=2]="Writable"}(N||(N={}));const x=new Map([["cd",async([e=(0,s.homedir)(),...t],r,A)=>{const o=n.y1.resolve(A.cwd,n.cS.toPortablePath(e));return(await r.baseFs.statPromise(o)).isDirectory()?(A.cwd=o,0):(A.stderr.write("cd: not a directory\n"),1)}],["pwd",async(e,t,r)=>(r.stdout.write(n.cS.fromPortablePath(r.cwd)+"\n"),0)],[":",async(e,t,r)=>0],["true",async(e,t,r)=>0],["false",async(e,t,r)=>1],["exit",async([e,...t],r,A)=>A.exitCode=parseInt(null!=e?e:A.variables["?"],10)],["echo",async(e,t,r)=>(r.stdout.write(e.join(" ")+"\n"),0)],["__ysh_run_procedure",async(e,t,r)=>{const A=r.procedures[e[0]];return await F(A,{stdin:new S(r.stdin),stdout:new S(r.stdout),stderr:new S(r.stderr)}).run()}],["__ysh_set_redirects",async(e,t,r)=>{let A=r.stdin,o=r.stdout;const i=r.stderr,s=[],c=[];let g=0;for(;"--"!==e[g];){const A=e[g++],o=Number(e[g++]),i=g+o;for(let o=g;ot.baseFs.createReadStream(n.y1.resolve(r.cwd,n.cS.toPortablePath(e[o]))));break;case"<<<":s.push(()=>{const t=new a.PassThrough;return process.nextTick(()=>{t.write(e[o]+"\n"),t.end()}),t});break;case"<&":s.push(()=>M(Number(e[o]),N.Readable,r));break;case">":case">>":{const i=n.y1.resolve(r.cwd,n.cS.toPortablePath(e[o]));"/dev/null"===i?c.push(new a.Writable({autoDestroy:!0,emitClose:!0,write(e,t,r){setImmediate(r)}})):c.push(t.baseFs.createWriteStream(i,">>"===A?{flags:"a"}:void 0))}break;case">&":c.push(M(Number(e[o]),N.Writable,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${A}"`)}}if(s.length>0){const e=new a.PassThrough;A=e;const t=r=>{if(r===s.length)e.end();else{const A=s[r]();A.pipe(e,{end:!1}),A.on("end",()=>{t(r+1)})}};t(0)}if(c.length>0){const e=new a.PassThrough;o=e;for(const t of c)e.pipe(t)}const l=await F(G(e.slice(g+1),t,r),{stdin:new S(A),stdout:new S(o),stderr:new S(i)}).run();return await Promise.all(c.map(e=>new Promise(t=>{e.on("close",()=>{t()}),e.end()}))),l}]]);async function L(e,t,r){const A=[],n=new a.PassThrough;return n.on("data",e=>A.push(e)),await W(e,t,R(r,{stdout:n})),Buffer.concat(A).toString().replace(/[\r\n]+$/,"")}async function P(e,t,r){const A=e.map(async e=>{const A=await Y(e.args,t,r);return{name:e.name,value:A.join(" ")}});return(await Promise.all(A)).reduce((e,t)=>(e[t.name]=t.value,e),{})}function O(e){return e.match(/[^ \r\n\t]+/g)||[]}async function U(e,t,r,A,n=A){switch(e.name){case"$":A(String(process.pid));break;case"#":A(String(t.args.length));break;case"@":if(e.quoted)for(const e of t.args)n(e);else for(const e of t.args){const t=O(e);for(let e=0;e=0&&ne+t,subtraction:(e,t)=>e-t,multiplication:(e,t)=>e*t,division:(e,t)=>Math.trunc(e/t)};async function j(e,t,r){if("number"===e.type){if(Number.isInteger(e.value))return e.value;throw new Error(`Invalid number: "${e.value}", only integers are allowed`)}if("variable"===e.type){const A=[];await U({...e,quoted:!0},t,r,e=>A.push(e));const n=Number(A.join(" "));return Number.isNaN(n)?j({type:"variable",name:A.join(" ")},t,r):j({type:"number",value:n},t,r)}return T[e.type](await j(e.left,t,r),await j(e.right,t,r))}async function Y(e,t,r){const A=new Map,n=[];let o=[];const i=e=>{o.push(e)},s=()=>{o.length>0&&n.push(o.join("")),o=[]},a=e=>{i(e),s()},g=(e,t)=>{let r=A.get(e);void 0===r&&A.set(e,r=[]),r.push(t)};for(const A of e){let e=!1;switch(A.type){case"redirection":{const e=await Y(A.args,t,r);for(const t of e)g(A.subtype,t)}break;case"argument":for(const n of A.segments)switch(n.type){case"text":i(n.text);break;case"glob":i(n.pattern),e=!0;break;case"shell":{const e=await L(n.shell,t,r);if(n.quoted)i(e);else{const t=O(e);for(let e=0;e0){const e=[];for(const[t,r]of A.entries())e.splice(e.length,0,t,String(r.length),...r);n.splice(0,0,"__ysh_set_redirects",...e,"--")}return n}function G(e,t,r){t.builtins.has(e[0])||(e=["command",...e]);const A=n.cS.fromPortablePath(r.cwd);let o=r.environment;void 0!==o.PWD&&(o={...o,PWD:A});const[i,...s]=e;if("command"===i)return function(e,t,r,A){return r=>{const n=r[0]instanceof a.Transform?"pipe":r[0],o=r[1]instanceof a.Transform?"pipe":r[1],i=r[2]instanceof a.Transform?"pipe":r[2],s=D()(e,t,{...A,stdio:[n,o,i]});return 0==v++&&process.on("SIGINT",b),r[0]instanceof a.Transform&&r[0].pipe(s.stdin),r[1]instanceof a.Transform&&s.stdout.pipe(r[1],{end:!1}),r[2]instanceof a.Transform&&s.stderr.pipe(r[2],{end:!1}),{stdin:s.stdin,promise:new Promise(t=>{s.on("error",A=>{switch(0==--v&&process.off("SIGINT",b),A.code){case"ENOENT":r[2].write(`command not found: ${e}\n`),t(127);break;case"EACCES":r[2].write(`permission denied: ${e}\n`),t(128);break;default:r[2].write(`uncaught error: ${A.message}\n`),t(1)}}),s.on("exit",e=>{0==--v&&process.off("SIGINT",b),t(null!==e?e:129)})})}}}(s[0],s.slice(1),0,{cwd:A,env:o});const c=t.builtins.get(i);if(void 0===c)throw new Error(`Assertion failed: A builtin should exist for "${i}"`);return function(e){return t=>{const r="pipe"===t[0]?new a.PassThrough:t[0];return{stdin:r,promise:Promise.resolve().then(()=>e({stdin:r,stdout:t[1],stderr:t[2]}))}}}(async({stdin:e,stdout:A,stderr:n})=>(r.stdin=e,r.stdout=A,r.stderr=n,await c(s,t,r)))}function H(e,t,r){return A=>{const n=new a.PassThrough;return{stdin:n,promise:W(e,t,R(r,{stdin:n}))}}}function J(e,t,r){return A=>({stdin:new a.PassThrough,promise:W(e,t,r)})}function q(e,t,r,A){if(0===t.length)return e;{let n;do{n=String(Math.random())}while(Object.prototype.hasOwnProperty.call(A.procedures,n));return A.procedures={...A.procedures},A.procedures[n]=e,G([...t,"__ysh_run_procedure",n],r,A)}}async function z(e,t,r){let A;const n=e=>{A=e,r.variables["?"]=String(e)},o=async e=>{try{return await async function(e,t,r){let A=e,n=null,o=null;for(;A;){const e=A.then?{...r}:r;let i;switch(A.type){case"command":{const n=await Y(A.args,t,r),o=await P(A.envs,t,r);i=A.envs.length?G(n,t,R(e,{environment:o})):G(n,t,e)}break;case"subshell":{const n=await Y(A.args,t,r);i=q(H(A.subshell,t,e),n,t,e)}break;case"group":{const n=await Y(A.args,t,r);i=q(J(A.group,t,e),n,t,e)}break;case"envs":{const n=await P(A.envs,t,r);e.environment={...e.environment,...n},i=G(["true"],t,e)}}if(void 0===i)throw new Error("Assertion failed: An action should have been generated");if(null===n)o=F(i,{stdin:new S(e.stdin),stdout:new S(e.stdout),stderr:new S(e.stderr)});else{if(null===o)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":o=o.pipeTo(i,w.STDOUT);break;case"|&":o=o.pipeTo(i,w.STDOUT|w.STDERR)}}A.then?(n=A.then.type,A=A.then.chain):A=null}if(null===o)throw new Error("Assertion failed: The execution pipeline should have been setup");return await o.run()}(e,t,r)}catch(e){if(!(e instanceof c))throw e;return r.stderr.write(e.message+"\n"),1}};for(n(await o(e.chain));e.then;){if(null!==r.exitCode)return r.exitCode;switch(e.then.type){case"&&":0===A&&n(await o(e.then.line.chain));break;case"||":0!==A&&n(await o(e.then.line.chain));break;default:throw new Error(`Assertion failed: Unsupported command type: "${e.then.type}"`)}e=e.then.line}return A}async function W(e,t,r){let A=0;for(const n of e){if(A=await z(n,t,r),null!==r.exitCode)return r.exitCode;r.variables["?"]=String(A)}return A}function X(e){switch(e.type){case"variable":return"@"===e.name||"#"===e.name||"*"===e.name||Number.isFinite(parseInt(e.name,10))||"defaultValue"in e&&!!e.defaultValue&&e.defaultValue.some(e=>V(e));case"arithmetic":return function e(t){switch(t.type){case"variable":return X(t);case"number":return!1;default:return e(t.left)||e(t.right)}}(e.arithmetic);case"shell":return _(e.shell);default:return!1}}function V(e){switch(e.type){case"redirection":return e.args.some(e=>V(e));case"argument":return e.segments.some(e=>X(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${e.type}"`)}}function _(e){return e.some(e=>{for(;e;){let t=e.chain;for(;t;){let e;switch(t.type){case"subshell":e=_(t.subshell);break;case"command":e=t.envs.some(e=>e.args.some(e=>V(e)))||t.args.some(e=>V(e))}if(e)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Z(e,t=[],{baseFs:r=new o.S,builtins:s={},cwd:c=n.cS.toPortablePath(process.cwd()),env:g=process.env,stdin:l=process.stdin,stdout:u=process.stdout,stderr:h=process.stderr,variables:p={},glob:d=A}={}){const C={};for(const[e,t]of Object.entries(g))void 0!==t&&(C[e]=t);const f=new Map(x);for(const[e,t]of Object.entries(s))f.set(e,t);null===l&&(l=new a.PassThrough).end();const I=(0,i.parseShell)(e,d);if(!_(I)&&I.length>0&&t.length>0){let e=I[I.length-1];for(;e.then;)e=e.then.line;let r=e.chain;for(;r.then;)r=r.then.chain;"command"===r.type&&(r.args=r.args.concat(t.map(e=>({type:"argument",segments:[{type:"text",text:e}]}))))}return await W(I,{args:t,baseFs:r,builtins:f,initialStdin:l,initialStdout:u,initialStderr:h,glob:d},{cwd:c,environment:C,exitCode:null,procedures:{},stdin:l,stdout:u,stderr:h,variables:Object.assign({},p,{"?":0})})}},45330:(e,t,r)=>{t.e=()=>({modules:new Map([["@yarnpkg/cli",r(25413)],["@yarnpkg/core",r(53836)],["@yarnpkg/fslib",r(43896)],["@yarnpkg/libzip",r(65281)],["@yarnpkg/parsers",r(11640)],["@yarnpkg/shell",r(76756)],["clipanion",r(40822)],["semver",r(53887)],["yup",r(15966)],["@yarnpkg/plugin-essentials",r(34777)],["@yarnpkg/plugin-compat",r(44692)],["@yarnpkg/plugin-dlx",r(10189)],["@yarnpkg/plugin-file",r(68023)],["@yarnpkg/plugin-git",r(75641)],["@yarnpkg/plugin-github",r(68126)],["@yarnpkg/plugin-http",r(99148)],["@yarnpkg/plugin-init",r(64314)],["@yarnpkg/plugin-link",r(92994)],["@yarnpkg/plugin-node-modules",r(8375)],["@yarnpkg/plugin-npm",r(14224)],["@yarnpkg/plugin-npm-cli",r(8190)],["@yarnpkg/plugin-pack",r(49881)],["@yarnpkg/plugin-patch",r(29936)],["@yarnpkg/plugin-pnp",r(83228)]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])})},29148:(e,t,r)=>{const A=r(74988),n=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,o=new A;e.exports=(e,t=0,r=e.length)=>{if(t<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");const A=r-t;let i="",s=0,a=0;for(;e.length>0;){const r=e.match(n)||[e,e,void 0];let c=o.splitGraphemes(r[1]);const g=Math.min(t-s,c.length);c=c.slice(g);const l=Math.min(A-a,c.length);i+=c.slice(0,l).join(""),s+=g,a+=l,void 0!==r[2]&&(i+=r[2]),e=e.slice(r[0].length)}return i}},72912:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},19228:(e,t,r)=>{var A=r(54694);function n(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return n=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==A(e)&&"function"!=typeof e)return{default:e};var t=n();if(t&&t.has(e))return t.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,t&&t.set(e,r),r}},74943:e=>{e.exports=function(e,t){if(null==e)return{};var r,A,n={},o=Object.keys(e);for(A=0;A=0||(n[r]=e[r]);return n}},62407:e=>{e.exports=function(e,t){return t||(t=e.slice(0)),e.raw=t,e}},54694:e=>{function t(r){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(r)}e.exports=t},96117:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747);t.FILE_SYSTEM_ADAPTER={lstat:A.lstat,stat:A.stat,lstatSync:A.lstatSync,statSync:A.statSync,readdir:A.readdir,readdirSync:A.readdirSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},79774:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=process.versions.node.split("."),A=parseInt(r[0],10),n=parseInt(r[1],10),o=A>10,i=10===A&&n>=10;t.IS_SUPPORT_READDIR_WITH_FILE_TYPES=o||i},85670:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(31020),n=r(35516),o=r(38844);function i(e={}){return e instanceof o.default?e:new o.default(e)}t.Settings=o.default,t.scandir=function(e,t,r){if("function"==typeof t)return A.read(e,i(),t);A.read(e,i(t),r)},t.scandirSync=function(e,t){const r=i(t);return n.read(e,r)}},31020:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(69078),o=r(79774),i=r(65225);function s(e,t,r){t.fs.readdir(e,{withFileTypes:!0},(A,o)=>{if(null!==A)return c(r,A);const s=o.map(r=>({dirent:r,name:r.name,path:`${e}${t.pathSegmentSeparator}${r.name}`}));if(!t.followSymbolicLinks)return g(r,s);const a=s.map(e=>function(e,t){return r=>{if(!e.dirent.isSymbolicLink())return r(null,e);t.fs.stat(e.path,(A,n)=>null!==A?t.throwErrorOnBrokenSymbolicLink?r(A):r(null,e):(e.dirent=i.fs.createDirentFromStats(e.name,n),r(null,e)))}}(e,t));n(a,(e,t)=>{if(null!==e)return c(r,e);g(r,t)})})}function a(e,t,r){t.fs.readdir(e,(o,s)=>{if(null!==o)return c(r,o);const a=s.map(r=>`${e}${t.pathSegmentSeparator}${r}`),l=a.map(e=>r=>A.stat(e,t.fsStatSettings,r));n(l,(e,A)=>{if(null!==e)return c(r,e);const n=[];s.forEach((e,r)=>{const o=A[r],s={name:e,path:a[r],dirent:i.fs.createDirentFromStats(e,o)};t.stats&&(s.stats=o),n.push(s)}),g(r,n)})})}function c(e,t){e(t)}function g(e,t){e(null,t)}t.read=function(e,t,r){return!t.stats&&o.IS_SUPPORT_READDIR_WITH_FILE_TYPES?s(e,t,r):a(e,t,r)},t.readdirWithFileTypes=s,t.readdir=a},35516:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(79774),o=r(65225);function i(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(r=>{const A={dirent:r,name:r.name,path:`${e}${t.pathSegmentSeparator}${r.name}`};if(A.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{const e=t.fs.statSync(A.path);A.dirent=o.fs.createDirentFromStats(A.name,e)}catch(e){if(t.throwErrorOnBrokenSymbolicLink)throw e}return A})}function s(e,t){return t.fs.readdirSync(e).map(r=>{const n=`${e}${t.pathSegmentSeparator}${r}`,i=A.statSync(n,t.fsStatSettings),s={name:r,path:n,dirent:o.fs.createDirentFromStats(r,i)};return t.stats&&(s.stats=i),s})}t.read=function(e,t){return!t.stats&&n.IS_SUPPORT_READDIR_WITH_FILE_TYPES?i(e,t):s(e,t)},t.readdirWithFileTypes=i,t.readdir=s},38844:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(53403),o=r(96117);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=o.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,A.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new n.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},72156:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},65225:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(72156);t.fs=A},71208:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747);t.FILE_SYSTEM_ADAPTER={lstat:A.lstat,stat:A.stat,lstatSync:A.lstatSync,statSync:A.statSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},53403:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(17790),n=r(34846),o=r(92687);function i(e={}){return e instanceof o.default?e:new o.default(e)}t.Settings=o.default,t.stat=function(e,t,r){if("function"==typeof t)return A.read(e,i(),t);A.read(e,i(t),r)},t.statSync=function(e,t){const r=i(t);return n.read(e,r)}},17790:(e,t)=>{"use strict";function r(e,t){e(t)}function A(e,t){e(null,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t,n){t.fs.lstat(e,(o,i)=>null!==o?r(n,o):i.isSymbolicLink()&&t.followSymbolicLink?void t.fs.stat(e,(e,o)=>{if(null!==e)return t.throwErrorOnBrokenSymbolicLink?r(n,e):A(n,i);t.markSymbolicLink&&(o.isSymbolicLink=()=>!0),A(n,o)}):A(n,i))}},34846:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t){const r=t.fs.lstatSync(e);if(!r.isSymbolicLink()||!t.followSymbolicLink)return r;try{const r=t.fs.statSync(e);return t.markSymbolicLink&&(r.isSymbolicLink=()=>!0),r}catch(e){if(!t.throwErrorOnBrokenSymbolicLink)return r;throw e}}},92687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(71208);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=A.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return void 0===e?t:e}}},72897:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(42369),n=r(27696),o=r(22111),i=r(14954);function s(e={}){return e instanceof i.default?e:new i.default(e)}t.Settings=i.default,t.walk=function(e,t,r){if("function"==typeof t)return new A.default(e,s()).read(t);new A.default(e,s(t)).read(r)},t.walkSync=function(e,t){const r=s(t);return new o.default(e,r).read()},t.walkStream=function(e,t){const r=s(t);return new n.default(e,r).read()}},42369:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(98566);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new A.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{!function(e,t){e(t)}(e,t)}),this._reader.onEntry(e=>{this._storage.add(e)}),this._reader.onEnd(()=>{!function(e,t){e(null,t)}(e,[...this._storage])}),this._reader.read()}}},27696:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(98566);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new n.default(this._root,this._settings),this._stream=new A.Readable({objectMode:!0,read:()=>{},destroy:this._reader.destroy.bind(this._reader)})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}}},22111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(97835);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new A.default(this._root,this._settings)}read(){return this._reader.read()}}},98566:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(28614),n=r(85670),o=r(98360),i=r(10750),s=r(75504);class a extends s.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=n.scandir,this._emitter=new A.EventEmitter,this._queue=o(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){const r={directory:e,base:t};this._queue.push(r,e=>{null!==e&&this._handleError(e)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(r,A)=>{if(null!==r)return t(r,void 0);for(const t of A)this._handleEntry(t,e.base);t(null,void 0)})}_handleError(e){i.isFatalError(this._settings,e)&&(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;const r=e.path;void 0!==t&&(e.path=i.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),i.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&i.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(r,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}}t.default=a},10750:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFatalError=function(e,t){return null===e.errorFilter||!e.errorFilter(t)},t.isAppliedFilter=function(e,t){return null===e||e(t)},t.replacePathSegmentSeparator=function(e,t){return e.split(/[\\/]/).join(t)},t.joinPathSegments=function(e,t,r){return""===e?t:e+r+t}},75504:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(10750);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._root=A.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}}},97835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85670),n=r(10750),o=r(75504);class i extends o.default{constructor(){super(...arguments),this._scandir=A.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(const e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{const r=this._scandir(e,this._settings.fsScandirSettings);for(const e of r)this._handleEntry(e,t)}catch(e){this._handleError(e)}}_handleError(e){if(n.isFatalError(this._settings,e))throw e}_handleEntry(e,t){const r=e.path;void 0!==t&&(e.path=n.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),n.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&n.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(r,e.path)}_pushToStorage(e){this._storage.add(e)}}t.default=i},14954:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(85670);t.default=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,1/0),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,A.sep),this.fsScandirSettings=new n.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},7966:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];const A=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...r];const n=["null","undefined","string","number","bigint","boolean","symbol"];function o(e){return t=>typeof t===e}const{toString:i}=Object.prototype,s=e=>{const t=i.call(e).slice(8,-1);return/HTML\w+Element/.test(t)&&c.domElement(e)?"HTMLElement":(r=t,A.includes(r)?t:void 0);var r},a=e=>t=>s(t)===e;function c(e){if(null===e)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol"}if(c.observable(e))return"Observable";if(c.array(e))return"Array";if(c.buffer(e))return"Buffer";const t=s(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}c.undefined=o("undefined"),c.string=o("string");const g=o("number");c.number=e=>g(e)&&!c.nan(e),c.bigint=o("bigint"),c.function_=o("function"),c.null_=e=>null===e,c.class_=e=>c.function_(e)&&e.toString().startsWith("class "),c.boolean=e=>!0===e||!1===e,c.symbol=o("symbol"),c.numericString=e=>c.string(e)&&!c.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e)),c.array=(e,t)=>!!Array.isArray(e)&&(!c.function_(t)||e.every(t)),c.buffer=e=>{var t,r,A,n;return null!==(n=null===(A=null===(r=null===(t=e)||void 0===t?void 0:t.constructor)||void 0===r?void 0:r.isBuffer)||void 0===A?void 0:A.call(r,e))&&void 0!==n&&n},c.nullOrUndefined=e=>c.null_(e)||c.undefined(e),c.object=e=>!c.null_(e)&&("object"==typeof e||c.function_(e)),c.iterable=e=>{var t;return c.function_(null===(t=e)||void 0===t?void 0:t[Symbol.iterator])},c.asyncIterable=e=>{var t;return c.function_(null===(t=e)||void 0===t?void 0:t[Symbol.asyncIterator])},c.generator=e=>c.iterable(e)&&c.function_(e.next)&&c.function_(e.throw),c.asyncGenerator=e=>c.asyncIterable(e)&&c.function_(e.next)&&c.function_(e.throw),c.nativePromise=e=>a("Promise")(e);c.promise=e=>c.nativePromise(e)||(e=>{var t,r;return c.function_(null===(t=e)||void 0===t?void 0:t.then)&&c.function_(null===(r=e)||void 0===r?void 0:r.catch)})(e),c.generatorFunction=a("GeneratorFunction"),c.asyncGeneratorFunction=e=>"AsyncGeneratorFunction"===s(e),c.asyncFunction=e=>"AsyncFunction"===s(e),c.boundFunction=e=>c.function_(e)&&!e.hasOwnProperty("prototype"),c.regExp=a("RegExp"),c.date=a("Date"),c.error=a("Error"),c.map=e=>a("Map")(e),c.set=e=>a("Set")(e),c.weakMap=e=>a("WeakMap")(e),c.weakSet=e=>a("WeakSet")(e),c.int8Array=a("Int8Array"),c.uint8Array=a("Uint8Array"),c.uint8ClampedArray=a("Uint8ClampedArray"),c.int16Array=a("Int16Array"),c.uint16Array=a("Uint16Array"),c.int32Array=a("Int32Array"),c.uint32Array=a("Uint32Array"),c.float32Array=a("Float32Array"),c.float64Array=a("Float64Array"),c.bigInt64Array=a("BigInt64Array"),c.bigUint64Array=a("BigUint64Array"),c.arrayBuffer=a("ArrayBuffer"),c.sharedArrayBuffer=a("SharedArrayBuffer"),c.dataView=a("DataView"),c.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,c.urlInstance=e=>a("URL")(e),c.urlString=e=>{if(!c.string(e))return!1;try{return new URL(e),!0}catch(e){return!1}},c.truthy=e=>Boolean(e),c.falsy=e=>!e,c.nan=e=>Number.isNaN(e),c.primitive=e=>{return c.null_(e)||(t=typeof e,n.includes(t));var t},c.integer=e=>Number.isInteger(e),c.safeInteger=e=>Number.isSafeInteger(e),c.plainObject=e=>{if("[object Object]"!==i.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.getPrototypeOf({})},c.typedArray=e=>{return t=s(e),r.includes(t);var t};c.arrayLike=e=>!c.nullOrUndefined(e)&&!c.function_(e)&&(e=>c.safeInteger(e)&&e>=0)(e.length),c.inRange=(e,t)=>{if(c.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(c.array(t)&&2===t.length)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError("Invalid range: "+JSON.stringify(t))};const l=["innerHTML","ownerDocument","style","attributes","nodeValue"];c.domElement=e=>c.object(e)&&1===e.nodeType&&c.string(e.nodeName)&&!c.plainObject(e)&&l.every(t=>t in e),c.observable=e=>{var t,r,A,n;return!!e&&(e===(null===(r=(t=e)[Symbol.observable])||void 0===r?void 0:r.call(t))||e===(null===(n=(A=e)["@@observable"])||void 0===n?void 0:n.call(A)))},c.nodeStream=e=>c.object(e)&&c.function_(e.pipe)&&!c.observable(e),c.infinite=e=>e===1/0||e===-1/0;const u=e=>t=>c.integer(t)&&Math.abs(t%2)===e;c.evenInteger=u(0),c.oddInteger=u(1),c.emptyArray=e=>c.array(e)&&0===e.length,c.nonEmptyArray=e=>c.array(e)&&e.length>0,c.emptyString=e=>c.string(e)&&0===e.length,c.nonEmptyString=e=>c.string(e)&&e.length>0;c.emptyStringOrWhitespace=e=>c.emptyString(e)||(e=>c.string(e)&&!/\S/.test(e))(e),c.emptyObject=e=>c.object(e)&&!c.map(e)&&!c.set(e)&&0===Object.keys(e).length,c.nonEmptyObject=e=>c.object(e)&&!c.map(e)&&!c.set(e)&&Object.keys(e).length>0,c.emptySet=e=>c.set(e)&&0===e.size,c.nonEmptySet=e=>c.set(e)&&e.size>0,c.emptyMap=e=>c.map(e)&&0===e.size,c.nonEmptyMap=e=>c.map(e)&&e.size>0;const h=(e,t,r)=>{if(!c.function_(t))throw new TypeError("Invalid predicate: "+JSON.stringify(t));if(0===r.length)throw new TypeError("Invalid number of values");return e.call(r,t)};c.any=(e,...t)=>(c.array(e)?e:[e]).some(e=>h(Array.prototype.some,e,t)),c.all=(e,...t)=>h(Array.prototype.every,e,t);const p=(e,t,r)=>{if(!e)throw new TypeError(`Expected value which is \`${t}\`, received value of type \`${c(r)}\`.`)};t.assert={undefined:e=>p(c.undefined(e),"undefined",e),string:e=>p(c.string(e),"string",e),number:e=>p(c.number(e),"number",e),bigint:e=>p(c.bigint(e),"bigint",e),function_:e=>p(c.function_(e),"Function",e),null_:e=>p(c.null_(e),"null",e),class_:e=>p(c.class_(e),"Class",e),boolean:e=>p(c.boolean(e),"boolean",e),symbol:e=>p(c.symbol(e),"symbol",e),numericString:e=>p(c.numericString(e),"string with a number",e),array:(e,t)=>{p(c.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>p(c.buffer(e),"Buffer",e),nullOrUndefined:e=>p(c.nullOrUndefined(e),"null or undefined",e),object:e=>p(c.object(e),"Object",e),iterable:e=>p(c.iterable(e),"Iterable",e),asyncIterable:e=>p(c.asyncIterable(e),"AsyncIterable",e),generator:e=>p(c.generator(e),"Generator",e),asyncGenerator:e=>p(c.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>p(c.nativePromise(e),"native Promise",e),promise:e=>p(c.promise(e),"Promise",e),generatorFunction:e=>p(c.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>p(c.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>p(c.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>p(c.boundFunction(e),"Function",e),regExp:e=>p(c.regExp(e),"RegExp",e),date:e=>p(c.date(e),"Date",e),error:e=>p(c.error(e),"Error",e),map:e=>p(c.map(e),"Map",e),set:e=>p(c.set(e),"Set",e),weakMap:e=>p(c.weakMap(e),"WeakMap",e),weakSet:e=>p(c.weakSet(e),"WeakSet",e),int8Array:e=>p(c.int8Array(e),"Int8Array",e),uint8Array:e=>p(c.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>p(c.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>p(c.int16Array(e),"Int16Array",e),uint16Array:e=>p(c.uint16Array(e),"Uint16Array",e),int32Array:e=>p(c.int32Array(e),"Int32Array",e),uint32Array:e=>p(c.uint32Array(e),"Uint32Array",e),float32Array:e=>p(c.float32Array(e),"Float32Array",e),float64Array:e=>p(c.float64Array(e),"Float64Array",e),bigInt64Array:e=>p(c.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>p(c.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>p(c.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>p(c.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>p(c.dataView(e),"DataView",e),urlInstance:e=>p(c.urlInstance(e),"URL",e),urlString:e=>p(c.urlString(e),"string with a URL",e),truthy:e=>p(c.truthy(e),"truthy",e),falsy:e=>p(c.falsy(e),"falsy",e),nan:e=>p(c.nan(e),"NaN",e),primitive:e=>p(c.primitive(e),"primitive",e),integer:e=>p(c.integer(e),"integer",e),safeInteger:e=>p(c.safeInteger(e),"integer",e),plainObject:e=>p(c.plainObject(e),"plain object",e),typedArray:e=>p(c.typedArray(e),"TypedArray",e),arrayLike:e=>p(c.arrayLike(e),"array-like",e),domElement:e=>p(c.domElement(e),"HTMLElement",e),observable:e=>p(c.observable(e),"Observable",e),nodeStream:e=>p(c.nodeStream(e),"Node.js Stream",e),infinite:e=>p(c.infinite(e),"infinite number",e),emptyArray:e=>p(c.emptyArray(e),"empty array",e),nonEmptyArray:e=>p(c.nonEmptyArray(e),"non-empty array",e),emptyString:e=>p(c.emptyString(e),"empty string",e),nonEmptyString:e=>p(c.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>p(c.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>p(c.emptyObject(e),"empty object",e),nonEmptyObject:e=>p(c.nonEmptyObject(e),"non-empty object",e),emptySet:e=>p(c.emptySet(e),"empty set",e),nonEmptySet:e=>p(c.nonEmptySet(e),"non-empty set",e),emptyMap:e=>p(c.emptyMap(e),"empty map",e),nonEmptyMap:e=>p(c.nonEmptyMap(e),"non-empty map",e),evenInteger:e=>p(c.evenInteger(e),"even integer",e),oddInteger:e=>p(c.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>p(c.directInstanceOf(e,t),"T",e),inRange:(e,t)=>p(c.inRange(e,t),"in range",e),any:(e,...t)=>p(c.any(e,...t),"predicate returns truthy for any value",t),all:(e,...t)=>p(c.all(e,...t),"predicate returns truthy for all values",t)},Object.defineProperties(c,{class:{value:c.class_},function:{value:c.function_},null:{value:c.null_}}),Object.defineProperties(t.assert,{class:{value:t.assert.class_},function:{value:t.assert.function_},null:{value:t.assert.null_}}),t.default=c,e.exports=c,e.exports.default=c,e.exports.assert=t.assert},98298:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(93121),n=Number(process.versions.node.split(".")[0]),o=e=>{const t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;const r=e=>{const r=e.emit.bind(e);e.emit=(A,...n)=>("error"===A&&(t.error=Date.now(),t.phases.total=t.error-t.start,e.emit=r),r(A,...n))};r(e),e.prependOnceListener("abort",()=>{t.abort=Date.now(),(!t.response||n>=13)&&(t.phases.total=Date.now()-t.start)});const o=e=>{t.socket=Date.now(),t.phases.wait=t.socket-t.start;const r=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};e.prependOnceListener("lookup",r),A.default(e,{connect:()=>{t.connect=Date.now(),void 0===t.lookup&&(e.removeListener("lookup",r),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?o(e.socket):e.prependOnceListener("socket",o);const i=()=>{var e;t.upload=Date.now(),t.phases.request=t.upload-(null!=(e=t.secureConnect)?e:t.connect)};return("boolean"==typeof e.writableFinished?!e.writableFinished:!e.finished||0!==e.outputSize||e.socket&&0!==e.socket.writableLength)?e.prependOnceListener("finish",i):i(),e.prependOnceListener("response",e=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,e.timings=t,r(e),e.prependOnceListener("end",()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start})}),t};t.default=o,e.exports=o,e.exports.default=o},58069:(e,t,r)=>{"use strict";l.ifExists=function(e,t,r){return l(e,t,r).catch(()=>{})};const A=r(31669),n=r(46227),o=r(85622),i=r(97369),s=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,a={createPwshFile:!0,createCmdFile:i(),fs:r(35747)},c=new Map([[".js","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function g(e){const t={...a,...e},r=t.fs;return t.fs_={chmod:r.chmod?A.promisify(r.chmod):async()=>{},stat:A.promisify(r.stat),unlink:A.promisify(r.unlink),readFile:A.promisify(r.readFile),writeFile:A.promisify(r.writeFile)},t}async function l(e,t,r){const A=g(r);await A.fs_.stat(e),await async function(e,t,r){const A=await async function(e,t){const r=await t.fs_.readFile(e,"utf8"),A=r.trim().split(/\r*\n/)[0].match(s);if(!A){const t=o.extname(e).toLowerCase();return{program:c.get(t)||null,additionalArgs:""}}return{program:A[1],additionalArgs:A[2]}}(e,r);return await function(e,t){return n(o.dirname(e),{fs:t.fs})}(t,r),function(e,t,r,A){const n=g(A),o=[{generator:h,extension:""}];n.createCmdFile&&o.push({generator:u,extension:".cmd"});n.createPwshFile&&o.push({generator:p,extension:".ps1"});return Promise.all(o.map(A=>async function(e,t,r,A,n){const o=n.preserveSymlinks?"--preserve-symlinks":"",i=[r.additionalArgs,o].filter(e=>e).join(" ");return n=Object.assign({},n,{prog:r.program,args:i}),await function(e,t){return function(e,t){return t.fs_.unlink(e).catch(()=>{})}(e,t)}(t,n),await n.fs_.writeFile(t,A(e,t,n),"utf8"),function(e,t){return function(e,t){return t.fs_.chmod(e,493)}(e,t)}(t,n)}(e,t+A.extension,r,A.generator,n)))}(e,t,A,r)}(e,t,A)}function u(e,t,r){let A=o.relative(o.dirname(t),e).split("/").join("\\");const n=o.isAbsolute(A)?`"${A}"`:`"%~dp0\\${A}"`;let i,s=r.prog,a=r.args||"";const c=d(r.nodePath).win32;s?(i=`"%~dp0\\${s}.exe"`,A=n):(s=n,a="",A="");let g=r.progArgs?r.progArgs.join(" ")+" ":"",l=c?`@SET NODE_PATH=${c}\r\n`:"";return l+=i?`@IF EXIST ${i} (\r\n ${i} ${a} ${A} ${g}%*\r\n) ELSE (\r\n @SETLOCAL\r\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r\n ${s} ${a} ${A} ${g}%*\r\n)`:`@${s} ${a} ${A} ${g}%*\r\n`,l}function h(e,t,r){let A,n=o.relative(o.dirname(t),e),i=r.prog&&r.prog.split("\\").join("/");n=n.split("\\").join("/");const s=o.isAbsolute(n)?`"${n}"`:`"$basedir/${n}"`;let a=r.args||"";const c=d(r.nodePath).posix;i?(A=`"$basedir/${r.prog}"`,n=s):(i=s,a="",n="");let g=r.progArgs?r.progArgs.join(" ")+" ":"",l="#!/bin/sh\n";l+='basedir=$(dirname "$(echo "$0" | sed -e \'s,\\\\,/,g\')")\n\ncase `uname` in\n *CYGWIN*) basedir=`cygpath -w "$basedir"`;;\nesac\n\n';const u=r.nodePath?`export NODE_PATH="${c}"\n`:"";return l+=A?u+`if [ -x ${A} ]; then\n`+` exec ${A} ${a} ${n} ${g}"$@"\nelse \n`+` exec ${i} ${a} ${n} ${g}"$@"\nfi\n`:`${u}${i} ${a} ${n} ${g}"$@"\nexit $?\n`,l}function p(e,t,r){let A=o.relative(o.dirname(t),e);const n=r.prog&&r.prog.split("\\").join("/");let i,s=n&&`"${n}$exe"`;A=A.split("\\").join("/");const a=o.isAbsolute(A)?`"${A}"`:`"$basedir/${A}"`;let c=r.args||"",g=d(r.nodePath);const l=g.win32,u=g.posix;s?(i=`"$basedir/${r.prog}$exe"`,A=a):(s=a,c="",A="");let h=r.progArgs?r.progArgs.join(" ")+" ":"",p='#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=""\n'+(r.nodePath?`$env_node_path=$env:NODE_PATH\n$env:NODE_PATH="${l}"\n`:"")+'if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {\n # Fix case when both the Windows and Linux builds of Node\n # are installed in the same directory\n $exe=".exe"\n}';return r.nodePath&&(p=p+" else {\n"+` $env:NODE_PATH="${u}"\n}`),p+="\n",p=i?p+"$ret=0\n"+`if (Test-Path ${i}) {\n # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n`+` $input | & ${i} ${c} ${A} ${h}$args\n } else {\n`+` & ${i} ${c} ${A} ${h}$args\n }\n $ret=$LASTEXITCODE\n} else {\n # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n`+` $input | & ${s} ${c} ${A} ${h}$args\n } else {\n`+` & ${s} ${c} ${A} ${h}$args\n }\n $ret=$LASTEXITCODE\n}\n`+(r.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $ret\n":p+"# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n"+` $input | & ${s} ${c} ${A} ${h}$args\n} else {\n`+` & ${s} ${c} ${A} ${h}$args\n}\n`+(r.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $LASTEXITCODE\n",p}function d(e){if(!e)return{win32:"",posix:""};let t="string"==typeof e?e.split(o.delimiter):Array.from(e),r={};for(let e=0;e"/mnt/"+t.toLowerCase()):t[e];r.win32=r.win32?`${r.win32};${A}`:A,r.posix=r.posix?`${r.posix}:${n}`:n,r[e]={win32:A,posix:n}}return r}e.exports=l},97991:(e,t,r)=>{"use strict";const A=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,n=()=>{const e={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(e.enabled="0"!==process.env.FORCE_COLOR);const t=(e,t,r)=>"function"==typeof e?e(t):e.wrap(t,r),n=(r,A)=>{if(""===r||null==r)return"";if(!1===e.enabled)return r;if(!1===e.visible)return"";let n=""+r,o=n.includes("\n"),i=A.length;for(i>0&&A.includes("unstyle")&&(A=[...new Set(["unstyle",...A])].reverse());i-- >0;)n=t(e.styles[A[i]],n,o);return n},o=(t,r,A)=>{e.styles[t]=(e=>{let t=e.open=`[${e.codes[0]}m`,r=e.close=`[${e.codes[1]}m`,A=e.regex=new RegExp(`\\u001b\\[${e.codes[1]}m`,"g");return e.wrap=(e,n)=>{e.includes(r)&&(e=e.replace(A,r+t));let o=t+e+r;return n?o.replace(/\r*\n/g,`${r}$&${t}`):o},e})({name:t,codes:r}),(e.keys[A]||(e.keys[A]=[])).push(t),Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,set(r){e.alias(t,r)},get(){let r=e=>n(e,r.stack);return Reflect.setPrototypeOf(r,e),r.stack=this.stack?this.stack.concat(t):[t],r}})};return o("reset",[0,0],"modifier"),o("bold",[1,22],"modifier"),o("dim",[2,22],"modifier"),o("italic",[3,23],"modifier"),o("underline",[4,24],"modifier"),o("inverse",[7,27],"modifier"),o("hidden",[8,28],"modifier"),o("strikethrough",[9,29],"modifier"),o("black",[30,39],"color"),o("red",[31,39],"color"),o("green",[32,39],"color"),o("yellow",[33,39],"color"),o("blue",[34,39],"color"),o("magenta",[35,39],"color"),o("cyan",[36,39],"color"),o("white",[37,39],"color"),o("gray",[90,39],"color"),o("grey",[90,39],"color"),o("bgBlack",[40,49],"bg"),o("bgRed",[41,49],"bg"),o("bgGreen",[42,49],"bg"),o("bgYellow",[43,49],"bg"),o("bgBlue",[44,49],"bg"),o("bgMagenta",[45,49],"bg"),o("bgCyan",[46,49],"bg"),o("bgWhite",[47,49],"bg"),o("blackBright",[90,39],"bright"),o("redBright",[91,39],"bright"),o("greenBright",[92,39],"bright"),o("yellowBright",[93,39],"bright"),o("blueBright",[94,39],"bright"),o("magentaBright",[95,39],"bright"),o("cyanBright",[96,39],"bright"),o("whiteBright",[97,39],"bright"),o("bgBlackBright",[100,49],"bgBright"),o("bgRedBright",[101,49],"bgBright"),o("bgGreenBright",[102,49],"bgBright"),o("bgYellowBright",[103,49],"bgBright"),o("bgBlueBright",[104,49],"bgBright"),o("bgMagentaBright",[105,49],"bgBright"),o("bgCyanBright",[106,49],"bgBright"),o("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=A,e.hasColor=e.hasAnsi=t=>(e.ansiRegex.lastIndex=0,"string"==typeof t&&""!==t&&e.ansiRegex.test(t)),e.alias=(t,r)=>{let A="string"==typeof r?e[r]:r;if("function"!=typeof A)throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:t}),e.styles[t]=A,A.stack=[t]),Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,set(r){e.alias(t,r)},get(){let t=e=>n(e,t.stack);return Reflect.setPrototypeOf(t,e),t.stack=this.stack?this.stack.concat(A.stack):A.stack,t}})},e.theme=t=>{if(null===(r=t)||"object"!=typeof r||Array.isArray(r))throw new TypeError("Expected theme to be an object");var r;for(let r of Object.keys(t))e.alias(r,t[r]);return e},e.alias("unstyle",t=>"string"==typeof t&&""!==t?(e.ansiRegex.lastIndex=0,t.replace(e.ansiRegex,"")):""),e.alias("noop",e=>e),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=r(31283),e.define=o,e};e.exports=n(),e.exports.create=n},31283:e=>{"use strict";const t="Hyper"===process.env.TERM_PROGRAM,r="win32"===process.platform,A="linux"===process.platform,n={ballotDisabled:"☒",ballotOff:"☐",ballotOn:"☑",bullet:"•",bulletWhite:"◦",fullBlock:"█",heart:"❤",identicalTo:"≡",line:"─",mark:"※",middot:"·",minus:"-",multiplication:"×",obelus:"÷",pencilDownRight:"✎",pencilRight:"✏",pencilUpRight:"✐",percent:"%",pilcrow2:"❡",pilcrow:"¶",plusMinus:"±",section:"§",starsOff:"☆",starsOn:"★",upDownArrow:"↕"},o=Object.assign({},n,{check:"√",cross:"×",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"»",radioOff:"( )",radioOn:"(*)",warning:"‼"}),i=Object.assign({},n,{ballotCross:"✘",check:"✔",cross:"✖",ellipsisLarge:"⋯",ellipsis:"…",info:"ℹ",question:"?",questionFull:"?",questionSmall:"﹖",pointer:A?"▸":"❯",pointerSmall:A?"‣":"›",radioOff:"◯",radioOn:"◉",warning:"⚠"});e.exports=r&&!t?o:i,Reflect.defineProperty(e.exports,"common",{enumerable:!1,value:n}),Reflect.defineProperty(e.exports,"windows",{enumerable:!1,value:o}),Reflect.defineProperty(e.exports,"other",{enumerable:!1,value:i})},18483:(e,t,r)=>{"use strict";e=r.nmd(e);const A=(e,t)=>(...r)=>`[${e(...r)+t}m`,n=(e,t)=>(...r)=>{const A=e(...r);return`[${38+t};5;${A}m`},o=(e,t)=>(...r)=>{const A=e(...r);return`[${38+t};2;${A[0]};${A[1]};${A[2]}m`},i=e=>e,s=(e,t,r)=>[e,t,r],a=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{const A=r();return Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0}),A},enumerable:!0,configurable:!0})};let c;const g=(e,t,A,n)=>{void 0===c&&(c=r(2744));const o=n?10:0,i={};for(const[r,n]of Object.entries(c)){const s="ansi16"===r?"ansi":r;r===t?i[s]=e(A,o):"object"==typeof n&&(i[s]=e(n[t],o))}return i};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(const[r,A]of Object.entries(t)){for(const[r,n]of Object.entries(A))t[r]={open:`[${n[0]}m`,close:`[${n[1]}m`},A[r]=t[r],e.set(n[0],n[1]);Object.defineProperty(t,r,{value:A,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="",t.bgColor.close="",a(t.color,"ansi",()=>g(A,"ansi16",i,!1)),a(t.color,"ansi256",()=>g(n,"ansi256",i,!1)),a(t.color,"ansi16m",()=>g(o,"rgb",s,!1)),a(t.bgColor,"ansi",()=>g(A,"ansi16",i,!0)),a(t.bgColor,"ansi256",()=>g(n,"ansi256",i,!0)),a(t.bgColor,"ansi16m",()=>g(o,"rgb",s,!0)),t}})},39920:e=>{"use strict";e.exports=(...e)=>[...new Set([].concat(...e))]},67648:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBinjumper=void 0;const A=r(78761);let n=null;t.getBinjumper=function(){return n||(n=A.gunzipSync(Buffer.from("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","base64"))),n}},50730:(e,t,r)=>{"use strict";t.O9=void 0;const A=r(85622),n=r(35747),o=r(31669),i=r(67648);Object.defineProperty(t,"O9",{enumerable:!0,get:function(){return i.getBinjumper}})},73975:(e,t,r)=>{"use strict";var A=r(86897).Duplex;function n(e){if(!(this instanceof n))return new n(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var t=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",(function(e){e.on("error",t)})),this.on("unpipe",(function(e){e.removeListener("error",t)}))}else this.append(e);A.call(this)}r(31669).inherits(n,A),n.prototype._offset=function(e){var t,r=0,A=0;if(0===e)return[0,0];for(;Athis.length||e<0)){var t=this._offset(e);return this._bufs[t[0]][t[1]]}},n.prototype.slice=function(e,t){return"number"==typeof e&&e<0&&(e+=this.length),"number"==typeof t&&t<0&&(t+=this.length),this.copy(null,0,e,t)},n.prototype.copy=function(e,t,r,A){if(("number"!=typeof r||r<0)&&(r=0),("number"!=typeof A||A>this.length)&&(A=this.length),r>=this.length)return e||Buffer.alloc(0);if(A<=0)return e||Buffer.alloc(0);var n,o,i=!!e,s=this._offset(r),a=A-r,c=a,g=i&&t||0,l=s[1];if(0===r&&A==this.length){if(!i)return 1===this._bufs.length?this._bufs[0]:Buffer.concat(this._bufs,this.length);for(o=0;o(n=this._bufs[o].length-l))){this._bufs[o].copy(e,g,l,l+c);break}this._bufs[o].copy(e,g,l),g+=n,c-=n,l&&(l=0)}return e},n.prototype.shallowSlice=function(e,t){if(e=e||0,t="number"!=typeof t?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return new n;var r=this._offset(e),A=this._offset(t),o=this._bufs.slice(r[0],A[0]+1);return 0==A[1]?o.pop():o[o.length-1]=o[o.length-1].slice(0,A[1]),0!=r[1]&&(o[0]=o[0].slice(r[1])),new n(o)},n.prototype.toString=function(e,t,r){return this.slice(t,r).toString(e)},n.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},n.prototype.duplicate=function(){for(var e=0,t=new n;ethis.length?this.length:t;for(var A=this._offset(t),o=A[0],i=A[1];o=e.length){var a=s.indexOf(e,i);if(-1!==a)return this._reverseOffset([o,a]);i=s.length-e.length+1}else{var c=this._reverseOffset([o,i]);if(this._match(c,e))return c;i++}}i=0}return-1},n.prototype._match=function(e,t){if(this.length-e{"use strict";const A=r(54900),n=r(44617),o=r(1495),i=r(425),s=(e,t={})=>{let r=[];if(Array.isArray(e))for(let A of e){let e=s.create(A,t);Array.isArray(e)?r.push(...e):r.push(e)}else r=[].concat(s.create(e,t));return t&&!0===t.expand&&!0===t.nodupes&&(r=[...new Set(r)]),r};s.parse=(e,t={})=>i(e,t),s.stringify=(e,t={})=>A("string"==typeof e?s.parse(e,t):e,t),s.compile=(e,t={})=>("string"==typeof e&&(e=s.parse(e,t)),n(e,t)),s.expand=(e,t={})=>{"string"==typeof e&&(e=s.parse(e,t));let r=o(e,t);return!0===t.noempty&&(r=r.filter(Boolean)),!0===t.nodupes&&(r=[...new Set(r)]),r},s.create=(e,t={})=>""===e||e.length<3?[e]:!0!==t.expand?s.compile(e,t):s.expand(e,t),e.exports=s},44617:(e,t,r)=>{"use strict";const A=r(52169),n=r(4542);e.exports=(e,t={})=>{let r=(e,o={})=>{let i=n.isInvalidBrace(o),s=!0===e.invalid&&!0===t.escapeInvalid,a=!0===i||!0===s,c=!0===t.escapeInvalid?"\\":"",g="";if(!0===e.isOpen)return c+e.value;if(!0===e.isClose)return c+e.value;if("open"===e.type)return a?c+e.value:"(";if("close"===e.type)return a?c+e.value:")";if("comma"===e.type)return"comma"===e.prev.type?"":a?e.value:"|";if(e.value)return e.value;if(e.nodes&&e.ranges>0){let r=n.reduce(e.nodes),o=A(...r,{...t,wrap:!1,toRegex:!0});if(0!==o.length)return r.length>1&&o.length>1?`(${o})`:o}if(e.nodes)for(let t of e.nodes)g+=r(t,e);return g};return r(e)}},5384:e=>{"use strict";e.exports={MAX_LENGTH:65536,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:"\n",CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"}},1495:(e,t,r)=>{"use strict";const A=r(52169),n=r(54900),o=r(4542),i=(e="",t="",r=!1)=>{let A=[];if(e=[].concat(e),!(t=[].concat(t)).length)return e;if(!e.length)return r?o.flatten(t).map(e=>`{${e}}`):t;for(let n of e)if(Array.isArray(n))for(let e of n)A.push(i(e,t,r));else for(let e of t)!0===r&&"string"==typeof e&&(e=`{${e}}`),A.push(Array.isArray(e)?i(n,e,r):n+e);return o.flatten(A)};e.exports=(e,t={})=>{let r=void 0===t.rangeLimit?1e3:t.rangeLimit,s=(e,a={})=>{e.queue=[];let c=a,g=a.queue;for(;"brace"!==c.type&&"root"!==c.type&&c.parent;)c=c.parent,g=c.queue;if(e.invalid||e.dollar)return void g.push(i(g.pop(),n(e,t)));if("brace"===e.type&&!0!==e.invalid&&2===e.nodes.length)return void g.push(i(g.pop(),["{}"]));if(e.nodes&&e.ranges>0){let s=o.reduce(e.nodes);if(o.exceedsLimit(...s,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let a=A(...s,t);return 0===a.length&&(a=n(e,t)),g.push(i(g.pop(),a)),void(e.nodes=[])}let l=o.encloseBrace(e),u=e.queue,h=e;for(;"brace"!==h.type&&"root"!==h.type&&h.parent;)h=h.parent,u=h.queue;for(let t=0;t{"use strict";const A=r(54900),{MAX_LENGTH:n,CHAR_BACKSLASH:o,CHAR_BACKTICK:i,CHAR_COMMA:s,CHAR_DOT:a,CHAR_LEFT_PARENTHESES:c,CHAR_RIGHT_PARENTHESES:g,CHAR_LEFT_CURLY_BRACE:l,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_RIGHT_SQUARE_BRACKET:p,CHAR_DOUBLE_QUOTE:d,CHAR_SINGLE_QUOTE:C,CHAR_NO_BREAK_SPACE:f,CHAR_ZERO_WIDTH_NOBREAK_SPACE:I}=r(5384);e.exports=(e,t={})=>{if("string"!=typeof e)throw new TypeError("Expected a string");let r=t||{},E="number"==typeof r.maxLength?Math.min(n,r.maxLength):n;if(e.length>E)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${E})`);let B,y={type:"root",input:e,nodes:[]},m=[y],w=y,Q=y,D=0,b=e.length,v=0,S=0;const k=()=>e[v++],K=e=>{if("text"===e.type&&"dot"===Q.type&&(Q.type="text"),!Q||"text"!==Q.type||"text"!==e.type)return w.nodes.push(e),e.parent=w,e.prev=Q,Q=e,e;Q.value+=e.value};for(K({type:"bos"});v0){if(w.ranges>0){w.ranges=0;let e=w.nodes.shift();w.nodes=[e,{type:"text",value:A(w)}]}K({type:"comma",value:B}),w.commas++}else if(B===a&&S>0&&0===w.commas){let e=w.nodes;if(0===S||0===e.length){K({type:"text",value:B});continue}if("dot"===Q.type){if(w.range=[],Q.value+=B,Q.type="range",3!==w.nodes.length&&5!==w.nodes.length){w.invalid=!0,w.ranges=0,Q.type="text";continue}w.ranges++,w.args=[];continue}if("range"===Q.type){e.pop();let t=e[e.length-1];t.value+=Q.value+B,Q=t,w.ranges--;continue}K({type:"dot",value:B})}else K({type:"text",value:B});else{if("brace"!==w.type){K({type:"text",value:B});continue}let e="close";w=m.pop(),w.close=!0,K({type:e,value:B}),S--,w=m[m.length-1]}else{S++;let e=Q.value&&"$"===Q.value.slice(-1)||!0===w.dollar;w=K({type:"brace",open:!0,close:!1,dollar:e,depth:S,commas:0,ranges:0,nodes:[]}),m.push(w),K({type:"open",value:B})}else{let e,r=B;for(!0!==t.keepQuotes&&(B="");v{e.nodes||("open"===e.type&&(e.isOpen=!0),"close"===e.type&&(e.isClose=!0),e.nodes||(e.type="text"),e.invalid=!0)});let e=m[m.length-1],t=e.nodes.indexOf(w);e.nodes.splice(t,1,...w.nodes)}}while(m.length>0);return K({type:"eos"}),y}},54900:(e,t,r)=>{"use strict";const A=r(4542);e.exports=(e,t={})=>{let r=(e,n={})=>{let o=t.escapeInvalid&&A.isInvalidBrace(n),i=!0===e.invalid&&!0===t.escapeInvalid,s="";if(e.value)return(o||i)&&A.isOpenOrClose(e)?"\\"+e.value:e.value;if(e.value)return e.value;if(e.nodes)for(let t of e.nodes)s+=r(t);return s};return r(e)}},4542:(e,t)=>{"use strict";t.isInteger=e=>"number"==typeof e?Number.isInteger(e):"string"==typeof e&&""!==e.trim()&&Number.isInteger(Number(e)),t.find=(e,t)=>e.nodes.find(e=>e.type===t),t.exceedsLimit=(e,r,A=1,n)=>!1!==n&&(!(!t.isInteger(e)||!t.isInteger(r))&&(Number(r)-Number(e))/Number(A)>=n),t.escapeNode=(e,t=0,r)=>{let A=e.nodes[t];A&&(r&&A.type===r||"open"===A.type||"close"===A.type)&&!0!==A.escaped&&(A.value="\\"+A.value,A.escaped=!0)},t.encloseBrace=e=>"brace"===e.type&&(e.commas>>0+e.ranges>>0==0&&(e.invalid=!0,!0)),t.isInvalidBrace=e=>"brace"===e.type&&(!(!0!==e.invalid&&!e.dollar)||(e.commas>>0+e.ranges>>0==0||!0!==e.open||!0!==e.close)&&(e.invalid=!0,!0)),t.isOpenOrClose=e=>"open"===e.type||"close"===e.type||(!0===e.open||!0===e.close),t.reduce=e=>e.reduce((e,t)=>("text"===t.type&&e.push(t.value),"range"===t.type&&(t.type="text"),e),[]),t.flatten=(...e)=>{const t=[],r=e=>{for(let A=0;A{"use strict";const{V4MAPPED:A,ADDRCONFIG:n,ALL:o,promises:{Resolver:i},lookup:s}=r(40881),{promisify:a}=r(31669),c=r(12087),g=Symbol("cacheableLookupCreateConnection"),l=Symbol("cacheableLookupInstance"),u=Symbol("expires"),h="number"==typeof o,p=e=>{if(!e||"function"!=typeof e.createConnection)throw new Error("Expected an Agent instance as the first argument")},d=()=>{let e=!1,t=!1;for(const r of Object.values(c.networkInterfaces()))for(const A of r)if(!A.internal&&("IPv6"===A.family?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},C={ttl:!0},f={all:!0};class I{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:r=3600,errorTtl:A=.15,resolver:n=new i,lookup:o=s}={}){if(this.maxTtl=t,this.errorTtl=A,this._cache=e,this._resolver=n,this._dnsLookup=a(o),this._resolver instanceof i?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=a(this._resolver.resolve4.bind(this._resolver)),this._resolve6=a(this._resolver.resolve6.bind(this._resolver))),this._iface=d(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,r<1)this._fallback=!1;else{this._fallback=!0;const e=setInterval(()=>{this._hostnamesToFallback.clear()},1e3*r);e.unref&&e.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,r){if("function"==typeof t?(r=t,t={}):"number"==typeof t&&(t={family:t}),!r)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(e=>{t.all?r(null,e):r(null,e.address,e.family,e.expires,e.ttl)},r)}async lookupAsync(e,t={}){"number"==typeof t&&(t={family:t});let r=await this.query(e);if(6===t.family){const e=r.filter(e=>6===e.family);t.hints&A&&(h&&t.hints&o||0===e.length)?(e=>{for(const t of e)6!==t.family&&(t.address="::ffff:"+t.address,t.family=6)})(r):r=e}else 4===t.family&&(r=r.filter(e=>4===e.family));if(t.hints&n){const{_iface:e}=this;r=r.filter(t=>6===t.family?e.has6:e.has4)}if(0===r.length){const t=new Error("cacheableLookup ENOTFOUND "+e);throw t.code="ENOTFOUND",t.hostname=e,t}return t.all?r:r[0]}async query(e){let t=await this._cache.get(e);if(!t){const r=this._pending[e];if(r)t=await r;else{const r=this.queryAndCache(e);this._pending[e]=r,t=await r}}return t=t.map(e=>({...e})),t}async _resolve(e){const[t,r]=await Promise.all([this._resolve4(e,C),this._resolve6(e,C)].map(e=>(async e=>{try{return await e}catch(e){if("ENODATA"===e.code||"ENOTFOUND"===e.code)return[];throw e}})(e)));let A=0,n=0,o=0;const i=Date.now();for(const e of t)e.family=4,e.expires=i+1e3*e.ttl,A=Math.max(A,e.ttl);for(const e of r)e.family=6,e.expires=i+1e3*e.ttl,n=Math.max(n,e.ttl);return o=t.length>0?r.length>0?Math.min(A,n):A:n,{entries:[...t,...r],cacheTtl:o}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(e){return{entries:[],cacheTtl:0}}}async _set(e,t,r){if(this.maxTtl>0&&r>0){r=1e3*Math.min(r,this.maxTtl),t[u]=Date.now()+r;try{await this._cache.set(e,t,r)}catch(e){this.lookupAsync=async()=>{const t=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw t.cause=e,t}}A=this._cache,Symbol.iterator in A&&this._tick(r)}var A}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,f);try{let t=await this._resolve(e);0===t.entries.length&&this._fallback&&(t=await this._lookup(e),0!==t.entries.length&&this._hostnamesToFallback.add(e));const r=0===t.entries.length?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,r),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){const t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let e=1/0;const t=Date.now();for(const[r,A]of this._cache){const n=A[u];t>=n?this._cache.delete(r):n("lookup"in t||(t.lookup=this.lookup),e[g](t,r))}uninstall(e){if(p(e),e[g]){if(e[l]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[g],delete e[g],delete e[l]}}updateInterfaceInfo(){const{_iface:e}=this;this._iface=d(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){e?this._cache.delete(e):this._cache.clear()}}e.exports=I,e.exports.default=I},11200:(e,t,r)=>{"use strict";const A=r(28614),n=r(78835),o=r(19793),i=r(58764),s=r(86834),a=r(48491),c=r(55737),g=r(15751),l=r(72515);class u{constructor(e,t){if("function"!=typeof e)throw new TypeError("Parameter `request` must be a function");return this.cache=new l({uri:"string"==typeof t&&t,store:"string"!=typeof t&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,r)=>{let l;if("string"==typeof t)l=p(n.parse(t)),t={};else if(t instanceof n.URL)l=p(n.parse(t.toString())),t={};else{const[e,...r]=(t.path||"").split("?"),A=r.length>0?"?"+r.join("?"):"";l=p({...t,pathname:e,search:A})}(t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...h(l)}).headers=c(t.headers);const d=new A,C=o(n.format(l),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),f=`${t.method}:${C}`;let I=!1,E=!1;const B=t=>{E=!0;let A,n=!1;const o=new Promise(e=>{A=()=>{n||(n=!0,e())}}),c=e=>{if(I&&!t.forceRefresh){e.status=e.statusCode;const r=s.fromObject(I.cachePolicy).revalidatedPolicy(t,e);if(!r.modified){const t=r.policy.responseHeaders();(e=new a(I.statusCode,t,I.body,I.url)).cachePolicy=r.policy,e.fromCache=!0}}let A;e.fromCache||(e.cachePolicy=new s(t,e,t),e.fromCache=!1),t.cache&&e.cachePolicy.storable()?(A=g(e),(async()=>{try{const r=i.buffer(e);if(await Promise.race([o,new Promise(t=>e.once("end",t))]),n)return;const A=await r,s={cachePolicy:e.cachePolicy.toObject(),url:e.url,statusCode:e.fromCache?I.statusCode:e.statusCode,body:A};let a=t.strictTtl?e.cachePolicy.timeToLive():void 0;t.maxTtl&&(a=a?Math.min(a,t.maxTtl):t.maxTtl),await this.cache.set(f,s,a)}catch(e){d.emit("error",new u.CacheError(e))}})()):t.cache&&I&&(async()=>{try{await this.cache.delete(f)}catch(e){d.emit("error",new u.CacheError(e))}})(),d.emit("response",A||e),"function"==typeof r&&r(A||e)};try{const r=e(t,c);r.once("error",A),r.once("abort",A),d.emit("request",r)}catch(e){d.emit("error",new u.RequestError(e))}};return(async()=>{const e=async e=>{await Promise.resolve();const t=e.cache?await this.cache.get(f):void 0;if(void 0===t)return B(e);const A=s.fromObject(t.cachePolicy);if(A.satisfiesWithoutRevalidation(e)&&!e.forceRefresh){const e=A.responseHeaders(),n=new a(t.statusCode,e,t.body,t.url);n.cachePolicy=A,n.fromCache=!0,d.emit("response",n),"function"==typeof r&&r(n)}else I=t,e.headers=A.revalidationHeaders(e),B(e)},A=e=>d.emit("error",new u.CacheError(e));this.cache.once("error",A),d.on("response",()=>this.cache.removeListener("error",A));try{await e(t)}catch(e){t.automaticFailover&&!E&&B(t),d.emit("error",new u.CacheError(e))}})(),d}}}function h(e){const t={...e};return t.path=`${e.pathname||"/"}${e.search||""}`,delete t.pathname,delete t.search,t}function p(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||"localhost",port:e.port,pathname:e.pathname,search:e.search}}u.RequestError=class extends Error{constructor(e){super(e.message),this.name="RequestError",Object.assign(this,e)}},u.CacheError=class extends Error{constructor(e){super(e.message),this.name="CacheError",Object.assign(this,e)}},e.exports=u},54738:e=>{"use strict";const t=(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);if(0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length)return"";if(1===e.length)return t.pascalCase?e.toUpperCase():e.toLowerCase();return e!==e.toLowerCase()&&(e=(e=>{let t=!1,r=!1,A=!1;for(let n=0;nt.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),r=e,t.pascalCase?r.charAt(0).toUpperCase()+r.slice(1):r;var r};e.exports=t,e.exports.default=t},95882:(e,t,r)=>{"use strict";const A=r(18483),{stdout:n,stderr:o}=r(59428),{stringReplaceAll:i,stringEncaseCRLFWithFirstIndex:s}=r(73327),a=["ansi","ansi","ansi256","ansi16m"],c=Object.create(null);class g{constructor(e){return l(e)}}const l=e=>{const t={};return((e,t={})=>{if(t.level>3||t.level<0)throw new Error("The `level` option should be an integer from 0 to 3");const r=n?n.level:0;e.level=void 0===t.level?r:t.level})(t,e),t.template=(...e)=>E(t.template,...e),Object.setPrototypeOf(t,u.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=g,t.template};function u(e){return l(e)}for(const[e,t]of Object.entries(A))c[e]={get(){const r=C(this,d(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};c.visible={get(){const e=C(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const h=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of h)c[e]={get(){const{level:t}=this;return function(...r){const n=d(A.color[a[t]][e](...r),A.color.close,this._styler);return C(this,n,this._isEmpty)}}};for(const e of h){c["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...r){const n=d(A.bgColor[a[t]][e](...r),A.bgColor.close,this._styler);return C(this,n,this._isEmpty)}}}}const p=Object.defineProperties(()=>{},{...c,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),d=(e,t,r)=>{let A,n;return void 0===r?(A=e,n=t):(A=r.openAll+e,n=t+r.closeAll),{open:e,close:t,openAll:A,closeAll:n,parent:r}},C=(e,t,r)=>{const A=(...e)=>f(A,1===e.length?""+e[0]:e.join(" "));return A.__proto__=p,A._generator=e,A._styler=t,A._isEmpty=r,A},f=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(void 0===r)return t;const{openAll:A,closeAll:n}=r;if(-1!==t.indexOf(""))for(;void 0!==r;)t=i(t,r.close,r.open),r=r.parent;const o=t.indexOf("\n");return-1!==o&&(t=s(t,n,A,o)),A+t+n};let I;const E=(e,...t)=>{const[A]=t;if(!Array.isArray(A))return t.join(" ");const n=t.slice(1),o=[A.raw[0]];for(let e=1;e{"use strict";const t=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,A=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,n=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function i(e){const t="u"===e[0],r="{"===e[1];return t&&!r&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function s(e,t){const r=[],o=t.trim().split(/\s*,\s*/g);let s;for(const t of o){const o=Number(t);if(Number.isNaN(o)){if(!(s=t.match(A)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);r.push(s[2].replace(n,(e,t,r)=>t?i(t):r))}else r.push(o)}return r}function a(e){r.lastIndex=0;const t=[];let A;for(;null!==(A=r.exec(e));){const e=A[1];if(A[2]){const r=s(e,A[2]);t.push([e].concat(r))}else t.push([e])}return t}function c(e,t){const r={};for(const e of t)for(const t of e.styles)r[t[0]]=e.inverse?null:t.slice(1);let A=e;for(const[e,t]of Object.entries(r))if(Array.isArray(t)){if(!(e in A))throw new Error("Unknown Chalk style: "+e);A=t.length>0?A[e](...t):A[e]}return A}e.exports=(e,r)=>{const A=[],n=[];let o=[];if(r.replace(t,(t,r,s,g,l,u)=>{if(r)o.push(i(r));else if(g){const t=o.join("");o=[],n.push(0===A.length?t:c(e,A)(t)),A.push({inverse:s,styles:a(g)})}else if(l){if(0===A.length)throw new Error("Found extraneous } in Chalk template literal");n.push(c(e,A)(o.join(""))),o=[],A.pop()}else o.push(u)}),n.push(o.join("")),A.length>0){const e=`Chalk template literal is missing ${A.length} closing bracket${1===A.length?"":"s"} (\`}\`)`;throw new Error(e)}return n.join("")}},73327:e=>{"use strict";e.exports={stringReplaceAll:(e,t,r)=>{let A=e.indexOf(t);if(-1===A)return e;const n=t.length;let o=0,i="";do{i+=e.substr(o,A-o)+t+r,o=A+n,A=e.indexOf(t,o)}while(-1!==A);return i+=e.substr(o),i},stringEncaseCRLFWithFirstIndex:(e,t,r,A)=>{let n=0,o="";do{const i="\r"===e[A-1];o+=e.substr(n,(i?A-1:A)-n)+t+(i?"\r\n":"\n")+r,n=A+1,A=e.indexOf("\n",n)}while(-1!==A);return o+=e.substr(n),o}}},5864:(e,t,r)=>{"use strict";var A=r(85832),n=process.env;function o(e){return"string"==typeof e?!!n[e]:Object.keys(e).every((function(t){return n[t]===e[t]}))}Object.defineProperty(t,"_vendors",{value:A.map((function(e){return e.constant}))}),t.name=null,t.isPR=null,A.forEach((function(e){var r=(Array.isArray(e.env)?e.env:[e.env]).every((function(e){return o(e)}));if(t[e.constant]=r,r)switch(t.name=e.name,typeof e.pr){case"string":t.isPR=!!n[e.pr];break;case"object":"env"in e.pr?t.isPR=e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?t.isPR=e.pr.any.some((function(e){return!!n[e]})):t.isPR=o(e.pr);break;default:t.isPR=null}})),t.isCI=!!(n.CI||n.CONTINUOUS_INTEGRATION||n.BUILD_NUMBER||n.RUN_ID||t.name)},85832:e=>{"use strict";e.exports=JSON.parse('[{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI","pr":"SYSTEM_PULLREQUEST_PULLREQUESTID"},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY_BUILD_BASE","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}}]')},40822:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Cli:()=>Y,Command:()=>M,UsageError:()=>a});const A=/^(-h|--help)(?:=([0-9]+))?$/,n=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,o=/^-[a-zA-Z]{2,}$/,i=/^([^=]+)=([\s\S]*)$/,s="1"===process.env.DEBUG_CLI;class a extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}}class c extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",0===this.candidates.length)this.message="Command not found, but we're not sure what's the alternative.";else if(1===this.candidates.length&&null!==this.candidates[0].reason){const[{usage:e,reason:t}]=this.candidates;this.message=`${t}\n\n$ ${e}`}else if(1===this.candidates.length){const[{usage:t}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${t}\n${l(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:e},t)=>`${(t+".").padStart(4)} ${e}`).join("\n")}\n\n${l(e)}`}}class g extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find who to pick amongst the following alternatives:\n\n${this.usages.map((e,t)=>`${(t+".").padStart(4)} ${e}`).join("\n")}\n\n${l(e)}`}}const l=e=>"While running "+e.filter(e=>"\0"!==e).map(e=>{const t=JSON.stringify(e);return e.match(/\s/)||0===e.length||t!==`"${e}"`?t:e}).join(" ");function u(e){s&&console.log(e)}const h={candidateUsage:null,errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function p(e,t){return e.nodes.push(t),e.nodes.length-1}function d(e,t,r=!1){u("Running a vm on "+JSON.stringify(t));let A=[{node:0,state:{candidateUsage:null,errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];!function(e,{prefix:t=""}={}){u(t+"Nodes are:");for(let r=0;r2!==e).map(({state:e})=>({usage:e.candidateUsage,reason:null})));if(s.every(({node:e})=>2===e))throw new c(t,s.map(({state:e})=>({usage:e.candidateUsage,reason:e.errorMessage})));A=I(s)}if(A.length>0){u(" Results:");for(const e of A)u(` - ${e.node} -> ${JSON.stringify(e.state)}`)}else u(" No results");return A}function C(e,t){if(null!==t.selectedIndex)return!0;if(Object.prototype.hasOwnProperty.call(e.statics,"\0"))for(const{to:t}of e.statics["\0"])if(1===t)return!0;return!1}function f(e,t){return function(e,t){const r=t.filter(e=>null!==e.selectedIndex);if(0===r.length)throw new Error;let A=0;for(const e of r)e.path.length>A&&(A=e.path.length);const n=r.filter(e=>e.path.length===A),o=e=>e.positionals.filter(({extra:e})=>!e).length+e.options.length,i=n.map(e=>({state:e,positionalCount:o(e)}));let s=0;for(const{positionalCount:e}of i)e>s&&(s=e);const a=function(e){const t=[],r=[];for(const A of e)-1===A.selectedIndex?r.push(A):t.push(A);r.length>0&&t.push(Object.assign(Object.assign({},h),{path:E(...r.map(e=>e.path)),options:r.reduce((e,t)=>e.concat(t.options),[])}));return t}(i.filter(({positionalCount:e})=>e===s).map(({state:e})=>e));if(a.length>1)throw new g(e,a.map(e=>e.candidateUsage));return a[0]}(t,d(e,[...t,"\0"]).map(({state:e})=>e))}function I(e){let t=0;for(const{state:r}of e)r.path.length>t&&(t=r.path.length);return e.filter(({state:e})=>e.path.length===t)}function E(e,t,...r){return void 0===t?Array.from(e):E(e.filter((e,r)=>e===t[r]),...r)}function B(e){return 1===e||2===e}function y(e,t=0){return{to:B(e.to)?e.to:e.to>2?e.to+t-2:e.to+t,reducer:e.reducer}}function m(e,t=0){const r={dynamics:[],shortcuts:[],statics:{}};for(const[A,n]of e.dynamics)r.dynamics.push([A,y(n,t)]);for(const A of e.shortcuts)r.shortcuts.push(y(A,t));for(const[A,n]of Object.entries(e.statics))r.statics[A]=n.map(e=>y(e,t));return r}function w(e,t,r,A,n){e.nodes[t].dynamics.push([r,{to:A,reducer:n}])}function Q(e,t,r,A){e.nodes[t].shortcuts.push({to:r,reducer:A})}function D(e,t,r,A,n){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,r)?e.nodes[t].statics[r]:e.nodes[t].statics[r]=[]).push({to:A,reducer:n})}function b(e,t,r,A){if(Array.isArray(t)){const[n,...o]=t;return e[n](r,A,...o)}return e[t](r,A)}function v(e,t){const r=Array.isArray(e)?S[e[0]]:S[e];if(void 0===r.suggest)return null;const A=Array.isArray(e)?e.slice(1):[];return r.suggest(t,...A)}const S={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||!t.startsWith("-"),isOption:(e,t,r,A)=>!e.ignoreOptions&&t===r,isBatchOption:(e,t,r)=>!e.ignoreOptions&&o.test(t)&&[...t.slice(1)].every(e=>r.includes("-"+e)),isBoundOption:(e,t,r,A)=>{const o=t.match(i);return!e.ignoreOptions&&!!o&&n.test(o[1])&&r.includes(o[1])&&A.filter(e=>e.names.includes(o[1])).every(e=>e.allowBinding)},isNegatedOption:(e,t,r)=>!e.ignoreOptions&&t==="--no-"+r.slice(2),isHelp:(e,t)=>!e.ignoreOptions&&A.test(t),isUnsupportedOption:(e,t,r)=>!e.ignoreOptions&&t.startsWith("-")&&n.test(t)&&!r.includes(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!n.test(t)};S.isOption.suggest=(e,t,r=!0)=>r?null:[t];const k={setCandidateUsage:(e,t,r)=>Object.assign(Object.assign({},e),{candidateUsage:r}),setSelectedIndex:(e,t,r)=>Object.assign(Object.assign({},e),{selectedIndex:r}),pushBatch:(e,t)=>Object.assign(Object.assign({},e),{options:e.options.concat([...t.slice(1)].map(e=>({name:"-"+e,value:!0})))}),pushBound:(e,t)=>{const[,r,A]=t.match(i);return Object.assign(Object.assign({},e),{options:e.options.concat({name:r,value:A})})},pushPath:(e,t)=>Object.assign(Object.assign({},e),{path:e.path.concat(t)}),pushPositional:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:!1})}),pushExtra:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:!0})}),pushExtraNoLimits:(e,t)=>Object.assign(Object.assign({},e),{positionals:e.positionals.concat({value:t,extra:K})}),pushTrue:(e,t,r=t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:t,value:!0})}),pushFalse:(e,t,r=t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:r,value:!1})}),pushUndefined:(e,t)=>Object.assign(Object.assign({},e),{options:e.options.concat({name:t,value:void 0})}),pushStringValue:(e,t)=>{var r;const A=Object.assign(Object.assign({},e),{options:[...e.options]}),n=e.options[e.options.length-1];return n.value=(null!==(r=n.value)&&void 0!==r?r:[]).concat([t]),A},setStringValue:(e,t)=>{const r=Object.assign(Object.assign({},e),{options:[...e.options]});return e.options[e.options.length-1].value=t,r},inhibateOptions:e=>Object.assign(Object.assign({},e),{ignoreOptions:!0}),useHelp:(e,t,r)=>{const[,n,o]=t.match(A);return void 0!==o?Object.assign(Object.assign({},e),{options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}):Object.assign(Object.assign({},e),{options:[{name:"-c",value:String(r)}]})},setError:(e,t,r)=>"\0"===t?Object.assign(Object.assign({},e),{errorMessage:r+"."}):Object.assign(Object.assign({},e),{errorMessage:`${r} ("${t}").`}),setOptionArityError:(e,t)=>{const r=e.options[e.options.length-1];return Object.assign(Object.assign({},e),{errorMessage:`Not enough arguments to option ${r.name}.`})}},K=Symbol();class F{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:r=this.arity.extra,proxy:A=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:r,proxy:A})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===K)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");t||this.arity.extra===K?this.arity.extra!==K&&0===this.arity.extra.length?this.arity.leading.push(e):this.arity.trailing.push(e):this.arity.extra.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===K)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let r=0;r1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(r))throw new Error("The arity must be an integer, got "+r);if(r<0)throw new Error("The arity must be positive, got "+r);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:r,hidden:A,allowBinding:n})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){const r=[this.cliOpts.binaryName],A=[];if(this.paths.length>0&&r.push(...this.paths[0]),e){for(const{names:e,arity:n,hidden:o,description:i}of this.options){if(o)continue;const s=[];for(let e=0;e`<${e}>`)),this.arity.extra===K?r.push("..."):r.push(...this.arity.extra.map(e=>`[${e}]`)),r.push(...this.arity.trailing.map(e=>`<${e}>`))}return{usage:r.join(" "),options:A}}compile(){if(void 0===this.context)throw new Error("Assertion failed: No context attached");const e={nodes:[{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}}]};let t=0;t=p(e,{dynamics:[],shortcuts:[],statics:{}}),D(e,0,"",t,["setCandidateUsage",this.usage().usage]);const r=this.arity.proxy?"always":"isNotOptionLike",A=this.paths.length>0?this.paths:[[]];for(const n of A){let A=t;if(n.length>0){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});Q(e,A,t),this.registerOptions(e,t),A=t}for(let t=0;t0||!this.arity.proxy){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});w(e,A,"isHelp",t,["useHelp",this.cliIndex]),D(e,t,"\0",1,["setSelectedIndex",-1]),this.registerOptions(e,A)}this.arity.leading.length>0&&D(e,A,"\0",2,["setError","Not enough positional arguments"]);let o=A;for(let t=0;t0||t+1!==this.arity.leading.length)&&D(e,r,"\0",2,["setError","Not enough positional arguments"]),w(e,o,"isNotOptionLike",r,"pushPositional"),o=r}let i=o;if(this.arity.extra===K||this.arity.extra.length>0){const t=p(e,{dynamics:[],shortcuts:[],statics:{}});if(Q(e,o,t),this.arity.extra===K){const A=p(e,{dynamics:[],shortcuts:[],statics:{}});this.arity.proxy||this.registerOptions(e,A),w(e,o,r,A,"pushExtraNoLimits"),w(e,A,r,A,"pushExtraNoLimits"),Q(e,A,t)}else for(let A=0;A0&&D(e,i,"\0",2,["setError","Not enough positional arguments"]);let s=i;for(let t=0;tt.length>e.length?t:e,"");if(0===r.arity)for(const n of r.names)w(e,t,["isOption",n,r.hidden||n!==A],t,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&w(e,t,["isNegatedOption",n],t,["pushFalse",n]);else{let n=p(e,{dynamics:[],shortcuts:[],statics:{}});for(const o of r.names)w(e,t,["isOption",o,r.hidden||o!==A],n,"pushUndefined");for(let t=0;t=0&&e{if(t.has(A))return;t.add(A);const n=e.nodes[A];for(const e of Object.values(n.statics))for(const{to:t}of e)r(t);for(const[,{to:e}]of n.dynamics)r(e);for(const{to:e}of n.shortcuts)r(e);const o=new Set(n.shortcuts.map(({to:e})=>e));for(;n.shortcuts.length>0;){const{to:t}=n.shortcuts.shift(),r=e.nodes[t];for(const[e,t]of Object.entries(r.statics)){let r=Object.prototype.hasOwnProperty.call(n.statics,e)?n.statics[e]:n.statics[e]=[];for(const e of t)r.some(({to:t})=>e.to===t)||r.push(e)}for(const[e,t]of r.dynamics)n.dynamics.some(([r,{to:A}])=>e===r&&t.to===A)||n.dynamics.push([e,t]);for(const e of r.shortcuts)o.has(e.to)||(n.shortcuts.push(e),o.add(e.to))}};r(0)}(r),{machine:r,contexts:t,process:e=>f(r,e),suggest:(e,t)=>function(e,t,r){const A=r&&t.length>0?[""]:[],n=d(e,t,r),o=[],i=new Set,s=(t,r,A=!0)=>{let n=[r];for(;n.length>0;){const r=n;n=[];for(const o of r){const r=e.nodes[o],i=Object.keys(r.statics);for(const e of Object.keys(r.statics)){const e=i[0];for(const{to:o,reducer:i}of r.statics[e])"pushPath"===i&&(A||t.push(e),n.push(o))}}A=!1}const s=JSON.stringify(t);i.has(s)||(o.push(t),i.add(s))};for(const{node:t,state:r}of n){if(null!==r.remainder){s([r.remainder],t);continue}const n=e.nodes[t],o=C(n,r);for(const[e,r]of Object.entries(n.statics))(o&&"\0"!==e||!e.startsWith("-")&&r.some(({reducer:e})=>"pushPath"===e))&&s([...A,e],t);if(o)for(const[e,{to:o}]of n.dynamics){if(2===o)continue;const n=v(e,r);if(null!==n)for(const e of n)s([...A,e],t)}}return[...o].sort()}(r,e,t)}}}class M{constructor(){this.help=!1}static getMeta(e){const t=e.constructor;return t.meta=Object.prototype.hasOwnProperty.call(t,"meta")?t.meta:{definitions:[],transformers:[(e,t)=>{for(const{name:r,value:A}of e.options)"-h"!==r&&"--help"!==r||(t.help=A)}]}}static resolveMeta(e){const t=[],r=[];for(let A=e;A instanceof M;A=A.__proto__){const e=this.getMeta(A);for(const r of e.definitions)t.push(r);for(const t of e.transformers)r.push(t)}return{definitions:t,transformers:r}}static registerDefinition(e,t){this.getMeta(e).definitions.push(t)}static registerTransformer(e,t){this.getMeta(e).transformers.push(t)}static addPath(...e){this.Path(...e)(this.prototype,"execute")}static addOption(e,t){t(this.prototype,e)}static Path(...e){return(t,r)=>{this.registerDefinition(t,t=>{t.addPath(e)})}}static Boolean(e,{hidden:t=!1,description:r}={}){return(A,n)=>{const o=e.split(",");this.registerDefinition(A,e=>{e.addOption({names:o,arity:0,hidden:t,allowBinding:!1,description:r})}),this.registerTransformer(A,(e,t)=>{for(const{name:r,value:A}of e.options)o.includes(r)&&(t[n]=A)})}}static Counter(e,{hidden:t=!1,description:r}={}){return(A,n)=>{const o=e.split(",");this.registerDefinition(A,e=>{e.addOption({names:o,arity:0,hidden:t,allowBinding:!1,description:r})}),this.registerTransformer(A,(e,t)=>{var r;for(const{name:A,value:i}of e.options)o.includes(A)&&(null!==(r=t[n])&&void 0!==r||(t[n]=0),i?t[n]++:t[n]=0)})}}static String(e={},{arity:t=1,tolerateBoolean:r=!1,hidden:A=!1,description:n}={}){return(o,i)=>{if("string"==typeof e){const s=e.split(",");this.registerDefinition(o,e=>{e.addOption({names:s,arity:r?0:t,hidden:A,description:n})}),this.registerTransformer(o,(e,t)=>{for(const{name:r,value:A}of e.options)s.includes(r)&&(t[i]=A)})}else{const{name:t=i,required:r=!0}=e;this.registerDefinition(o,e=>{e.addPositional({name:t,required:r})}),this.registerTransformer(o,(e,t)=>{for(let A=0;A{if(0===t)throw new Error("Array options are expected to have at least an arity of 1");const i=e.split(",");this.registerDefinition(n,e=>{e.addOption({names:i,arity:t,hidden:r,description:A})}),this.registerTransformer(n,(e,t)=>{for(const{name:r,value:A}of e.options)i.includes(r)&&(t[o]=t[o]||[],t[o].push(A))})}}static Rest({required:e=0}={}){return(t,r)=>{this.registerDefinition(t,t=>{t.addRest({name:r,required:e})}),this.registerTransformer(t,(e,t,A)=>{const n=t=>{const r=e.positionals[t];return r.extra===K||!1===r.extra&&te)})}}static Proxy({required:e=0}={}){return(t,r)=>{this.registerDefinition(t,t=>{t.addProxy({required:e})}),this.registerTransformer(t,(e,t)=>{t[r]=e.positionals.map(({value:e})=>e)})}}static Usage(e){return e}static Schema(e){return e}async catch(e){throw e}async validateAndExecute(){const e=this.constructor.schema;if(void 0!==e)try{await e.validate(this)}catch(e){throw"ValidationError"===e.name&&(e.clipanion={type:"usage"}),e}const t=await this.execute();return void 0!==t?t:0}} -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -function R(e,t,r,A){var n,o=arguments.length,i=o<3?t:null===A?A=Object.getOwnPropertyDescriptor(t,r):A;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,A);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}M.Entries={};class x extends M{async execute(){this.context.stdout.write(this.cli.usage(null))}}R([M.Path("--help"),M.Path("-h")],x.prototype,"execute",null);class L extends M{async execute(){var e;this.context.stdout.write((null!==(e=this.cli.binaryVersion)&&void 0!==e?e:"")+"\n")}}R([M.Path("--version"),M.Path("-v")],L.prototype,"execute",null);const P={bold:e=>`${e}`,error:e=>`${e}`,code:e=>`${e}`},O={bold:e=>e,error:e=>e,code:e=>e};function U(e,{format:t,paragraphs:r}){return e=(e=(e=(e=(e=e.replace(/\r\n?/g,"\n")).replace(/^[\t ]+|[\t ]+$/gm,"")).replace(/^\n+|\n+$/g,"")).replace(/^-([^\n]*?)\n+/gm,"-$1\n\n")).replace(/\n(\n)?\n*/g,"$1"),r&&(e=e.split(/\n/).map((function(e){let t=e.match(/^[*-][\t ]+(.*)/);return t?t[1].match(/(.{1,78})(?: |$)/g).map((e,t)=>(0===t?"- ":" ")+e).join("\n"):e.match(/(.{1,80})(?: |$)/g).join("\n")})).join("\n\n")),(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(function(e,r,A){return t.code(r+A+r)})))?e+"\n":""}class T extends M{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){const r=new T(t);r.path=e.path;for(const t of e.options)switch(t.name){case"-c":r.commands.push(Number(t.value));break;case"-i":r.index=Number(t.value)}return r}async execute(){let e=this.commands;if(void 0!==this.index&&this.index>=0&&this.index1){this.context.stdout.write("Multiple commands match your selection:\n"),this.context.stdout.write("\n");let e=0;for(const t of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[t].commandClass,{prefix:(e+++". ").padStart(5)}));this.context.stdout.write("\n"),this.context.stdout.write("Run again with -h= to see the longer details of any of those commands.\n")}}}function j(){return"0"!==process.env.FORCE_COLOR&&("1"===process.env.FORCE_COLOR||!(void 0===process.stdout||!process.stdout.isTTY))}class Y{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:r,enableColors:A=j()}={}){this.registrations=new Map,this.builder=new N({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=r,this.enableColors=A}static from(e,t={}){const r=new Y(t);for(const t of e)r.register(t);return r}register(e){const t=this.builder.command();this.registrations.set(e,t.cliIndex);const{definitions:r}=e.resolveMeta(e.prototype);for(const e of r)e(t);t.setContext({commandClass:e})}process(e){const{contexts:t,process:r}=this.builder.compile(),A=r(e);switch(A.selectedIndex){case-1:return T.from(A,t);default:{const{commandClass:e}=t[A.selectedIndex],r=this.registrations.get(e);if(void 0===r)throw new Error("Assertion failed: Expected the command class to have been registered.");const n=this.builder.getBuilderByIndex(r),o=new e;o.path=A.path;const{transformers:i}=e.resolveMeta(e.prototype);for(const e of i)e(A,o,n);return o}}}async run(e,t){let r,A;if(Array.isArray(e))try{r=this.process(e)}catch(e){return t.stdout.write(this.error(e)),1}else r=e;if(r.help)return t.stdout.write(this.usage(r,{detailed:!0})),0;r.context=t,r.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(e,t)=>this.error(e,t),process:e=>this.process(e),run:(e,r)=>this.run(e,Object.assign(Object.assign({},t),r)),usage:(e,t)=>this.usage(e,t)};try{A=await r.validateAndExecute().catch(e=>r.catch(e).then(()=>0))}catch(e){return t.stdout.write(this.error(e,{command:r})),1}return A}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){const{contexts:r,process:A,suggest:n}=this.builder.compile();return n(e,t)}definitions({colored:e=!1}={}){const t=[];for(const[r,A]of this.registrations){if(void 0===r.usage)continue;const{usage:n}=this.getUsageByIndex(A,{detailed:!1}),{usage:o,options:i}=this.getUsageByIndex(A,{detailed:!0,inlineOptions:!1}),s=void 0!==r.usage.category?U(r.usage.category,{format:this.format(e),paragraphs:!1}):void 0,a=void 0!==r.usage.description?U(r.usage.description,{format:this.format(e),paragraphs:!1}):void 0,c=void 0!==r.usage.details?U(r.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=void 0!==r.usage.examples?r.usage.examples.map(([t,r])=>[U(t,{format:this.format(e),paragraphs:!1}),r.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:n,usage:o,category:s,description:a,details:c,examples:g,options:i})}return t}usage(e=null,{colored:t,detailed:r=!1,prefix:A="$ "}={}){const n=null!==e&&void 0===e.getMeta?e.constructor:e;let o="";if(n)if(r){const{description:e="",details:r="",examples:i=[]}=n.usage||{};""!==e&&(o+=U(e,{format:this.format(t),paragraphs:!1}).replace(/^./,e=>e.toUpperCase()),o+="\n"),(""!==r||i.length>0)&&(o+=this.format(t).bold("Usage:")+"\n",o+="\n");const{usage:s,options:a}=this.getUsageByRegistration(n,{inlineOptions:!1});if(o+=`${this.format(t).bold(A)}${s}\n`,a.length>0){o+="\n",o+=P.bold("Options:")+"\n";const e=a.reduce((e,t)=>Math.max(e,t.definition.length),0);o+="\n";for(const{definition:r,description:A}of a)o+=` ${r.padEnd(e)} ${U(A,{format:this.format(t),paragraphs:!1})}`}if(""!==r&&(o+="\n",o+=this.format(t).bold("Details:")+"\n",o+="\n",o+=U(r,{format:this.format(t),paragraphs:!0})),i.length>0){o+="\n",o+=this.format(t).bold("Examples:")+"\n";for(let[e,r]of i)o+="\n",o+=U(e,{format:this.format(t),paragraphs:!1}),o+=r.replace(/^/m," "+this.format(t).bold(A)).replace(/\$0/g,this.binaryName)+"\n"}}else{const{usage:e}=this.getUsageByRegistration(n);o+=`${this.format(t).bold(A)}${e}\n`}else{const e=new Map;for(const[r,A]of this.registrations.entries()){if(void 0===r.usage)continue;const n=void 0!==r.usage.category?U(r.usage.category,{format:this.format(t),paragraphs:!1}):null;let o=e.get(n);void 0===o&&e.set(n,o=[]);const{usage:i}=this.getUsageByIndex(A);o.push({commandClass:r,usage:i})}const r=Array.from(e.keys()).sort((e,t)=>null===e?-1:null===t?1:e.localeCompare(t,"en",{usage:"sort",caseFirst:"upper"})),n=void 0!==this.binaryLabel,i=void 0!==this.binaryVersion;n||i?(o+=n&&i?this.format(t).bold(`${this.binaryLabel} - ${this.binaryVersion}`)+"\n\n":n?this.format(t).bold(""+this.binaryLabel)+"\n":this.format(t).bold(""+this.binaryVersion)+"\n",o+=` ${this.format(t).bold(A)}${this.binaryName} \n`):o+=`${this.format(t).bold(A)}${this.binaryName} \n`;for(let A of r){const r=e.get(A).slice().sort((e,t)=>e.usage.localeCompare(t.usage,"en",{usage:"sort",caseFirst:"upper"})),n=null!==A?A.trim():"Where is one of";o+="\n",o+=this.format(t).bold(n+":")+"\n";for(let{commandClass:e,usage:A}of r){const r=e.usage.description||"undocumented";o+="\n",o+=` ${this.format(t).bold(A)}\n`,o+=" "+U(r,{format:this.format(t),paragraphs:!1})}}o+="\n",o+=U("You can also print more details about any of these commands by calling them after adding the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return o}error(e,{colored:t,command:r=null}={}){e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let A="",n=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");"Error"===n&&(n="Internal Error"),A+=`${this.format(t).error(n)}: ${e.message}\n`;const o=e.clipanion;return void 0!==o?"usage"===o.type&&(A+="\n",A+=this.usage(r)):e.stack&&(A+=e.stack.replace(/^.*\n/,"")+"\n"),A}getUsageByRegistration(e,t){const r=this.registrations.get(e);if(void 0===r)throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(r,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}format(e=this.enableColors){return e?P:O}}Y.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},M.Entries.Help=x,M.Entries.Version=L},15751:(e,t,r)=>{"use strict";const A=r(92413).PassThrough,n=r(65007);e.exports=e=>{if(!e||!e.pipe)throw new TypeError("Parameter `response` must be a response stream.");const t=new A;return n(e,t),e.pipe(t)}},15311:(e,t,r)=>{const A=r(93300),n={};for(const e of Object.keys(A))n[A[e]]=e;const o={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=o;for(const e of Object.keys(o)){if(!("channels"in o[e]))throw new Error("missing channels property: "+e);if(!("labels"in o[e]))throw new Error("missing channel labels property: "+e);if(o[e].labels.length!==o[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:r}=o[e];delete o[e].channels,delete o[e].labels,Object.defineProperty(o[e],"channels",{value:t}),Object.defineProperty(o[e],"labels",{value:r})}o.rgb.hsl=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.min(t,r,A),o=Math.max(t,r,A),i=o-n;let s,a;o===n?s=0:t===o?s=(r-A)/i:r===o?s=2+(A-t)/i:A===o&&(s=4+(t-r)/i),s=Math.min(60*s,360),s<0&&(s+=360);const c=(n+o)/2;return a=o===n?0:c<=.5?i/(o+n):i/(2-o-n),[s,100*a,100*c]},o.rgb.hsv=function(e){let t,r,A,n,o;const i=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(i,s,a),g=c-Math.min(i,s,a),l=function(e){return(c-e)/6/g+.5};return 0===g?(n=0,o=0):(o=g/c,t=l(i),r=l(s),A=l(a),i===c?n=A-r:s===c?n=1/3+t-A:a===c&&(n=2/3+r-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*o,100*c]},o.rgb.hwb=function(e){const t=e[0],r=e[1];let A=e[2];const n=o.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,A));return A=1-1/255*Math.max(t,Math.max(r,A)),[n,100*i,100*A]},o.rgb.cmyk=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.min(1-t,1-r,1-A);return[100*((1-t-n)/(1-n)||0),100*((1-r-n)/(1-n)||0),100*((1-A-n)/(1-n)||0),100*n]},o.rgb.keyword=function(e){const t=n[e];if(t)return t;let r,o=1/0;for(const t of Object.keys(A)){const n=A[t],a=(s=n,((i=e)[0]-s[0])**2+(i[1]-s[1])**2+(i[2]-s[2])**2);a.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,A=A>.04045?((A+.055)/1.055)**2.4:A/12.92;return[100*(.4124*t+.3576*r+.1805*A),100*(.2126*t+.7152*r+.0722*A),100*(.0193*t+.1192*r+.9505*A)]},o.rgb.lab=function(e){const t=o.rgb.xyz(e);let r=t[0],A=t[1],n=t[2];r/=95.047,A/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,A=A>.008856?A**(1/3):7.787*A+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;return[116*A-16,500*(r-A),200*(A-n)]},o.hsl.rgb=function(e){const t=e[0]/360,r=e[1]/100,A=e[2]/100;let n,o,i;if(0===r)return i=255*A,[i,i,i];n=A<.5?A*(1+r):A+r-A*r;const s=2*A-n,a=[0,0,0];for(let e=0;e<3;e++)o=t+1/3*-(e-1),o<0&&o++,o>1&&o--,i=6*o<1?s+6*(n-s)*o:2*o<1?n:3*o<2?s+(n-s)*(2/3-o)*6:s,a[e]=255*i;return a},o.hsl.hsv=function(e){const t=e[0];let r=e[1]/100,A=e[2]/100,n=r;const o=Math.max(A,.01);A*=2,r*=A<=1?A:2-A,n*=o<=1?o:2-o;return[t,100*(0===A?2*n/(o+n):2*r/(A+r)),100*((A+r)/2)]},o.hsv.rgb=function(e){const t=e[0]/60,r=e[1]/100;let A=e[2]/100;const n=Math.floor(t)%6,o=t-Math.floor(t),i=255*A*(1-r),s=255*A*(1-r*o),a=255*A*(1-r*(1-o));switch(A*=255,n){case 0:return[A,a,i];case 1:return[s,A,i];case 2:return[i,A,a];case 3:return[i,s,A];case 4:return[a,i,A];case 5:return[A,i,s]}},o.hsv.hsl=function(e){const t=e[0],r=e[1]/100,A=e[2]/100,n=Math.max(A,.01);let o,i;i=(2-r)*A;const s=(2-r)*n;return o=r*n,o/=s<=1?s:2-s,o=o||0,i/=2,[t,100*o,100*i]},o.hwb.rgb=function(e){const t=e[0]/360;let r=e[1]/100,A=e[2]/100;const n=r+A;let o;n>1&&(r/=n,A/=n);const i=Math.floor(6*t),s=1-A;o=6*t-i,0!=(1&i)&&(o=1-o);const a=r+o*(s-r);let c,g,l;switch(i){default:case 6:case 0:c=s,g=a,l=r;break;case 1:c=a,g=s,l=r;break;case 2:c=r,g=s,l=a;break;case 3:c=r,g=a,l=s;break;case 4:c=a,g=r,l=s;break;case 5:c=s,g=r,l=a}return[255*c,255*g,255*l]},o.cmyk.rgb=function(e){const t=e[0]/100,r=e[1]/100,A=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n)),255*(1-Math.min(1,A*(1-n)+n))]},o.xyz.rgb=function(e){const t=e[0]/100,r=e[1]/100,A=e[2]/100;let n,o,i;return n=3.2406*t+-1.5372*r+-.4986*A,o=-.9689*t+1.8758*r+.0415*A,i=.0557*t+-.204*r+1.057*A,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,n=Math.min(Math.max(0,n),1),o=Math.min(Math.max(0,o),1),i=Math.min(Math.max(0,i),1),[255*n,255*o,255*i]},o.xyz.lab=function(e){let t=e[0],r=e[1],A=e[2];t/=95.047,r/=100,A/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,A=A>.008856?A**(1/3):7.787*A+16/116;return[116*r-16,500*(t-r),200*(r-A)]},o.lab.xyz=function(e){let t,r,A;r=(e[0]+16)/116,t=e[1]/500+r,A=r-e[2]/200;const n=r**3,o=t**3,i=A**3;return r=n>.008856?n:(r-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,A=i>.008856?i:(A-16/116)/7.787,t*=95.047,r*=100,A*=108.883,[t,r,A]},o.lab.lch=function(e){const t=e[0],r=e[1],A=e[2];let n;n=360*Math.atan2(A,r)/2/Math.PI,n<0&&(n+=360);return[t,Math.sqrt(r*r+A*A),n]},o.lch.lab=function(e){const t=e[0],r=e[1],A=e[2]/360*2*Math.PI;return[t,r*Math.cos(A),r*Math.sin(A)]},o.rgb.ansi16=function(e,t=null){const[r,A,n]=e;let i=null===t?o.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),0===i)return 30;let s=30+(Math.round(n/255)<<2|Math.round(A/255)<<1|Math.round(r/255));return 2===i&&(s+=60),s},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){const t=e[0],r=e[1],A=e[2];if(t===r&&r===A)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(A/255*5)},o.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const r=.5*(1+~~(e>50));return[(1&t)*r*255,(t>>1&1)*r*255,(t>>2&1)*r*255]},o.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},o.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];3===t[0].length&&(r=r.split("").map(e=>e+e).join(""));const A=parseInt(r,16);return[A>>16&255,A>>8&255,255&A]},o.rgb.hcg=function(e){const t=e[0]/255,r=e[1]/255,A=e[2]/255,n=Math.max(Math.max(t,r),A),o=Math.min(Math.min(t,r),A),i=n-o;let s,a;return s=i<1?o/(1-i):0,a=i<=0?0:n===t?(r-A)/i%6:n===r?2+(A-t)/i:4+(t-r)/i,a/=6,a%=1,[360*a,100*i,100*s]},o.hsl.hcg=function(e){const t=e[1]/100,r=e[2]/100,A=r<.5?2*t*r:2*t*(1-r);let n=0;return A<1&&(n=(r-.5*A)/(1-A)),[e[0],100*A,100*n]},o.hsv.hcg=function(e){const t=e[1]/100,r=e[2]/100,A=t*r;let n=0;return A<1&&(n=(r-A)/(1-A)),[e[0],100*A,100*n]},o.hcg.rgb=function(e){const t=e[0]/360,r=e[1]/100,A=e[2]/100;if(0===r)return[255*A,255*A,255*A];const n=[0,0,0],o=t%1*6,i=o%1,s=1-i;let a=0;switch(Math.floor(o)){case 0:n[0]=1,n[1]=i,n[2]=0;break;case 1:n[0]=s,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=i;break;case 3:n[0]=0,n[1]=s,n[2]=1;break;case 4:n[0]=i,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=s}return a=(1-r)*A,[255*(r*n[0]+a),255*(r*n[1]+a),255*(r*n[2]+a)]},o.hcg.hsv=function(e){const t=e[1]/100,r=t+e[2]/100*(1-t);let A=0;return r>0&&(A=t/r),[e[0],100*A,100*r]},o.hcg.hsl=function(e){const t=e[1]/100,r=e[2]/100*(1-t)+.5*t;let A=0;return r>0&&r<.5?A=t/(2*r):r>=.5&&r<1&&(A=t/(2*(1-r))),[e[0],100*A,100*r]},o.hcg.hwb=function(e){const t=e[1]/100,r=t+e[2]/100*(1-t);return[e[0],100*(r-t),100*(1-r)]},o.hwb.hcg=function(e){const t=e[1]/100,r=1-e[2]/100,A=r-t;let n=0;return A<1&&(n=(r-A)/(1-A)),[e[0],100*A,100*n]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=function(e){return[0,0,e[0]]},o.gray.hsv=o.gray.hsl,o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},2744:(e,t,r)=>{const A=r(15311),n=r(78577),o={};Object.keys(A).forEach(e=>{o[e]={},Object.defineProperty(o[e],"channels",{value:A[e].channels}),Object.defineProperty(o[e],"labels",{value:A[e].labels});const t=n(e);Object.keys(t).forEach(r=>{const A=t[r];o[e][r]=function(e){const t=function(...t){const r=t[0];if(null==r)return r;r.length>1&&(t=r);const A=e(t);if("object"==typeof A)for(let e=A.length,t=0;t1&&(t=r),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(A)})}),e.exports=o},78577:(e,t,r)=>{const A=r(15311);function n(e){const t=function(){const e={},t=Object.keys(A);for(let r=t.length,A=0;A{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},67566:(e,t,r)=>{"use strict";const A=r(63129),n=r(14951),o=r(10779);function i(e,t,r){const i=n(e,t,r),s=A.spawn(i.command,i.args,i.options);return o.hookChildProcess(s,i),s}e.exports=i,e.exports.spawn=i,e.exports.sync=function(e,t,r){const i=n(e,t,r),s=A.spawnSync(i.command,i.args,i.options);return s.error=s.error||o.verifyENOENTSync(s.status,i),s},e.exports._parse=n,e.exports._enoent=o},10779:e=>{"use strict";const t="win32"===process.platform;function r(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function A(e,A){return t&&1===e&&!A.file?r(A.original,"spawn"):null}e.exports={hookChildProcess:function(e,r){if(!t)return;const n=e.emit;e.emit=function(t,o){if("exit"===t){const t=A(o,r);if(t)return n.call(e,"error",t)}return n.apply(e,arguments)}},verifyENOENT:A,verifyENOENTSync:function(e,A){return t&&1===e&&!A.file?r(A.original,"spawnSync"):null},notFoundError:r}},14951:(e,t,r)=>{"use strict";const A=r(85622),n=r(47447),o=r(27066),i=r(35187),s="win32"===process.platform,a=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function g(e){if(!s)return e;const t=function(e){e.file=n(e);const t=e.file&&i(e.file);return t?(e.args.unshift(e.file),e.command=t,n(e)):e.file}(e),r=!a.test(t);if(e.options.forceShell||r){const r=c.test(t);e.command=A.normalize(e.command),e.command=o.command(e.command),e.args=e.args.map(e=>o.argument(e,r));const n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}e.exports=function(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null);const A={command:e,args:t=t?t.slice(0):[],options:r=Object.assign({},r),file:void 0,original:{command:e,args:t}};return r.shell?A:g(A)}},27066:e=>{"use strict";const t=/([()\][%!^"`<>&|;, *?])/g;e.exports.command=function(e){return e=e.replace(t,"^$1")},e.exports.argument=function(e,r){return e=(e=`"${e=(e=(e=""+e).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(t,"^$1"),r&&(e=e.replace(t,"^$1")),e}},35187:(e,t,r)=>{"use strict";const A=r(35747),n=r(91470);e.exports=function(e){const t=Buffer.alloc(150);let r;try{r=A.openSync(e,"r"),A.readSync(r,t,0,150,0),A.closeSync(r)}catch(e){}return n(t.toString())}},47447:(e,t,r)=>{"use strict";const A=r(85622),n=r(87945),o=r(37127);function i(e,t){const r=e.options.env||process.env,i=process.cwd(),s=null!=e.options.cwd,a=s&&void 0!==process.chdir&&!process.chdir.disabled;if(a)try{process.chdir(e.options.cwd)}catch(e){}let c;try{c=n.sync(e.command,{path:r[o({env:r})],pathExt:t?A.delimiter:void 0})}catch(e){}finally{a&&process.chdir(i)}return c&&(c=A.resolve(s?e.options.cwd:"",c)),c}e.exports=function(e){return i(e)||i(e,!0)}},93868:(e,t,r)=>{"use strict";const{Transform:A,PassThrough:n}=r(92413),o=r(78761),i=r(33527);e.exports=e=>{const t=(e.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(t))return e;const r="br"===t;if(r&&"function"!=typeof o.createBrotliDecompress)return e.destroy(new Error("Brotli is not supported on Node.js < 12")),e;let s=!0;const a=new A({transform(e,t,r){s=!1,r(null,e)},flush(e){e()}}),c=new n({autoDestroy:!1,destroy(t,r){e.destroy(),r(t)}}),g=r?o.createBrotliDecompress():o.createUnzip();return g.once("error",t=>{!s||e.readable?c.destroy(t):c.end()}),i(e,c),e.pipe(a).pipe(g).pipe(c),c}},93121:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(4016),n=(e,t)=>{let r;if("function"==typeof t){r={connect:t}}else r=t;const n="function"==typeof r.connect,o="function"==typeof r.secureConnect,i="function"==typeof r.close,s=()=>{n&&r.connect(),e instanceof A.TLSSocket&&o&&(e.authorized?r.secureConnect():e.authorizationError||e.once("secureConnect",r.secureConnect)),i&&e.once("close",r.close)};e.writable&&!e.connecting?s():e.connecting?e.once("connect",s):e.destroyed&&i&&r.close(e._hadError)};t.default=n,e.exports=n,e.exports.default=n},66241:(e,t,r)=>{"use strict";const A=r(85622),n=r(5763),o=e=>e.length>1?`{${e.join(",")}}`:e[0],i=(e,t)=>{const r="!"===e[0]?e.slice(1):e;return A.isAbsolute(r)?r:A.join(t,r)},s=(e,t)=>{if(t.files&&!Array.isArray(t.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof t.files}\``);if(t.extensions&&!Array.isArray(t.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof t.extensions}\``);return t.files&&t.extensions?t.files.map(r=>{return A.posix.join(e,(n=r,i=t.extensions,A.extname(n)?"**/"+n:`**/${n}.${o(i)}`));var n,i}):t.files?t.files.map(t=>A.posix.join(e,"**/"+t)):t.extensions?[A.posix.join(e,"**/*."+o(t.extensions))]:[A.posix.join(e,"**")]};e.exports=async(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const r=await Promise.all([].concat(e).map(async e=>await n.isDirectory(i(e,t.cwd))?s(e,t):e));return[].concat.apply([],r)},e.exports.sync=(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const r=[].concat(e).map(e=>n.isDirectorySync(i(e,t.cwd))?s(e,t):e);return[].concat.apply([],r)}},97681:(e,t,r)=>{var A=r(91162),n=function(){},o=function(e,t,r){if("function"==typeof t)return o(e,null,t);t||(t={}),r=A(r||n);var i=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,g=function(){e.writable||l()},l=function(){c=!1,a||r()},u=function(){a=!1,c||r()},h=function(e){r(e?new Error("exited with error code: "+e):null)},p=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:r(new Error("premature close"))},d=function(){e.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!i&&(e.on("end",g),e.on("close",g)):(e.on("complete",l),e.on("abort",p),e.req?d():e.on("request",d)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",u),e.on("finish",l),!1!==t.error&&e.on("error",r),e.on("close",p),function(){e.removeListener("complete",l),e.removeListener("abort",p),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",g),e.removeListener("close",g),e.removeListener("finish",l),e.removeListener("exit",h),e.removeListener("end",u),e.removeListener("error",r),e.removeListener("close",p)}};e.exports=o},17067:(e,t,r)=>{var A=r(27180),n=function(){},o=function(e,t,r){if("function"==typeof t)return o(e,null,t);t||(t={}),r=A(r||n);var i=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,g=function(){e.writable||l()},l=function(){c=!1,a||r.call(e)},u=function(){a=!1,c||r.call(e)},h=function(t){r.call(e,t?new Error("exited with error code: "+t):null)},p=function(t){r.call(e,t)},d=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:r.call(e,new Error("premature close"))},C=function(){e.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!i&&(e.on("end",g),e.on("close",g)):(e.on("complete",l),e.on("abort",d),e.req?C():e.on("request",C)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",u),e.on("finish",l),!1!==t.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",l),e.removeListener("abort",d),e.removeListener("request",C),e.req&&e.req.removeListener("finish",l),e.removeListener("end",g),e.removeListener("close",g),e.removeListener("finish",l),e.removeListener("exit",h),e.removeListener("end",u),e.removeListener("error",p),e.removeListener("close",d)}};e.exports=o},61899:(e,t,r)=>{"use strict";const A=r(42357),n=r(28614),o=r(10278);class i extends n{constructor(e,t){super(),this.options=o.merge({},e),this.answers={...t}}register(e,t){if(o.isObject(e)){for(let t of Object.keys(e))this.register(t,e[t]);return this}A.equal(typeof t,"function","expected a function");let r=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[r]=t:this.prompts[r]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{"function"==typeof t&&(t=await t.call(this)),await this.ask(o.merge({},this.options,t))}catch(e){return Promise.reject(e)}return this.answers}async ask(e){"function"==typeof e&&(e=await e.call(this));let t=o.merge({},this.options,e),{type:r,name:n}=e,{set:i,get:s}=o;if("function"==typeof r&&(r=await r.call(this,e,this.answers)),!r)return this.answers[n];A(this.prompts[r],`Prompt "${r}" is not registered`);let a=new this.prompts[r](t),c=s(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",e=>{this.emit("answer",n,e,a),i(this.answers,n,e)});let g=a.emit.bind(a);return a.emit=(...e)=>(this.emit.call(this,...e),g(...e)),this.emit("prompt",a,this),t.autofill&&null!=c?(a.value=a.input=c,"show"===t.autofill&&await a.submit()):c=a.value=await a.run(),c}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||r(58386)}static get prompts(){return r(53609)}static get types(){return r(13235)}static get prompt(){const e=(t,...r)=>{let A=new this(...r),n=A.emit.bind(A);return A.emit=(...t)=>(e.emit(...t),n(...t)),A.prompt(t)};return o.mixinEmitter(e,new n),e}}o.mixinEmitter(i,new n);const s=i.prompts;for(let e of Object.keys(s)){let t=e.toLowerCase(),r=t=>new s[e](t).run();i.prompt[t]=r,i[t]=r,i[e]||Reflect.defineProperty(i,e,{get:()=>s[e]})}const a=e=>{o.defineExport(i,e,()=>i.types[e])};a("ArrayPrompt"),a("AuthPrompt"),a("BooleanPrompt"),a("NumberPrompt"),a("StringPrompt"),e.exports=i},72380:(e,t,r)=>{"use strict";const A="Apple_Terminal"===process.env.TERM_PROGRAM,n=r(97991),o=r(10278),i=e.exports=t,s="[";let a=!1;const c=i.code={bell:"",beep:"",beginning:"",down:"",esc:s,getPosition:"",hide:"[?25l",line:"",lineEnd:"",lineStart:"",restorePosition:s+(A?"8":"u"),savePosition:s+(A?"7":"s"),screen:"",show:"[?25h",up:""},g=i.cursor={get hidden(){return a},hide:()=>(a=!0,c.hide),show:()=>(a=!1,c.show),forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>"".repeat(e),prevLine:(e=1)=>"".repeat(e),up:(e=1)=>e?`[${e}A`:"",down:(e=1)=>e?`[${e}B`:"",right:(e=1)=>e?`[${e}C`:"",left:(e=1)=>e?`[${e}D`:"",to:(e,t)=>t?`[${t+1};${e+1}H`:`[${e+1}G`,move(e=0,t=0){let r="";return r+=e<0?g.left(-e):e>0?g.right(e):"",r+=t<0?g.up(-t):t>0?g.down(t):"",r},restore(e={}){let{after:t,cursor:r,initial:A,input:n,prompt:s,size:a,value:c}=e;if(A=o.isPrimitive(A)?String(A):"",n=o.isPrimitive(n)?String(n):"",c=o.isPrimitive(c)?String(c):"",a){let e=i.cursor.up(a)+i.cursor.to(s.length),t=n.length-r;return t>0&&(e+=i.cursor.left(t)),e}if(c||t){let e=!n&&A?-A.length:-n.length+r;return t&&(e-=t.length),""===n&&A&&!s.includes(A)&&(e+=A.length),i.cursor.move(e)}}},l=i.erase={screen:c.screen,up:c.up,down:c.down,line:c.line,lineEnd:c.lineEnd,lineStart:c.lineStart,lines(e){let t="";for(let r=0;r{if(!t)return l.line+g.to(0);let r=e.split(/\r?\n/),A=0;for(let e of r)A+=1+Math.floor(Math.max((o=e,[...n.unstyle(o)].length-1),0)/t);var o;return(l.line+g.prevLine()).repeat(A-1)+l.line+g.to(0)}},62475:(e,t)=>{"use strict";t.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"},t.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"},t.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"},t.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"},t.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}},64083:e=>{"use strict";const t=e=>(e=>e.filter((t,r)=>e.lastIndexOf(t)===r))(e).filter(Boolean);e.exports=(e,r={},A="")=>{let n,o,{past:i=[],present:s=""}=r;switch(e){case"prev":case"undo":return n=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:t([A,...n]),present:o};case"next":case"redo":return n=i.slice(1),o=i[0]||"",{past:t([...n,A]),present:o};case"save":return{past:t([...i,A]),present:""};case"remove":return o=t(i.filter(e=>e!==A)),s="",o.length&&(s=o.pop()),{past:o,present:s};default:throw new Error(`Invalid action: "${e}"`)}}},84368:(e,t,r)=>{"use strict";const A=r(97991);class n{constructor(e){this.name=e.key,this.field=e.field||{},this.value=((e="")=>"string"==typeof e?e.replace(/^['"]|['"]$/g,""):"")(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}}function o(e,t,r,A){return(r,n,o,i)=>"function"==typeof o.field[e]?o.field[e].call(t,r,n,o,i):[A,r].find(e=>t.isValue(e))}e.exports=async e=>{let t=e.options,r=new Set(!0===t.required?[]:t.required||[]),i={...t.values,...t.initial},{tabstops:s,items:a,keys:c}=await(async(e={},t={},r=(e=>e))=>{let A=new Set,o=e.fields||[],i=e.template,s=[],a=[],c=[],g=1;"function"==typeof i&&(i=await i());let l=-1,u=()=>i[++l],h=()=>i[l+1],p=e=>{e.line=g,s.push(e)};for(p({type:"bos",value:""});le.name===s.key);s.field=o.find(e=>e.name===s.key),g||(g=new n(s),a.push(g)),g.lines.push(s.line-1);continue}let i=s[s.length-1];"text"===i.type&&i.line===g?i.value+=e:p({type:"text",value:e})}return p({type:"eos",value:""}),{input:i,tabstops:s,unique:A,keys:c,items:a}})(t,i),g=o("result",e,t),l=o("format",e,t),u=o("validate",e,t,!0),h=e.isValue.bind(e);return async(n={},o=!1)=>{let i=0;n.required=r,n.items=a,n.keys=c,n.output="";let p=async(e,t,r,A)=>{let n=await u(e,t,r,A);return!1===n?"Invalid field "+r.name:n};for(let r of s){let s=r.value,c=r.key;if("template"===r.type){if("template"===r.type){let u=a.find(e=>e.name===c);!0===t.required&&n.required.add(u.name);let d=[u.input,n.values[u.value],u.value,s].find(h),C=(u.field||{}).message||r.inner;if(o){let e=await p(n.values[c],n,u,i);if(e&&"string"==typeof e||!1===e){n.invalid.set(c,e);continue}n.invalid.delete(c);let t=await g(n.values[c],n,u,i);n.output+=A.unstyle(t);continue}u.placeholder=!1;let f=s;s=await l(s,n,u,i),d!==s?(n.values[c]=d,s=e.styles.typing(d),n.missing.delete(C)):(n.values[c]=void 0,d=`<${C}>`,s=e.styles.primary(d),u.placeholder=!0,n.required.has(c)&&n.missing.add(C)),n.missing.has(C)&&n.validating&&(s=e.styles.warning(d)),n.invalid.has(c)&&n.validating&&(s=e.styles.danger(d)),i===n.index&&(s=f!==s?e.styles.underline(s):e.styles.heading(A.unstyle(s))),i++}s&&(n.output+=s)}else s&&(n.output+=s)}let d=n.output.split("\n").map(e=>" "+e),C=a.length,f=0;for(let t of a)n.invalid.has(t.name)&&t.lines.forEach(e=>{" "===d[e][0]&&(d[e]=n.styles.danger(n.symbols.bullet)+d[e].slice(1))}),e.isValue(n.values[t.name])&&f++;return n.completed=(f/C*100).toFixed(0),n.output=d.join("\n"),n.output}}},30650:(e,t,r)=>{"use strict";const A=r(51058),n=r(62475),o=/^(?:\x1b)([a-zA-Z0-9])$/,i=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,s={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};const a=(e="",t={})=>{let r,A={name:t.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e,...t};if(Buffer.isBuffer(e)?e[0]>127&&void 0===e[1]?(e[0]-=128,e=""+String(e)):e=String(e):void 0!==e&&"string"!=typeof e?e=String(e):e||(e=A.sequence||""),A.sequence=A.sequence||e||A.name,"\r"===e)A.raw=void 0,A.name="return";else if("\n"===e)A.name="enter";else if("\t"===e)A.name="tab";else if("\b"===e||""===e||""===e||"\b"===e)A.name="backspace",A.meta=""===e.charAt(0);else if(""===e||""===e)A.name="escape",A.meta=2===e.length;else if(" "===e||" "===e)A.name="space",A.meta=2===e.length;else if(e<="")A.name=String.fromCharCode(e.charCodeAt(0)+"a".charCodeAt(0)-1),A.ctrl=!0;else if(1===e.length&&e>="0"&&e<="9")A.name="number";else if(1===e.length&&e>="a"&&e<="z")A.name=e;else if(1===e.length&&e>="A"&&e<="Z")A.name=e.toLowerCase(),A.shift=!0;else if(r=o.exec(e))A.meta=!0,A.shift=/^[A-Z]$/.test(r[1]);else if(r=i.exec(e)){let t=[...e];""===t[0]&&""===t[1]&&(A.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;A.ctrl=!!(4&o),A.meta=!!(10&o),A.shift=!!(1&o),A.code=n,A.name=s[n],A.shift=function(e){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e)}(n)||A.shift,A.ctrl=function(e){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e)}(n)||A.ctrl}return A};a.listen=(e={},t)=>{let{stdin:r}=e;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let n=A.createInterface({terminal:!0,input:r});A.emitKeypressEvents(r,n);let o=(e,r)=>t(e,a(e,r),n),i=r.isRaw;r.isTTY&&r.setRawMode(!0),r.on("keypress",o),n.resume();return()=>{r.isTTY&&r.setRawMode(i),r.removeListener("keypress",o),n.pause(),n.close()}},a.action=(e,t,r)=>{let A={...n,...r};return t.ctrl?(t.action=A.ctrl[t.name],t):t.option&&A.option?(t.action=A.option[t.name],t):t.shift?(t.action=A.shift[t.name],t):(t.action=A.keys[t.name],t)},e.exports=a},96496:(e,t,r)=>{"use strict";const A=r(10278);e.exports=(e,t={})=>{e.cursorHide();let{input:r="",initial:n="",pos:o,showCursor:i=!0,color:s}=t,a=s||e.styles.placeholder,c=A.inverse(e.styles.primary),g=t=>c(e.styles.black(t)),l=r,u=g(" ");if(e.blink&&!0===e.blink.off&&(g=e=>e,u=""),i&&0===o&&""===n&&""===r)return g(" ");if(i&&0===o&&(r===n||""===r))return g(n[0])+a(n.slice(1));n=A.isPrimitive(n)?""+n:"",r=A.isPrimitive(r)?""+r:"";let h=n&&n.startsWith(r)&&n!==r,p=h?g(n[r.length]):u;if(o!==r.length&&!0===i&&(l=r.slice(0,o)+g(r[o])+r.slice(o+1),p=""),!1===i&&(p=""),h){let t=e.styles.unstyle(l+p);return l+p+a(n.slice(t.length))}return l+p}},58386:(e,t,r)=>{"use strict";const A=r(28614),n=r(97991),o=r(30650),i=r(47159),s=r(61807),a=r(26205),c=r(10278),g=r(72380);class l extends A{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,a(this),i(this),this.state=new s(this),this.initial=[e.initial,e.default].find(e=>null!=e),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=function(e){"number"==typeof e&&(e=[e,e,e,e]);let t=[].concat(e||[]),r=e=>e%2==0?"\n":" ",A=[];for(let e=0;e<4;e++){let n=r(e);t[e]?A.push(n.repeat(t[e])):A.push("")}return A}(this.options.margin),this.setMaxListeners(0),function(e){let t=t=>void 0===e[t]||"function"==typeof e[t],r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],A=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(e.options)){if(r.includes(n))continue;if(/^on[A-Z]/.test(n))continue;let o=e.options[n];"function"==typeof o&&t(n)?A.includes(n)||(e[n]=o.bind(e)):"function"!=typeof e[n]&&(e[n]=o)}}(this)}async keypress(e,t={}){this.keypressed=!0;let r=o.action(e,o(e,t),this.options.actions);this.state.keypress=r,this.emit("keypress",e,r),this.emit("state",this.state.clone());let A=this.options[r.action]||this[r.action]||this.dispatch;if("function"==typeof A)return await A.call(this,e,r);this.alert()}alert(){delete this.state.alert,!1===this.options.show?this.emit("alert"):this.stdout.write(g.code.beep)}cursorHide(){this.stdout.write(g.cursor.hide()),c.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(g.cursor.show())}write(e){e&&(this.stdout&&!1!==this.state.show&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",(t||e)&&!1!==this.options.show&&this.stdout.write(g.cursor.down(e)+g.clear(t,this.width))}restore(){if(this.state.closed||!1===this.options.show)return;let{prompt:e,after:t,rest:r}=this.sections(),{cursor:A,initial:n="",input:o="",value:i=""}=this,s={after:t,cursor:A,initial:n,input:o,prompt:e,size:this.state.size=r.length,value:i},a=g.cursor.restore(s);a&&this.stdout.write(a)}sections(){let{buffer:e,input:t,prompt:r}=this.state;r=n.unstyle(r);let A=n.unstyle(e),o=A.indexOf(r),i=A.slice(0,o),s=A.slice(o).split("\n"),a=s[0],c=s[s.length-1],g=(r+(t?" "+t:"")).length,l=ge.call(this,this.value),this.result=()=>r.call(this,this.value),"function"==typeof t.initial&&(this.initial=await t.initial.call(this,this)),"function"==typeof t.onRun&&await t.onRun.call(this,this),"function"==typeof t.onSubmit){let e=t.onSubmit.bind(this),r=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await e(this.name,this.value,this),r())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,r){let{options:A,state:n,symbols:o,timers:i}=this,s=i&&i[e];n.timer=s;let a=A[e]||n[e]||o[e],c=t&&null!=t[e]?t[e]:await a;if(""===c)return c;let g=await this.resolve(c,n,t,r);return!g&&t&&t[e]?this.resolve(a,n,t,r):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,r=this.state;if(r.timer=t,c.isObject(e)&&(e=e[r.status]||e.pending),!c.hasColor(e)){return(this.styles[r.status]||this.styles.pending)(e)}return e}async message(){let e=await this.element("message");return c.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,r=this.state;r.timer=t;let A=e[r.status]||e.pending||r.separator,n=await this.resolve(A,r);return c.isObject(n)&&(n=n[r.status]||n.pending),c.hasColor(n)?n:this.styles.muted(n)}async pointer(e,t){let r=await this.element("pointer",e,t);if("string"==typeof r&&c.hasColor(r))return r;if(r){let e=this.styles,A=this.index===t,n=A?e.primary:e=>e,o=await this.resolve(r[A?"on":"off"]||r,this.state),i=c.hasColor(o)?o:n(o);return A?i:" ".repeat(o.length)}}async indicator(e,t){let r=await this.element("indicator",e,t);if("string"==typeof r&&c.hasColor(r))return r;if(r){let t=this.styles,A=!0===e.enabled,n=A?t.success:t.dark,o=r[A?"on":"off"]||r;return c.hasColor(o)?o:n(o)}return""}body(){return null}footer(){if("pending"===this.state.status)return this.element("footer")}header(){if("pending"===this.state.status)return this.element("header")}async hint(){if("pending"===this.state.status&&!this.isValue(this.state.input)){let e=await this.element("hint");return c.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return!0!==this.options.required||this.isValue(e)}isValue(e){return null!=e&&""!==e}resolve(e,...t){return c.resolve(this,e,...t)}get base(){return l.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||c.height(this.stdout,25)}get width(){return this.options.columns||c.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,r=[t,e].find(this.isValue.bind(this));return this.isValue(r)?r:this.initial}static get prompt(){return e=>new this(e).run()}}e.exports=l},63310:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:r}=this.state;return this.input=r.slice(0,t)+e+r.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return void 0===t[e]?this.alert():(this.input=(""+t).slice(0,e)+(""+t).slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if("function"==typeof this.options.suggest)return this.options.suggest.call(this,e,t);let r=e.toLowerCase();return t.filter(e=>e.message.toLowerCase().includes(r))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if("pending"!==this.state.status)return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=((e,t)=>{let r=e.toLowerCase();return e=>{let A=e.toLowerCase().indexOf(r),n=t(e.slice(A,A+r.length));return A>=0?e.slice(0,A)+n+e.slice(A+r.length):e}})(this.input,e),r=this.choices;this.choices=r.map(e=>({...e,message:t(e.message)})),await super.render(),this.choices=r}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}}},52810:(e,t,r)=>{"use strict";const A=r(46614);function n(e,t){return e.username===this.options.username&&e.password===this.options.password}const o=(e=n)=>{const t=[{name:"username",message:"username"},{name:"password",message:"password",format(e){if(this.options.showPassword)return e;return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length))}}];class r extends(A.create(e)){constructor(e){super({...e,choices:t})}static create(e){return o(e)}}return r};e.exports=o()},65742:(e,t,r)=>{"use strict";const A=r(82710);e.exports=class extends A{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}}},24570:(e,t,r)=>{"use strict";const A=r(31557),n=r(71447).prototype;e.exports=class extends A{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(e=>null!=e),this.emptyError="",this.values={}}dispatch(e,t){let r=this.focused,A=r.parent||{};return r.editable||A.editable||"a"!==e&&"i"!==e?n.dispatch.call(this,e,t):super[e]()}append(e,t){return n.append.call(this,e,t)}delete(e,t){return n.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?n.next.call(this):super.next()}prev(){return this.focused.editable?n.prev.call(this):super.prev()}async indicator(e,t){let r=e.indicator||"",A=e.editable?r:super.indicator(e,t);return await this.resolve(A,this.state,e,t)||""}indent(e){return"heading"===e.role?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?n.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if("function"!=typeof t.validate)continue;if("heading"===t.role)continue;let r=t.parent?this.value[t.parent.name]:this.value;if(t.editable?r=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(r=!0===t.enabled),e=await t.validate(r,this.state),!0!==e)break}return!0!==e&&(this.state.error="string"==typeof e?e:"Invalid Input"),e}submit(){if(!0===this.focused.newChoice)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;"heading"!==e.role?e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=!0===e.enabled):this.value[e.name]={}}return this.base.submit.call(this)}}},71447:(e,t,r)=>{"use strict";const A=r(97991),n=r(31557),o=r(96496);e.exports=class extends n{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(e=>null!=e),this.emptyError="",this.values={}}async reset(e){return await super.reset(),!0===e&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(e=>e.reset&&e.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:r,input:A}=t;return t.value=t.input=A.slice(0,r)+e+A.slice(r),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:r}=e;return e.value=e.input=r.slice(0,t-1)+r.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:r}=e;if(void 0===r[t])return this.alert();let A=(""+r).slice(0,t)+(""+r).slice(t+1);return e.value=e.input=A,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:r}=e;return t&&t.startsWith(r)&&r!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?0===e.cursor?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"⦿":"⊙"}async choiceSeparator(e,t){let r=await this.resolve(e.separator,this.state,e,t)||":";return r?" "+this.styles.disabled(r):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:r,styles:n}=this,{cursor:i,initial:s="",name:a,hint:c,input:g=""}=e,{muted:l,submitted:u,primary:h,danger:p}=n,d=c,C=this.index===t,f=e.validate||(()=>!0),I=await this.choiceSeparator(e,t),E=e.message;"right"===this.align&&(E=E.padStart(this.longest+1," ")),"left"===this.align&&(E=E.padEnd(this.longest+1," "));let B=this.values[a]=g||s,y=g?"success":"dark";!0!==await f.call(e,B,this.state)&&(y="danger");let m=(0,n[y])(await this.indicator(e,t))+(e.pad||""),w=this.indent(e),Q=()=>[w,m,E+I,g,d].filter(Boolean).join(" ");if(r.submitted)return E=A.unstyle(E),g=u(g),d="",Q();if(e.format)g=await e.format.call(this,g,e,t);else{let e=this.styles.muted;g=o(this,{input:g,initial:s,pos:i,showCursor:C,color:e})}return this.isValue(g)||(g=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,B,e,t)),C&&(E=h(E)),e.error?g+=(g?" ":"")+p(e.error.trim()):e.hint&&(g+=(g?" ":"")+l(e.hint.trim())),Q()}async submit(){return this.value=this.values,super.base.submit.call(this)}}},53609:(e,t,r)=>{"use strict";const A=r(10278),n=(e,r)=>{A.defineExport(t,e,r),A.defineExport(t,e.toLowerCase(),r)};n("AutoComplete",()=>r(63310)),n("BasicAuth",()=>r(52810)),n("Confirm",()=>r(65742)),n("Editable",()=>r(24570)),n("Form",()=>r(71447)),n("Input",()=>r(12372)),n("Invisible",()=>r(32684)),n("List",()=>r(40876)),n("MultiSelect",()=>r(42293)),n("Numeral",()=>r(42126)),n("Password",()=>r(84697)),n("Scale",()=>r(99580)),n("Select",()=>r(31557)),n("Snippet",()=>r(98094)),n("Sort",()=>r(60042)),n("Survey",()=>r(25223)),n("Text",()=>r(97298)),n("Toggle",()=>r(41817)),n("Quiz",()=>r(88677))},12372:(e,t,r)=>{"use strict";const A=r(45853),n=r(64083);e.exports=class extends A{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let e=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:e},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=n(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=n("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&!0===this.autosave&&this.save(),super.submit()}}},32684:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{format(){return""}}},40876:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:e=>e;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return!0!==t?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}}},42293:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){super({...e,multiple:!0})}}},42126:(e,t,r)=>{e.exports=r(64987)},84697:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e){super(e),this.cursorShow()}format(e=this.input){if(!this.keypressed)return"";return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length))}}},88677:(e,t,r)=>{"use strict";const A=r(31557);e.exports=class extends A{constructor(e){if(super(e),"number"!=typeof this.options.correctChoice||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let r=await super.toChoices(e,t);if(r.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>r.length)throw new Error("Please specify the index of the correct answer from the list of choices");return r}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}}},99580:(e,t,r)=>{"use strict";const A=r(97991),n=r(14723),o=r(10278);e.exports=class extends n{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||"\n ";let t=e.startNumber||1;"number"==typeof this.scale&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((e,r)=>({name:r+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(!0===this.tableized)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let e=0;e=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){if(this.state.submitted){return this.choices.map(e=>this.styles.info(e.index)).join(", ")}return""}pointer(){return""}renderScaleKey(){if(!1===this.scaleKey)return"";if(this.state.submitted)return"";return["",...this.scale.map(e=>` ${e.name} - ${e.message}`)].map(e=>this.styles.muted(e)).join("\n")}renderScaleHeading(e){let t=this.scale.map(e=>e.name);"function"==typeof this.options.renderScaleHeading&&(t=this.options.renderScaleHeading.call(this,e));let r=this.scaleLength-t.join("").length,A=Math.round(r/(t.length-1)),n=t.map(e=>this.styles.strong(e)).join(" ".repeat(A)),o=" ".repeat(this.widths[0]);return this.margin[3]+o+this.margin[1]+n}scaleIndicator(e,t,r){if("function"==typeof this.options.scaleIndicator)return this.options.scaleIndicator.call(this,e,t,r);let A=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):A?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let r=e.scale.map(r=>this.scaleIndicator(e,r,t)),A="Hyper"===this.term?"":" ";return r.join(A+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,n=await this.pointer(e,t),i=await e.hint;i&&!o.hasColor(i)&&(i=this.styles.muted(i));let s=e=>this.margin[3]+e.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,c=this.indent(e),g=await this.resolve(e.message,this.state,e,t),l=await this.renderScale(e,t),u=this.margin[1]+this.margin[3];this.scaleLength=A.unstyle(l).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-u.length);let h=o.wordWrap(g,{width:this.widths[0],newline:a}).split("\n").map(e=>s(e)+this.margin[1]);return r&&(l=this.styles.info(l),h=h.map(e=>this.styles.info(e))),h[0]+=l,this.linebreak&&h.push(""),[c+n,h.join("\n")].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e),r=await this.renderScaleHeading();return this.margin[0]+[r,...t.map(e=>e.join(" "))].join("\n")}async render(){let{submitted:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=await this.message(),o="";!1!==this.options.promptLine&&(o=[r,n,A,""].join(" "),this.state.prompt=o);let i=await this.header(),s=await this.format(),a=await this.renderScaleKey(),c=await this.error()||await this.hint(),g=await this.renderChoices(),l=await this.footer(),u=this.emptyError;s&&(o+=s),c&&!o.includes(c)&&(o+=" "+c),e&&!s&&!g.trim()&&this.multiple&&null!=u&&(o+=this.styles.danger(u)),this.clear(t),this.write([i,o,a,g,l].filter(Boolean).join("\n")),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}}},31557:(e,t,r)=>{"use strict";const A=r(14723),n=r(10278);e.exports=class extends A{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let r=this.resolve(e.message,this.state,e,t);return"heading"!==e.role||n.hasColor(r)||(r=this.styles.strong(r)),this.resolve(r,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,A=await this.pointer(e,t),o=await this.indicator(e,t)+(e.pad||""),i=await this.resolve(e.hint,this.state,e,t);i&&!n.hasColor(i)&&(i=this.styles.muted(i));let s=this.indent(e),a=await this.choiceMessage(e,t),c=()=>[this.margin[3],s+A+o,a,this.margin[1],i].filter(Boolean).join(" ");return"heading"===e.role?c():e.disabled?(n.hasColor(a)||(a=this.styles.disabled(a)),c()):(r&&(a=this.styles.em(a)),c())}async renderChoices(){if("choices"===this.state.loading)return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let r,A=this.margin[0]+t.join("\n");return this.options.choicesHeader&&(r=await this.resolve(this.options.choicesHeader,this.state)),[r,A].filter(Boolean).join("\n")}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,r="",A=await this.header(),n=await this.prefix(),o=await this.separator(),i=await this.message();!1!==this.options.promptLine&&(r=[n,i,o,""].join(" "),this.state.prompt=r);let s=await this.format(),a=await this.error()||await this.hint(),c=await this.renderChoices(),g=await this.footer();s&&(r+=s),a&&!r.includes(a)&&(r+=" "+a),e&&!s&&!c.trim()&&this.multiple&&null!=this.emptyError&&(r+=this.styles.danger(this.emptyError)),this.clear(t),this.write([A,r,c,g].filter(Boolean).join("\n")),this.write(this.margin[2]),this.restore()}}},98094:(e,t,r)=>{"use strict";const A=r(97991),n=r(84368),o=r(58386);e.exports=class extends o{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await n(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},!0!==e&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){t.code||t.ctrl||null==e||!this.getItem()?this.alert():this.append(e,t)}append(e,t){let r=this.getItem(),A=r.input.slice(0,this.cursor),n=r.input.slice(this.cursor);this.input=r.input=`${A}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),r=e.input.slice(0,this.cursor-1);this.input=e.input=`${r}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return!0===this.state.submitted&&100!==this.state.completed&&(t=this.styles.danger),t(this.state.completed+"% completed")}async render(){let{index:e,keys:t=[],submitted:r,size:A}=this.state,n=[this.options.newline,"\n"].find(e=>null!=e),o=await this.prefix(),i=await this.separator(),s=[o,await this.message(),i].filter(Boolean).join(" ");this.state.prompt=s;let a=await this.header(),c=await this.error()||"",g=await this.hint()||"",l=r?"":await this.interpolate(this.state),u=this.state.key=t[e]||"",h=await this.format(u),p=await this.footer();h&&(s+=" "+h),g&&!h&&0===this.state.completed&&(s+=" "+g),this.clear(A);let d=[a,s,l,p,c.trim()];this.write(d.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:t,keys:r,index:A}=this.state,n=t.find(e=>e.name===r[A]);return n&&null!=n.input&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){"function"!=typeof this.interpolate&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:r,values:n}=this.state;if(e.size){let t="";for(let[r,A]of e)t+=`Invalid ${r}: ${A}\n`;return this.state.error=t,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=A.unstyle(r).split("\n").map(e=>e.slice(1)).join("\n");return this.value={values:n,result:o},super.submit()}}},60042:(e,t,r)=>{"use strict";const A="(Use + to sort)",n=r(31557);e.exports=class extends n{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,A].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let r=await super.renderChoice(e,t),A=this.symbols.identicalTo+" ",n=this.index===t&&this.sorting?this.styles.muted(A):" ";return!1===this.options.drag&&(n=""),!0===this.options.numbered?n+(t+1+" - ")+r:n+r}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}}},25223:(e,t,r)=>{"use strict";const A=r(14723);function n(e,t={}){if(Array.isArray(t.scale))return t.scale.map(e=>({...e}));let r=[];for(let t=1;tthis.styles.muted(e)),this.state.header=e.join("\n ")}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let e of t)e.scale=n(5,this.options),e.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],r=t.selected;return e.scale.forEach(e=>e.selected=!1),t.selected=!r,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let r=this.index===t,A="Hyper"===this.term,n=A?9:8,o=A?"":" ",i=this.symbols.line.repeat(n),s=" ".repeat(n+(A?0:1)),a=e=>(e?this.styles.success("◉"):"◯")+o,c=t+1+".",g=r?this.styles.heading:this.styles.noop,l=await this.resolve(e.message,this.state,e,t),u=this.indent(e),h=u+e.scale.map((t,r)=>a(r===e.scaleIdx)).join(i),p=u+e.scale.map((t,r)=>(t=>t===e.scaleIdx?g(t):t)(r)).join(s);return r&&(h=this.styles.cyan(h),p=this.styles.cyan(p)),[[c,l].filter(Boolean).join(" "),h,p," "].filter(Boolean).join("\n")}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(e,t)=>await this.renderChoice(e,t)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join("\n")}format(){if(this.state.submitted){return this.choices.map(e=>this.styles.info(e.scaleIdx)).join(", ")}return""}async render(){let{submitted:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=[r,await this.message(),A].filter(Boolean).join(" ");this.state.prompt=n;let o=await this.header(),i=await this.format(),s=await this.error()||await this.hint(),a=await this.renderChoices(),c=await this.footer();!i&&s||(n+=" "+i),s&&!n.includes(s)&&(n+=" "+s),e&&!i&&!a&&this.multiple&&"form"!==this.type&&(n+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,o,a,c].filter(Boolean).join("\n")),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}}},97298:(e,t,r)=>{e.exports=r(12372)},41817:(e,t,r)=>{"use strict";const A=r(82710);e.exports=class extends A{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(!0===this.value)return this.alert();this.value=!0,this.render()}disable(){if(!1===this.value)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=e=>this.styles.primary.underline(e);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),r=await this.prefix(),A=await this.separator(),n=await this.message(),o=await this.format(),i=await this.error()||await this.hint(),s=await this.footer(),a=[r,n,A,o].join(" ");this.state.prompt=a,i&&!a.includes(i)&&(a+=" "+i),this.clear(e),this.write([t,a,s].filter(Boolean).join("\n")),this.write(this.margin[2]),this.restore()}}},27011:(e,t,r)=>{"use strict";const A=r(10278),n={default:(e,t)=>t,checkbox(e,t){throw new Error("checkbox role is not implemented yet")},editable(e,t){throw new Error("editable role is not implemented yet")},expandable(e,t){throw new Error("expandable role is not implemented yet")},heading:(e,t)=>(t.disabled="",t.indicator=[t.indicator," "].find(e=>null!=e),t.message=t.message||"",t),input(e,t){throw new Error("input role is not implemented yet")},option:(e,t)=>n.default(e,t),radio(e,t){throw new Error("radio role is not implemented yet")},separator:(e,t)=>(t.disabled="",t.indicator=[t.indicator," "].find(e=>null!=e),t.message=t.message||e.symbols.line.repeat(5),t),spacer:(e,t)=>t};e.exports=(e,t={})=>{let r=A.merge({},n,t.roles);return r[e]||r.default}},61807:(e,t,r)=>{"use strict";const{define:A,width:n}=r(10278);e.exports=class{constructor(e){let t=e.options;A(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=n(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return"function"==typeof t?t:e.pending}set loading(e){this._loading=e}get loading(){return"boolean"==typeof this._loading?this._loading:!!this.loadingChoices&&"choices"}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}}},64402:(e,t,r)=>{"use strict";const A=r(10278),n=r(97991),o={default:n.noop,noop:n.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||A.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||A.complement(this.primary)},primary:n.cyan,success:n.green,danger:n.magenta,strong:n.bold,warning:n.yellow,muted:n.dim,disabled:n.gray,dark:n.dim.gray,underline:n.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse},merge:(e={})=>{e.styles&&"boolean"==typeof e.styles.enabled&&(n.enabled=e.styles.enabled),e.styles&&"boolean"==typeof e.styles.visible&&(n.visible=e.styles.visible);let t=A.merge({},o,e.styles);delete t.merge;for(let e of Object.keys(n))t.hasOwnProperty(e)||Reflect.defineProperty(t,e,{get:()=>n[e]});for(let e of Object.keys(n.styles))t.hasOwnProperty(e)||Reflect.defineProperty(t,e,{get:()=>n[e]});return t}};e.exports=o},50511:(e,t,r)=>{"use strict";const A="win32"===process.platform,n=r(97991),o=r(10278),i={...n.symbols,upDownDoubleArrow:"⇕",upDownDoubleArrow2:"⬍",upDownArrow:"↕",asterisk:"*",asterism:"⁂",bulletWhite:"◦",electricArrow:"⌁",ellipsisLarge:"⋯",ellipsisSmall:"…",fullBlock:"█",identicalTo:"≡",indicator:n.symbols.check,leftAngle:"‹",mark:"※",minus:"−",multiplication:"×",obelus:"÷",percent:"%",pilcrow:"¶",pilcrow2:"❡",pencilUpRight:"✐",pencilDownRight:"✎",pencilRight:"✏",plus:"+",plusMinus:"±",pointRight:"☞",rightAngle:"›",section:"§",hexagon:{off:"⬡",on:"⬢",disabled:"⬢"},ballot:{on:"☑",off:"☐",disabled:"☒"},stars:{on:"★",off:"☆",disabled:"☆"},folder:{on:"▼",off:"▶",disabled:"▶"},prefix:{pending:n.symbols.question,submitted:n.symbols.check,cancelled:n.symbols.cross},separator:{pending:n.symbols.pointerSmall,submitted:n.symbols.middot,cancelled:n.symbols.middot},radio:{off:A?"( )":"◯",on:A?"(*)":"◉",disabled:A?"(|)":"Ⓘ"},numbers:["⓪","①","②","③","④","⑤","⑥","⑦","⑧","⑨","⑩","⑪","⑫","⑬","⑭","⑮","⑯","⑰","⑱","⑲","⑳","㉑","㉒","㉓","㉔","㉕","㉖","㉗","㉘","㉙","㉚","㉛","㉜","㉝","㉞","㉟","㊱","㊲","㊳","㊴","㊵","㊶","㊷","㊸","㊹","㊺","㊻","㊼","㊽","㊾","㊿"]};i.merge=e=>{let t=o.merge({},n.symbols,i,e.symbols);return delete t.merge,t},e.exports=i},26205:(e,t,r)=>{"use strict";const A=r(64402),n=r(50511),o=r(10278);e.exports=e=>{e.options=o.merge({},e.options.theme,e.options),e.symbols=n.merge(e.options),e.styles=A.merge(e.options)}},47159:e=>{"use strict";function t(e,t,r={}){let A=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},n=r.interval||120;A.frames=r.frames||[],A.loading=!0;let o=setInterval(()=>{A.ms=Date.now()-A.start,A.tick++,e.render()},n);return A.stop=()=>{A.loading=!1,clearInterval(o)},Reflect.defineProperty(A,"interval",{value:o}),e.once("close",()=>A.stop()),A.stop}e.exports=e=>{e.timers=e.timers||{};let r=e.options.timers;if(r)for(let A of Object.keys(r)){let n=r[A];"number"==typeof n&&(n={interval:n}),t(e,A,n)}}},14723:(e,t,r)=>{"use strict";const A=r(97991),n=r(58386),o=r(27011),i=r(10278),{reorder:s,scrollUp:a,scrollDown:c,isObject:g,swap:l}=i;function u(e,t){if(t instanceof Promise)return t;if("function"==typeof t){if(i.isAsyncFn(t))return t;t=t.call(e,e)}for(let r of t){if(Array.isArray(r.choices)){let t=r.choices.filter(t=>!e.isDisabled(t));r.enabled=t.every(e=>!0===e.enabled)}!0===e.isDisabled(r)&&delete r.enabled}return t}e.exports=class extends n{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){"function"==typeof this.options.initial&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:r,suggest:A}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(e=>e.enabled=!1),"function"!=typeof A&&0===this.selectable.length)throw new Error("At least one choice must be selectable");g(t)&&(t=Object.keys(t)),Array.isArray(t)?(null!=r&&(this.index=this.findIndex(r)),t.forEach(e=>this.enable(this.find(e))),await this.render()):(null!=r&&(t=r),"string"==typeof t&&(t=this.findIndex(t)),"number"==typeof t&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let r=[],A=0,n=async(e,t)=>{"function"==typeof e&&(e=await e.call(this)),e instanceof Promise&&(e=await e);for(let o=0;o(this.state.loadingChoices=!1,e))}async toChoice(e,t,r){if("function"==typeof e&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),"string"==typeof e&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value,s=o(e.role,this.options);if("string"!=typeof(e=s(this,e)).disabled||e.hint||(e.hint=e.disabled,e.disabled=!0),!0===e.disabled&&null==e.hint&&(e.hint="(disabled)"),null!=e.index)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,i.define(e,"parent",r),e.level=r?r.level+1:1,null==e.indent&&(e.indent=r?r.indent+" ":e.indent||""),e.path=r?r.path+"."+e.name:e.name,e.enabled=!(!this.multiple||this.isDisabled(e)||!e.enabled&&!this.isSelected(e)),this.isDisabled(e)||(this.longest=Math.max(this.longest,A.unstyle(e.message).length));let a={...e};return e.reset=(t=a.input,r=a.value)=>{for(let t of Object.keys(a))e[t]=a[t];e.input=t,e.value=r},null==n&&"function"==typeof e.initial&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),"function"==typeof e.onChoice&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,r){let A=await this.toChoice(e,t,r);return this.choices.push(A),this.index=this.choices.length-1,this.limit=this.choices.length,A}async newItem(e,t,r){let A={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(A,t,r);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return null==e.indent?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return"boolean"!=typeof t&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectede.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(e=>!!e.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();"boolean"!=typeof t&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(e=>this.toggle(e,t));let r=e.parent;for(;r;){let e=r.choices.filter(e=>this.isDisabled(e));r.enabled=e.every(e=>!0===e.enabled),r=r.parent}return u(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=e=>{let t=Number(e);if(t>this.choices.length-1)return this.alert();let r=this.focused,A=this.choices.find(e=>t===e.index);if(!A.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(-1===this.visible.indexOf(A)){let e=s(this.choices),t=e.indexOf(A);if(r.index>t){let r=e.slice(t,t+this.limit),A=e.filter(e=>!r.includes(e));this.choices=r.concat(A)}else{let r=t-this.limit+1;this.choices=e.slice(r).concat(e.slice(0,r))}}return this.index=this.choices.indexOf(A),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(e=>{let r=this.choices.length,A=this.num,n=(r=!1,n)=>{clearTimeout(this.numberTimeout),r&&(n=t(A)),this.num="",e(n)};return"0"===A||1===A.length&&Number(A+"0")>r?n(!0):Number(A)>r?n(!1,this.alert()):void(this.numberTimeout=setTimeout(()=>n(!0),this.delay))})}home(){return this.choices=s(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=s(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,r=this.index;return!1===this.options.scroll&&0===r?this.alert():e>t&&0===r?this.scrollUp():(this.index=(r-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,r=this.index;return!1===this.options.scroll&&r===t-1?this.alert():e>t&&r===t-1?this.scrollDown():(this.index=(r+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=a(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=c(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){return!0===this.options.sort?(this.sorting=!0,this.swap(this.index-1),await this.up(),void(this.sorting=!1)):this.scrollUp(this.index)}async shiftDown(){return!0===this.options.sort?(this.sorting=!0,this.swap(this.index+1),await this.down(),void(this.sorting=!1)):this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){l(this.choices,this.index,e)}isDisabled(e=this.focused){return!(!e||!["disabled","collapsed","hidden","completing","readonly"].some(t=>!0===e[t]))||e&&"heading"===e.role}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(e=>this.isEnabled(e));if(e.choices){let t=e.choices.filter(e=>!this.isDisabled(e));return e.enabled&&t.every(e=>this.isEnabled(e))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((e,r)=>(e[r]=this.find(r,t),e),{})}filter(e,t){let r="function"==typeof e?e:(t,r)=>[t.name,r].includes(e),A=(this.options.multiple?this.state._choices:this.choices).filter(r);return t?A.map(e=>e[t]):A}find(e,t){if(g(e))return t?e[t]:e;let r="function"==typeof e?e:(t,r)=>[t.name,r].includes(e),A=this.choices.find(r);return A?t?A[t]:A:void 0}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(e=>e.newChoice))return this.alert();let{reorder:t,sort:r}=this.options,A=!0===this.multiple,n=this.selected;return void 0===n?this.alert():(Array.isArray(n)&&!1!==t&&!0!==r&&(n=i.reorder(n)),this.value=A?n.map(e=>e.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(e=>e.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let e=this.initial;if("string"==typeof e||"number"==typeof e){let t=this.find(e);t&&(this.initial=t.index,this.focus(t,!0))}}}get choices(){return u(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:r}=this,A=e.limit||this._limit||t.limit||r.length;return Math.min(A,this.height)}set value(e){super.value=e}get value(){return"string"!=typeof super.value&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&!0!==this.multiple&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}}},46614:(e,t,r)=>{"use strict";const A=r(71447),n=()=>{throw new Error("expected prompt to have a custom authenticate method")},o=(e=n)=>class extends A{constructor(e){super(e)}async submit(){this.value=await e.call(this,this.values,this.state),super.base.submit.call(this)}static create(e){return o(e)}};e.exports=o()},82710:(e,t,r)=>{"use strict";const A=r(58386),{isPrimitive:n,hasColor:o}=r(10278);e.exports=class extends A{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:r}=this;return r.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return n(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if("pending"===this.state.status){let e=await this.element("hint");return o(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,r=await this.prefix(),A=await this.separator(),n=[r,await this.message(),this.styles.muted(this.default),A].filter(Boolean).join(" ");this.state.prompt=n;let o=await this.header(),i=this.value=this.cast(e),s=await this.format(i),a=await this.error()||await this.hint(),c=await this.footer();a&&!n.includes(a)&&(s+=" "+a),n+=" "+s,this.clear(t),this.write([o,n,c].filter(Boolean).join("\n")),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}}},13235:(e,t,r)=>{e.exports={ArrayPrompt:r(14723),AuthPrompt:r(46614),BooleanPrompt:r(82710),NumberPrompt:r(64987),StringPrompt:r(45853)}},64987:(e,t,r)=>{"use strict";const A=r(45853);e.exports=class extends A{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=null!=e.delay?e.delay:1e3,this.float=!1!==e.float,this.round=!0===e.round||!1===e.float,this.major=e.major||10,this.minor=e.minor||1,this.initial=null!=e.initial?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||"."===e&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,r=this.toNumber(this.input);return r>this.max+t?this.alert():(this.input=""+(r+t),this.render())}down(e){let t=e||this.minor,r=this.toNumber(this.input);return rthis.isValue(e));return this.value=this.toNumber(e||0),super.submit()}}},45853:(e,t,r)=>{"use strict";const A=r(58386),n=r(96496),{isPrimitive:o}=r(10278);e.exports=class extends A{constructor(e){super(e),this.initial=o(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let r=this.state.prevKeypress;return this.state.prevKeypress=t,!0!==this.options.multiline||"return"!==t.name||r&&"return"===r.name?super.keypress(e,t):this.append("\n",t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:r}=this.state;this.input=(""+r).slice(0,t)+e+(""+r).slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=(""+t).slice(0,e-1)+(""+t).slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(void 0===t[e])return this.alert();this.input=(""+t).slice(0,e)+(""+t).slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(0===e)return this.alert();let t=this.input.slice(0,e),r=this.input.slice(e),A=t.split(" ");this.state.clipboard.push(A.pop()),this.input=A.join(" "),this.cursor=this.input.length,this.input+=r,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=null!=this.initial?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):n(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),r=await this.separator(),A=[t,await this.message(),r].filter(Boolean).join(" ");this.state.prompt=A;let n=await this.header(),o=await this.format(),i=await this.error()||await this.hint(),s=await this.footer();i&&!o.includes(i)&&(o+=" "+i),A+=" "+o,this.clear(e),this.write([n,A,s].filter(Boolean).join("\n")),this.restore()}}},10278:(e,t,r)=>{"use strict";const A=Object.prototype.toString,n=r(97991);let o=!1,i=[];const s={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};t.longest=(e,t)=>e.reduce((e,r)=>Math.max(e,t?r[t].length:r.length),0),t.hasColor=e=>!!e&&n.hasColor(e);const a=t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e);t.nativeType=e=>A.call(e).slice(8,-1).toLowerCase().replace(/\s/g,""),t.isAsyncFn=e=>"asyncfunction"===t.nativeType(e),t.isPrimitive=e=>null!=e&&"object"!=typeof e&&"function"!=typeof e,t.resolve=(e,t,...r)=>"function"==typeof t?t.call(e,...r):t,t.scrollDown=(e=[])=>[...e.slice(1),e[0]],t.scrollUp=(e=[])=>[e.pop(),...e],t.reorder=(e=[])=>{let t=e.slice();return t.sort((e,t)=>e.index>t.index?1:e.index{let A=e.length,n=r===A?0:r<0?A-1:r,o=e[t];e[t]=e[n],e[n]=o},t.width=(e,t=80)=>{let r=e&&e.columns?e.columns:t;return e&&"function"==typeof e.getWindowSize&&(r=e.getWindowSize()[0]),"win32"===process.platform?r-1:r},t.height=(e,t=20)=>{let r=e&&e.rows?e.rows:t;return e&&"function"==typeof e.getWindowSize&&(r=e.getWindowSize()[1]),r},t.wordWrap=(e,t={})=>{if(!e)return e;"number"==typeof t&&(t={width:t});let{indent:r="",newline:A="\n"+r,width:n=80}=t,o=(A+r).match(/[^\S\n]/g)||[];n-=o.length;let i=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,s=e.trim(),a=new RegExp(i,"g"),c=s.match(a)||[];return c=c.map(e=>e.replace(/\n$/,"")),t.padEnd&&(c=c.map(e=>e.padEnd(n," "))),t.padStart&&(c=c.map(e=>e.padStart(n," "))),r+c.join(A)},t.unmute=e=>{let t=e.stack.find(e=>n.keys.color.includes(e));return t?n[t]:e.stack.find(e=>"bg"===e.slice(2))?n[t.slice(2)]:e=>e},t.pascal=e=>e?e[0].toUpperCase()+e.slice(1):"",t.inverse=e=>{if(!e||!e.stack)return e;let r=e.stack.find(e=>n.keys.color.includes(e));if(r){let A=n["bg"+t.pascal(r)];return A?A.black:e}let A=e.stack.find(e=>"bg"===e.slice(0,2));return A?n[A.slice(2).toLowerCase()]||e:n.none},t.complement=e=>{if(!e||!e.stack)return e;let r=e.stack.find(e=>n.keys.color.includes(e)),A=e.stack.find(e=>"bg"===e.slice(0,2));if(r&&!A)return n[s[r]||r];if(A){let r=A.slice(2).toLowerCase(),o=s[r];return o&&n["bg"+t.pascal(o)]||e}return n.none},t.meridiem=e=>{let t=e.getHours(),r=e.getMinutes(),A=t>=12?"pm":"am";return t%=12,(0===t?12:t)+":"+(r<10?"0"+r:r)+" "+A},t.set=(e={},r="",A)=>r.split(".").reduce((e,r,n,o)=>{let i=o.length-1>n?e[r]||{}:A;return!t.isObject(i)&&n{let A=null==e[t]?t.split(".").reduce((e,t)=>e&&e[t],e):e[t];return null==A?r:A},t.mixin=(e,r)=>{if(!a(e))return r;if(!a(r))return e;for(let A of Object.keys(r)){let n=Object.getOwnPropertyDescriptor(r,A);if(n.hasOwnProperty("value"))if(e.hasOwnProperty(A)&&a(n.value)){let o=Object.getOwnPropertyDescriptor(e,A);a(o.value)?e[A]=t.merge({},e[A],r[A]):Reflect.defineProperty(e,A,n)}else Reflect.defineProperty(e,A,n);else Reflect.defineProperty(e,A,n)}return e},t.merge=(...e)=>{let r={};for(let A of e)t.mixin(r,A);return r},t.mixinEmitter=(e,r)=>{let A=r.constructor.prototype;for(let n of Object.keys(A)){let o=A[n];"function"==typeof o?t.define(e,n,o.bind(r)):t.define(e,n,o)}},t.onExit=e=>{const t=(e,t)=>{o||(o=!0,i.forEach(e=>e()),!0===e&&process.exit(128+t))};0===i.length&&(process.once("SIGTERM",t.bind(null,!0,15)),process.once("SIGINT",t.bind(null,!0,2)),process.once("exit",t)),i.push(e)},t.define=(e,t,r)=>{Reflect.defineProperty(e,t,{value:r})},t.defineExport=(e,t,r)=>{let A;Reflect.defineProperty(e,t,{enumerable:!0,configurable:!0,set(e){A=e},get:()=>A?A():r()})}},19347:(e,t,r)=>{"use strict";const A=r(80598),n=r(58182),o=r(67652),i=r(81340),s=r(43754),a=r(16777);async function c(e,t){l(e);const r=g(e,n.default,t),A=await Promise.all(r);return a.array.flatten(A)}function g(e,t,r){const n=[].concat(e),o=new s.default(r),i=A.generate(n,o),a=new t(o);return i.map(a.read,a)}function l(e){if(![].concat(e).every(e=>a.string.isString(e)&&!a.string.isEmpty(e)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}!function(e){e.sync=function(e,t){l(e);const r=g(e,i.default,t);return a.array.flatten(r)},e.stream=function(e,t){l(e);const r=g(e,o.default,t);return a.stream.merge(r)},e.generateTasks=function(e,t){l(e);const r=[].concat(e),n=new s.default(t);return A.generate(r,n)},e.isDynamicPattern=function(e,t){l(e);const r=new s.default(t);return a.pattern.isDynamicPattern(e,r)},e.escapePath=function(e){return l(e),a.path.escape(e)}}(c||(c={})),e.exports=c},80598:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);function n(e,t,r){const A=s(e);if("."in A){return[c(".",e,t,r)]}return a(A,t,r)}function o(e){return A.pattern.getPositivePatterns(e)}function i(e,t){return A.pattern.getNegativePatterns(e).concat(t).map(A.pattern.convertToPositivePattern)}function s(e){return e.reduce((e,t)=>{const r=A.pattern.getBaseDirectory(t);return r in e?e[r].push(t):e[r]=[t],e},{})}function a(e,t,r){return Object.keys(e).map(A=>c(A,e[A],t,r))}function c(e,t,r,n){return{dynamic:n,positive:t,negative:r,base:e,patterns:[].concat(t,r.map(A.pattern.convertToNegativePattern))}}t.generate=function(e,t){const r=o(e),s=i(e,t.ignore),a=r.filter(e=>A.pattern.isStaticPattern(e,t)),c=r.filter(e=>A.pattern.isDynamicPattern(e,t)),g=n(a,s,!1),l=n(c,s,!0);return g.concat(l)},t.convertPatternsToTasks=n,t.getPositivePatterns=o,t.getNegativePatternsAsPositive=i,t.groupPatternsByBaseDirectory=s,t.convertPatternGroupsToTasks=a,t.convertPatternGroupToTask=c},58182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(82774),n=r(40545);class o extends n.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e),A=[];return new Promise((n,o)=>{const i=this.api(t,e,r);i.once("error",o),i.on("data",e=>A.push(r.transform(e))),i.once("end",()=>n(A))})}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=o},65989:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777),n=r(42585);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,r){const A=this._getMatcher(t),n=this._getNegativePatternsRe(r);return t=>this._filter(e,t,A,n)}_getMatcher(e){return new n.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){const t=e.filter(A.pattern.isAffectDepthOfReadingPattern);return A.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,r,n){const o=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(o))return!1;if(this._isSkippedSymbolicLink(t))return!1;const i=A.path.removeLeadingDotSegment(t.path);return!this._isSkippedByPositivePatterns(i,r)&&this._isSkippedByNegativePatterns(i,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){const r=e.split("/").length;return t.split("/").length-(""===e?0:r)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!A.pattern.matchAny(e,t)}}},37338:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){const r=A.pattern.convertPatternsToRe(e,this._micromatchOptions),n=A.pattern.convertPatternsToRe(t,this._micromatchOptions);return e=>this._filter(e,r,n)}_filter(e,t,r){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e))return!1;if(this._isSkippedByAbsoluteNegativePatterns(e,r))return!1;const A=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(A,t)&&!this._isMatchToPatterns(e.path,r)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;const r=A.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(r,t)}_isMatchToPatterns(e,t){const r=A.path.removeLeadingDotSegment(e);return A.pattern.matchAny(r,t)}}},54345:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return A.errno.isEnoentCodeError(e)||this._settings.suppressErrors}}},34789:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e,t,r){this._patterns=e,this._settings=t,this._micromatchOptions=r,this._storage=[],this._fillStorage()}_fillStorage(){const e=A.pattern.expandPatternsWithBraceExpansion(this._patterns);for(const t of e){const e=this._getPatternSegments(t),r=this._splitSegmentsIntoSections(e);this._storage.push({complete:r.length<=1,pattern:t,segments:e,sections:r})}}_getPatternSegments(e){return A.pattern.getPatternParts(e,this._micromatchOptions).map(e=>A.pattern.isDynamicPattern(e,this._settings)?{dynamic:!0,pattern:e,patternRe:A.pattern.makeRe(e,this._micromatchOptions)}:{dynamic:!1,pattern:e})}_splitSegmentsIntoSections(e){return A.array.splitWhen(e,e=>e.dynamic&&A.pattern.hasGlobStar(e.pattern))}}},42585:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(34789);class n extends A.default{match(e){const t=e.split("/"),r=t.length,A=this._storage.filter(e=>!e.complete||e.segments.length>r);for(const e of A){const A=e.sections[0];if(!e.complete&&r>A.length)return!0;if(t.every((t,r)=>{const A=e.segments[r];return!(!A.dynamic||!A.patternRe.test(t))||!A.dynamic&&A.pattern===t}))return!0}return!1}}t.default=n},40545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(65989),o=r(37338),i=r(54345),s=r(77541);t.default=class{constructor(e){this._settings=e,this.errorFilter=new i.default(this._settings),this.entryFilter=new o.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new n.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new s.default(this._settings)}_getRootDirectory(e){return A.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){const t="."===e.base?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}}},67652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(82774),o=r(40545);class i extends o.default{constructor(){super(...arguments),this._reader=new n.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e),n=this.api(t,e,r),o=new A.Readable({objectMode:!0,read:()=>{}});return n.once("error",e=>o.emit("error",e)).on("data",e=>o.emit("data",r.transform(e))).once("end",()=>o.emit("end")),o.once("close",()=>n.destroy()),o}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=i},81340:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(29543),n=r(40545);class o extends n.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),r=this._getReaderOptions(e);return this.api(t,e,r).map(r.transform)}api(e,t,r){return t.dynamic?this._reader.dynamic(e,r):this._reader.static(t.patterns,r)}}t.default=o},77541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(16777);t.default=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=A.path.makeAbsolute(this._settings.cwd,t),t=A.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}}},99458:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(53403),o=r(16777);t.default=class{constructor(e){this._settings=e,this._fsStatSettings=new n.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return A.resolve(this._settings.cwd,e)}_makeEntry(e,t){const r={name:t,path:t,dirent:o.fs.createDirentFromStats(t,e)};return this._settings.stats&&(r.stats=e),r}_isFatalError(e){return!o.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}}},82774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(92413),n=r(53403),o=r(72897),i=r(99458);class s extends i.default{constructor(){super(...arguments),this._walkStream=o.walkStream,this._stat=n.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){const r=e.map(this._getFullEntryPath,this),n=new A.PassThrough({objectMode:!0});n._write=(A,o,i)=>this._getEntry(r[A],e[A],t).then(e=>{null!==e&&t.entryFilter(e)&&n.push(e),A===r.length-1&&n.end(),i()}).catch(i);for(let e=0;ethis._makeEntry(e,t)).catch(e=>{if(r.errorFilter(e))return null;throw e})}_getStat(e){return new Promise((t,r)=>{this._stat(e,this._fsStatSettings,(e,A)=>null===e?t(A):r(e))})}}t.default=s},29543:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(53403),n=r(72897),o=r(99458);class i extends o.default{constructor(){super(...arguments),this._walkSync=n.walkSync,this._statSync=A.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){const r=[];for(const A of e){const e=this._getFullEntryPath(A),n=this._getEntry(e,A,t);null!==n&&t.entryFilter(n)&&r.push(n)}return r}_getEntry(e,t,r){try{const r=this._getStat(e);return this._makeEntry(r,t)}catch(e){if(r.errorFilter(e))return null;throw e}}_getStat(e){return this._statSync(e,this._fsStatSettings)}}t.default=i},43754:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747),n=r(12087).cpus().length;t.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:A.lstat,lstatSync:A.lstatSync,stat:A.stat,statSync:A.statSync,readdir:A.readdir,readdirSync:A.readdirSync};t.default=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,n),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return void 0===e?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},t.DEFAULT_FILE_SYSTEM_ADAPTER),e)}}},60919:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flatten=function(e){return e.reduce((e,t)=>[].concat(e,t),[])},t.splitWhen=function(e,t){const r=[[]];let A=0;for(const n of e)t(n)?(A++,r[A]=[]):r[A].push(n);return r}},35525:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEnoentCodeError=function(e){return"ENOENT"===e.code}},62524:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},16777:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(60919);t.array=A;const n=r(35525);t.errno=n;const o=r(62524);t.fs=o;const i=r(71462);t.path=i;const s=r(14659);t.pattern=s;const a=r(2042);t.stream=a;const c=r(10217);t.string=c},71462:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;t.unixify=function(e){return e.replace(/\\/g,"/")},t.makeAbsolute=function(e,t){return A.resolve(e,t)},t.escape=function(e){return e.replace(n,"\\$2")},t.removeLeadingDotSegment=function(e){if("."===e.charAt(0)){const t=e.charAt(1);if("/"===t||"\\"===t)return e.slice(2)}return e}},14659:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(85622),n=r(97098),o=r(2401),i=r(54722),s=/[*?]|^!/,a=/\[.*]/,c=/(?:^|[^!*+?@])\(.*\|.*\)/,g=/[!*+?@]\(.*\)/,l=/{.*(?:,|\.\.).*}/;function u(e,t={}){return!h(e,t)}function h(e,t={}){return!(!1!==t.caseSensitiveMatch&&!e.includes("\\"))||(!!(s.test(e)||a.test(e)||c.test(e))||(!(!1===t.extglob||!g.test(e))||!(!1===t.braceExpansion||!l.test(e))))}function p(e){return e.startsWith("!")&&"("!==e[1]}function d(e){return!p(e)}function C(e){return e.endsWith("/**")}function f(e){return o.braces(e,{expand:!0,nodupes:!0})}function I(e,t){return o.makeRe(e,t)}t.isStaticPattern=u,t.isDynamicPattern=h,t.convertToPositivePattern=function(e){return p(e)?e.slice(1):e},t.convertToNegativePattern=function(e){return"!"+e},t.isNegativePattern=p,t.isPositivePattern=d,t.getNegativePatterns=function(e){return e.filter(p)},t.getPositivePatterns=function(e){return e.filter(d)},t.getBaseDirectory=function(e){return n(e,{flipBackslashes:!1})},t.hasGlobStar=function(e){return e.includes("**")},t.endsWithSlashGlobStar=C,t.isAffectDepthOfReadingPattern=function(e){const t=A.basename(e);return C(e)||u(t)},t.expandPatternsWithBraceExpansion=function(e){return e.reduce((e,t)=>e.concat(f(t)),[])},t.expandBraceExpansion=f,t.getPatternParts=function(e,t){const r=i.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return 0===r.parts.length?[e]:r.parts},t.makeRe=I,t.convertPatternsToRe=function(e,t){return e.map(e=>I(e,t))},t.matchAny=function(e,t){return t.some(t=>t.test(e))}},2042:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(55598);function n(e){e.forEach(e=>e.emit("close"))}t.merge=function(e){const t=A(e);return e.forEach(e=>{e.once("error",e=>t.emit("error",e))}),t.once("close",()=>n(e)),t.once("end",()=>n(e)),t}},10217:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isString=function(e){return"string"==typeof e},t.isEmpty=function(e){return""===e}},98360:(e,t,r)=>{"use strict";var A=r(2383);function n(){}function o(){this.value=null,this.callback=n,this.next=null,this.release=n,this.context=null;var e=this;this.worked=function(t,r){var A=e.callback;e.value=null,e.callback=n,A.call(e.context,t,r),e.release(e)}}e.exports=function(e,t,r){"function"==typeof e&&(r=t,t=e,e=null);var i=A(o),s=null,a=null,c=0,g={push:function(r,A){var o=i.get();o.context=e,o.release=l,o.value=r,o.callback=A||n,c===g.concurrency||g.paused?a?(a.next=o,a=o):(s=o,a=o,g.saturated()):(c++,t.call(e,o.value,o.worked))},drain:n,saturated:n,pause:function(){g.paused=!0},paused:!1,concurrency:r,running:function(){return c},resume:function(){if(!g.paused)return;g.paused=!1;for(var e=0;e{"use strict";class A{constructor(e,t,r){this.__specs=e||{},Object.keys(this.__specs).forEach(e=>{if("string"==typeof this.__specs[e]){const t=this.__specs[e],r=this.__specs[t];if(!r)throw new Error(`Alias refers to invalid key: ${t} -> ${e}`);{const A=r.aliases||[];A.push(e,t),r.aliases=[...new Set(A)],this.__specs[e]=r}}}),this.__opts=t||{},this.__providers=s(r.filter(e=>null!=e&&"object"==typeof e)),this.__isFiggyPudding=!0}get(e){return n(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[r,A]of this.entries())e.call(t,A,r,this)}toJSON(){const e={};return this.forEach((t,r)=>{e[r]=t}),e}*entries(e){for(let e of Object.keys(this.__specs))yield[e,this.get(e)];const t=e||this.__opts.other;if(t){const e=new Set;for(let r of this.__providers){const A=r.entries?r.entries(t):a(r);for(let[r,n]of A)t(r)&&!e.has(r)&&(e.add(r),yield[r,n])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new A(this.__specs,this.__opts,s(this.__providers).concat(e)),i)}}try{const e=r(31669);A.prototype[e.inspect.custom]=function(t,r){return this[Symbol.toStringTag]+" "+e.inspect(this.toJSON(),r)}}catch(e){}function n(e,t,r){let A=e.__specs[t];if(!r||A||e.__opts.other&&e.__opts.other(t)){let r;A||(A={});for(let n of e.__providers){if(r=o(t,n),void 0===r&&A.aliases&&A.aliases.length)for(let e of A.aliases)if(e!==t&&(r=o(e,n),void 0!==r))break;if(void 0!==r)break}return void 0===r&&void 0!==A.default?"function"==typeof A.default?A.default(e):A.default:r}!function(e){throw Object.assign(new Error("invalid config key requested: "+e),{code:"EBADKEY"})}(t)}function o(e,t){let r;return r=t.__isFiggyPudding?n(t,e,!1):"function"==typeof t.get?t.get(e):t[e],r}const i={has:(e,t)=>t in e.__specs&&void 0!==n(e,t,!1),ownKeys:e=>Object.keys(e.__specs),get:(e,t)=>"symbol"==typeof t||"__"===t.slice(0,2)||t in A.prototype?e[t]:e.get(t),set(e,t,r){if("symbol"==typeof t||"__"===t.slice(0,2))return e[t]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};function s(e){const t=[];return e.forEach(e=>t.unshift(e)),t}function a(e){return Object.keys(e).map(t=>[t,e[t]])}e.exports=function(e,t){return function(...r){return new Proxy(new A(e,t,r),i)}}},52169:(e,t,r)=>{"use strict"; -/*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */const A=r(31669),n=r(84615),o=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),i=e=>"number"==typeof e||"string"==typeof e&&""!==e,s=e=>Number.isInteger(+e),a=e=>{let t=""+e,r=-1;if("-"===t[0]&&(t=t.slice(1)),"0"===t)return!1;for(;"0"===t[++r];);return r>0},c=(e,t,r)=>{if(t>0){let r="-"===e[0]?"-":"";r&&(e=e.slice(1)),e=r+e.padStart(r?t-1:t,"0")}return!1===r?String(e):e},g=(e,t)=>{let r="-"===e[0]?"-":"";for(r&&(e=e.slice(1),t--);e.length{if(r)return n(e,t,{wrap:!1,...A});let o=String.fromCharCode(e);return e===t?o:`[${o}-${String.fromCharCode(t)}]`},u=(e,t,r)=>{if(Array.isArray(e)){let t=!0===r.wrap,A=r.capture?"":"?:";return t?`(${A}${e.join("|")})`:e.join("|")}return n(e,t,r)},h=(...e)=>new RangeError("Invalid range arguments: "+A.inspect(...e)),p=(e,t,r)=>{if(!0===r.strictRanges)throw h([e,t]);return[]},d=(e,t,r=1,A={})=>{let n=Number(e),o=Number(t);if(!Number.isInteger(n)||!Number.isInteger(o)){if(!0===A.strictRanges)throw h([e,t]);return[]}0===n&&(n=0),0===o&&(o=0);let i=n>o,s=String(e),p=String(t),d=String(r);r=Math.max(Math.abs(r),1);let C=a(s)||a(p)||a(d),f=C?Math.max(s.length,p.length,d.length):0,I=!1===C&&!1===((e,t,r)=>"string"==typeof e||"string"==typeof t||!0===r.stringify)(e,t,A),E=A.transform||(e=>t=>!0===e?Number(t):String(t))(I);if(A.toRegex&&1===r)return l(g(e,f),g(t,f),!0,A);let B={negatives:[],positives:[]},y=[],m=0;for(;i?n>=o:n<=o;)!0===A.toRegex&&r>1?B[(w=n)<0?"negatives":"positives"].push(Math.abs(w)):y.push(c(E(n,m),f,I)),n=i?n-r:n+r,m++;var w;return!0===A.toRegex?r>1?((e,t)=>{e.negatives.sort((e,t)=>et?1:0),e.positives.sort((e,t)=>et?1:0);let r,A=t.capture?"":"?:",n="",o="";return e.positives.length&&(n=e.positives.join("|")),e.negatives.length&&(o=`-(${A}${e.negatives.join("|")})`),r=n&&o?`${n}|${o}`:n||o,t.wrap?`(${A}${r})`:r})(B,A):u(y,null,{wrap:!1,...A}):y},C=(e,t,r,A={})=>{if(null==t&&i(e))return[e];if(!i(e)||!i(t))return p(e,t,A);if("function"==typeof r)return C(e,t,1,{transform:r});if(o(r))return C(e,t,0,r);let n={...A};return!0===n.capture&&(n.wrap=!0),r=r||n.step||1,s(r)?s(e)&&s(t)?d(e,t,r,n):((e,t,r=1,A={})=>{if(!s(e)&&e.length>1||!s(t)&&t.length>1)return p(e,t,A);let n=A.transform||(e=>String.fromCharCode(e)),o=(""+e).charCodeAt(0),i=(""+t).charCodeAt(0),a=o>i,c=Math.min(o,i),g=Math.max(o,i);if(A.toRegex&&1===r)return l(c,g,!1,A);let h=[],d=0;for(;a?o>=i:o<=i;)h.push(n(o,d)),o=a?o-r:o+r,d++;return!0===A.toRegex?u(h,null,{wrap:!1,options:A}):h})(e,t,Math.max(Math.abs(r),1),n):null==r||o(r)?C(e,t,1,r):((e,t)=>{if(!0===t.strictRanges)throw new TypeError(`Expected step "${e}" to be a number`);return[]})(r,n)};e.exports=C},50683:e=>{e.exports=function(e){return[...e].reduce((e,[t,r])=>(e[t]=r,e),{})}},13302:(e,t,r)=>{e.exports=r(35747).constants||r(27619)},72137:(e,t,r)=>{"use strict";const{PassThrough:A}=r(92413);e.exports=e=>{e={...e};const{array:t}=e;let{encoding:r}=e;const n="buffer"===r;let o=!1;t?o=!(r||n):r=r||"utf8",n&&(r=null);const i=new A({objectMode:o});r&&i.setEncoding(r);let s=0;const a=[];return i.on("data",e=>{a.push(e),o?s=a.length:s+=e.length}),i.getBufferedValue=()=>t?a:n?Buffer.concat(a,s):a.join(""),i.getBufferedLength=()=>s,i}},58764:(e,t,r)=>{"use strict";const A=r(50372),n=r(72137);class o extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function i(e,t){if(!e)return Promise.reject(new Error("Expected a stream"));t={maxBuffer:1/0,...t};const{maxBuffer:r}=t;let i;return await new Promise((s,a)=>{const c=e=>{e&&(e.bufferedData=i.getBufferedValue()),a(e)};i=A(e,n(t),e=>{e?c(e):s()}),i.on("data",()=>{i.getBufferedLength()>r&&c(new o)})}),i.getBufferedValue()}e.exports=i,e.exports.default=i,e.exports.buffer=(e,t)=>i(e,{...t,encoding:"buffer"}),e.exports.array=(e,t)=>i(e,{...t,array:!0}),e.exports.MaxBufferError=o},97098:(e,t,r)=>{"use strict";var A=r(18193),n=r(85622).posix.dirname,o="win32"===r(12087).platform(),i=/\\/g,s=/[\{\[].*[\/]*.*[\}\]]$/,a=/(^|[^\\])([\{\[]|\([^\)]+$)/,c=/\\([\*\?\|\[\]\(\)\{\}])/g;e.exports=function(e,t){Object.assign({flipBackslashes:!0},t).flipBackslashes&&o&&e.indexOf("/")<0&&(e=e.replace(i,"/")),s.test(e)&&(e+="/"),e+="a";do{e=n(e)}while(A(e)||a.test(e));return e.replace(c,"$1")}},90734:(e,t,r)=>{"use strict";const{promisify:A}=r(31669),n=r(35747),o=r(85622),i=r(19347),s=r(46458),a=r(17234),c=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],g=A(n.readFile),l=(e,t)=>{const r=a(o.relative(t.cwd,o.dirname(t.fileName)));return e.split(/\r?\n/).filter(Boolean).filter(e=>!e.startsWith("#")).map((e=>t=>t.startsWith("!")?"!"+o.posix.join(e,t.slice(1)):o.posix.join(e,t))(r))},u=e=>e.reduce((e,t)=>(e.add(l(t.content,{cwd:t.cwd,fileName:t.filePath})),e),s()),h=(e,t)=>r=>e.ignores(a(o.relative(t,((e,t)=>{if(e=a(e),o.isAbsolute(t)){if(t.startsWith(e))return t;throw new Error(`Path ${t} is not in cwd ${e}`)}return o.join(e,t)})(t,r)))),p=({ignore:e=[],cwd:t=a(process.cwd())}={})=>({ignore:e,cwd:t});e.exports=async e=>{e=p(e);const t=await i("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}),r=await Promise.all(t.map(t=>(async(e,t)=>{const r=o.join(t,e);return{cwd:t,filePath:r,content:await g(r,"utf8")}})(t,e.cwd))),A=u(r);return h(A,e.cwd)},e.exports.sync=e=>{e=p(e);const t=i.sync("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}).map(t=>((e,t)=>{const r=o.join(t,e);return{cwd:t,filePath:r,content:n.readFileSync(r,"utf8")}})(t,e.cwd)),r=u(t);return h(r,e.cwd)}},58592:(e,t,r)=>{"use strict";const A=r(35747),n=r(39920),o=r(55598),i=r(19347),s=r(66241),a=r(90734),{FilterStream:c,UniqueStream:g}=r(66160),l=()=>!1,u=e=>"!"===e[0],h=(e,t)=>{(e=>{if(!e.every(e=>"string"==typeof e))throw new TypeError("Patterns must be a string or an array of strings")})(e=n([].concat(e))),((e={})=>{if(!e.cwd)return;let t;try{t=A.statSync(e.cwd)}catch(e){return}if(!t.isDirectory())throw new Error("The `cwd` option must be a path to a directory")})(t);const r=[];t={ignore:[],expandDirectories:!0,...t};for(const[A,n]of e.entries()){if(u(n))continue;const o=e.slice(A).filter(u).map(e=>e.slice(1)),i={...t,ignore:t.ignore.concat(o)};r.push({pattern:n,options:i})}return r},p=(e,t)=>e.options.expandDirectories?((e,t)=>{let r={};return e.options.cwd&&(r.cwd=e.options.cwd),Array.isArray(e.options.expandDirectories)?r={...r,files:e.options.expandDirectories}:"object"==typeof e.options.expandDirectories&&(r={...r,...e.options.expandDirectories}),t(e.pattern,r)})(e,t):[e.pattern],d=e=>e&&e.gitignore?a.sync({cwd:e.cwd,ignore:e.ignore}):l,C=e=>t=>{const{options:r}=e;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=s.sync(r.ignore)),{pattern:t,options:r}};e.exports=async(e,t)=>{const r=h(e,t),[o,c]=await Promise.all([(async()=>t&&t.gitignore?a({cwd:t.cwd,ignore:t.ignore}):l)(),(async()=>{const e=await Promise.all(r.map(async e=>{const t=await p(e,s);return Promise.all(t.map(C(e)))}));return n(...e)})()]),g=await Promise.all(c.map(e=>i(e.pattern,e.options)));return n(...g).filter(e=>{return!o((t=e,t.stats instanceof A.Stats?t.path:t));var t})},e.exports.sync=(e,t)=>{const r=h(e,t).reduce((e,t)=>{const r=p(t,s.sync).map(C(t));return e.concat(r)},[]),A=d(t);return r.reduce((e,t)=>n(e,i.sync(t.pattern,t.options)),[]).filter(e=>!A(e))},e.exports.stream=(e,t)=>{const r=h(e,t).reduce((e,t)=>{const r=p(t,s.sync).map(C(t));return e.concat(r)},[]),A=d(t),n=new c(e=>!A(e)),a=new g;return o(r.map(e=>i.stream(e.pattern,e.options))).pipe(n).pipe(a)},e.exports.generateGlobTasks=h,e.exports.hasMagic=(e,t)=>[].concat(e).some(e=>i.isDynamicPattern(e,t)),e.exports.gitignore=a},66160:(e,t,r)=>{"use strict";const{Transform:A}=r(92413);class n extends A{constructor(){super({objectMode:!0})}}e.exports={FilterStream:class extends n{constructor(e){super(),this._filter=e}_transform(e,t,r){this._filter(e)&&this.push(e),r()}},UniqueStream:class extends n{constructor(){super(),this._pushed=new Set}_transform(e,t,r){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),r()}}}},93576:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(14756);t.default=function(e,...t){const r=(async()=>{if(e instanceof A.RequestError)try{for(const r of t)if(r)for(const t of r)e=await t(e)}catch(t){e=t}throw e})(),n=()=>r;return r.json=n,r.text=n,r.buffer=n,r.on=n,r}},81588:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0});const o=r(28614),i=r(7966),s=r(59351),a=r(14756),c=r(54718),g=r(9048),l=r(51743),u=r(57854),h=r(38206),p=["request","response","redirect","uploadProgress","downloadProgress"];t.default=function e(t){let r,A;const n=new o.EventEmitter,d=new s((o,s,C)=>{const f=I=>{const E=new g.default(void 0,t);E.retryCount=I,E._noPipe=!0,C(()=>E.destroy()),C.shouldReject=!1,C(()=>s(new a.CancelError(E))),r=E,E.once("response",async t=>{var r;if(t.retryCount=I,t.request.aborted)return;let n;try{n=await u.default(E),t.rawBody=n}catch(e){return}if(E._isAboutToError)return;const i=(null!==(r=t.headers["content-encoding"])&&void 0!==r?r:"").toLowerCase(),s=["gzip","deflate","br"].includes(i),{options:l}=E;if(s&&!l.decompress)t.body=n;else try{t.body=c.default(t,l.responseType,l.parseJson,l.encoding)}catch(e){if(t.body=n.toString(),h.isResponseOk(t))return void E._beforeError(e)}try{for(const[r,A]of l.hooks.afterResponse.entries())t=await A(t,async t=>{const A=g.default.normalizeArguments(void 0,{...t,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},l);A.hooks.afterResponse=A.hooks.afterResponse.slice(0,r);for(const e of A.hooks.beforeRetry)await e(A);const n=e(A);return C(()=>{n.catch(()=>{}),n.cancel()}),n})}catch(e){return void E._beforeError(new a.RequestError(e.message,e,E))}h.isResponseOk(t)?(A=t,o(E.options.resolveBodyOnly?t.body:t)):E._beforeError(new a.HTTPError(t))});const B=e=>{if(d.isCanceled)return;const{options:t}=E;if(e instanceof a.HTTPError&&!t.throwHttpErrors){const{response:t}=e;o(E.options.resolveBodyOnly?t.body:t)}else s(e)};E.once("error",B),E.once("retry",(e,t)=>{var r;i.default.nodeStream(null===(r=t.request)||void 0===r?void 0:r.options.body)?B(t):f(e)}),l.default(E,n,p)};f(0)});d.on=(e,t)=>(n.on(e,t),d);const C=e=>{const t=(async()=>{await d;const{options:t}=A.request;return c.default(A,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(d)),t};return d.json=()=>{const{headers:e}=r.options;return r.writableFinished||void 0!==e.accept||(e.accept="application/json"),C("json")},d.buffer=()=>C("buffer"),d.text=()=>C("text"),d},n(r(14756),t)},41514:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=(e,t)=>{if(A.default.null_(e.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");A.assert.any([A.default.string,A.default.undefined],e.encoding),A.assert.any([A.default.boolean,A.default.undefined],e.resolveBodyOnly),A.assert.any([A.default.boolean,A.default.undefined],e.methodRewriting),A.assert.any([A.default.boolean,A.default.undefined],e.isStream),A.assert.any([A.default.string,A.default.undefined],e.responseType),void 0===e.responseType&&(e.responseType="text");const{retry:r}=e;if(e.retry=t?{...t.retry}:{calculateDelay:e=>e.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},A.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(e=>e.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):A.default.number(r)&&(e.retry.limit=r),A.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(A.default.number))),A.default.object(e.pagination)){t&&(e.pagination={...t.pagination,...e.pagination});const{pagination:r}=e;if(!A.default.function_(r.transform))throw new Error("`options.pagination.transform` must be implemented");if(!A.default.function_(r.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!A.default.function_(r.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!A.default.function_(r.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return"json"===e.responseType&&void 0===e.headers.accept&&(e.headers.accept="application/json"),e}},54718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(14756);t.default=(e,t,r,n)=>{const{rawBody:o}=e;try{if("text"===t)return o.toString(n);if("json"===t)return 0===o.length?"":r(o.toString());if("buffer"===t)return o;throw new A.ParseError({message:`Unknown body type '${t}'`,name:"Error"},e)}catch(t){throw new A.ParseError(t,e)}}},14756:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.CancelError=t.ParseError=void 0;const o=r(9048);class i extends o.RequestError{constructor(e,t){const{options:r}=t.request;super(`${e.message} in "${r.url.toString()}"`,e,t.request),this.name="ParseError"}}t.ParseError=i;class s extends o.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}}t.CancelError=s,n(r(9048),t)},53843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.retryAfterStatusCodes=void 0,t.retryAfterStatusCodes=new Set([413,429,503]);t.default=({attemptCount:e,retryOptions:t,error:r,retryAfter:A})=>{if(e>t.limit)return 0;const n=t.methods.includes(r.options.method),o=t.errorCodes.includes(r.code),i=r.response&&t.statusCodes.includes(r.response.statusCode);if(!n||!o&&!i)return 0;if(r.response){if(A)return void 0===t.maxRetryAfter||A>t.maxRetryAfter?0:A;if(413===r.response.statusCode)return 0}return 2**(e-1)*1e3+100*Math.random()}},9048:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnsupportedProtocolError=t.ReadError=t.TimeoutError=t.UploadError=t.CacheError=t.HTTPError=t.MaxRedirectsError=t.RequestError=t.setNonEnumerableProperties=t.knownHookEvents=t.withoutBody=t.kIsNormalizedAlready=void 0;const A=r(31669),n=r(92413),o=r(35747),i=r(78835),s=r(98605),a=r(98605),c=r(57211),g=r(98298),l=r(30093),u=r(11200),h=r(93868),p=r(92353),d=r(55737),C=r(7966),f=r(78586),I=r(2920),E=r(51743),B=r(44947),y=r(50116),m=r(82524),w=r(85551),Q=r(57854),D=r(11338),b=r(38206),v=r(54595),S=r(41514),k=r(53843),K=new l.default,F=Symbol("request"),N=Symbol("response"),M=Symbol("responseSize"),R=Symbol("downloadedSize"),x=Symbol("bodySize"),L=Symbol("uploadedSize"),P=Symbol("serverResponsesPiped"),O=Symbol("unproxyEvents"),U=Symbol("isFromCache"),T=Symbol("cancelTimeouts"),j=Symbol("startedReading"),Y=Symbol("stopReading"),G=Symbol("triggerRead"),H=Symbol("body"),J=Symbol("jobs"),q=Symbol("originalResponse"),z=Symbol("retryTimeout");t.kIsNormalizedAlready=Symbol("isNormalizedAlready");const W=C.default.string(process.versions.brotli);t.withoutBody=new Set(["GET","HEAD"]),t.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];const X=new w.default,V=new Set([300,301,302,303,304,307,308]),_=["context","body","json","form"];t.setNonEnumerableProperties=(e,t)=>{const r={};for(const t of e)if(t)for(const e of _)e in t&&(r[e]={writable:!0,configurable:!0,enumerable:!1,value:t[e]});Object.defineProperties(t,r)};class Z extends Error{constructor(e,t,r){var A;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,r instanceof se?(Object.defineProperty(this,"request",{enumerable:!1,value:r}),Object.defineProperty(this,"response",{enumerable:!1,value:r[N]}),Object.defineProperty(this,"options",{enumerable:!1,value:r.options})):Object.defineProperty(this,"options",{enumerable:!1,value:r}),this.timings=null===(A=this.request)||void 0===A?void 0:A.timings,!C.default.undefined(t.stack)){const e=this.stack.indexOf(this.message)+this.message.length,r=this.stack.slice(e).split("\n").reverse(),A=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split("\n").reverse();for(;0!==A.length&&A[0]===r[0];)r.shift();this.stack=`${this.stack.slice(0,e)}${r.reverse().join("\n")}${A.reverse().join("\n")}`}}}t.RequestError=Z;class $ extends Z{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}}t.MaxRedirectsError=$;class ee extends Z{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}}t.HTTPError=ee;class te extends Z{constructor(e,t){super(e.message,e,t),this.name="CacheError"}}t.CacheError=te;class re extends Z{constructor(e,t){super(e.message,e,t),this.name="UploadError"}}t.UploadError=re;class Ae extends Z{constructor(e,t,r){super(e.message,e,r),this.name="TimeoutError",this.event=e.event,this.timings=t}}t.TimeoutError=Ae;class ne extends Z{constructor(e,t){super(e.message,e,t),this.name="ReadError"}}t.ReadError=ne;class oe extends Z{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}}t.UnsupportedProtocolError=oe;const ie=["socket","connect","continue","information","upgrade","timeout"];class se extends n.Duplex{constructor(e,r={},A){super({autoDestroy:!1,highWaterMark:0}),this[R]=0,this[L]=0,this.requestInitialized=!1,this[P]=new Set,this.redirects=[],this[Y]=!1,this[G]=!1,this[J]=[],this.retryCount=0,this._progressCallbacks=[];const n=()=>this._unlockWrite(),i=()=>this._lockWrite();this.on("pipe",e=>{e.prependListener("data",n),e.on("data",i),e.prependListener("end",n),e.on("end",i)}),this.on("unpipe",e=>{e.off("data",n),e.off("data",i),e.off("end",n),e.off("end",i)}),this.on("pipe",e=>{e instanceof a.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});const{json:s,body:c,form:g}=r;if((s||c||g)&&this._lockWrite(),t.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,A)}catch(e){return C.default.nodeStream(r.body)&&r.body.destroy(),void this.destroy(e)}(async()=>{var e;try{this.options.body instanceof o.ReadStream&&await(async e=>new Promise((t,r)=>{const A=e=>{r(e)};e.pending||t(),e.once("error",A),e.once("ready",()=>{e.off("error",A),t()})}))(this.options.body);const{url:t}=this.options;if(!t)throw new TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed)return void(null===(e=this[F])||void 0===e||e.destroy());for(const e of this[J])e();this[J].length=0,this.requestInitialized=!0}catch(e){if(e instanceof Z)return void this._beforeError(e);this.destroyed||this.destroy(e)}})()}static normalizeArguments(e,r,n){var o,s,a,c,g;const l=r;if(C.default.object(e)&&!C.default.urlInstance(e))r={...n,...e,...r};else{if(e&&r&&void 0!==r.url)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...n,...r},void 0!==e&&(r.url=e),C.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(!1===r.cache&&(r.cache=void 0),!1===r.dnsCache&&(r.dnsCache=void 0),C.assert.any([C.default.string,C.default.undefined],r.method),C.assert.any([C.default.object,C.default.undefined],r.headers),C.assert.any([C.default.string,C.default.urlInstance,C.default.undefined],r.prefixUrl),C.assert.any([C.default.object,C.default.undefined],r.cookieJar),C.assert.any([C.default.object,C.default.string,C.default.undefined],r.searchParams),C.assert.any([C.default.object,C.default.string,C.default.undefined],r.cache),C.assert.any([C.default.object,C.default.number,C.default.undefined],r.timeout),C.assert.any([C.default.object,C.default.undefined],r.context),C.assert.any([C.default.object,C.default.undefined],r.hooks),C.assert.any([C.default.boolean,C.default.undefined],r.decompress),C.assert.any([C.default.boolean,C.default.undefined],r.ignoreInvalidCookies),C.assert.any([C.default.boolean,C.default.undefined],r.followRedirect),C.assert.any([C.default.number,C.default.undefined],r.maxRedirects),C.assert.any([C.default.boolean,C.default.undefined],r.throwHttpErrors),C.assert.any([C.default.boolean,C.default.undefined],r.http2),C.assert.any([C.default.boolean,C.default.undefined],r.allowGetBody),C.assert.any([C.default.string,C.default.undefined],r.localAddress),C.assert.any([D.isDnsLookupIpVersion,C.default.undefined],r.dnsLookupIpVersion),C.assert.any([C.default.object,C.default.undefined],r.https),C.assert.any([C.default.boolean,C.default.undefined],r.rejectUnauthorized),r.https&&(C.assert.any([C.default.boolean,C.default.undefined],r.https.rejectUnauthorized),C.assert.any([C.default.function_,C.default.undefined],r.https.checkServerIdentity),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.certificateAuthority),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.key),C.assert.any([C.default.string,C.default.object,C.default.array,C.default.undefined],r.https.certificate),C.assert.any([C.default.string,C.default.undefined],r.https.passphrase),C.assert.any([C.default.string,C.default.buffer,C.default.array,C.default.undefined],r.https.pfx)),C.assert.any([C.default.object,C.default.undefined],r.cacheOptions),C.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(null==n?void 0:n.headers)?r.headers={...r.headers}:r.headers=d({...null==n?void 0:n.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(null==n?void 0:n.searchParams)){let e;if(C.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else{!function(e){for(const t in e){const r=e[t];if(!(C.default.string(r)||C.default.number(r)||C.default.boolean(r)||C.default.null_(r)||C.default.undefined(r)))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}(r.searchParams),e=new i.URLSearchParams;for(const t in r.searchParams){const A=r.searchParams[t];null===A?e.append(t,""):void 0!==A&&e.append(t,A)}}null===(o=null==n?void 0:n.searchParams)||void 0===o||o.forEach((t,r)=>{e.has(r)||e.append(r,t)}),r.searchParams=e}if(r.username=null!==(s=r.username)&&void 0!==s?s:"",r.password=null!==(a=r.password)&&void 0!==a?a:"",C.default.undefined(r.prefixUrl)?r.prefixUrl=null!==(c=null==n?void 0:n.prefixUrl)&&void 0!==c?c:"":(r.prefixUrl=r.prefixUrl.toString(),""===r.prefixUrl||r.prefixUrl.endsWith("/")||(r.prefixUrl+="/")),C.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=m.default(r.prefixUrl+r.url,r)}else(C.default.undefined(r.url)&&""!==r.prefixUrl||r.protocol)&&(r.url=m.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,"prefixUrl",{set:t=>{const A=r.url;if(!A.href.startsWith(t))throw new Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${A.href}`);r.url=new i.URL(t+A.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if("unix:"===t&&(t="http:",r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),"http:"!==t&&"https:"!==t)throw new oe(r);""===r.username?r.username=r.url.username:r.url.username=r.username,""===r.password?r.password=r.url.password:r.url.password=r.password}const{cookieJar:h}=r;if(h){let{setCookie:e,getCookieString:t}=h;C.assert.function_(e),C.assert.function_(t),4===e.length&&0===t.length&&(e=A.promisify(e.bind(r.cookieJar)),t=A.promisify(t.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:t})}const{cache:p}=r;if(p&&(X.has(p)||X.set(p,new u((e,t)=>{const r=e[F](e,t);return C.default.promise(r)&&(r.once=(e,t)=>{if("error"===e)r.catch(t);else{if("abort"!==e)throw new Error("Unknown HTTP2 promise event: "+e);(async()=>{try{(await r).once("abort",t)}catch(e){}})()}return r}),r},p))),r.cacheOptions={...r.cacheOptions},!0===r.dnsCache)r.dnsCache=K;else if(!C.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError("Parameter `dnsCache` must be a CacheableLookup instance or a boolean, got "+C.default(r.dnsCache));C.default.number(r.timeout)?r.timeout={request:r.timeout}:n&&r.timeout!==n.timeout?r.timeout={...n.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});const f=r.hooks===(null==n?void 0:n.hooks);r.hooks={...r.hooks};for(const e of t.knownHookEvents)if(e in r.hooks){if(!C.default.array(r.hooks[e]))throw new TypeError(`Parameter \`${e}\` must be an Array, got ${C.default(r.hooks[e])}`);r.hooks[e]=[...r.hooks[e]]}else r.hooks[e]=[];if(n&&!f)for(const e of t.knownHookEvents){0!==n.hooks[e].length&&(r.hooks[e]=[...n.hooks[e],...r.hooks[e]])}if("family"in r&&v.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(null==n?void 0:n.https)&&(r.https={...n.https,...r.https}),"rejectUnauthorized"in r&&v.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&v.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&v.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&v.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&v.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&v.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&v.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent)for(const e in r.agent)if("http"!==e&&"https"!==e&&"http2"!==e)throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``);return r.maxRedirects=null!==(g=r.maxRedirects)&&void 0!==g?g:0,t.setNonEnumerableProperties([n,l],r),S.default(r,n)}_lockWrite(){const e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){const{options:e}=this,{headers:r}=e,A=!C.default.undefined(e.form),o=!C.default.undefined(e.json),s=!C.default.undefined(e.body),a=A||o||s,c=t.withoutBody.has(e.method)&&!("GET"===e.method&&e.allowGetBody);if(this._cannotHaveBody=c,a){if(c)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,A,o].filter(e=>e).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n.Readable)&&!C.default.string(e.body)&&!C.default.buffer(e.body)&&!I.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(A&&!C.default.object(e.form))throw new TypeError("The `form` option must be an Object");{const t=!C.default.string(r["content-type"]);s?(I.default(e.body)&&t&&(r["content-type"]="multipart/form-data; boundary="+e.body.getBoundary()),this[H]=e.body):A?(t&&(r["content-type"]="application/x-www-form-urlencoded"),this[H]=new i.URLSearchParams(e.form).toString()):(t&&(r["content-type"]="application/json"),this[H]=e.stringifyJson(e.json));const n=await f.default(this[H],e.headers);C.default.undefined(r["content-length"])&&C.default.undefined(r["transfer-encoding"])&&(c||C.default.undefined(n)||(r["content-length"]=String(n)))}}else c?this._lockWrite():this._unlockWrite();this[x]=Number(r["content-length"])||void 0}async _onResponseBase(e){const{options:t}=this,{url:r}=t;this[q]=e,t.decompress&&(e=h(e));const A=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:s.STATUS_CODES[A],n.url=t.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[U]=n.isFromCache,this[M]=Number(e.headers["content-length"])||void 0,this[N]=e,e.once("end",()=>{this[M]=this[R],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",t=>{e.destroy(),this._beforeError(new ne(t,this))}),e.once("aborted",()=>{this._beforeError(new ne({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);const o=e.headers["set-cookie"];if(C.default.object(t.cookieJar)&&o){let e=o.map(async e=>t.cookieJar.setCookie(e,r.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){return void this._beforeError(e)}}if(t.followRedirect&&e.headers.location&&V.has(A)){e.resume(),this[F]&&(this[T](),delete this[F],this[O]());if(!(303===A&&"GET"!==t.method&&"HEAD"!==t.method)&&t.methodRewriting||(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[H]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects)return void this._beforeError(new $(this));try{const A=Buffer.from(e.headers.location,"binary").toString(),o=new i.URL(A,r),s=o.toString();decodeURI(s),o.hostname!==r.hostname||o.port!==r.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(o.username=t.username,o.password=t.password),this.redirects.push(s),t.url=o;for(const e of t.hooks.beforeRedirect)await e(t,n);this.emit("redirect",n,t),await this._makeRequest()}catch(e){return void this._beforeError(e)}}else if(t.isStream&&t.throwHttpErrors&&!b.isResponseOk(n))this._beforeError(new ee(n));else{e.on("readable",()=>{this[G]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(const r of this[P])if(!r.headersSent){for(const A in e.headers){const n=!t.decompress||"content-encoding"!==A,o=e.headers[A];n&&r.setHeader(A,o)}r.statusCode=A}}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){const{options:t}=this,{timeout:r,url:A}=t;g.default(e),this[T]=B.default(e,r,A);const n=t.cache?"cacheableResponse":"response";e.once(n,e=>{this._onResponse(e)}),e.once("error",t=>{var r;e.destroy(),null===(r=e.res)||void 0===r||r.removeAllListeners("end"),t=t instanceof B.TimeoutError?new Ae(t,this.timings,this):new Z(t.message,t,this),this._beforeError(t)}),this[O]=E.default(e,this,ie),this[F]=e,this.emit("uploadProgress",this.uploadProgress);const o=this[H],i=0===this.redirects.length?this:e;C.default.nodeStream(o)?(o.pipe(i),o.once("error",e=>{this._beforeError(new re(e,this))})):(this._unlockWrite(),C.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(i.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),i.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((r,A)=>{let n;Object.assign(t,y.default(e)),delete t.url;const o=X.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",e),r(e)});t.url=e,o.once("error",A),o.once("request",async e=>{n=e,r(n)})})}async _makeRequest(){var e,t,r,A,n;const{options:o}=this,{headers:i}=o;for(const e in i)if(C.default.undefined(i[e]))delete i[e];else if(C.default.null_(i[e]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(o.decompress&&C.default.undefined(i["accept-encoding"])&&(i["accept-encoding"]=W?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){const e=await o.cookieJar.getCookieString(o.url.toString());C.default.nonEmptyString(e)&&(o.headers.cookie=e)}for(const e of o.hooks.beforeRequest){const t=await e(o);if(!C.default.undefined(t)){o.request=()=>t;break}}o.body&&this[H]!==o.body&&(this[H]=o.body);const{agent:a,request:g,timeout:l,url:h}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),"unix"===h.hostname){const e=/(?.+?):(?.+)/.exec(`${h.pathname}${h.search}`);if(null==e?void 0:e.groups){const{socketPath:t,path:r}=e.groups;Object.assign(o,{socketPath:t,path:r,host:""})}}const d="https:"===h.protocol;let f;f=o.http2?p.auto:d?c.request:s.request;const I=null!==(e=o.request)&&void 0!==e?e:f,E=o.cache?this._createCacheableRequest:I;a&&!o.http2&&(o.agent=a[d?"https":"http"]),o[F]=I,delete o.request,delete o.timeout;const B=o;if(B.shared=null===(t=o.cacheOptions)||void 0===t?void 0:t.shared,B.cacheHeuristic=null===(r=o.cacheOptions)||void 0===r?void 0:r.cacheHeuristic,B.immutableMinTimeToLive=null===(A=o.cacheOptions)||void 0===A?void 0:A.immutableMinTimeToLive,B.ignoreCargoCult=null===(n=o.cacheOptions)||void 0===n?void 0:n.ignoreCargoCult,void 0!==o.dnsLookupIpVersion)try{B.family=D.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(e){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(B.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(B.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(B.ca=o.https.certificateAuthority),o.https.certificate&&(B.cert=o.https.certificate),o.https.key&&(B.key=o.https.key),o.https.passphrase&&(B.passphrase=o.https.passphrase),o.https.pfx&&(B.pfx=o.https.pfx));try{let e=await E(h,B);C.default.undefined(e)&&(e=f(h,B)),o.request=g,o.timeout=l,o.agent=a,o.https&&("rejectUnauthorized"in o.https&&delete B.rejectUnauthorized,o.https.checkServerIdentity&&delete B.checkServerIdentity,o.https.certificateAuthority&&delete B.ca,o.https.certificate&&delete B.cert,o.https.key&&delete B.key,o.https.passphrase&&delete B.passphrase,o.https.pfx&&delete B.pfx),y=e,C.default.object(y)&&!("statusCode"in y)?this._onRequest(e):this.writable?(this.once("finish",()=>{this._onResponse(e)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(e)}catch(e){if(e instanceof u.CacheError)throw new te(e,this);throw new Z(e.message,e,this)}var y}async _error(e){try{for(const t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new Z(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Y])return;const{options:t}=this,r=this.retryCount+1;this[Y]=!0,e instanceof Z||(e=new Z(e.message,e,this));const A=e,{response:n}=A;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Q.default(n),n.body=n.rawBody.toString()}catch(e){}}if(0!==this.listenerCount("retry")){let o;try{let e;n&&"retry-after"in n.headers&&(e=Number(n.headers["retry-after"]),Number.isNaN(e)?(e=Date.parse(n.headers["retry-after"])-Date.now(),e<=0&&(e=1)):e*=1e3),o=await t.retry.calculateDelay({attemptCount:r,retryOptions:t.retry,error:A,retryAfter:e,computedValue:k.default({attemptCount:r,retryOptions:t.retry,error:A,retryAfter:e,computedValue:0})})}catch(e){return void this._error(new Z(e.message,e,this))}if(o){const t=async()=>{try{for(const e of this.options.hooks.beforeRetry)await e(this.options,A,r)}catch(t){return void this._error(new Z(t.message,e,this))}this.destroyed||(this.destroy(),this.emit("retry",r,e))};return void(this[z]=setTimeout(t,o))}}this._error(A)})()}_read(){this[G]=!0;const e=this[N];if(e&&!this[Y]){let t;for(e.readableLength&&(this[G]=!1);null!==(t=e.read());){this[R]+=t.length,this[j]=!0;const e=this.downloadProgress;e.percent<1&&this.emit("downloadProgress",e),this.push(t)}}}_write(e,t,r){const A=()=>{this._writeRequest(e,t,r)};this.requestInitialized?A():this[J].push(A)}_writeRequest(e,t,r){this[F].destroyed||(this._progressCallbacks.push(()=>{this[L]+=Buffer.byteLength(e,t);const r=this.uploadProgress;r.percent<1&&this.emit("uploadProgress",r)}),this[F].write(e,t,e=>{e||0===this._progressCallbacks.length||this._progressCallbacks.shift()(),r(e)}))}_final(e){const t=()=>{for(;0!==this._progressCallbacks.length;)this._progressCallbacks.shift()();F in this?this[F].destroyed?e():this[F].end(t=>{t||(this[x]=this[L],this.emit("uploadProgress",this.uploadProgress),this[F].emit("upload-complete")),e(t)}):e()};this.requestInitialized?t():this[J].push(t)}_destroy(e,t){var r;this[Y]=!0,clearTimeout(this[z]),F in this&&(this[T](),(null===(r=this[N])||void 0===r?void 0:r.complete)||this[F].destroy()),null===e||C.default.undefined(e)||e instanceof Z||(e=new Z(e.message,e,this)),t(e)}get _isAboutToError(){return this[Y]}get ip(){var e;return null===(e=this[F])||void 0===e?void 0:e.socket.remoteAddress}get aborted(){var e,t,r;return(null!==(t=null===(e=this[F])||void 0===e?void 0:e.destroyed)&&void 0!==t?t:this.destroyed)&&!(null===(r=this[q])||void 0===r?void 0:r.complete)}get socket(){var e;return null===(e=this[F])||void 0===e?void 0:e.socket}get downloadProgress(){let e;return e=this[M]?this[R]/this[M]:this[M]===this[R]?1:0,{percent:e,transferred:this[R],total:this[M]}}get uploadProgress(){let e;return e=this[x]?this[L]/this[x]:this[x]===this[L]?1:0,{percent:e,transferred:this[L],total:this[x]}}get timings(){var e;return null===(e=this[F])||void 0===e?void 0:e.timings}get isFromCache(){return this[U]}pipe(e,t){if(this[j])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof a.ServerResponse&&this[P].add(e),super.pipe(e,t)}unpipe(e){return e instanceof a.ServerResponse&&this[P].delete(e),super.unpipe(e),this}}t.default=se},11338:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dnsLookupIpVersionToFamily=t.isDnsLookupIpVersion=void 0;const r={auto:0,ipv4:4,ipv6:6};t.isDnsLookupIpVersion=e=>e in r,t.dnsLookupIpVersionToFamily=e=>{if(t.isDnsLookupIpVersion(e))return r[e];throw new Error("Invalid DNS lookup IP version")}},78586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(35747),n=r(31669),o=r(7966),i=r(2920),s=n.promisify(A.stat);t.default=async(e,t)=>{if(t&&"content-length"in t)return Number(t["content-length"]);if(!e)return 0;if(o.default.string(e))return Buffer.byteLength(e);if(o.default.buffer(e))return e.length;if(i.default(e))return n.promisify(e.getLength.bind(e))();if(e instanceof A.ReadStream){const{size:t}=await s(e.path);return t}}},57854:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=async e=>{const t=[];let r=0;for await(const A of e)t.push(A),r+=Buffer.byteLength(A);return Buffer.isBuffer(t[0])?Buffer.concat(t,r):Buffer.from(t.join(""))}},2920:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=e=>A.default.nodeStream(e)&&A.default.function_(e.getBoundary)},38206:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseOk=void 0,t.isResponseOk=e=>{const{statusCode:t}=e,r=e.request.options.followRedirect?299:399;return t>=200&&t<=r||304===t}},82524:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(78835),n=["protocol","host","hostname","port","pathname","search"];t.default=(e,t)=>{var r,o;if(t.path){if(t.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(t.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(t.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(t.search&&t.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!t.protocol)throw new TypeError("No URL protocol specified");e=`${t.protocol}//${null!==(o=null!==(r=t.hostname)&&void 0!==r?r:t.host)&&void 0!==o?o:""}`}const i=new A.URL(e);if(t.path){const e=t.path.indexOf("?");-1===e?t.pathname=t.path:(t.pathname=t.path.slice(0,e),t.search=t.path.slice(e+1)),delete t.path}for(const e of n)t[e]&&(i[e]=t[e].toString());return i}},51743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){const A={};for(const n of r)A[n]=(...e)=>{t.emit(n,...e)},e.on(n,A[n]);return()=>{for(const t of r)e.off(t,A[t])}}},44947:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimeoutError=void 0;const A=r(11631),n=r(70148),o=Symbol("reentry"),i=()=>{};class s extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}}t.TimeoutError=s,t.default=(e,t,r)=>{if(o in e)return i;e[o]=!0;const a=[],{once:c,unhandleAll:g}=n.default(),l=(e,t,r)=>{var A;const n=setTimeout(t,e,e,r);null===(A=n.unref)||void 0===A||A.call(n);const o=()=>{clearTimeout(n)};return a.push(o),o},{host:u,hostname:h}=r,p=(t,r)=>{e.destroy(new s(t,r))},d=()=>{for(const e of a)e();g()};if(e.once("error",t=>{if(d(),0===e.listenerCount("error"))throw t}),e.once("close",d),c(e,"response",e=>{c(e,"end",d)}),void 0!==t.request&&l(t.request,p,"request"),void 0!==t.socket){const r=()=>{p(t.socket,"socket")};e.setTimeout(t.socket,r),a.push(()=>{e.removeListener("timeout",r)})}return c(e,"socket",n=>{var o;const{socketPath:i}=e;if(n.connecting){const e=Boolean(null!=i?i:0!==A.isIP(null!==(o=null!=h?h:u)&&void 0!==o?o:""));if(void 0!==t.lookup&&!e&&void 0===n.address().address){const e=l(t.lookup,p,"lookup");c(n,"lookup",e)}if(void 0!==t.connect){const r=()=>l(t.connect,p,"connect");e?c(n,"connect",r()):c(n,"lookup",e=>{null===e&&c(n,"connect",r())})}void 0!==t.secureConnect&&"https:"===r.protocol&&c(n,"connect",()=>{const e=l(t.secureConnect,p,"secureConnect");c(n,"secureConnect",e)})}if(void 0!==t.send){const r=()=>l(t.send,p,"send");n.connecting?c(n,"connect",()=>{c(e,"upload-complete",r())}):c(e,"upload-complete",r())}}),void 0!==t.response&&c(e,"upload-complete",()=>{const r=l(t.response,p,"response");c(e,"response",r)}),d}},70148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=()=>{const e=[];return{once(t,r,A){t.once(r,A),e.push({origin:t,event:r,fn:A})},unhandleAll(){for(const t of e){const{origin:e,event:r,fn:A}=t;e.removeListener(r,A)}e.length=0}}}},50116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=e=>{const t={protocol:(e=e).protocol,hostname:A.default.string(e.hostname)&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return A.default.string(e.port)&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},85551:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){"object"==typeof e?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return"object"==typeof e?this.weakMap.get(e):this.map.get(e)}has(e){return"object"==typeof e?this.weakMap.has(e):this.map.has(e)}}},39226:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.defaultHandler=void 0;const o=r(7966),i=r(81588),s=r(93576),a=r(9048),c=r(9743),g={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=a.default,h=(...e)=>{let t;for(const r of e)t=u(void 0,r,t);return t},p=e=>e.isStream?new a.default(void 0,e):i.default(e),d=e=>"defaults"in e&&"options"in e.defaults,C=["get","post","put","patch","head","delete"];t.defaultHandler=(e,t)=>t(e);const f=(e,t)=>{if(e)for(const r of e)r(t)},I=e=>{e._rawHandlers=e.handlers,e.handlers=e.handlers.map(e=>(t,r)=>{let A;const n=e(t,e=>(A=r(e),A));if(n!==A&&!t.isStream&&A){const e=n,{then:t,catch:r,finally:o}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(A)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)),e.then=t,e.catch=r,e.finally=o}return n});const r=(t,r,A)=>{var n,c;let g=0;const l=t=>e.handlers[g++](t,g===e.handlers.length?p:l);if(o.default.plainObject(t)){const e={...t,...r};a.setNonEnumerableProperties([t,r],e),r=e,t=void 0}try{let o;try{f(e.options.hooks.init,r),f(null===(n=null==r?void 0:r.hooks)||void 0===n?void 0:n.init,r)}catch(e){o=e}const s=u(t,r,null!=A?A:e.options);if(s[a.kIsNormalizedAlready]=!0,o)throw new i.RequestError(o.message,o,s);return l(s)}catch(t){if(null==r?void 0:r.isStream)throw t;return s.default(t,e.options.hooks.beforeError,null===(c=null==r?void 0:r.hooks)||void 0===c?void 0:c.beforeError)}};r.extend=(...r)=>{const A=[e.options];let n,o=[...e._rawHandlers];for(const e of r)d(e)?(A.push(e.defaults.options),o.push(...e.defaults._rawHandlers),n=e.defaults.mutableDefaults):(A.push(e),"handlers"in e&&o.push(...e.handlers),n=e.mutableDefaults);return o=o.filter(e=>e!==t.defaultHandler),0===o.length&&o.push(t.defaultHandler),I({options:h(...A),handlers:o,mutableDefaults:Boolean(n)})};const A=async function*(t,A){let n=u(t,A,e.options);n.resolveBodyOnly=!1;const i=n.pagination;if(!o.default.object(i))throw new TypeError("`options.pagination` must be implemented");const s=[];let{countLimit:a}=i,c=0;for(;c{const r=[];for await(const n of A(e,t))r.push(n);return r},r.paginate.each=A,r.stream=(e,t)=>r(e,{...t,isStream:!0});for(const e of C)r[e]=(t,A)=>r(t,{...A,method:e}),r.stream[e]=(t,A)=>r(t,{...A,method:e,isStream:!0});return Object.assign(r,g),Object.defineProperty(r,"defaults",{value:e.mutableDefaults?e:c.default(e),writable:e.mutableDefaults,configurable:e.mutableDefaults,enumerable:!0}),r.mergeOptions=h,r};t.default=I,n(r(69022),t)},48722:function(e,t,r){"use strict";var A=this&&this.__createBinding||(Object.create?function(e,t,r,A){void 0===A&&(A=r),Object.defineProperty(e,A,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,A){void 0===A&&(A=r),e[A]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||A(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0});const o=r(78835),i=r(39226),s={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>"json"===e.request.options.responseType?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,"link"))return!1;const t=e.headers.link.split(",");let r;for(const e of t){const t=e.split(";");if(t[1].includes("next")){r=t[0].trimStart().trim(),r=r.slice(1,-1);break}}if(r){return{url:new o.URL(r)}}return!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[i.defaultHandler],mutableDefaults:!1},a=i.default(s);t.default=a,e.exports=a,e.exports.default=a,e.exports.__esModule=!0,n(r(39226),t),n(r(81588),t)},69022:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9743:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const A=r(7966);t.default=function e(t){for(const r of Object.values(t))(A.default.plainObject(r)||A.default.array(r))&&e(r);return Object.freeze(t)}},54595:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=new Set;t.default=e=>{r.has(e)||(r.add(e),process.emitWarning("Got: "+e,{type:"DeprecationWarning"}))}},74988:e=>{e.exports&&(e.exports=function(){var e=3,t=4,r=12,A=13,n=16,o=17;function i(e,t){void 0===t&&(t=0);var r=e.charCodeAt(t);if(55296<=r&&r<=56319&&t=1){var n=r;return 55296<=(A=e.charCodeAt(t-1))&&A<=56319?1024*(A-55296)+(n-56320)+65536:n}return r}function s(i,s,a){var c=[i].concat(s).concat([a]),g=c[c.length-2],l=a,u=c.lastIndexOf(14);if(u>1&&c.slice(1,u).every((function(t){return t==e}))&&-1==[e,A,o].indexOf(i))return 2;var h=c.lastIndexOf(t);if(h>0&&c.slice(1,h).every((function(e){return e==t}))&&-1==[r,t].indexOf(g))return c.filter((function(e){return e==t})).length%2==1?3:4;if(0==g&&1==l)return 0;if(2==g||0==g||1==g)return 14==l&&s.every((function(t){return t==e}))?2:1;if(2==l||0==l||1==l)return 1;if(6==g&&(6==l||7==l||9==l||10==l))return 0;if(!(9!=g&&7!=g||7!=l&&8!=l))return 0;if((10==g||8==g)&&8==l)return 0;if(l==e||15==l)return 0;if(5==l)return 0;if(g==r)return 0;var p=-1!=c.indexOf(e)?c.lastIndexOf(e)-1:c.length-2;return-1!=[A,o].indexOf(c[p])&&c.slice(p+1,-1).every((function(t){return t==e}))&&14==l||15==g&&-1!=[n,o].indexOf(l)?0:-1!=s.indexOf(t)?2:g==t&&l==t?0:1}function a(i){return 1536<=i&&i<=1541||1757==i||1807==i||2274==i||3406==i||69821==i||70082<=i&&i<=70083||72250==i||72326<=i&&i<=72329||73030==i?r:13==i?0:10==i?1:0<=i&&i<=9||11<=i&&i<=12||14<=i&&i<=31||127<=i&&i<=159||173==i||1564==i||6158==i||8203==i||8206<=i&&i<=8207||8232==i||8233==i||8234<=i&&i<=8238||8288<=i&&i<=8292||8293==i||8294<=i&&i<=8303||55296<=i&&i<=57343||65279==i||65520<=i&&i<=65528||65529<=i&&i<=65531||113824<=i&&i<=113827||119155<=i&&i<=119162||917504==i||917505==i||917506<=i&&i<=917535||917632<=i&&i<=917759||918e3<=i&&i<=921599?2:768<=i&&i<=879||1155<=i&&i<=1159||1160<=i&&i<=1161||1425<=i&&i<=1469||1471==i||1473<=i&&i<=1474||1476<=i&&i<=1477||1479==i||1552<=i&&i<=1562||1611<=i&&i<=1631||1648==i||1750<=i&&i<=1756||1759<=i&&i<=1764||1767<=i&&i<=1768||1770<=i&&i<=1773||1809==i||1840<=i&&i<=1866||1958<=i&&i<=1968||2027<=i&&i<=2035||2070<=i&&i<=2073||2075<=i&&i<=2083||2085<=i&&i<=2087||2089<=i&&i<=2093||2137<=i&&i<=2139||2260<=i&&i<=2273||2275<=i&&i<=2306||2362==i||2364==i||2369<=i&&i<=2376||2381==i||2385<=i&&i<=2391||2402<=i&&i<=2403||2433==i||2492==i||2494==i||2497<=i&&i<=2500||2509==i||2519==i||2530<=i&&i<=2531||2561<=i&&i<=2562||2620==i||2625<=i&&i<=2626||2631<=i&&i<=2632||2635<=i&&i<=2637||2641==i||2672<=i&&i<=2673||2677==i||2689<=i&&i<=2690||2748==i||2753<=i&&i<=2757||2759<=i&&i<=2760||2765==i||2786<=i&&i<=2787||2810<=i&&i<=2815||2817==i||2876==i||2878==i||2879==i||2881<=i&&i<=2884||2893==i||2902==i||2903==i||2914<=i&&i<=2915||2946==i||3006==i||3008==i||3021==i||3031==i||3072==i||3134<=i&&i<=3136||3142<=i&&i<=3144||3146<=i&&i<=3149||3157<=i&&i<=3158||3170<=i&&i<=3171||3201==i||3260==i||3263==i||3266==i||3270==i||3276<=i&&i<=3277||3285<=i&&i<=3286||3298<=i&&i<=3299||3328<=i&&i<=3329||3387<=i&&i<=3388||3390==i||3393<=i&&i<=3396||3405==i||3415==i||3426<=i&&i<=3427||3530==i||3535==i||3538<=i&&i<=3540||3542==i||3551==i||3633==i||3636<=i&&i<=3642||3655<=i&&i<=3662||3761==i||3764<=i&&i<=3769||3771<=i&&i<=3772||3784<=i&&i<=3789||3864<=i&&i<=3865||3893==i||3895==i||3897==i||3953<=i&&i<=3966||3968<=i&&i<=3972||3974<=i&&i<=3975||3981<=i&&i<=3991||3993<=i&&i<=4028||4038==i||4141<=i&&i<=4144||4146<=i&&i<=4151||4153<=i&&i<=4154||4157<=i&&i<=4158||4184<=i&&i<=4185||4190<=i&&i<=4192||4209<=i&&i<=4212||4226==i||4229<=i&&i<=4230||4237==i||4253==i||4957<=i&&i<=4959||5906<=i&&i<=5908||5938<=i&&i<=5940||5970<=i&&i<=5971||6002<=i&&i<=6003||6068<=i&&i<=6069||6071<=i&&i<=6077||6086==i||6089<=i&&i<=6099||6109==i||6155<=i&&i<=6157||6277<=i&&i<=6278||6313==i||6432<=i&&i<=6434||6439<=i&&i<=6440||6450==i||6457<=i&&i<=6459||6679<=i&&i<=6680||6683==i||6742==i||6744<=i&&i<=6750||6752==i||6754==i||6757<=i&&i<=6764||6771<=i&&i<=6780||6783==i||6832<=i&&i<=6845||6846==i||6912<=i&&i<=6915||6964==i||6966<=i&&i<=6970||6972==i||6978==i||7019<=i&&i<=7027||7040<=i&&i<=7041||7074<=i&&i<=7077||7080<=i&&i<=7081||7083<=i&&i<=7085||7142==i||7144<=i&&i<=7145||7149==i||7151<=i&&i<=7153||7212<=i&&i<=7219||7222<=i&&i<=7223||7376<=i&&i<=7378||7380<=i&&i<=7392||7394<=i&&i<=7400||7405==i||7412==i||7416<=i&&i<=7417||7616<=i&&i<=7673||7675<=i&&i<=7679||8204==i||8400<=i&&i<=8412||8413<=i&&i<=8416||8417==i||8418<=i&&i<=8420||8421<=i&&i<=8432||11503<=i&&i<=11505||11647==i||11744<=i&&i<=11775||12330<=i&&i<=12333||12334<=i&&i<=12335||12441<=i&&i<=12442||42607==i||42608<=i&&i<=42610||42612<=i&&i<=42621||42654<=i&&i<=42655||42736<=i&&i<=42737||43010==i||43014==i||43019==i||43045<=i&&i<=43046||43204<=i&&i<=43205||43232<=i&&i<=43249||43302<=i&&i<=43309||43335<=i&&i<=43345||43392<=i&&i<=43394||43443==i||43446<=i&&i<=43449||43452==i||43493==i||43561<=i&&i<=43566||43569<=i&&i<=43570||43573<=i&&i<=43574||43587==i||43596==i||43644==i||43696==i||43698<=i&&i<=43700||43703<=i&&i<=43704||43710<=i&&i<=43711||43713==i||43756<=i&&i<=43757||43766==i||44005==i||44008==i||44013==i||64286==i||65024<=i&&i<=65039||65056<=i&&i<=65071||65438<=i&&i<=65439||66045==i||66272==i||66422<=i&&i<=66426||68097<=i&&i<=68099||68101<=i&&i<=68102||68108<=i&&i<=68111||68152<=i&&i<=68154||68159==i||68325<=i&&i<=68326||69633==i||69688<=i&&i<=69702||69759<=i&&i<=69761||69811<=i&&i<=69814||69817<=i&&i<=69818||69888<=i&&i<=69890||69927<=i&&i<=69931||69933<=i&&i<=69940||70003==i||70016<=i&&i<=70017||70070<=i&&i<=70078||70090<=i&&i<=70092||70191<=i&&i<=70193||70196==i||70198<=i&&i<=70199||70206==i||70367==i||70371<=i&&i<=70378||70400<=i&&i<=70401||70460==i||70462==i||70464==i||70487==i||70502<=i&&i<=70508||70512<=i&&i<=70516||70712<=i&&i<=70719||70722<=i&&i<=70724||70726==i||70832==i||70835<=i&&i<=70840||70842==i||70845==i||70847<=i&&i<=70848||70850<=i&&i<=70851||71087==i||71090<=i&&i<=71093||71100<=i&&i<=71101||71103<=i&&i<=71104||71132<=i&&i<=71133||71219<=i&&i<=71226||71229==i||71231<=i&&i<=71232||71339==i||71341==i||71344<=i&&i<=71349||71351==i||71453<=i&&i<=71455||71458<=i&&i<=71461||71463<=i&&i<=71467||72193<=i&&i<=72198||72201<=i&&i<=72202||72243<=i&&i<=72248||72251<=i&&i<=72254||72263==i||72273<=i&&i<=72278||72281<=i&&i<=72283||72330<=i&&i<=72342||72344<=i&&i<=72345||72752<=i&&i<=72758||72760<=i&&i<=72765||72767==i||72850<=i&&i<=72871||72874<=i&&i<=72880||72882<=i&&i<=72883||72885<=i&&i<=72886||73009<=i&&i<=73014||73018==i||73020<=i&&i<=73021||73023<=i&&i<=73029||73031==i||92912<=i&&i<=92916||92976<=i&&i<=92982||94095<=i&&i<=94098||113821<=i&&i<=113822||119141==i||119143<=i&&i<=119145||119150<=i&&i<=119154||119163<=i&&i<=119170||119173<=i&&i<=119179||119210<=i&&i<=119213||119362<=i&&i<=119364||121344<=i&&i<=121398||121403<=i&&i<=121452||121461==i||121476==i||121499<=i&&i<=121503||121505<=i&&i<=121519||122880<=i&&i<=122886||122888<=i&&i<=122904||122907<=i&&i<=122913||122915<=i&&i<=122916||122918<=i&&i<=122922||125136<=i&&i<=125142||125252<=i&&i<=125258||917536<=i&&i<=917631||917760<=i&&i<=917999?e:127462<=i&&i<=127487?t:2307==i||2363==i||2366<=i&&i<=2368||2377<=i&&i<=2380||2382<=i&&i<=2383||2434<=i&&i<=2435||2495<=i&&i<=2496||2503<=i&&i<=2504||2507<=i&&i<=2508||2563==i||2622<=i&&i<=2624||2691==i||2750<=i&&i<=2752||2761==i||2763<=i&&i<=2764||2818<=i&&i<=2819||2880==i||2887<=i&&i<=2888||2891<=i&&i<=2892||3007==i||3009<=i&&i<=3010||3014<=i&&i<=3016||3018<=i&&i<=3020||3073<=i&&i<=3075||3137<=i&&i<=3140||3202<=i&&i<=3203||3262==i||3264<=i&&i<=3265||3267<=i&&i<=3268||3271<=i&&i<=3272||3274<=i&&i<=3275||3330<=i&&i<=3331||3391<=i&&i<=3392||3398<=i&&i<=3400||3402<=i&&i<=3404||3458<=i&&i<=3459||3536<=i&&i<=3537||3544<=i&&i<=3550||3570<=i&&i<=3571||3635==i||3763==i||3902<=i&&i<=3903||3967==i||4145==i||4155<=i&&i<=4156||4182<=i&&i<=4183||4228==i||6070==i||6078<=i&&i<=6085||6087<=i&&i<=6088||6435<=i&&i<=6438||6441<=i&&i<=6443||6448<=i&&i<=6449||6451<=i&&i<=6456||6681<=i&&i<=6682||6741==i||6743==i||6765<=i&&i<=6770||6916==i||6965==i||6971==i||6973<=i&&i<=6977||6979<=i&&i<=6980||7042==i||7073==i||7078<=i&&i<=7079||7082==i||7143==i||7146<=i&&i<=7148||7150==i||7154<=i&&i<=7155||7204<=i&&i<=7211||7220<=i&&i<=7221||7393==i||7410<=i&&i<=7411||7415==i||43043<=i&&i<=43044||43047==i||43136<=i&&i<=43137||43188<=i&&i<=43203||43346<=i&&i<=43347||43395==i||43444<=i&&i<=43445||43450<=i&&i<=43451||43453<=i&&i<=43456||43567<=i&&i<=43568||43571<=i&&i<=43572||43597==i||43755==i||43758<=i&&i<=43759||43765==i||44003<=i&&i<=44004||44006<=i&&i<=44007||44009<=i&&i<=44010||44012==i||69632==i||69634==i||69762==i||69808<=i&&i<=69810||69815<=i&&i<=69816||69932==i||70018==i||70067<=i&&i<=70069||70079<=i&&i<=70080||70188<=i&&i<=70190||70194<=i&&i<=70195||70197==i||70368<=i&&i<=70370||70402<=i&&i<=70403||70463==i||70465<=i&&i<=70468||70471<=i&&i<=70472||70475<=i&&i<=70477||70498<=i&&i<=70499||70709<=i&&i<=70711||70720<=i&&i<=70721||70725==i||70833<=i&&i<=70834||70841==i||70843<=i&&i<=70844||70846==i||70849==i||71088<=i&&i<=71089||71096<=i&&i<=71099||71102==i||71216<=i&&i<=71218||71227<=i&&i<=71228||71230==i||71340==i||71342<=i&&i<=71343||71350==i||71456<=i&&i<=71457||71462==i||72199<=i&&i<=72200||72249==i||72279<=i&&i<=72280||72343==i||72751==i||72766==i||72873==i||72881==i||72884==i||94033<=i&&i<=94078||119142==i||119149==i?5:4352<=i&&i<=4447||43360<=i&&i<=43388?6:4448<=i&&i<=4519||55216<=i&&i<=55238?7:4520<=i&&i<=4607||55243<=i&&i<=55291?8:44032==i||44060==i||44088==i||44116==i||44144==i||44172==i||44200==i||44228==i||44256==i||44284==i||44312==i||44340==i||44368==i||44396==i||44424==i||44452==i||44480==i||44508==i||44536==i||44564==i||44592==i||44620==i||44648==i||44676==i||44704==i||44732==i||44760==i||44788==i||44816==i||44844==i||44872==i||44900==i||44928==i||44956==i||44984==i||45012==i||45040==i||45068==i||45096==i||45124==i||45152==i||45180==i||45208==i||45236==i||45264==i||45292==i||45320==i||45348==i||45376==i||45404==i||45432==i||45460==i||45488==i||45516==i||45544==i||45572==i||45600==i||45628==i||45656==i||45684==i||45712==i||45740==i||45768==i||45796==i||45824==i||45852==i||45880==i||45908==i||45936==i||45964==i||45992==i||46020==i||46048==i||46076==i||46104==i||46132==i||46160==i||46188==i||46216==i||46244==i||46272==i||46300==i||46328==i||46356==i||46384==i||46412==i||46440==i||46468==i||46496==i||46524==i||46552==i||46580==i||46608==i||46636==i||46664==i||46692==i||46720==i||46748==i||46776==i||46804==i||46832==i||46860==i||46888==i||46916==i||46944==i||46972==i||47e3==i||47028==i||47056==i||47084==i||47112==i||47140==i||47168==i||47196==i||47224==i||47252==i||47280==i||47308==i||47336==i||47364==i||47392==i||47420==i||47448==i||47476==i||47504==i||47532==i||47560==i||47588==i||47616==i||47644==i||47672==i||47700==i||47728==i||47756==i||47784==i||47812==i||47840==i||47868==i||47896==i||47924==i||47952==i||47980==i||48008==i||48036==i||48064==i||48092==i||48120==i||48148==i||48176==i||48204==i||48232==i||48260==i||48288==i||48316==i||48344==i||48372==i||48400==i||48428==i||48456==i||48484==i||48512==i||48540==i||48568==i||48596==i||48624==i||48652==i||48680==i||48708==i||48736==i||48764==i||48792==i||48820==i||48848==i||48876==i||48904==i||48932==i||48960==i||48988==i||49016==i||49044==i||49072==i||49100==i||49128==i||49156==i||49184==i||49212==i||49240==i||49268==i||49296==i||49324==i||49352==i||49380==i||49408==i||49436==i||49464==i||49492==i||49520==i||49548==i||49576==i||49604==i||49632==i||49660==i||49688==i||49716==i||49744==i||49772==i||49800==i||49828==i||49856==i||49884==i||49912==i||49940==i||49968==i||49996==i||50024==i||50052==i||50080==i||50108==i||50136==i||50164==i||50192==i||50220==i||50248==i||50276==i||50304==i||50332==i||50360==i||50388==i||50416==i||50444==i||50472==i||50500==i||50528==i||50556==i||50584==i||50612==i||50640==i||50668==i||50696==i||50724==i||50752==i||50780==i||50808==i||50836==i||50864==i||50892==i||50920==i||50948==i||50976==i||51004==i||51032==i||51060==i||51088==i||51116==i||51144==i||51172==i||51200==i||51228==i||51256==i||51284==i||51312==i||51340==i||51368==i||51396==i||51424==i||51452==i||51480==i||51508==i||51536==i||51564==i||51592==i||51620==i||51648==i||51676==i||51704==i||51732==i||51760==i||51788==i||51816==i||51844==i||51872==i||51900==i||51928==i||51956==i||51984==i||52012==i||52040==i||52068==i||52096==i||52124==i||52152==i||52180==i||52208==i||52236==i||52264==i||52292==i||52320==i||52348==i||52376==i||52404==i||52432==i||52460==i||52488==i||52516==i||52544==i||52572==i||52600==i||52628==i||52656==i||52684==i||52712==i||52740==i||52768==i||52796==i||52824==i||52852==i||52880==i||52908==i||52936==i||52964==i||52992==i||53020==i||53048==i||53076==i||53104==i||53132==i||53160==i||53188==i||53216==i||53244==i||53272==i||53300==i||53328==i||53356==i||53384==i||53412==i||53440==i||53468==i||53496==i||53524==i||53552==i||53580==i||53608==i||53636==i||53664==i||53692==i||53720==i||53748==i||53776==i||53804==i||53832==i||53860==i||53888==i||53916==i||53944==i||53972==i||54e3==i||54028==i||54056==i||54084==i||54112==i||54140==i||54168==i||54196==i||54224==i||54252==i||54280==i||54308==i||54336==i||54364==i||54392==i||54420==i||54448==i||54476==i||54504==i||54532==i||54560==i||54588==i||54616==i||54644==i||54672==i||54700==i||54728==i||54756==i||54784==i||54812==i||54840==i||54868==i||54896==i||54924==i||54952==i||54980==i||55008==i||55036==i||55064==i||55092==i||55120==i||55148==i||55176==i?9:44033<=i&&i<=44059||44061<=i&&i<=44087||44089<=i&&i<=44115||44117<=i&&i<=44143||44145<=i&&i<=44171||44173<=i&&i<=44199||44201<=i&&i<=44227||44229<=i&&i<=44255||44257<=i&&i<=44283||44285<=i&&i<=44311||44313<=i&&i<=44339||44341<=i&&i<=44367||44369<=i&&i<=44395||44397<=i&&i<=44423||44425<=i&&i<=44451||44453<=i&&i<=44479||44481<=i&&i<=44507||44509<=i&&i<=44535||44537<=i&&i<=44563||44565<=i&&i<=44591||44593<=i&&i<=44619||44621<=i&&i<=44647||44649<=i&&i<=44675||44677<=i&&i<=44703||44705<=i&&i<=44731||44733<=i&&i<=44759||44761<=i&&i<=44787||44789<=i&&i<=44815||44817<=i&&i<=44843||44845<=i&&i<=44871||44873<=i&&i<=44899||44901<=i&&i<=44927||44929<=i&&i<=44955||44957<=i&&i<=44983||44985<=i&&i<=45011||45013<=i&&i<=45039||45041<=i&&i<=45067||45069<=i&&i<=45095||45097<=i&&i<=45123||45125<=i&&i<=45151||45153<=i&&i<=45179||45181<=i&&i<=45207||45209<=i&&i<=45235||45237<=i&&i<=45263||45265<=i&&i<=45291||45293<=i&&i<=45319||45321<=i&&i<=45347||45349<=i&&i<=45375||45377<=i&&i<=45403||45405<=i&&i<=45431||45433<=i&&i<=45459||45461<=i&&i<=45487||45489<=i&&i<=45515||45517<=i&&i<=45543||45545<=i&&i<=45571||45573<=i&&i<=45599||45601<=i&&i<=45627||45629<=i&&i<=45655||45657<=i&&i<=45683||45685<=i&&i<=45711||45713<=i&&i<=45739||45741<=i&&i<=45767||45769<=i&&i<=45795||45797<=i&&i<=45823||45825<=i&&i<=45851||45853<=i&&i<=45879||45881<=i&&i<=45907||45909<=i&&i<=45935||45937<=i&&i<=45963||45965<=i&&i<=45991||45993<=i&&i<=46019||46021<=i&&i<=46047||46049<=i&&i<=46075||46077<=i&&i<=46103||46105<=i&&i<=46131||46133<=i&&i<=46159||46161<=i&&i<=46187||46189<=i&&i<=46215||46217<=i&&i<=46243||46245<=i&&i<=46271||46273<=i&&i<=46299||46301<=i&&i<=46327||46329<=i&&i<=46355||46357<=i&&i<=46383||46385<=i&&i<=46411||46413<=i&&i<=46439||46441<=i&&i<=46467||46469<=i&&i<=46495||46497<=i&&i<=46523||46525<=i&&i<=46551||46553<=i&&i<=46579||46581<=i&&i<=46607||46609<=i&&i<=46635||46637<=i&&i<=46663||46665<=i&&i<=46691||46693<=i&&i<=46719||46721<=i&&i<=46747||46749<=i&&i<=46775||46777<=i&&i<=46803||46805<=i&&i<=46831||46833<=i&&i<=46859||46861<=i&&i<=46887||46889<=i&&i<=46915||46917<=i&&i<=46943||46945<=i&&i<=46971||46973<=i&&i<=46999||47001<=i&&i<=47027||47029<=i&&i<=47055||47057<=i&&i<=47083||47085<=i&&i<=47111||47113<=i&&i<=47139||47141<=i&&i<=47167||47169<=i&&i<=47195||47197<=i&&i<=47223||47225<=i&&i<=47251||47253<=i&&i<=47279||47281<=i&&i<=47307||47309<=i&&i<=47335||47337<=i&&i<=47363||47365<=i&&i<=47391||47393<=i&&i<=47419||47421<=i&&i<=47447||47449<=i&&i<=47475||47477<=i&&i<=47503||47505<=i&&i<=47531||47533<=i&&i<=47559||47561<=i&&i<=47587||47589<=i&&i<=47615||47617<=i&&i<=47643||47645<=i&&i<=47671||47673<=i&&i<=47699||47701<=i&&i<=47727||47729<=i&&i<=47755||47757<=i&&i<=47783||47785<=i&&i<=47811||47813<=i&&i<=47839||47841<=i&&i<=47867||47869<=i&&i<=47895||47897<=i&&i<=47923||47925<=i&&i<=47951||47953<=i&&i<=47979||47981<=i&&i<=48007||48009<=i&&i<=48035||48037<=i&&i<=48063||48065<=i&&i<=48091||48093<=i&&i<=48119||48121<=i&&i<=48147||48149<=i&&i<=48175||48177<=i&&i<=48203||48205<=i&&i<=48231||48233<=i&&i<=48259||48261<=i&&i<=48287||48289<=i&&i<=48315||48317<=i&&i<=48343||48345<=i&&i<=48371||48373<=i&&i<=48399||48401<=i&&i<=48427||48429<=i&&i<=48455||48457<=i&&i<=48483||48485<=i&&i<=48511||48513<=i&&i<=48539||48541<=i&&i<=48567||48569<=i&&i<=48595||48597<=i&&i<=48623||48625<=i&&i<=48651||48653<=i&&i<=48679||48681<=i&&i<=48707||48709<=i&&i<=48735||48737<=i&&i<=48763||48765<=i&&i<=48791||48793<=i&&i<=48819||48821<=i&&i<=48847||48849<=i&&i<=48875||48877<=i&&i<=48903||48905<=i&&i<=48931||48933<=i&&i<=48959||48961<=i&&i<=48987||48989<=i&&i<=49015||49017<=i&&i<=49043||49045<=i&&i<=49071||49073<=i&&i<=49099||49101<=i&&i<=49127||49129<=i&&i<=49155||49157<=i&&i<=49183||49185<=i&&i<=49211||49213<=i&&i<=49239||49241<=i&&i<=49267||49269<=i&&i<=49295||49297<=i&&i<=49323||49325<=i&&i<=49351||49353<=i&&i<=49379||49381<=i&&i<=49407||49409<=i&&i<=49435||49437<=i&&i<=49463||49465<=i&&i<=49491||49493<=i&&i<=49519||49521<=i&&i<=49547||49549<=i&&i<=49575||49577<=i&&i<=49603||49605<=i&&i<=49631||49633<=i&&i<=49659||49661<=i&&i<=49687||49689<=i&&i<=49715||49717<=i&&i<=49743||49745<=i&&i<=49771||49773<=i&&i<=49799||49801<=i&&i<=49827||49829<=i&&i<=49855||49857<=i&&i<=49883||49885<=i&&i<=49911||49913<=i&&i<=49939||49941<=i&&i<=49967||49969<=i&&i<=49995||49997<=i&&i<=50023||50025<=i&&i<=50051||50053<=i&&i<=50079||50081<=i&&i<=50107||50109<=i&&i<=50135||50137<=i&&i<=50163||50165<=i&&i<=50191||50193<=i&&i<=50219||50221<=i&&i<=50247||50249<=i&&i<=50275||50277<=i&&i<=50303||50305<=i&&i<=50331||50333<=i&&i<=50359||50361<=i&&i<=50387||50389<=i&&i<=50415||50417<=i&&i<=50443||50445<=i&&i<=50471||50473<=i&&i<=50499||50501<=i&&i<=50527||50529<=i&&i<=50555||50557<=i&&i<=50583||50585<=i&&i<=50611||50613<=i&&i<=50639||50641<=i&&i<=50667||50669<=i&&i<=50695||50697<=i&&i<=50723||50725<=i&&i<=50751||50753<=i&&i<=50779||50781<=i&&i<=50807||50809<=i&&i<=50835||50837<=i&&i<=50863||50865<=i&&i<=50891||50893<=i&&i<=50919||50921<=i&&i<=50947||50949<=i&&i<=50975||50977<=i&&i<=51003||51005<=i&&i<=51031||51033<=i&&i<=51059||51061<=i&&i<=51087||51089<=i&&i<=51115||51117<=i&&i<=51143||51145<=i&&i<=51171||51173<=i&&i<=51199||51201<=i&&i<=51227||51229<=i&&i<=51255||51257<=i&&i<=51283||51285<=i&&i<=51311||51313<=i&&i<=51339||51341<=i&&i<=51367||51369<=i&&i<=51395||51397<=i&&i<=51423||51425<=i&&i<=51451||51453<=i&&i<=51479||51481<=i&&i<=51507||51509<=i&&i<=51535||51537<=i&&i<=51563||51565<=i&&i<=51591||51593<=i&&i<=51619||51621<=i&&i<=51647||51649<=i&&i<=51675||51677<=i&&i<=51703||51705<=i&&i<=51731||51733<=i&&i<=51759||51761<=i&&i<=51787||51789<=i&&i<=51815||51817<=i&&i<=51843||51845<=i&&i<=51871||51873<=i&&i<=51899||51901<=i&&i<=51927||51929<=i&&i<=51955||51957<=i&&i<=51983||51985<=i&&i<=52011||52013<=i&&i<=52039||52041<=i&&i<=52067||52069<=i&&i<=52095||52097<=i&&i<=52123||52125<=i&&i<=52151||52153<=i&&i<=52179||52181<=i&&i<=52207||52209<=i&&i<=52235||52237<=i&&i<=52263||52265<=i&&i<=52291||52293<=i&&i<=52319||52321<=i&&i<=52347||52349<=i&&i<=52375||52377<=i&&i<=52403||52405<=i&&i<=52431||52433<=i&&i<=52459||52461<=i&&i<=52487||52489<=i&&i<=52515||52517<=i&&i<=52543||52545<=i&&i<=52571||52573<=i&&i<=52599||52601<=i&&i<=52627||52629<=i&&i<=52655||52657<=i&&i<=52683||52685<=i&&i<=52711||52713<=i&&i<=52739||52741<=i&&i<=52767||52769<=i&&i<=52795||52797<=i&&i<=52823||52825<=i&&i<=52851||52853<=i&&i<=52879||52881<=i&&i<=52907||52909<=i&&i<=52935||52937<=i&&i<=52963||52965<=i&&i<=52991||52993<=i&&i<=53019||53021<=i&&i<=53047||53049<=i&&i<=53075||53077<=i&&i<=53103||53105<=i&&i<=53131||53133<=i&&i<=53159||53161<=i&&i<=53187||53189<=i&&i<=53215||53217<=i&&i<=53243||53245<=i&&i<=53271||53273<=i&&i<=53299||53301<=i&&i<=53327||53329<=i&&i<=53355||53357<=i&&i<=53383||53385<=i&&i<=53411||53413<=i&&i<=53439||53441<=i&&i<=53467||53469<=i&&i<=53495||53497<=i&&i<=53523||53525<=i&&i<=53551||53553<=i&&i<=53579||53581<=i&&i<=53607||53609<=i&&i<=53635||53637<=i&&i<=53663||53665<=i&&i<=53691||53693<=i&&i<=53719||53721<=i&&i<=53747||53749<=i&&i<=53775||53777<=i&&i<=53803||53805<=i&&i<=53831||53833<=i&&i<=53859||53861<=i&&i<=53887||53889<=i&&i<=53915||53917<=i&&i<=53943||53945<=i&&i<=53971||53973<=i&&i<=53999||54001<=i&&i<=54027||54029<=i&&i<=54055||54057<=i&&i<=54083||54085<=i&&i<=54111||54113<=i&&i<=54139||54141<=i&&i<=54167||54169<=i&&i<=54195||54197<=i&&i<=54223||54225<=i&&i<=54251||54253<=i&&i<=54279||54281<=i&&i<=54307||54309<=i&&i<=54335||54337<=i&&i<=54363||54365<=i&&i<=54391||54393<=i&&i<=54419||54421<=i&&i<=54447||54449<=i&&i<=54475||54477<=i&&i<=54503||54505<=i&&i<=54531||54533<=i&&i<=54559||54561<=i&&i<=54587||54589<=i&&i<=54615||54617<=i&&i<=54643||54645<=i&&i<=54671||54673<=i&&i<=54699||54701<=i&&i<=54727||54729<=i&&i<=54755||54757<=i&&i<=54783||54785<=i&&i<=54811||54813<=i&&i<=54839||54841<=i&&i<=54867||54869<=i&&i<=54895||54897<=i&&i<=54923||54925<=i&&i<=54951||54953<=i&&i<=54979||54981<=i&&i<=55007||55009<=i&&i<=55035||55037<=i&&i<=55063||55065<=i&&i<=55091||55093<=i&&i<=55119||55121<=i&&i<=55147||55149<=i&&i<=55175||55177<=i&&i<=55203?10:9757==i||9977==i||9994<=i&&i<=9997||127877==i||127938<=i&&i<=127940||127943==i||127946<=i&&i<=127948||128066<=i&&i<=128067||128070<=i&&i<=128080||128110==i||128112<=i&&i<=128120||128124==i||128129<=i&&i<=128131||128133<=i&&i<=128135||128170==i||128372<=i&&i<=128373||128378==i||128400==i||128405<=i&&i<=128406||128581<=i&&i<=128583||128587<=i&&i<=128591||128675==i||128692<=i&&i<=128694||128704==i||128716==i||129304<=i&&i<=129308||129310<=i&&i<=129311||129318==i||129328<=i&&i<=129337||129341<=i&&i<=129342||129489<=i&&i<=129501?A:127995<=i&&i<=127999?14:8205==i?15:9792==i||9794==i||9877<=i&&i<=9878||9992==i||10084==i||127752==i||127806==i||127859==i||127891==i||127908==i||127912==i||127979==i||127981==i||128139==i||128187<=i&&i<=128188||128295==i||128300==i||128488==i||128640==i||128658==i?n:128102<=i&&i<=128105?o:11}return this.nextBreak=function(e,t){if(void 0===t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(var r,A,n=a(i(e,t)),o=[],c=t+1;c{"use strict";e.exports=(e,t=process.argv)=>{const r=e.startsWith("-")?"":1===e.length?"-":"--",A=t.indexOf(r+e),n=t.indexOf("--");return-1!==A&&(-1===n||A{"use strict";const t=[200,203,204,206,300,301,404,405,410,414,501],r=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],A={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},n={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function o(e){const t={};if(!e)return t;const r=e.trim().split(/\s*,\s*/);for(const e of r){const[r,A]=e.split(/\s*=\s*/,2);t[r]=void 0===A||A.replace(/^"|"$/g,"")}return t}function i(e){let t=[];for(const r in e){const A=e[r];t.push(!0===A?r:r+"="+A)}if(t.length)return t.join(", ")}e.exports=class{constructor(e,t,{shared:r,cacheHeuristic:A,immutableMinTimeToLive:n,ignoreCargoCult:s,trustServerDate:a,_fromObject:c}={}){if(c)this._fromObject(c);else{if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=!1!==r,this._trustServerDate=void 0===a||a,this._cacheHeuristic=void 0!==A?A:.1,this._immutableMinTtl=void 0!==n?n:864e5,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=o(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=o(e.headers["cache-control"]),s&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":i(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers["cache-control"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}}now(){return Date.now()}storable(){return!(this._reqcc["no-store"]||!("GET"===this._method||"HEAD"===this._method||"POST"===this._method&&this._hasExplicitExpiration())||-1===r.indexOf(this._status)||this._rescc["no-store"]||this._isShared&&this._rescc.private||this._isShared&&!this._noAuthorization&&!this._allowsStoringAuthenticated()||!(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||-1!==t.indexOf(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);const t=o(e.headers["cache-control"]);if(t["no-cache"]||/no-cache/.test(e.headers.pragma))return!1;if(t["max-age"]&&this.age()>t["max-age"])return!1;if(t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"])return!1;if(this.stale()){if(!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(!0===t["max-stale"]||t["max-stale"]>this.age()-this.maxAge())))return!1}return this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&"HEAD"===e.method)&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if("*"===this._resHeaders.vary)return!1;const t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(const r of t)if(e.headers[r]!==this._reqHeaders[r])return!1;return!0}_copyWithoutHopByHopHeaders(e){const t={};for(const r in e)A[r]||(t[r]=e[r]);if(e.connection){const r=e.connection.trim().split(/\s*,\s*/);for(const e of r)delete t[e]}if(t.warning){const e=t.warning.split(/,/).filter(e=>!/^\s*1[0-9][0-9]/.test(e));e.length?t.warning=e.join(",").trim():delete t.warning}return t}responseHeaders(){const e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>86400&&!this._hasExplicitExpiration()&&this.maxAge()>86400&&(e.warning=(e.warning?e.warning+", ":"")+'113 - "rfc7234 5.5.4"'),e.age=""+Math.round(t),e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){const e=Date.parse(this._resHeaders.date);if(isFinite(e)){const t=288e5;if(Math.abs(this._responseTime-e)e&&(e=t)}return e+(this.now()-this._responseTime)/1e3}_ageValue(){const e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"])return 0;if(this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable)return 0;if("*"===this._resHeaders.vary)return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);const e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){const r=Date.parse(this._resHeaders.expires);return Number.isNaN(r)||rr)return Math.max(e,(t-r)/1e3*this._cacheHeuristic)}return e}timeToLive(){return 1e3*Math.max(0,this.maxAge()-this.age())}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||1!==e.v)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=void 0!==e.imm?e.imm:864e5,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);const t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag);if(t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&"GET"!=this._method){if(delete t["if-modified-since"],t["if-none-match"]){const e=t["if-none-match"].split(/,/).filter(e=>!/^\s*W\//.test(e));e.length?t["if-none-match"]=e.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error("Response headers missing");let r=!1;if(void 0!==t.status&&304!=t.status?r=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?r=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?r=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?r=this._resHeaders["last-modified"]===t.headers["last-modified"]:this._resHeaders.etag||this._resHeaders["last-modified"]||t.headers.etag||t.headers["last-modified"]||(r=!0),!r)return{policy:new this.constructor(e,t),modified:304!=t.status,matches:!1};const A={};for(const e in this._resHeaders)A[e]=e in t.headers&&!n[e]?t.headers[e]:this._resHeaders[e];const o=Object.assign({},t,{status:this._status,method:this._method,headers:A});return{policy:new this.constructor(e,o,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}},94935:(e,t,r)=>{"use strict";const A=r(28614),n=r(4016),o=r(97565),i=r(49601),s=Symbol("currentStreamsCount"),a=Symbol("request"),c=Symbol("cachedOriginSet"),g=Symbol("gracefullyClosing"),l=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],u=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,h=(e,t)=>{for(const r of e)r[c].lengtht[c].includes(e))&&r[s]+t[s]<=t.remoteSettings.maxConcurrentStreams&&d(r)},p=({agent:e,isFree:t})=>{const r={};for(const A in e.sessions){const n=e.sessions[A].filter(e=>{const r=e[C.kCurrentStreamsCount]{e[g]=!0,0===e[s]&&e.close()};class C extends A{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:r=10,maxCachedTlsSessions:A=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=r,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new i({maxSize:A})}static normalizeOrigin(e,t){return"string"==typeof e&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(const r of l)e[r]&&(t+=":"+e[r]);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;const r=this.queue[e][t];this._sessionsCount{Array.isArray(r)?(r=[...r],A()):r=[{resolve:A,reject:n}];const i=this.normalizeOptions(t),l=C.normalizeOrigin(e,t&&t.servername);if(void 0===l){for(const{reject:e}of r)e(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(i in this.sessions){const e=this.sessions[i];let t,A=-1,n=-1;for(const r of e){const e=r.remoteSettings.maxConcurrentStreams;if(e=e||r[g]||r.destroyed)continue;t||(A=e),o>n&&(t=r,n=o)}}if(t){if(1!==r.length){for(const{reject:e}of r){e(new Error(`Expected the length of listeners to be 1, got ${r.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`))}return}return void r[0].resolve(t)}}if(i in this.queue){if(l in this.queue[i])return this.queue[i][l].listeners.push(...r),void this._tryToCreateNewSession(i,l)}else this.queue[i]={};const p=()=>{i in this.queue&&this.queue[i][l]===f&&(delete this.queue[i][l],0===Object.keys(this.queue[i]).length&&delete this.queue[i])},f=()=>{const A=`${l}:${i}`;let n=!1;try{const C=o.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(A),...t});C[s]=0,C[g]=!1;const I=()=>C[s]{this.tlsSessionCache.set(A,e)}),C.once("error",e=>{for(const{reject:t}of r)t(e);this.tlsSessionCache.delete(A)}),C.setTimeout(this.timeout,()=>{C.destroy()}),C.once("close",()=>{if(n){E&&this._freeSessionsCount--,this._sessionsCount--;const e=this.sessions[i];e.splice(e.indexOf(C),1),0===e.length&&delete this.sessions[i]}else{const e=new Error("Session closed without receiving a SETTINGS frame");e.code="HTTP2WRAPPER_NOSETTINGS";for(const{reject:t}of r)t(e);p()}this._tryToCreateNewSession(i,l)});const B=()=>{if(i in this.queue&&I())for(const e of C[c])if(e in this.queue[i]){const{listeners:t}=this.queue[i][e];for(;0!==t.length&&I();)t.shift().resolve(C);const r=this.queue[i];if(0===r[e].listeners.length&&(delete r[e],0===Object.keys(r).length)){delete this.queue[i];break}if(!I())break}};C.on("origin",()=>{C[c]=C.originSet,I()&&(B(),h(this.sessions[i],C))}),C.once("remoteSettings",()=>{if(C.ref(),C.unref(),this._sessionsCount++,f.destroyed){const e=new Error("Agent has been destroyed");for(const t of r)t.reject(e);C.destroy()}else{C[c]=C.originSet;{const e=this.sessions;if(i in e){const t=e[i];t.splice(((e,t,r)=>{let A=0,n=e.length;for(;A>>1;r(e[o],t)?A=o+1:n=o}return A})(t,C,u),0,C)}else e[i]=[C]}this._freeSessionsCount+=1,n=!0,this.emit("session",C),B(),p(),0===C[s]&&this._freeSessionsCount>this.maxFreeSessions&&C.close(),0!==r.length&&(this.getSession(l,t,r),r.length=0),C.on("remoteSettings",()=>{B(),h(this.sessions[i],C)})}}),C[a]=C.request,C.request=(e,t)=>{if(C[g])throw new Error("The session is gracefully closing. No new streams are allowed.");const r=C[a](e,t);return C.ref(),++C[s],C[s]===C.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,r.once("close",()=>{if(E=I(),--C[s],!C.destroyed&&!C.closed&&(((e,t)=>{for(const r of e)t[c].lengthr[c].includes(e))&&t[s]+r[s]<=r.remoteSettings.maxConcurrentStreams&&d(t)})(this.sessions[i],C),I()&&!C.closed)){E||(this._freeSessionsCount++,E=!0);const e=0===C[s];e&&C.unref(),e&&(this._freeSessionsCount>this.maxFreeSessions||C[g])?C.close():(h(this.sessions[i],C),B())}}),r}}catch(e){for(const t of r)t.reject(e);p()}};f.listeners=r,f.completed=!1,f.destroyed=!1,this.queue[i][l]=f,this._tryToCreateNewSession(i,l)})}request(e,t,r,A){return new Promise((n,o)=>{this.getSession(e,t,[{reject:o,resolve:e=>{try{n(e.request(r,A))}catch(e){o(e)}}}])})}createConnection(e,t){return C.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];const r=e.port||443,A=e.hostname||e.host;return void 0===t.servername&&(t.servername=A),n.connect(r,A,t)}closeFreeSessions(){for(const e of Object.values(this.sessions))for(const t of e)0===t[s]&&t.close()}destroy(e){for(const t of Object.values(this.sessions))for(const r of t)r.destroy(e);for(const e of Object.values(this.queue))for(const t of Object.values(e))t.destroyed=!0;this.queue={}}get freeSessions(){return p({agent:this,isFree:!0})}get busySessions(){return p({agent:this,isFree:!1})}}C.kCurrentStreamsCount=s,C.kGracefullyClosing=g,e.exports={Agent:C,globalAgent:new C}},2398:(e,t,r)=>{"use strict";const A=r(98605),n=r(57211),o=r(19476),i=r(49601),s=r(33134),a=r(5209),c=r(50075),g=new i({maxSize:100}),l=new Map,u=(e,t,r)=>{t._httpMessage={shouldKeepAlive:!0};const A=()=>{e.emit("free",t,r)};t.on("free",A);const n=()=>{e.removeSocket(t,r)};t.on("close",n);const o=()=>{e.removeSocket(t,r),t.off("close",n),t.off("free",A),t.off("agentRemove",o)};t.on("agentRemove",o),e.emit("free",t,r)};e.exports=async(e,t,r)=>{if(("string"==typeof e||e instanceof URL)&&(e=c(new URL(e))),"function"==typeof t&&(r=t,t=void 0),t={ALPNProtocols:["h2","http/1.1"],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||0===t.ALPNProtocols.length)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||"https:";const i="https:"===t.protocol;t.host=t.hostname||t.host||"localhost",t.session=t.tlsSession,t.servername=t.servername||a(t),t.port=t.port||(i?443:80),t._defaultAgent=i?n.globalAgent:A.globalAgent;const h=t.agent;if(h){if(h.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=h[i?"https":"http"]}if(i){if("h2"===await(async e=>{const t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!g.has(t)){if(l.has(t)){return(await l.get(t)).alpnProtocol}const{path:r,agent:A}=e;e.path=e.socketPath;const i=o(e);l.set(t,i);try{const{socket:o,alpnProtocol:s}=await i;if(g.set(t,s),e.path=r,"h2"===s)o.destroy();else{const{globalAgent:t}=n,r=n.Agent.prototype.createConnection;A?A.createConnection===r?u(A,o,e):o.destroy():t.createConnection===r?u(t,o,e):o.destroy()}return l.delete(t),s}catch(e){throw l.delete(t),e}}return g.get(t)})(t))return h&&(t.agent=h.http2),new s(t,r)}return A.request(t,r)},e.exports.protocolCache=g},33134:(e,t,r)=>{"use strict";const A=r(97565),{Writable:n}=r(92413),{Agent:o,globalAgent:i}=r(94935),s=r(53433),a=r(50075),c=r(66192),g=r(50978),{ERR_INVALID_ARG_TYPE:l,ERR_INVALID_PROTOCOL:u,ERR_HTTP_HEADERS_SENT:h,ERR_INVALID_HTTP_TOKEN:p,ERR_HTTP_INVALID_HEADER_VALUE:d,ERR_INVALID_CHAR:C}=r(64080),{HTTP2_HEADER_STATUS:f,HTTP2_HEADER_METHOD:I,HTTP2_HEADER_PATH:E,HTTP2_METHOD_CONNECT:B}=A.constants,y=Symbol("headers"),m=Symbol("origin"),w=Symbol("session"),Q=Symbol("options"),D=Symbol("flushedHeaders"),b=Symbol("jobs"),v=/^[\^`\-\w!#$%&*+.|~]+$/,S=/[^\t\u0020-\u007E\u0080-\u00FF]/;e.exports=class extends n{constructor(e,t,r){super({autoDestroy:!1});const A="string"==typeof e||e instanceof URL;if(A&&(e=a(e instanceof URL?e:new URL(e))),"function"==typeof t||void 0===t?(r=t,t=A?e:{...e}):t={...e,...t},t.h2session)this[w]=t.h2session;else if(!1===t.agent)this.agent=new o({maxFreeSessions:0});else if(void 0===t.agent||null===t.agent)"function"==typeof t.createConnection?(this.agent=new o({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=i;else{if("function"!=typeof t.agent.request)throw new l("options.agent",["Agent-like Object","undefined","false"],t.agent);this.agent=t.agent}if(t.protocol&&"https:"!==t.protocol)throw new u(t.protocol,"https:");const n=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,s=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;const{timeout:c}=t;if(t.timeout=void 0,this[y]=Object.create(null),this[b]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(const[e,r]of Object.entries(t.headers))this.setHeader(e,r);t.auth&&!("authorization"in this[y])&&(this[y].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[Q]=t,443===n?(this[m]="https://"+s,":authority"in this[y]||(this[y][":authority"]=s)):(this[m]=`https://${s}:${n}`,":authority"in this[y]||(this[y][":authority"]=`${s}:${n}`)),c&&this.setTimeout(c),r&&this.once("response",r),this[D]=!1}get method(){return this[y][I]}set method(e){e&&(this[y][I]=e.toUpperCase())}get path(){return this[y][E]}set path(e){e&&(this[y][E]=e)}get _mustNotHaveABody(){return"GET"===this.method||"HEAD"===this.method||"DELETE"===this.method}_write(e,t,r){if(this._mustNotHaveABody)return void r(new Error("The GET, HEAD and DELETE methods must NOT have a body"));this.flushHeaders();const A=()=>this._request.write(e,t,r);this._request?A():this[b].push(A)}_final(e){if(this.destroyed)return;this.flushHeaders();const t=()=>{this._mustNotHaveABody?e():this._request.end(e)};this._request?t():this[b].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[D]||this.destroyed)return;this[D]=!0;const e=this.method===B,t=t=>{if(this._request=t,this.destroyed)return void t.destroy();e||c(t,this,["timeout","continue","close","error"]);const r=e=>(...t)=>{this.writable||this.destroyed?this.once("finish",()=>{e(...t)}):e(...t)};t.once("response",r((r,A,n)=>{const o=new s(this.socket,t.readableHighWaterMark);this.res=o,o.req=this,o.statusCode=r[f],o.headers=r,o.rawHeaders=n,o.once("end",()=>{this.aborted?(o.aborted=!0,o.emit("aborted")):(o.complete=!0,o.socket=null,o.connection=null)}),e?(o.upgrade=!0,this.emit("connect",o,t,Buffer.alloc(0))?this.emit("close"):t.destroy()):(t.on("data",e=>{o._dumped||o.push(e)||t.pause()}),t.once("end",()=>{o.push(null)}),this.emit("response",o)||o._dump())})),t.once("headers",r(e=>this.emit("information",{statusCode:e[f]}))),t.once("trailers",r((e,t,r)=>{const{res:A}=this;A.trailers=e,A.rawTrailers=r}));const{socket:A}=t.session;this.socket=A,this.connection=A;for(const e of this[b])e();this.emit("socket",this.socket)};if(this[w])try{t(this[w].request(this[y]))}catch(e){this.emit("error",e)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[m],this[Q],this[y]))}catch(e){this.emit("error",e)}}}getHeader(e){if("string"!=typeof e)throw new l("name","string",e);return this[y][e.toLowerCase()]}get headersSent(){return this[D]}removeHeader(e){if("string"!=typeof e)throw new l("name","string",e);if(this.headersSent)throw new h("remove");delete this[y][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new h("set");if("string"!=typeof e||!v.test(e)&&!g(e))throw new p("Header name",e);if(void 0===t)throw new d(t,e);if(S.test(t))throw new C("header content",e);this[y][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){const r=()=>this._request.setTimeout(e,t);return this._request?r():this[b].push(r),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}}},53433:(e,t,r)=>{"use strict";const{Readable:A}=r(92413);e.exports=class extends A{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}}},92353:(e,t,r)=>{"use strict";const A=r(97565),n=r(94935),o=r(33134),i=r(53433),s=r(2398);e.exports={...A,ClientRequest:o,IncomingMessage:i,...n,request:(e,t,r)=>new o(e,t,r),get:(e,t,r)=>{const A=new o(e,t,r);return A.end(),A},auto:s}},5209:(e,t,r)=>{"use strict";const A=r(11631);e.exports=e=>{let t=e.host;const r=e.headers&&e.headers.host;if(r)if(r.startsWith("[")){t=-1===r.indexOf("]")?r:r.slice(1,-1)}else t=r.split(":",1)[0];return A.isIP(t)?"":t}},64080:e=>{"use strict";const t=(t,r,A)=>{e.exports[r]=class extends t{constructor(...e){super("string"==typeof A?A:A(e)),this.name=`${super.name} [${r}]`,this.code=r}}};t(TypeError,"ERR_INVALID_ARG_TYPE",e=>{const t=e[0].includes(".")?"property":"argument";let r=e[1];const A=Array.isArray(r);return A&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${e[0]}" ${t} must be ${A?"one of":"of"} type ${r}. Received ${typeof e[2]}`}),t(TypeError,"ERR_INVALID_PROTOCOL",e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`),t(Error,"ERR_HTTP_HEADERS_SENT",e=>`Cannot ${e[0]} headers after they are sent to the client`),t(TypeError,"ERR_INVALID_HTTP_TOKEN",e=>`${e[0]} must be a valid HTTP token [${e[1]}]`),t(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",e=>`Invalid value "${e[0]} for header "${e[1]}"`),t(TypeError,"ERR_INVALID_CHAR",e=>`Invalid character in ${e[0]} [${e[1]}]`)},50978:e=>{"use strict";e.exports=e=>{switch(e){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}},66192:e=>{"use strict";e.exports=(e,t,r)=>{for(const A of r)e.on(A,(...e)=>t.emit(A,...e))}},50075:e=>{"use strict";e.exports=e=>{const t={protocol:e.protocol,hostname:"string"==typeof e.hostname&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return"string"==typeof e.port&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},46458:e=>{function t(e){return Array.isArray(e)?e:[e]}const r=/^\s+$/,A=/^\\!/,n=/^\\#/,o=/\r?\n/g,i=/^\.*\/|^\.+$/,s="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",a=/([0-z])-([0-z])/g,c=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,e=>"\\"+e],[/\[([^\]/]*)($|\])/g,(e,t,r)=>{return"]"===r?`[${A=t,A.replace(a,(e,t,r)=>t.charCodeAt(0)<=r.charCodeAt(0)?e:"")}]`:"\\"+e;var A}],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,e=>/\/$/.test(e)?e+"$":e+"(?=$|\\/$)"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6t+"[^\\/]*"],[/(\^|\\\/)?\\\*$/,(e,t)=>(t?t+"[^/]+":"[^/]*")+"(?=$|\\/$)"],[/\\\\\\/g,()=>"\\"]],g=Object.create(null),l=e=>"string"==typeof e;class u{constructor(e,t,r,A){this.origin=e,this.pattern=t,this.negative=r,this.regex=A}}const h=(e,t)=>{const r=e;let o=!1;0===e.indexOf("!")&&(o=!0,e=e.substr(1));const i=((e,t,r)=>{const A=g[e];if(A)return A;const n=c.reduce((t,r)=>t.replace(r[0],r[1].bind(e)),e);return g[e]=r?new RegExp(n,"i"):new RegExp(n)})(e=e.replace(A,"!").replace(n,"#"),0,t);return new u(r,e,o,i)},p=(e,t)=>{throw new t(e)},d=(e,t,r)=>{if(!l(e))return r(`path must be a string, but got \`${t}\``,TypeError);if(!e)return r("path must not be empty",TypeError);if(d.isNotRelative(e)){return r(`path should be a ${"`path.relative()`d"} string, but got "${t}"`,RangeError)}return!0},C=e=>i.test(e);d.isNotRelative=C,d.convert=e=>e;class f{constructor({ignorecase:e=!0}={}){var t,r,A;this._rules=[],this._ignorecase=e,t=this,r=s,A=!0,Object.defineProperty(t,r,{value:A}),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[s])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if((e=>e&&l(e)&&!r.test(e)&&0!==e.indexOf("#"))(e)){const t=h(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,t(l(e)?(e=>e.split(o))(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let r=!1,A=!1;return this._rules.forEach(n=>{const{negative:o}=n;if(A===o&&r!==A||o&&!r&&!A&&!t)return;n.regex.test(e)&&(r=!o,A=o)}),{ignored:r,unignored:A}}_test(e,t,r,A){const n=e&&d.convert(e);return d(n,e,p),this._t(n,t,r,A)}_t(e,t,r,A){if(e in t)return t[e];if(A||(A=e.split("/")),A.pop(),!A.length)return t[e]=this._testOne(e,r);const n=this._t(A.join("/")+"/",t,r,A);return t[e]=n.ignored?n:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return t(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}const I=e=>new f(e),E=()=>!1;if(I.isPathValid=e=>d(e&&d.convert(e),e,E),I.default=I,e.exports=I,"undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");d.convert=e;const t=/^[a-z]:\//i;d.isNotRelative=e=>t.test(e)||C(e)}},85870:(e,t,r)=>{try{var A=r(31669);if("function"!=typeof A.inherits)throw"";e.exports=A.inherits}catch(t){e.exports=r(48145)}},48145:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},44486:e=>{ -/*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -e.exports=function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}},18193:(e,t,r)=>{ -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -var A=r(44486),n={"{":"}","(":")","[":"]"},o=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,i=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;e.exports=function(e,t){if("string"!=typeof e||""===e)return!1;if(A(e))return!0;var r,s=o;for(t&&!1===t.strict&&(s=i);r=s.exec(e);){if(r[2])return!0;var a=r.index+r[0].length,c=r[1],g=c?n[c]:null;if(c&&g){var l=e.indexOf(g,a);-1!==l&&(a=l+1)}e=e.slice(a)}return!1}},59235:e=>{"use strict"; -/*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */e.exports=function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(Number.isFinite?Number.isFinite(+e):isFinite(+e))}},97369:(e,t)=>{var r,A,n,o; -/*! - * is-windows - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - */o=function(){"use strict";return function(){return process&&("win32"===process.platform||/^(msys|cygwin)$/.test(process.env.OSTYPE))}},t&&"object"==typeof t?e.exports=o():(A=[],void 0===(n="function"==typeof(r=o)?r.apply(t,A):r)||(e.exports=n))},64151:(e,t,r)=>{var A;r(35747);function n(e,t,r){if("function"==typeof t&&(r=t,t={}),!r){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(r,A){n(e,t||{},(function(e,t){e?A(e):r(t)}))}))}A(e,t||{},(function(e,A){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,A=!1),r(e,A)}))}A="win32"===process.platform||global.TESTING_WINDOWS?r(3202):r(2151),e.exports=n,n.sync=function(e,t){try{return A.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},2151:(e,t,r)=>{e.exports=n,n.sync=function(e,t){return o(A.statSync(e),t)};var A=r(35747);function n(e,t,r){A.stat(e,(function(e,A){r(e,!e&&o(A,t))}))}function o(e,t){return e.isFile()&&function(e,t){var r=e.mode,A=e.uid,n=e.gid,o=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),i=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),s=parseInt("100",8),a=parseInt("010",8),c=parseInt("001",8),g=s|a;return r&c||r&a&&n===i||r&s&&A===o||r&g&&0===o}(e,t)}},3202:(e,t,r)=>{e.exports=o,o.sync=function(e,t){return n(A.statSync(e),e,t)};var A=r(35747);function n(e,t,r){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var r=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!r)return!0;if(-1!==(r=r.split(";")).indexOf(""))return!0;for(var A=0;A{"use strict";var A=r(40744);e.exports=A},40744:(e,t,r)=>{"use strict";var A=r(55384),n=r(24129);function o(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=r(81704),e.exports.Schema=r(8212),e.exports.FAILSAFE_SCHEMA=r(44413),e.exports.JSON_SCHEMA=r(45247),e.exports.CORE_SCHEMA=r(8769),e.exports.DEFAULT_SAFE_SCHEMA=r(65483),e.exports.DEFAULT_FULL_SCHEMA=r(5235),e.exports.load=A.load,e.exports.loadAll=A.loadAll,e.exports.safeLoad=A.safeLoad,e.exports.safeLoadAll=A.safeLoadAll,e.exports.dump=n.dump,e.exports.safeDump=n.safeDump,e.exports.YAMLException=r(17345),e.exports.MINIMAL_SCHEMA=r(44413),e.exports.SAFE_SCHEMA=r(65483),e.exports.DEFAULT_SCHEMA=r(5235),e.exports.scan=o("scan"),e.exports.parse=o("parse"),e.exports.compose=o("compose"),e.exports.addConstructor=o("addConstructor")},28149:e=>{"use strict";function t(e){return null==e}e.exports.isNothing=t,e.exports.isObject=function(e){return"object"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:t(e)?[]:[e]},e.exports.repeat=function(e,t){var r,A="";for(r=0;r{"use strict";var A=r(28149),n=r(17345),o=r(5235),i=r(65483),s=Object.prototype.toString,a=Object.prototype.hasOwnProperty,c={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},g=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function l(e){var t,r,o;if(t=e.toString(16).toUpperCase(),e<=255)r="x",o=2;else if(e<=65535)r="u",o=4;else{if(!(e<=4294967295))throw new n("code point within a string may not be greater than 0xFFFFFFFF");r="U",o=8}return"\\"+r+A.repeat("0",o-t.length)+t}function u(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=A.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var r,A,n,o,i,s,c;if(null===t)return{};for(r={},n=0,o=(A=Object.keys(t)).length;nA&&" "!==e[l+1],l=o);else if(!C(i))return 5;u=u&&f(i)}c=c||g&&o-l-1>A&&" "!==e[l+1]}return a||c?r>9&&I(e)?5:c?4:3:u&&!n(e)?1:2}function B(e,t,r,A){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==g.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,r),i=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=A||e.flowLevel>-1&&r>=e.flowLevel;switch(E(t,s,e.indent,i,(function(t){return function(e,t){var r,A;for(r=0,A=e.implicitTypes.length;r"+y(t,e.indent)+m(h(function(e,t){var r,A,n=/(\n+)([^\n]*)/g,o=(s=e.indexOf("\n"),s=-1!==s?s:e.length,n.lastIndex=s,w(e.slice(0,s),t)),i="\n"===e[0]||" "===e[0];var s;for(;A=n.exec(e);){var a=A[1],c=A[2];r=" "===c[0],o+=a+(i||r||""===c?"":"\n")+w(c,t),i=r}return o}(t,i),o));case 5:return'"'+function(e){for(var t,r,A,n="",o=0;o=55296&&t<=56319&&(r=e.charCodeAt(o+1))>=56320&&r<=57343?(n+=l(1024*(t-55296)+r-56320+65536),o++):(A=c[t],n+=!A&&C(t)?e[o]:A||l(t));return n}(t)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function y(e,t){var r=I(e)?String(t):"",A="\n"===e[e.length-1];return r+(A&&("\n"===e[e.length-2]||"\n"===e)?"+":A?"":"-")+"\n"}function m(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function w(e,t){if(""===e||" "===e[0])return e;for(var r,A,n=/ [^ ]/g,o=0,i=0,s=0,a="";r=n.exec(e);)(s=r.index)-o>t&&(A=i>o?i:s,a+="\n"+e.slice(o,A),o=A+1),i=s;return a+="\n",e.length-o>t&&i>o?a+=e.slice(o,i)+"\n"+e.slice(i+1):a+=e.slice(o),a.slice(1)}function Q(e,t,r){var A,o,i,c,g,l;for(i=0,c=(o=r?e.explicitTypes:e.implicitTypes).length;i tag resolver accepts not "'+l+'" style');A=g.represent[l](t,l)}e.dump=A}return!0}return!1}function D(e,t,r,A,o,i){e.tag=null,e.dump=r,Q(e,r,!1)||Q(e,r,!0);var a=s.call(e.dump);A&&(A=e.flowLevel<0||e.flowLevel>t);var c,g,l="[object Object]"===a||"[object Array]"===a;if(l&&(g=-1!==(c=e.duplicates.indexOf(r))),(null!==e.tag&&"?"!==e.tag||g||2!==e.indent&&t>0)&&(o=!1),g&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(l&&g&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),"[object Object]"===a)A&&0!==Object.keys(e.dump).length?(!function(e,t,r,A){var o,i,s,a,c,g,l="",u=e.tag,h=Object.keys(r);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new n("sortKeys must be a boolean or a function");for(o=0,i=h.length;o1024)&&(e.dump&&10===e.dump.charCodeAt(0)?g+="?":g+="? "),g+=e.dump,c&&(g+=p(e,t)),D(e,t+1,a,!0,c)&&(e.dump&&10===e.dump.charCodeAt(0)?g+=":":g+=": ",l+=g+=e.dump));e.tag=u,e.dump=l||"{}"}(e,t,e.dump,o),g&&(e.dump="&ref_"+c+e.dump)):(!function(e,t,r){var A,n,o,i,s,a="",c=e.tag,g=Object.keys(r);for(A=0,n=g.length;A1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),D(e,t,i,!1,!1)&&(a+=s+=e.dump));e.tag=c,e.dump="{"+a+"}"}(e,t,e.dump),g&&(e.dump="&ref_"+c+" "+e.dump));else if("[object Array]"===a){var u=e.noArrayIndent&&t>0?t-1:t;A&&0!==e.dump.length?(!function(e,t,r,A){var n,o,i="",s=e.tag;for(n=0,o=r.length;n "+e.dump)}return!0}function b(e,t){var r,A,n=[],o=[];for(function e(t,r,A){var n,o,i;if(null!==t&&"object"==typeof t)if(-1!==(o=r.indexOf(t)))-1===A.indexOf(o)&&A.push(o);else if(r.push(t),Array.isArray(t))for(o=0,i=t.length;o{"use strict";function t(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},e.exports=t},55384:(e,t,r)=>{"use strict";var A=r(28149),n=r(17345),o=r(30399),i=r(65483),s=r(5235),a=Object.prototype.hasOwnProperty,c=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,g=/[\x85\u2028\u2029]/,l=/[,\[\]\{\}]/,u=/^(?:!|!!|![a-z\-]+!)$/i,h=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function p(e){return 10===e||13===e}function d(e){return 9===e||32===e}function C(e){return 9===e||32===e||10===e||13===e}function f(e){return 44===e||91===e||93===e||123===e||125===e}function I(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function E(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e||9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function B(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var y=new Array(256),m=new Array(256),w=0;w<256;w++)y[w]=E(w)?1:0,m[w]=E(w);function Q(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function D(e,t){return new n(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function b(e,t){throw D(e,t)}function v(e,t){e.onWarning&&e.onWarning.call(null,D(e,t))}var S={YAML:function(e,t,r){var A,n,o;null!==e.version&&b(e,"duplication of %YAML directive"),1!==r.length&&b(e,"YAML directive accepts exactly one argument"),null===(A=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&b(e,"ill-formed argument of the YAML directive"),n=parseInt(A[1],10),o=parseInt(A[2],10),1!==n&&b(e,"unacceptable YAML version of the document"),e.version=r[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&v(e,"unsupported YAML version of the document")},TAG:function(e,t,r){var A,n;2!==r.length&&b(e,"TAG directive accepts exactly two arguments"),A=r[0],n=r[1],u.test(A)||b(e,"ill-formed tag handle (first argument) of the TAG directive"),a.call(e.tagMap,A)&&b(e,'there is a previously declared suffix for "'+A+'" tag handle'),h.test(n)||b(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[A]=n}};function k(e,t,r,A){var n,o,i,s;if(t1&&(e.result+=A.repeat("\n",t-1))}function L(e,t){var r,A,n=e.tag,o=e.anchor,i=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),A=e.input.charCodeAt(e.position);0!==A&&45===A&&C(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,M(e,!0,-1)&&e.lineIndent<=t)i.push(null),A=e.input.charCodeAt(e.position);else if(r=e.line,U(e,t,3,!1,!0),i.push(e.result),M(e,!0,-1),A=e.input.charCodeAt(e.position),(e.line===r||e.lineIndent>t)&&0!==A)b(e,"bad indentation of a sequence entry");else if(e.lineIndentt?w=1:e.lineIndent===t?w=0:e.lineIndentt?w=1:e.lineIndent===t?w=0:e.lineIndentt)&&(U(e,t,4,!0,n)&&(f?h=e.result:p=e.result),f||(F(e,g,l,u,h,p,o,i),u=h=p=null),M(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)b(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?b(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):g?b(e,"repeat of an indentation width identifier"):(l=t+o-1,g=!0)}if(d(i)){do{i=e.input.charCodeAt(++e.position)}while(d(i));if(35===i)do{i=e.input.charCodeAt(++e.position)}while(!p(i)&&0!==i)}for(;0!==i;){for(N(e),e.lineIndent=0,i=e.input.charCodeAt(e.position);(!g||e.lineIndentl&&(l=e.lineIndent),p(i))u++;else{if(e.lineIndent0){for(n=i,o=0;n>0;n--)(i=I(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+i:b(e,"expected hexadecimal character");e.result+=B(o),e.position++}else b(e,"unknown escape sequence");r=A=e.position}else p(s)?(k(e,r,A,!0),x(e,M(e,!1,t)),r=A=e.position):e.position===e.lineStart&&R(e)?b(e,"unexpected end of the document within a double quoted scalar"):(e.position++,A=e.position)}b(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?D=!0:!function(e){var t,r,A;if(42!==(A=e.input.charCodeAt(e.position)))return!1;for(A=e.input.charCodeAt(++e.position),t=e.position;0!==A&&!C(A)&&!f(A);)A=e.input.charCodeAt(++e.position);return e.position===t&&b(e,"name of an alias node must contain at least one character"),r=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(r)||b(e,'unidentified alias "'+r+'"'),e.result=e.anchorMap[r],M(e,!0,-1),!0}(e)?function(e,t,r){var A,n,o,i,s,a,c,g,l=e.kind,u=e.result;if(C(g=e.input.charCodeAt(e.position))||f(g)||35===g||38===g||42===g||33===g||124===g||62===g||39===g||34===g||37===g||64===g||96===g)return!1;if((63===g||45===g)&&(C(A=e.input.charCodeAt(e.position+1))||r&&f(A)))return!1;for(e.kind="scalar",e.result="",n=o=e.position,i=!1;0!==g;){if(58===g){if(C(A=e.input.charCodeAt(e.position+1))||r&&f(A))break}else if(35===g){if(C(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&R(e)||r&&f(g))break;if(p(g)){if(s=e.line,a=e.lineStart,c=e.lineIndent,M(e,!1,-1),e.lineIndent>=t){i=!0,g=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=a,e.lineIndent=c;break}}i&&(k(e,n,o,!1),x(e,e.line-s),n=o=e.position,i=!1),d(g)||(o=e.position+1),g=e.input.charCodeAt(++e.position)}return k(e,n,o,!1),!!e.result||(e.kind=l,e.result=u,!1)}(e,h,1===r)&&(D=!0,null===e.tag&&(e.tag="?")):(D=!0,null===e.tag&&null===e.anchor||b(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===w&&(D=c&&L(e,E))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(g=0,l=e.implicitTypes.length;g tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result)?(e.result=u.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):b(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):b(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||D}function T(e){var t,r,A,n,o=e.position,i=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(n=e.input.charCodeAt(e.position))&&(M(e,!0,-1),n=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==n));){for(i=!0,n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!C(n);)n=e.input.charCodeAt(++e.position);for(A=[],(r=e.input.slice(t,e.position)).length<1&&b(e,"directive name must not be less than one character in length");0!==n;){for(;d(n);)n=e.input.charCodeAt(++e.position);if(35===n){do{n=e.input.charCodeAt(++e.position)}while(0!==n&&!p(n));break}if(p(n))break;for(t=e.position;0!==n&&!C(n);)n=e.input.charCodeAt(++e.position);A.push(e.input.slice(t,e.position))}0!==n&&N(e),a.call(S,r)?S[r](e,r,A):v(e,'unknown document directive "'+r+'"')}M(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,M(e,!0,-1)):i&&b(e,"directives end mark is expected"),U(e,e.lineIndent-1,4,!1,!0),M(e,!0,-1),e.checkLineBreaks&&g.test(e.input.slice(o,e.position))&&v(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&R(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,M(e,!0,-1)):e.position{"use strict";var A=r(28149);function n(e,t,r,A,n){this.name=e,this.buffer=t,this.position=r,this.line=A,this.column=n}n.prototype.getSnippet=function(e,t){var r,n,o,i,s;if(!this.buffer)return null;for(e=e||4,t=t||75,r="",n=this.position;n>0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1));)if(n-=1,this.position-n>t/2-1){r=" ... ",n+=5;break}for(o="",i=this.position;it/2-1){o=" ... ",i-=5;break}return s=this.buffer.slice(n,i),A.repeat(" ",e)+r+s+o+"\n"+A.repeat(" ",e+this.position-n+r.length)+"^"},n.prototype.toString=function(e){var t,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(r+=":\n"+t),r},e.exports=n},8212:(e,t,r)=>{"use strict";var A=r(28149),n=r(17345),o=r(81704);function i(e,t,r){var A=[];return e.include.forEach((function(e){r=i(e,t,r)})),e[t].forEach((function(e){r.forEach((function(t,r){t.tag===e.tag&&t.kind===e.kind&&A.push(r)})),r.push(e)})),r.filter((function(e,t){return-1===A.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new n("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=i(this,"implicit",[]),this.compiledExplicit=i(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,r={scalar:{},sequence:{},mapping:{},fallback:{}};function A(e){r[e.kind][e.tag]=r.fallback[e.tag]=e}for(e=0,t=arguments.length;e{"use strict";var A=r(8212);e.exports=new A({include:[r(45247)]})},5235:(e,t,r)=>{"use strict";var A=r(8212);e.exports=A.DEFAULT=new A({include:[r(65483)],explicit:[r(61425),r(61872),r(79982)]})},65483:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({include:[r(8769)],implicit:[r(83516),r(95441)],explicit:[r(34836),r(6847),r(65173),r(92025)]})},44413:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({explicit:[r(19952),r(46557),r(90173)]})},45247:(e,t,r)=>{"use strict";var A=r(8212);e.exports=new A({include:[r(44413)],implicit:[r(40188),r(58357),r(82106),r(71945)]})},81704:(e,t,r)=>{"use strict";var A=r(17345),n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=function(e,t){var r,i;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===n.indexOf(t))throw new A('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(r=t.styleAliases||null,i={},null!==r&&Object.keys(r).forEach((function(e){r[e].forEach((function(t){i[String(t)]=e}))})),i),-1===o.indexOf(this.kind))throw new A('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},34836:(e,t,r)=>{"use strict";var A;try{A=r(64293).Buffer}catch(e){}var n=r(81704),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new n("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,A=0,n=e.length,i=o;for(r=0;r64)){if(t<0)return!1;A+=6}return A%8==0},construct:function(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=o,a=0,c=[];for(t=0;t>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|s.indexOf(n.charAt(t));return 0===(r=i%4*6)?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===r?(c.push(a>>10&255),c.push(a>>2&255)):12===r&&c.push(a>>4&255),A?A.from?A.from(c):new A(c):c},predicate:function(e){return A&&A.isBuffer(e)},represent:function(e){var t,r,A="",n=0,i=e.length,s=o;for(t=0;t>18&63],A+=s[n>>12&63],A+=s[n>>6&63],A+=s[63&n]),n=(n<<8)+e[t];return 0===(r=i%3)?(A+=s[n>>18&63],A+=s[n>>12&63],A+=s[n>>6&63],A+=s[63&n]):2===r?(A+=s[n>>10&63],A+=s[n>>4&63],A+=s[n<<2&63],A+=s[64]):1===r&&(A+=s[n>>2&63],A+=s[n<<4&63],A+=s[64],A+=s[64]),A}})},58357:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},71945:(e,t,r)=>{"use strict";var A=r(28149),n=r(81704),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var i=/^[-+]?[0-9]+e/;e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,r,A,n;return r="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,n=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){n.unshift(parseFloat(e,10))})),t=0,A=1,n.forEach((function(e){t+=e*A,A*=60})),r*t):r*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||A.isNegativeZero(e))},represent:function(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(A.isNegativeZero(e))return"-0.0";return r=e.toString(10),i.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"})},82106:(e,t,r)=>{"use strict";var A=r(28149),n=r(81704);function o(e){return 48<=e&&e<=55}function i(e){return 48<=e&&e<=57}e.exports=new n("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,r,A=e.length,n=0,s=!1;if(!A)return!1;if("-"!==(t=e[n])&&"+"!==t||(t=e[++n]),"0"===t){if(n+1===A)return!0;if("b"===(t=e[++n])){for(n++;n=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},79982:(e,t,r)=>{"use strict";var A;try{A=r(Object(function(){var e=new Error("Cannot find module 'esprima'");throw e.code="MODULE_NOT_FOUND",e}()))}catch(e){"undefined"!=typeof window&&(A=window.esprima)}var n=r(81704);e.exports=new n("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",r=A.parse(t,{range:!0});return"Program"===r.type&&1===r.body.length&&"ExpressionStatement"===r.body[0].type&&("ArrowFunctionExpression"===r.body[0].expression.type||"FunctionExpression"===r.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,r="("+e+")",n=A.parse(r,{range:!0}),o=[];if("Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"ArrowFunctionExpression"!==n.body[0].expression.type&&"FunctionExpression"!==n.body[0].expression.type)throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=n.body[0].expression.body.range,"BlockStatement"===n.body[0].expression.body.type?new Function(o,r.slice(t[0]+1,t[1]-1)):new Function(o,"return "+r.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},61872:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,r=/\/([gim]*)$/.exec(e),A="";if("/"===t[0]){if(r&&(A=r[1]),A.length>3)return!1;if("/"!==t[t.length-A.length-1])return!1}return!0},construct:function(e){var t=e,r=/\/([gim]*)$/.exec(e),A="";return"/"===t[0]&&(r&&(A=r[1]),t=t.slice(1,t.length-A.length-1)),new RegExp(t,A)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},61425:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},90173:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},95441:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},40188:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6847:(e,t,r)=>{"use strict";var A=r(81704),n=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new A("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,A,i,s,a=[],c=e;for(t=0,r=c.length;t{"use strict";var A=r(81704),n=Object.prototype.toString;e.exports=new A("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,r,A,o,i,s=e;for(i=new Array(s.length),t=0,r=s.length;t{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},92025:(e,t,r)=>{"use strict";var A=r(81704),n=Object.prototype.hasOwnProperty;e.exports=new A("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){if(null===e)return!0;var t,r=e;for(t in r)if(n.call(r,t)&&null!==r[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},19952:(e,t,r)=>{"use strict";var A=r(81704);e.exports=new A("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},83516:(e,t,r)=>{"use strict";var A=r(81704),n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new A("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==n.exec(e)||null!==o.exec(e))},construct:function(e){var t,r,A,i,s,a,c,g,l=0,u=null;if(null===(t=n.exec(e))&&(t=o.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],A=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,A,i));if(s=+t[4],a=+t[5],c=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(u=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(u=-u)),g=new Date(Date.UTC(r,A,i,s,a,c,l)),u&&g.setTime(g.getTime()-u),g},instanceOf:Date,represent:function(e){return e.toISOString()}})},7427:(e,t)=>{t.stringify=function e(t){if(void 0===t)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&"object"==typeof t){var r="",A=Array.isArray(t);r=A?"[":"{";var n=!0;for(var o in t){var i="function"==typeof t[o]||!A&&void 0===t[o];Object.hasOwnProperty.call(t,o)&&!i&&(n||(r+=","),n=!1,A?null==t[o]?r+="null":r+=e(t[o]):void 0!==t[o]&&(r+=e(o)+":"+e(t[o])))}return r+=A?"]":"}"}return"string"==typeof t?JSON.stringify(/^:/.test(t)?":"+t:t):void 0===t?"null":JSON.stringify(t)},t.parse=function(e){return JSON.parse(e,(function(e,t){return"string"==typeof t?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t}))}},72515:(e,t,r)=>{"use strict";const A=r(28614),n=r(7427);e.exports=class extends A{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:n.stringify,deserialize:n.parse},"string"==typeof e?{uri:e}:e,t),!this.opts.store){const e=Object.assign({},this.opts);this.opts.store=(e=>{const t={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(e.adapter||e.uri){const A=e.adapter||/^[^:]*/.exec(e.uri)[0];return new(r(89112)(t[A]))(e)}return new Map})(e)}"function"==typeof this.opts.store.on&&this.opts.store.on("error",e=>this.emit("error",e)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);const{store:r}=this.opts;return Promise.resolve().then(()=>r.get(e)).then(e=>"string"==typeof e?this.opts.deserialize(e):e).then(r=>{if(void 0!==r){if(!("number"==typeof r.expires&&Date.now()>r.expires))return t&&t.raw?r:r.value;this.delete(e)}})}set(e,t,r){e=this._getKeyPrefix(e),void 0===r&&(r=this.opts.ttl),0===r&&(r=void 0);const{store:A}=this.opts;return Promise.resolve().then(()=>{const e="number"==typeof r?Date.now()+r:null;return t={value:t,expires:e},this.opts.serialize(t)}).then(t=>A.set(e,t,r)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);const{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){const{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}}},89112:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=89112,e.exports=t},78962:(e,t,r)=>{var A=r(99513)(r(76169),"DataView");e.exports=A},72574:(e,t,r)=>{var A=r(31713),n=r(86688),o=r(45937),i=r(5017),s=r(79457);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(14620),n=r(73682),o=r(43112),i=r(90640),s=r(9380);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(99513)(r(76169),"Map");e.exports=A},75009:(e,t,r)=>{var A=r(18209),n=r(89706),o=r(43786),i=r(17926),s=r(87345);function a(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t{var A=r(99513)(r(76169),"Promise");e.exports=A},43231:(e,t,r)=>{var A=r(99513)(r(76169),"Set");e.exports=A},46235:(e,t,r)=>{var A=r(75009),n=r(74785),o=r(87760);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new A;++t{var A=r(29197),n=r(35678),o=r(33336),i=r(97163),s=r(43737),a=r(48548);function c(e){var t=this.__data__=new A(e);this.size=t.size}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=s,c.prototype.set=a,e.exports=c},69976:(e,t,r)=>{var A=r(76169).Symbol;e.exports=A},2740:(e,t,r)=>{var A=r(76169).Uint8Array;e.exports=A},47063:(e,t,r)=>{var A=r(99513)(r(76169),"WeakMap");e.exports=A},66636:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},33326:e=>{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length;++r{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length,n=0,o=[];++r{var A=r(7089),n=r(61771),o=r(82664),i=r(10667),s=r(98041),a=r(32565),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),g=!r&&n(e),l=!r&&!g&&i(e),u=!r&&!g&&!l&&a(e),h=r||g||l||u,p=h?A(e.length,String):[],d=p.length;for(var C in e)!t&&!c.call(e,C)||h&&("length"==C||l&&("offset"==C||"parent"==C)||u&&("buffer"==C||"byteLength"==C||"byteOffset"==C)||s(C,d))||p.push(C);return p}},60783:e=>{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length,n=Array(A);++r{e.exports=function(e,t){for(var r=-1,A=t.length,n=e.length;++r{e.exports=function(e,t,r,A){var n=-1,o=null==e?0:e.length;for(A&&o&&(r=e[++n]);++n{e.exports=function(e,t){for(var r=-1,A=null==e?0:e.length;++r{e.exports=function(e){return e.split("")}},11852:e=>{var t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(t)||[]}},26943:(e,t,r)=>{var A=r(91198),n=r(71074);e.exports=function(e,t,r){(void 0!==r&&!n(e[t],r)||void 0===r&&!(t in e))&&A(e,t,r)}},65759:(e,t,r)=>{var A=r(91198),n=r(71074),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var i=e[t];o.call(e,t)&&n(i,r)&&(void 0!==r||t in e)||A(e,t,r)}},39836:(e,t,r)=>{var A=r(71074);e.exports=function(e,t){for(var r=e.length;r--;)if(A(e[r][0],t))return r;return-1}},28628:(e,t,r)=>{var A=r(75182),n=r(42185);e.exports=function(e,t){return e&&A(t,n(t),e)}},78707:(e,t,r)=>{var A=r(75182),n=r(24887);e.exports=function(e,t){return e&&A(t,n(t),e)}},91198:(e,t,r)=>{var A=r(65);e.exports=function(e,t,r){"__proto__"==t&&A?A(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},41076:(e,t,r)=>{var A=r(22851),n=r(33326),o=r(65759),i=r(28628),s=r(78707),a=r(64266),c=r(87229),g=r(23105),l=r(60741),u=r(60753),h=r(64420),p=r(79435),d=r(27908),C=r(37836),f=r(88438),I=r(82664),E=r(10667),B=r(13349),y=r(46778),m=r(33931),w=r(42185),Q={};Q["[object Arguments]"]=Q["[object Array]"]=Q["[object ArrayBuffer]"]=Q["[object DataView]"]=Q["[object Boolean]"]=Q["[object Date]"]=Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Map]"]=Q["[object Number]"]=Q["[object Object]"]=Q["[object RegExp]"]=Q["[object Set]"]=Q["[object String]"]=Q["[object Symbol]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q["[object Error]"]=Q["[object Function]"]=Q["[object WeakMap]"]=!1,e.exports=function e(t,r,D,b,v,S){var k,K=1&r,F=2&r,N=4&r;if(D&&(k=v?D(t,b,v,S):D(t)),void 0!==k)return k;if(!y(t))return t;var M=I(t);if(M){if(k=d(t),!K)return c(t,k)}else{var R=p(t),x="[object Function]"==R||"[object GeneratorFunction]"==R;if(E(t))return a(t,K);if("[object Object]"==R||"[object Arguments]"==R||x&&!v){if(k=F||x?{}:f(t),!K)return F?l(t,s(k,t)):g(t,i(k,t))}else{if(!Q[R])return v?t:{};k=C(t,R,K)}}S||(S=new A);var L=S.get(t);if(L)return L;S.set(t,k),m(t)?t.forEach((function(A){k.add(e(A,r,D,A,t,S))})):B(t)&&t.forEach((function(A,n){k.set(n,e(A,r,D,n,t,S))}));var P=N?F?h:u:F?keysIn:w,O=M?void 0:P(t);return n(O||t,(function(A,n){O&&(A=t[n=A]),o(k,n,e(A,r,D,n,t,S))})),k}},15178:(e,t,r)=>{var A=r(46778),n=Object.create,o=function(){function e(){}return function(t){if(!A(t))return{};if(n)return n(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=o},93274:(e,t,r)=>{var A=r(40945),n=r(958);e.exports=function e(t,r,o,i,s){var a=-1,c=t.length;for(o||(o=n),s||(s=[]);++a0&&o(g)?r>1?e(g,r-1,o,i,s):A(s,g):i||(s[s.length]=g)}return s}},31689:(e,t,r)=>{var A=r(59907)();e.exports=A},62164:(e,t,r)=>{var A=r(31689),n=r(42185);e.exports=function(e,t){return e&&A(e,t,n)}},84173:(e,t,r)=>{var A=r(56725),n=r(49874);e.exports=function(e,t){for(var r=0,o=(t=A(t,e)).length;null!=e&&r{var A=r(40945),n=r(82664);e.exports=function(e,t,r){var o=t(e);return n(e)?o:A(o,r(e))}},52502:(e,t,r)=>{var A=r(69976),n=r(2854),o=r(87427),i=A?A.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?n(e):o(e)}},95325:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e,r){return null!=e&&t.call(e,r)}},3881:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},76357:(e,t,r)=>{var A=r(52502),n=r(38496);e.exports=function(e){return n(e)&&"[object Arguments]"==A(e)}},74195:(e,t,r)=>{var A=r(48957),n=r(38496);e.exports=function e(t,r,o,i,s){return t===r||(null==t||null==r||!n(t)&&!n(r)?t!=t&&r!=r:A(t,r,o,i,e,s))}},48957:(e,t,r)=>{var A=r(22851),n=r(75500),o=r(28475),i=r(50245),s=r(79435),a=r(82664),c=r(10667),g=r(32565),l="[object Object]",u=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,h,p,d){var C=a(e),f=a(t),I=C?"[object Array]":s(e),E=f?"[object Array]":s(t),B=(I="[object Arguments]"==I?l:I)==l,y=(E="[object Arguments]"==E?l:E)==l,m=I==E;if(m&&c(e)){if(!c(t))return!1;C=!0,B=!1}if(m&&!B)return d||(d=new A),C||g(e)?n(e,t,r,h,p,d):o(e,t,I,r,h,p,d);if(!(1&r)){var w=B&&u.call(e,"__wrapped__"),Q=y&&u.call(t,"__wrapped__");if(w||Q){var D=w?e.value():e,b=Q?t.value():t;return d||(d=new A),p(D,b,r,h,d)}}return!!m&&(d||(d=new A),i(e,t,r,h,p,d))}},55994:(e,t,r)=>{var A=r(79435),n=r(38496);e.exports=function(e){return n(e)&&"[object Map]"==A(e)}},66470:(e,t,r)=>{var A=r(22851),n=r(74195);e.exports=function(e,t,r,o){var i=r.length,s=i,a=!o;if(null==e)return!s;for(e=Object(e);i--;){var c=r[i];if(a&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i{var A=r(92533),n=r(15061),o=r(46778),i=r(76384),s=/^\[object .+?Constructor\]$/,a=Function.prototype,c=Object.prototype,g=a.toString,l=c.hasOwnProperty,u=RegExp("^"+g.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||n(e))&&(A(e)?u:s).test(i(e))}},28612:(e,t,r)=>{var A=r(79435),n=r(38496);e.exports=function(e){return n(e)&&"[object Set]"==A(e)}},98998:(e,t,r)=>{var A=r(52502),n=r(46369),o=r(38496),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&n(e.length)&&!!i[A(e)]}},42208:(e,t,r)=>{var A=r(96962),n=r(90348),o=r(61977),i=r(82664),s=r(7430);e.exports=function(e){return"function"==typeof e?e:null==e?o:"object"==typeof e?i(e)?n(e[0],e[1]):A(e):s(e)}},50994:(e,t,r)=>{var A=r(89513),n=r(60657),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!A(e))return n(e);var t=[];for(var r in Object(e))o.call(e,r)&&"constructor"!=r&&t.push(r);return t}},8372:(e,t,r)=>{var A=r(46778),n=r(89513),o=r(95632),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!A(e))return o(e);var t=n(e),r=[];for(var s in e)("constructor"!=s||!t&&i.call(e,s))&&r.push(s);return r}},96962:(e,t,r)=>{var A=r(66470),n=r(98705),o=r(12757);e.exports=function(e){var t=n(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(r){return r===e||A(r,e,t)}}},90348:(e,t,r)=>{var A=r(74195),n=r(44674),o=r(34878),i=r(70474),s=r(20925),a=r(12757),c=r(49874);e.exports=function(e,t){return i(e)&&s(t)?a(c(e),t):function(r){var i=n(r,e);return void 0===i&&i===t?o(r,e):A(t,i,3)}}},51264:(e,t,r)=>{var A=r(22851),n=r(26943),o=r(31689),i=r(16834),s=r(46778),a=r(24887),c=r(36883);e.exports=function e(t,r,g,l,u){t!==r&&o(r,(function(o,a){if(u||(u=new A),s(o))i(t,r,a,g,e,l,u);else{var h=l?l(c(t,a),o,a+"",t,r,u):void 0;void 0===h&&(h=o),n(t,a,h)}}),a)}},16834:(e,t,r)=>{var A=r(26943),n=r(64266),o=r(58042),i=r(87229),s=r(88438),a=r(61771),c=r(82664),g=r(16064),l=r(10667),u=r(92533),h=r(46778),p=r(11672),d=r(32565),C=r(36883),f=r(36506);e.exports=function(e,t,r,I,E,B,y){var m=C(e,r),w=C(t,r),Q=y.get(w);if(Q)A(e,r,Q);else{var D=B?B(m,w,r+"",e,t,y):void 0,b=void 0===D;if(b){var v=c(w),S=!v&&l(w),k=!v&&!S&&d(w);D=w,v||S||k?c(m)?D=m:g(m)?D=i(m):S?(b=!1,D=n(w,!0)):k?(b=!1,D=o(w,!0)):D=[]:p(w)||a(w)?(D=m,a(m)?D=f(m):h(m)&&!u(m)||(D=s(w))):b=!1}b&&(y.set(w,D),E(D,w,I,B,y),y.delete(w)),A(e,r,D)}}},72204:(e,t,r)=>{var A=r(35314),n=r(34878);e.exports=function(e,t){return A(e,t,(function(t,r){return n(e,r)}))}},35314:(e,t,r)=>{var A=r(84173),n=r(10624),o=r(56725);e.exports=function(e,t,r){for(var i=-1,s=t.length,a={};++i{e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},43018:(e,t,r)=>{var A=r(84173);e.exports=function(e){return function(t){return A(t,e)}}},51587:e=>{e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},30383:(e,t,r)=>{var A=r(61977),n=r(44322),o=r(3111);e.exports=function(e,t){return o(n(e,t,A),e+"")}},10624:(e,t,r)=>{var A=r(65759),n=r(56725),o=r(98041),i=r(46778),s=r(49874);e.exports=function(e,t,r,a){if(!i(e))return e;for(var c=-1,g=(t=n(t,e)).length,l=g-1,u=e;null!=u&&++c{var A=r(4967),n=r(65),o=r(61977),i=n?function(e,t){return n(e,"toString",{configurable:!0,enumerable:!1,value:A(t),writable:!0})}:o;e.exports=i},27708:e=>{e.exports=function(e,t,r){var A=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(n);++A{e.exports=function(e,t){for(var r=-1,A=Array(e);++r{var A=r(69976),n=r(60783),o=r(82664),i=r(65558),s=A?A.prototype:void 0,a=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return n(t,e)+"";if(i(t))return a?a.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},73635:e=>{e.exports=function(e){return function(t){return e(t)}}},18290:(e,t,r)=>{var A=r(60783);e.exports=function(e,t){return A(t,(function(t){return e[t]}))}},93022:e=>{e.exports=function(e,t){return e.has(t)}},56725:(e,t,r)=>{var A=r(82664),n=r(70474),o=r(8689),i=r(33580);e.exports=function(e,t){return A(e)?e:n(e,t)?[e]:o(i(e))}},92568:(e,t,r)=>{var A=r(27708);e.exports=function(e,t,r){var n=e.length;return r=void 0===r?n:r,!t&&r>=n?e:A(e,t,r)}},76255:(e,t,r)=>{var A=r(2740);e.exports=function(e){var t=new e.constructor(e.byteLength);return new A(t).set(new A(e)),t}},64266:(e,t,r)=>{e=r.nmd(e);var A=r(76169),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n?A.Buffer:void 0,s=i?i.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,A=s?s(r):new e.constructor(r);return e.copy(A),A}},63749:(e,t,r)=>{var A=r(76255);e.exports=function(e,t){var r=t?A(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},41705:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},25791:(e,t,r)=>{var A=r(69976),n=A?A.prototype:void 0,o=n?n.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},58042:(e,t,r)=>{var A=r(76255);e.exports=function(e,t){var r=t?A(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},87229:e=>{e.exports=function(e,t){var r=-1,A=e.length;for(t||(t=Array(A));++r{var A=r(65759),n=r(91198);e.exports=function(e,t,r,o){var i=!r;r||(r={});for(var s=-1,a=t.length;++s{var A=r(75182),n=r(68727);e.exports=function(e,t){return A(e,n(e),t)}},60741:(e,t,r)=>{var A=r(75182),n=r(35368);e.exports=function(e,t){return A(e,n(e),t)}},14429:(e,t,r)=>{var A=r(76169)["__core-js_shared__"];e.exports=A},27913:(e,t,r)=>{var A=r(30383),n=r(33193);e.exports=function(e){return A((function(t,r){var A=-1,o=r.length,i=o>1?r[o-1]:void 0,s=o>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,s&&n(r[0],r[1],s)&&(i=o<3?void 0:i,o=1),t=Object(t);++A{e.exports=function(e){return function(t,r,A){for(var n=-1,o=Object(t),i=A(t),s=i.length;s--;){var a=i[e?s:++n];if(!1===r(o[a],a,o))break}return t}}},56989:(e,t,r)=>{var A=r(92568),n=r(93024),o=r(30475),i=r(33580);e.exports=function(e){return function(t){t=i(t);var r=n(t)?o(t):void 0,s=r?r[0]:t.charAt(0),a=r?A(r,1).join(""):t.slice(1);return s[e]()+a}}},30369:(e,t,r)=>{var A=r(66054),n=r(68968),o=r(97684),i=RegExp("['’]","g");e.exports=function(e){return function(t){return A(o(n(t).replace(i,"")),e,"")}}},69922:(e,t,r)=>{var A=r(51587)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});e.exports=A},65:(e,t,r)=>{var A=r(99513),n=function(){try{var e=A(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=n},75500:(e,t,r)=>{var A=r(46235),n=r(17765),o=r(93022);e.exports=function(e,t,r,i,s,a){var c=1&r,g=e.length,l=t.length;if(g!=l&&!(c&&l>g))return!1;var u=a.get(e);if(u&&a.get(t))return u==t;var h=-1,p=!0,d=2&r?new A:void 0;for(a.set(e,t),a.set(t,e);++h{var A=r(69976),n=r(2740),o=r(71074),i=r(75500),s=r(7877),a=r(7442),c=A?A.prototype:void 0,g=c?c.valueOf:void 0;e.exports=function(e,t,r,A,c,l,u){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!l(new n(e),new n(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=s;case"[object Set]":var p=1&A;if(h||(h=a),e.size!=t.size&&!p)return!1;var d=u.get(e);if(d)return d==t;A|=2,u.set(e,t);var C=i(h(e),h(t),A,c,l,u);return u.delete(e),C;case"[object Symbol]":if(g)return g.call(e)==g.call(t)}return!1}},50245:(e,t,r)=>{var A=r(60753),n=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,i,s){var a=1&r,c=A(e),g=c.length;if(g!=A(t).length&&!a)return!1;for(var l=g;l--;){var u=c[l];if(!(a?u in t:n.call(t,u)))return!1}var h=s.get(e);if(h&&s.get(t))return h==t;var p=!0;s.set(e,t),s.set(t,e);for(var d=a;++l{var A=r(54690),n=r(44322),o=r(3111);e.exports=function(e){return o(n(e,void 0,A),e+"")}},68399:e=>{var t="object"==typeof global&&global&&global.Object===Object&&global;e.exports=t},60753:(e,t,r)=>{var A=r(40104),n=r(68727),o=r(42185);e.exports=function(e){return A(e,o,n)}},64420:(e,t,r)=>{var A=r(40104),n=r(35368),o=r(24887);e.exports=function(e){return A(e,o,n)}},59253:(e,t,r)=>{var A=r(69448);e.exports=function(e,t){var r=e.__data__;return A(t)?r["string"==typeof t?"string":"hash"]:r.map}},98705:(e,t,r)=>{var A=r(20925),n=r(42185);e.exports=function(e){for(var t=n(e),r=t.length;r--;){var o=t[r],i=e[o];t[r]=[o,i,A(i)]}return t}},99513:(e,t,r)=>{var A=r(91686),n=r(98054);e.exports=function(e,t){var r=n(e,t);return A(r)?r:void 0}},41181:(e,t,r)=>{var A=r(64309)(Object.getPrototypeOf,Object);e.exports=A},2854:(e,t,r)=>{var A=r(69976),n=Object.prototype,o=n.hasOwnProperty,i=n.toString,s=A?A.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),r=e[s];try{e[s]=void 0;var A=!0}catch(e){}var n=i.call(e);return A&&(t?e[s]=r:delete e[s]),n}},68727:(e,t,r)=>{var A=r(9073),n=r(62162),o=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols,s=i?function(e){return null==e?[]:(e=Object(e),A(i(e),(function(t){return o.call(e,t)})))}:n;e.exports=s},35368:(e,t,r)=>{var A=r(40945),n=r(41181),o=r(68727),i=r(62162),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)A(t,o(e)),e=n(e);return t}:i;e.exports=s},79435:(e,t,r)=>{var A=r(78962),n=r(63603),o=r(5825),i=r(43231),s=r(47063),a=r(52502),c=r(76384),g=c(A),l=c(n),u=c(o),h=c(i),p=c(s),d=a;(A&&"[object DataView]"!=d(new A(new ArrayBuffer(1)))||n&&"[object Map]"!=d(new n)||o&&"[object Promise]"!=d(o.resolve())||i&&"[object Set]"!=d(new i)||s&&"[object WeakMap]"!=d(new s))&&(d=function(e){var t=a(e),r="[object Object]"==t?e.constructor:void 0,A=r?c(r):"";if(A)switch(A){case g:return"[object DataView]";case l:return"[object Map]";case u:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=d},98054:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},71507:(e,t,r)=>{var A=r(56725),n=r(61771),o=r(82664),i=r(98041),s=r(46369),a=r(49874);e.exports=function(e,t,r){for(var c=-1,g=(t=A(t,e)).length,l=!1;++c{var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return t.test(e)}},60466:e=>{var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return t.test(e)}},31713:(e,t,r)=>{var A=r(52437);e.exports=function(){this.__data__=A?A(null):{},this.size=0}},86688:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},45937:(e,t,r)=>{var A=r(52437),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(A){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return n.call(t,e)?t[e]:void 0}},5017:(e,t,r)=>{var A=r(52437),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return A?void 0!==t[e]:n.call(t,e)}},79457:(e,t,r)=>{var A=r(52437);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=A&&void 0===t?"__lodash_hash_undefined__":t,this}},27908:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,A=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(A.index=e.index,A.input=e.input),A}},37836:(e,t,r)=>{var A=r(76255),n=r(63749),o=r(41705),i=r(25791),s=r(58042);e.exports=function(e,t,r){var a=e.constructor;switch(t){case"[object ArrayBuffer]":return A(e);case"[object Boolean]":case"[object Date]":return new a(+e);case"[object DataView]":return n(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(e,r);case"[object Map]":return new a;case"[object Number]":case"[object String]":return new a(e);case"[object RegExp]":return o(e);case"[object Set]":return new a;case"[object Symbol]":return i(e)}}},88438:(e,t,r)=>{var A=r(15178),n=r(41181),o=r(89513);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:A(n(e))}},958:(e,t,r)=>{var A=r(69976),n=r(61771),o=r(82664),i=A?A.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||n(e)||!!(i&&e&&e[i])}},98041:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var A=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==A||"symbol"!=A&&t.test(e))&&e>-1&&e%1==0&&e{var A=r(71074),n=r(41929),o=r(98041),i=r(46778);e.exports=function(e,t,r){if(!i(r))return!1;var s=typeof t;return!!("number"==s?n(r)&&o(t,r.length):"string"==s&&t in r)&&A(r[t],e)}},70474:(e,t,r)=>{var A=r(82664),n=r(65558),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;e.exports=function(e,t){if(A(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!n(e))||(i.test(e)||!o.test(e)||null!=t&&e in Object(t))}},69448:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15061:(e,t,r)=>{var A,n=r(14429),o=(A=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"";e.exports=function(e){return!!o&&o in e}},89513:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},20925:(e,t,r)=>{var A=r(46778);e.exports=function(e){return e==e&&!A(e)}},82262:e=>{e.exports=function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}},14620:e=>{e.exports=function(){this.__data__=[],this.size=0}},73682:(e,t,r)=>{var A=r(39836),n=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=A(t,e);return!(r<0)&&(r==t.length-1?t.pop():n.call(t,r,1),--this.size,!0)}},43112:(e,t,r)=>{var A=r(39836);e.exports=function(e){var t=this.__data__,r=A(t,e);return r<0?void 0:t[r][1]}},90640:(e,t,r)=>{var A=r(39836);e.exports=function(e){return A(this.__data__,e)>-1}},9380:(e,t,r)=>{var A=r(39836);e.exports=function(e,t){var r=this.__data__,n=A(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}},18209:(e,t,r)=>{var A=r(72574),n=r(29197),o=r(63603);e.exports=function(){this.size=0,this.__data__={hash:new A,map:new(o||n),string:new A}}},89706:(e,t,r)=>{var A=r(59253);e.exports=function(e){var t=A(this,e).delete(e);return this.size-=t?1:0,t}},43786:(e,t,r)=>{var A=r(59253);e.exports=function(e){return A(this,e).get(e)}},17926:(e,t,r)=>{var A=r(59253);e.exports=function(e){return A(this,e).has(e)}},87345:(e,t,r)=>{var A=r(59253);e.exports=function(e,t){var r=A(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}},7877:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,A){r[++t]=[A,e]})),r}},12757:e=>{e.exports=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}},31948:(e,t,r)=>{var A=r(74499);e.exports=function(e){var t=A(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},52437:(e,t,r)=>{var A=r(99513)(Object,"create");e.exports=A},60657:(e,t,r)=>{var A=r(64309)(Object.keys,Object);e.exports=A},95632:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},26391:(e,t,r)=>{e=r.nmd(e);var A=r(68399),n=t&&!t.nodeType&&t,o=n&&e&&!e.nodeType&&e,i=o&&o.exports===n&&A.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=s},87427:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},64309:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},44322:(e,t,r)=>{var A=r(66636),n=Math.max;e.exports=function(e,t,r){return t=n(void 0===t?e.length-1:t,0),function(){for(var o=arguments,i=-1,s=n(o.length-t,0),a=Array(s);++i{var A=r(68399),n="object"==typeof self&&self&&self.Object===Object&&self,o=A||n||Function("return this")();e.exports=o},36883:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},74785:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},87760:e=>{e.exports=function(e){return this.__data__.has(e)}},7442:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},3111:(e,t,r)=>{var A=r(4899),n=r(19908)(A);e.exports=n},19908:e=>{var t=Date.now;e.exports=function(e){var r=0,A=0;return function(){var n=t(),o=16-(n-A);if(A=n,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},35678:(e,t,r)=>{var A=r(29197);e.exports=function(){this.__data__=new A,this.size=0}},33336:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},97163:e=>{e.exports=function(e){return this.__data__.get(e)}},43737:e=>{e.exports=function(e){return this.__data__.has(e)}},48548:(e,t,r)=>{var A=r(29197),n=r(63603),o=r(75009);e.exports=function(e,t){var r=this.__data__;if(r instanceof A){var i=r.__data__;if(!n||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new o(i)}return r.set(e,t),this.size=r.size,this}},30475:(e,t,r)=>{var A=r(1051),n=r(93024),o=r(297);e.exports=function(e){return n(e)?o(e):A(e)}},8689:(e,t,r)=>{var A=r(31948),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=A((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(n,(function(e,r,A,n){t.push(A?n.replace(o,"$1"):r||e)})),t}));e.exports=i},49874:(e,t,r)=>{var A=r(65558);e.exports=function(e){if("string"==typeof e||A(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},76384:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},297:e=>{var t="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",A="\\ud83c[\\udffb-\\udfff]",n="[^\\ud800-\\udfff]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",i="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+r+"|"+A+")"+"?",a="[\\ufe0e\\ufe0f]?"+s+("(?:\\u200d(?:"+[n,o,i].join("|")+")[\\ufe0e\\ufe0f]?"+s+")*"),c="(?:"+[n+r+"?",r,o,i,t].join("|")+")",g=RegExp(A+"(?="+A+")|"+c+a,"g");e.exports=function(e){return e.match(g)||[]}},89887:e=>{var t="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",r="["+t+"]",A="\\d+",n="[\\u2700-\\u27bf]",o="[a-z\\xdf-\\xf6\\xf8-\\xff]",i="[^\\ud800-\\udfff"+t+A+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",c="[A-Z\\xc0-\\xd6\\xd8-\\xde]",g="(?:"+o+"|"+i+")",l="(?:"+c+"|"+i+")",u="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",h="[\\ufe0e\\ufe0f]?"+u+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",s,a].join("|")+")[\\ufe0e\\ufe0f]?"+u+")*"),p="(?:"+[n,s,a].join("|")+")"+h,d=RegExp([c+"?"+o+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[r,c,"$"].join("|")+")",l+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[r,c+g,"$"].join("|")+")",c+"?"+g+"+(?:['’](?:d|ll|m|re|s|t|ve))?",c+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",A,p].join("|"),"g");e.exports=function(e){return e.match(d)||[]}},89170:(e,t,r)=>{var A=r(61814),n=r(30369)((function(e,t,r){return t=t.toLowerCase(),e+(r?A(t):t)}));e.exports=n},61814:(e,t,r)=>{var A=r(33580),n=r(72609);e.exports=function(e){return n(A(e).toLowerCase())}},82558:(e,t,r)=>{var A=r(41076);e.exports=function(e){return A(e,5)}},26052:(e,t,r)=>{var A=r(41076);e.exports=function(e,t){return A(e,5,t="function"==typeof t?t:void 0)}},4967:e=>{e.exports=function(e){return function(){return e}}},68968:(e,t,r)=>{var A=r(69922),n=r(33580),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,i=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.exports=function(e){return(e=n(e))&&e.replace(o,A).replace(i,"")}},71074:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},54690:(e,t,r)=>{var A=r(93274);e.exports=function(e){return(null==e?0:e.length)?A(e,1):[]}},44674:(e,t,r)=>{var A=r(84173);e.exports=function(e,t,r){var n=null==e?void 0:A(e,t);return void 0===n?r:n}},15215:(e,t,r)=>{var A=r(95325),n=r(71507);e.exports=function(e,t){return null!=e&&n(e,t,A)}},34878:(e,t,r)=>{var A=r(3881),n=r(71507);e.exports=function(e,t){return null!=e&&n(e,t,A)}},61977:e=>{e.exports=function(e){return e}},61771:(e,t,r)=>{var A=r(76357),n=r(38496),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,a=A(function(){return arguments}())?A:function(e){return n(e)&&i.call(e,"callee")&&!s.call(e,"callee")};e.exports=a},82664:e=>{var t=Array.isArray;e.exports=t},41929:(e,t,r)=>{var A=r(92533),n=r(46369);e.exports=function(e){return null!=e&&n(e.length)&&!A(e)}},16064:(e,t,r)=>{var A=r(41929),n=r(38496);e.exports=function(e){return n(e)&&A(e)}},10667:(e,t,r)=>{e=r.nmd(e);var A=r(76169),n=r(88988),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,s=i&&i.exports===o?A.Buffer:void 0,a=(s?s.isBuffer:void 0)||n;e.exports=a},92533:(e,t,r)=>{var A=r(52502),n=r(46778);e.exports=function(e){if(!n(e))return!1;var t=A(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},46369:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},13349:(e,t,r)=>{var A=r(55994),n=r(73635),o=r(26391),i=o&&o.isMap,s=i?n(i):A;e.exports=s},46778:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},38496:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},11672:(e,t,r)=>{var A=r(52502),n=r(41181),o=r(38496),i=Function.prototype,s=Object.prototype,a=i.toString,c=s.hasOwnProperty,g=a.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=A(e))return!1;var t=n(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&a.call(r)==g}},33931:(e,t,r)=>{var A=r(28612),n=r(73635),o=r(26391),i=o&&o.isSet,s=i?n(i):A;e.exports=s},221:(e,t,r)=>{var A=r(52502),n=r(82664),o=r(38496);e.exports=function(e){return"string"==typeof e||!n(e)&&o(e)&&"[object String]"==A(e)}},65558:(e,t,r)=>{var A=r(52502),n=r(38496);e.exports=function(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==A(e)}},32565:(e,t,r)=>{var A=r(98998),n=r(73635),o=r(26391),i=o&&o.isTypedArray,s=i?n(i):A;e.exports=s},42185:(e,t,r)=>{var A=r(11886),n=r(50994),o=r(41929);e.exports=function(e){return o(e)?A(e):n(e)}},24887:(e,t,r)=>{var A=r(11886),n=r(8372),o=r(41929);e.exports=function(e){return o(e)?A(e,!0):n(e)}},5253:(e,t,r)=>{var A=r(91198),n=r(62164),o=r(42208);e.exports=function(e,t){var r={};return t=o(t,3),n(e,(function(e,n,o){A(r,t(e,n,o),e)})),r}},89612:(e,t,r)=>{var A=r(91198),n=r(62164),o=r(42208);e.exports=function(e,t){var r={};return t=o(t,3),n(e,(function(e,n,o){A(r,n,t(e,n,o))})),r}},74499:(e,t,r)=>{var A=r(75009);function n(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var A=arguments,n=t?t.apply(this,A):A[0],o=r.cache;if(o.has(n))return o.get(n);var i=e.apply(this,A);return r.cache=o.set(n,i)||o,i};return r.cache=new(n.Cache||A),r}n.Cache=A,e.exports=n},80305:(e,t,r)=>{var A=r(51264),n=r(27913)((function(e,t,r){A(e,t,r)}));e.exports=n},75130:(e,t,r)=>{var A=r(72204),n=r(87298)((function(e,t){return null==e?{}:A(e,t)}));e.exports=n},7430:(e,t,r)=>{var A=r(35400),n=r(43018),o=r(70474),i=r(49874);e.exports=function(e){return o(e)?A(i(e)):n(e)}},81534:(e,t,r)=>{var A=r(10624);e.exports=function(e,t,r){return null==e?e:A(e,t,r)}},36494:(e,t,r)=>{var A=r(30369)((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));e.exports=A},62162:e=>{e.exports=function(){return[]}},88988:e=>{e.exports=function(){return!1}},78700:(e,t,r)=>{var A=r(69976),n=r(87229),o=r(79435),i=r(41929),s=r(221),a=r(82262),c=r(7877),g=r(7442),l=r(30475),u=r(24448),h=A?A.iterator:void 0;e.exports=function(e){if(!e)return[];if(i(e))return s(e)?l(e):n(e);if(h&&e[h])return a(e[h]());var t=o(e);return("[object Map]"==t?c:"[object Set]"==t?g:u)(e)}},36506:(e,t,r)=>{var A=r(75182),n=r(24887);e.exports=function(e){return A(e,n(e))}},33580:(e,t,r)=>{var A=r(35);e.exports=function(e){return null==e?"":A(e)}},72609:(e,t,r)=>{var A=r(56989)("toUpperCase");e.exports=A},24448:(e,t,r)=>{var A=r(18290),n=r(42185);e.exports=function(e){return null==e?[]:A(e,n(e))}},97684:(e,t,r)=>{var A=r(11852),n=r(60466),o=r(33580),i=r(89887);e.exports=function(e,t,r){return e=o(e),void 0===(t=r?void 0:t)?n(e)?i(e):A(e):e.match(t)||[]}},55737:e=>{"use strict";e.exports=e=>{const t={};for(const[r,A]of Object.entries(e))t[r.toLowerCase()]=A;return t}},46227:(e,t,r)=>{"use strict";const A=r(35747),n=r(85622),{promisify:o}=r(31669),i=r(95584).satisfies(process.version,">=10.12.0"),s=e=>{if("win32"===process.platform){if(/[<>:"|?*]/.test(e.replace(n.parse(e).root,""))){const t=new Error("Path contains invalid characters: "+e);throw t.code="EINVAL",t}}},a=e=>({...{mode:511,fs:A},...e}),c=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);return t.code="EPERM",t.errno=-4048,t.path=e,t.syscall="mkdir",t};e.exports=async(e,t)=>{s(e),t=a(t);const r=o(t.fs.mkdir),g=o(t.fs.stat);if(i&&t.fs.mkdir===A.mkdir){const A=n.resolve(e);return await r(A,{mode:t.mode,recursive:!0}),A}const l=async e=>{try{return await r(e,t.mode),e}catch(t){if("EPERM"===t.code)throw t;if("ENOENT"===t.code){if(n.dirname(e)===e)throw c(e);if(t.message.includes("null bytes"))throw t;return await l(n.dirname(e)),l(e)}try{if(!(await g(e)).isDirectory())throw new Error("The path is not a directory")}catch(e){throw t}return e}};return l(n.resolve(e))},e.exports.sync=(e,t)=>{if(s(e),t=a(t),i&&t.fs.mkdirSync===A.mkdirSync){const r=n.resolve(e);return A.mkdirSync(r,{mode:t.mode,recursive:!0}),r}const r=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(A){if("EPERM"===A.code)throw A;if("ENOENT"===A.code){if(n.dirname(e)===e)throw c(e);if(A.message.includes("null bytes"))throw A;return r(n.dirname(e)),r(e)}try{if(!t.fs.statSync(e).isDirectory())throw new Error("The path is not a directory")}catch(e){throw A}}return e};return r(n.resolve(e))}},55598:(e,t,r)=>{"use strict";const A=r(92413).PassThrough,n=Array.prototype.slice;function o(e,t){if(Array.isArray(e))for(let r=0,A=e.length;r0||(t=!1,g())}function o(e){function t(){e.removeListener("merge2UnpipeEnd",t),e.removeListener("end",t),n()}if(e._readableState.endEmitted)return n();e.on("merge2UnpipeEnd",t),e.on("end",t),e.pipe(a,{end:!1}),e.resume()}for(let e=0;e{"use strict";const A=r(31669),n=r(12235),o=r(54722),i=r(3598),s=e=>"string"==typeof e&&(""===e||"./"===e),a=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let A=new Set,n=new Set,i=new Set,s=0,a=e=>{i.add(e.output),r&&r.onResult&&r.onResult(e)};for(let i=0;i!A.has(e));if(r&&0===c.length){if(!0===r.failglob)throw new Error(`No matches found for "${t.join(", ")}"`);if(!0===r.nonull||!0===r.nullglob)return r.unescape?t.map(e=>e.replace(/\\/g,"")):t}return c};a.match=a,a.matcher=(e,t)=>o(e,t),a.any=a.isMatch=(e,t,r)=>o(t,r)(e),a.not=(e,t,r={})=>{t=[].concat(t).map(String);let A=new Set,n=[],o=a(e,t,{...r,onResult:e=>{r.onResult&&r.onResult(e),n.push(e.output)}});for(let e of n)o.includes(e)||A.add(e);return[...A]},a.contains=(e,t,r)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${A.inspect(e)}"`);if(Array.isArray(t))return t.some(t=>a.contains(e,t,r));if("string"==typeof t){if(s(e)||s(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return a.isMatch(e,t,{...r,contains:!0})},a.matchKeys=(e,t,r)=>{if(!i.isObject(e))throw new TypeError("Expected the first argument to be an object");let A=a(Object.keys(e),t,r),n={};for(let t of A)n[t]=e[t];return n},a.some=(e,t,r)=>{let A=[].concat(e);for(let e of[].concat(t)){let t=o(String(e),r);if(A.some(e=>t(e)))return!0}return!1},a.every=(e,t,r)=>{let A=[].concat(e);for(let e of[].concat(t)){let t=o(String(e),r);if(!A.every(e=>t(e)))return!1}return!0},a.all=(e,t,r)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${A.inspect(e)}"`);return[].concat(t).every(t=>o(t,r)(e))},a.capture=(e,t,r)=>{let A=i.isWindows(r),n=o.makeRe(String(e),{...r,capture:!0}).exec(A?i.toPosixSlashes(t):t);if(n)return n.slice(1).map(e=>void 0===e?"":e)},a.makeRe=(...e)=>o.makeRe(...e),a.scan=(...e)=>o.scan(...e),a.parse=(e,t)=>{let r=[];for(let A of[].concat(e||[]))for(let e of n(String(A),t))r.push(o.parse(e,t));return r},a.braces=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return t&&!0===t.nobrace||!/\{.*\}/.test(e)?[e]:n(e,t)},a.braceExpand=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return a.braces(e,{...t,expand:!0})},e.exports=a},65007:e=>{"use strict";const t=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];e.exports=(e,r)=>{const A=new Set(Object.keys(e).concat(t));for(const t of A)t in r||(r[t]="function"==typeof e[t]?e[t].bind(e):e[t])}},33527:e=>{"use strict";const t=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];e.exports=(e,r)=>{if(r._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");const A=new Set(Object.keys(e).concat(t)),n={};for(const t of A)t in r||(n[t]={get(){const r=e[t];return"function"==typeof r?r.bind(e):r},set(r){e[t]=r},enumerable:!0,configurable:!1});return Object.defineProperties(r,n),e.once("aborted",()=>{r.destroy(),r.emit("aborted")}),e.once("close",()=>{e.complete&&r.readable?r.once("end",()=>{r.emit("close")}):r.emit("close")}),r}},19793:(e,t,r)=>{"use strict";const A="undefined"==typeof URL?r(78835).URL:URL,n=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),o=(e,t)=>{if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},Reflect.has(t,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(t,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(t,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(e=e.trim(),/^data:/i.test(e))return((e,{stripHash:t})=>{const r=e.match(/^data:(.*?),(.*?)(?:#(.*))?$/);if(!r)throw new Error("Invalid URL: "+e);const A=r[1].split(";"),n=r[2],o=t?"":r[3];let i=!1;"base64"===A[A.length-1]&&(A.pop(),i=!0);const s=(A.shift()||"").toLowerCase(),a=[...A.map(e=>{let[t,r=""]=e.split("=").map(e=>e.trim());return"charset"===t&&(r=r.toLowerCase(),"us-ascii"===r)?"":`${t}${r?"="+r:""}`}).filter(Boolean)];return i&&a.push("base64"),(0!==a.length||s&&"text/plain"!==s)&&a.unshift(s),`data:${a.join(";")},${i?n.trim():n}${o?"#"+o:""}`})(e,t);const r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));const o=new A(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===o.protocol&&(o.protocol="http:"),t.forceHttps&&"http:"===o.protocol&&(o.protocol="https:"),t.stripAuthentication&&(o.username="",o.password=""),t.stripHash&&(o.hash=""),o.pathname&&(o.pathname=o.pathname.replace(/((?!:).|^)\/{2,}/g,(e,t)=>/^(?!\/)/g.test(t)?t+"/":"/")),o.pathname&&(o.pathname=decodeURI(o.pathname)),!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=o.pathname.split("/");const r=e[e.length-1];n(r,t.removeDirectoryIndex)&&(e=e.slice(0,e.length-1),o.pathname=e.slice(1).join("/")+"/")}if(o.hostname&&(o.hostname=o.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(o.hostname)&&(o.hostname=o.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(const e of[...o.searchParams.keys()])n(e,t.removeQueryParameters)&&o.searchParams.delete(e);return t.sortQueryParameters&&o.searchParams.sort(),t.removeTrailingSlash&&(o.pathname=o.pathname.replace(/\/$/,"")),e=o.toString(),!t.removeTrailingSlash&&"/"!==o.pathname||""!==o.hash||(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e};e.exports=o,e.exports.default=o},91162:(e,t,r)=>{var A=r(98984);function n(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}e.exports=A(n),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0})}))},27180:(e,t,r)=>{var A=r(98984);function n(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function o(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}e.exports=A(n),e.exports.strict=A(o),n.proto=n((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return n(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return o(this)},configurable:!0})}))},59351:e=>{"use strict";class t extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}class r{static fn(e){return(...t)=>new r((r,A,n)=>{t.push(n),e(...t).then(r,A)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,r)=>{this._reject=r;const A=e=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)};return Object.defineProperties(A,{shouldReject:{get:()=>this._rejectOnCancel,set:e=>{this._rejectOnCancel=e}}}),e(e=>{this._isPending=!1,t(e)},e=>{this._isPending=!1,r(e)},A)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(this._isPending&&!this._isCanceled){if(this._cancelHandlers.length>0)try{for(const e of this._cancelHandlers)e()}catch(e){this._reject(e)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new t(e))}}get isCanceled(){return this._isCanceled}}Object.setPrototypeOf(r.prototype,Promise.prototype),e.exports=r,e.exports.CancelError=t},61578:(e,t,r)=>{"use strict";const A=r(60550),n=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=[];let r=0;const n=()=>{r--,t.length>0&&t.shift()()},o=(e,t,...o)=>{r++;const i=A(e,...o);t(i),i.then(n,n)},i=(A,...n)=>new Promise(i=>((A,n,...i)=>{rr},pendingCount:{get:()=>t.length}}),i};e.exports=n,e.exports.default=n},60550:e=>{"use strict";e.exports=(e,...t)=>new Promise(r=>{r(e(...t))})},37127:e=>{"use strict";const t=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};e.exports=t,e.exports.default=t},5763:(e,t,r)=>{"use strict";const{promisify:A}=r(31669),n=r(35747);async function o(e,t,r){if("string"!=typeof r)throw new TypeError("Expected a string, got "+typeof r);try{return(await A(n[e])(r))[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}function i(e,t,r){if("string"!=typeof r)throw new TypeError("Expected a string, got "+typeof r);try{return n[e](r)[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}t.isFile=o.bind(null,"stat","isFile"),t.isDirectory=o.bind(null,"stat","isDirectory"),t.isSymlink=o.bind(null,"lstat","isSymbolicLink"),t.isFileSync=i.bind(null,"statSync","isFile"),t.isDirectorySync=i.bind(null,"statSync","isDirectory"),t.isSymlinkSync=i.bind(null,"lstatSync","isSymbolicLink")},54722:(e,t,r)=>{"use strict";e.exports=r(18828)},71086:(e,t,r)=>{"use strict";const A=r(85622),n={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},o={...n,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{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"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:A.sep,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?o:n}},47974:(e,t,r)=>{"use strict";const A=r(71086),n=r(3598),{MAX_LENGTH:o,POSIX_REGEX_SOURCE:i,REGEX_NON_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_BACKREF:a,REPLACEMENTS:c}=A,g=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map(e=>n.escapeRegex(e)).join("..")}return r},l=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,u=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=c[e]||e;const r={...t},u="number"==typeof r.maxLength?Math.min(o,r.maxLength):o;let h=e.length;if(h>u)throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${u}`);const p={type:"bos",value:"",output:r.prepend||""},d=[p],C=r.capture?"":"?:",f=n.isWindows(t),I=A.globChars(f),E=A.extglobChars(I),{DOT_LITERAL:B,PLUS_LITERAL:y,SLASH_LITERAL:m,ONE_CHAR:w,DOTS_SLASH:Q,NO_DOT:D,NO_DOT_SLASH:b,NO_DOTS_SLASH:v,QMARK:S,QMARK_NO_DOT:k,STAR:K,START_ANCHOR:F}=I,N=e=>`(${C}(?:(?!${F}${e.dot?Q:B}).)*?)`,M=r.dot?"":D,R=r.dot?S:k;let x=!0===r.bash?N(r):K;r.capture&&(x=`(${x})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const L={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:d};e=n.removePrefix(e,L),h=e.length;const P=[],O=[],U=[];let T,j=p;const Y=()=>L.index===h-1,G=L.peek=(t=1)=>e[L.index+t],H=L.advance=()=>e[++L.index],J=()=>e.slice(L.index+1),q=(e="",t=0)=>{L.consumed+=e,L.index+=t},z=e=>{L.output+=null!=e.output?e.output:e.value,q(e.value)},W=()=>{let e=1;for(;"!"===G()&&("("!==G(2)||"?"===G(3));)H(),L.start++,e++;return e%2!=0&&(L.negated=!0,L.start++,!0)},X=e=>{L[e]++,U.push(e)},V=e=>{L[e]--,U.pop()},_=e=>{if("globstar"===j.type){const t=L.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||P.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(L.output=L.output.slice(0,-j.output.length),j.type="star",j.value="*",j.output=x,L.output+=j.output)}if(P.length&&"paren"!==e.type&&!E[e.value]&&(P[P.length-1].inner+=e.value),(e.value||e.output)&&z(e),j&&"text"===j.type&&"text"===e.type)return j.value+=e.value,void(j.output=(j.output||"")+e.value);e.prev=j,d.push(e),j=e},Z=(e,t)=>{const A={...E[t],conditions:1,inner:""};A.prev=j,A.parens=L.parens,A.output=L.output;const n=(r.capture?"(":"")+A.open;X("parens"),_({type:e,value:t,output:L.output?"":w}),_({type:"paren",extglob:!0,value:H(),output:n}),P.push(A)},$=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let A=x;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(A=N(r)),(A!==x||Y()||/^\)+$/.test(J()))&&(t=e.close=")$))"+A),"bos"===e.prev.type&&Y()&&(L.negatedExtglob=!0)}_({type:"paren",extglob:!0,value:T,output:t}),V("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let A=!1,o=e.replace(a,(e,t,r,n,o,i)=>"\\"===n?(A=!0,e):"?"===n?t?t+n+(o?S.repeat(o.length):""):0===i?R+(o?S.repeat(o.length):""):S.repeat(r.length):"."===n?B.repeat(r.length):"*"===n?t?t+n+(o?x:""):x:t?e:"\\"+e);return!0===A&&(o=!0===r.unescape?o.replace(/\\/g,""):o.replace(/\\+/g,e=>e.length%2==0?"\\\\":e?"\\":"")),o===e&&!0===r.contains?(L.output=e,L):(L.output=n.wrapOutput(o,L,t),L)}for(;!Y();){if(T=H(),"\0"===T)continue;if("\\"===T){const e=G();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){T+="\\",_({type:"text",value:T});continue}const t=/^\\+/.exec(J());let A=0;if(t&&t[0].length>2&&(A=t[0].length,L.index+=A,A%2!=0&&(T+="\\")),!0===r.unescape?T=H()||"":T+=H()||"",0===L.brackets){_({type:"text",value:T});continue}}if(L.brackets>0&&("]"!==T||"["===j.value||"[^"===j.value)){if(!1!==r.posix&&":"===T){const e=j.value.slice(1);if(e.includes("[")&&(j.posix=!0,e.includes(":"))){const e=j.value.lastIndexOf("["),t=j.value.slice(0,e),r=j.value.slice(e+2),A=i[r];if(A){j.value=t+A,L.backtrack=!0,H(),p.output||1!==d.indexOf(j)||(p.output=w);continue}}}("["===T&&":"!==G()||"-"===T&&"]"===G())&&(T="\\"+T),"]"!==T||"["!==j.value&&"[^"!==j.value||(T="\\"+T),!0===r.posix&&"!"===T&&"["===j.value&&(T="^"),j.value+=T,z({value:T});continue}if(1===L.quotes&&'"'!==T){T=n.escapeRegex(T),j.value+=T,z({value:T});continue}if('"'===T){L.quotes=1===L.quotes?0:1,!0===r.keepQuotes&&_({type:"text",value:T});continue}if("("===T){X("parens"),_({type:"paren",value:T});continue}if(")"===T){if(0===L.parens&&!0===r.strictBrackets)throw new SyntaxError(l("opening","("));const e=P[P.length-1];if(e&&L.parens===e.parens+1){$(P.pop());continue}_({type:"paren",value:T,output:L.parens?")":"\\)"}),V("parens");continue}if("["===T){if(!0!==r.nobracket&&J().includes("]"))X("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(l("closing","]"));T="\\"+T}_({type:"bracket",value:T});continue}if("]"===T){if(!0===r.nobracket||j&&"bracket"===j.type&&1===j.value.length){_({type:"text",value:T,output:"\\"+T});continue}if(0===L.brackets){if(!0===r.strictBrackets)throw new SyntaxError(l("opening","["));_({type:"text",value:T,output:"\\"+T});continue}V("brackets");const e=j.value.slice(1);if(!0===j.posix||"^"!==e[0]||e.includes("/")||(T="/"+T),j.value+=T,z({value:T}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(j.value);if(L.output=L.output.slice(0,-j.value.length),!0===r.literalBrackets){L.output+=t,j.value=t;continue}j.value=`(${C}${t}|${j.value})`,L.output+=j.value;continue}if("{"===T&&!0!==r.nobrace){X("braces");const e={type:"brace",value:T,output:"(",outputIndex:L.output.length,tokensIndex:L.tokens.length};O.push(e),_(e);continue}if("}"===T){const e=O[O.length-1];if(!0===r.nobrace||!e){_({type:"text",value:T,output:T});continue}let t=")";if(!0===e.dots){const e=d.slice(),A=[];for(let t=e.length-1;t>=0&&(d.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&A.unshift(e[t].value);t=g(A,r),L.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=L.output.slice(0,e.outputIndex),A=L.tokens.slice(e.tokensIndex);e.value=e.output="\\{",T=t="\\}",L.output=r;for(const e of A)L.output+=e.output||e.value}_({type:"brace",value:T,output:t}),V("braces"),O.pop();continue}if("|"===T){P.length>0&&P[P.length-1].conditions++,_({type:"text",value:T});continue}if(","===T){let e=T;const t=O[O.length-1];t&&"braces"===U[U.length-1]&&(t.comma=!0,e="|"),_({type:"comma",value:T,output:e});continue}if("/"===T){if("dot"===j.type&&L.index===L.start+1){L.start=L.index+1,L.consumed="",L.output="",d.pop(),j=p;continue}_({type:"slash",value:T,output:m});continue}if("."===T){if(L.braces>0&&"dot"===j.type){"."===j.value&&(j.output=B);const e=O[O.length-1];j.type="dots",j.output+=T,j.value+=T,e.dots=!0;continue}if(L.braces+L.parens===0&&"bos"!==j.type&&"slash"!==j.type){_({type:"text",value:T,output:B});continue}_({type:"dot",value:T,output:B});continue}if("?"===T){if(!(j&&"("===j.value)&&!0!==r.noextglob&&"("===G()&&"?"!==G(2)){Z("qmark",T);continue}if(j&&"paren"===j.type){const e=G();let t=T;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===j.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(J()))&&(t="\\"+T),_({type:"text",value:T,output:t});continue}if(!0!==r.dot&&("slash"===j.type||"bos"===j.type)){_({type:"qmark",value:T,output:k});continue}_({type:"qmark",value:T,output:S});continue}if("!"===T){if(!0!==r.noextglob&&"("===G()&&("?"!==G(2)||!/[!=<:]/.test(G(3)))){Z("negate",T);continue}if(!0!==r.nonegate&&0===L.index){W();continue}}if("+"===T){if(!0!==r.noextglob&&"("===G()&&"?"!==G(2)){Z("plus",T);continue}if(j&&"("===j.value||!1===r.regex){_({type:"plus",value:T,output:y});continue}if(j&&("bracket"===j.type||"paren"===j.type||"brace"===j.type)||L.parens>0){_({type:"plus",value:T});continue}_({type:"plus",value:y});continue}if("@"===T){if(!0!==r.noextglob&&"("===G()&&"?"!==G(2)){_({type:"at",extglob:!0,value:T,output:""});continue}_({type:"text",value:T});continue}if("*"!==T){"$"!==T&&"^"!==T||(T="\\"+T);const e=s.exec(J());e&&(T+=e[0],L.index+=e[0].length),_({type:"text",value:T});continue}if(j&&("globstar"===j.type||!0===j.star)){j.type="star",j.star=!0,j.value+=T,j.output=x,L.backtrack=!0,L.globstar=!0,q(T);continue}let t=J();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Z("star",T);continue}if("star"===j.type){if(!0===r.noglobstar){q(T);continue}const A=j.prev,n=A.prev,o="slash"===A.type||"bos"===A.type,i=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!o||t[0]&&"/"!==t[0])){_({type:"star",value:T,output:""});continue}const s=L.braces>0&&("comma"===A.type||"brace"===A.type),a=P.length&&("pipe"===A.type||"paren"===A.type);if(!o&&"paren"!==A.type&&!s&&!a){_({type:"star",value:T,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[L.index+4];if(r&&"/"!==r)break;t=t.slice(3),q("/**",3)}if("bos"===A.type&&Y()){j.type="globstar",j.value+=T,j.output=N(r),L.output=j.output,L.globstar=!0,q(T);continue}if("slash"===A.type&&"bos"!==A.prev.type&&!i&&Y()){L.output=L.output.slice(0,-(A.output+j.output).length),A.output="(?:"+A.output,j.type="globstar",j.output=N(r)+(r.strictSlashes?")":"|$)"),j.value+=T,L.globstar=!0,L.output+=A.output+j.output,q(T);continue}if("slash"===A.type&&"bos"!==A.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";L.output=L.output.slice(0,-(A.output+j.output).length),A.output="(?:"+A.output,j.type="globstar",j.output=`${N(r)}${m}|${m}${e})`,j.value+=T,L.output+=A.output+j.output,L.globstar=!0,q(T+H()),_({type:"slash",value:"/",output:""});continue}if("bos"===A.type&&"/"===t[0]){j.type="globstar",j.value+=T,j.output=`(?:^|${m}|${N(r)}${m})`,L.output=j.output,L.globstar=!0,q(T+H()),_({type:"slash",value:"/",output:""});continue}L.output=L.output.slice(0,-j.output.length),j.type="globstar",j.output=N(r),j.value+=T,L.output+=j.output,L.globstar=!0,q(T);continue}const A={type:"star",value:T,output:x};!0!==r.bash?!j||"bracket"!==j.type&&"paren"!==j.type||!0!==r.regex?(L.index!==L.start&&"slash"!==j.type&&"dot"!==j.type||("dot"===j.type?(L.output+=b,j.output+=b):!0===r.dot?(L.output+=v,j.output+=v):(L.output+=M,j.output+=M),"*"!==G()&&(L.output+=w,j.output+=w)),_(A)):(A.output=T,_(A)):(A.output=".*?","bos"!==j.type&&"slash"!==j.type||(A.output=M+A.output),_(A))}for(;L.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing","]"));L.output=n.escapeLast(L.output,"["),V("brackets")}for(;L.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing",")"));L.output=n.escapeLast(L.output,"("),V("parens")}for(;L.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(l("closing","}"));L.output=n.escapeLast(L.output,"{"),V("braces")}if(!0===r.strictSlashes||"star"!==j.type&&"bracket"!==j.type||_({type:"maybe_slash",value:"",output:m+"?"}),!0===L.backtrack){L.output="";for(const e of L.tokens)L.output+=null!=e.output?e.output:e.value,e.suffix&&(L.output+=e.suffix)}return L};u.fastpaths=(e,t)=>{const r={...t},i="number"==typeof r.maxLength?Math.min(o,r.maxLength):o,s=e.length;if(s>i)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${i}`);e=c[e]||e;const a=n.isWindows(t),{DOT_LITERAL:g,SLASH_LITERAL:l,ONE_CHAR:u,DOTS_SLASH:h,NO_DOT:p,NO_DOTS:d,NO_DOTS_SLASH:C,STAR:f,START_ANCHOR:I}=A.globChars(a),E=r.dot?d:p,B=r.dot?C:p,y=r.capture?"":"?:";let m=!0===r.bash?".*?":f;r.capture&&(m=`(${m})`);const w=e=>!0===e.noglobstar?m:`(${y}(?:(?!${I}${e.dot?h:g}).)*?)`,Q=e=>{switch(e){case"*":return`${E}${u}${m}`;case".*":return`${g}${u}${m}`;case"*.*":return`${E}${m}${g}${u}${m}`;case"*/*":return`${E}${m}${l}${u}${B}${m}`;case"**":return E+w(r);case"**/*":return`(?:${E}${w(r)}${l})?${B}${u}${m}`;case"**/*.*":return`(?:${E}${w(r)}${l})?${B}${m}${g}${u}${m}`;case"**/.*":return`(?:${E}${w(r)}${l})?${g}${u}${m}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=Q(t[1]);if(!r)return;return r+g+t[2]}}},D=n.removePrefix(e,{negated:!1,prefix:""});let b=Q(D);return b&&!0!==r.strictSlashes&&(b+=l+"?"),b},e.exports=u},18828:(e,t,r)=>{"use strict";const A=r(85622),n=r(95321),o=r(47974),i=r(3598),s=r(71086),a=(e,t,r=!1)=>{if(Array.isArray(e)){const A=e.map(e=>a(e,t,r));return e=>{for(const t of A){const r=t(e);if(r)return r}return!1}}const A=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!A)throw new TypeError("Expected pattern to be a non-empty string");const o=t||{},s=i.isWindows(t),c=A?a.compileRe(e,t):a.makeRe(e,t,!1,!0),g=c.state;delete c.state;let l=()=>!1;if(o.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};l=a(o.ignore,e,r)}const u=(r,A=!1)=>{const{isMatch:n,match:i,output:u}=a.test(r,c,t,{glob:e,posix:s}),h={glob:e,state:g,regex:c,posix:s,input:r,output:u,match:i,isMatch:n};return"function"==typeof o.onResult&&o.onResult(h),!1===n?(h.isMatch=!1,!!A&&h):l(r)?("function"==typeof o.onIgnore&&o.onIgnore(h),h.isMatch=!1,!!A&&h):("function"==typeof o.onMatch&&o.onMatch(h),!A||h)};return r&&(u.state=g),u};a.test=(e,t,r,{glob:A,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},s=o.format||(n?i.toPosixSlashes:null);let c=e===A,g=c&&s?s(e):e;return!1===c&&(g=s?s(e):e,c=g===A),!1!==c&&!0!==o.capture||(c=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(g)),{isMatch:Boolean(c),match:c,output:g}},a.matchBase=(e,t,r,n=i.isWindows(r))=>(t instanceof RegExp?t:a.makeRe(t,r)).test(A.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map(e=>a.parse(e,t)):o(e,{...t,fastpaths:!1}),a.scan=(e,t)=>n(e,t),a.compileRe=(e,t,r=!1,A=!1)=>{if(!0===r)return e.output;const n=t||{},o=n.contains?"":"^",i=n.contains?"":"$";let s=`${o}(?:${e.output})${i}`;e&&!0===e.negated&&(s=`^(?!${s}).*$`);const c=a.toRegex(s,t);return!0===A&&(c.state=e),c},a.makeRe=(e,t,r=!1,A=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const n=t||{};let i,s={negated:!1,fastpaths:!0},c="";return e.startsWith("./")&&(e=e.slice(2),c=s.prefix="./"),!1===n.fastpaths||"."!==e[0]&&"*"!==e[0]||(i=o.fastpaths(e,t)),void 0===i?(s=o(e,t),s.prefix=c+(s.prefix||"")):s.output=i,a.compileRe(s,t,r,A)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=s,e.exports=a},95321:(e,t,r)=>{"use strict";const A=r(3598),{CHAR_ASTERISK:n,CHAR_AT:o,CHAR_BACKWARD_SLASH:i,CHAR_COMMA:s,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:g,CHAR_LEFT_CURLY_BRACE:l,CHAR_LEFT_PARENTHESES:u,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_PLUS:p,CHAR_QUESTION_MARK:d,CHAR_RIGHT_CURLY_BRACE:C,CHAR_RIGHT_PARENTHESES:f,CHAR_RIGHT_SQUARE_BRACKET:I}=r(71086),E=e=>e===g||e===i,B=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},y=e.length-1,m=!0===r.parts||!0===r.scanToEnd,w=[],Q=[],D=[];let b,v,S=e,k=-1,K=0,F=0,N=!1,M=!1,R=!1,x=!1,L=!1,P=!1,O=!1,U=!1,T=!1,j=0,Y={value:"",depth:0,isGlob:!1};const G=()=>k>=y,H=()=>(b=v,S.charCodeAt(++k));for(;k0&&(q=S.slice(0,K),S=S.slice(K),F-=K),J&&!0===R&&F>0?(J=S.slice(0,F),z=S.slice(F)):!0===R?(J="",z=S):J=S,J&&""!==J&&"/"!==J&&J!==S&&E(J.charCodeAt(J.length-1))&&(J=J.slice(0,-1)),!0===r.unescape&&(z&&(z=A.removeBackslashes(z)),J&&!0===O&&(J=A.removeBackslashes(J)));const W={prefix:q,input:e,start:K,base:J,glob:z,isBrace:N,isBracket:M,isGlob:R,isExtglob:x,isGlobstar:L,negated:U};if(!0===r.tokens&&(W.maxDepth=0,E(v)||Q.push(Y),W.tokens=Q),!0===r.parts||!0===r.tokens){let t;for(let A=0;A{"use strict";const A=r(85622),n="win32"===process.platform,{REGEX_BACKSLASH:o,REGEX_REMOVE_BACKSLASH:i,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:a}=r(71086);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>s.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(a,"\\$1"),t.toPosixSlashes=e=>e.replace(o,"/"),t.removeBackslashes=e=>e.replace(i,e=>"\\"===e?"":e),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.isWindows=e=>e&&"boolean"==typeof e.windows?e.windows:!0===n||"\\"===A.sep,t.escapeLast=(e,r,A)=>{const n=e.lastIndexOf(r,A);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let A=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(A=`(?:^(?!${A}).*$)`),A}},79588:e=>{"use strict";function t(e){this._maxSize=e,this.clear()}t.prototype.clear=function(){this._size=0,this._values={}},t.prototype.get=function(e){return this._values[e]},t.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),this._values.hasOwnProperty(e)||this._size++,this._values[e]=t};var r=/[^.^\]^[]+|(?=\[\]|\.\.)/g,A=/^\d+$/,n=/^\d/,o=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,i=/^\s*(['"]?)(.*?)(\1)\s*$/,s=!1,a=new t(512),c=new t(512),g=new t(512);try{new Function("")}catch(e){s=!0}function l(e){return a.get(e)||a.set(e,u(e).map((function(e){return e.replace(i,"$2")})))}function u(e){return e.match(r)}function h(e,t,r){return"string"==typeof t&&(r=t,t=!1),r=r||"data",(e=e||"")&&"["!==e.charAt(0)&&(e="."+e),t?function(e,t){var r,A=t,n=u(e);return p(n,(function(e,t,n,o,i){r=o===i.length-1,A+=(e=t||n?"["+e+"]":"."+e)+(r?")":" || {})")})),new Array(n.length+1).join("(")+A}(e,r):r+e}function p(e,t,r){var A,n,o,i,s=e.length;for(n=0;n{var A=r(91162),n=r(97681),o=r(35747),i=function(){},s=/^v?\.0/.test(process.version),a=function(e){return"function"==typeof e},c=function(e,t,r,c){c=A(c);var g=!1;e.on("close",(function(){g=!0})),n(e,{readable:t,writable:r},(function(e){if(e)return c(e);g=!0,c()}));var l=!1;return function(t){if(!g&&!l)return l=!0,function(e){return!!s&&(!!o&&((e instanceof(o.ReadStream||i)||e instanceof(o.WriteStream||i))&&a(e.close)))}(e)?e.close(i):function(e){return e.setHeader&&a(e.abort)}(e)?e.abort():a(e.destroy)?e.destroy():void c(t||new Error("stream was destroyed"))}},g=function(e){e()},l=function(e,t){return e.pipe(t)};e.exports=function(){var e,t=Array.prototype.slice.call(arguments),r=a(t[t.length-1]||i)&&t.pop()||i;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var A=t.map((function(n,o){var i=o0,(function(t){e||(e=t),t&&A.forEach(g),i||(A.forEach(g),r(e))}))}));return t.reduce(l)}},49601:e=>{"use strict";class t{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,"function"==typeof this.onEviction)for(const[e,t]of this.oldCache.entries())this.onEviction(e,t);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){const t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){return this.cache.has(e)?this.cache.get(e):this.oldCache.has(e)?this.oldCache.get(e):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache)yield e;for(const e of this.oldCache){const[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}}e.exports=t},20663:e=>{"use strict";const t={};function r(e,r,A){A||(A=Error);class n extends A{constructor(e,t,A){super(function(e,t,A){return"string"==typeof r?r:r(e,t,A)}(e,t,A))}}n.prototype.name=A.name,n.prototype.code=e,t[e]=n}function A(e,t){if(Array.isArray(e)){const r=e.length;return e=e.map(e=>String(e)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:2===r?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}r("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(e,t,r){let n;var o,i;let s;if("string"==typeof t&&(o="not ",t.substr(!i||i<0?0:+i,o.length)===o)?(n="must not be",t=t.replace(/^not /,"")):n="must be",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}(e," argument"))s=`The ${e} ${n} ${A(t,"type")}`;else{s=`The "${e}" ${function(e,t,r){return"number"!=typeof r&&(r=0),!(r+t.length>e.length)&&-1!==e.indexOf(t,r)}(e,".")?"property":"argument"} ${n} ${A(t,"type")}`}return s+=". Received type "+typeof r,s}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},39138:e=>{"use strict";var t=new Set;e.exports.emitExperimentalWarning=process.emitWarning?function(e){if(!t.has(e)){var r=e+" is an experimental feature. This feature could change at any time";t.add(e),process.emitWarning(r,"ExperimentalWarning")}}:function(){}},72434:(e,t,r)=>{"use strict";var A=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var n=r(58020),o=r(6729);r(85870)(c,n);for(var i=A(o.prototype),s=0;s{"use strict";e.exports=n;var A=r(54801);function n(e){if(!(this instanceof n))return new n(e);A.call(this,e)}r(85870)(n,A),n.prototype._transform=function(e,t,r){r(null,e)}},58020:(e,t,r)=>{"use strict";var A;e.exports=w,w.ReadableState=m;r(28614).EventEmitter;var n=function(e,t){return e.listeners(t).length},o=r(49298),i=r(64293).Buffer,s=global.Uint8Array||function(){};var a,c=r(31669);a=c&&c.debuglog?c.debuglog("stream"):function(){};var g,l,u=r(43117),h=r(32340),p=r(77433).getHighWaterMark,d=r(20663).q,C=d.ERR_INVALID_ARG_TYPE,f=d.ERR_STREAM_PUSH_AFTER_EOF,I=d.ERR_METHOD_NOT_IMPLEMENTED,E=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,B=r(39138).emitExperimentalWarning;r(85870)(w,o);var y=["error","close","destroy","pause","resume"];function m(e,t,n){A=A||r(72434),e=e||{},"boolean"!=typeof n&&(n=t instanceof A),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,"readableHighWaterMark",n),this.buffer=new u,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(g||(g=r(69538).s),this.decoder=new g(e.encoding),this.encoding=e.encoding)}function w(e){if(A=A||r(72434),!(this instanceof w))return new w(e);var t=this instanceof A;this._readableState=new m(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function Q(e,t,r,A,n){a("readableAddChunk",t);var o,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?v(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,S(e)))}(e,c);else if(n||(o=function(e,t){var r;A=t,i.isBuffer(A)||A instanceof s||"string"==typeof t||void 0===t||e.objectMode||(r=new C("chunk",["string","Buffer","Uint8Array"],t));var A;return r}(c,t)),o)e.emit("error",o);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===i.prototype||(t=function(e){return i.from(e)}(t)),A)c.endEmitted?e.emit("error",new E):D(e,c,t,!0);else if(c.ended)e.emit("error",new f);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!r?(t=c.decoder.write(t),c.objectMode||0!==t.length?D(e,c,t,!1):k(e,c)):D(e,c,t,!1)}else A||(c.reading=!1,k(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(a("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(S,e))}function S(e){var t=e._readableState;a("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,R(e)}function k(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(K,e,t))}function K(e,t){for(var r=t.length;!t.reading&&!t.ended&&t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){a("readable nexttick read 0"),e.read(0)}function M(e,t){a("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),R(e),t.flowing&&!t.reading&&e.read(0)}function R(e){var t=e._readableState;for(a("flow",t.flowing);t.flowing&&null!==e.read(););}function x(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function L(e){var t=e._readableState;a("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(P,t,e))}function P(e,t){a("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function O(e,t){for(var r=0,A=e.length;r=t.highWaterMark:t.length>0)||t.ended))return a("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?L(this):v(this),null;if(0===(e=b(e,t))&&t.ended)return 0===t.length&&L(this),null;var A,n=t.needReadable;return a("need readable",n),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&L(this)),null!==A&&this.emit("data",A),A},w.prototype._read=function(e){this.emit("error",new I("_read()"))},w.prototype.pipe=function(e,t){var r=this,A=this._readableState;switch(A.pipesCount){case 0:A.pipes=e;break;case 1:A.pipes=[A.pipes,e];break;default:A.pipes.push(e)}A.pipesCount+=1,a("pipe count=%d opts=%j",A.pipesCount,t);var o=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?s:d;function i(t,n){a("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,a("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",s),r.removeListener("end",d),r.removeListener("data",l),g=!0,!A.awaitDrain||e._writableState&&!e._writableState.needDrain||c())}function s(){a("onend"),e.end()}A.endEmitted?process.nextTick(o):r.once("end",o),e.on("unpipe",i);var c=function(e){return function(){var t=e._readableState;a("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&n(e,"data")&&(t.flowing=!0,R(e))}}(r);e.on("drain",c);var g=!1;function l(t){a("ondata");var n=e.write(t);a("dest.write",n),!1===n&&((1===A.pipesCount&&A.pipes===e||A.pipesCount>1&&-1!==O(A.pipes,e))&&!g&&(a("false write response, pause",A.awaitDrain),A.awaitDrain++),r.pause())}function u(t){a("onerror",t),d(),e.removeListener("error",u),0===n(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),d()}function p(){a("onfinish"),e.removeListener("close",h),d()}function d(){a("unpipe"),r.unpipe(e)}return r.on("data",l),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",u),e.once("close",h),e.once("finish",p),e.emit("pipe",r),A.flowing||(a("pipe resume"),r.resume()),e},w.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var A=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0,!1!==A.flowing&&this.resume()):"readable"===e&&(A.endEmitted||A.readableListening||(A.readableListening=A.needReadable=!0,A.flowing=!1,A.emittedReadable=!1,a("on readable",A.length,A.reading),A.length?v(this):A.reading||process.nextTick(N,this))),r},w.prototype.addListener=w.prototype.on,w.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(F,this),r},w.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(F,this),t},w.prototype.resume=function(){var e=this._readableState;return e.flowing||(a("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(M,e,t))}(this,e)),e.paused=!1,this},w.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},w.prototype.wrap=function(e){var t=this,r=this._readableState,A=!1;for(var n in e.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(n){(a("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(A=!0,e.pause()))})),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var o=0;o{"use strict";e.exports=g;var A=r(20663).q,n=A.ERR_METHOD_NOT_IMPLEMENTED,o=A.ERR_MULTIPLE_CALLBACK,i=A.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=A.ERR_TRANSFORM_WITH_LENGTH_0,a=r(72434);function c(e,t){var r=this._transformState;r.transforming=!1;var A=r.writecb;if(null===A)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),A(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";function A(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var A=e.entry;e.entry=null;for(;A;){var n=A.callback;t.pendingcb--,n(r),A=A.next}t.corkedRequestsFree.next=e}(t,e)}}var n;e.exports=w,w.WritableState=m;var o={deprecate:r(73212)},i=r(49298),s=r(64293).Buffer,a=global.Uint8Array||function(){};var c,g=r(32340),l=r(77433).getHighWaterMark,u=r(20663).q,h=u.ERR_INVALID_ARG_TYPE,p=u.ERR_METHOD_NOT_IMPLEMENTED,d=u.ERR_MULTIPLE_CALLBACK,C=u.ERR_STREAM_CANNOT_PIPE,f=u.ERR_STREAM_DESTROYED,I=u.ERR_STREAM_NULL_VALUES,E=u.ERR_STREAM_WRITE_AFTER_END,B=u.ERR_UNKNOWN_ENCODING;function y(){}function m(e,t,o){n=n||r(72434),e=e||{},"boolean"!=typeof o&&(o=t instanceof n),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l(this,e,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,A=r.sync,n=r.writecb;if("function"!=typeof n)throw new d;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,A,n){--t.pendingcb,r?(process.nextTick(n,A),process.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",A)):(n(A),e._writableState.errorEmitted=!0,e.emit("error",A),k(e,t))}(e,r,A,t,n);else{var o=v(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||b(e,r),A?process.nextTick(D,e,r,o,n):D(e,r,o,n)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.bufferedRequestCount=0,this.corkedRequestsFree=new A(this)}function w(e){var t=this instanceof(n=n||r(72434));if(!t&&!c.call(w,this))return new w(e);this._writableState=new m(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),i.call(this)}function Q(e,t,r,A,n,o,i){t.writelen=A,t.writecb=i,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new f("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function D(e,t,r,A){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,A(),k(e,t)}function b(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,o=new Array(n),i=t.corkedRequestsFree;i.entry=r;for(var s=0,a=!0;r;)o[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;o.allBuffers=a,Q(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new A(t),t.bufferedRequestCount=0}else{for(;r;){var c=r.chunk,g=r.encoding,l=r.callback;if(Q(e,t,!1,t.objectMode?1:c.length,c,g,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function v(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var r=v(t);return r&&(!function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(S,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}r(85870)(w,i),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:o.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(w,Symbol.hasInstance,{value:function(e){return!!c.call(this,e)||this===w&&(e&&e._writableState instanceof m)}})):c=function(e){return e instanceof this},w.prototype.pipe=function(){this.emit("error",new C)},w.prototype.write=function(e,t,r){var A,n=this._writableState,o=!1,i=!n.objectMode&&(A=e,s.isBuffer(A)||A instanceof a);return i&&!s.isBuffer(e)&&(e=function(e){return s.from(e)}(e)),"function"==typeof t&&(r=t,t=null),i?t="buffer":t||(t=n.defaultEncoding),"function"!=typeof r&&(r=y),n.ending?function(e,t){var r=new E;e.emit("error",r),process.nextTick(t,r)}(this,r):(i||function(e,t,r,A){var n;return null===r?n=new I:"string"==typeof r||t.objectMode||(n=new h("chunk",["string","Buffer"],r)),!n||(e.emit("error",n),process.nextTick(A,n),!1)}(this,n,e,r))&&(n.pendingcb++,o=function(e,t,r,A,n,o){if(!r){var i=function(e,t,r){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=s.from(t,r));return t}(t,A,n);A!==i&&(r=!0,n="buffer",A=i)}var a=t.objectMode?1:A.length;t.length+=a;var c=t.length-1))throw new B(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(w.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(w.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),w.prototype._write=function(e,t,r){r(new p("_write()"))},w.prototype._writev=null,w.prototype.end=function(e,t,r){var A=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),A.corked&&(A.corked=1,this.uncork()),A.ending||function(e,t,r){t.ending=!0,k(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,A,r),this},Object.defineProperty(w.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(w.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),w.prototype.destroy=g.destroy,w.prototype._undestroy=g.undestroy,w.prototype._destroy=function(e,t){t(e)}},4245:(e,t,r)=>{"use strict";var A;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(91327),i=Symbol("lastResolve"),s=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),g=Symbol("lastPromise"),l=Symbol("handlePromise"),u=Symbol("stream");function h(e,t){return{value:e,done:t}}function p(e){var t=e[i];if(null!==t){var r=e[u].read();null!==r&&(e[g]=null,e[i]=null,e[s]=null,t(h(r,!1)))}}function d(e){process.nextTick(p,e)}var C=Object.getPrototypeOf((function(){})),f=Object.setPrototypeOf((n(A={get stream(){return this[u]},next:function(){var e=this,t=this[a];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(h(null,!0));if(this[u].destroyed)return new Promise((function(t,r){process.nextTick((function(){e[a]?r(e[a]):t(h(null,!0))}))}));var r,A=this[g];if(A)r=new Promise(function(e,t){return function(r,A){e.then((function(){t[l](r,A)}),A)}}(A,this));else{var n=this[u].read();if(null!==n)return Promise.resolve(h(n,!1));r=new Promise(this[l])}return this[g]=r,r}},Symbol.asyncIterator,(function(){return this})),n(A,"return",(function(){var e=this;return new Promise((function(t,r){e[u].destroy(null,(function(e){e?r(e):t(h(null,!0))}))}))})),A),C);e.exports=function(e){var t,r=Object.create(f,(n(t={},u,{value:e,writable:!0}),n(t,i,{value:null,writable:!0}),n(t,s,{value:null,writable:!0}),n(t,a,{value:null,writable:!0}),n(t,c,{value:e._readableState.endEmitted,writable:!0}),n(t,g,{value:null,writable:!0}),n(t,l,{value:function(e,t){var A=r[u].read();A?(r[g]=null,r[i]=null,r[s]=null,e(h(A,!1))):(r[i]=e,r[s]=t)},writable:!0}),t));return o(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[s];return null!==t&&(r[g]=null,r[i]=null,r[s]=null,t(e)),void(r[a]=e)}var A=r[i];null!==A&&(r[g]=null,r[i]=null,r[s]=null,A(h(null,!0))),r[c]=!0})),e.on("readable",d.bind(null,r)),r}},43117:(e,t,r)=>{"use strict";function A(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var n=r(64293).Buffer,o=r(31669).inspect,i=o&&o.custom||"inspect";e.exports=function(){function e(){this.head=null,this.tail=null,this.length=0}var t=e.prototype;return t.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},t.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},t.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},t.clear=function(){this.head=this.tail=null,this.length=0},t.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},t.concat=function(e){if(0===this.length)return n.alloc(0);for(var t,r,A,o=n.allocUnsafe(e>>>0),i=this.head,s=0;i;)t=i.data,r=o,A=s,n.prototype.copy.call(t,r,A),s+=i.data.length,i=i.next;return o},t.consume=function(e,t){var r;return en.length?n.length:e;if(o===n.length?A+=n:A+=n.slice(0,e),0===(e-=o)){o===n.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=n.slice(o));break}++r}return this.length-=r,A},t._getBuffer=function(e){var t=n.allocUnsafe(e),r=this.head,A=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var o=r.data,i=e>o.length?o.length:e;if(o.copy(t,t.length-e,0,i),0===(e-=i)){i===o.length?(++A,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=o.slice(i));break}++A}return this.length-=A,t},t[i]=function(e,t){return o(this,function(e){for(var t=1;t{"use strict";function t(e,t){A(e,t),r(e)}function r(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function A(e,t){e.emit("error",t)}e.exports={destroy:function(e,n){var o=this,i=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return i||s?(n?n(e):!e||this._writableState&&this._writableState.errorEmitted||process.nextTick(A,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!n&&e?(process.nextTick(t,o,e),o._writableState&&(o._writableState.errorEmitted=!0)):n?(process.nextTick(r,o),n(e)):process.nextTick(r,o)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},91327:(e,t,r)=>{"use strict";var A=r(20663).q.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(t,r,o){if("function"==typeof r)return e(t,null,r);r||(r={}),o=function(e){var t=!1;return function(r){t||(t=!0,e.call(this,r))}}(o||n);var i=t._writableState,s=t._readableState,a=r.readable||!1!==r.readable&&t.readable,c=r.writable||!1!==r.writable&&t.writable,g=function(){t.writable||l()},l=function(){c=!1,a||o.call(t)},u=function(){a=!1,c||o.call(t)},h=function(e){o.call(t,e)},p=function(){return(!a||s&&s.ended)&&(!c||i&&i.ended)?void 0:o.call(t,new A)},d=function(){t.req.on("finish",l)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?c&&!i&&(t.on("end",g),t.on("close",g)):(t.on("complete",l),t.on("abort",p),t.req?d():t.on("request",d)),t.on("end",u),t.on("finish",l),!1!==r.error&&t.on("error",h),t.on("close",p),function(){t.removeListener("complete",l),t.removeListener("abort",p),t.removeListener("request",d),t.req&&t.req.removeListener("finish",l),t.removeListener("end",g),t.removeListener("close",g),t.removeListener("finish",l),t.removeListener("end",u),t.removeListener("error",h),t.removeListener("close",p)}}},4939:(e,t,r)=>{"use strict";var A;var n=r(20663).q,o=n.ERR_MISSING_ARGS,i=n.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function a(e,t,n,o){o=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(o);var s=!1;e.on("close",(function(){s=!0})),void 0===A&&(A=r(91327)),A(e,{readable:t,writable:n},(function(e){if(e)return o(e);s=!0,o()}));var a=!1;return function(t){if(!s&&!a)return a=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(t||new i("pipe"))}}function c(e){e()}function g(e,t){return e.pipe(t)}function l(e){return e.length?"function"!=typeof e[e.length-1]?s:e.pop():s}e.exports=function(){for(var e=arguments.length,t=new Array(e),r=0;r0,(function(e){A||(A=e),e&&i.forEach(c),o||(i.forEach(c),n(A))}))}));return t.reduce(g)}},77433:(e,t,r)=>{"use strict";var A=r(20663).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,n){var o=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,n,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new A(n?r:"highWaterMark",o);return Math.floor(o)}return e.objectMode?16:16384}}},49298:(e,t,r)=>{e.exports=r(92413)},86897:(e,t,r)=>{var A=r(92413);"disable"===process.env.READABLE_STREAM&&A?(e.exports=A.Readable,Object.assign(e.exports,A),e.exports.Stream=A):((t=e.exports=r(58020)).Stream=A||t,t.Readable=t,t.Writable=r(6729),t.Duplex=r(72434),t.Transform=r(54801),t.PassThrough=r(52444),t.finished=r(91327),t.pipeline=r(4939))},19476:(e,t,r)=>{"use strict";const A=r(4016);e.exports=(e={})=>new Promise((t,r)=>{const n=A.connect(e,()=>{e.resolveSocket?(n.off("error",r),t({alpnProtocol:n.alpnProtocol,socket:n})):(n.destroy(),t({alpnProtocol:n.alpnProtocol}))});n.on("error",r)})},48491:(e,t,r)=>{"use strict";const A=r(92413).Readable,n=r(55737);e.exports=class extends A{constructor(e,t,r,A){if("number"!=typeof e)throw new TypeError("Argument `statusCode` should be a number");if("object"!=typeof t)throw new TypeError("Argument `headers` should be an object");if(!(r instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if("string"!=typeof A)throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=n(t),this.body=r,this.url=A}_read(){this.push(this.body),this.push(null)}}},2383:e=>{"use strict";e.exports=function(e){var t=new e,r=t;return{get:function(){var A=t;return A.next?t=A.next:(t=new e,r=t),A.next=null,A},release:function(e){r.next=e,r=e}}}},69078:e=>{e.exports=function(e,t){var r,A,n,o=!0;Array.isArray(e)?(r=[],A=e.length):(n=Object.keys(e),r={},A=n.length);function i(e){function A(){t&&t(e,r),t=null}o?process.nextTick(A):A()}function s(e,t,n){r[e]=n,(0==--A||t)&&i(t)}A?n?n.forEach((function(t){e[t]((function(e,r){s(t,e,r)}))})):e.forEach((function(e,t){e((function(e,r){s(t,e,r)}))})):i(null);o=!1}},13499:(e,t,r)=>{var A=r(64293),n=A.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function i(e,t,r){return n(e,t,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=A:(o(A,t),t.Buffer=i),o(n,i),i.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return n(e,t,r)},i.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var A=n(e);return void 0!==t?"string"==typeof r?A.fill(t,r):A.fill(t):A.fill(0),A},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return A.SlowBuffer(e)}},95584:(e,t)=>{var r;t=e.exports=l,r="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var A=Number.MAX_SAFE_INTEGER||9007199254740991,n=t.re=[],o=t.src=[],i=t.tokens={},s=0;function a(e){i[e]=s++}a("NUMERICIDENTIFIER"),o[i.NUMERICIDENTIFIER]="0|[1-9]\\d*",a("NUMERICIDENTIFIERLOOSE"),o[i.NUMERICIDENTIFIERLOOSE]="[0-9]+",a("NONNUMERICIDENTIFIER"),o[i.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",a("MAINVERSION"),o[i.MAINVERSION]="("+o[i.NUMERICIDENTIFIER]+")\\.("+o[i.NUMERICIDENTIFIER]+")\\.("+o[i.NUMERICIDENTIFIER]+")",a("MAINVERSIONLOOSE"),o[i.MAINVERSIONLOOSE]="("+o[i.NUMERICIDENTIFIERLOOSE]+")\\.("+o[i.NUMERICIDENTIFIERLOOSE]+")\\.("+o[i.NUMERICIDENTIFIERLOOSE]+")",a("PRERELEASEIDENTIFIER"),o[i.PRERELEASEIDENTIFIER]="(?:"+o[i.NUMERICIDENTIFIER]+"|"+o[i.NONNUMERICIDENTIFIER]+")",a("PRERELEASEIDENTIFIERLOOSE"),o[i.PRERELEASEIDENTIFIERLOOSE]="(?:"+o[i.NUMERICIDENTIFIERLOOSE]+"|"+o[i.NONNUMERICIDENTIFIER]+")",a("PRERELEASE"),o[i.PRERELEASE]="(?:-("+o[i.PRERELEASEIDENTIFIER]+"(?:\\."+o[i.PRERELEASEIDENTIFIER]+")*))",a("PRERELEASELOOSE"),o[i.PRERELEASELOOSE]="(?:-?("+o[i.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+o[i.PRERELEASEIDENTIFIERLOOSE]+")*))",a("BUILDIDENTIFIER"),o[i.BUILDIDENTIFIER]="[0-9A-Za-z-]+",a("BUILD"),o[i.BUILD]="(?:\\+("+o[i.BUILDIDENTIFIER]+"(?:\\."+o[i.BUILDIDENTIFIER]+")*))",a("FULL"),a("FULLPLAIN"),o[i.FULLPLAIN]="v?"+o[i.MAINVERSION]+o[i.PRERELEASE]+"?"+o[i.BUILD]+"?",o[i.FULL]="^"+o[i.FULLPLAIN]+"$",a("LOOSEPLAIN"),o[i.LOOSEPLAIN]="[v=\\s]*"+o[i.MAINVERSIONLOOSE]+o[i.PRERELEASELOOSE]+"?"+o[i.BUILD]+"?",a("LOOSE"),o[i.LOOSE]="^"+o[i.LOOSEPLAIN]+"$",a("GTLT"),o[i.GTLT]="((?:<|>)?=?)",a("XRANGEIDENTIFIERLOOSE"),o[i.XRANGEIDENTIFIERLOOSE]=o[i.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",a("XRANGEIDENTIFIER"),o[i.XRANGEIDENTIFIER]=o[i.NUMERICIDENTIFIER]+"|x|X|\\*",a("XRANGEPLAIN"),o[i.XRANGEPLAIN]="[v=\\s]*("+o[i.XRANGEIDENTIFIER]+")(?:\\.("+o[i.XRANGEIDENTIFIER]+")(?:\\.("+o[i.XRANGEIDENTIFIER]+")(?:"+o[i.PRERELEASE]+")?"+o[i.BUILD]+"?)?)?",a("XRANGEPLAINLOOSE"),o[i.XRANGEPLAINLOOSE]="[v=\\s]*("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[i.XRANGEIDENTIFIERLOOSE]+")(?:"+o[i.PRERELEASELOOSE]+")?"+o[i.BUILD]+"?)?)?",a("XRANGE"),o[i.XRANGE]="^"+o[i.GTLT]+"\\s*"+o[i.XRANGEPLAIN]+"$",a("XRANGELOOSE"),o[i.XRANGELOOSE]="^"+o[i.GTLT]+"\\s*"+o[i.XRANGEPLAINLOOSE]+"$",a("COERCE"),o[i.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",a("COERCERTL"),n[i.COERCERTL]=new RegExp(o[i.COERCE],"g"),a("LONETILDE"),o[i.LONETILDE]="(?:~>?)",a("TILDETRIM"),o[i.TILDETRIM]="(\\s*)"+o[i.LONETILDE]+"\\s+",n[i.TILDETRIM]=new RegExp(o[i.TILDETRIM],"g");a("TILDE"),o[i.TILDE]="^"+o[i.LONETILDE]+o[i.XRANGEPLAIN]+"$",a("TILDELOOSE"),o[i.TILDELOOSE]="^"+o[i.LONETILDE]+o[i.XRANGEPLAINLOOSE]+"$",a("LONECARET"),o[i.LONECARET]="(?:\\^)",a("CARETTRIM"),o[i.CARETTRIM]="(\\s*)"+o[i.LONECARET]+"\\s+",n[i.CARETTRIM]=new RegExp(o[i.CARETTRIM],"g");a("CARET"),o[i.CARET]="^"+o[i.LONECARET]+o[i.XRANGEPLAIN]+"$",a("CARETLOOSE"),o[i.CARETLOOSE]="^"+o[i.LONECARET]+o[i.XRANGEPLAINLOOSE]+"$",a("COMPARATORLOOSE"),o[i.COMPARATORLOOSE]="^"+o[i.GTLT]+"\\s*("+o[i.LOOSEPLAIN]+")$|^$",a("COMPARATOR"),o[i.COMPARATOR]="^"+o[i.GTLT]+"\\s*("+o[i.FULLPLAIN]+")$|^$",a("COMPARATORTRIM"),o[i.COMPARATORTRIM]="(\\s*)"+o[i.GTLT]+"\\s*("+o[i.LOOSEPLAIN]+"|"+o[i.XRANGEPLAIN]+")",n[i.COMPARATORTRIM]=new RegExp(o[i.COMPARATORTRIM],"g");a("HYPHENRANGE"),o[i.HYPHENRANGE]="^\\s*("+o[i.XRANGEPLAIN]+")\\s+-\\s+("+o[i.XRANGEPLAIN]+")\\s*$",a("HYPHENRANGELOOSE"),o[i.HYPHENRANGELOOSE]="^\\s*("+o[i.XRANGEPLAINLOOSE]+")\\s+-\\s+("+o[i.XRANGEPLAINLOOSE]+")\\s*$",a("STAR"),o[i.STAR]="(<|>)?=?\\s*\\*";for(var c=0;c256)return null;if(!(t.loose?n[i.LOOSE]:n[i.FULL]).test(e))return null;try{return new l(e,t)}catch(e){return null}}function l(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof l){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof l))return new l(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var o=e.trim().match(t.loose?n[i.LOOSE]:n[i.FULL]);if(!o)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>A||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,A){"string"==typeof r&&(A=r,r=void 0);try{return new l(e,r).inc(t,A).version}catch(e){return null}},t.diff=function(e,t){if(f(e,t))return null;var r=g(e),A=g(t),n="";if(r.prerelease.length||A.prerelease.length){n="pre";var o="prerelease"}for(var i in r)if(("major"===i||"minor"===i||"patch"===i)&&r[i]!==A[i])return n+i;return o},t.compareIdentifiers=h;var u=/^[0-9]+$/;function h(e,t){var r=u.test(e),A=u.test(t);return r&&A&&(e=+e,t=+t),e===t?0:r&&!A?-1:A&&!r?1:e0}function C(e,t,r){return p(e,t,r)<0}function f(e,t,r){return 0===p(e,t,r)}function I(e,t,r){return 0!==p(e,t,r)}function E(e,t,r){return p(e,t,r)>=0}function B(e,t,r){return p(e,t,r)<=0}function y(e,t,r,A){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return f(e,r,A);case"!=":return I(e,r,A);case">":return d(e,r,A);case">=":return E(e,r,A);case"<":return C(e,r,A);case"<=":return B(e,r,A);default:throw new TypeError("Invalid operator: "+t)}}function m(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof m){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof m))return new m(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===w?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return h(t,e)},t.major=function(e,t){return new l(e,t).major},t.minor=function(e,t){return new l(e,t).minor},t.patch=function(e,t){return new l(e,t).patch},t.compare=p,t.compareLoose=function(e,t){return p(e,t,!0)},t.compareBuild=function(e,t,r){var A=new l(e,r),n=new l(t,r);return A.compare(n)||A.compareBuild(n)},t.rcompare=function(e,t,r){return p(t,e,r)},t.sort=function(e,r){return e.sort((function(e,A){return t.compareBuild(e,A,r)}))},t.rsort=function(e,r){return e.sort((function(e,A){return t.compareBuild(A,e,r)}))},t.gt=d,t.lt=C,t.eq=f,t.neq=I,t.gte=E,t.lte=B,t.cmp=y,t.Comparator=m;var w={};function Q(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Q)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Q(e.raw,t);if(e instanceof m)return new Q(e.value,t);if(!(this instanceof Q))return new Q(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function D(e,t){for(var r=!0,A=e.slice(),n=A.pop();r&&A.length;)r=A.every((function(e){return n.intersects(e,t)})),n=A.pop();return r}function b(e){return!e||"x"===e.toLowerCase()||"*"===e}function v(e,t,r,A,n,o,i,s,a,c,g,l,u){return((t=b(r)?"":b(A)?">="+r+".0.0":b(n)?">="+r+"."+A+".0":">="+t)+" "+(s=b(a)?"":b(c)?"<"+(+a+1)+".0.0":b(g)?"<"+a+"."+(+c+1)+".0":l?"<="+a+"."+c+"."+g+"-"+l:"<="+s)).trim()}function S(e,t,A){for(var n=0;n0){var o=e[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function k(e,t,r){try{t=new Q(t,r)}catch(e){return!1}return t.test(e)}function K(e,t,r,A){var n,o,i,s,a;switch(e=new l(e,A),t=new Q(t,A),r){case">":n=d,o=B,i=C,s=">",a=">=";break;case"<":n=C,o=E,i=d,s="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(k(e,t,A))return!1;for(var c=0;c=0.0.0")),u=u||e,h=h||e,n(e.semver,u.semver,A)?u=e:i(e.semver,h.semver,A)&&(h=e)})),u.operator===s||u.operator===a)return!1;if((!h.operator||h.operator===s)&&o(e,h.semver))return!1;if(h.operator===a&&i(e,h.semver))return!1}return!0}m.prototype.parse=function(e){var t=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new l(r[2],this.options.loose):this.semver=w},m.prototype.toString=function(){return this.value},m.prototype.test=function(e){if(r("Comparator.test",e,this.options.loose),this.semver===w||e===w)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return y(e,this.operator,this.semver,this.options)},m.prototype.intersects=function(e,t){if(!(e instanceof m))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(r=new Q(e.value,t),k(this.value,r,t));if(""===e.operator)return""===e.value||(r=new Q(this.value,t),k(e.semver,r,t));var A=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,i=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=y(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),a=y(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return A||n||o&&i||s||a},t.Range=Q,Q.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},Q.prototype.toString=function(){return this.range},Q.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var A=t?n[i.HYPHENRANGELOOSE]:n[i.HYPHENRANGE];e=e.replace(A,v),r("hyphen replace",e),e=e.replace(n[i.COMPARATORTRIM],"$1$2$3"),r("comparator trim",e,n[i.COMPARATORTRIM]),e=(e=(e=e.replace(n[i.TILDETRIM],"$1~")).replace(n[i.CARETTRIM],"$1^")).split(/\s+/).join(" ");var o=t?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],s=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var A=t.loose?n[i.CARETLOOSE]:n[i.CARET];return e.replace(A,(function(t,A,n,o,i){var s;return r("caret",e,t,A,n,o,i),b(A)?s="":b(n)?s=">="+A+".0.0 <"+(+A+1)+".0.0":b(o)?s="0"===A?">="+A+"."+n+".0 <"+A+"."+(+n+1)+".0":">="+A+"."+n+".0 <"+(+A+1)+".0.0":i?(r("replaceCaret pr",i),s="0"===A?"0"===n?">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+n+"."+(+o+1):">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+(+n+1)+".0":">="+A+"."+n+"."+o+"-"+i+" <"+(+A+1)+".0.0"):(r("no pr"),s="0"===A?"0"===n?">="+A+"."+n+"."+o+" <"+A+"."+n+"."+(+o+1):">="+A+"."+n+"."+o+" <"+A+"."+(+n+1)+".0":">="+A+"."+n+"."+o+" <"+(+A+1)+".0.0"),r("caret return",s),s}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var A=t.loose?n[i.TILDELOOSE]:n[i.TILDE];return e.replace(A,(function(t,A,n,o,i){var s;return r("tilde",e,t,A,n,o,i),b(A)?s="":b(n)?s=">="+A+".0.0 <"+(+A+1)+".0.0":b(o)?s=">="+A+"."+n+".0 <"+A+"."+(+n+1)+".0":i?(r("replaceTilde pr",i),s=">="+A+"."+n+"."+o+"-"+i+" <"+A+"."+(+n+1)+".0"):s=">="+A+"."+n+"."+o+" <"+A+"."+(+n+1)+".0",r("tilde return",s),s}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var A=t.loose?n[i.XRANGELOOSE]:n[i.XRANGE];return e.replace(A,(function(A,n,o,i,s,a){r("xRange",e,A,n,o,i,s,a);var c=b(o),g=c||b(i),l=g||b(s),u=l;return"="===n&&u&&(n=""),a=t.includePrerelease?"-0":"",c?A=">"===n||"<"===n?"<0.0.0-0":"*":n&&u?(g&&(i=0),s=0,">"===n?(n=">=",g?(o=+o+1,i=0,s=0):(i=+i+1,s=0)):"<="===n&&(n="<",g?o=+o+1:i=+i+1),A=n+o+"."+i+"."+s+a):g?A=">="+o+".0.0"+a+" <"+(+o+1)+".0.0"+a:l&&(A=">="+o+"."+i+".0"+a+" <"+o+"."+(+i+1)+".0"+a),r("xRange return",A),A}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(n[i.STAR],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(s=s.filter((function(e){return!!e.match(o)}))),s=s.map((function(e){return new m(e,this.options)}),this)},Q.prototype.intersects=function(e,t){if(!(e instanceof Q))throw new TypeError("a Range is required");return this.set.some((function(r){return D(r,t)&&e.set.some((function(e){return D(e,t)&&r.every((function(r){return e.every((function(e){return r.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new Q(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},Q.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!d(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(r&&e.test(r))return r;return null},t.validRange=function(e,t){try{return new Q(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){return K(e,t,"<",r)},t.gtr=function(e,t,r){return K(e,t,">",r)},t.outside=K,t.prerelease=function(e,t){var r=g(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){return e=new Q(e,r),t=new Q(t,r),e.intersects(t)},t.coerce=function(e,t){if(e instanceof l)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var r=null;if((t=t||{}).rtl){for(var A;(A=n[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&A.index+A[0].length===r.index+r[0].length||(r=A),n[i.COERCERTL].lastIndex=A.index+A[1].length+A[2].length;n[i.COERCERTL].lastIndex=-1}else r=e.match(n[i.COERCE]);if(null===r)return null;return g(r[2]+"."+(r[3]||"0")+"."+(r[4]||"0"),t)}},29069:(e,t,r)=>{const A=Symbol("SemVer ANY");class n{static get ANY(){return A}constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}a("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===A?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(e){const t=this.options.loose?o[i.COMPARATORLOOSE]:o[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new c(r[2],this.options.loose):this.semver=A}toString(){return this.value}test(e){if(a("Comparator.test",e,this.options.loose),this.semver===A||e===A)return!0;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}return s(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new g(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new g(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),A=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,i=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=s(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=s(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||A||o&&i||a||c}}e.exports=n;const{re:o,t:i}=r(49439),s=r(38754),a=r(6029),c=r(14772),g=r(73004)},73004:(e,t,r)=>{class A{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof n)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const r=t?s[a.HYPHENRANGELOOSE]:s[a.HYPHENRANGE];e=e.replace(r,w(this.options.includePrerelease)),o("hyphen replace",e),e=e.replace(s[a.COMPARATORTRIM],c),o("comparator trim",e,s[a.COMPARATORTRIM]),e=(e=(e=e.replace(s[a.TILDETRIM],g)).replace(s[a.CARETTRIM],l)).split(/\s+/).join(" ");const A=t?s[a.COMPARATORLOOSE]:s[a.COMPARATOR];return e.split(" ").map(e=>h(e,this.options)).join(" ").split(/\s+/).map(e=>m(e,this.options)).filter(this.options.loose?e=>!!e.match(A):()=>!0).map(e=>new n(e,this.options))}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>u(r,t)&&e.set.some(e=>u(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new i(e,this.options)}catch(e){return!1}for(let t=0;t{let r=!0;const A=e.slice();let n=A.pop();for(;r&&A.length;)r=A.every(e=>n.intersects(e,t)),n=A.pop();return r},h=(e,t)=>(o("comp",e,t),e=f(e,t),o("caret",e),e=d(e,t),o("tildes",e),e=E(e,t),o("xrange",e),e=y(e,t),o("stars",e),e),p=e=>!e||"x"===e.toLowerCase()||"*"===e,d=(e,t)=>e.trim().split(/\s+/).map(e=>C(e,t)).join(" "),C=(e,t)=>{const r=t.loose?s[a.TILDELOOSE]:s[a.TILDE];return e.replace(r,(t,r,A,n,i)=>{let s;return o("tilde",e,t,r,A,n,i),p(r)?s="":p(A)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:p(n)?s=`>=${r}.${A}.0 <${r}.${+A+1}.0-0`:i?(o("replaceTilde pr",i),s=`>=${r}.${A}.${n}-${i} <${r}.${+A+1}.0-0`):s=`>=${r}.${A}.${n} <${r}.${+A+1}.0-0`,o("tilde return",s),s})},f=(e,t)=>e.trim().split(/\s+/).map(e=>I(e,t)).join(" "),I=(e,t)=>{o("caret",e,t);const r=t.loose?s[a.CARETLOOSE]:s[a.CARET],A=t.includePrerelease?"-0":"";return e.replace(r,(t,r,n,i,s)=>{let a;return o("caret",e,t,r,n,i,s),p(r)?a="":p(n)?a=`>=${r}.0.0${A} <${+r+1}.0.0-0`:p(i)?a="0"===r?`>=${r}.${n}.0${A} <${r}.${+n+1}.0-0`:`>=${r}.${n}.0${A} <${+r+1}.0.0-0`:s?(o("replaceCaret pr",s),a="0"===r?"0"===n?`>=${r}.${n}.${i}-${s} <${r}.${n}.${+i+1}-0`:`>=${r}.${n}.${i}-${s} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${i}-${s} <${+r+1}.0.0-0`):(o("no pr"),a="0"===r?"0"===n?`>=${r}.${n}.${i}${A} <${r}.${n}.${+i+1}-0`:`>=${r}.${n}.${i}${A} <${r}.${+n+1}.0-0`:`>=${r}.${n}.${i} <${+r+1}.0.0-0`),o("caret return",a),a})},E=(e,t)=>(o("replaceXRanges",e,t),e.split(/\s+/).map(e=>B(e,t)).join(" ")),B=(e,t)=>{e=e.trim();const r=t.loose?s[a.XRANGELOOSE]:s[a.XRANGE];return e.replace(r,(r,A,n,i,s,a)=>{o("xRange",e,r,A,n,i,s,a);const c=p(n),g=c||p(i),l=g||p(s),u=l;return"="===A&&u&&(A=""),a=t.includePrerelease?"-0":"",c?r=">"===A||"<"===A?"<0.0.0-0":"*":A&&u?(g&&(i=0),s=0,">"===A?(A=">=",g?(n=+n+1,i=0,s=0):(i=+i+1,s=0)):"<="===A&&(A="<",g?n=+n+1:i=+i+1),"<"===A&&(a="-0"),r=`${A+n}.${i}.${s}${a}`):g?r=`>=${n}.0.0${a} <${+n+1}.0.0-0`:l&&(r=`>=${n}.${i}.0${a} <${n}.${+i+1}.0-0`),o("xRange return",r),r})},y=(e,t)=>(o("replaceStars",e,t),e.trim().replace(s[a.STAR],"")),m=(e,t)=>(o("replaceGTE0",e,t),e.trim().replace(s[t.includePrerelease?a.GTE0PRE:a.GTE0],"")),w=e=>(t,r,A,n,o,i,s,a,c,g,l,u,h)=>`${r=p(A)?"":p(n)?`>=${A}.0.0${e?"-0":""}`:p(o)?`>=${A}.${n}.0${e?"-0":""}`:i?">="+r:`>=${r}${e?"-0":""}`} ${a=p(c)?"":p(g)?`<${+c+1}.0.0-0`:p(l)?`<${c}.${+g+1}.0-0`:u?`<=${c}.${g}.${l}-${u}`:e?`<${c}.${g}.${+l+1}-0`:"<="+a}`.trim(),Q=(e,t,r)=>{for(let r=0;r0){const A=e[r].semver;if(A.major===t.major&&A.minor===t.minor&&A.patch===t.patch)return!0}return!1}return!0}},14772:(e,t,r)=>{const A=r(6029),{MAX_LENGTH:n,MAX_SAFE_INTEGER:o}=r(76483),{re:i,t:s}=r(49439),{compareIdentifiers:a}=r(99297);class c{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>n)throw new TypeError(`version is longer than ${n} characters`);A("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?i[s.LOOSE]:i[s.FULL]);if(!r)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this}}e.exports=c},31192:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},38754:(e,t,r)=>{const A=r(78760),n=r(83286),o=r(26544),i=r(44984),s=r(65069),a=r(93845);e.exports=(e,t,r,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return A(e,r,c);case"!=":return n(e,r,c);case">":return o(e,r,c);case">=":return i(e,r,c);case"<":return s(e,r,c);case"<=":return a(e,r,c);default:throw new TypeError("Invalid operator: "+t)}}},38113:(e,t,r)=>{const A=r(14772),n=r(21883),{re:o,t:i}=r(49439);e.exports=(e,t)=>{if(e instanceof A)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=o[i.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),o[i.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;o[i.COERCERTL].lastIndex=-1}else r=e.match(o[i.COERCE]);return null===r?null:n(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)}},63353:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r)=>{const n=new A(e,r),o=new A(t,r);return n.compare(o)||n.compareBuild(o)}},58566:(e,t,r)=>{const A=r(17340);e.exports=(e,t)=>A(e,t,!0)},17340:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r)=>new A(e,r).compare(new A(t,r))},29301:(e,t,r)=>{const A=r(21883),n=r(78760);e.exports=(e,t)=>{if(n(e,t))return null;{const r=A(e),n=A(t),o=r.prerelease.length||n.prerelease.length,i=o?"pre":"",s=o?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==n[e])return i+e;return s}}},78760:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>0===A(e,t,r)},26544:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)>0},44984:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)>=0},24063:(e,t,r)=>{const A=r(14772);e.exports=(e,t,r,n)=>{"string"==typeof r&&(n=r,r=void 0);try{return new A(e,r).inc(t,n).version}catch(e){return null}}},65069:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)<0},93845:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(e,t,r)<=0},75157:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).major},5195:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).minor},83286:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>0!==A(e,t,r)},21883:(e,t,r)=>{const{MAX_LENGTH:A}=r(76483),{re:n,t:o}=r(49439),i=r(14772);e.exports=(e,t)=>{if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof i)return e;if("string"!=typeof e)return null;if(e.length>A)return null;if(!(t.loose?n[o.LOOSE]:n[o.FULL]).test(e))return null;try{return new i(e,t)}catch(e){return null}}},39592:(e,t,r)=>{const A=r(14772);e.exports=(e,t)=>new A(e,t).patch},27050:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e,t);return r&&r.prerelease.length?r.prerelease:null}},93788:(e,t,r)=>{const A=r(17340);e.exports=(e,t,r)=>A(t,e,r)},15213:(e,t,r)=>{const A=r(63353);e.exports=(e,t)=>e.sort((e,r)=>A(r,e,t))},73011:(e,t,r)=>{const A=r(73004);e.exports=(e,t,r)=>{try{t=new A(t,r)}catch(e){return!1}return t.test(e)}},71102:(e,t,r)=>{const A=r(63353);e.exports=(e,t)=>e.sort((e,r)=>A(e,r,t))},99589:(e,t,r)=>{const A=r(21883);e.exports=(e,t)=>{const r=A(e,t);return r?r.version:null}},53887:(e,t,r)=>{const A=r(49439);e.exports={re:A.re,src:A.src,tokens:A.t,SEMVER_SPEC_VERSION:r(76483).SEMVER_SPEC_VERSION,SemVer:r(14772),compareIdentifiers:r(99297).compareIdentifiers,rcompareIdentifiers:r(99297).rcompareIdentifiers,parse:r(21883),valid:r(99589),clean:r(31192),inc:r(24063),diff:r(29301),major:r(75157),minor:r(5195),patch:r(39592),prerelease:r(27050),compare:r(17340),rcompare:r(93788),compareLoose:r(58566),compareBuild:r(63353),sort:r(71102),rsort:r(15213),gt:r(26544),lt:r(65069),eq:r(78760),neq:r(83286),gte:r(44984),lte:r(93845),cmp:r(38754),coerce:r(38113),Comparator:r(29069),Range:r(73004),satisfies:r(73011),toComparators:r(47753),maxSatisfying:r(1895),minSatisfying:r(33252),minVersion:r(4224),validRange:r(44315),outside:r(842),gtr:r(69258),ltr:r(36928),intersects:r(87395),simplifyRange:r(3530),subset:r(74264)}},76483:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},6029:e=>{const t="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},99297:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const A=t.test(e),n=t.test(r);return A&&n&&(e=+e,r=+r),e===r?0:A&&!n?-1:n&&!A?1:er(t,e)}},49439:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:A}=r(76483),n=r(6029),o=(t=e.exports={}).re=[],i=t.src=[],s=t.t={};let a=0;const c=(e,t,r)=>{const A=a++;n(A,t),s[e]=A,i[A]=t,o[A]=new RegExp(t,r?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),c("FULL",`^${i[s.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),c("LOOSE",`^${i[s.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",i[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*"),c("XRANGEIDENTIFIER",i[s.NUMERICIDENTIFIER]+"|x|X|\\*"),c("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),c("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${A}})(?:\\.(\\d{1,${A}}))?(?:\\.(\\d{1,${A}}))?(?:$|[^\\d])`),c("COERCERTL",i[s.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},69258:(e,t,r)=>{const A=r(842);e.exports=(e,t,r)=>A(e,t,">",r)},87395:(e,t,r)=>{const A=r(73004);e.exports=(e,t,r)=>(e=new A(e,r),t=new A(t,r),e.intersects(t))},36928:(e,t,r)=>{const A=r(842);e.exports=(e,t,r)=>A(e,t,"<",r)},1895:(e,t,r)=>{const A=r(14772),n=r(73004);e.exports=(e,t,r)=>{let o=null,i=null,s=null;try{s=new n(t,r)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(o&&-1!==i.compare(e)||(o=e,i=new A(o,r)))}),o}},33252:(e,t,r)=>{const A=r(14772),n=r(73004);e.exports=(e,t,r)=>{let o=null,i=null,s=null;try{s=new n(t,r)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(o&&1!==i.compare(e)||(o=e,i=new A(o,r)))}),o}},4224:(e,t,r)=>{const A=r(14772),n=r(73004),o=r(26544);e.exports=(e,t)=>{e=new n(e,t);let r=new A("0.0.0");if(e.test(r))return r;if(r=new A("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new A(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!o(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}return r&&e.test(r)?r:null}},842:(e,t,r)=>{const A=r(14772),n=r(29069),{ANY:o}=n,i=r(73004),s=r(73011),a=r(26544),c=r(65069),g=r(93845),l=r(44984);e.exports=(e,t,r,u)=>{let h,p,d,C,f;switch(e=new A(e,u),t=new i(t,u),r){case">":h=a,p=g,d=c,C=">",f=">=";break;case"<":h=c,p=l,d=a,C="<",f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,u))return!1;for(let r=0;r{e.semver===o&&(e=new n(">=0.0.0")),i=i||e,s=s||e,h(e.semver,i.semver,u)?i=e:d(e.semver,s.semver,u)&&(s=e)}),i.operator===C||i.operator===f)return!1;if((!s.operator||s.operator===C)&&p(e,s.semver))return!1;if(s.operator===f&&d(e,s.semver))return!1}return!0}},3530:(e,t,r)=>{const A=r(73011),n=r(17340);e.exports=(e,t,r)=>{const o=[];let i=null,s=null;const a=e.sort((e,t)=>n(e,t,r));for(const e of a){A(e,t,r)?(s=e,i||(i=e)):(s&&o.push([i,s]),s=null,i=null)}i&&o.push([i,null]);const c=[];for(const[e,t]of o)e===t?c.push(e):t||e!==a[0]?t?e===a[0]?c.push("<="+t):c.push(`${e} - ${t}`):c.push(">="+e):c.push("*");const g=c.join(" || "),l="string"==typeof t.raw?t.raw:String(t);return g.length{const A=r(73004),{ANY:n}=r(29069),o=r(73011),i=r(17340),s=(e,t,r)=>{if(1===e.length&&e[0].semver===n)return 1===t.length&&t[0].semver===n;const A=new Set;let s,g,l,u,h,p,d;for(const t of e)">"===t.operator||">="===t.operator?s=a(s,t,r):"<"===t.operator||"<="===t.operator?g=c(g,t,r):A.add(t.semver);if(A.size>1)return null;if(s&&g){if(l=i(s.semver,g.semver,r),l>0)return null;if(0===l&&(">="!==s.operator||"<="!==g.operator))return null}for(const e of A){if(s&&!o(e,String(s),r))return null;if(g&&!o(e,String(g),r))return null;for(const A of t)if(!o(e,String(A),r))return!1;return!0}for(const e of t){if(d=d||">"===e.operator||">="===e.operator,p=p||"<"===e.operator||"<="===e.operator,s)if(">"===e.operator||">="===e.operator){if(u=a(s,e,r),u===e)return!1}else if(">="===s.operator&&!o(s.semver,String(e),r))return!1;if(g)if("<"===e.operator||"<="===e.operator){if(h=c(g,e,r),h===e)return!1}else if("<="===g.operator&&!o(g.semver,String(e),r))return!1;if(!e.operator&&(g||s)&&0!==l)return!1}return!(s&&p&&!g&&0!==l)&&!(g&&d&&!s&&0!==l)},a=(e,t,r)=>{if(!e)return t;const A=i(e.semver,t.semver,r);return A>0?e:A<0||">"===t.operator&&">="===e.operator?t:e},c=(e,t,r)=>{if(!e)return t;const A=i(e.semver,t.semver,r);return A<0?e:A>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r)=>{e=new A(e,r),t=new A(t,r);let n=!1;e:for(const A of e.set){for(const e of t.set){const t=s(A,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0}},47753:(e,t,r)=>{const A=r(73004);e.exports=(e,t)=>new A(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))},44315:(e,t,r)=>{const A=r(73004);e.exports=(e,t)=>{try{return new A(e,t).range||"*"}catch(e){return null}}},91470:(e,t,r)=>{"use strict";const A=r(67719);e.exports=(e="")=>{const t=e.match(A);if(!t)return null;const[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return"env"===o?n:n?`${o} ${n}`:o}},67719:e=>{"use strict";e.exports=/^#!(.*)/},17234:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},10129:(e,t,r)=>{"use strict";const A=r(76417),n=r(19184),o=r(92413).Transform,i=["sha256","sha384","sha512"],s=/^[a-z0-9+/]+(?:=?=?)$/i,a=/^([^-]+)-([^?]+)([?\S*]*)$/,c=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,g=/^[\x21-\x7E]+$/,l=n({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>B},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}});class u{get isHash(){return!0}constructor(e,t){const r=!!(t=l(t)).strict;this.source=e.trim();const A=this.source.match(r?c:a);if(!A)return;if(r&&!i.some(e=>e===A[1]))return;this.algorithm=A[1],this.digest=A[2];const n=A[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if((e=l(e)).strict&&!(i.some(e=>e===this.algorithm)&&this.digest.match(s)&&(this.options||[]).every(e=>e.match(g))))return"";const t=this.options&&this.options.length?"?"+this.options.join("?"):"";return`${this.algorithm}-${this.digest}${t}`}}class h{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){let t=(e=l(e)).sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(r=>this[r].map(t=>u.prototype.toString.call(t,e)).filter(e=>e.length).join(t)).filter(e=>e.length).join(t)}concat(e,t){t=l(t);const r="string"==typeof e?e:C(e,t);return p(`${this.toString(t)} ${r}`,t)}hexDigest(){return p(this,{single:!0}).hexDigest()}match(e,t){const r=p(e,t=l(t)),A=r.pickAlgorithm(t);return this[A]&&r[A]&&this[A].find(e=>r[A].find(t=>e.digest===t.digest))||!1}pickAlgorithm(e){const t=(e=l(e)).pickAlgorithm,r=Object.keys(this);if(!r.length)throw new Error("No algorithms available for "+JSON.stringify(this.toString()));return r.reduce((e,r)=>t(e,r)||e)}}function p(e,t){if(t=l(t),"string"==typeof e)return d(e,t);if(e.algorithm&&e.digest){const r=new h;return r[e.algorithm]=[e],d(C(r,t),t)}return d(C(e,t),t)}function d(e,t){return t.single?new u(e,t):e.trim().split(/\s+/).reduce((e,r)=>{const A=new u(r,t);if(A.algorithm&&A.digest){const t=A.algorithm;e[t]||(e[t]=[]),e[t].push(A)}return e},new h)}function C(e,t){return t=l(t),e.algorithm&&e.digest?u.prototype.toString.call(e,t):"string"==typeof e?C(p(e,t),t):h.prototype.toString.call(e,t)}function f(e){const t=(e=l(e)).integrity&&p(e.integrity,e),r=t&&Object.keys(t).length,n=r&&t.pickAlgorithm(e),i=r&&t[n],s=Array.from(new Set(e.algorithms.concat(n?[n]:[]))),a=s.map(A.createHash);let c=0;const g=new o({transform(e,t,r){c+=e.length,a.forEach(r=>r.update(e,t)),r(null,e,t)}}).on("end",()=>{const A=e.options&&e.options.length?"?"+e.options.join("?"):"",o=p(a.map((e,t)=>`${s[t]}-${e.digest("base64")}${A}`).join(" "),e),l=r&&o.match(t,e);if("number"==typeof e.size&&c!==e.size){const r=new Error(`stream size mismatch when checking ${t}.\n Wanted: ${e.size}\n Found: ${c}`);r.code="EBADSIZE",r.found=c,r.expected=e.size,r.sri=t,g.emit("error",r)}else if(e.integrity&&!l){const e=new Error(`${t} integrity checksum failed when using ${n}: wanted ${i} but got ${o}. (${c} bytes)`);e.code="EINTEGRITY",e.found=o,e.expected=i,e.algorithm=n,e.sri=t,g.emit("error",e)}else g.emit("size",c),g.emit("integrity",o),l&&g.emit("verified",l)});return g}e.exports.Sd=function(e,t){const r=(t=l(t)).algorithms,n=t.options&&t.options.length?"?"+t.options.join("?"):"";return r.reduce((r,o)=>{const i=A.createHash(o).update(e).digest("base64"),s=new u(`${o}-${i}${n}`,t);if(s.algorithm&&s.digest){const e=s.algorithm;r[e]||(r[e]=[]),r[e].push(s)}return r},new h)};const I=new Set(A.getHashes()),E=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>I.has(e));function B(e,t){return E.indexOf(e.toLowerCase())>=E.indexOf(t.toLowerCase())?e:t}},69538:(e,t,r)=>{"use strict";var A=r(13499).Buffer,n=A.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(A.isEncoding===n||!n(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=a,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=g,this.end=l,t=3;break;default:return this.write=u,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=A.allocUnsafe(t)}function i(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var A=r.charCodeAt(r.length-1);if(A>=55296&&A<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function g(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.s=o,o.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return n>0&&(e.lastNeed=n-1),n;if(--A=0)return n>0&&(e.lastNeed=n-2),n;if(--A=0)return n>0&&(2===n?n=0:e.lastNeed=n-3),n;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var A=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,A),e.toString("utf8",t,A)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},59428:(e,t,r)=>{"use strict";const A=r(12087),n=r(33867),o=r(72918),{env:i}=process;let s;function a(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function c(e,t){if(0===s)return 0;if(o("color=16m")||o("color=full")||o("color=truecolor"))return 3;if(o("color=256"))return 2;if(e&&!t&&void 0===s)return 0;const r=s||0;if("dumb"===i.TERM)return r;if("win32"===process.platform){const e=A.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in i)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in i)||"codeship"===i.CI_NAME?1:r;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in i)return 1;if("truecolor"===i.COLORTERM)return 3;if("TERM_PROGRAM"in i){const e=parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:r}o("no-color")||o("no-colors")||o("color=false")||o("color=never")?s=0:(o("color")||o("colors")||o("color=true")||o("color=always"))&&(s=1),"FORCE_COLOR"in i&&(s="true"===i.FORCE_COLOR?1:"false"===i.FORCE_COLOR?0:0===i.FORCE_COLOR.length?1:Math.min(parseInt(i.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return a(c(e,e&&e.isTTY))},stdout:a(c(!0,n.isatty(1))),stderr:a(c(!0,n.isatty(2)))}},93255:e=>{"use strict";function t(e){return Array.prototype.slice.apply(e)}function r(e){this.status="pending",this._continuations=[],this._parent=null,this._paused=!1,e&&e.call(this,this._continueWith.bind(this),this._failWith.bind(this))}function A(e){return e&&"function"==typeof e.then}function n(e){return e}if(r.prototype={then:function(e,t){var n=r.unresolved()._setParent(this);if(this._isRejected()){if(this._paused)return this._continuations.push({promise:n,nextFn:e,catchFn:t}),n;if(t)try{var o=t(this._error);return A(o)?(this._chainPromiseData(o,n),n):r.resolve(o)._setParent(this)}catch(e){return r.reject(e)._setParent(this)}return r.reject(this._error)._setParent(this)}return this._continuations.push({promise:n,nextFn:e,catchFn:t}),this._runResolutions(),n},catch:function(e){if(this._isResolved())return r.resolve(this._data)._setParent(this);var t=r.unresolved()._setParent(this);return this._continuations.push({promise:t,catchFn:e}),this._runRejections(),t},finally:function(e){var t=!1;function r(r,o){if(!t){t=!0,e||(e=n);var i=e(r);return A(i)?i.then((function(){if(o)throw o;return r})):r}}return this.then((function(e){return r(e)})).catch((function(e){return r(null,e)}))},pause:function(){return this._paused=!0,this},resume:function(){var e=this._findFirstPaused();return e&&(e._paused=!1,e._runResolutions(),e._runRejections()),this},_findAncestry:function(){return this._continuations.reduce((function(e,t){if(t.promise){var r={promise:t.promise,children:t.promise._findAncestry()};e.push(r)}return e}),[])},_setParent:function(e){if(this._parent)throw new Error("parent already set");return this._parent=e,this},_continueWith:function(e){var t=this._findFirstPending();t&&(t._data=e,t._setResolved())},_findFirstPending:function(){return this._findFirstAncestor((function(e){return e._isPending&&e._isPending()}))},_findFirstPaused:function(){return this._findFirstAncestor((function(e){return e._paused}))},_findFirstAncestor:function(e){for(var t,r=this;r;)e(r)&&(t=r),r=r._parent;return t},_failWith:function(e){var t=this._findFirstPending();t&&(t._error=e,t._setRejected())},_takeContinuations:function(){return this._continuations.splice(0,this._continuations.length)},_runRejections:function(){if(!this._paused&&this._isRejected()){var e=this._error,t=this._takeContinuations(),r=this;t.forEach((function(t){if(t.catchFn)try{var A=t.catchFn(e);r._handleUserFunctionResult(A,t.promise)}catch(e){t.promise.reject(e)}else t.promise.reject(e)}))}},_runResolutions:function(){if(!this._paused&&this._isResolved()&&!this._isPending()){var e=this._takeContinuations();if(A(this._data))return this._handleWhenResolvedDataIsPromise(this._data);var t=this._data,r=this;e.forEach((function(e){if(e.nextFn)try{var A=e.nextFn(t);r._handleUserFunctionResult(A,e.promise)}catch(t){r._handleResolutionError(t,e)}else e.promise&&e.promise.resolve(t)}))}},_handleResolutionError:function(e,t){if(this._setRejected(),t.catchFn)try{return void t.catchFn(e)}catch(t){e=t}t.promise&&t.promise.reject(e)},_handleWhenResolvedDataIsPromise:function(e){var t=this;return e.then((function(e){t._data=e,t._runResolutions()})).catch((function(e){t._error=e,t._setRejected(),t._runRejections()}))},_handleUserFunctionResult:function(e,t){A(e)?this._chainPromiseData(e,t):t.resolve(e)},_chainPromiseData:function(e,t){e.then((function(e){t.resolve(e)})).catch((function(e){t.reject(e)}))},_setResolved:function(){this.status="resolved",this._paused||this._runResolutions()},_setRejected:function(){this.status="rejected",this._paused||this._runRejections()},_isPending:function(){return"pending"===this.status},_isResolved:function(){return"resolved"===this.status},_isRejected:function(){return"rejected"===this.status}},r.resolve=function(e){return new r((function(t,r){A(e)?e.then((function(e){t(e)})).catch((function(e){r(e)})):t(e)}))},r.reject=function(e){return new r((function(t,r){r(e)}))},r.unresolved=function(){return new r((function(e,t){this.resolve=e,this.reject=t}))},r.all=function(){var e=t(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new r((function(t,A){var n=[],o=0,i=!1;e.forEach((function(s,a){r.resolve(s).then((function(r){n[a]=r,(o+=1)===e.length&&t(n)})).catch((function(e){!function(e){i||(i=!0,A(e))}(e)}))}))})):r.resolve([])},Promise===r)throw new Error("Please use SynchronousPromise.installGlobally() to install globally");var o=Promise;r.installGlobally=function(e){if(Promise===r)return e;var A=function(e){if(void 0===e||e.__patched)return e;var r=e;return(e=function(){r.apply(this,t(arguments))}).__patched=!0,e}(e);return Promise=r,A},r.uninstallGlobally=function(){Promise===r&&(Promise=o)},e.exports={SynchronousPromise:r}},75799:(e,t,r)=>{var A=r(31669),n=r(73975),o=r(77686),i=r(86897).Writable,s=r(86897).PassThrough,a=function(){},c=function(e){return(e&=511)&&512-e},g=function(e,t){this._parent=e,this.offset=t,s.call(this)};A.inherits(g,s),g.prototype.destroy=function(e){this._parent.destroy(e)};var l=function(e){if(!(this instanceof l))return new l(e);i.call(this,e),e=e||{},this._offset=0,this._buffer=n(),this._missing=0,this._partial=!1,this._onparse=a,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var t=this,r=t._buffer,A=function(){t._continue()},s=function(e){if(t._locked=!1,e)return t.destroy(e);t._stream||A()},u=function(){t._stream=null;var e=c(t._header.size);e?t._parse(e,h):t._parse(512,I),t._locked||A()},h=function(){t._buffer.consume(c(t._header.size)),t._parse(512,I),A()},p=function(){var e=t._header.size;t._paxGlobal=o.decodePax(r.slice(0,e)),r.consume(e),u()},d=function(){var e=t._header.size;t._pax=o.decodePax(r.slice(0,e)),t._paxGlobal&&(t._pax=Object.assign({},t._paxGlobal,t._pax)),r.consume(e),u()},C=function(){var A=t._header.size;this._gnuLongPath=o.decodeLongPath(r.slice(0,A),e.filenameEncoding),r.consume(A),u()},f=function(){var A=t._header.size;this._gnuLongLinkPath=o.decodeLongPath(r.slice(0,A),e.filenameEncoding),r.consume(A),u()},I=function(){var n,i=t._offset;try{n=t._header=o.decode(r.slice(0,512),e.filenameEncoding)}catch(e){t.emit("error",e)}return r.consume(512),n?"gnu-long-path"===n.type?(t._parse(n.size,C),void A()):"gnu-long-link-path"===n.type?(t._parse(n.size,f),void A()):"pax-global-header"===n.type?(t._parse(n.size,p),void A()):"pax-header"===n.type?(t._parse(n.size,d),void A()):(t._gnuLongPath&&(n.name=t._gnuLongPath,t._gnuLongPath=null),t._gnuLongLinkPath&&(n.linkname=t._gnuLongLinkPath,t._gnuLongLinkPath=null),t._pax&&(t._header=n=function(e,t){return t.path&&(e.name=t.path),t.linkpath&&(e.linkname=t.linkpath),t.size&&(e.size=parseInt(t.size,10)),e.pax=t,e}(n,t._pax),t._pax=null),t._locked=!0,n.size&&"directory"!==n.type?(t._stream=new g(t,i),t.emit("entry",n,t._stream,s),t._parse(n.size,u),void A()):(t._parse(512,I),void t.emit("entry",n,function(e,t){var r=new g(e,t);return r.end(),r}(t,i),s))):(t._parse(512,I),void A())};this._onheader=I,this._parse(512,I)};A.inherits(l,i),l.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))},l.prototype._parse=function(e,t){this._destroyed||(this._offset+=e,this._missing=e,t===this._onheader&&(this._partial=!1),this._onparse=t)},l.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=a,this._overflow?this._write(this._overflow,void 0,e):e()}},l.prototype._write=function(e,t,r){if(!this._destroyed){var A=this._stream,n=this._buffer,o=this._missing;if(e.length&&(this._partial=!0),e.lengtho&&(i=e.slice(o),e=e.slice(0,o)),A?A.end(e):n.append(e),this._overflow=i,this._onparse()}},l.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()},e.exports=l},77686:(e,t)=>{var r=Buffer.alloc,A="0".charCodeAt(0),n=parseInt("7777",8),o=function(e,t,r,A){for(;rt?"7777777777777777777".slice(0,t)+" ":"0000000000000000000".slice(0,t-e.length)+e+" "};var a=function(e,t,r){if(128&(e=e.slice(t,t+r))[t=0])return function(e){var t;if(128===e[0])t=!0;else{if(255!==e[0])return null;t=!1}for(var r=!1,A=[],n=e.length-1;n>0;n--){var o=e[n];t?A.push(o):r&&0===o?A.push(0):r?(r=!1,A.push(256-o)):A.push(255-o)}var i=0,s=A.length;for(n=0;n=i?i:n>=0||(n+=i)>=0?n:0);t=Math.pow(10,r)&&r++,t+r+e};t.decodeLongPath=function(e,t){return c(e,0,e.length,t)},t.encodePax=function(e){var t="";e.name&&(t+=g(" path="+e.name+"\n")),e.linkname&&(t+=g(" linkpath="+e.linkname+"\n"));var r=e.pax;if(r)for(var A in r)t+=g(" "+A+"="+r[A]+"\n");return Buffer.from(t)},t.decodePax=function(e){for(var t={};e.length;){for(var r=0;r100;){var c=o.indexOf("/");if(-1===c)return null;a+=a?"/"+o.slice(0,c):o.slice(0,c),o=o.slice(c+1)}return Buffer.byteLength(o)>100||Buffer.byteLength(a)>155||e.linkname&&Buffer.byteLength(e.linkname)>100?null:(t.write(o),t.write(s(e.mode&n,6),100),t.write(s(e.uid,6),108),t.write(s(e.gid,6),116),t.write(s(e.size,11),124),t.write(s(e.mtime.getTime()/1e3|0,11),136),t[156]=A+function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}(e.type),e.linkname&&t.write(e.linkname,157),t.write("ustar\x0000",257),e.uname&&t.write(e.uname,265),e.gname&&t.write(e.gname,297),t.write(s(e.devmajor||0,6),329),t.write(s(e.devminor||0,6),337),a&&t.write(a,345),t.write(s(i(t),6),148),t)},t.decode=function(e,t){var r=0===e[156]?0:e[156]-A,n=c(e,0,100,t),o=a(e,100,8),s=a(e,108,8),g=a(e,116,8),l=a(e,124,12),u=a(e,136,12),h=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}(r),p=0===e[157]?null:c(e,157,100,t),d=c(e,265,32),C=c(e,297,32),f=a(e,329,8),I=a(e,337,8);e[345]&&(n=c(e,345,155,t)+"/"+n),0===r&&n&&"/"===n[n.length-1]&&(r=5);var E=i(e);if(256===E)return null;if(E!==a(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");return{name:n,mode:o,uid:s,gid:g,size:l,mtime:new Date(1e3*u),type:h,linkname:p,uname:d,gname:C,devmajor:f,devminor:I}}},59938:(e,t,r)=>{t.extract=r(75799),t.pack=r(72203)},72203:(e,t,r)=>{var A=r(13302),n=r(17067),o=r(85870),i=Buffer.alloc,s=r(86897).Readable,a=r(86897).Writable,c=r(24304).StringDecoder,g=r(77686),l=parseInt("755",8),u=parseInt("644",8),h=i(1024),p=function(){},d=function(e,t){(t&=511)&&e.push(h.slice(0,512-t))};var C=function(e){a.call(this),this.written=0,this._to=e,this._destroyed=!1};o(C,a),C.prototype._write=function(e,t,r){if(this.written+=e.length,this._to.push(e))return r();this._to._drain=r},C.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var f=function(){a.call(this),this.linkname="",this._decoder=new c("utf-8"),this._destroyed=!1};o(f,a),f.prototype._write=function(e,t,r){this.linkname+=this._decoder.write(e),r()},f.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var I=function(){a.call(this),this._destroyed=!1};o(I,a),I.prototype._write=function(e,t,r){r(new Error("No body allowed for this entry"))},I.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var E=function(e){if(!(this instanceof E))return new E(e);s.call(this,e),this._drain=p,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};o(E,s),E.prototype.entry=function(e,t,r){if(this._stream)throw new Error("already piping an entry");if(!this._finalized&&!this._destroyed){"function"==typeof t&&(r=t,t=null),r||(r=p);var o=this;if(e.size&&"symlink"!==e.type||(e.size=0),e.type||(e.type=function(e){switch(e&A.S_IFMT){case A.S_IFBLK:return"block-device";case A.S_IFCHR:return"character-device";case A.S_IFDIR:return"directory";case A.S_IFIFO:return"fifo";case A.S_IFLNK:return"symlink"}return"file"}(e.mode)),e.mode||(e.mode="directory"===e.type?l:u),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),"string"==typeof t&&(t=Buffer.from(t)),Buffer.isBuffer(t))return e.size=t.length,this._encode(e),this.push(t),d(o,e.size),process.nextTick(r),new I;if("symlink"===e.type&&!e.linkname){var i=new f;return n(i,(function(t){if(t)return o.destroy(),r(t);e.linkname=i.linkname,o._encode(e),r()})),i}if(this._encode(e),"file"!==e.type&&"contiguous-file"!==e.type)return process.nextTick(r),new I;var s=new C(this);return this._stream=s,n(s,(function(t){return o._stream=null,t?(o.destroy(),r(t)):s.written!==e.size?(o.destroy(),r(new Error("size mismatch"))):(d(o,e.size),o._finalizing&&o.finalize(),void r())})),s}},E.prototype.finalize=function(){this._stream?this._finalizing=!0:this._finalized||(this._finalized=!0,this.push(h),this.push(null))},E.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())},E.prototype._encode=function(e){if(!e.pax){var t=g.encode(e);if(t)return void this.push(t)}this._encodePax(e)},E.prototype._encodePax=function(e){var t=g.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(g.encode(r)),this.push(t),d(this,t.length),r.size=e.size,r.type=e.type,this.push(g.encode(r))},E.prototype._read=function(e){var t=this._drain;this._drain=p,t()},e.exports=E},84615:(e,t,r)=>{"use strict"; -/*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */const A=r(59235),n=(e,t,r)=>{if(!1===A(e))throw new TypeError("toRegexRange: expected the first argument to be a number");if(void 0===t||e===t)return String(e);if(!1===A(t))throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};"boolean"==typeof o.strictZeros&&(o.relaxZeros=!1===o.strictZeros);let a=e+":"+t+"="+String(o.relaxZeros)+String(o.shorthand)+String(o.capture)+String(o.wrap);if(n.cache.hasOwnProperty(a))return n.cache[a].result;let c=Math.min(e,t),g=Math.max(e,t);if(1===Math.abs(c-g)){let r=e+"|"+t;return o.capture?`(${r})`:!1===o.wrap?r:`(?:${r})`}let l=p(e)||p(t),u={min:e,max:t,a:c,b:g},h=[],d=[];if(l&&(u.isPadded=l,u.maxLen=String(u.max).length),c<0){d=i(g<0?Math.abs(g):1,Math.abs(c),u,o),c=u.a=0}return g>=0&&(h=i(c,g,u,o)),u.negatives=d,u.positives=h,u.result=function(e,t,r){let A=s(e,t,"-",!1,r)||[],n=s(t,e,"",!1,r)||[],o=s(e,t,"-?",!0,r)||[];return A.concat(o).concat(n).join("|")}(d,h,o),!0===o.capture?u.result=`(${u.result})`:!1!==o.wrap&&h.length+d.length>1&&(u.result=`(?:${u.result})`),n.cache[a]=u,u.result};function o(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let A=function(e,t){let r=[];for(let A=0;A1&&n.count.pop(),n.count.push(a.count[0]),n.string=n.pattern+u(n.count),c=t+1)}return s}function s(e,t,r,A,n){let o=[];for(let n of e){let{string:e}=n;A||c(t,"string",e)||o.push(r+e),A&&c(t,"string",e)&&o.push(r+e)}return o}function a(e,t){return e>t?1:t>e?-1:0}function c(e,t,r){return e.some(e=>e[t]===r)}function g(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function l(e,t){return e-e%Math.pow(10,t)}function u(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function h(e,t,r){return`[${e}${t-e==1?"":"-"}${t}]`}function p(e){return/^-?(0+)\d/.test(e)}function d(e,t,r){if(!t.isPadded)return e;let A=Math.abs(t.maxLen-String(e).length),n=!1!==r.relaxZeros;switch(A){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${A}}`:`0{${A}}`}}n.cache={},n.clearCache=()=>n.cache={},e.exports=n},75158:e=>{function t(e,t){var r=e.length,A=new Array(r),n={},o=r,i=function(e){for(var t=new Map,r=0,A=e.length;r0&&(n.forEach((function(e,t){t>0&&(g+=(e[1]?" ":"│")+" "),c||e[0]!==r||(c=!0)})),g+=function(e,t){var r=t?"└":"├";return r+=e?"─ ":"──┐"}(t,A)+t,o&&("object"!=typeof r||r instanceof Date)&&(g+=": "+r),c&&(g+=" (circular ref.)"),s(g)),!c&&"object"==typeof r){var h=function(e,t){var r=[];for(var A in e)e.hasOwnProperty(A)&&(t&&"function"==typeof e[A]||r.push(A));return r}(r,i);h.forEach((function(t){a=++l===h.length,e(t,r[t],a,u,o,i,s)}))}}var t={asLines:function(t,r,A,n){e(".",t,!1,[],r,"function"!=typeof A&&A,n||A)},asTree:function(t,r,A){var n="";return e(".",t,!1,[],r,A,(function(e){n+=e+"\n"})),n}};return t}()},36370:(e,t,r)=>{"use strict";r.d(t,{gn:()=>A});function A(e,t,r,A){var n,o=arguments.length,i=o<3?t:null===A?A=Object.getOwnPropertyDescriptor(t,r):A;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,A);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(i=(o<3?n(i):o>3?n(t,r,i):n(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}},98161:(e,t,r)=>{e.exports=r(69876)},69876:(e,t,r)=>{"use strict";r(11631);var A,n=r(4016),o=r(98605),i=r(57211),s=r(28614),a=(r(42357),r(31669));function c(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",(function(e,r,A,n){for(var o=l(r,A,n),i=0,s=t.requests.length;i=this.maxSockets?n.requests.push(o):n.createSocket(o,(function(t){function r(){n.emit("free",t,o)}function A(e){n.removeSocket(t),t.removeListener("free",r),t.removeListener("close",A),t.removeListener("agentRemove",A)}t.on("free",r),t.on("close",A),t.on("agentRemove",A),e.onSocket(t)}))},c.prototype.createSocket=function(e,t){var r=this,n={};r.sockets.push(n);var o=u({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(o.localAddress=e.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),A("making CONNECT request");var i=r.request(o);function s(o,s,a){var c;return i.removeAllListeners(),s.removeAllListeners(),200!==o.statusCode?(A("tunneling socket could not be established, statusCode=%d",o.statusCode),s.destroy(),(c=new Error("tunneling socket could not be established, statusCode="+o.statusCode)).code="ECONNRESET",e.request.emit("error",c),void r.removeSocket(n)):a.length>0?(A("got illegal response body from proxy"),s.destroy(),(c=new Error("got illegal response body from proxy")).code="ECONNRESET",e.request.emit("error",c),void r.removeSocket(n)):(A("tunneling connection has established"),r.sockets[r.sockets.indexOf(n)]=s,t(s))}i.useChunkedEncodingByDefault=!1,i.once("response",(function(e){e.upgrade=!0})),i.once("upgrade",(function(e,t,r){process.nextTick((function(){s(e,t,r)}))})),i.once("connect",s),i.once("error",(function(t){i.removeAllListeners(),A("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, cause="+t.message);o.code="ECONNRESET",e.request.emit("error",o),r.removeSocket(n)})),i.end()},c.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(-1!==t){this.sockets.splice(t,1);var r=this.requests.shift();r&&this.createSocket(r,(function(e){r.request.onSocket(e)}))}},A=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){}},73212:(e,t,r)=>{e.exports=r(31669).deprecate},87945:(e,t,r)=>{const A="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=r(85622),o=A?";":":",i=r(64151),s=e=>Object.assign(new Error("not found: "+e),{code:"ENOENT"}),a=(e,t)=>{const r=t.colon||o,n=e.match(/\//)||A&&e.match(/\\/)?[""]:[...A?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],i=A?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=A?i.split(r):[""];return A&&-1!==e.indexOf(".")&&""!==s[0]&&s.unshift(""),{pathEnv:n,pathExt:s,pathExtExe:i}},c=(e,t,r)=>{"function"==typeof t&&(r=t,t={}),t||(t={});const{pathEnv:A,pathExt:o,pathExtExe:c}=a(e,t),g=[],l=r=>new Promise((o,i)=>{if(r===A.length)return t.all&&g.length?o(g):i(s(e));const a=A[r],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=n.join(c,e),h=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;o(u(h,r,0))}),u=(e,r,A)=>new Promise((n,s)=>{if(A===o.length)return n(l(r+1));const a=o[A];i(e+a,{pathExt:c},(o,i)=>{if(!o&&i){if(!t.all)return n(e+a);g.push(e+a)}return n(u(e,r,A+1))})});return r?l(0).then(e=>r(null,e),r):l(0)};e.exports=c,c.sync=(e,t)=>{t=t||{};const{pathEnv:r,pathExt:A,pathExtExe:o}=a(e,t),c=[];for(let s=0;s{e.exports=function e(t,r){if(t&&r)return e(t)(r);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach((function(e){A[e]=t[e]})),A;function A(){for(var e=new Array(arguments.length),r=0;r{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(15215)),o=A(r(11050)),i=function(){function e(e,t){if(this.refs=e,"function"!=typeof t){if(!(0,n.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");var r=t.is,A=t.then,o=t.otherwise,i="function"==typeof r?r:function(){for(var e=arguments.length,t=new Array(e),A=0;A{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(11050)),o=function(){function e(e){this._resolve=function(t,r){var A=e(t,r);if(!(0,n.default)(A))throw new TypeError("lazy() functions must return a valid schema");return A.resolve(r)}}var t=e.prototype;return t.resolve=function(e){return this._resolve(e.value,e)},t.cast=function(e,t){return this._resolve(e,t).cast(e,t)},t.validate=function(e,t){return this._resolve(e,t).validate(e,t)},t.validateSync=function(e,t){return this._resolve(e,t).validateSync(e,t)},t.validateAt=function(e,t,r){return this._resolve(t,r).validateAt(e,t,r)},t.validateSyncAt=function(e,t,r){return this._resolve(t,r).validateSyncAt(e,t,r)},e}();o.prototype.__isYupSchema__=!0;var i=o;t.default=i,e.exports=t.default},95814:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(72912)),o=r(79588),i="$",s=".",a=function(){function e(e,t){if(void 0===t&&(t={}),"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===i,this.isValue=this.key[0]===s,this.isSibling=!this.isContext&&!this.isValue;var r=this.isContext?i:this.isValue?s:"";this.path=this.key.slice(r.length),this.getter=this.path&&(0,o.getter)(this.path,!0),this.map=t.map}var t=e.prototype;return t.getValue=function(e){var t=this.isContext?e.context:this.isValue?e.value:e.parent;return this.getter&&(t=this.getter(t||{})),this.map&&(t=this.map(t)),t},t.cast=function(e,t){return this.getValue((0,n.default)({},t,{value:e}))},t.resolve=function(){return this},t.describe=function(){return{type:"ref",key:this.key}},t.toString=function(){return"Ref("+this.key+")"},e.isRef=function(e){return e&&e.__isYupRef},e}();t.default=a,a.prototype.__isYupRef=!0,e.exports=t.default},40828:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=s;var n=A(r(21043)),o=/\$\{\s*(\w+)\s*\}/g,i=function(e){return function(t){return e.replace(o,(function(e,r){return(0,n.default)(t[r])}))}};function s(e,t,r,A){var n=this;this.name="ValidationError",this.value=t,this.path=r,this.type=A,this.errors=[],this.inner=[],e&&[].concat(e).forEach((function(e){n.errors=n.errors.concat(e.errors||e),e.inner&&(n.inner=n.inner.concat(e.inner.length?e.inner:e))})),this.message=this.errors.length>1?this.errors.length+" errors occurred":this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,s)}s.prototype=Object.create(Error.prototype),s.prototype.constructor=s,s.isError=function(e){return e&&"ValidationError"===e.name},s.formatError=function(e,t){"string"==typeof e&&(e=i(e));var r=function(t){return t.path=t.label||t.path||"this","function"==typeof e?e(t):e};return 1===arguments.length?r:r(t)},e.exports=t.default},18830:(e,t,r)=>{"use strict";var A=r(19228),n=r(60087);t.__esModule=!0,t.default=void 0;var o=n(r(72912)),i=n(r(62407)),s=n(r(31490)),a=n(r(71665)),c=n(r(11050)),g=n(r(7045)),l=n(r(21043)),u=n(r(16434)),h=r(63802),p=A(r(80180));function d(){var e=(0,i.default)(["","[","]"]);return d=function(){return e},e}var C=f;function f(e){var t=this;if(!(this instanceof f))return new f(e);u.default.call(this,{type:"array"}),this._subType=void 0,this.withMutation((function(){t.transform((function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})),e&&t.of(e)}))}t.default=C,(0,s.default)(f,u.default,{_typeCheck:function(e){return Array.isArray(e)},_cast:function(e,t){var r=this,A=u.default.prototype._cast.call(this,e,t);if(!this._typeCheck(A)||!this._subType)return A;var n=!1,o=A.map((function(e){var A=r._subType.cast(e,t);return A!==e&&(n=!0),A}));return n?o:A},_validate:function(e,t){var r=this;void 0===t&&(t={});var A=[],n=t.sync,i=t.path,s=this._subType,a=this._option("abortEarly",t),c=this._option("recursive",t),l=null!=t.originalValue?t.originalValue:e;return u.default.prototype._validate.call(this,e,t).catch((0,p.propagateErrors)(a,A)).then((function(e){if(!c||!s||!r._typeCheck(e)){if(A.length)throw A[0];return e}l=l||e;var u=e.map((function(r,A){var n=(0,g.default)(d(),t.path,A),i=(0,o.default)({},t,{path:n,strict:!0,parent:e,originalValue:l[A]});return!s.validate||s.validate(r,i)}));return(0,p.default)({sync:n,path:i,value:e,errors:A,endEarly:a,validations:u})}))},_isPresent:function(e){return u.default.prototype._cast.call(this,e)&&e.length>0},of:function(e){var t=this.clone();if(!1!==e&&!(0,c.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema, or `false` to negate a current sub-schema. not: "+(0,l.default)(e));return t._subType=e,t},min:function(e,t){return t=t||h.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,a.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return t=t||h.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,a.default)(t)||t.length<=this.resolve(e)}})},ensure:function(){var e=this;return this.default((function(){return[]})).transform((function(t){return e.isType(t)?t:null===t?[]:[].concat(t)}))},compact:function(e){var t=e?function(t,r,A){return!e(t,r,A)}:function(e){return!!e};return this.transform((function(e){return null!=e?e.filter(t):e}))},describe:function(){var e=u.default.prototype.describe.call(this);return this._subType&&(e.innerType=this._subType.describe()),e}}),e.exports=t.default},76595:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(31490)),o=A(r(16434)),i=s;function s(){var e=this;if(!(this instanceof s))return new s;o.default.call(this,{type:"boolean"}),this.withMutation((function(){e.transform((function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(e))return!0;if(/^(false|0)$/i.test(e))return!1}return e}))}))}t.default=i,(0,n.default)(s,o.default,{_typeCheck:function(e){return e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e}}),e.exports=t.default},41755:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=void 0;var n=A(r(16434)),o=A(r(31490)),i=A(r(76813)),s=r(63802),a=A(r(71665)),c=A(r(95814)),g=new Date(""),l=u;function u(){var e=this;if(!(this instanceof u))return new u;n.default.call(this,{type:"date"}),this.withMutation((function(){e.transform((function(e){return this.isType(e)?e:(e=(0,i.default)(e))?new Date(e):g}))}))}t.default=l,(0,o.default)(u,n.default,{_typeCheck:function(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t},min:function(e,t){void 0===t&&(t=s.date.min);var r=e;if(!c.default.isRef(r)&&(r=this.cast(e),!this._typeCheck(r)))throw new TypeError("`min` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(e){return(0,a.default)(e)||e>=this.resolve(r)}})},max:function(e,t){void 0===t&&(t=s.date.max);var r=e;if(!c.default.isRef(r)&&(r=this.cast(e),!this._typeCheck(r)))throw new TypeError("`max` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(e){return(0,a.default)(e)||e<=this.resolve(r)}})}}),e.exports=t.default},15966:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.addMethod=function(e,t,r){if(!e||!(0,d.default)(e.prototype))throw new TypeError("You must provide a yup schema constructor function");if("string"!=typeof t)throw new TypeError("A Method name must be provided");if("function"!=typeof r)throw new TypeError("Method function must be provided");e.prototype[t]=r},t.lazy=t.ref=t.boolean=void 0;var n=A(r(16434));t.mixed=n.default;var o=A(r(76595));t.bool=o.default;var i=A(r(45167));t.string=i.default;var s=A(r(72068));t.number=s.default;var a=A(r(41755));t.date=a.default;var c=A(r(51727));t.object=c.default;var g=A(r(18830));t.array=g.default;var l=A(r(95814)),u=A(r(6856)),h=A(r(40828));t.ValidationError=h.default;var p=A(r(43910));t.reach=p.default;var d=A(r(11050));t.isSchema=d.default;var C=A(r(24280));t.setLocale=C.default;var f=o.default;t.boolean=f;t.ref=function(e,t){return new l.default(e,t)};t.lazy=function(e){return new u.default(e)}},63802:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=t.array=t.object=t.boolean=t.date=t.number=t.string=t.mixed=void 0;var n=A(r(21043)),o={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:function(e){var t=e.path,r=e.type,A=e.value,o=e.originalValue,i=null!=o&&o!==A,s=t+" must be a `"+r+"` type, but the final value was: `"+(0,n.default)(A,!0)+"`"+(i?" (cast from the value `"+(0,n.default)(o,!0)+"`).":".");return null===A&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s}};t.mixed=o;var i={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};t.string=i;var s={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",notEqual:"${path} must be not equal to ${notEqual}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};t.number=s;var a={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};t.date=a;var c={};t.boolean=c;var g={noUnknown:"${path} field cannot have keys not specified in the object shape"};t.object=g;var l={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items"};t.array=l;var u={mixed:o,string:i,number:s,date:a,object:g,array:l,boolean:c};t.default=u},16434:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=I;var n=A(r(72912)),o=A(r(15215)),i=A(r(26052)),s=A(r(78700)),a=r(63802),c=A(r(94916)),g=A(r(80180)),l=A(r(22808)),u=A(r(11050)),h=A(r(54107)),p=A(r(21043)),d=A(r(95814)),C=r(43910),f=function(){function e(){this.list=new Set,this.refs=new Map}var t=e.prototype;return t.toArray=function(){return(0,s.default)(this.list).concat((0,s.default)(this.refs.values()))},t.add=function(e){d.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)},t.delete=function(e){d.default.isRef(e)?this.refs.delete(e.key,e):this.list.delete(e)},t.has=function(e,t){if(this.list.has(e))return!0;for(var r,A=this.refs.values();!(r=A.next()).done;)if(t(r.value)===e)return!0;return!1},e}();function I(e){var t=this;if(void 0===e&&(e={}),!(this instanceof I))return new I;this._deps=[],this._conditions=[],this._options={abortEarly:!0,recursive:!0},this._exclusive=Object.create(null),this._whitelist=new f,this._blacklist=new f,this.tests=[],this.transforms=[],this.withMutation((function(){t.typeError(a.mixed.notType)})),(0,o.default)(e,"default")&&(this._defaultDefault=e.default),this._type=e.type||"mixed"}for(var E=I.prototype={__isYupSchema__:!0,constructor:I,clone:function(){var e=this;return this._mutate?this:(0,i.default)(this,(function(t){if((0,u.default)(t)&&t!==e)return t}))},label:function(e){var t=this.clone();return t._label=e,t},meta:function(e){if(0===arguments.length)return this._meta;var t=this.clone();return t._meta=(0,n.default)(t._meta||{},e),t},withMutation:function(e){var t=this._mutate;this._mutate=!0;var r=e(this);return this._mutate=t,r},concat:function(e){if(!e||e===this)return this;if(e._type!==this._type&&"mixed"!==this._type)throw new TypeError("You cannot `concat()` schema's of different types: "+this._type+" and "+e._type);var t=(0,l.default)(e.clone(),this);return(0,o.default)(e,"_default")&&(t._default=e._default),t.tests=this.tests,t._exclusive=this._exclusive,t.withMutation((function(t){e.tests.forEach((function(e){t.test(e.OPTIONS)}))})),t},isType:function(e){return!(!this._nullable||null!==e)||(!this._typeCheck||this._typeCheck(e))},resolve:function(e){var t=this;if(t._conditions.length){var r=t._conditions;(t=t.clone())._conditions=[],t=(t=r.reduce((function(t,r){return r.resolve(t,e)}),t)).resolve(e)}return t},cast:function(e,t){void 0===t&&(t={});var r=this.resolve((0,n.default)({},t,{value:e})),A=r._cast(e,t);if(void 0!==e&&!1!==t.assert&&!0!==r.isType(A)){var o=(0,p.default)(e),i=(0,p.default)(A);throw new TypeError("The value of "+(t.path||"field")+' could not be cast to a value that satisfies the schema type: "'+r._type+'". \n\nattempted value: '+o+" \n"+(i!==o?"result of cast: "+i:""))}return A},_cast:function(e){var t=this,r=void 0===e?e:this.transforms.reduce((function(r,A){return A.call(t,r,e)}),e);return void 0===r&&(0,o.default)(this,"_default")&&(r=this.default()),r},_validate:function(e,t){var r=this;void 0===t&&(t={});var A=e,o=null!=t.originalValue?t.originalValue:e,i=this._option("strict",t),s=this._option("abortEarly",t),a=t.sync,c=t.path,l=this._label;i||(A=this._cast(A,(0,n.default)({assert:!1},t)));var u={value:A,path:c,schema:this,options:t,label:l,originalValue:o,sync:a},h=[];return this._typeError&&h.push(this._typeError(u)),this._whitelistError&&h.push(this._whitelistError(u)),this._blacklistError&&h.push(this._blacklistError(u)),(0,g.default)({validations:h,endEarly:s,value:A,path:c,sync:a}).then((function(e){return(0,g.default)({path:c,sync:a,value:e,endEarly:s,validations:r.tests.map((function(e){return e(u)}))})}))},validate:function(e,t){return void 0===t&&(t={}),this.resolve((0,n.default)({},t,{value:e}))._validate(e,t)},validateSync:function(e,t){var r,A;if(void 0===t&&(t={}),this.resolve((0,n.default)({},t,{value:e}))._validate(e,(0,n.default)({},t,{sync:!0})).then((function(e){return r=e})).catch((function(e){return A=e})),A)throw A;return r},isValid:function(e,t){return this.validate(e,t).then((function(){return!0})).catch((function(e){if("ValidationError"===e.name)return!1;throw e}))},isValidSync:function(e,t){try{return this.validateSync(e,t),!0}catch(e){if("ValidationError"===e.name)return!1;throw e}},getDefault:function(e){return void 0===e&&(e={}),this.resolve(e).default()},default:function(e){if(0===arguments.length){var t=(0,o.default)(this,"_default")?this._default:this._defaultDefault;return"function"==typeof t?t.call(this):(0,i.default)(t)}var r=this.clone();return r._default=e,r},strict:function(e){void 0===e&&(e=!0);var t=this.clone();return t._options.strict=e,t},_isPresent:function(e){return null!=e},required:function(e){return void 0===e&&(e=a.mixed.required),this.test({message:e,name:"required",exclusive:!0,test:function(e){return this.schema._isPresent(e)}})},notRequired:function(){var e=this.clone();return e.tests=e.tests.filter((function(e){return"required"!==e.OPTIONS.name})),e},nullable:function(e){void 0===e&&(e=!0);var t=this.clone();return t._nullable=e,t},transform:function(e){var t=this.clone();return t.transforms.push(e),t},test:function(){var e;if(void 0===(e=1===arguments.length?"function"==typeof(arguments.length<=0?void 0:arguments[0])?{test:arguments.length<=0?void 0:arguments[0]}:arguments.length<=0?void 0:arguments[0]:2===arguments.length?{name:arguments.length<=0?void 0:arguments[0],test:arguments.length<=1?void 0:arguments[1]}:{name:arguments.length<=0?void 0:arguments[0],message:arguments.length<=1?void 0:arguments[1],test:arguments.length<=2?void 0:arguments[2]}).message&&(e.message=a.mixed.default),"function"!=typeof e.test)throw new TypeError("`test` is a required parameters");var t=this.clone(),r=(0,h.default)(e),A=e.exclusive||e.name&&!0===t._exclusive[e.name];if(e.exclusive&&!e.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t._exclusive[e.name]=!!e.exclusive,t.tests=t.tests.filter((function(t){if(t.OPTIONS.name===e.name){if(A)return!1;if(t.OPTIONS.test===r.OPTIONS.test)return!1}return!0})),t.tests.push(r),t},when:function(e,t){1===arguments.length&&(t=e,e=".");var r=this.clone(),A=[].concat(e).map((function(e){return new d.default(e)}));return A.forEach((function(e){e.isSibling&&r._deps.push(e.key)})),r._conditions.push(new c.default(A,t)),r},typeError:function(e){var t=this.clone();return t._typeError=(0,h.default)({message:e,name:"typeError",test:function(e){return!(void 0!==e&&!this.schema.isType(e))||this.createError({params:{type:this.schema._type}})}}),t},oneOf:function(e,t){void 0===t&&(t=a.mixed.oneOf);var r=this.clone();return e.forEach((function(e){r._whitelist.add(e),r._blacklist.delete(e)})),r._whitelistError=(0,h.default)({message:t,name:"oneOf",test:function(e){if(void 0===e)return!0;var t=this.schema._whitelist;return!!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),r},notOneOf:function(e,t){void 0===t&&(t=a.mixed.notOneOf);var r=this.clone();return e.forEach((function(e){r._blacklist.add(e),r._whitelist.delete(e)})),r._blacklistError=(0,h.default)({message:t,name:"notOneOf",test:function(e){var t=this.schema._blacklist;return!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),r},strip:function(e){void 0===e&&(e=!0);var t=this.clone();return t._strip=e,t},_option:function(e,t){return(0,o.default)(t,e)?t[e]:this._options[e]},describe:function(){var e=this.clone();return{type:e._type,meta:e._meta,label:e._label,tests:e.tests.map((function(e){return{name:e.OPTIONS.name,params:e.OPTIONS.params}})).filter((function(e,t,r){return r.findIndex((function(t){return t.name===e.name}))===t}))}}},B=["validate","validateSync"],y=function(){var e=B[m];E[e+"At"]=function(t,r,A){void 0===A&&(A={});var o=(0,C.getIn)(this,t,r,A.context),i=o.parent,s=o.parentPath;return o.schema[e](i&&i[s],(0,n.default)({},A,{parent:i,path:t}))}},m=0;m{"use strict";var A=r(60087);t.__esModule=!0,t.default=c;var n=A(r(31490)),o=A(r(16434)),i=r(63802),s=A(r(71665)),a=function(e){return(0,s.default)(e)||e===(0|e)};function c(){var e=this;if(!(this instanceof c))return new c;o.default.call(this,{type:"number"}),this.withMutation((function(){e.transform((function(e){var t=e;if("string"==typeof t){if(""===(t=t.replace(/\s/g,"")))return NaN;t=+t}return this.isType(t)?t:parseFloat(t)}))}))}(0,n.default)(c,o.default,{_typeCheck:function(e){return e instanceof Number&&(e=e.valueOf()),"number"==typeof e&&!function(e){return e!=+e}(e)},min:function(e,t){return void 0===t&&(t=i.number.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=i.number.max),this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,s.default)(t)||t<=this.resolve(e)}})},lessThan:function(e,t){return void 0===t&&(t=i.number.lessThan),this.test({message:t,name:"max",exclusive:!0,params:{less:e},test:function(t){return(0,s.default)(t)||tthis.resolve(e)}})},positive:function(e){return void 0===e&&(e=i.number.positive),this.moreThan(0,e)},negative:function(e){return void 0===e&&(e=i.number.negative),this.lessThan(0,e)},integer:function(e){return void 0===e&&(e=i.number.integer),this.test({name:"integer",message:e,test:a})},truncate:function(){return this.transform((function(e){return(0,s.default)(e)?e:0|e}))},round:function(e){var t=["ceil","floor","round","trunc"];if("trunc"===(e=e&&e.toLowerCase()||"round"))return this.truncate();if(-1===t.indexOf(e.toLowerCase()))throw new TypeError("Only valid options for round() are: "+t.join(", "));return this.transform((function(t){return(0,s.default)(t)?t:Math[e](t)}))}}),e.exports=t.default},51727:(e,t,r)=>{"use strict";var A=r(19228),n=r(60087);t.__esModule=!0,t.default=w;var o=n(r(62407)),i=n(r(72912)),s=n(r(15215)),a=n(r(36494)),c=n(r(89170)),g=n(r(5253)),l=n(r(89612)),u=r(79588),h=n(r(16434)),p=r(63802),d=n(r(18417)),C=n(r(23316)),f=n(r(31490)),I=n(r(7045)),E=A(r(80180));function B(){var e=(0,o.default)(["",".",""]);return B=function(){return e},e}function y(){var e=(0,o.default)(["",".",""]);return y=function(){return e},e}var m=function(e){return"[object Object]"===Object.prototype.toString.call(e)};function w(e){var t=this;if(!(this instanceof w))return new w(e);h.default.call(this,{type:"object",default:function(){var e=this;if(this._nodes.length){var t={};return this._nodes.forEach((function(r){t[r]=e.fields[r].default?e.fields[r].default():void 0})),t}}}),this.fields=Object.create(null),this._nodes=[],this._excludedEdges=[],this.withMutation((function(){t.transform((function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})),e&&t.shape(e)}))}(0,f.default)(w,h.default,{_typeCheck:function(e){return m(e)||"function"==typeof e},_cast:function(e,t){var r=this;void 0===t&&(t={});var A=h.default.prototype._cast.call(this,e,t);if(void 0===A)return this.default();if(!this._typeCheck(A))return A;var n=this.fields,o=!0===this._option("stripUnknown",t),a=this._nodes.concat(Object.keys(A).filter((function(e){return-1===r._nodes.indexOf(e)}))),c={},g=(0,i.default)({},t,{parent:c,__validating:!1}),l=!1;return a.forEach((function(e){var r=n[e],i=(0,s.default)(A,e);if(r){var a,u=r._options&&r._options.strict;if(g.path=(0,I.default)(y(),t.path,e),g.value=A[e],!0===(r=r.resolve(g))._strip)return void(l=l||e in A);void 0!==(a=t.__validating&&u?A[e]:r.cast(A[e],g))&&(c[e]=a)}else i&&!o&&(c[e]=A[e]);c[e]!==A[e]&&(l=!0)})),l?c:A},_validate:function(e,t){var r,A,n=this;void 0===t&&(t={});var o=t.sync,s=[],a=null!=t.originalValue?t.originalValue:e;return r=this._option("abortEarly",t),A=this._option("recursive",t),t=(0,i.default)({},t,{__validating:!0,originalValue:a}),h.default.prototype._validate.call(this,e,t).catch((0,E.propagateErrors)(r,s)).then((function(e){if(!A||!m(e)){if(s.length)throw s[0];return e}a=a||e;var c=n._nodes.map((function(r){var A=(0,I.default)(B(),t.path,r),o=n.fields[r],s=(0,i.default)({},t,{path:A,parent:e,originalValue:a[r]});return o&&o.validate?(s.strict=!0,o.validate(e[r],s)):Promise.resolve(!0)}));return(0,E.default)({sync:o,validations:c,value:e,errors:s,endEarly:r,path:t.path,sort:(0,C.default)(n.fields)})}))},concat:function(e){var t=h.default.prototype.concat.call(this,e);return t._nodes=(0,d.default)(t.fields,t._excludedEdges),t},shape:function(e,t){void 0===t&&(t=[]);var r=this.clone(),A=(0,i.default)(r.fields,e);if(r.fields=A,t.length){Array.isArray(t[0])||(t=[t]);var n=t.map((function(e){return e[0]+"-"+e[1]}));r._excludedEdges=r._excludedEdges.concat(n)}return r._nodes=(0,d.default)(A,r._excludedEdges),r},from:function(e,t,r){var A=(0,u.getter)(e,!0);return this.transform((function(n){if(null==n)return n;var o=n;return(0,s.default)(n,e)&&(o=(0,i.default)({},n),r||delete o[e],o[t]=A(n)),o}))},noUnknown:function(e,t){void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),"string"==typeof e&&(t=e,e=!0);var r=this.test({name:"noUnknown",exclusive:!0,message:t,test:function(t){return null==t||!e||0===function(e,t){var r=Object.keys(e.fields);return Object.keys(t).filter((function(e){return-1===r.indexOf(e)}))}(this.schema,t).length}});return r._options.stripUnknown=e,r},unknown:function(e,t){return void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),this.noUnknown(!e,t)},transformKeys:function(e){return this.transform((function(t){return t&&(0,g.default)(t,(function(t,r){return e(r)}))}))},camelCase:function(){return this.transformKeys(c.default)},snakeCase:function(){return this.transformKeys(a.default)},constantCase:function(){return this.transformKeys((function(e){return(0,a.default)(e).toUpperCase()}))},describe:function(){var e=h.default.prototype.describe.call(this);return e.fields=(0,l.default)(this.fields,(function(e){return e.describe()})),e}}),e.exports=t.default},24280:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e){Object.keys(e).forEach((function(t){Object.keys(e[t]).forEach((function(r){n.default[t][r]=e[t][r]}))}))};var n=A(r(63802));e.exports=t.default},45167:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=l;var n=A(r(31490)),o=A(r(16434)),i=r(63802),s=A(r(71665)),a=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,c=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,g=function(e){return(0,s.default)(e)||e===e.trim()};function l(){var e=this;if(!(this instanceof l))return new l;o.default.call(this,{type:"string"}),this.withMutation((function(){e.transform((function(e){return this.isType(e)?e:null!=e&&e.toString?e.toString():e}))}))}(0,n.default)(l,o.default,{_typeCheck:function(e){return e instanceof String&&(e=e.valueOf()),"string"==typeof e},_isPresent:function(e){return o.default.prototype._cast.call(this,e)&&e.length>0},length:function(e,t){return void 0===t&&(t=i.string.length),this.test({message:t,name:"length",exclusive:!0,params:{length:e},test:function(t){return(0,s.default)(t)||t.length===this.resolve(e)}})},min:function(e,t){return void 0===t&&(t=i.string.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=i.string.max),this.test({name:"max",exclusive:!0,message:t,params:{max:e},test:function(t){return(0,s.default)(t)||t.length<=this.resolve(e)}})},matches:function(e,t){var r,A=!1;return t&&(t.message||t.hasOwnProperty("excludeEmptyString")?(A=t.excludeEmptyString,r=t.message):r=t),this.test({message:r||i.string.matches,params:{regex:e},test:function(t){return(0,s.default)(t)||""===t&&A||e.test(t)}})},email:function(e){return void 0===e&&(e=i.string.email),this.matches(a,{message:e,excludeEmptyString:!0})},url:function(e){return void 0===e&&(e=i.string.url),this.matches(c,{message:e,excludeEmptyString:!0})},ensure:function(){return this.default("").transform((function(e){return null===e?"":e}))},trim:function(e){return void 0===e&&(e=i.string.trim),this.transform((function(e){return null!=e?e.trim():e})).test({message:e,name:"trim",test:g})},lowercase:function(e){return void 0===e&&(e=i.string.lowercase),this.transform((function(e){return(0,s.default)(e)?e:e.toLowerCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toLowerCase()}})},uppercase:function(e){return void 0===e&&(e=i.string.uppercase),this.transform((function(e){return(0,s.default)(e)?e:e.toUpperCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toUpperCase()}})}}),e.exports=t.default},54107:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.createErrorFactory=l,t.default=function(e){var t=e.name,r=e.message,A=e.test,i=e.params;function g(e){var g=e.value,u=e.path,h=e.label,p=e.options,d=e.originalValue,C=e.sync,f=(0,n.default)(e,["value","path","label","options","originalValue","sync"]),I=p.parent,E=function(e){return a.default.isRef(e)?e.getValue({value:g,parent:I,context:p.context}):e},B=l({message:r,path:u,value:g,originalValue:d,params:i,label:h,resolve:E,name:t}),y=(0,o.default)({path:u,parent:I,type:t,createError:B,resolve:E,options:p},f);return function(e,t,r,A){var n=e.call(t,r);if(!A)return Promise.resolve(n);if(o=n,o&&"function"==typeof o.then&&"function"==typeof o.catch)throw new Error('Validation test of type: "'+t.type+'" returned a Promise during a synchronous validate. This test will finish after the validate call has returned');var o;return c.SynchronousPromise.resolve(n)}(A,y,g,C).then((function(e){if(s.default.isError(e))throw e;if(!e)throw B()}))}return g.OPTIONS=e,g};var n=A(r(74943)),o=A(r(72912)),i=A(r(89612)),s=A(r(40828)),a=A(r(95814)),c=r(93255),g=s.default.formatError;function l(e){var t=e.value,r=e.label,A=e.resolve,a=e.originalValue,c=(0,n.default)(e,["value","label","resolve","originalValue"]);return function(e){var n=void 0===e?{}:e,l=n.path,u=void 0===l?c.path:l,h=n.message,p=void 0===h?c.message:h,d=n.type,C=void 0===d?c.name:d,f=n.params;return f=(0,o.default)({path:u,value:t,originalValue:a,label:r},function(e,t,r){return(0,i.default)((0,o.default)({},e,t),r)}(c.params,f,A)),(0,o.default)(new s.default(g(p,f),t,u,C),{params:f})}}},31490:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e,t,r){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),(0,n.default)(e.prototype,r)};var n=A(r(72912));e.exports=t.default},71665:(e,t)=>{"use strict";t.__esModule=!0,t.default=void 0;t.default=function(e){return null==e},e.exports=t.default},11050:(e,t)=>{"use strict";t.__esModule=!0,t.default=void 0;t.default=function(e){return e&&e.__isYupSchema__},e.exports=t.default},76813:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){var t,A,n=[1,4,5,6,7,10,11],o=0;if(A=r.exec(e)){for(var i,s=0;i=n[s];++s)A[i]=+A[i]||0;A[2]=(+A[2]||1)-1,A[3]=+A[3]||1,A[7]=A[7]?String(A[7]).substr(0,3):0,void 0!==A[8]&&""!==A[8]||void 0!==A[9]&&""!==A[9]?("Z"!==A[8]&&void 0!==A[9]&&(o=60*A[10]+A[11],"+"===A[9]&&(o=0-o)),t=Date.UTC(A[1],A[2],A[3],A[4],A[5]+o,A[6],A[7])):t=+new Date(A[1],A[2],A[3],A[4],A[5],A[6],A[7])}else t=Date.parse?Date.parse(e):NaN;return t};var r=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;e.exports=t.default},7045:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),A=1;A{"use strict";var A=r(60087);t.__esModule=!0,t.default=function e(t,r){for(var A in r)if((0,n.default)(r,A)){var s=r[A],a=t[A];if(void 0===a)t[A]=s;else{if(a===s)continue;(0,o.default)(a)?(0,o.default)(s)&&(t[A]=s.concat(a)):i(a)?i(s)&&(t[A]=e(a,s)):Array.isArray(a)&&Array.isArray(s)&&(t[A]=s.concat(a))}}return t};var n=A(r(15215)),o=A(r(11050)),i=function(e){return"[object Object]"===Object.prototype.toString.call(e)};e.exports=t.default},21043:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e,t){var r=s(e,t);return null!==r?r:JSON.stringify(e,(function(e,r){var A=s(this[e],t);return null!==A?A:r}),2)};var r=Object.prototype.toString,A=Error.prototype.toString,n=RegExp.prototype.toString,o="undefined"!=typeof Symbol?Symbol.prototype.toString:function(){return""},i=/^Symbol\((.*)\)(.*)$/;function s(e,t){if(void 0===t&&(t=!1),null==e||!0===e||!1===e)return""+e;var s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?'"'+e+'"':e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return o.call(e).replace(i,"Symbol($1)");var a=r.call(e).slice(8,-1);return"Date"===a?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===a||e instanceof Error?"["+A.call(e)+"]":"RegExp"===a?n.call(e):null}e.exports=t.default},43910:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.getIn=i,t.default=void 0;var n=r(79588),o=A(r(15215));function i(e,t,r,A){var i,s,a;return A=A||r,t?((0,n.forEach)(t,(function(n,c,g){var l=c?function(e){return e.substr(0,e.length-1).substr(1)}(n):n;if(g||(0,o.default)(e,"_subType")){var u=g?parseInt(l,10):0;if(e=e.resolve({context:A,parent:i,value:r})._subType,r){if(g&&u>=r.length)throw new Error("Yup.reach cannot resolve an array item at index: "+n+", in the path: "+t+". because there is no value at that index. ");r=r[u]}}if(!g){if(e=e.resolve({context:A,parent:i,value:r}),!(0,o.default)(e,"fields")||!(0,o.default)(e.fields,l))throw new Error("The schema does not contain the path: "+t+". (failed at: "+a+' which is a type: "'+e._type+'") ');e=e.fields[l],i=r,r=r&&r[l],s=l,a=c?"["+n+"]":"."+n}})),{schema:e,parent:i,parentPath:s}):{parent:i,parentPath:t,schema:e}}var s=function(e,t,r,A){return i(e,t,r,A).schema};t.default=s},80180:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.propagateErrors=function(e,t){return e?null:function(e){return t.push(e),e.value}},t.settled=a,t.collectErrors=c,t.default=function(e){var t=e.endEarly,r=(0,n.default)(e,["endEarly"]);return t?function(e,t,r){return s(r).all(e).catch((function(e){throw"ValidationError"===e.name&&(e.value=t),e})).then((function(){return t}))}(r.validations,r.value,r.sync):c(r)};var n=A(r(74943)),o=r(93255),i=A(r(40828)),s=function(e){return e?o.SynchronousPromise:Promise};function a(e,t){var r=s(t);return r.all(e.map((function(e){return r.resolve(e).then((function(e){return{fulfilled:!0,value:e}}),(function(e){return{fulfilled:!1,value:e}}))})))}function c(e){var t=e.validations,r=e.value,A=e.path,n=e.sync,o=e.errors,s=e.sort;return o=function(e){return void 0===e&&(e=[]),e.inner&&e.inner.length?e.inner:[].concat(e)}(o),a(t,n).then((function(e){var t=e.filter((function(e){return!e.fulfilled})).reduce((function(e,t){var r=t.value;if(!i.default.isError(r))throw r;return e.concat(r)}),[]);if(s&&t.sort(s),(o=t.concat(o)).length)throw new i.default(o,r,A);return r}))}},23316:(e,t)=>{"use strict";function r(e,t){var r=1/0;return e.some((function(e,A){if(-1!==t.path.indexOf(e))return r=A,!0})),r}t.__esModule=!0,t.default=function(e){var t=Object.keys(e);return function(e,A){return r(t,e)-r(t,A)}},e.exports=t.default},18417:(e,t,r)=>{"use strict";var A=r(60087);t.__esModule=!0,t.default=function(e,t){void 0===t&&(t=[]);var r=[],A=[];function c(e,n){var o=(0,i.split)(e)[0];~A.indexOf(o)||A.push(o),~t.indexOf(n+"-"+o)||r.push([n,o])}for(var g in e)if((0,n.default)(e,g)){var l=e[g];~A.indexOf(g)||A.push(g),s.default.isRef(l)&&l.isSibling?c(l.path,g):(0,a.default)(l)&&l._deps&&l._deps.forEach((function(e){return c(e,g)}))}return o.default.array(A,r).reverse()};var n=A(r(15215)),o=A(r(75158)),i=r(79588),s=A(r(95814)),a=A(r(11050));e.exports=t.default},60306:e=>{"use strict";e.exports=JSON.parse('{"name":"@yarnpkg/cli","version":"2.4.2","license":"BSD-2-Clause","main":"./sources/index.ts","dependencies":{"@yarnpkg/core":"workspace:^2.4.0","@yarnpkg/fslib":"workspace:^2.4.0","@yarnpkg/libzip":"workspace:^2.2.1","@yarnpkg/parsers":"workspace:^2.3.0","@yarnpkg/plugin-compat":"workspace:^2.2.1","@yarnpkg/plugin-dlx":"workspace:^2.1.4","@yarnpkg/plugin-essentials":"workspace:^2.4.0","@yarnpkg/plugin-file":"workspace:^2.2.0","@yarnpkg/plugin-git":"workspace:^2.3.0","@yarnpkg/plugin-github":"workspace:^2.1.2","@yarnpkg/plugin-http":"workspace:^2.1.2","@yarnpkg/plugin-init":"workspace:^2.2.2","@yarnpkg/plugin-link":"workspace:^2.1.1","@yarnpkg/plugin-node-modules":"workspace:^2.3.0","@yarnpkg/plugin-npm":"workspace:^2.4.0","@yarnpkg/plugin-npm-cli":"workspace:^2.3.0","@yarnpkg/plugin-pack":"workspace:^2.2.3","@yarnpkg/plugin-patch":"workspace:^2.1.2","@yarnpkg/plugin-pnp":"workspace:^2.4.0","@yarnpkg/shell":"workspace:^2.4.1","chalk":"^3.0.0","ci-info":"^2.0.0","clipanion":"^2.6.2","fromentries":"^1.2.0","semver":"^7.1.2","tslib":"^1.13.0","yup":"^0.27.0"},"devDependencies":{"@types/ci-info":"^2","@types/yup":"0.26.12","@yarnpkg/builder":"workspace:^2.1.3","@yarnpkg/monorepo":"workspace:0.0.0","@yarnpkg/pnpify":"workspace:^2.4.0","micromatch":"^4.0.2","typescript":"4.1.0-beta"},"peerDependencies":{"@yarnpkg/core":"^2.4.0"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},"publishConfig":{"main":"./lib/index.js","types":"./lib/index.d.ts","bin":null},"files":["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{"bundles":{"standard":["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"engines":{"node":">=10.19.0"}}')},98497:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=98497,e.exports=t},32178:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=32178,e.exports=t},3368:(e,t,r)=>{var A,n=Object.assign({},r(35747)),o=void 0!==o?o:{},i={};for(A in o)o.hasOwnProperty(A)&&(i[A]=o[A]);var s,a,c,g,l=[],u="";u=__dirname+"/",s=function(e,t){var A=Qe(e);return A?t?A:A.toString():(c||(c=n),g||(g=r(85622)),e=g.normalize(e),c.readFileSync(e,t?null:"utf8"))},a=function(e){var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),E(t.buffer),t},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),l=process.argv.slice(2),e.exports=o,o.inspect=function(){return"[Emscripten Module object]"};var h=o.print||console.log.bind(console),p=o.printErr||console.warn.bind(console);for(A in i)i.hasOwnProperty(A)&&(o[A]=i[A]);i=null,o.arguments&&(l=o.arguments),o.thisProgram&&o.thisProgram,o.quit&&o.quit;var d,C;o.wasmBinary&&(d=o.wasmBinary),o.noExitRuntime&&o.noExitRuntime,"object"!=typeof WebAssembly&&_("no native wasm support detected");var f=new WebAssembly.Table({initial:31,maximum:31,element:"anyfunc"}),I=!1;function E(e,t){e||_("Assertion failed: "+t)}function B(e){var t=o["_"+e];return E(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function y(e,t,r,A,n){var o={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);b(e,t=xe(r),r)}return t},array:function(e){var t=xe(e.length);return function(e,t){K.set(e,t)}(e,t),t}};var i=B(e),s=[],a=0;if(A)for(var c=0;c=A);)++n;if(n-t>16&&e.subarray&&m)return m.decode(e.subarray(t,n));for(var o="";t>10,56320|1023&c)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o}function Q(e,t){return e?w(F,e,t):""}function D(e,t,r,A){if(!(A>0))return 0;for(var n=r,o=r+A-1,i=0;i=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(r>=o)break;t[r++]=s}else if(s<=2047){if(r+1>=o)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=o)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=o)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-n}function b(e,t,r){return D(e,F,t,r)}function v(e){for(var t=0,r=0;r=55296&&A<=57343&&(A=65536+((1023&A)<<10)|1023&e.charCodeAt(++r)),A<=127?++t:t+=A<=2047?2:A<=65535?3:4}return t}function S(e){var t=v(e)+1,r=Le(t);return r&&D(e,K,r,t),r}var k,K,F,N,M,R,x;function L(e){k=e,o.HEAP8=K=new Int8Array(e),o.HEAP16=N=new Int16Array(e),o.HEAP32=M=new Int32Array(e),o.HEAPU8=F=new Uint8Array(e),o.HEAPU16=new Uint16Array(e),o.HEAPU32=new Uint32Array(e),o.HEAPF32=R=new Float32Array(e),o.HEAPF64=x=new Float64Array(e)}var P=o.INITIAL_MEMORY||16777216;(C=o.wasmMemory?o.wasmMemory:new WebAssembly.Memory({initial:P/65536,maximum:32768}))&&(k=C.buffer),P=k.byteLength,L(k);var O=[],U=[],T=[],j=[];var Y=Math.abs,G=Math.ceil,H=Math.floor,J=Math.min,q=0,z=null,W=null;function X(e){q++,o.monitorRunDependencies&&o.monitorRunDependencies(q)}function V(e){if(q--,o.monitorRunDependencies&&o.monitorRunDependencies(q),0==q&&(null!==z&&(clearInterval(z),z=null),W)){var t=W;W=null,t()}}function _(e){throw o.onAbort&&o.onAbort(e),p(e+=""),I=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}o.preloadedImages={},o.preloadedAudios={};function Z(e){return t=e,r="data:application/octet-stream;base64,",String.prototype.startsWith?t.startsWith(r):0===t.indexOf(r);var t,r}var $,ee,te,re="data:application/octet-stream;base64,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AkEgaiQAC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAVIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQIiICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQHzYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAILqAEBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCCgCIEEATQRAIAEoAghBDGpBEkEAEBUgAUF/NgIMDAELIAEoAggiACAAKAIgQX9qNgIgIAEoAggoAiBFBEAgASgCCEEAQgBBAhAiGiABKAIIKAIABEAgASgCCCgCABAyQQBIBEAgASgCCEEMakEUQQAQFQsLCyABQQA2AgwLIAEoAgwhACABQRBqJAAgAAvxAgICfwF+AkAgAkUNACAAIAJqIgNBf2ogAToAACAAIAE6AAAgAkEDSQ0AIANBfmogAToAACAAIAE6AAEgA0F9aiABOgAAIAAgAToAAiACQQdJDQAgA0F8aiAB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ECwQMwsgASgCDCgCVBAWIAEoAgxBADYCVAsgAUEQaiQAC/EBAQF/IwBBEGsiASAANgIMIAEoAgxBADYCACABKAIMQQA6AAQgASgCDEEAOgAFIAEoAgxBAToABiABKAIMQb8GOwEIIAEoAgxBCjsBCiABKAIMQQA7AQwgASgCDEF/NgIQIAEoAgxBADYCFCABKAIMQQA2AhggASgCDEIANwMgIAEoAgxCADcDKCABKAIMQQA2AjAgASgCDEEANgI0IAEoAgxBADYCOCABKAIMQQA2AjwgASgCDEEAOwFAIAEoAgxBgIDYjXg2AkQgASgCDEIANwNIIAEoAgxBADsBUCABKAIMQQA7AVIgASgCDEEANgJUC9oTAQF/IwBBsAFrIgMkACADIAA2AqgBIAMgATYCpAEgAyACNgKgASADQQA2ApABIAMgAygCpAEoAjBBABA7NgKUASADIAMoAqQBKAI4QQAQOzYCmAECQAJAAkACQCADKAKUAUECRgRAIAMoApgBQQFGDQELIAMoApQBQQFGBEAgAygCmAFBAkYNAQsgAygClAFBAkcNASADKAKYAUECRw0BCyADKAKkASIAIAAvAQxBgBByOwEMDAELIAMoAqQBIgAgAC8BDEH/7wNxOwEMIAMoApQBQQJGBEAgA0H14AEgAygCpAEoAjAgAygCqAFBCGoQxAE2ApABIAMoApABRQRAIANBfzYCrAEMAwsLAkAgAygCoAFBgAJxDQAgAygCmAFBAkcNACADQfXGASADKAKkASgCOCADKAKoAUEIahDEATYCSCADKAJIRQRAIAMoApABECQgA0F/NgKsAQwDCyADKAJIIAMoApABNgIAIAMgAygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCAAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBAqNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAuIAMoAhwgAygCpAEpAyAQLgwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLgsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAuCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC4LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAIcEBcgAygCkAEQJCADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQUDYCjAEgAygCHBAXIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECo2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFSADKAKQARAkIANBfzYCrAEMAgsgAygCEEECECAgAygCEEHP0wBBAhBAIAMoAhAgAygCpAEvAVJB/wFxEIoBIAMoAhAgAygCpAEoAhBB//8DcRAgAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBUgAygCEBAXIAMoApABECQgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUDYCDCADKAIQEBcgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKiIANgJMIABFBEAgAygCqAFBCGpBDkEAEBUgAygCkAEQJCADQX82AqwBDAELIAMoAkxBxdMAQcrTACADKAKgAUGAAnEbQQQQQCADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIAsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQICADKAJMIAMoAqQBLwEMECACQCADLQCFAUEBcQRAIAMoAkxB4wAQIAwBCyADKAJMIAMoAqQBKAIQQf//A3EQIAsgAygCpAEoAhQgA0GeAWogA0GcAWoQwwEgAygCTCADLwGeARAgIAMoAkwgAy8BnAEQIAJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIQwBCyADKAJMIAMoAqQBKAIYECELAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAhIAMoAkxBfxAhDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIQwBCyADKAJMQX8QIQsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAhDAELIAMoAkxBfxAhCwsgAygCTCADKAKkASgCMBBSQf//A3EQICADIAMoAqQBKAI0IAMoAqABEIIBQf//A3EgAygCkAFBgAYQggFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAgIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFJB//8DcRAgIAMoAkwgAygCpAEoAjxB//8DcRAgIAMoAkwgAygCpAEvAUAQICADKAJMIAMoAqQBKAJEECECQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAhDAELIAMoAkxBfxAhCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFSADKAJMEBcgAygCkAEQJCADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNkEASARAIAMoAkwQFyADKAKQARAkIANBfzYCrAEMAQsgAygCTBAXIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQhgFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQgQFBAEgEQCADKAKQARAkIANBfzYCrAEMAgsLIAMoApABECQgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCBAUEASARAIANBfzYC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IAMoAoABKAIAIAMpA3CnQQR0aigCACADEPEBBEAgAygCfEEVQQAQFSADEFwgA0J/NwOIAQwDBSADKAKAASgCACADKQNwp0EEdGooAgAoAjQgAygCNBCFASEAIAMoAoABKAIAIAMpA3CnQQR0aigCACAANgI0IAMoAoABKAIAIAMpA3CnQQR0aigCAEEBOgAEIANBADYCNCADEFwgAyADKQNwQgF8NwNwDAILAAsLIAMCfiADKQNgIAMpA2h9Qv///////////wBUBEAgAykDYCADKQNofQwBC0L///////////8ACzcDiAELIAMpA4gBIQQgA0GQAWokACAEC6YBAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCEBD6ASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFSAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEJYBDAELIAIgASAAEJYBC0EASARAIAQoAghBBEG0nAEoAgAQFSAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJwACf0EAQQAgABAFIgAgAEEbRhsiAEUNABpBtJwBIAA2AgBBAAsaC14BAX8jAEEQayIDJAAgAyABQcCAgAJxBH8gAyACQQRqNgIMIAIoAgAFQQALNgIAIAAgAUGAgAJyIAMQESIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAiGiABKAIMQQA2AiQLIAFBEGokAAszAQF/An8gABAGIgFBYUYEQCAAEBIhAQsgAUGBYE8LBH9BtJwBQQAgAWs2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IEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvnCAEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHE5FBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUF/ajYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAUhFBEAgAigCLCACKAIkIAIoAhgQdSACIAIoAhhBf2o2AhgMAQsLIAIgAigCHDYCDANAIAIgAigCLCgC4BY2AhggAigCLEHcFmohASACKAIsIgMoAtAoIQAgAyAAQX9qNgLQKCACKAIsIABBAnQgAWooAgA2AuAWIAIoAiwgAigCJEEBEHUgAiACKAIsKALgFjYCFCACKAIYIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCFCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEF/aiEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAiQgAigCDEECdGogAigCJCACKAIYQQJ0ai8BACACKAIkIAIoAhRBAnRqLwEAajsBACACKAIMIAIoAixB2ChqagJ/IAIoAhggAigCLEHYKGpqLQAAIAIoAhQgAigCLEHYKGpqLQAATgRAIAIoAhggAigCLEHYKGpqLQAADAELIAIoAhQgAigCLEHYKGpqLQAAC0EBajoAACACKAIkIAIoAhRBAnRqIAIoAgwiADsBAiACKAIkIAIoAhhBAnRqIAA7AQIgAiACKAIMIgBBAWo2AgwgAigCLCAANgLgFiACKAIs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AykDKCEBIANBMGokACABC3cBAX8jAEEQayICIAA2AgggAiABNgIEAkACQAJAIAIoAggpAyhC/////w9aDQAgAigCCCkDIEL/////D1oNACACKAIEQYAEcUUNASACKAIIKQNIQv////8PVA0BCyACQQE6AA8MAQsgAkEAOgAPCyACLQAPQQFxC9kCAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgA0EMakIEECo2AggCQCADKAIIRQRAIANBfzYCHAwBCwNAIAMoAhQEQCADKAIUKAIEIAMoAhBxQYAGcQRAIAMoAghCABAtGiADKAIIIAMoAhQvAQgQICADKAIIIAMoAhQvAQoQIAJ/IwBBEGsiACADKAIINgIMIAAoAgwtAABBAXFFCwRAIAMoAhhBCGpBFEEAEBUgAygCCBAXIANBfzYCHAwECyADKAIYIANBDGpCBBA2QQBIBEAgAygCCBAXIANBfzYCHAwECyADKAIULwEKQQBKBEAgAygCGCADKAIUKAIMIAMoAhQvAQqtEDZBAEgEQCADKAIIEBcgA0F/NgIcDAULCwsgAyADKAIUKAIANgIUDAELCyADKAIIEBcgA0EANgIcCyADKAIcIQAgA0EgaiQAIAALaAEBfyMAQRBrIgIgADYCDCACIAE2AgggAkEAOwEGA0AgAigCDARAIAIoAgwoAgQgAigCCHFBgAZxBEAgAiACKAIMLwEKIAIvAQZBBGpqOwEGCyACIAIoAgwoAgA2AgwMAQsLIAIvAQYL8AEBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABQQA2AgQDQCABKAIMBEACQAJAIAEoAgwvAQhB9cYBRg0AIAEoAgwvAQhB9eABRg0AIAEoAgwvAQhBgbICRg0AIAEoAgwvAQhBAUcNAQsgASABKAIMKAIANgIAIAEoAgggASgCDEYEQCABIAEoAgA2AggLIAEoAgxBADYCACABKAIMECQgASgCBARAIAEoAgQgASgCADYCAAsgASABKAIANgIMDAILIAEgASgCDDYCBCABIAEoAgwoAgA2AgwMAQsLIAEoAgghACABQRBqJAAgAAuzBAEBfyMAQUBqIgUkACAFIAA2AjggBSABOwE2IAUgAjYCMCAFIAM2AiwgBSAENgIoIAUgBSgCOCAFLwE2rRAqIgA2AiQC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ACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCUAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECI+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFSADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGc2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoERAAQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwviAgECfyMAQSBrIgMkAAJ/AkACQEH0lwEgASwAABCYAUUEQEG0nAFBHDYCAAwBC0GYCRAZIgINAQtBAAwBCyACQQBBkAEQMyABQSsQmAFFBEAgAkEIQQQgAS0AAEHyAEYbNgIACwJAIAEtAABB4QBHBEAgAigCACEBDAELIABBA0EAEAQiAUGACHFFBEAgAyABQYAIcjYCECAAQQQgA0EQahAEGgsgAiACKAIAQYABciIBNgIACyACQf8BOgBLIAJBgAg2AjAgAiAANgI8IAIgAkGYAWo2AiwCQCABQQhxDQAgAyADQRhqNgIAIABBk6gBIAMQDg0AIAJBCjoASwsgAkEaNgIoIAJBGzYCJCACQRw2AiAgAkEdNgIMQdygASgCAEUEQCACQX82AkwLIAJBsKEBKAIANgI4QbChASgCACIABEAgACACNgI0C0GwoQEgAjYCACACCyEAIANBIGokACAACxoAIAAgARCFAiIAQQAgAC0AACABQf8BcUYbCxgAIAAoAkxBf0wEQCAAEJoBDwsgABCaAQtgAgJ/AX4gACgCKCEBQQEhAiAAQgAgAC0AAEGAAXEEf0ECQQEgACgCFCAAKAIc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KAIYKQMwWgRAIAIoAhhBCGpBEkEAEBUgAkF/NgIcDAELIAIoAhgoAhhBAnEEQCACKAIYQQhqQRlBABAVIAJBfzYCHAwBCyACIAIoAhggAikDEEEAIAIoAhhBCGoQTyIANgIMIABFBEAgAkF/NgIcDAELIAIoAhgoAlAgAigCDCACKAIYQQhqEFlBAXFFBEAgAkF/NgIcDAELIAIoAhggAikDEBCgAgRAIAJBfzYCHAwBCyACKAIYKAJAIAIpAxCnQQR0akEBOgAMIAJBADYCHAsgAigCHCEAIAJBIGokACAAC5gCAAJAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQCABQXdqDgoAAQIJAwQFBgkHCAsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgACACQRYRBAALDwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC0oBA38gACgCACwAAEFQakEKSQRAA0AgACgCACIBLAAAIQMgACABQQFqNgIAIAMgAkEKbGpBUGohAiABLAABQVBqQQpJDQALCyACC38CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEKQBIQAgASgCAEFAags2AgAgAA8LIAEgAkGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvwUgAAsLEgAgAEUEQEEADwsgACABELQCC+UBAQJ/IAJBAEchAwJAAkACQCACRQ0AIABBA3FFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiAAQQFqIQAgAkF/aiICQQBHIQMgAkUNASAAQQNxDQALCyADRQ0BCwJAIAAtAAAgAUH/AXFGDQAgAkEESQ0AIAFB/wFxQYGChAhsIQMDQCAAKAIAIANzIgRBf3MgBEH//ft3anFBgIGChHhxDQEgAEEEaiEAIAJB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HAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBkiADYCDAJAIABFBEAgAygCEEEBQbScASgCABAVIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5gQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcUVFNgIQIAIoAihBAEEAIAIoAhAQVyACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAdIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAaGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBBzGiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAaGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBoaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBoaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQGhogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBBzGiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAICf0EAIAIoAiRBBEcNABpBACACKAIoKAIAKAIEDQAaIAIoAhwgAigCGEYLQQFxRUU2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBXIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHQsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHQEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCAB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A0hCGnxBABAoQQBIBEAgAigCKEEIaiACKAIoKAIAEBggAkF/NgIsDAELIAIgAigCKCgCAEIEIAJBGGogAigCKEEIahBBIgA2AhQgAEUEQCACQX82AiwMAQsgAiACKAIUEB47ARIgAiACKAIUEB47ARAgAigCFBBIQQFxRQRAIAIoAhQQFyACKAIoQQhqQRRBABAVIAJBfzYCLAwBCyACKAIUEBcgAi8BEEEASgRAIAIoAigoAgAgAi8BEq1BARAoQQBIBEAgAigCKEEIakEEQbScASgCABAVIAJBfzYCLAwCCyACQQAgAigCKCgCACACLwEQQQAgAigCKEEIahBgNgIIIAIoAghFBEAgAkF/NgIsDAILIAIoAgggAi8BEEGAAiACQQxqIAIoAihBCGoQhAFBAXFFBEAgAigCCBAWIAJBfzYCLAwCCyACKAIIEBYgAigCDARAIAIgAigCDBCDATYCDCACKAIcKAIAKAI0IAIoAgwQhQEhACACKAIcKAIAIAA2AjQLCyACKAIcKAIAQQE6AAQCQCACKAIcKAIERQ0AIAIoAhwoAgQtAARBAXENACACKAIcKAIEIAIoAhwoAgAoAjQ2AjQgAigCHCgCBEEBOgAECyACQQA2AiwLIAIoAiwhACACQTBqJAAgAAsHACAAKAIAC4wBAQF/IwBBIGsiAiQAIAIgADYCGCACIAE2AhQgAkEANgIQAkAgAigCFEUEQCACQQA2AhwMAQsgAiACKAIUEBk2AgwgAigCDEUEQCACKAIQQQ5BABAVIAJBADYCHAwBCyACKAIMIAIoAhggAigCFBAaGiACIAIoAgw2AhwLIAIoAhwhACACQSBqJAAgAAsYAEGonAFCADcCAEGwnAFBADYCAEGonAELiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBUgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAiNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCAB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IAIgADYCSCACIAE2AkQgAkEIaiIAEDwCQCACKAJIIAAQOQRAIwBBEGsiACACKAJINgIMIAIgACgCDEEMajYCBCMAQRBrIgAgAigCBDYCDAJAIAAoAgwoAgBBBUcNACMAQRBrIgAgAigCBDYCDCAAKAIMKAIEQSxHDQAgAkEANgJMDAILIAIoAkQgAigCBBBEIAJBfzYCTAwBCyACQQE2AkwLIAIoAkwhACACQdAAaiQAIAAL6gEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI2AiAjAEEQayIAIANBCGoiATYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCADIAMoAiggARD7ASIANgIYAkAgAEUEQCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIAMgAygCGCADKAIkIANBCGoQkgEiADYCHCAARQRAIAMoAhgQHCADKAIgIANBCGoiABCTASAAEDggA0EANgIsDAELIANBCGoQOCADIAMoAhw2AiwLIAMoAiwhACADQTBqJAAgAAvIAgEBfyMAQRBrIgEkACABIAA2AgggAUHYABAZNgIEAkAgASgCBEUEQCABKAIIQQ5BABAVIAFBADYCDAwBCyABKAIIEIEDIQAgASgCBCAANgJQIABFBEAgASgCBBAWIAFBADYCDAwBCyABKAIEQQA2AgAgASgCBEEANgIEIwBBEGsiACABKAIEQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAEoAgRBADYCGCABKAIEQQA2AhQgASgCBEEANgIcIAEoAgRBADYCJCABKAIEQQA2AiAgASgCBEEAOgAoIAEoAgRCADcDOCABKAIEQgA3AzAgASgCBEEANgJAIAEoAgRBADYCSCABKAIEQQA2AkQgASgCBEEANgJMIAEoAgRBADYCVCABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAuBAQEBfyMAQSBrIgIkACACIAA2AhggAkIANwMQIAJCfzcDCCACIAE2AgQCQAJAIAIoAhgEQCACKQMIQn9ZDQELIAIoAgRBEkEAEBUgAkEANgIcDAELIAIgAigCGCACKQMQIAIpAwggAigCBBD/ATYCHAsgAigCHCEAIAJBIGokACAAC80BAQJ/IwBBIGsiASQAIAEgADYCGCAB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CyAAIAFBf2oiAWoiAi0AAEEvRw0ACyACC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkG/f2pBGkkbIAEtAAAiAkEgciACIAJBv39qQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBv39qQRpJGyABLQAAIgBBIHIgACAAQb9/akEaSRtrC+gDAQN/IwBBsAFrIgEkACABIAA2AqgBIAEoAqgBEDgCQAJAIAEoAqgBKAIAQQBOBEAgASgCqAEoAgBBoA4oAgBIDQELIAEgASgCqAEoAgA2AhAgAUEgakG8lwEgAUEQahBvIAFBADYCpAEgASABQSBqNgKgAQwBCyABIAEoAqgBKAIAQQJ0QaANaigCADYCpAECQAJAAkACQCABKAKoASgCAEECdEGwDmooAgBBf2oOAgABAgsgASABKAKoASgCBEGQmgEoAgAQpAI2AqABDAILIwBBEGsiACABKAKoASgCBDYCDCABQQAgACgCDGtBAnRB2NQAaigCADYCoAEMAQsgAUEANgKgAQsLAkAgASgCoAFFBEAgASABKAKkATYCrAEMAQsgASABKAKgARAsAn8gASgCpAEEQCABKAKkARAsQQJqDAELQQALakEBahAZIgA2AhwgAEUEQCABQdgNKAIANgKsAQwBCyABKAIcIQACfyABKAKkAQRAIAEoAqQBDAELQdSXAQshAkHVlwFB1JcBIAEoAqQBGyEDIAEgASgCoAE2AgggASADNgIEIAEgAjYCACAAQc2XASABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAtxAQN/AkACQANAIAAgAkHQiAFqLQAARwRAQdcAIQMgAkEBaiICQdcARw0BDAILCyACIgMNAEGwiQEhAAwBC0GwiQEhAgNAIAItAAAhBCACQQFqIgAhAiAEDQAgACECIANBf2oiAw0ACwsgASgCFBogAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGhogACAAKAIUIAFqNgIUIAILigEBAn8jAEGgAWsiAyQAIANBCGpBuIcBQZABEBoaIAMgADYCNCADIAA2AhwgA0F+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QQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACwYAQaShAQsGAEGgoQELBgBBmKEBC9kDAgJ/An4jAEEgayICJAACQCABQv///////////wCDIgVCgICAgICAwP9DfCAFQoCAgICAgMCAvH98VARAIAFCBIYgAEI8iIQhBCAAQv//////////D4MiAEKBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCEEDAILIARCgICAgICAgIBAfSEEIABCgICAgICAgIAIhUIAUg0BIARCAYMgBHwhBAwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQQMAQtCgICAgICAgPj/ACEEIAVC////////v//DAFYNAEIAIQQgBUIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qELMCIAIgACAEQYH4ACADaxCyAiACKQMIQgSGIAIpAwAiAEI8iIQhBCACKQMQIAIpAxiEQgBSrSAAQv//////////D4OEIgBCgYCAgICAgIAIWgRAIARCAXwhBAwBCyAAQoCAgICAgICACIVCAFINACAEQgGDIAR8IQQLIAJBIGokACAEIAFCgICAgICAgICAf4OEvwtQAQF+AkAgA0HAAHEEQCACIANBQGqtiCEBQgAhAgwBCyADRQ0AIAJBwAAgA2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAuLAgACQCAABH8gAUH/AE0NAQJAQZCaASgCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAg8LIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCAfGpB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LC0G0nAFBGTYCAEF/BUEBCw8LIAAgAToAAEEBC74CAQF/IwBBwMAAayIDJAAgAyAANgK4QCADIAE2ArRAIAMgAjcDqEACQCADKAK0QBBJQQBIBEAgAygCuEBBCGogAygCtEAQGCADQX82ArxADAELIANBADYCDCADQgA3AxADQAJAIAMgAygCtEAgA0EgakKAwAAQLyICNwMYIAJCAFcNACADKAK4QCADQSBqIAMpAxgQNkEASARAIANBfzYCDAUgAykDGEKAwABSDQIgAygCuEAoAlRFDQIgAykDqEBCAFcNAiADIAMpAxggAykDEHw3AxAgAygCuEAoAlQgAykDELkgAykDqEC5oxBYDAILCwsgAykDGEIAUwRAIAMoArhAQQhqIAMoArRAEBggA0F/NgIMCyADKAK0QBAyGiADIAMoAgw2ArxACyADKAK8QCEAIANBwMAAaiQAIAALqgEBAX8jAEEwayIDJAAgAyAANgIoIAMgATYCJCADIAI3AxggAyADKAIoKAIAEDUiAjcDEAJAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoIAMoAiQgAykDGBCQAyICNwMAIAJCAFMEQCADQX82AiwMAQsgAyADKAIoKAIAEDUiAjcDCCACQgBTBEAgA0F/NgIsDAELIANBADYCLAsgAygCLCEAIANBMGokACAAC/4BAQF/IwBBoMAAayICJAAgAiAANgKYQCACIAE3A5BAIAIgAikDkEC6OQMAAkADQCACKQOQQEIAVgRAIAICfkKAwAAgAikDkEBCgMAAVg0AGiACKQOQQAs+AgwgAigCmEAoAgAgAkEQaiACKAIMrSACKAKYQEEIahBhQQBIBEAgAkF/NgKcQAwDCyACKAKYQCACQRBqIAIoAgytEDZBAEgEQCACQX82ApxADAMFIAIgAikDkEAgAjUCDH03A5BAIAIoAphAKAJUIAIrAwAgAikDkEC6oSACKwMAoxBYDAILAAsLIAJBADYCnEALIAIoApxAIQAgAkGgwABqJAAgAAvnEQIBfwF+IwBBoAFrIgMkACADIAA2ApgBIAMgATYClAEgAyACNgKQAQJAIAMoApQBIANBOGoQOUEASARAIAMoApgBQQhqIAMoApQBEBggA0F/NgKcAQwBCyADKQM4QsAAg1AEQCADIAMpAzhCwACENwM4IANBADsBaAsCQAJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQsgAy8BaEUNACADKAKQASADLwFoNgIQDAELAkACQCADKAKQASgCEA0AIAMpAzhCBINQDQAgAyADKQM4QgiENwM4IAMgAykDUDcDWAwBCyADIAMpAzhC9////w+DNwM4CwsgAykDOEKAAYNQBEAgAyADKQM4QoABhDcDOCADQQA7AWoLIANBgAI2AiQCQCADKQM4QgSDUARAIAMgAygCJEGACHI2AiQgA0J/NwNwDAELIAMoApABIAMpA1A3AyggAyADKQNQNwNwAkAgAykDOEIIg1AEQAJAAkACQAJAAkACfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcQ4NAgMDAwMDAwMBAwMDAAMLIANClMLk8w83AxAMAwsgA0KDg7D/DzcDEAwCCyADQv////8PNwMQDAELIANCADcDEAsgAykDUCADKQMQVgRAIAMgAygCJEGACHI2AiQLDAELIAMoApABIAMpA1g3AyALCyADIAMoApgBKAIAEDUiBDcDiAEgBEIAUwRAIAMoApgBQQhqIAMoApgBKAIAEBggA0F/NgKcAQwBCyADKAKQASIAIAAvAQxB9/8DcTsBDCADIAMoApgBIAMoApABIAMoAiQQXiIANgIoIABBAEgEQCADQX82ApwBDAELIAMgAy8BaAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxRzoAIiADIAMtACJBAXEEfyADLwFoQQBHBUEAC0EBcToAISADIAMvAWgEfyADLQAhBUEBC0EBcToAICADIAMtACJBAXEEfyADKAKQASgCEEEARwVBAAtBAXE6AB8gAwJ/QQEgAy0AIkEBcQ0AGkEBIAMoApABKAIAQYABcQ0AGiADKAKQAS8BUiADLwFqRwtBAXE6AB4gAyADLQAeQQFxBH8gAy8BakEARwVBAAtBAXE6AB0gAyADLQAeQQFxBH8gAygCkAEvAVJBAEcFQQALQQFxOgAcIAMgAygClAE2AjQjAEEQayIAIAMoAjQ2AgwgACgCDCIAIAAoAjBBAWo2AjAgAy0AHUEBcQRAIAMgAy8BakEAEHciADYCDCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADLwFqQQAgAygCmAEoAhwgAygCDBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAy0AIUEBcQRAIAMgAygCmAEgAygCNCADLwFoEKsBIgA2AjAgAEUEQCADKAI0EBwgA0F/NgKcAQwCCyADKAI0EBwgAyADKAIwNgI0CyADLQAgQQFxBEAgAyADKAKYASADKAI0QQAQqgEiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtAB9BAXEEQCADIAMoApgBIAMoAjQgAygCkAEoAhAgAygCkAEvAVAQwgIiADYCMCAARQRAIAMoAjQQHCADQX82ApwBDAILIAMoAjQQHCADIAMoAjA2AjQLIAMtABxBAXEEQCADQQA2AgQCQCADKAKQASgCVARAIAMgAygCkAEoAlQ2AgQMAQsgAygCmAEoAhwEQCADIAMoApgBKAIcNgIECwsgAyADKAKQAS8BUkEBEHciADYCCCAARQRAIAMoApgBQQhqQRhBABAVIAMoAjQQHCADQX82ApwBDAILIAMgAygCmAEgAygCNCADKAKQAS8BUkEBIAMoAgQgAygCCBEGACIANgIwIABFBEAgAygCNBAcIANBfzYCnAEMAgsgAygCNBAcIAMgAygCMDYCNAsgAyADKAKYASgCABA1IgQ3A4ABIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAyADKAKYASADKAI0IAMpA3AQtQI2AiwgAygCNCADQThqEDlBAEgEQCADKAKYAUEIaiADKAI0EBggA0F/NgIsCyADIAMoAjQQuwIiADoAIyAAQRh0QRh1QQBIBEAgAygCmAFBCGogAygCNBAYIANBfzYCLAsgAygCNBAcIAMoAixBAEgEQCADQX82ApwBDAELIAMgAygCmAEoAgAQNSIENwN4IARCAFMEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAygCmAEoAgAgAykDiAEQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgAykDOELkAINC5ABSBEAgAygCmAFBCGpBFEEAEBUgA0F/NgKcAQwBCyADKAKQASgCAEEgcUUEQAJAIAMpAzhCEINCAFIEQCADKAKQASADKAJgNgIUDAELIAMoApABQRRqEAEaCwsgAygCkAEgAy8BaDYCECADKAKQASADKAJkNgIYIAMoApABIAMpA1A3AyggAygCkAEgAykDeCADKQOAAX03AyAgAygCkAEgAygCkAEvAQxB+f8DcSADLQAjQQF0cjsBDCADKAKQASADKAIkQYAIcUEARxCKAyADIAMoApgBIAMoApABIAMoAiQQXiIANgIsIABBAEgEQCADQX82ApwBDAELIAMoAiggAygCLEcEQCADKAKYAUEIakEUQQAQFSADQX82ApwBDAELIAMoApgBKAIAIAMpA3gQqAFBAEgEQCADKAKYAUEIaiADKAKYASgCABAYIANBfzYCnAEMAQsgA0EANgKcAQsgAygCnAEhACADQaABaiQAIAALrwIBAX8jAEEgayICIAA2AhwgAiABNgIYIAJBADYCFCACQgA3AwACQCACKAIcLQAoQQFxRQRAIAIoAhwoAhggAigCHCgCFEYNAQsgAkEBNgIUCyACQgA3AwgDQCACKQMIIAIoAhwpAzBUBEACQAJAIAIoAhwoAkAgAikDCKdBBHRqKAIIDQAgAigCHCgCQCACKQMIp0EEdGotAAxBAXENACACKAIcKAJAIAIpAwinQQR0aigCBEUNASACKAIcKAJAIAIpAwinQQR0aigCBCgCAEUNAQsgAkEBNgIUCyACKAIcKAJAIAIpAwinQQR0ai0ADEEBcUUEQCACIAIpAwBCAXw3AwALIAIgAikDCEIBfDcDCAwBCwsgAigCGARAIAIoAhggAikDADcDAAsgAigCFAuMEAMCfwF+AXwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIAEgASgCWCABQUBrELkCNgIkIAEpA0BQBEACQCABKAJYKAIEQQhxRQRAIAEoAiRFDQELIAEoAlgoAgAQhAJBAEgEQAJAAn8jAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCAEEWRgsEQCMAQRBrIgIgASgC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NgI8IAEoAlAgASgCODYCQCABKAJYIAEoAjAQ1gIgASABKAJYKAIMNgJIIAEgASgCWCgCEDYCQCABIAEoAlgoAgA2AkwgASABKAJYKAIENgJEIAEgASgCUCgCPDYCPCABIAEoAlAoAkA2AjggASgCUCgCBEG//gBGBEAgASgCUEF/NgLINwsMDQsgASgCUEEANgLINwNAAkAgASABKAJQKAJQIAEoAjxBASABKAJQKAJYdEEBa3FBAnRqKAEANgEgIAEtACEgASgCOE0NACABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCwJAIAEtACBFDQAgAS0AIEHwAXENACABIAEoASA2ARgDQAJAIAEgASgCUCgCUCABLwEaIAEoAjxBASABLQAZIAEtABhqdEEBa3EgAS0AGXZqQQJ0aigBADYBICABLQAZIAEtACFqIAEoAjhNDQAgASgCREUNDiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtABl2NgI8IAEgASgCOCABLQAZazYCOCABKAJQIgAgAS0AGSAAKALIN2o2Asg3CyABIAEoAjwgAS0AIXY2AjwgASABKAI4IAEtACFrNgI4IAEoAlAiACABLQAhIAAoAsg3ajYCyDcgASgCUCABLwEiNgJEIAEtACBFBEAgASgCUEHN/gA2AgQMDQsgAS0AIEEgcQRAIAEoAlBBfzYCyDcgASgCUEG//gA2AgQMDQsgAS0AIEHAAHEEQCABKAJYQYfxADYCGCABKAJQQdH+ADYCBAwNCyABKAJQIAEtACBBD3E2AkwgASgCUEHJ/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0NIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCRCABKAI8QQEgASgCUCgCTHRBAWtxajYCRCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACAB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KAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AiggAigCKCACKAIMSQRAIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLCyACIAIoAgQgAigCLEEBIAIoAgx0QQFrcWo2AgQgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAIoAkggAigCRGs2AgwCQCACKAIEIAIoAgxLBEAgAiACKAIEIAIoAgxrNgIMIAIoAgwgAigCOEsEQCACKAJUKALENwRAIAIoAlxBsO0ANgIYIAIoAlRB0f4ANgIEDAoLCyACIAIoAjA2AgACQCACKAI0RQRAIAIgAigCACACKAI8IAIoAgxrajYCACACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCSCACKAIEazYCAAsMAQsCQCACKAI0IAIoAgxJBEAgAiACKAIAIAIoAjwgAigCNGogAigCDGtqNgIAIAIgAigCDCACKAI0azYCDCACKAIMIAIoAghJBEAgAiACKAIIIAIoAgxrNgIIA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgxBf2oiADYCDCAADQALIAIgAigCMDYCACACKAI0IAIoAghJBEAgAiACKAI0NgIMIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwwBCyACIAIoAgAgAigCNCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALCwsDQCACKAIIQQJNRQRAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCAwBCwsMAQsgAiACKAJIIAIoAgRrNgIAA0AgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIIQQNrNgIIIAIoAghBAksNAAsLIAIoAggEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIoAghBAUsEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAACwsMAgsgAigCDEHAAHFFBEAgAkEQaiACKAIgIAIvARIgAigCLEEBIAIoAgx0QQFrcWpBAnRqKAEANgEADAELCyACKAJcQc7tADYCGCACKAJUQdH+ADYCBAwECwwCCyACKAIMQcAAcUUEQCACQRBqIAIoAiQgAi8BEiACKAIsQQEgAigCDHRBAWtxakECdGooAQA2AQAMAQsLIAIoAgxBIHEEQCACKAJUQb/+ADYCBAwCCyACKAJcQeTtADYCGCACKAJUQdH+ADYCBAwBC0EAIQAgAigCUCACKAJMSQR/IAIoAkggAigCQEkFQQALQQFxDQELCyACIAIoAihBA3Y2AgggAiACKAJQIAIoAghrNgJQIAIgAigCKCACKAIIQQN0azYCKCACIAIoAixBASACKAIodEEBa3E2AiwgAigCXCACKAJQNgIAIAIoAlwgAigCSDYCDCACKAJcAn8gAigCUCACKAJMSQRAIAIoAkwgAigCUGtBBWoMAQtBBSACKAJQIAIoAkxraws2AgQgAigCXAJ/IAIoAkggAigCQEkEQCACKAJAIAIoAkhrQYECagwBC0GBAiACKAJIIAIoAkBraws2AhAgAigCVCACKAIsNgI8IAIoAlQgAigCKDYCQAvBEAECfyMAQSBrIgIk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LSAAKAKgLUEBdGogAi8BEDsBACACLQATIQEgAigCKCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BEEF/ajsBECACKAIoIAItABNBgNkAai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIoQYgTagJ/IAIvARBBgAJIBEAgAi8BEC0AgFUMAQsgAi8BEEEHdUGAAmotAIBVC0ECdGoiACAALwEAQQFqOwEAIAIgAigCKCgCoC0gAigCKCgCnC1BAWtGNgIgIAIoAigiACAAKAJ0IAIoAigoAmBrNgJ0IAIoAigiACACKAIoKAJgIAAoAmxqNgJsIAIoAihBADYCYAwBCyACIAIoAigiACgCOCAAKAJsai0AADoADyACKAIoIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAA8hASACKAIoIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCKCACLQAPQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdEF/ajYCdCACKAIoIgAgACgCbEEBajYCbAsgAigCIARAIAIoAigCfyACKAIoKAJcQQBOBEAgAigCKCgCOCACKAIoKAJcagwBC0EACyACKAIoKAJsIAIoAigoAlxrQQAQKSACKAIoIAIoAigoAmw2AlwgAigCKCgCABAdIAIoAigoAgAoAhBFBEAgAkEANgIsDAQLCwwBCwsgAigCKEEANgK0LSACKAIkQQRGBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBARApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQI2AiwMAgsgAkEDNgIsDAELIAIoAigoAqAtBEAgAigCKAJ/IAIoAigoAlxBAE4EQCACKAIoKAI4IAIoAigoAlxqDAELQQALIAIoAigoAmwgAigCKCgCXGtBABApIAIoAiggAigCKCgCbDYCXCACKAIoKAIAEB0gAigCKCgCACgCEEUEQCACQQA2AiwMAgsLIAJBATYCLAsgAigCLCEAIAJBMGokACAAC8AFAQJ/IwBBIGsiAiQA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AgQgAkEANgIQA0AgAigCEEEPSkUEQCACKAI8QbwWaiACKAIQQQF0akEAOwEAIAIgAigCEEEBajYCEAwBCwsgAigCNCACKAI8QdwWaiACKAI8KALUKEECdGooAgBBAnRqQQA7AQIgAiACKAI8KALUKEEBajYCHANAIAIoAhxBvQRIBEAgAiACKAI8QdwWaiACKAIcQQJ0aigCADYCGCACIAIoAjQgAigCNCACKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgAigCECACKAIgSgRAIAIgAigCIDYCECACIAIoAgRBAWo2AgQLIAIoAjQgAigCGEECdGogAigCEDsBAiACKAIYIAIoAjBMBEAgAigCPCACKAIQQQF0akG8FmoiACAALwEAQQFqOwEAIAJBADYCDCACKAIYIAIoAiROBEAgAiACKAIoIAIoAhggAigCJGtBAnRqKAIANgIMCyACIAIoAjQgAigCGEECdGovAQA7AQogAigCPCIAIAAoAqgtIAIvAQogAigCECACKAIMamxqNgKoLSACKAIsBEAgAigCPCIAIAAoAqwtIAIvAQogAigCLCACKAIYQQJ0ai8BAiACKAIMamxqNgKsLQsLIAIgAigCHEEBajYCHAwBCwsCQCACKAIERQ0AA0AgAiACKAIgQQFrNgIQA0AgAigCPEG8FmogAigCEEEBdGovAQBFBEAgAiACKAIQQX9qNgIQDAELCyACKAI8IAIoAhBBAXRqQbwWaiIAIAAvAQBBf2o7AQAgAigCPCACKAIQQQF0akG+FmoiACAALwEAQQJqOwEAIAIoAjwgAigCIEEBdGpBvBZqIgAgAC8BAEF/ajsBACACIAIoAgRBAms2AgQgAigCBEEASg0ACyACIAIoAiA2AhADQCACKAIQRQ0BIAIgAigCPEG8FmogAigCEEEBdGovAQA2AhgDQCACKAIYBEAgAigCPEHcFmohACACIAIoAhxBf2oiATYCHCACIAFBAnQgAGooAgA2AhQgAigCFCACKAIwSg0BIAIoAjQgAigCFEECdGovAQIgAigCEEcEQCACKAI8IgAgACgCqC0gAigCNCACKAIUQQJ0ai8BACACKAIQIAIoAjQgAigCFEECdGovAQJrbGo2AqgtIAIoAjQgAigCFEECdGogAigCEDsBAgsgAiACKAIYQX9qNgIYDAELCyACIAIo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KAIMIAEoAgxB/BRqNgKwFiABKAIMQajbADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQuQEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFAwBCwsDQCADIAMoAhAiAEF/ajYCECAABEAgAyADKAIUIgBBAWo2AhQgAyAALQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDAwBCwsgAyADKAIYQfH/A3A2AhggAyADKAIMQfH/A3A2AgwLIAMgAygC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KAIEDAELIAMoAgwoAgALQYAEEF4iADYCECAAQQBIBEAgA0J/NwO4AQwDCyADKAIQBEAgA0EBOgAXCyADIAMpAxhCAXw3AxgMAQsLIAMgAygCtAEoAgAQNSICNwMgIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAYIANCfzcDuAEMAQsgAyADKQMgIAMpA6ABfTcDmAECQCADKQOgAUL/////D1gEQCADKQOoAUL//wNYDQELIANBAToAFwsgAyADQTBqQuIAECoiADYCLCAARQRAIAMoArQBQQhqQQ5BABAVIANCfzcDuAEMAQsgAy0AF0EBcQRAIAMoAixBttMAQQQQQCADKAIsQiwQLiADKAIsQS0QICADKAIsQS0QICADKAIsQQAQISADKAIsQQAQISADKAIsIAMpA6gBEC4gAygCLCADKQOoARAuIAMoAiwgAykDmAEQLiADKAIsIAMpA6ABEC4gAygCLEG70wBBBBBAIAMoAixBABAhIAMoAiwgAykDoAEgAykDmAF8EC4gAygCLEEBECELIAMoAixBwNMAQQQQQCADKAIsQQAQISADKAIsAn5C//8DIAMpA6gBQv//A1oNABogAykDqAELp0H//wNxECAgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAgIAMoAiwCf0F/IAMpA5gBQv////8PWg0AGiADKQOYAacLECEgAygCLAJ/QX8gAykDoAFC/////w9aDQAaIAMpA6ABpwsQISADAn8gAygCtAEtAChBAXEEQCADKAK0ASgCJAwBCyADKAK0ASgCIAs2ApQBIAMoAiwCfyADKAKUAQRAIAMoApQBLwEEDAELQQALQf//A3EQIAJ/IwBBEGsiACADKAIsNgIMIAAoAgwtAABBAXFFCwRAIAMoArQBQQhqQRRBABAVIAMoAiwQFyADQn83A7gBDAELIAMoArQBAn8jAEEQayIAIAMoAiw2AgwgACgCDCgCBAsCfiMAQRBrIgAgAygCLDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCLBAXIANCfzcDuAEMAQsgAygCLBAXIAMoApQBBEAgAygCtAEgAygClAEoAgAgAygClAEvAQStEDZBAEgEQCADQn83A7gBDAILCyADIAMpA5gBNwO4AQsgAykDuAEhAiADQcABaiQAIAILBwAgACgCIAsIAEEBQTgQewsDAAELC/KNAScAQYAIC5QFTm8gZXJyb3IATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAU2VlayBlcnJvcgBSZWFkIGVycm9yAFdyaXRlIGVycm9yAENSQyBlcnJvcgBDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQATm8gc3VjaCBmaWxlAEZpbGUgYWxyZWFkeSBleGlzdHMAQ2FuJ3Qgb3BlbiBmaWxlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAFpsaWIgZXJyb3IATWFsbG9jIGZhaWx1cmUARW50cnkgaGFzIGJlZW4gY2hhbmdlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABQcmVtYXR1cmUgZW5kIG9mIGZpbGUASW52YWxpZCBhcmd1bWVudABOb3QgYSB6aXAgYXJjaGl2ZQBJbnRlcm5hbCBlcnJvcgBaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQAQ2FuJ3QgcmVtb3ZlIGZpbGUARW50cnkgaGFzIGJlZW4gZGVsZXRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAFJlYWQtb25seSBhcmNoaXZlAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAFJlc291cmNlIHN0aWxsIGluIHVzZQBUZWxsIGVycm9yAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAEGhDQuAAQQAAAkEAAAvBAAATgQAAGkEAAB0BAAAfwQAAIsEAACVBAAAtwQAAMQEAADYBAAA6AQAAAkFAAAUBQAAIwUAADoFAABbBQAAcQUAAIIFAACUBQAAowUAALwFAADOBQAA5QUAAAUGAAAXBgAALAYAAEQGAABcBgAAcgYAAH0GAAAgAEG4DgsRAQAAAAEAAAABAAAAAQAAAAEAQdwOCwkBAAAAAQAAAAIAQYgPCwEBAEGoDwsB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CAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgA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cnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAFVua25vd24gZXJyb3IgJWQAJXMlcyVzAAA6IAAvcHJvYy9zZWxmL2ZkLwAvZGV2L3VyYW5kb20AcndhACVzLlhYWFhYWAByK2IAcmIAUEsFBgBBkJgBC04KAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAAQAAAAgAAAAQTAAAMEwAQZCaAQsCgFAAQciaAQsJHwAAAGRNAAADAEHkmgELjAEt9FFYz4yxwEb2tcspMQPHBFtwMLRd/SB4f4ua2FkpUGhIiaunVgNs/7fNiD/Ud7QrpaNw8brkqPxBg/3Zb+GKei8tdJYHHw0JXgN2LHD3QKUsp29XQaiqdN+gWGQDSsfEPFOur18YBBWx420ohqsMpL9D8OlQgTlXFlI3/////////////////////w==";function Ae(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?f.get(r)():f.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(o)}}function ne(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();return o.extraStackTrace&&(e+="\n"+o.extraStackTrace()),e.replace(/\b_Z[\w\d_]+/g,(function(e){return e==e?e:e+" ["+e+"]"}))}function oe(e,t){var r=new Date(1e3*M[e>>2]);M[t>>2]=r.getUTCSeconds(),M[t+4>>2]=r.getUTCMinutes(),M[t+8>>2]=r.getUTCHours(),M[t+12>>2]=r.getUTCDate(),M[t+16>>2]=r.getUTCMonth(),M[t+20>>2]=r.getUTCFullYear()-1900,M[t+24>>2]=r.getUTCDay(),M[t+36>>2]=0,M[t+32>>2]=0;var A=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-A)/864e5|0;return M[t+28>>2]=n,oe.GMTString||(oe.GMTString=S("GMT")),M[t+40>>2]=oe.GMTString,t}Z(re)||($=re,re=o.locateFile?o.locateFile($,u):u+$),U.push({func:function(){Se()}});var ie={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,A=e.length-1;A>=0;A--){var n=e[A];"."===n?e.splice(A,1):".."===n?(e.splice(A,1),r++):r&&(e.splice(A,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=ie.splitPath(e),r=t[0],A=t[1];return r||A?(A&&(A=A.substr(0,A.length-1)),r+A):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=ie.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return ie.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return ie.normalize(e.join("/"))},join2:function(e,t){return ie.normalize(e+"/"+t)}};function se(e){return M[ke()>>2]=e,e}var ae={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var A=r>=0?arguments[r]:pe.cwd();if("string"!=typeof A)throw new TypeError("Arguments to path.resolve must be strings");if(!A)return"";e=A+"/"+e,t="/"===A.charAt(0)}return(t?"/":"")+(e=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ae.resolve(e).substr(1),t=ae.resolve(t).substr(1);for(var A=r(e.split("/")),n=r(t.split("/")),o=Math.min(A.length,n.length),i=o,s=0;s0?r.slice(0,A).toString("utf-8"):null))return null;e.input=we(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(h(w(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(h(w(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(w(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(p(w(e.output,0)),e.output=[])}}},ge={ops_table:null,mount:function(e){return ge.createNode(null,"/",16895,0)},createNode:function(e,t,r,A){if(pe.isBlkdev(r)||pe.isFIFO(r))throw new pe.ErrnoError(63);ge.ops_table||(ge.ops_table={dir:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,lookup:ge.node_ops.lookup,mknod:ge.node_ops.mknod,rename:ge.node_ops.rename,unlink:ge.node_ops.unlink,rmdir:ge.node_ops.rmdir,readdir:ge.node_ops.readdir,symlink:ge.node_ops.symlink},stream:{llseek:ge.stream_ops.llseek}},file:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:{llseek:ge.stream_ops.llseek,read:ge.stream_ops.read,write:ge.stream_ops.write,allocate:ge.stream_ops.allocate,mmap:ge.stream_ops.mmap,msync:ge.stream_ops.msync}},link:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,readlink:ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:pe.chrdev_stream_ops}});var n=pe.createNode(e,t,r,A);return pe.isDir(n.mode)?(n.node_ops=ge.ops_table.dir.node,n.stream_ops=ge.ops_table.dir.stream,n.contents={}):pe.isFile(n.mode)?(n.node_ops=ge.ops_table.file.node,n.stream_ops=ge.ops_table.file.stream,n.usedBytes=0,n.contents=null):pe.isLink(n.mode)?(n.node_ops=ge.ops_table.link.node,n.stream_ops=ge.ops_table.link.stream):pe.isChrdev(n.mode)&&(n.node_ops=ge.ops_table.chrdev.node,n.stream_ops=ge.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n),n},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var t=[],r=0;r=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var A=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(A.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t){if(0==t)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var r=e.contents;return e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),void(e.usedBytes=t)}if(e.contents||(e.contents=[]),e.contents.length>t)e.contents.length=t;else for(;e.contents.length=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-n,A);if(i>8&&o.subarray)t.set(o.subarray(n,n+i),r);else for(var s=0;s0||A+r>2)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return t.mode},realPath:function(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),ie.join.apply(null,t)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var t=0;for(var r in ue.flagsForNodeMap)e&r&&(t|=ue.flagsForNodeMap[r],e^=r);if(e)throw new pe.ErrnoError(28);return t},node_ops:{getattr:function(e){var t,r=ue.realPath(e);try{t=Ie.lstatSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return ue.isWindows&&!t.blksize&&(t.blksize=4096),ue.isWindows&&!t.blocks&&(t.blocks=(t.size+t.blksize-1)/t.blksize|0),{dev:t.dev,ino:t.ino,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr:function(e,t){var r=ue.realPath(e);try{if(void 0!==t.mode&&(Ie.chmodSync(r,t.mode),e.mode=t.mode),void 0!==t.timestamp){var A=new Date(t.timestamp);Ie.utimesSync(r,A,A)}void 0!==t.size&&Ie.truncateSync(r,t.size)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},lookup:function(e,t){var r=ie.join2(ue.realPath(e),t),A=ue.getMode(r);return ue.createNode(e,t,A)},mknod:function(e,t,r,A){var n=ue.createNode(e,t,r,A),o=ue.realPath(n);try{pe.isDir(n.mode)?Ie.mkdirSync(o,n.mode):Ie.writeFileSync(o,"",{mode:n.mode})}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}return n},rename:function(e,t,r){var A=ue.realPath(e),n=ie.join2(ue.realPath(t),r);try{Ie.renameSync(A,n)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}e.name=r},unlink:function(e,t){var r=ie.join2(ue.realPath(e),t);try{Ie.unlinkSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},rmdir:function(e,t){var r=ie.join2(ue.realPath(e),t);try{Ie.rmdirSync(r)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},readdir:function(e){var t=ue.realPath(e);try{return Ie.readdirSync(t)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},symlink:function(e,t,r){var A=ie.join2(ue.realPath(e),t);try{Ie.symlinkSync(r,A)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},readlink:function(e){var t=ue.realPath(e);try{return t=Ie.readlinkSync(t),t=Ee.relative(Ee.resolve(e.mount.opts.root),t)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}}},stream_ops:{open:function(e){var t=ue.realPath(e.node);try{pe.isFile(e.node.mode)&&(e.nfd=Ie.openSync(t,ue.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},close:function(e){try{pe.isFile(e.node.mode)&&e.nfd&&Ie.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(ue.convertNodeCode(e))}},read:function(e,t,r,A,n){if(0===A)return 0;try{return Ie.readSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n)}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}},write:function(e,t,r,A,n){try{return Ie.writeSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n)}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}},llseek:function(e,t,r){var A=t;if(1===r)A+=e.position;else if(2===r&&pe.isFile(e.node.mode))try{A+=Ie.fstatSync(e.nfd).size}catch(e){throw new pe.ErrnoError(ue.convertNodeCode(e))}if(A<0)throw new pe.ErrnoError(28);return A},mmap:function(e,t,r,A,n,o){if(E(0===t),!pe.isFile(e.node.mode))throw new pe.ErrnoError(43);var i=pe.mmapAlloc(r);return ue.stream_ops.read(e,K,i,r,A),{ptr:i,allocated:!0}},msync:function(e,t,r,A,n){if(!pe.isFile(e.node.mode))throw new pe.ErrnoError(43);if(2&n)return 0;ue.stream_ops.write(e,t,0,A,r,!1);return 0}}},he={lookupPath:function(e){return{path:e,node:{mode:ue.getMode(e)}}},createStandardStreams:function(){pe.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var e=1;e<3;e++)pe.streams[e]={fd:e,nfd:e,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(e,t){pe.isDir(e)?Ie.mkdirSync(e,t):Ie.writeFileSync(e,"",{mode:t})},mkdir:function(){Ie.mkdirSync.apply(void 0,arguments)},symlink:function(){Ie.symlinkSync.apply(void 0,arguments)},rename:function(){Ie.renameSync.apply(void 0,arguments)},rmdir:function(){Ie.rmdirSync.apply(void 0,arguments)},readdir:function(){Ie.readdirSync.apply(void 0,arguments)},unlink:function(){Ie.unlinkSync.apply(void 0,arguments)},readlink:function(){return Ie.readlinkSync.apply(void 0,arguments)},stat:function(){return Ie.statSync.apply(void 0,arguments)},lstat:function(){return Ie.lstatSync.apply(void 0,arguments)},chmod:function(){Ie.chmodSync.apply(void 0,arguments)},fchmod:function(){Ie.fchmodSync.apply(void 0,arguments)},chown:function(){Ie.chownSync.apply(void 0,arguments)},fchown:function(){Ie.fchownSync.apply(void 0,arguments)},truncate:function(){Ie.truncateSync.apply(void 0,arguments)},ftruncate:function(){Ie.ftruncateSync.apply(void 0,arguments)},utime:function(){Ie.utimesSync.apply(void 0,arguments)},open:function(e,t,r,A){"string"==typeof t&&(t=ye.modeStringToFlags(t));var n=Ie.openSync(e,ue.flagsForNode(t),r),o=null!=A?A:pe.nextfd(n),i={fd:o,nfd:n,position:0,path:e,flags:t,seekable:!0};return pe.streams[o]=i,i},close:function(e){e.stream_ops||Ie.closeSync(e.nfd),pe.closeStream(e.fd)},llseek:function(e,t,r){if(e.stream_ops)return ye.llseek(e,t,r);var A=t;if(1===r)A+=e.position;else if(2===r)A+=Ie.fstatSync(e.nfd).size;else if(0!==r)throw new pe.ErrnoError(le.EINVAL);if(A<0)throw new pe.ErrnoError(le.EINVAL);return e.position=A,A},read:function(e,t,r,A,n){if(e.stream_ops)return ye.read(e,t,r,A,n);var o=void 0!==n;!o&&e.seekable&&(n=e.position);var i=Ie.readSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n);return o||(e.position+=i),i},write:function(e,t,r,A,n){if(e.stream_ops)return ye.write(e,t,r,A,n);1024&e.flags&&pe.llseek(e,0,2);var o=void 0!==n;!o&&e.seekable&&(n=e.position);var i=Ie.writeSync(e.nfd,ue.bufferFrom(t.buffer),r,A,n);return o||(e.position+=i),i},allocate:function(){throw new pe.ErrnoError(le.EOPNOTSUPP)},mmap:function(){throw new pe.ErrnoError(le.ENODEV)},msync:function(){return 0},munmap:function(){return 0},ioctl:function(){throw new pe.ErrnoError(le.ENOTTY)}},pe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof pe.ErrnoError))throw e+" : "+ne();return se(e.errno)},lookupPath:function(e,t){if(t=t||{},!(e=ae.resolve(pe.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var A in r)void 0===t[A]&&(t[A]=r[A]);if(t.recurse_count>8)throw new pe.ErrnoError(32);for(var n=ie.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),o=pe.root,i="/",s=0;s40)throw new pe.ErrnoError(32)}}return{path:i,node:o}},getPath:function(e){for(var t;;){if(pe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var r=0,A=0;A>>0)%pe.nameTable.length},hashAddNode:function(e){var t=pe.hashName(e.parent.id,e.name);e.name_next=pe.nameTable[t],pe.nameTable[t]=e},hashRemoveNode:function(e){var t=pe.hashName(e.parent.id,e.name);if(pe.nameTable[t]===e)pe.nameTable[t]=e.name_next;else for(var r=pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=pe.mayLookup(e);if(r)throw new pe.ErrnoError(r,e);for(var A=pe.hashName(e.id,t),n=pe.nameTable[A];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===t)return n}return pe.lookup(e,t)},createNode:function(e,t,r,A){var n=new pe.FSNode(e,t,r,A);return pe.hashAddNode(n),n},destroyNode:function(e){pe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var t=pe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return pe.ignorePermissions||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2},mayLookup:function(e){var t=pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{pe.lookupNode(e,t);return 20}catch(e){}return pe.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var A;try{A=pe.lookupNode(e,t)}catch(e){return e.errno}var n=pe.nodePermissions(e,"wx");if(n)return n;if(r){if(!pe.isDir(A.mode))return 54;if(pe.isRoot(A)||pe.getPath(A)===pe.cwd())return 10}else if(pe.isDir(A.mode))return 31;return 0},mayOpen:function(e,t){return e?pe.isLink(e.mode)?32:pe.isDir(e.mode)&&("r"!==pe.flagsToPermissionString(t)||512&t)?31:pe.nodePermissions(e,pe.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||pe.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!pe.streams[r])return r;throw new pe.ErrnoError(33)},getStream:function(e){return pe.streams[e]},createStream:function(e,t,r){pe.FSStream||(pe.FSStream=function(){},pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var A=new pe.FSStream;for(var n in e)A[n]=e[n];e=A;var o=pe.nextfd(t,r);return e.fd=o,pe.streams[o]=e,e},closeStream:function(e){pe.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new pe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){pe.devices[e]={stream_ops:t}},getDevice:function(e){return pe.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var A=r.pop();t.push(A),r.push.apply(r,A.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),pe.syncFSRequests++,pe.syncFSRequests>1&&p("warning: "+pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=pe.getMounts(pe.root.mount),A=0;function n(e){return pe.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,n(e));++A>=r.length&&n(null)}r.forEach((function(t){if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:function(e,t,r){var A,n="/"===r,o=!r;if(n&&pe.root)throw new pe.ErrnoError(10);if(!n&&!o){var i=pe.lookupPath(r,{follow_mount:!1});if(r=i.path,A=i.node,pe.isMountpoint(A))throw new pe.ErrnoError(10);if(!pe.isDir(A.mode))throw new pe.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},a=e.mount(s);return a.mount=s,s.root=a,n?pe.root=a:A&&(A.mounted=s,A.mount&&A.mount.mounts.push(s)),a},unmount:function(e){var t=pe.lookupPath(e,{follow_mount:!1});if(!pe.isMountpoint(t.node))throw new pe.ErrnoError(28);var r=t.node,A=r.mounted,n=pe.getMounts(A);Object.keys(pe.nameTable).forEach((function(e){for(var t=pe.nameTable[e];t;){var r=t.name_next;-1!==n.indexOf(t.mount)&&pe.destroyNode(t),t=r}})),r.mounted=null;var o=r.mount.mounts.indexOf(A);r.mount.mounts.splice(o,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var A=pe.lookupPath(e,{parent:!0}).node,n=ie.basename(e);if(!n||"."===n||".."===n)throw new pe.ErrnoError(28);var o=pe.mayCreate(A,n);if(o)throw new pe.ErrnoError(o);if(!A.node_ops.mknod)throw new pe.ErrnoError(63);return A.node_ops.mknod(A,n,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,pe.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,pe.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),A="",n=0;nthis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,A=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;n||(i=A);var s=this;s.setDataGetter((function(e){var t=e*i,n=(e+1)*i-1;if(n=Math.min(n,A-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>A-1)throw new Error("only "+A+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),A!==i&&n.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(n.responseType="arraybuffer"),n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):we(n.responseText||"",!0)}(t,n)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!o&&A||(i=A=1,A=this.getter(0).length,i=A,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=A,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,url:r},s=pe.createFile(e,t,i,A,n);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(s.stream_ops).forEach((function(e){var t=s.stream_ops[e];a[e]=function(){if(!pe.forceLoadFile(s))throw new pe.ErrnoError(29);return t.apply(null,arguments)}})),a.read=function(e,t,r,A,n){if(!pe.forceLoadFile(s))throw new pe.ErrnoError(29);var o=e.node.contents;if(n>=o.length)return 0;var i=Math.min(o.length-n,A);if(o.slice)for(var a=0;a>2]=A.dev,M[r+4>>2]=0,M[r+8>>2]=A.ino,M[r+12>>2]=A.mode,M[r+16>>2]=A.nlink,M[r+20>>2]=A.uid,M[r+24>>2]=A.gid,M[r+28>>2]=A.rdev,M[r+32>>2]=0,te=[A.size>>>0,(ee=A.size,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[r+40>>2]=te[0],M[r+44>>2]=te[1],M[r+48>>2]=4096,M[r+52>>2]=A.blocks,M[r+56>>2]=A.atime.getTime()/1e3|0,M[r+60>>2]=0,M[r+64>>2]=A.mtime.getTime()/1e3|0,M[r+68>>2]=0,M[r+72>>2]=A.ctime.getTime()/1e3|0,M[r+76>>2]=0,te=[A.ino>>>0,(ee=A.ino,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[r+80>>2]=te[0],M[r+84>>2]=te[1],0},doMsync:function(e,t,r,A,n){var o=F.slice(e,e+r);pe.msync(t,o,n,r,A)},doMkdir:function(e,t){return"/"===(e=ie.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),pe.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return pe.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var A=pe.readlink(e),n=Math.min(r,v(A)),o=K[t+n];return b(A,t,r+1),K[t+n]=o,n},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=pe.lookupPath(e,{follow:!0}).node))return-44;var A="";return 4&t&&(A+="r"),2&t&&(A+="w"),1&t&&(A+="x"),A&&pe.nodePermissions(r,A)?-2:0},doDup:function(e,t,r){var A=pe.getStream(r);return A&&pe.close(A),pe.open(e,t,0,r,r).fd},doReadv:function(e,t,r,A){for(var n=0,o=0;o>2],s=M[t+(8*o+4)>>2],a=pe.read(e,K,i,s,A);if(a<0)return-1;if(n+=a,a>2],s=M[t+(8*o+4)>>2],a=pe.write(e,K,i,s,A);if(a<0)return-1;n+=a}return n},varargs:void 0,get:function(){return de.varargs+=4,M[de.varargs-4>>2]},getStr:function(e){return Q(e)},getStreamFromFD:function(e){var t=pe.getStream(e);if(!t)throw new pe.ErrnoError(8);return t},get64:function(e,t){return e}};function Ce(e){try{return C.grow(e-k.byteLength+65535>>>16),L(C.buffer),1}catch(e){}}var fe=function(e,t,r,A){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=pe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=A};Object.defineProperties(fe.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return pe.isDir(this.mode)}},isDevice:{get:function(){return pe.isChrdev(this.mode)}}}),pe.FSNode=fe,pe.staticInit();var Ie=n,Ee=r(85622);ue.staticInit();var Be=function(e){return function(){try{return e.apply(this,arguments)}catch(e){if(!e.code)throw e;throw new pe.ErrnoError(le[e.code])}}},ye=Object.assign({},pe);for(var me in he)pe[me]=Be(he[me]);function we(e,t,r){var A=r>0?r:v(e)+1,n=new Array(A),o=D(e,n,0,n.length);return t&&(n.length=o),n}"function"==typeof atob&&atob;function Qe(e){if(Z(e))return function(e){var t;try{t=Buffer.from(e,"base64")}catch(r){t=new Buffer(e,"base64")}return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}(e.slice("data:application/octet-stream;base64,".length))}var De,be={m:function(e,t){return oe(e,t)},b:f,r:function(e,t){try{return e=de.getStr(e),pe.chmod(e,t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},g:function(e,t,r){de.varargs=r;try{var A=de.getStreamFromFD(e);switch(t){case 0:return(n=de.get())<0?-28:pe.open(A.path,A.flags,0,n).fd;case 1:case 2:return 0;case 3:return A.flags;case 4:var n=de.get();return A.flags|=n,0;case 12:n=de.get();return N[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return se(28),-1;default:return-28}}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},l:function(e,t){try{var r=de.getStreamFromFD(e);return de.doStat(pe.stat,r.path,t)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},q:function(e,t,r){de.varargs=r;try{var A=de.getStreamFromFD(e);switch(t){case 21509:case 21505:return A.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return A.tty?0:-59;case 21519:if(!A.tty)return-59;var n=de.get();return M[n>>2]=0,0;case 21520:return A.tty?-28:-59;case 21531:n=de.get();return pe.ioctl(A,t,n);case 21523:case 21524:return A.tty?0:-59;default:_("bad ioctl syscall "+t)}}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},t:function(e,t,r){de.varargs=r;try{var A=de.getStr(e),n=de.get();return pe.open(A,t,n).fd}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},s:function(e,t,r){try{var A=de.getStreamFromFD(e);return pe.read(A,K,t,r)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},j:function(e,t){try{return e=de.getStr(e),t=de.getStr(t),pe.rename(e,t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},u:function(e){try{return e=de.getStr(e),pe.rmdir(e),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},e:function(e,t){try{return e=de.getStr(e),de.doStat(pe.stat,e,t)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},i:function(e){try{return e=de.getStr(e),pe.unlink(e),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),-e.errno}},v:function(e,t,r){F.copyWithin(e,t,t+r)},w:function(e){e>>>=0;var t=F.length;if(e>2147483648)return!1;for(var r,A,n=1;n<=4;n*=2){var o=t*(1+.2/n);if(o=Math.min(o,e+100663296),Ce(Math.min(2147483648,((r=Math.max(16777216,e,o))%(A=65536)>0&&(r+=A-r%A),r))))return!0}return!1},h:function(e){try{var t=de.getStreamFromFD(e);return pe.close(t),0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},k:function(e,t){try{var r=de.getStreamFromFD(e),A=r.tty?2:pe.isDir(r.mode)?3:pe.isLink(r.mode)?7:4;return K[t>>0]=A,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},p:function(e,t,r,A){try{var n=de.getStreamFromFD(e),o=de.doReadv(n,t,r);return M[A>>2]=o,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},n:function(e,t,r,A,n){try{var o=de.getStreamFromFD(e),i=4294967296*r+(t>>>0);return i<=-9007199254740992||i>=9007199254740992?-61:(pe.llseek(o,i,A),te=[o.position>>>0,(ee=o.position,+Y(ee)>=1?ee>0?(0|J(+H(ee/4294967296),4294967295))>>>0:~~+G((ee-+(~~ee>>>0))/4294967296)>>>0:0)],M[n>>2]=te[0],M[n+4>>2]=te[1],o.getdents&&0===i&&0===A&&(o.getdents=null),0)}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},f:function(e,t,r,A){try{var n=de.getStreamFromFD(e),o=de.doWritev(n,t,r);return M[A>>2]=o,0}catch(e){return void 0!==pe&&e instanceof pe.ErrnoError||_(e),e.errno}},a:C,c:function(e){0|e},d:function(e){var t=Date.now()/1e3|0;return e&&(M[e>>2]=t),t},o:function(e){!function e(){if(!e.called){e.called=!0,M[Ne()>>2]=60*(new Date).getTimezoneOffset();var t=(new Date).getFullYear(),r=new Date(t,0,1),A=new Date(t,6,1);M[Fe()>>2]=Number(r.getTimezoneOffset()!=A.getTimezoneOffset());var n=a(r),o=a(A),i=S(n),s=S(o);A.getTimezoneOffset()>2]=i,M[Ke()+4>>2]=s):(M[Ke()>>2]=s,M[Ke()+4>>2]=i)}function a(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}();var t=Date.UTC(M[e+20>>2]+1900,M[e+16>>2],M[e+12>>2],M[e+8>>2],M[e+4>>2],M[e>>2],0),r=new Date(t);M[e+24>>2]=r.getUTCDay();var A=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-A)/864e5|0;return M[e+28>>2]=n,r.getTime()/1e3|0}},ve=function(){var e={a:be};function t(e,t){var r=e.exports;o.asm=r,V()}if(X(),o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return p("Module.instantiateWasm callback failed with error: "+e),!1}return function(){var r,A,n;try{n=function(){try{if(d)return new Uint8Array(d);var e=Qe(re);if(e)return e;if(a)return a(re);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){_(e)}}(),A=new WebAssembly.Module(n),r=new WebAssembly.Instance(A,e)}catch(e){var o=e.toString();throw p("failed to compile wasm module: "+o),(o.indexOf("imported Memory")>=0||o.indexOf("memory import")>=0)&&p("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),e}t(r)}(),o.asm}(),Se=o.___wasm_call_ctors=ve.x,ke=(o._zipstruct_stat=ve.y,o._zipstruct_statS=ve.z,o._zipstruct_stat_name=ve.A,o._zipstruct_stat_index=ve.B,o._zipstruct_stat_size=ve.C,o._zipstruct_stat_mtime=ve.D,o._zipstruct_error=ve.E,o._zipstruct_errorS=ve.F,o._zipstruct_error_code_zip=ve.G,o._zipstruct_stat_comp_size=ve.H,o._zipstruct_stat_comp_method=ve.I,o._zip_close=ve.J,o._zip_delete=ve.K,o._zip_dir_add=ve.L,o._zip_discard=ve.M,o._zip_error_init_with_code=ve.N,o._zip_get_error=ve.O,o._zip_file_get_error=ve.P,o._zip_error_strerror=ve.Q,o._zip_fclose=ve.R,o._zip_file_add=ve.S,o._zip_file_get_external_attributes=ve.T,o._zip_file_set_external_attributes=ve.U,o._zip_file_set_mtime=ve.V,o._zip_fopen=ve.W,o._zip_fopen_index=ve.X,o._zip_fread=ve.Y,o._zip_get_name=ve.Z,o._zip_get_num_entries=ve._,o._zip_name_locate=ve.$,o._zip_open=ve.aa,o._zip_open_from_source=ve.ba,o._zip_set_file_compression=ve.ca,o._zip_source_buffer=ve.da,o._zip_source_buffer_create=ve.ea,o._zip_source_close=ve.fa,o._zip_source_error=ve.ga,o._zip_source_free=ve.ha,o._zip_source_keep=ve.ia,o._zip_source_open=ve.ja,o._zip_source_read=ve.ka,o._zip_source_seek=ve.la,o._zip_source_set_mtime=ve.ma,o._zip_source_tell=ve.na,o._zip_stat=ve.oa,o._zip_stat_index=ve.pa,o._zip_ext_count_symlinks=ve.qa,o.___errno_location=ve.ra),Ke=o.__get_tzname=ve.sa,Fe=o.__get_daylight=ve.ta,Ne=o.__get_timezone=ve.ua,Me=o.stackSave=ve.va,Re=o.stackRestore=ve.wa,xe=o.stackAlloc=ve.xa,Le=o._malloc=ve.ya;o._free=ve.za;function Pe(e){function t(){De||(De=!0,o.calledRun=!0,I||(!0,o.noFSInit||pe.init.initialized||pe.init(),ce.init(),Ae(U),pe.ignorePermissions=!1,Ae(T),o.onRuntimeInitialized&&o.onRuntimeInitialized(),function(){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)e=o.postRun.shift(),j.unshift(e);var e;Ae(j)}()))}e=e||l,q>0||(!function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)e=o.preRun.shift(),O.unshift(e);var e;Ae(O)}(),q>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),t()}),1)):t()))}if(o.cwrap=function(e,t,r,A){var n=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&n&&!A?B(e):function(){return y(e,t,r,arguments)}},o.getValue=function(e,t,r){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return K[e>>0];case"i16":return N[e>>1];case"i32":case"i64":return M[e>>2];case"float":return R[e>>2];case"double":return x[e>>3];default:_("invalid type for getValue: "+t)}return null},W=function e(){De||Pe(),De||(W=e)},o.run=Pe,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();Pe()},98261:e=>{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return`"${n(e.text)}"`},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;tf&&(f=p,I=[]),I.push(e))}function Q(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function D(){var t,r,A,o;return t=p,(r=b())!==n?(47===e.charCodeAt(p)?(A="/",p++):(A=n,w(s)),A!==n&&(o=b())!==n?(d=t,t=r={from:r,descriptor:o}):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=b())!==n&&(d=t,r=function(e){return{descriptor:e}}(r)),t=r),t}function b(){var t,r,A,o;return t=p,(r=v())!==n?(64===e.charCodeAt(p)?(A="@",p++):(A=n,w(a)),A!==n&&(o=function(){var t,r,A;t=p,r=[],u.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(h));if(A!==n)for(;A!==n;)r.push(A),u.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(h));else r=n;r!==n&&(d=t,r=c());return t=r}())!==n?(d=t,t=r={fullName:r,description:o}):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=v())!==n&&(d=t,r=function(e){return{fullName:e}}(r)),t=r),t}function v(){var t,r,A;return t=p,64===e.charCodeAt(p)?(r="@",p++):(r=n,w(a)),r!==n&&S()!==n?(47===e.charCodeAt(p)?(A="/",p++):(A=n,w(s)),A!==n&&S()!==n?(d=t,t=r=c()):(p=t,t=n)):(p=t,t=n),t===n&&(t=p,(r=S())!==n&&(d=t,r=c()),t=r),t}function S(){var t,r,A;if(t=p,r=[],g.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(l)),A!==n)for(;A!==n;)r.push(A),g.test(e.charAt(p))?(A=e.charAt(p),p++):(A=n,w(l));else r=n;return r!==n&&(d=t,r=c()),t=r}if((A=i())!==n&&p===e.length)return A;throw A!==n&&p{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;t>",!1),I=le(">&",!1),E=le(">",!1),B=le("<<<",!1),y=le("<&",!1),m=le("<",!1),w=le("'",!1),Q=le('"',!1),D=function(e){return{type:"text",text:e}},b=le("\\",!1),v={type:"any"},S=/^[^']/,k=ue(["'"],!0,!1),K=function(e){return e.join("")},F=/^[^$"]/,N=ue(["$",'"'],!0,!1),M=le("-",!1),R=le("+",!1),x=/^[0-9]/,L=ue([["0","9"]],!1,!1),P=le(".",!1),O=le("*",!1),U=le("/",!1),T=le("$((",!1),j=le("))",!1),Y=le("$(",!1),G=le("${",!1),H=le(":-",!1),J=le(":-}",!1),q=function(e){return{name:e}},z=le("$",!1),W=/^[a-zA-Z0-9_]/,X=ue([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),V=function(){return e.substring(ie,oe)},_=/^[$@*?#a-zA-Z0-9_\-]/,Z=ue(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),$=/^[(){}<>$|&; \t"']/,ee=ue(["(",")","{","}","<",">","$","|","&",";"," ","\t",'"',"'"],!1,!1),te=/^[<>&; \t"']/,re=ue(["<",">","&",";"," ","\t",'"',"'"],!1,!1),Ae=/^[ \t]/,ne=ue([" ","\t"],!1,!1),oe=0,ie=0,se=[{line:1,column:1}],ae=0,ce=[],ge=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=o[r.startRule]}function le(e,t){return{type:"literal",text:e,ignoreCase:t}}function ue(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function he(t){var r,A=se[t];if(A)return A;for(r=t-1;!se[r];)r--;for(A={line:(A=se[r]).line,column:A.column};rae&&(ae=oe,ce=[]),ce.push(e))}function Ce(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function fe(){var e,t;return e=oe,(t=Ie())===n&&(t=null),t!==n&&(ie=e,t=t||[]),e=t}function Ie(){var e,t,r,A,o;if(e=oe,(t=Be())!==n){for(r=[],A=Te();A!==n;)r.push(A),A=Te();r!==n&&(A=Ee())!==n?((o=function(){var e,t,r,A,o;e=oe,t=[],r=Te();for(;r!==n;)t.push(r),r=Te();if(t!==n)if((r=Ie())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();A!==n?(ie=e,e=t=r):(oe=e,e=n)}else oe=e,e=n;else oe=e,e=n;return e}())===n&&(o=null),o!==n?(ie=e,e=t=[t].concat(o||[])):(oe=e,e=n)):(oe=e,e=n)}else oe=e,e=n;if(e===n)if(e=oe,(t=Be())!==n){for(r=[],A=Te();A!==n;)r.push(A),A=Te();r!==n?((A=Ee())===n&&(A=null),A!==n?(ie=e,e=t=function(e,t){return[e]}(t)):(oe=e,e=n)):(oe=e,e=n)}else oe=e,e=n;return e}function Ee(){var t;return 59===e.charCodeAt(oe)?(t=";",oe++):(t=n,0===ge&&de(s)),t}function Be(){var t,r,A,o,i;return t=oe,(r=ye())!==n?((A=function(){var t,r,A,o,i,s,g;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if((A=function(){var t;"&&"===e.substr(oe,2)?(t="&&",oe+=2):(t=n,0===ge&&de(a));t===n&&("||"===e.substr(oe,2)?(t="||",oe+=2):(t=n,0===ge&&de(c)));return t}())!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Be())!==n){for(s=[],g=Te();g!==n;)s.push(g),g=Te();s!==n?(ie=t,t=r={type:A,line:i}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;return t}())===n&&(A=null),A!==n?(ie=t,o=r,t=r=(i=A)?{chain:o,then:i}:{chain:o}):(oe=t,t=n)):(oe=t,t=n),t}function ye(){var t,r,A,o,i;return t=oe,(r=function(){var t,r,A,o,i,s,a,c,g,l,u;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if(40===e.charCodeAt(oe)?(A="(",oe++):(A=n,0===ge&&de(h)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Ie())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();if(s!==n)if(41===e.charCodeAt(oe)?(a=")",oe++):(a=n,0===ge&&de(p)),a!==n){for(c=[],g=Te();g!==n;)c.push(g),g=Te();if(c!==n){for(g=[],l=Qe();l!==n;)g.push(l),l=Qe();if(g!==n){for(l=[],u=Te();u!==n;)l.push(u),u=Te();l!==n?(ie=t,t=r={type:"subshell",subshell:i,args:g}):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n)if(123===e.charCodeAt(oe)?(A="{",oe++):(A=n,0===ge&&de(d)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=Ie())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();if(s!==n)if(125===e.charCodeAt(oe)?(a="}",oe++):(a=n,0===ge&&de(C)),a!==n){for(c=[],g=Te();g!==n;)c.push(g),g=Te();if(c!==n){for(g=[],l=Qe();l!==n;)g.push(l),l=Qe();if(g!==n){for(l=[],u=Te();u!==n;)l.push(u),u=Te();l!==n?(ie=t,r=function(e,t){return{type:"group",group:e,args:t}}(i,g),t=r):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n){for(A=[],o=me();o!==n;)A.push(o),o=me();if(A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n){if(i=[],(s=we())!==n)for(;s!==n;)i.push(s),s=we();else i=n;if(i!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();s!==n?(ie=t,r=function(e,t){return{type:"command",args:t,envs:e}}(A,i),t=r):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n}else oe=t,t=n;if(t===n){for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();if(r!==n){if(A=[],(o=me())!==n)for(;o!==n;)A.push(o),o=me();else A=n;if(A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();o!==n?(ie=t,t=r={type:"envs",envs:A}):(oe=t,t=n)}else oe=t,t=n}else oe=t,t=n}}}return t}())!==n?((A=function(){var t,r,A,o,i,s,a;t=oe,r=[],A=Te();for(;A!==n;)r.push(A),A=Te();if(r!==n)if((A=function(){var t;"|&"===e.substr(oe,2)?(t="|&",oe+=2):(t=n,0===ge&&de(g));t===n&&(124===e.charCodeAt(oe)?(t="|",oe++):(t=n,0===ge&&de(l)));return t}())!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();if(o!==n)if((i=ye())!==n){for(s=[],a=Te();a!==n;)s.push(a),a=Te();s!==n?(ie=t,t=r={type:A,chain:i}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;else oe=t,t=n;return t}())===n&&(A=null),A!==n?(ie=t,o=r,t=r=(i=A)?{...o,then:i}:o):(oe=t,t=n)):(oe=t,t=n),t}function me(){var t,r,A,o,i,s;if(t=oe,(r=Le())!==n)if(61===e.charCodeAt(oe)?(A="=",oe++):(A=n,0===ge&&de(u)),A!==n)if((o=be())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?(ie=t,t=r={name:r,args:[o]}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n;else oe=t,t=n;if(t===n)if(t=oe,(r=Le())!==n)if(61===e.charCodeAt(oe)?(A="=",oe++):(A=n,0===ge&&de(u)),A!==n){for(o=[],i=Te();i!==n;)o.push(i),i=Te();o!==n?(ie=t,t=r=function(e){return{name:e,args:[]}}(r)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n;return t}function we(){var e,t,r;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();if(t!==n&&(r=Qe())!==n?(ie=e,e=t=r):(oe=e,e=n),e===n){for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();t!==n&&(r=De())!==n?(ie=e,e=t=r):(oe=e,e=n)}return e}function Qe(){var t,r,A,o;for(t=oe,r=[],A=Te();A!==n;)r.push(A),A=Te();return r!==n&&(A=function(){var t;">>"===e.substr(oe,2)?(t=">>",oe+=2):(t=n,0===ge&&de(f));t===n&&(">&"===e.substr(oe,2)?(t=">&",oe+=2):(t=n,0===ge&&de(I)),t===n&&(62===e.charCodeAt(oe)?(t=">",oe++):(t=n,0===ge&&de(E)),t===n&&("<<<"===e.substr(oe,3)?(t="<<<",oe+=3):(t=n,0===ge&&de(B)),t===n&&("<&"===e.substr(oe,2)?(t="<&",oe+=2):(t=n,0===ge&&de(y)),t===n&&(60===e.charCodeAt(oe)?(t="<",oe++):(t=n,0===ge&&de(m)))))));return t}())!==n&&(o=De())!==n?(ie=t,t=r={type:"redirection",subtype:A,args:[o]}):(oe=t,t=n),t}function De(){var e,t,r;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();return t!==n&&(r=be())!==n?(ie=e,e=t=r):(oe=e,e=n),e}function be(){var e,t,r,A;if(e=oe,t=[],(r=ve())!==n)for(;r!==n;)t.push(r),r=ve();else t=n;return t!==n&&(ie=e,A=t,t={type:"argument",segments:[].concat(...A)}),e=t}function ve(){var t,r;return t=oe,(r=function(){var t,r,A,o;t=oe,39===e.charCodeAt(oe)?(r="'",oe++):(r=n,0===ge&&de(w));r!==n&&(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(S.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(k)));for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(S.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(k)));r!==n&&(ie=t,r=K(r));return t=r}())!==n?(39===e.charCodeAt(oe)?(o="'",oe++):(o=n,0===ge&&de(w)),o!==n?(ie=t,r=function(e){return[{type:"text",text:e}]}(A),t=r):(oe=t,t=n)):(oe=t,t=n);return t}())!==n&&(ie=t,r=r),(t=r)===n&&(t=oe,(r=function(){var t,r,A,o;t=oe,34===e.charCodeAt(oe)?(r='"',oe++):(r=n,0===ge&&de(Q));if(r!==n){for(A=[],o=Se();o!==n;)A.push(o),o=Se();A!==n?(34===e.charCodeAt(oe)?(o='"',oe++):(o=n,0===ge&&de(Q)),o!==n?(ie=t,t=r=A):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;return t}())!==n&&(ie=t,r=r),(t=r)===n&&(t=oe,(r=function(){var e,t,r;if(e=oe,t=[],(r=ke())!==n)for(;r!==n;)t.push(r),r=ke();else t=n;t!==n&&(ie=e,t=t);return e=t}())!==n&&(ie=t,r=r),t=r)),t}function Se(){var t,r,A;return t=oe,(r=Me())!==n&&(ie=t,r={type:"arithmetic",arithmetic:r,quoted:!0}),(t=r)===n&&(t=oe,(r=Re())!==n&&(ie=t,r={type:"shell",shell:r,quoted:!0}),(t=r)===n&&(t=oe,(r=xe())!==n&&(ie=t,A=r,r={type:"variable",...A,quoted:!0}),(t=r)===n&&(t=oe,(r=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(F.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(N)));if(A!==n)for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(F.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(N)));else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n&&(ie=t,r=D(r)),t=r))),t}function ke(){var t,A,o;return t=oe,(A=Me())!==n&&(ie=t,A={type:"arithmetic",arithmetic:A,quoted:!1}),(t=A)===n&&(t=oe,(A=Re())!==n&&(ie=t,A={type:"shell",shell:A,quoted:!1}),(t=A)===n&&(t=oe,(A=xe())!==n&&(ie=t,o=A,A={type:"variable",...o,quoted:!1}),(t=A)===n&&(t=oe,(A=function(){var t,A;t=oe,(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,o=oe,ge++,i=Ue(),ge--,i===n?o=void 0:(oe=o,o=n);o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);if(A!==n)for(;A!==n;)r.push(A),A=oe,o=oe,ge++,i=Ue(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n?(ie=oe,o=A,(r.isGlobPattern(o)?void 0:n)!==n?(ie=t,t=A=A):(oe=t,t=n)):(oe=t,t=n);var o;return t}())!==n&&(ie=t,A={type:"glob",pattern:A}),(t=A)===n&&(t=oe,(A=function(){var t,r,A,o,i;t=oe,r=[],A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b));o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n);A===n&&(A=oe,o=oe,ge++,i=Oe(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n));if(A!==n)for(;A!==n;)r.push(A),A=oe,92===e.charCodeAt(oe)?(o="\\",oe++):(o=n,0===ge&&de(b)),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n),A===n&&(A=oe,o=oe,ge++,i=Oe(),ge--,i===n?o=void 0:(oe=o,o=n),o!==n?(e.length>oe?(i=e.charAt(oe),oe++):(i=n,0===ge&&de(v)),i!==n?(ie=A,A=o=i):(oe=A,A=n)):(oe=A,A=n));else r=n;r!==n&&(ie=t,r=K(r));return t=r}())!==n&&(ie=t,A=D(A)),t=A)))),t}function Ke(){var t,r,A,o,i,s,a,c;if(t=oe,45===e.charCodeAt(oe)?(r="-",oe++):(r=n,0===ge&&de(M)),r===n&&(43===e.charCodeAt(oe)?(r="+",oe++):(r=n,0===ge&&de(R))),r===n&&(r=null),r!==n){if(A=[],x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L)),o!==n)for(;o!==n;)A.push(o),x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L));else A=n;if(A!==n)if(46===e.charCodeAt(oe)?(o=".",oe++):(o=n,0===ge&&de(P)),o!==n){if(i=[],x.test(e.charAt(oe))?(s=e.charAt(oe),oe++):(s=n,0===ge&&de(L)),s!==n)for(;s!==n;)i.push(s),x.test(e.charAt(oe))?(s=e.charAt(oe),oe++):(s=n,0===ge&&de(L));else i=n;i!==n?(ie=t,a=i,t=r={type:"number",value:("-"===r?-1:1)*parseFloat(A.join("")+"."+a.join(""))}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,45===e.charCodeAt(oe)?(r="-",oe++):(r=n,0===ge&&de(M)),r===n&&(43===e.charCodeAt(oe)?(r="+",oe++):(r=n,0===ge&&de(R))),r===n&&(r=null),r!==n){if(A=[],x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L)),o!==n)for(;o!==n;)A.push(o),x.test(e.charAt(oe))?(o=e.charAt(oe),oe++):(o=n,0===ge&&de(L));else A=n;A!==n?(ie=t,t=r=function(e,t){return{type:"number",value:("-"===e?-1:1)*parseInt(t.join(""))}}(r,A)):(oe=t,t=n)}else oe=t,t=n;if(t===n&&(t=oe,(r=xe())!==n&&(ie=t,c=r,r={type:"variable",...c}),(t=r)===n&&(t=oe,(r=Pe())!==n&&(ie=t,r={type:"variable",name:r}),(t=r)===n)))if(t=oe,40===e.charCodeAt(oe)?(r="(",oe++):(r=n,0===ge&&de(h)),r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if((o=Ne())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?(41===e.charCodeAt(oe)?(s=")",oe++):(s=n,0===ge&&de(p)),s!==n?(ie=t,t=r=o):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n}return t}function Fe(){var t,r,A,o,i,s;if(t=oe,(r=Ke())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(42===e.charCodeAt(oe)?(o="*",oe++):(o=n,0===ge&&de(O)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Fe())!==n?(ie=t,t=r={type:"multiplication",left:r,right:s}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,(r=Ke())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(47===e.charCodeAt(oe)?(o="/",oe++):(o=n,0===ge&&de(U)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Fe())!==n?(ie=t,t=r=function(e,t){return{type:"division",left:e,right:t}}(r,s)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;t===n&&(t=Ke())}return t}function Ne(){var t,r,A,o,i,s;if(t=oe,(r=Fe())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(43===e.charCodeAt(oe)?(o="+",oe++):(o=n,0===ge&&de(R)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Ne())!==n?(ie=t,t=r={type:"addition",left:r,right:s}):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;if(t===n){if(t=oe,(r=Fe())!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if(45===e.charCodeAt(oe)?(o="-",oe++):(o=n,0===ge&&de(M)),o!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n&&(s=Ne())!==n?(ie=t,t=r=function(e,t){return{type:"subtraction",left:e,right:t}}(r,s)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;t===n&&(t=Fe())}return t}function Me(){var t,r,A,o,i,s;if(t=oe,"$(("===e.substr(oe,3)?(r="$((",oe+=3):(r=n,0===ge&&de(T)),r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();if(A!==n)if((o=Ne())!==n){for(i=[],s=Te();s!==n;)i.push(s),s=Te();i!==n?("))"===e.substr(oe,2)?(s="))",oe+=2):(s=n,0===ge&&de(j)),s!==n?(ie=t,t=r=o):(oe=t,t=n)):(oe=t,t=n)}else oe=t,t=n;else oe=t,t=n}else oe=t,t=n;return t}function Re(){var t,r,A,o;return t=oe,"$("===e.substr(oe,2)?(r="$(",oe+=2):(r=n,0===ge&&de(Y)),r!==n&&(A=Ie())!==n?(41===e.charCodeAt(oe)?(o=")",oe++):(o=n,0===ge&&de(p)),o!==n?(ie=t,t=r=A):(oe=t,t=n)):(oe=t,t=n),t}function xe(){var t,r,A,o,i,s;return t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(":-"===e.substr(oe,2)?(o=":-",oe+=2):(o=n,0===ge&&de(H)),o!==n&&(i=function(){var e,t,r,A,o;for(e=oe,t=[],r=Te();r!==n;)t.push(r),r=Te();if(t!==n){if(r=[],(A=De())!==n)for(;A!==n;)r.push(A),A=De();else r=n;if(r!==n){for(A=[],o=Te();o!==n;)A.push(o),o=Te();A!==n?(ie=e,e=t=r):(oe=e,e=n)}else oe=e,e=n}else oe=e,e=n;return e}())!==n?(125===e.charCodeAt(oe)?(s="}",oe++):(s=n,0===ge&&de(C)),s!==n?(ie=t,t=r={name:A,defaultValue:i}):(oe=t,t=n)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(":-}"===e.substr(oe,3)?(o=":-}",oe+=3):(o=n,0===ge&&de(J)),o!==n?(ie=t,t=r=function(e){return{name:e,defaultValue:[]}}(A)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,"${"===e.substr(oe,2)?(r="${",oe+=2):(r=n,0===ge&&de(G)),r!==n&&(A=Pe())!==n?(125===e.charCodeAt(oe)?(o="}",oe++):(o=n,0===ge&&de(C)),o!==n?(ie=t,t=r=q(A)):(oe=t,t=n)):(oe=t,t=n),t===n&&(t=oe,36===e.charCodeAt(oe)?(r="$",oe++):(r=n,0===ge&&de(z)),r!==n&&(A=Pe())!==n?(ie=t,t=r=q(A)):(oe=t,t=n)))),t}function Le(){var t,r,A;if(t=oe,r=[],W.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(X)),A!==n)for(;A!==n;)r.push(A),W.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(X));else r=n;return r!==n&&(ie=t,r=V()),t=r}function Pe(){var t,r,A;if(t=oe,r=[],_.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(Z)),A!==n)for(;A!==n;)r.push(A),_.test(e.charAt(oe))?(A=e.charAt(oe),oe++):(A=n,0===ge&&de(Z));else r=n;return r!==n&&(ie=t,r=V()),t=r}function Oe(){var t;return $.test(e.charAt(oe))?(t=e.charAt(oe),oe++):(t=n,0===ge&&de(ee)),t}function Ue(){var t;return te.test(e.charAt(oe))?(t=e.charAt(oe),oe++):(t=n,0===ge&&de(re)),t}function Te(){var t,r;if(t=[],Ae.test(e.charAt(oe))?(r=e.charAt(oe),oe++):(r=n,0===ge&&de(ne)),r!==n)for(;r!==n;)t.push(r),Ae.test(e.charAt(oe))?(r=e.charAt(oe),oe++):(r=n,0===ge&&de(ne));else t=n;return t}if((A=i())!==n&&oe===e.length)return A;throw A!==n&&oe{"use strict";function t(e,r,A,n){this.message=e,this.expected=r,this.found=A,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.buildMessage=function(e,t){var r={literal:function(e){return`"${n(e.text)}"`},class:function(e){var t,r="";for(t=0;t0){for(t=1,A=1;t'"%@`\-]/,I=oe(["\r","\n","\t"," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),E=/^[^\r\n\t ,\][{}:#"']/,B=oe(["\r","\n","\t"," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),y=function(){return Ae().replace(/^ *| *$/g,"")},m=ne("--",!1),w=/^[a-zA-Z\/0-9]/,Q=oe([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),D=/^[^\r\n\t :,]/,b=oe(["\r","\n","\t"," ",":",","],!0,!1),v=ne("null",!1),S=ne("true",!1),k=ne("false",!1),K=ie("string"),F=ne('"',!1),N=/^[^"\\\0-\x1F\x7F]/,M=oe(['"',"\\",["\0",""],""],!0,!1),R=ne('\\"',!1),x=ne("\\\\",!1),L=ne("\\/",!1),P=ne("\\b",!1),O=ne("\\f",!1),U=ne("\\n",!1),T=ne("\\r",!1),j=ne("\\t",!1),Y=ne("\\u",!1),G=/^[0-9a-fA-F]/,H=oe([["0","9"],["a","f"],["A","F"]],!1,!1),J=ie("blank space"),q=/^[ \t]/,z=oe([" ","\t"],!1,!1),W=(ie("white space"),oe([" ","\t","\n","\r"],!1,!1),ne("\r\n",!1)),X=ne("\n",!1),V=ne("\r",!1),_=0,Z=0,$=[{line:1,column:1}],ee=0,te=[],re=0;if("startRule"in r){if(!(r.startRule in o))throw new Error(`Can't start parsing from rule "${r.startRule}".`);i=o[r.startRule]}function Ae(){return e.substring(Z,_)}function ne(e,t){return{type:"literal",text:e,ignoreCase:t}}function oe(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function ie(e){return{type:"other",description:e}}function se(t){var r,A=$[t];if(A)return A;for(r=t-1;!$[r];)r--;for(A={line:(A=$[r]).line,column:A.column};ree&&(ee=_,te=[]),te.push(e))}function ge(e,r,A){return new t(t.buildMessage(e,r),e,r,A)}function le(){return he()}function ue(){var t,r,A;return t=_,Ce()!==n?(45===e.charCodeAt(_)?(r="-",_++):(r=n,0===re&&ce(s)),r!==n&&be()!==n&&(A=de())!==n?(Z=t,t=A):(_=t,t=n)):(_=t,t=n),t}function he(){var e,t,r,A;for(e=_,t=[],r=pe();r!==n;)t.push(r),r=pe();return t!==n&&(Z=e,A=t,t=Object.assign({},...A)),e=t}function pe(){var t,r,A,o,i,s,p,d,C,f,I,E;if(t=_,(r=be())===n&&(r=null),r!==n){if(A=_,35===e.charCodeAt(_)?(o="#",_++):(o=n,0===re&&ce(a)),o!==n){if(i=[],s=_,p=_,re++,d=Se(),re--,d===n?p=void 0:(_=p,p=n),p!==n?(e.length>_?(d=e.charAt(_),_++):(d=n,0===re&&ce(c)),d!==n?s=p=[p,d]:(_=s,s=n)):(_=s,s=n),s!==n)for(;s!==n;)i.push(s),s=_,p=_,re++,d=Se(),re--,d===n?p=void 0:(_=p,p=n),p!==n?(e.length>_?(d=e.charAt(_),_++):(d=n,0===re&&ce(c)),d!==n?s=p=[p,d]:(_=s,s=n)):(_=s,s=n);else i=n;i!==n?A=o=[o,i]:(_=A,A=n)}else _=A,A=n;if(A===n&&(A=null),A!==n){if(o=[],(i=ve())!==n)for(;i!==n;)o.push(i),i=ve();else o=n;o!==n?(Z=t,t=r={}):(_=t,t=n)}else _=t,t=n}else _=t,t=n;if(t===n&&(t=_,(r=Ce())!==n&&(A=function(){var e;(e=we())===n&&(e=Be());return e}())!==n?((o=be())===n&&(o=null),o!==n?(58===e.charCodeAt(_)?(i=":",_++):(i=n,0===re&&ce(g)),i!==n?((s=be())===n&&(s=null),s!==n&&(p=de())!==n?(Z=t,t=r=l(A,p)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n),t===n&&(t=_,(r=Ce())!==n&&(A=Ee())!==n?((o=be())===n&&(o=null),o!==n?(58===e.charCodeAt(_)?(i=":",_++):(i=n,0===re&&ce(g)),i!==n?((s=be())===n&&(s=null),s!==n&&(p=de())!==n?(Z=t,t=r=l(A,p)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n),t===n))){if(t=_,(r=Ce())!==n)if((A=Ee())!==n)if((o=be())!==n)if((i=function(){var e;(e=me())===n&&(e=we())===n&&(e=ye());return e}())!==n){if(s=[],(p=ve())!==n)for(;p!==n;)s.push(p),p=ve();else s=n;s!==n?(Z=t,t=r=l(A,i)):(_=t,t=n)}else _=t,t=n;else _=t,t=n;else _=t,t=n;else _=t,t=n;if(t===n)if(t=_,(r=Ce())!==n)if((A=Ee())!==n){if(o=[],i=_,(s=be())===n&&(s=null),s!==n?(44===e.charCodeAt(_)?(p=",",_++):(p=n,0===re&&ce(u)),p!==n?((d=be())===n&&(d=null),d!==n&&(C=Ee())!==n?(Z=i,i=s=h(0,C)):(_=i,i=n)):(_=i,i=n)):(_=i,i=n),i!==n)for(;i!==n;)o.push(i),i=_,(s=be())===n&&(s=null),s!==n?(44===e.charCodeAt(_)?(p=",",_++):(p=n,0===re&&ce(u)),p!==n?((d=be())===n&&(d=null),d!==n&&(C=Ee())!==n?(Z=i,i=s=h(0,C)):(_=i,i=n)):(_=i,i=n)):(_=i,i=n);else o=n;o!==n?((i=be())===n&&(i=null),i!==n?(58===e.charCodeAt(_)?(s=":",_++):(s=n,0===re&&ce(g)),s!==n?((p=be())===n&&(p=null),p!==n&&(d=de())!==n?(Z=t,f=A,I=o,E=d,t=r=Object.assign({},...[f].concat(I).map(e=>({[e]:E})))):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)):(_=t,t=n)}else _=t,t=n;else _=t,t=n}return t}function de(){var t,r,A,o,i,a,c;if(t=_,r=_,re++,A=_,(o=Se())!==n&&(i=function(){var t,r,A;t=_,r=[],32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));for(;A!==n;)r.push(A),32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));r!==n?(Z=_,(A=(A=r.length===(Ke+1)*ke)?void 0:n)!==n?t=r=[r,A]:(_=t,t=n)):(_=t,t=n);return t}())!==n?(45===e.charCodeAt(_)?(a="-",_++):(a=n,0===re&&ce(s)),a!==n&&(c=be())!==n?A=o=[o,i,a,c]:(_=A,A=n)):(_=A,A=n),re--,A!==n?(_=r,r=void 0):r=n,r!==n&&(A=ve())!==n&&(o=fe())!==n&&(i=function(){var e,t,r,A;for(e=_,t=[],r=ue();r!==n;)t.push(r),r=ue();return t!==n&&(Z=e,A=t,t=[].concat(...A)),e=t}())!==n&&(a=Ie())!==n?(Z=t,t=r=i):(_=t,t=n),t===n&&(t=_,(r=Se())!==n&&(A=fe())!==n&&(o=he())!==n&&(i=Ie())!==n?(Z=t,t=r=o):(_=t,t=n),t===n))if(t=_,(r=function(){var t;(t=me())===n&&(t=function(){var t,r;t=_,"true"===e.substr(_,4)?(r="true",_+=4):(r=n,0===re&&ce(S));r!==n&&(Z=t,r=!0);(t=r)===n&&(t=_,"false"===e.substr(_,5)?(r="false",_+=5):(r=n,0===re&&ce(k)),r!==n&&(Z=t,r=!1),t=r);return t}())===n&&(t=we())===n&&(t=Be());return t}())!==n){if(A=[],(o=ve())!==n)for(;o!==n;)A.push(o),o=ve();else A=n;A!==n?(Z=t,t=r=r):(_=t,t=n)}else _=t,t=n;return t}function Ce(){var t,r,A;for(re++,t=_,r=[],32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));A!==n;)r.push(A),32===e.charCodeAt(_)?(A=" ",_++):(A=n,0===re&&ce(d));return r!==n?(Z=_,(A=(A=r.length===Ke*ke)?void 0:n)!==n?t=r=[r,A]:(_=t,t=n)):(_=t,t=n),re--,t===n&&(r=n,0===re&&ce(p)),t}function fe(){return Z=_,Ke++,!0?void 0:n}function Ie(){return Z=_,Ke--,!0?void 0:n}function Ee(){var e,t,r;if((e=we())===n){if(e=_,t=[],(r=ye())!==n)for(;r!==n;)t.push(r),r=ye();else t=n;t!==n&&(Z=e,t=Ae()),e=t}return e}function Be(){var t,r,A,o,i,s;if(re++,t=_,f.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(I)),r!==n){for(A=[],o=_,(i=be())===n&&(i=null),i!==n?(E.test(e.charAt(_))?(s=e.charAt(_),_++):(s=n,0===re&&ce(B)),s!==n?o=i=[i,s]:(_=o,o=n)):(_=o,o=n);o!==n;)A.push(o),o=_,(i=be())===n&&(i=null),i!==n?(E.test(e.charAt(_))?(s=e.charAt(_),_++):(s=n,0===re&&ce(B)),s!==n?o=i=[i,s]:(_=o,o=n)):(_=o,o=n);A!==n?(Z=t,t=r=y()):(_=t,t=n)}else _=t,t=n;return re--,t===n&&(r=n,0===re&&ce(C)),t}function ye(){var t,r,A,o,i;if(t=_,"--"===e.substr(_,2)?(r="--",_+=2):(r=n,0===re&&ce(m)),r===n&&(r=null),r!==n)if(w.test(e.charAt(_))?(A=e.charAt(_),_++):(A=n,0===re&&ce(Q)),A!==n){for(o=[],D.test(e.charAt(_))?(i=e.charAt(_),_++):(i=n,0===re&&ce(b));i!==n;)o.push(i),D.test(e.charAt(_))?(i=e.charAt(_),_++):(i=n,0===re&&ce(b));o!==n?(Z=t,t=r=y()):(_=t,t=n)}else _=t,t=n;else _=t,t=n;return t}function me(){var t,r;return t=_,"null"===e.substr(_,4)?(r="null",_+=4):(r=n,0===re&&ce(v)),r!==n&&(Z=t,r=null),t=r}function we(){var t,r,A,o;return re++,t=_,34===e.charCodeAt(_)?(r='"',_++):(r=n,0===re&&ce(F)),r!==n?(34===e.charCodeAt(_)?(A='"',_++):(A=n,0===re&&ce(F)),A!==n?(Z=t,t=r=""):(_=t,t=n)):(_=t,t=n),t===n&&(t=_,34===e.charCodeAt(_)?(r='"',_++):(r=n,0===re&&ce(F)),r!==n&&(A=function(){var e,t,r;if(e=_,t=[],(r=Qe())!==n)for(;r!==n;)t.push(r),r=Qe();else t=n;t!==n&&(Z=e,t=t.join(""));return e=t}())!==n?(34===e.charCodeAt(_)?(o='"',_++):(o=n,0===re&&ce(F)),o!==n?(Z=t,t=r=A):(_=t,t=n)):(_=t,t=n)),re--,t===n&&(r=n,0===re&&ce(K)),t}function Qe(){var t,r,A,o,i,s,a,c,g,l;return N.test(e.charAt(_))?(t=e.charAt(_),_++):(t=n,0===re&&ce(M)),t===n&&(t=_,'\\"'===e.substr(_,2)?(r='\\"',_+=2):(r=n,0===re&&ce(R)),r!==n&&(Z=t,r='"'),(t=r)===n&&(t=_,"\\\\"===e.substr(_,2)?(r="\\\\",_+=2):(r=n,0===re&&ce(x)),r!==n&&(Z=t,r="\\"),(t=r)===n&&(t=_,"\\/"===e.substr(_,2)?(r="\\/",_+=2):(r=n,0===re&&ce(L)),r!==n&&(Z=t,r="/"),(t=r)===n&&(t=_,"\\b"===e.substr(_,2)?(r="\\b",_+=2):(r=n,0===re&&ce(P)),r!==n&&(Z=t,r="\b"),(t=r)===n&&(t=_,"\\f"===e.substr(_,2)?(r="\\f",_+=2):(r=n,0===re&&ce(O)),r!==n&&(Z=t,r="\f"),(t=r)===n&&(t=_,"\\n"===e.substr(_,2)?(r="\\n",_+=2):(r=n,0===re&&ce(U)),r!==n&&(Z=t,r="\n"),(t=r)===n&&(t=_,"\\r"===e.substr(_,2)?(r="\\r",_+=2):(r=n,0===re&&ce(T)),r!==n&&(Z=t,r="\r"),(t=r)===n&&(t=_,"\\t"===e.substr(_,2)?(r="\\t",_+=2):(r=n,0===re&&ce(j)),r!==n&&(Z=t,r="\t"),(t=r)===n&&(t=_,"\\u"===e.substr(_,2)?(r="\\u",_+=2):(r=n,0===re&&ce(Y)),r!==n&&(A=De())!==n&&(o=De())!==n&&(i=De())!==n&&(s=De())!==n?(Z=t,a=A,c=o,g=i,l=s,t=r=String.fromCharCode(parseInt(`0x${a}${c}${g}${l}`))):(_=t,t=n)))))))))),t}function De(){var t;return G.test(e.charAt(_))?(t=e.charAt(_),_++):(t=n,0===re&&ce(H)),t}function be(){var t,r;if(re++,t=[],q.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(z)),r!==n)for(;r!==n;)t.push(r),q.test(e.charAt(_))?(r=e.charAt(_),_++):(r=n,0===re&&ce(z));else t=n;return re--,t===n&&(r=n,0===re&&ce(J)),t}function ve(){var e,t,r,A,o,i;if(e=_,(t=Se())!==n){for(r=[],A=_,(o=be())===n&&(o=null),o!==n&&(i=Se())!==n?A=o=[o,i]:(_=A,A=n);A!==n;)r.push(A),A=_,(o=be())===n&&(o=null),o!==n&&(i=Se())!==n?A=o=[o,i]:(_=A,A=n);r!==n?e=t=[t,r]:(_=e,e=n)}else _=e,e=n;return e}function Se(){var t;return"\r\n"===e.substr(_,2)?(t="\r\n",_+=2):(t=n,0===re&&ce(W)),t===n&&(10===e.charCodeAt(_)?(t="\n",_++):(t=n,0===re&&ce(X)),t===n&&(13===e.charCodeAt(_)?(t="\r",_++):(t=n,0===re&&ce(V)))),t}const ke=2;let Ke=0;if((A=i())!==n&&_===e.length)return A;throw A!==n&&_{let A;e.exports=()=>(void 0===A&&(A=r(78761).brotliDecompressSync(Buffer.from("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","base64")).toString()),A)},42357:e=>{"use strict";e.exports=require("assert")},64293:e=>{"use strict";e.exports=require("buffer")},63129:e=>{"use strict";e.exports=require("child_process")},27619:e=>{"use strict";e.exports=require("constants")},76417:e=>{"use strict";e.exports=require("crypto")},40881:e=>{"use strict";e.exports=require("dns")},28614:e=>{"use strict";e.exports=require("events")},35747:e=>{"use strict";e.exports=require("fs")},98605:e=>{"use strict";e.exports=require("http")},97565:e=>{"use strict";e.exports=require("http2")},57211:e=>{"use strict";e.exports=require("https")},32282:e=>{"use strict";e.exports=require("module")},11631:e=>{"use strict";e.exports=require("net")},12087:e=>{"use strict";e.exports=require("os")},85622:e=>{"use strict";e.exports=require("path")},71191:e=>{"use strict";e.exports=require("querystring")},51058:e=>{"use strict";e.exports=require("readline")},92413:e=>{"use strict";e.exports=require("stream")},24304:e=>{"use strict";e.exports=require("string_decoder")},4016:e=>{"use strict";e.exports=require("tls")},33867:e=>{"use strict";e.exports=require("tty")},78835:e=>{"use strict";e.exports=require("url")},31669:e=>{"use strict";e.exports=require("util")},78761:e=>{"use strict";e.exports=require("zlib")}},t={};function r(A){if(t[A])return t[A].exports;var n=t[A]={id:A,loaded:!1,exports:{}};return e[A].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}return r.c=t,r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var A=Object.create(null);r.r(A);var n={};if(2&t&&"object"==typeof e&&e)for(const t in e)n[t]=()=>e[t];return n.default=()=>e,r.d(A,n),A},r.d=(e,t)=>{for(var A in t)r.o(t,A)&&!r.o(e,A)&&Object.defineProperty(e,A,{enumerable:!0,get:t[A]})},r.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(43418)})(); \ No newline at end of file diff --git a/.yarn/releases/yarn-sources.cjs b/.yarn/releases/yarn-sources.cjs new file mode 100755 index 000000000..fde682803 --- /dev/null +++ b/.yarn/releases/yarn-sources.cjs @@ -0,0 +1,615 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Toe=Object.create,fg=Object.defineProperty,Uoe=Object.defineProperties,Hoe=Object.getOwnPropertyDescriptor,Yoe=Object.getOwnPropertyDescriptors,qoe=Object.getOwnPropertyNames,uC=Object.getOwnPropertySymbols,Goe=Object.getPrototypeOf,gw=Object.prototype.hasOwnProperty,wL=Object.prototype.propertyIsEnumerable;var QL=(t,e,r)=>e in t?fg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))gw.call(e,r)&&QL(t,r,e[r]);if(uC)for(var r of uC(e))wL.call(e,r)&&QL(t,r,e[r]);return t},V=(t,e)=>Uoe(t,Yoe(e)),joe=t=>fg(t,"__esModule",{value:!0});var vr=(t,e)=>{var r={};for(var i in t)gw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&uC)for(var i of uC(t))e.indexOf(i)<0&&wL.call(t,i)&&(r[i]=t[i]);return r},Joe=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$e=(t,e)=>{for(var r in e)fg(t,r,{get:e[r],enumerable:!0})},Woe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qoe(e))!gw.call(t,i)&&i!=="default"&&fg(t,i,{get:()=>e[i],enumerable:!(r=Hoe(e,i))||r.enumerable});return t},te=t=>Woe(joe(fg(t!=null?Toe(Goe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var tN=C((z4e,ZL)=>{ZL.exports=_L;_L.sync=aae;var $L=require("fs");function Aae(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{rN.exports=iN;iN.sync=lae;var nN=require("fs");function iN(t,e,r){nN.stat(t,function(i,n){r(i,i?!1:sN(n,e))})}function lae(t,e){return sN(nN.statSync(t),e)}function sN(t,e){return t.isFile()&&cae(t,e)}function cae(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var AN=C((Z4e,aN)=>{var X4e=require("fs"),wC;process.platform==="win32"||global.TESTING_WINDOWS?wC=tN():wC=oN();aN.exports=Sw;Sw.sync=uae;function Sw(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Sw(t,e||{},function(s,o){s?n(s):i(o)})})}wC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function uae(t,e){try{return wC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var pN=C((_4e,lN)=>{var Ll=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",cN=require("path"),gae=Ll?";":":",uN=AN(),gN=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),hN=(t,e)=>{let r=e.colon||gae,i=t.match(/\//)||Ll&&t.match(/\\/)?[""]:[...Ll?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Ll?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ll?n.split(r):[""];return Ll&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},fN=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=hN(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(gN(t));let h=i[c],f=/^".*"$/.test(h)?h.slice(1,-1):h,p=cN.join(f,t),m=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((h,f)=>{if(g===n.length)return h(a(u+1));let p=n[g];uN(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return h(c+p);return h(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=hN(t,e),s=[];for(let o=0;o{"use strict";var dN=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Dw.exports=dN;Dw.exports.default=dN});var yN=C((e8e,mN)=>{"use strict";var IN=require("path"),fae=pN(),pae=CN();function EN(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=fae.sync(t.command,{path:r[pae({env:r})],pathExt:e?IN.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=IN.resolve(n?t.options.cwd:"",o)),o}function dae(t){return EN(t)||EN(t,!0)}mN.exports=dae});var BN=C((t8e,xw)=>{"use strict";var Pw=/([()\][%!^"`<>&|;, *?])/g;function Cae(t){return t=t.replace(Pw,"^$1"),t}function mae(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Pw,"^$1"),e&&(t=t.replace(Pw,"^$1")),t}xw.exports.command=Cae;xw.exports.argument=mae});var QN=C((r8e,wN)=>{"use strict";wN.exports=/^#!(.*)/});var SN=C((i8e,bN)=>{"use strict";var Iae=QN();bN.exports=(t="")=>{let e=t.match(Iae);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var xN=C((n8e,DN)=>{"use strict";var kw=require("fs"),Eae=SN();function yae(t){let e=150,r=Buffer.alloc(e),i;try{i=kw.openSync(t,"r"),kw.readSync(i,r,0,e,0),kw.closeSync(i)}catch(n){}return Eae(r.toString())}DN.exports=yae});var FN=C((s8e,PN)=>{"use strict";var Bae=require("path"),kN=yN(),vN=BN(),wae=xN(),Qae=process.platform==="win32",bae=/\.(?:com|exe)$/i,Sae=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Dae(t){t.file=kN(t);let e=t.file&&wae(t.file);return e?(t.args.unshift(t.file),t.command=e,kN(t)):t.file}function xae(t){if(!Qae)return t;let e=Dae(t),r=!bae.test(e);if(t.options.forceShell||r){let i=Sae.test(e);t.command=Bae.normalize(t.command),t.command=vN.command(t.command),t.args=t.args.map(s=>vN.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Pae(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:xae(i)}PN.exports=Pae});var NN=C((o8e,RN)=>{"use strict";var vw=process.platform==="win32";function Fw(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function kae(t,e){if(!vw)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=LN(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function LN(t,e){return vw&&t===1&&!e.file?Fw(e.original,"spawn"):null}function vae(t,e){return vw&&t===1&&!e.file?Fw(e.original,"spawnSync"):null}RN.exports={hookChildProcess:kae,verifyENOENT:LN,verifyENOENTSync:vae,notFoundError:Fw}});var Nw=C((a8e,Nl)=>{"use strict";var MN=require("child_process"),Rw=FN(),Lw=NN();function ON(t,e,r){let i=Rw(t,e,r),n=MN.spawn(i.command,i.args,i.options);return Lw.hookChildProcess(n,i),n}function Fae(t,e,r){let i=Rw(t,e,r),n=MN.spawnSync(i.command,i.args,i.options);return n.error=n.error||Lw.verifyENOENTSync(n.status,i),n}Nl.exports=ON;Nl.exports.spawn=ON;Nl.exports.sync=Fae;Nl.exports._parse=Rw;Nl.exports._enoent=Lw});var TN=C((g8e,KN)=>{"use strict";KN.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Gw=C((h8e,UN)=>{var vg=TN(),HN={};for(let t of Object.keys(vg))HN[vg[t]]=t;var qe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};UN.exports=qe;for(let t of Object.keys(qe)){if(!("channels"in qe[t]))throw new Error("missing channels property: "+t);if(!("labels"in qe[t]))throw new Error("missing channel labels property: "+t);if(qe[t].labels.length!==qe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=qe[t];delete qe[t].channels,delete qe[t].labels,Object.defineProperty(qe[t],"channels",{value:e}),Object.defineProperty(qe[t],"labels",{value:r})}qe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};qe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(h){return(c-h)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};qe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=qe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};qe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Nae(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}qe.rgb.keyword=function(t){let e=HN[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(vg)){let s=vg[n],o=Nae(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};qe.rgb.lab=function(t){let e=qe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};qe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};qe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};qe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};qe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};qe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};qe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};qe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};qe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};qe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};qe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};qe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};qe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?qe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};qe.hsv.ansi16=function(t){return qe.rgb.ansi16(qe.hsv.rgb(t),t[2])};qe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};qe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};qe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};qe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};qe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};qe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};qe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};qe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};qe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};qe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};qe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};qe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};qe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};qe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};qe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};qe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};qe.gray.hsl=function(t){return[0,0,t[0]]};qe.gray.hsv=qe.gray.hsl;qe.gray.hwb=function(t){return[0,100,t[0]]};qe.gray.cmyk=function(t){return[0,0,0,t[0]]};qe.gray.lab=function(t){return[t[0],0,0]};qe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};qe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var qN=C((f8e,YN)=>{var QC=Gw();function Mae(){let t={},e=Object.keys(QC);for(let r=e.length,i=0;i{var jw=Gw(),Uae=qN(),Ml={},Hae=Object.keys(jw);function Yae(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function qae(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{Ml[t]={},Object.defineProperty(Ml[t],"channels",{value:jw[t].channels}),Object.defineProperty(Ml[t],"labels",{value:jw[t].labels});let e=Uae(t);Object.keys(e).forEach(i=>{let n=e[i];Ml[t][i]=qae(n),Ml[t][i].raw=Yae(n)})});GN.exports=Ml});var ZN=C((d8e,JN)=>{"use strict";var WN=(t,e)=>(...r)=>`[${t(...r)+e}m`,zN=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},VN=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},bC=t=>t,XN=(t,e,r)=>[t,e,r],Ol=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Jw,Kl=(t,e,r,i)=>{Jw===void 0&&(Jw=jN());let n=i?10:0,s={};for(let[o,a]of Object.entries(Jw)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function Gae(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Ol(e.color,"ansi",()=>Kl(WN,"ansi16",bC,!1)),Ol(e.color,"ansi256",()=>Kl(zN,"ansi256",bC,!1)),Ol(e.color,"ansi16m",()=>Kl(VN,"rgb",XN,!1)),Ol(e.bgColor,"ansi",()=>Kl(WN,"ansi16",bC,!0)),Ol(e.bgColor,"ansi256",()=>Kl(zN,"ansi256",bC,!0)),Ol(e.bgColor,"ansi16m",()=>Kl(VN,"rgb",XN,!0)),e}Object.defineProperty(JN,"exports",{enumerable:!0,get:Gae})});var $N=C((C8e,_N)=>{"use strict";_N.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var jae=require("os"),tM=require("tty"),tn=$N(),{env:dr}=process,Lo;tn("no-color")||tn("no-colors")||tn("color=false")||tn("color=never")?Lo=0:(tn("color")||tn("colors")||tn("color=true")||tn("color=always"))&&(Lo=1);"FORCE_COLOR"in dr&&(dr.FORCE_COLOR==="true"?Lo=1:dr.FORCE_COLOR==="false"?Lo=0:Lo=dr.FORCE_COLOR.length===0?1:Math.min(parseInt(dr.FORCE_COLOR,10),3));function Ww(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function zw(t,e){if(Lo===0)return 0;if(tn("color=16m")||tn("color=full")||tn("color=truecolor"))return 3;if(tn("color=256"))return 2;if(t&&!e&&Lo===void 0)return 0;let r=Lo||0;if(dr.TERM==="dumb")return r;if(process.platform==="win32"){let i=jae.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in dr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in dr)||dr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in dr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(dr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in dr)return 1;if(dr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in dr){let i=parseInt((dr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(dr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(dr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(dr.TERM)||"COLORTERM"in dr?1:r}function Jae(t){let e=zw(t,t&&t.isTTY);return Ww(e)}eM.exports={supportsColor:Jae,stdout:Ww(zw(!0,tM.isatty(1))),stderr:Ww(zw(!0,tM.isatty(2)))}});var nM=C((I8e,iM)=>{"use strict";var Wae=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},zae=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};iM.exports={stringReplaceAll:Wae,stringEncaseCRLFWithFirstIndex:zae}});var lM=C((E8e,sM)=>{"use strict";var Vae=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,oM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xae=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zae=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,_ae=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function aM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):_ae.get(t)||t}function $ae(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xae))r.push(n[2].replace(Zae,(a,l,c)=>l?aM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function eAe(t){oM.lastIndex=0;let e=[],r;for(;(r=oM.exec(t))!==null;){let i=r[1];if(r[2]){let n=$ae(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function AM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}sM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(Vae,(s,o,a,l,c,u)=>{if(o)n.push(aM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:AM(t,r)(g)),r.push({inverse:a,styles:eAe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(AM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var $w=C((y8e,cM)=>{"use strict";var Fg=ZN(),{stdout:Vw,stderr:Xw}=rM(),{stringReplaceAll:tAe,stringEncaseCRLFWithFirstIndex:rAe}=nM(),uM=["ansi","ansi","ansi256","ansi16m"],Tl=Object.create(null),iAe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Vw?Vw.level:0;t.level=e.level===void 0?r:e.level},gM=class{constructor(e){return hM(e)}},hM=t=>{let e={};return iAe(e,t),e.template=(...r)=>nAe(e.template,...r),Object.setPrototypeOf(e,SC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=gM,e.template};function SC(t){return hM(t)}for(let[t,e]of Object.entries(Fg))Tl[t]={get(){let r=DC(this,Zw(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Tl.visible={get(){let t=DC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var fM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of fM)Tl[t]={get(){let{level:e}=this;return function(...r){let i=Zw(Fg.color[uM[e]][t](...r),Fg.color.close,this._styler);return DC(this,i,this._isEmpty)}}};for(let t of fM){let e="bg"+t[0].toUpperCase()+t.slice(1);Tl[e]={get(){let{level:r}=this;return function(...i){let n=Zw(Fg.bgColor[uM[r]][t](...i),Fg.bgColor.close,this._styler);return DC(this,n,this._isEmpty)}}}}var sAe=Object.defineProperties(()=>{},V(P({},Tl),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Zw=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},DC=(t,e,r)=>{let i=(...n)=>oAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=sAe,i._generator=t,i._styler=e,i._isEmpty=r,i},oAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=tAe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=rAe(e,n,i,s)),i+e+n},_w,nAe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{pM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var Lg=C(Oi=>{"use strict";var CM=dM(),Xn=process.env;Object.defineProperty(Oi,"_vendors",{value:CM.map(function(t){return t.constant})});Oi.name=null;Oi.isPR=null;CM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return mM(i)});if(Oi[t.constant]=r,r)switch(Oi.name=t.name,typeof t.pr){case"string":Oi.isPR=!!Xn[t.pr];break;case"object":"env"in t.pr?Oi.isPR=t.pr.env in Xn&&Xn[t.pr.env]!==t.pr.ne:"any"in t.pr?Oi.isPR=t.pr.any.some(function(i){return!!Xn[i]}):Oi.isPR=mM(t.pr);break;default:Oi.isPR=null}});Oi.isCI=!!(Xn.CI||Xn.CONTINUOUS_INTEGRATION||Xn.BUILD_NUMBER||Xn.RUN_ID||Oi.name);function mM(t){return typeof t=="string"?!!Xn[t]:Object.keys(t).every(function(e){return Xn[e]===t[e]})}});var EM=C((Q8e,IM)=>{"use strict";IM.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var BM=C((b8e,yM)=>{"use strict";var aAe=EM();yM.exports=t=>typeof t=="string"?t.replace(aAe(),""):t});var Hl={};$e(Hl,{KeyRelationship:()=>tA,applyCascade:()=>aQ,base64RegExp:()=>xM,colorStringAlphaRegExp:()=>DM,colorStringRegExp:()=>SM,computeKey:()=>No,getPrintable:()=>Ar,hasExactLength:()=>RM,hasForbiddenKeys:()=>TAe,hasKeyRelationship:()=>lQ,hasMaxLength:()=>BAe,hasMinLength:()=>yAe,hasMutuallyExclusiveKeys:()=>UAe,hasRequiredKeys:()=>KAe,hasUniqueItems:()=>wAe,isArray:()=>hAe,isAtLeast:()=>SAe,isAtMost:()=>DAe,isBase64:()=>MAe,isBoolean:()=>cAe,isDate:()=>gAe,isDict:()=>pAe,isEnum:()=>Yl,isHexColor:()=>NAe,isISO8601:()=>LAe,isInExclusiveRange:()=>PAe,isInInclusiveRange:()=>xAe,isInstanceOf:()=>CAe,isInteger:()=>kAe,isJSON:()=>OAe,isLiteral:()=>AAe,isLowerCase:()=>vAe,isNegative:()=>QAe,isNullable:()=>EAe,isNumber:()=>uAe,isObject:()=>dAe,isOneOf:()=>mAe,isOptional:()=>IAe,isPositive:()=>bAe,isString:()=>oQ,isTuple:()=>fAe,isUUID4:()=>RAe,isUnknown:()=>FM,isUpperCase:()=>FAe,iso8601RegExp:()=>sQ,makeCoercionFn:()=>eA,makeSetter:()=>vM,makeTrait:()=>kM,makeValidator:()=>ot,matchesRegExp:()=>AQ,plural:()=>FC,pushError:()=>et,simpleKeyRegExp:()=>bM,uuid4RegExp:()=>PM});function ot({test:t}){return kM(t)()}function Ar(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function No(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:bM.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function eA(t,e){return r=>{let i=t[e];return t[e]=r,eA(t,e).bind(null,i)}}function vM(t,e){return r=>{t[e]=r}}function FC(t,e,r){return t===1?e:r}function et({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function AAe(t){return ot({test:(e,r)=>e!==t?et(r,`Expected a literal (got ${Ar(t)})`):!0})}function Yl(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return ot({test:(i,n)=>r.has(i)?!0:et(n,`Expected a valid enumeration value (got ${Ar(i)})`)})}var bM,SM,DM,xM,PM,sQ,kM,FM,oQ,lAe,cAe,uAe,gAe,hAe,fAe,pAe,dAe,CAe,mAe,aQ,IAe,EAe,yAe,BAe,RM,wAe,QAe,bAe,SAe,DAe,xAe,PAe,kAe,AQ,vAe,FAe,RAe,LAe,NAe,MAe,OAe,KAe,TAe,UAe,tA,HAe,lQ,Mo=Joe(()=>{bM=/^[a-zA-Z_][a-zA-Z0-9_]*$/,SM=/^#[0-9a-f]{6}$/i,DM=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,xM=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,PM=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,sQ=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,kM=t=>()=>t;FM=()=>ot({test:(t,e)=>!0});oQ=()=>ot({test:(t,e)=>typeof t!="string"?et(e,`Expected a string (got ${Ar(t)})`):!0});lAe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),cAe=()=>ot({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i=lAe.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a boolean (got ${Ar(t)})`)}return!0}}),uAe=()=>ot({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return et(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a number (got ${Ar(t)})`)}return!0}}),gAe=()=>ot({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"&&sQ.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return et(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a date (got ${Ar(t)})`)}return!0}}),hAe=(t,{delimiter:e}={})=>ot({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return et(i,`Expected an array (got ${Ar(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=RM(t.length);return ot({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return et(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return et(n,`Expected a tuple (got ${Ar(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aot({test:(r,i)=>{if(typeof r!="object"||r===null)return et(i,`Expected an object (got ${Ar(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length&&(s||(i==null?void 0:i.errors)!=null);o{let r=Object.keys(t);return ot({test:(i,n)=>{if(typeof i!="object"||i===null)return et(n,`Expected an object (got ${Ar(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=et(Object.assign(Object.assign({},n),{p:No(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:No(n,l),coercion:eA(i,l)}))&&a:e===null?a=et(Object.assign(Object.assign({},n),{p:No(n,l)}),`Extraneous property (got ${Ar(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:vM(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},CAe=t=>ot({test:(e,r)=>e instanceof t?!0:et(r,`Expected an instance of ${t.name} (got ${Ar(e)})`)}),mAe=(t,{exclusive:e=!1}={})=>ot({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?et(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),aQ=(t,e)=>ot({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?eA(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),IAe=t=>ot({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),EAe=t=>ot({test:(e,r)=>e===null?!0:t(e,r)}),yAe=t=>ot({test:(e,r)=>e.length>=t?!0:et(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),BAe=t=>ot({test:(e,r)=>e.length<=t?!0:et(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),RM=t=>ot({test:(e,r)=>e.length!==t?et(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),wAe=({map:t}={})=>ot({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sot({test:(t,e)=>t<=0?!0:et(e,`Expected to be negative (got ${t})`)}),bAe=()=>ot({test:(t,e)=>t>=0?!0:et(e,`Expected to be positive (got ${t})`)}),SAe=t=>ot({test:(e,r)=>e>=t?!0:et(r,`Expected to be at least ${t} (got ${e})`)}),DAe=t=>ot({test:(e,r)=>e<=t?!0:et(r,`Expected to be at most ${t} (got ${e})`)}),xAe=(t,e)=>ot({test:(r,i)=>r>=t&&r<=e?!0:et(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),PAe=(t,e)=>ot({test:(r,i)=>r>=t&&rot({test:(e,r)=>e!==Math.round(e)?et(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:et(r,`Expected to be a safe integer (got ${e})`)}),AQ=t=>ot({test:(e,r)=>t.test(e)?!0:et(r,`Expected to match the pattern ${t.toString()} (got ${Ar(e)})`)}),vAe=()=>ot({test:(t,e)=>t!==t.toLowerCase()?et(e,`Expected to be all-lowercase (got ${t})`):!0}),FAe=()=>ot({test:(t,e)=>t!==t.toUpperCase()?et(e,`Expected to be all-uppercase (got ${t})`):!0}),RAe=()=>ot({test:(t,e)=>PM.test(t)?!0:et(e,`Expected to be a valid UUID v4 (got ${Ar(t)})`)}),LAe=()=>ot({test:(t,e)=>sQ.test(t)?!1:et(e,`Expected to be a valid ISO 8601 date string (got ${Ar(t)})`)}),NAe=({alpha:t=!1})=>ot({test:(e,r)=>(t?SM.test(e):DM.test(e))?!0:et(r,`Expected to be a valid hexadecimal color string (got ${Ar(e)})`)}),MAe=()=>ot({test:(t,e)=>xM.test(t)?!0:et(e,`Expected to be a valid base 64 string (got ${Ar(t)})`)}),OAe=(t=FM())=>ot({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return et(r,`Expected to be a valid JSON string (got ${Ar(e)})`)}return t(i,r)}}),KAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?et(i,`Missing required ${FC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},TAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?et(i,`Forbidden ${FC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},UAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?et(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(tA||(tA={}));HAe={[tA.Forbids]:{expect:!1,message:"forbids using"},[tA.Requires]:{expect:!0,message:"requires using"}},lQ=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=HAe[e];return ot({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?et(l,`Property "${t}" ${o.message} ${FC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var KC=C(nn=>{"use strict";nn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;nn.find=(t,e)=>t.nodes.find(r=>r.type===e);nn.exceedsLimit=(t,e,r=1,i)=>i===!1||!nn.isInteger(t)||!nn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;nn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};nn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;nn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;nn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;nn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);nn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var XM=KC();VM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&XM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&XM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var _M=C((Dze,ZM)=>{"use strict";ZM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var aO=C((xze,$M)=>{"use strict";var eO=_M(),rA=(t,e,r)=>{if(eO(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(eO(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(rA.cache.hasOwnProperty(l))return rA.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=rO(t)||rO(e),h={min:t,max:e,a:c,b:u},f=[],p=[];if(g&&(h.isPadded=g,h.maxLen=String(h.max).length),c<0){let m=u<0?Math.abs(u):1;p=tO(m,Math.abs(c),h,i),c=h.a=0}return u>=0&&(f=tO(c,u,h,i)),h.negatives=p,h.positives=f,h.result=rle(p,f,i),i.capture===!0?h.result=`(${h.result})`:i.wrap!==!1&&f.length+p.length>1&&(h.result=`(?:${h.result})`),rA.cache[l]=h,h.result};function rle(t,e,r){let i=pQ(t,e,"-",!1,r)||[],n=pQ(e,t,"",!1,r)||[],s=pQ(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function nle(t,e){let r=1,i=1,n=iO(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=iO(t,r);for(n=nO(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+sO(a.count),o=c+1;continue}r.isPadded&&(g=Ale(c,r,i)),u.string=g+u.pattern+sO(u.count),s.push(u),o=c+1,a=u}return s}function pQ(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!oO(e,"string",a)&&s.push(r+a),i&&oO(e,"string",a)&&s.push(r+a)}return s}function sle(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function oO(t,e,r){return t.some(i=>i[e]===r)}function iO(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function nO(t,e){return t-t%Math.pow(10,e)}function sO(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function ole(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function rO(t){return/^-?(0+)\d/.test(t)}function Ale(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}rA.cache={};rA.clearCache=()=>rA.cache={};$M.exports=rA});var mQ=C((Pze,AO)=>{"use strict";var lle=require("util"),lO=aO(),cO=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),cle=t=>e=>t===!0?Number(e):String(e),dQ=t=>typeof t=="number"||typeof t=="string"&&t!=="",Yg=t=>Number.isInteger(+t),CQ=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},ule=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,gle=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},uO=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},gO=(t,e,r,i)=>{if(r)return lO(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},hO=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return lO(t,e,r)},fO=(...t)=>new RangeError("Invalid range arguments: "+lle.inspect(...t)),pO=(t,e,r)=>{if(r.strictRanges===!0)throw fO([t,e]);return[]},fle=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ple=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw fO([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=CQ(a)||CQ(l)||CQ(c),g=u?Math.max(a.length,l.length,c.length):0,h=u===!1&&ule(t,e,i)===!1,f=i.transform||cle(h);if(i.toRegex&&r===1)return gO(uO(t,g),uO(e,g),!0,i);let p={negatives:[],positives:[]},m=b=>p[b<0?"negatives":"positives"].push(Math.abs(b)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(gle(f(n,y),g,h)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?hle(p,i):hO(I,null,P({wrap:!1},i)):I},dle=(t,e,r=1,i={})=>{if(!Yg(t)&&t.length>1||!Yg(e)&&e.length>1)return pO(t,e,i);let n=i.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return gO(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?hO(u,null,{wrap:!1,options:i}):u},UC=(t,e,r,i={})=>{if(e==null&&dQ(t))return[t];if(!dQ(t)||!dQ(e))return pO(t,e,i);if(typeof r=="function")return UC(t,e,1,{transform:r});if(cO(r))return UC(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Yg(r)?Yg(t)&&Yg(e)?ple(t,e,r,n):dle(t,e,Math.max(Math.abs(r),1),n):r!=null&&!cO(r)?fle(r,n):UC(t,e,1,r)};AO.exports=UC});var mO=C((kze,dO)=>{"use strict";var Cle=mQ(),CO=KC(),mle=(t,e={})=>{let r=(i,n={})=>{let s=CO.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=CO.reduce(i.nodes),g=Cle(...u,V(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};dO.exports=mle});var yO=C((vze,IO)=>{"use strict";var Ile=mQ(),EO=TC(),Gl=KC(),iA=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Gl.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(iA(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?iA(n,s,r):n+s);return Gl.flatten(i)},Ele=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(iA(a.pop(),EO(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(iA(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Gl.reduce(n.nodes);if(Gl.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=Ile(...g,e);h.length===0&&(h=EO(n,e)),a.push(iA(a.pop(),h)),n.nodes=[];return}let l=Gl.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";BO.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var xO=C((Rze,QO)=>{"use strict";var yle=TC(),{MAX_LENGTH:bO,CHAR_BACKSLASH:IQ,CHAR_BACKTICK:Ble,CHAR_COMMA:wle,CHAR_DOT:Qle,CHAR_LEFT_PARENTHESES:ble,CHAR_RIGHT_PARENTHESES:Sle,CHAR_LEFT_CURLY_BRACE:Dle,CHAR_RIGHT_CURLY_BRACE:xle,CHAR_LEFT_SQUARE_BRACKET:SO,CHAR_RIGHT_SQUARE_BRACKET:DO,CHAR_DOUBLE_QUOTE:Ple,CHAR_SINGLE_QUOTE:kle,CHAR_NO_BREAK_SPACE:vle,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Fle}=wO(),Rle=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(bO,r.maxLength):bO;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,h,f={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:yle(o)}]}m({type:"comma",value:h}),o.commas++;continue}if(h===Qle&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:h});continue}if(a.type==="dot"){if(o.range=[],a.value+=h,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+h,a=y,o.ranges--;continue}m({type:"dot",value:h});continue}m({type:"text",value:h})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(b=>{b.nodes||(b.type==="open"&&(b.isOpen=!0),b.type==="close"&&(b.isClose=!0),b.nodes||(b.type="text"),b.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};QO.exports=Rle});var vO=C((Lze,PO)=>{"use strict";var kO=TC(),Lle=mO(),Nle=yO(),Mle=xO(),Ti=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ti.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ti.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ti.parse=(t,e={})=>Mle(t,e);Ti.stringify=(t,e={})=>typeof t=="string"?kO(Ti.parse(t,e),e):kO(t,e);Ti.compile=(t,e={})=>(typeof t=="string"&&(t=Ti.parse(t,e)),Lle(t,e));Ti.expand=(t,e={})=>{typeof t=="string"&&(t=Ti.parse(t,e));let r=Nle(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ti.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ti.compile(t,e):Ti.expand(t,e);PO.exports=Ti});var qg=C((Nze,FO)=>{"use strict";var Ole=require("path"),$n="\\\\/",RO=`[^${$n}]`,Ns="\\.",Kle="\\+",Tle="\\?",HC="\\/",Ule="(?=.)",LO="[^/]",EQ=`(?:${HC}|$)`,NO=`(?:^|${HC})`,yQ=`${Ns}{1,2}${EQ}`,Hle=`(?!${Ns})`,Yle=`(?!${NO}${yQ})`,qle=`(?!${Ns}{0,1}${EQ})`,Gle=`(?!${yQ})`,jle=`[^.${HC}]`,Jle=`${LO}*?`,MO={DOT_LITERAL:Ns,PLUS_LITERAL:Kle,QMARK_LITERAL:Tle,SLASH_LITERAL:HC,ONE_CHAR:Ule,QMARK:LO,END_ANCHOR:EQ,DOTS_SLASH:yQ,NO_DOT:Hle,NO_DOTS:Yle,NO_DOT_SLASH:qle,NO_DOTS_SLASH:Gle,QMARK_NO_DOT:jle,STAR:Jle,START_ANCHOR:NO},Wle=V(P({},MO),{SLASH_LITERAL:`[${$n}]`,QMARK:RO,STAR:`${RO}*?`,DOTS_SLASH:`${Ns}{1,2}(?:[${$n}]|$)`,NO_DOT:`(?!${Ns})`,NO_DOTS:`(?!(?:^|[${$n}])${Ns}{1,2}(?:[${$n}]|$))`,NO_DOT_SLASH:`(?!${Ns}{0,1}(?:[${$n}]|$))`,NO_DOTS_SLASH:`(?!${Ns}{1,2}(?:[${$n}]|$))`,QMARK_NO_DOT:`[^.${$n}]`,START_ANCHOR:`(?:^|[${$n}])`,END_ANCHOR:`(?:[${$n}]|$)`}),zle={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"};FO.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:zle,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Ole.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?Wle:MO}}});var Gg=C(yi=>{"use strict";var Vle=require("path"),Xle=process.platform==="win32",{REGEX_BACKSLASH:Zle,REGEX_REMOVE_BACKSLASH:_le,REGEX_SPECIAL_CHARS:$le,REGEX_SPECIAL_CHARS_GLOBAL:ece}=qg();yi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);yi.hasRegexChars=t=>$le.test(t);yi.isRegexChar=t=>t.length===1&&yi.hasRegexChars(t);yi.escapeRegex=t=>t.replace(ece,"\\$1");yi.toPosixSlashes=t=>t.replace(Zle,"/");yi.removeBackslashes=t=>t.replace(_le,e=>e==="\\"?"":e);yi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};yi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:Xle===!0||Vle.sep==="\\";yi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?yi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};yi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};yi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var jO=C((Oze,OO)=>{"use strict";var KO=Gg(),{CHAR_ASTERISK:BQ,CHAR_AT:tce,CHAR_BACKWARD_SLASH:jg,CHAR_COMMA:rce,CHAR_DOT:wQ,CHAR_EXCLAMATION_MARK:TO,CHAR_FORWARD_SLASH:UO,CHAR_LEFT_CURLY_BRACE:QQ,CHAR_LEFT_PARENTHESES:bQ,CHAR_LEFT_SQUARE_BRACKET:ice,CHAR_PLUS:nce,CHAR_QUESTION_MARK:HO,CHAR_RIGHT_CURLY_BRACE:sce,CHAR_RIGHT_PARENTHESES:YO,CHAR_RIGHT_SQUARE_BRACKET:oce}=qg(),qO=t=>t===UO||t===jg,GO=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},ace=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,h=!1,f=!1,p=!1,m=!1,I=!1,y=!1,b=!1,x=!1,F=!1,N=0,U,v,J={value:"",depth:0,isGlob:!1},oe=()=>c>=i,K=()=>l.charCodeAt(c+1),A=()=>(U=v,l.charCodeAt(++c));for(;c0&&($=l.slice(0,u),l=l.slice(u),g-=u),W&&p===!0&&g>0?(W=l.slice(0,g),re=l.slice(g)):p===!0?(W="",re=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&qO(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===!0&&(re&&(re=KO.removeBackslashes(re)),W&&b===!0&&(W=KO.removeBackslashes(W)));let H={prefix:$,input:t,start:u,base:W,glob:re,isBrace:h,isBracket:f,isGlob:p,isExtglob:m,isGlobstar:I,negated:x};if(r.tokens===!0&&(H.maxDepth=0,qO(v)||o.push(J),H.tokens=o),r.parts===!0||r.tokens===!0){let R;for(let Pe=0;Pe{"use strict";var YC=qg(),Ui=Gg(),{MAX_LENGTH:qC,POSIX_REGEX_SOURCE:Ace,REGEX_NON_SPECIAL_CHARS:lce,REGEX_SPECIAL_CHARS_BACKREF:cce,REPLACEMENTS:WO}=YC,uce=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Ui.escapeRegex(n)).join("..")}return r},jl=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,zO=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=WO[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(qC,r.maxLength):qC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Ui.isWindows(e),c=YC.globChars(l),u=YC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:h,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:b,QMARK:x,QMARK_NO_DOT:F,STAR:N,START_ANCHOR:U}=c,v=X=>`(${a}(?:(?!${U}${X.dot?m:g}).)*?)`,J=r.dot?"":I,oe=r.dot?x:F,K=r.bash===!0?v(r):N;r.capture&&(K=`(${K})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Ui.removePrefix(t,A),n=t.length;let W=[],$=[],re=[],H=s,R,Pe=()=>A.index===n-1,Le=A.peek=(X=1)=>t[A.index+X],Ge=A.advance=()=>t[++A.index],Ke=()=>t.slice(A.index+1),ie=(X="",ae=0)=>{A.consumed+=X,A.index+=ae},le=X=>{A.output+=X.output!=null?X.output:X.value,ie(X.value)},be=()=>{let X=1;for(;Le()==="!"&&(Le(2)!=="("||Le(3)==="?");)Ge(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},he=X=>{A[X]++,re.push(X)},Ie=X=>{A[X]--,re.pop()},pe=X=>{if(H.type==="globstar"){let ae=A.braces>0&&(X.type==="comma"||X.type==="brace"),ue=X.extglob===!0||W.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!ae&&!ue&&(A.output=A.output.slice(0,-H.output.length),H.type="star",H.value="*",H.output=K,A.output+=H.output)}if(W.length&&X.type!=="paren"&&!u[X.value]&&(W[W.length-1].inner+=X.value),(X.value||X.output)&&le(X),H&&H.type==="text"&&X.type==="text"){H.value+=X.value,H.output=(H.output||"")+X.value;return}X.prev=H,o.push(X),H=X},ve=(X,ae)=>{let ue=V(P({},u[ae]),{conditions:1,inner:""});ue.prev=H,ue.parens=A.parens,ue.output=A.output;let we=(r.capture?"(":"")+ue.open;he("parens"),pe({type:X,value:ae,output:A.output?"":p}),pe({type:"paren",extglob:!0,value:Ge(),output:we}),W.push(ue)},Z=X=>{let ae=X.close+(r.capture?")":"");if(X.type==="negate"){let ue=K;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(ue=v(r)),(ue!==K||Pe()||/^\)+$/.test(Ke()))&&(ae=X.close=`)$))${ue}`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}pe({type:"paren",extglob:!0,value:R,output:ae}),Ie("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,ae=t.replace(cce,(ue,we,lt,ft,xt,Sn)=>ft==="\\"?(X=!0,ue):ft==="?"?we?we+ft+(xt?x.repeat(xt.length):""):Sn===0?oe+(xt?x.repeat(xt.length):""):x.repeat(lt.length):ft==="."?g.repeat(lt.length):ft==="*"?we?we+ft+(xt?K:""):K:we?ue:`\\${ue}`);return X===!0&&(r.unescape===!0?ae=ae.replace(/\\/g,""):ae=ae.replace(/\\+/g,ue=>ue.length%2==0?"\\\\":ue?"\\":"")),ae===t&&r.contains===!0?(A.output=t,A):(A.output=Ui.wrapOutput(ae,A,e),A)}for(;!Pe();){if(R=Ge(),R==="\0")continue;if(R==="\\"){let ue=Le();if(ue==="/"&&r.bash!==!0||ue==="."||ue===";")continue;if(!ue){R+="\\",pe({type:"text",value:R});continue}let we=/^\\+/.exec(Ke()),lt=0;if(we&&we[0].length>2&&(lt=we[0].length,A.index+=lt,lt%2!=0&&(R+="\\")),r.unescape===!0?R=Ge()||"":R+=Ge()||"",A.brackets===0){pe({type:"text",value:R});continue}}if(A.brackets>0&&(R!=="]"||H.value==="["||H.value==="[^")){if(r.posix!==!1&&R===":"){let ue=H.value.slice(1);if(ue.includes("[")&&(H.posix=!0,ue.includes(":"))){let we=H.value.lastIndexOf("["),lt=H.value.slice(0,we),ft=H.value.slice(we+2),xt=Ace[ft];if(xt){H.value=lt+xt,A.backtrack=!0,Ge(),!s.output&&o.indexOf(H)===1&&(s.output=p);continue}}}(R==="["&&Le()!==":"||R==="-"&&Le()==="]")&&(R=`\\${R}`),R==="]"&&(H.value==="["||H.value==="[^")&&(R=`\\${R}`),r.posix===!0&&R==="!"&&H.value==="["&&(R="^"),H.value+=R,le({value:R});continue}if(A.quotes===1&&R!=='"'){R=Ui.escapeRegex(R),H.value+=R,le({value:R});continue}if(R==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&pe({type:"text",value:R});continue}if(R==="("){he("parens"),pe({type:"paren",value:R});continue}if(R===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(jl("opening","("));let ue=W[W.length-1];if(ue&&A.parens===ue.parens+1){Z(W.pop());continue}pe({type:"paren",value:R,output:A.parens?")":"\\)"}),Ie("parens");continue}if(R==="["){if(r.nobracket===!0||!Ke().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(jl("closing","]"));R=`\\${R}`}else he("brackets");pe({type:"bracket",value:R});continue}if(R==="]"){if(r.nobracket===!0||H&&H.type==="bracket"&&H.value.length===1){pe({type:"text",value:R,output:`\\${R}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(jl("opening","["));pe({type:"text",value:R,output:`\\${R}`});continue}Ie("brackets");let ue=H.value.slice(1);if(H.posix!==!0&&ue[0]==="^"&&!ue.includes("/")&&(R=`/${R}`),H.value+=R,le({value:R}),r.literalBrackets===!1||Ui.hasRegexChars(ue))continue;let we=Ui.escapeRegex(H.value);if(A.output=A.output.slice(0,-H.value.length),r.literalBrackets===!0){A.output+=we,H.value=we;continue}H.value=`(${a}${we}|${H.value})`,A.output+=H.value;continue}if(R==="{"&&r.nobrace!==!0){he("braces");let ue={type:"brace",value:R,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};$.push(ue),pe(ue);continue}if(R==="}"){let ue=$[$.length-1];if(r.nobrace===!0||!ue){pe({type:"text",value:R,output:R});continue}let we=")";if(ue.dots===!0){let lt=o.slice(),ft=[];for(let xt=lt.length-1;xt>=0&&(o.pop(),lt[xt].type!=="brace");xt--)lt[xt].type!=="dots"&&ft.unshift(lt[xt].value);we=uce(ft,r),A.backtrack=!0}if(ue.comma!==!0&&ue.dots!==!0){let lt=A.output.slice(0,ue.outputIndex),ft=A.tokens.slice(ue.tokensIndex);ue.value=ue.output="\\{",R=we="\\}",A.output=lt;for(let xt of ft)A.output+=xt.output||xt.value}pe({type:"brace",value:R,output:we}),Ie("braces"),$.pop();continue}if(R==="|"){W.length>0&&W[W.length-1].conditions++,pe({type:"text",value:R});continue}if(R===","){let ue=R,we=$[$.length-1];we&&re[re.length-1]==="braces"&&(we.comma=!0,ue="|"),pe({type:"comma",value:R,output:ue});continue}if(R==="/"){if(H.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),H=s;continue}pe({type:"slash",value:R,output:f});continue}if(R==="."){if(A.braces>0&&H.type==="dot"){H.value==="."&&(H.output=g);let ue=$[$.length-1];H.type="dots",H.output+=R,H.value+=R,ue.dots=!0;continue}if(A.braces+A.parens===0&&H.type!=="bos"&&H.type!=="slash"){pe({type:"text",value:R,output:g});continue}pe({type:"dot",value:R,output:g});continue}if(R==="?"){if(!(H&&H.value==="(")&&r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){ve("qmark",R);continue}if(H&&H.type==="paren"){let we=Le(),lt=R;if(we==="<"&&!Ui.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(H.value==="("&&!/[!=<:]/.test(we)||we==="<"&&!/<([!=]|\w+>)/.test(Ke()))&&(lt=`\\${R}`),pe({type:"text",value:R,output:lt});continue}if(r.dot!==!0&&(H.type==="slash"||H.type==="bos")){pe({type:"qmark",value:R,output:F});continue}pe({type:"qmark",value:R,output:x});continue}if(R==="!"){if(r.noextglob!==!0&&Le()==="("&&(Le(2)!=="?"||!/[!=<:]/.test(Le(3)))){ve("negate",R);continue}if(r.nonegate!==!0&&A.index===0){be();continue}}if(R==="+"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){ve("plus",R);continue}if(H&&H.value==="("||r.regex===!1){pe({type:"plus",value:R,output:h});continue}if(H&&(H.type==="bracket"||H.type==="paren"||H.type==="brace")||A.parens>0){pe({type:"plus",value:R});continue}pe({type:"plus",value:h});continue}if(R==="@"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){pe({type:"at",extglob:!0,value:R,output:""});continue}pe({type:"text",value:R});continue}if(R!=="*"){(R==="$"||R==="^")&&(R=`\\${R}`);let ue=lce.exec(Ke());ue&&(R+=ue[0],A.index+=ue[0].length),pe({type:"text",value:R});continue}if(H&&(H.type==="globstar"||H.star===!0)){H.type="star",H.star=!0,H.value+=R,H.output=K,A.backtrack=!0,A.globstar=!0,ie(R);continue}let X=Ke();if(r.noextglob!==!0&&/^\([^?]/.test(X)){ve("star",R);continue}if(H.type==="star"){if(r.noglobstar===!0){ie(R);continue}let ue=H.prev,we=ue.prev,lt=ue.type==="slash"||ue.type==="bos",ft=we&&(we.type==="star"||we.type==="globstar");if(r.bash===!0&&(!lt||X[0]&&X[0]!=="/")){pe({type:"star",value:R,output:""});continue}let xt=A.braces>0&&(ue.type==="comma"||ue.type==="brace"),Sn=W.length&&(ue.type==="pipe"||ue.type==="paren");if(!lt&&ue.type!=="paren"&&!xt&&!Sn){pe({type:"star",value:R,output:""});continue}for(;X.slice(0,3)==="/**";){let di=t[A.index+4];if(di&&di!=="/")break;X=X.slice(3),ie("/**",3)}if(ue.type==="bos"&&Pe()){H.type="globstar",H.value+=R,H.output=v(r),A.output=H.output,A.globstar=!0,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&!ft&&Pe()){A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=v(r)+(r.strictSlashes?")":"|$)"),H.value+=R,A.globstar=!0,A.output+=ue.output+H.output,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&X[0]==="/"){let di=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=`${v(r)}${f}|${f}${di})`,H.value+=R,A.output+=ue.output+H.output,A.globstar=!0,ie(R+Ge()),pe({type:"slash",value:"/",output:""});continue}if(ue.type==="bos"&&X[0]==="/"){H.type="globstar",H.value+=R,H.output=`(?:^|${f}|${v(r)}${f})`,A.output=H.output,A.globstar=!0,ie(R+Ge()),pe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-H.output.length),H.type="globstar",H.output=v(r),H.value+=R,A.output+=H.output,A.globstar=!0,ie(R);continue}let ae={type:"star",value:R,output:K};if(r.bash===!0){ae.output=".*?",(H.type==="bos"||H.type==="slash")&&(ae.output=J+ae.output),pe(ae);continue}if(H&&(H.type==="bracket"||H.type==="paren")&&r.regex===!0){ae.output=R,pe(ae);continue}(A.index===A.start||H.type==="slash"||H.type==="dot")&&(H.type==="dot"?(A.output+=y,H.output+=y):r.dot===!0?(A.output+=b,H.output+=b):(A.output+=J,H.output+=J),Le()!=="*"&&(A.output+=p,H.output+=p)),pe(ae)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing","]"));A.output=Ui.escapeLast(A.output,"["),Ie("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing",")"));A.output=Ui.escapeLast(A.output,"("),Ie("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing","}"));A.output=Ui.escapeLast(A.output,"{"),Ie("braces")}if(r.strictSlashes!==!0&&(H.type==="star"||H.type==="bracket")&&pe({type:"maybe_slash",value:"",output:`${f}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};zO.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(qC,r.maxLength):qC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=WO[t]||t;let s=Ui.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:h,STAR:f,START_ANCHOR:p}=YC.globChars(s),m=r.dot?g:u,I=r.dot?h:u,y=r.capture?"":"?:",b={negated:!1,prefix:""},x=r.bash===!0?".*?":f;r.capture&&(x=`(${x})`);let F=J=>J.noglobstar===!0?x:`(${y}(?:(?!${p}${J.dot?c:o}).)*?)`,N=J=>{switch(J){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${I}${x}`;case"**":return m+F(r);case"**/*":return`(?:${m}${F(r)}${a})?${I}${l}${x}`;case"**/*.*":return`(?:${m}${F(r)}${a})?${I}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${F(r)}${a})?${o}${l}${x}`;default:{let oe=/^(.*?)\.(\w+)$/.exec(J);if(!oe)return;let K=N(oe[1]);return K?K+o+oe[2]:void 0}}},U=Ui.removePrefix(t,b),v=N(U);return v&&r.strictSlashes!==!0&&(v+=`${a}?`),v};JO.exports=zO});var ZO=C((Tze,XO)=>{"use strict";var gce=require("path"),hce=jO(),SQ=VO(),DQ=Gg(),fce=qg(),pce=t=>t&&typeof t=="object"&&!Array.isArray(t),ir=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>ir(h,e,r));return h=>{for(let f of u){let p=f(h);if(p)return p}return!1}}let i=pce(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=DQ.isWindows(e),o=i?ir.compileRe(t,e):ir.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=V(P({},e),{ignore:null,onMatch:null,onResult:null});l=ir(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:h,match:f,output:p}=ir.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:f,isMatch:h};return typeof n.onResult=="function"&&n.onResult(m),h===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};ir.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?DQ.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=ir.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};ir.matchBase=(t,e,r,i=DQ.isWindows(r))=>(e instanceof RegExp?e:ir.makeRe(e,r)).test(gce.basename(t));ir.isMatch=(t,e,r)=>ir(e,r)(t);ir.parse=(t,e)=>Array.isArray(t)?t.map(r=>ir.parse(r,e)):SQ(t,V(P({},e),{fastpaths:!1}));ir.scan=(t,e)=>hce(t,e);ir.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=ir.toRegex(a,e);return i===!0&&(l.state=t),l};ir.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=SQ.fastpaths(t,e)),a===void 0?(s=SQ(t,e),s.prefix=o+(s.prefix||"")):s.output=a,ir.compileRe(s,e,r,i)};ir.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};ir.constants=fce;XO.exports=ir});var xQ=C((Uze,_O)=>{"use strict";_O.exports=ZO()});var sn=C((Hze,$O)=>{"use strict";var eK=require("util"),tK=vO(),es=xQ(),PQ=Gg(),rK=t=>typeof t=="string"&&(t===""||t==="./"),Jt=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Jt.match=Jt;Jt.matcher=(t,e)=>es(t,e);Jt.isMatch=(t,e,r)=>es(e,r)(t);Jt.any=Jt.isMatch;Jt.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Jt(t,e,V(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Jt.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${eK.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Jt.contains(t,i,r));if(typeof e=="string"){if(rK(t)||rK(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Jt.isMatch(t,e,V(P({},r),{contains:!0}))};Jt.matchKeys=(t,e,r)=>{if(!PQ.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Jt(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Jt.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Jt.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Jt.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${eK.inspect(t)}"`);return[].concat(e).every(i=>es(i,r)(t))};Jt.capture=(t,e,r)=>{let i=PQ.isWindows(r),s=es.makeRe(String(t),V(P({},r),{capture:!0})).exec(i?PQ.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Jt.makeRe=(...t)=>es.makeRe(...t);Jt.scan=(...t)=>es.scan(...t);Jt.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of tK(String(i),e))r.push(es.parse(n,e));return r};Jt.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:tK(t,e)};Jt.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Jt.braces(t,V(P({},e),{expand:!0}))};$O.exports=Jt});var Vg=C((Jze,cK)=>{var Bce="2.0.0",wce=256,Qce=Number.MAX_SAFE_INTEGER||9007199254740991,bce=16;cK.exports={SEMVER_SPEC_VERSION:Bce,MAX_LENGTH:wce,MAX_SAFE_INTEGER:Qce,MAX_SAFE_COMPONENT_LENGTH:bce}});var Xg=C((Wze,uK)=>{var Sce=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};uK.exports=Sce});var oA=C((Oo,gK)=>{var{MAX_SAFE_COMPONENT_LENGTH:MQ}=Vg(),Dce=Xg();Oo=gK.exports={};var xce=Oo.re=[],Te=Oo.src=[],Ue=Oo.t={},Pce=0,at=(t,e,r)=>{let i=Pce++;Dce(i,e),Ue[t]=i,Te[i]=e,xce[i]=new RegExp(e,r?"g":void 0)};at("NUMERICIDENTIFIER","0|[1-9]\\d*");at("NUMERICIDENTIFIERLOOSE","[0-9]+");at("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");at("MAINVERSION",`(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})`);at("MAINVERSIONLOOSE",`(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})`);at("PRERELEASEIDENTIFIER",`(?:${Te[Ue.NUMERICIDENTIFIER]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASEIDENTIFIERLOOSE",`(?:${Te[Ue.NUMERICIDENTIFIERLOOSE]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASE",`(?:-(${Te[Ue.PRERELEASEIDENTIFIER]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIER]})*))`);at("PRERELEASELOOSE",`(?:-?(${Te[Ue.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIERLOOSE]})*))`);at("BUILDIDENTIFIER","[0-9A-Za-z-]+");at("BUILD",`(?:\\+(${Te[Ue.BUILDIDENTIFIER]}(?:\\.${Te[Ue.BUILDIDENTIFIER]})*))`);at("FULLPLAIN",`v?${Te[Ue.MAINVERSION]}${Te[Ue.PRERELEASE]}?${Te[Ue.BUILD]}?`);at("FULL",`^${Te[Ue.FULLPLAIN]}$`);at("LOOSEPLAIN",`[v=\\s]*${Te[Ue.MAINVERSIONLOOSE]}${Te[Ue.PRERELEASELOOSE]}?${Te[Ue.BUILD]}?`);at("LOOSE",`^${Te[Ue.LOOSEPLAIN]}$`);at("GTLT","((?:<|>)?=?)");at("XRANGEIDENTIFIERLOOSE",`${Te[Ue.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);at("XRANGEIDENTIFIER",`${Te[Ue.NUMERICIDENTIFIER]}|x|X|\\*`);at("XRANGEPLAIN",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:${Te[Ue.PRERELEASE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGEPLAINLOOSE",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:${Te[Ue.PRERELEASELOOSE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAIN]}$`);at("XRANGELOOSE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COERCE",`(^|[^\\d])(\\d{1,${MQ}})(?:\\.(\\d{1,${MQ}}))?(?:\\.(\\d{1,${MQ}}))?(?:$|[^\\d])`);at("COERCERTL",Te[Ue.COERCE],!0);at("LONETILDE","(?:~>?)");at("TILDETRIM",`(\\s*)${Te[Ue.LONETILDE]}\\s+`,!0);Oo.tildeTrimReplace="$1~";at("TILDE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAIN]}$`);at("TILDELOOSE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("LONECARET","(?:\\^)");at("CARETTRIM",`(\\s*)${Te[Ue.LONECARET]}\\s+`,!0);Oo.caretTrimReplace="$1^";at("CARET",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAIN]}$`);at("CARETLOOSE",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COMPARATORLOOSE",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]})$|^$`);at("COMPARATOR",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.FULLPLAIN]})$|^$`);at("COMPARATORTRIM",`(\\s*)${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]}|${Te[Ue.XRANGEPLAIN]})`,!0);Oo.comparatorTrimReplace="$1$2$3";at("HYPHENRANGE",`^\\s*(${Te[Ue.XRANGEPLAIN]})\\s+-\\s+(${Te[Ue.XRANGEPLAIN]})\\s*$`);at("HYPHENRANGELOOSE",`^\\s*(${Te[Ue.XRANGEPLAINLOOSE]})\\s+-\\s+(${Te[Ue.XRANGEPLAINLOOSE]})\\s*$`);at("STAR","(<|>)?=?\\s*\\*");at("GTE0","^\\s*>=\\s*0.0.0\\s*$");at("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Zg=C((zze,hK)=>{var kce=["includePrerelease","loose","rtl"],vce=t=>t?typeof t!="object"?{loose:!0}:kce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};hK.exports=vce});var JC=C((Vze,fK)=>{var pK=/^[0-9]+$/,dK=(t,e)=>{let r=pK.test(t),i=pK.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tdK(e,t);fK.exports={compareIdentifiers:dK,rcompareIdentifiers:Fce}});var Ur=C((Xze,CK)=>{var WC=Xg(),{MAX_LENGTH:mK,MAX_SAFE_INTEGER:zC}=Vg(),{re:IK,t:EK}=oA(),Rce=Zg(),{compareIdentifiers:_g}=JC(),on=class{constructor(e,r){if(r=Rce(r),e instanceof on){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>mK)throw new TypeError(`version is longer than ${mK} characters`);WC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?IK[EK.LOOSE]:IK[EK.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>zC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>zC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>zC||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};CK.exports=on});var aA=C((Zze,yK)=>{var{MAX_LENGTH:Lce}=Vg(),{re:BK,t:wK}=oA(),QK=Ur(),Nce=Zg(),Mce=(t,e)=>{if(e=Nce(e),t instanceof QK)return t;if(typeof t!="string"||t.length>Lce||!(e.loose?BK[wK.LOOSE]:BK[wK.FULL]).test(t))return null;try{return new QK(t,e)}catch(i){return null}};yK.exports=Mce});var SK=C((_ze,bK)=>{var Oce=aA(),Kce=(t,e)=>{let r=Oce(t,e);return r?r.version:null};bK.exports=Kce});var xK=C(($ze,DK)=>{var Tce=aA(),Uce=(t,e)=>{let r=Tce(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};DK.exports=Uce});var kK=C((e5e,PK)=>{var Hce=Ur(),Yce=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new Hce(t,r).inc(e,i).version}catch(n){return null}};PK.exports=Yce});var an=C((t5e,vK)=>{var FK=Ur(),qce=(t,e,r)=>new FK(t,r).compare(new FK(e,r));vK.exports=qce});var VC=C((r5e,RK)=>{var Gce=an(),jce=(t,e,r)=>Gce(t,e,r)===0;RK.exports=jce});var MK=C((i5e,LK)=>{var NK=aA(),Jce=VC(),Wce=(t,e)=>{if(Jce(t,e))return null;{let r=NK(t),i=NK(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};LK.exports=Wce});var KK=C((n5e,OK)=>{var zce=Ur(),Vce=(t,e)=>new zce(t,e).major;OK.exports=Vce});var UK=C((s5e,TK)=>{var Xce=Ur(),Zce=(t,e)=>new Xce(t,e).minor;TK.exports=Zce});var YK=C((o5e,HK)=>{var _ce=Ur(),$ce=(t,e)=>new _ce(t,e).patch;HK.exports=$ce});var GK=C((a5e,qK)=>{var eue=aA(),tue=(t,e)=>{let r=eue(t,e);return r&&r.prerelease.length?r.prerelease:null};qK.exports=tue});var JK=C((A5e,jK)=>{var rue=an(),iue=(t,e,r)=>rue(e,t,r);jK.exports=iue});var zK=C((l5e,WK)=>{var nue=an(),sue=(t,e)=>nue(t,e,!0);WK.exports=sue});var XC=C((c5e,VK)=>{var XK=Ur(),oue=(t,e,r)=>{let i=new XK(t,r),n=new XK(e,r);return i.compare(n)||i.compareBuild(n)};VK.exports=oue});var _K=C((u5e,ZK)=>{var aue=XC(),Aue=(t,e)=>t.sort((r,i)=>aue(r,i,e));ZK.exports=Aue});var eT=C((g5e,$K)=>{var lue=XC(),cue=(t,e)=>t.sort((r,i)=>lue(i,r,e));$K.exports=cue});var $g=C((h5e,tT)=>{var uue=an(),gue=(t,e,r)=>uue(t,e,r)>0;tT.exports=gue});var ZC=C((f5e,rT)=>{var hue=an(),fue=(t,e,r)=>hue(t,e,r)<0;rT.exports=fue});var OQ=C((p5e,iT)=>{var pue=an(),due=(t,e,r)=>pue(t,e,r)!==0;iT.exports=due});var _C=C((d5e,nT)=>{var Cue=an(),mue=(t,e,r)=>Cue(t,e,r)>=0;nT.exports=mue});var $C=C((C5e,sT)=>{var Iue=an(),Eue=(t,e,r)=>Iue(t,e,r)<=0;sT.exports=Eue});var KQ=C((m5e,oT)=>{var yue=VC(),Bue=OQ(),wue=$g(),Que=_C(),bue=ZC(),Sue=$C(),Due=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return yue(t,r,i);case"!=":return Bue(t,r,i);case">":return wue(t,r,i);case">=":return Que(t,r,i);case"<":return bue(t,r,i);case"<=":return Sue(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};oT.exports=Due});var AT=C((I5e,aT)=>{var xue=Ur(),Pue=aA(),{re:em,t:tm}=oA(),kue=(t,e)=>{if(t instanceof xue)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(em[tm.COERCE]);else{let i;for(;(i=em[tm.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),em[tm.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;em[tm.COERCERTL].lastIndex=-1}return r===null?null:Pue(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};aT.exports=kue});var cT=C((E5e,lT)=>{"use strict";lT.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var eh=C((y5e,uT)=>{"use strict";uT.exports=It;It.Node=AA;It.create=It;function It(t){var e=this;if(e instanceof It||(e=new It),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};It.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};It.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};It.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};It.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new It;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};It.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Lue=eh(),lA=Symbol("max"),Os=Symbol("length"),zl=Symbol("lengthCalculator"),th=Symbol("allowStale"),cA=Symbol("maxAge"),Ks=Symbol("dispose"),hT=Symbol("noDisposeOnSet"),br=Symbol("lruList"),Fn=Symbol("cache"),fT=Symbol("updateAgeOnGet"),TQ=()=>1,pT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[lA]=e.max||Infinity,i=e.length||TQ;if(this[zl]=typeof i!="function"?TQ:i,this[th]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[cA]=e.maxAge||0,this[Ks]=e.dispose,this[hT]=e.noDisposeOnSet||!1,this[fT]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[lA]=e||Infinity,rh(this)}get max(){return this[lA]}set allowStale(e){this[th]=!!e}get allowStale(){return this[th]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[cA]=e,rh(this)}get maxAge(){return this[cA]}set lengthCalculator(e){typeof e!="function"&&(e=TQ),e!==this[zl]&&(this[zl]=e,this[Os]=0,this[br].forEach(r=>{r.length=this[zl](r.value,r.key),this[Os]+=r.length})),rh(this)}get lengthCalculator(){return this[zl]}get length(){return this[Os]}get itemCount(){return this[br].length}rforEach(e,r){r=r||this;for(let i=this[br].tail;i!==null;){let n=i.prev;CT(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[br].head;i!==null;){let n=i.next;CT(this,e,i,r),i=n}}keys(){return this[br].toArray().map(e=>e.key)}values(){return this[br].toArray().map(e=>e.value)}reset(){this[Ks]&&this[br]&&this[br].length&&this[br].forEach(e=>this[Ks](e.key,e.value)),this[Fn]=new Map,this[br]=new Lue,this[Os]=0}dump(){return this[br].map(e=>rm(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[br]}set(e,r,i){if(i=i||this[cA],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[zl](r,e);if(this[Fn].has(e)){if(s>this[lA])return Vl(this,this[Fn].get(e)),!1;let l=this[Fn].get(e).value;return this[Ks]&&(this[hT]||this[Ks](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Os]+=s-l.length,l.length=s,this.get(e),rh(this),!0}let o=new dT(e,r,s,n,i);return o.length>this[lA]?(this[Ks]&&this[Ks](e,r),!1):(this[Os]+=o.length,this[br].unshift(o),this[Fn].set(e,this[br].head),rh(this),!0)}has(e){if(!this[Fn].has(e))return!1;let r=this[Fn].get(e).value;return!rm(this,r)}get(e){return UQ(this,e,!0)}peek(e){return UQ(this,e,!1)}pop(){let e=this[br].tail;return e?(Vl(this,e),e.value):null}del(e){Vl(this,this[Fn].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Fn].forEach((e,r)=>UQ(this,r,!1))}},UQ=(t,e,r)=>{let i=t[Fn].get(e);if(i){let n=i.value;if(rm(t,n)){if(Vl(t,i),!t[th])return}else r&&(t[fT]&&(i.value.now=Date.now()),t[br].unshiftNode(i));return n.value}},rm=(t,e)=>{if(!e||!e.maxAge&&!t[cA])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[cA]&&r>t[cA]},rh=t=>{if(t[Os]>t[lA])for(let e=t[br].tail;t[Os]>t[lA]&&e!==null;){let r=e.prev;Vl(t,e),e=r}},Vl=(t,e)=>{if(e){let r=e.value;t[Ks]&&t[Ks](r.key,r.value),t[Os]-=r.length,t[Fn].delete(r.key),t[br].removeNode(e)}},dT=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},CT=(t,e,r,i)=>{let n=r.value;rm(t,n)&&(Vl(t,r),t[th]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};gT.exports=pT});var An=C((w5e,IT)=>{var Xl=class{constructor(e,r){if(r=Nue(r),e instanceof Xl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new Xl(e.raw,r);if(e instanceof HQ)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!yT(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Uue(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=ET.get(i);if(n)return n;let s=this.options.loose,o=s?Hr[Lr.HYPHENRANGELOOSE]:Hr[Lr.HYPHENRANGE];e=e.replace(o,que(this.options.includePrerelease)),nr("hyphen replace",e),e=e.replace(Hr[Lr.COMPARATORTRIM],Oue),nr("comparator trim",e,Hr[Lr.COMPARATORTRIM]),e=e.replace(Hr[Lr.TILDETRIM],Kue),e=e.replace(Hr[Lr.CARETTRIM],Tue),e=e.split(/\s+/).join(" ");let a=s?Hr[Lr.COMPARATORLOOSE]:Hr[Lr.COMPARATOR],l=e.split(" ").map(h=>Hue(h,this.options)).join(" ").split(/\s+/).map(h=>Yue(h,this.options)).filter(this.options.loose?h=>!!h.match(a):()=>!0).map(h=>new HQ(h,this.options)),c=l.length,u=new Map;for(let h of l){if(yT(h))return[h];u.set(h.value,h)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return ET.set(i,g),g}intersects(e,r){if(!(e instanceof Xl))throw new TypeError("a Range is required");return this.set.some(i=>BT(i,r)&&e.set.some(n=>BT(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Mue(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Uue=t=>t.value==="",BT=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Hue=(t,e)=>(nr("comp",t,e),t=Wue(t,e),nr("caret",t),t=Jue(t,e),nr("tildes",t),t=zue(t,e),nr("xrange",t),t=Vue(t,e),nr("stars",t),t),ii=t=>!t||t.toLowerCase()==="x"||t==="*",Jue=(t,e)=>t.trim().split(/\s+/).map(r=>Xue(r,e)).join(" "),Xue=(t,e)=>{let r=e.loose?Hr[Lr.TILDELOOSE]:Hr[Lr.TILDE];return t.replace(r,(i,n,s,o,a)=>{nr("tilde",t,i,n,s,o,a);let l;return ii(n)?l="":ii(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:ii(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(nr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,nr("tilde return",l),l})},Wue=(t,e)=>t.trim().split(/\s+/).map(r=>Zue(r,e)).join(" "),Zue=(t,e)=>{nr("caret",t,e);let r=e.loose?Hr[Lr.CARETLOOSE]:Hr[Lr.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{nr("caret",t,n,s,o,a,l);let c;return ii(s)?c="":ii(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:ii(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(nr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(nr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),nr("caret return",c),c})},zue=(t,e)=>(nr("replaceXRanges",t,e),t.split(/\s+/).map(r=>_ue(r,e)).join(" ")),_ue=(t,e)=>{t=t.trim();let r=e.loose?Hr[Lr.XRANGELOOSE]:Hr[Lr.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{nr("xRange",t,i,n,s,o,a,l);let c=ii(s),u=c||ii(o),g=u||ii(a),h=g;return n==="="&&h&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&h?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),nr("xRange return",i),i})},Vue=(t,e)=>(nr("replaceStars",t,e),t.trim().replace(Hr[Lr.STAR],"")),Yue=(t,e)=>(nr("replaceGTE0",t,e),t.trim().replace(Hr[e.includePrerelease?Lr.GTE0PRE:Lr.GTE0],"")),que=t=>(e,r,i,n,s,o,a,l,c,u,g,h,f)=>(ii(i)?r="":ii(n)?r=`>=${i}.0.0${t?"-0":""}`:ii(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,ii(c)?l="":ii(u)?l=`<${+c+1}.0.0-0`:ii(g)?l=`<${c}.${+u+1}.0-0`:h?l=`<=${c}.${u}.${g}-${h}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Gue=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var ih=C((Q5e,wT)=>{var nh=Symbol("SemVer ANY"),sh=class{static get ANY(){return nh}constructor(e,r){if(r=$ue(r),e instanceof sh){if(e.loose===!!r.loose)return e;e=e.value}qQ("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===nh?this.value="":this.value=this.operator+this.semver.version,qQ("comp",this)}parse(e){let r=this.options.loose?QT[bT.COMPARATORLOOSE]:QT[bT.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new ST(i[2],this.options.loose):this.semver=nh}toString(){return this.value}test(e){if(qQ("Comparator.test",e,this.options.loose),this.semver===nh||e===nh)return!0;if(typeof e=="string")try{e=new ST(e,this.options)}catch(r){return!1}return YQ(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof sh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new DT(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new DT(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=YQ(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=YQ(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};wT.exports=sh;var $ue=Zg(),{re:QT,t:bT}=oA(),YQ=KQ(),qQ=Xg(),ST=Ur(),DT=An()});var oh=C((b5e,xT)=>{var ege=An(),tge=(t,e,r)=>{try{e=new ege(e,r)}catch(i){return!1}return e.test(t)};xT.exports=tge});var kT=C((S5e,PT)=>{var rge=An(),ige=(t,e)=>new rge(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));PT.exports=ige});var FT=C((D5e,vT)=>{var nge=Ur(),sge=An(),oge=(t,e,r)=>{let i=null,n=null,s=null;try{s=new sge(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new nge(i,r))}),i};vT.exports=oge});var LT=C((x5e,RT)=>{var age=Ur(),Age=An(),lge=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Age(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new age(i,r))}),i};RT.exports=lge});var OT=C((P5e,NT)=>{var GQ=Ur(),cge=An(),MT=$g(),uge=(t,e)=>{t=new cge(t,e);let r=new GQ("0.0.0");if(t.test(r)||(r=new GQ("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new GQ(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||MT(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||MT(r,s))&&(r=s)}return r&&t.test(r)?r:null};NT.exports=uge});var TT=C((k5e,KT)=>{var gge=An(),hge=(t,e)=>{try{return new gge(t,e).range||"*"}catch(r){return null}};KT.exports=hge});var im=C((v5e,UT)=>{var fge=Ur(),HT=ih(),{ANY:pge}=HT,dge=An(),Cge=oh(),YT=$g(),qT=ZC(),mge=$C(),Ige=_C(),Ege=(t,e,r,i)=>{t=new fge(t,i),e=new dge(e,i);let n,s,o,a,l;switch(r){case">":n=YT,s=mge,o=qT,a=">",l=">=";break;case"<":n=qT,s=Ige,o=YT,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Cge(t,e,i))return!1;for(let c=0;c{f.semver===pge&&(f=new HT(">=0.0.0")),g=g||f,h=h||f,n(f.semver,g.semver,i)?g=f:o(f.semver,h.semver,i)&&(h=f)}),g.operator===a||g.operator===l||(!h.operator||h.operator===a)&&s(t,h.semver))return!1;if(h.operator===l&&o(t,h.semver))return!1}return!0};UT.exports=Ege});var jT=C((F5e,GT)=>{var yge=im(),Bge=(t,e,r)=>yge(t,e,">",r);GT.exports=Bge});var WT=C((R5e,JT)=>{var wge=im(),Qge=(t,e,r)=>wge(t,e,"<",r);JT.exports=Qge});var XT=C((L5e,zT)=>{var VT=An(),bge=(t,e,r)=>(t=new VT(t,r),e=new VT(e,r),t.intersects(e));zT.exports=bge});var _T=C((N5e,ZT)=>{var Sge=oh(),Dge=an();ZT.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>Dge(u,g,r));for(let u of o)Sge(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var eU=An(),nm=ih(),{ANY:jQ}=nm,ah=oh(),JQ=an(),Pge=(t,e,r={})=>{if(t===e)return!0;t=new eU(t,r),e=new eU(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=xge(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},xge=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===jQ){if(e.length===1&&e[0].semver===jQ)return!0;r.includePrerelease?t=[new nm(">=0.0.0-0")]:t=[new nm(">=0.0.0")]}if(e.length===1&&e[0].semver===jQ){if(r.includePrerelease)return!0;e=[new nm(">=0.0.0")]}let i=new Set,n,s;for(let f of t)f.operator===">"||f.operator===">="?n=tU(n,f,r):f.operator==="<"||f.operator==="<="?s=rU(s,f,r):i.add(f.semver);if(i.size>1)return null;let o;if(n&&s){if(o=JQ(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let f of i){if(n&&!ah(f,String(n),r)||s&&!ah(f,String(s),r))return null;for(let p of e)if(!ah(f,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,h=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let f of e){if(u=u||f.operator===">"||f.operator===">=",c=c||f.operator==="<"||f.operator==="<=",n){if(h&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===h.major&&f.semver.minor===h.minor&&f.semver.patch===h.patch&&(h=!1),f.operator===">"||f.operator===">="){if(a=tU(n,f,r),a===f&&a!==n)return!1}else if(n.operator===">="&&!ah(n.semver,String(f),r))return!1}if(s){if(g&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===g.major&&f.semver.minor===g.minor&&f.semver.patch===g.patch&&(g=!1),f.operator==="<"||f.operator==="<="){if(l=rU(s,f,r),l===f&&l!==s)return!1}else if(s.operator==="<="&&!ah(s.semver,String(f),r))return!1}if(!f.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||h||g)},tU=(t,e,r)=>{if(!t)return e;let i=JQ(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},rU=(t,e,r)=>{if(!t)return e;let i=JQ(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};$T.exports=Pge});var Cr=C((O5e,nU)=>{var WQ=oA();nU.exports={re:WQ.re,src:WQ.src,tokens:WQ.t,SEMVER_SPEC_VERSION:Vg().SEMVER_SPEC_VERSION,SemVer:Ur(),compareIdentifiers:JC().compareIdentifiers,rcompareIdentifiers:JC().rcompareIdentifiers,parse:aA(),valid:SK(),clean:xK(),inc:kK(),diff:MK(),major:KK(),minor:UK(),patch:YK(),prerelease:GK(),compare:an(),rcompare:JK(),compareLoose:zK(),compareBuild:XC(),sort:_K(),rsort:eT(),gt:$g(),lt:ZC(),eq:VC(),neq:OQ(),gte:_C(),lte:$C(),cmp:KQ(),coerce:AT(),Comparator:ih(),Range:An(),satisfies:oh(),toComparators:kT(),maxSatisfying:FT(),minSatisfying:LT(),minVersion:OT(),validRange:TT(),outside:im(),gtr:jT(),ltr:WT(),intersects:XT(),simplifyRange:_T(),subset:iU()}});var oU=C((K5e,sU)=>{"use strict";sU.exports=(...t)=>[...new Set([].concat(...t))]});var zQ=C((T5e,aU)=>{"use strict";var kge=require("stream"),AU=kge.PassThrough,vge=Array.prototype.slice;aU.exports=Fge;function Fge(){let t=[],e=!1,r=vge.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=AU(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function h(f){function p(){f.removeListener("merge2UnpipeEnd",p),f.removeListener("end",p),g()}if(f._readableState.endEmitted)return g();f.on("merge2UnpipeEnd",p),f.on("end",p),f.pipe(s,{end:!1}),f.resume()}for(let f=0;f{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});function Rge(t){return t.reduce((e,r)=>[].concat(e,r),[])}sm.flatten=Rge;function Lge(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}sm.splitWhen=Lge});var uU=C(VQ=>{"use strict";Object.defineProperty(VQ,"__esModule",{value:!0});function Nge(t){return t.code==="ENOENT"}VQ.isEnoentCodeError=Nge});var hU=C(XQ=>{"use strict";Object.defineProperty(XQ,"__esModule",{value:!0});var gU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Mge(t,e){return new gU(t,e)}XQ.createDirentFromStats=Mge});var fU=C(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Oge=require("path"),Kge=2,Tge=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Uge(t){return t.replace(/\\/g,"/")}Zl.unixify=Uge;function Hge(t,e){return Oge.resolve(t,e)}Zl.makeAbsolute=Hge;function Yge(t){return t.replace(Tge,"\\$2")}Zl.escape=Yge;function qge(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Kge)}return t}Zl.removeLeadingDotSegment=qge});var dU=C((G5e,pU)=>{pU.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var mU=C((j5e,CU)=>{var Gge=dU(),jge={"{":"}","(":")","[":"]"},Jge=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Wge=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;CU.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Gge(e))return!0;var i=Jge,n;for(r&&r.strict===!1&&(i=Wge);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?jge[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var EU=C((J5e,IU)=>{"use strict";var zge=mU(),Vge=require("path").posix.dirname,Xge=require("os").platform()==="win32",ZQ="/",Zge=/\\/g,_ge=/[\{\[].*[\}\]]$/,$ge=/(^|[^\\])([\{\[]|\([^\)]+$)/,ehe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;IU.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Xge&&e.indexOf(ZQ)<0&&(e=e.replace(Zge,ZQ)),_ge.test(e)&&(e+=ZQ),e+="a";do e=Vge(e);while(zge(e)||$ge.test(e));return e.replace(ehe,"$1")}});var PU=C(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});var the=require("path"),rhe=EU(),yU=sn(),ihe=xQ(),BU="**",nhe="\\",she=/[*?]|^!/,ohe=/\[.*]/,ahe=/(?:^|[^!*+?@])\(.*\|.*\)/,Ahe=/[!*+?@]\(.*\)/,lhe=/{.*(?:,|\.\.).*}/;function QU(t,e={}){return!wU(t,e)}lr.isStaticPattern=QU;function wU(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(nhe)||she.test(t)||ohe.test(t)||ahe.test(t)||e.extglob!==!1&&Ahe.test(t)||e.braceExpansion!==!1&&lhe.test(t))}lr.isDynamicPattern=wU;function che(t){return om(t)?t.slice(1):t}lr.convertToPositivePattern=che;function uhe(t){return"!"+t}lr.convertToNegativePattern=uhe;function om(t){return t.startsWith("!")&&t[1]!=="("}lr.isNegativePattern=om;function bU(t){return!om(t)}lr.isPositivePattern=bU;function ghe(t){return t.filter(om)}lr.getNegativePatterns=ghe;function hhe(t){return t.filter(bU)}lr.getPositivePatterns=hhe;function fhe(t){return rhe(t,{flipBackslashes:!1})}lr.getBaseDirectory=fhe;function phe(t){return t.includes(BU)}lr.hasGlobStar=phe;function SU(t){return t.endsWith("/"+BU)}lr.endsWithSlashGlobStar=SU;function dhe(t){let e=the.basename(t);return SU(t)||QU(e)}lr.isAffectDepthOfReadingPattern=dhe;function Che(t){return t.reduce((e,r)=>e.concat(DU(r)),[])}lr.expandPatternsWithBraceExpansion=Che;function DU(t){return yU.braces(t,{expand:!0,nodupes:!0})}lr.expandBraceExpansion=DU;function mhe(t,e){let r=ihe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}lr.getPatternParts=mhe;function xU(t,e){return yU.makeRe(t,e)}lr.makeRe=xU;function Ihe(t,e){return t.map(r=>xU(r,e))}lr.convertPatternsToRe=Ihe;function Ehe(t,e){return e.some(r=>r.test(t))}lr.matchAny=Ehe});var vU=C(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});var yhe=zQ();function Bhe(t){let e=yhe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>kU(t)),e.once("end",()=>kU(t)),e}_Q.merge=Bhe;function kU(t){t.forEach(e=>e.emit("close"))}});var FU=C(am=>{"use strict";Object.defineProperty(am,"__esModule",{value:!0});function whe(t){return typeof t=="string"}am.isString=whe;function Qhe(t){return t===""}am.isEmpty=Qhe});var Us=C(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var bhe=cU();Ts.array=bhe;var She=uU();Ts.errno=She;var Dhe=hU();Ts.fs=Dhe;var xhe=fU();Ts.path=xhe;var Phe=PU();Ts.pattern=Phe;var khe=vU();Ts.stream=khe;var vhe=FU();Ts.string=vhe});var OU=C(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var uA=Us();function Fhe(t,e){let r=RU(t),i=LU(t,e.ignore),n=r.filter(l=>uA.pattern.isStaticPattern(l,e)),s=r.filter(l=>uA.pattern.isDynamicPattern(l,e)),o=$Q(n,i,!1),a=$Q(s,i,!0);return o.concat(a)}Hs.generate=Fhe;function $Q(t,e,r){let i=NU(t);return"."in i?[e0(".",t,e,r)]:MU(i,e,r)}Hs.convertPatternsToTasks=$Q;function RU(t){return uA.pattern.getPositivePatterns(t)}Hs.getPositivePatterns=RU;function LU(t,e){return uA.pattern.getNegativePatterns(t).concat(e).map(uA.pattern.convertToPositivePattern)}Hs.getNegativePatternsAsPositive=LU;function NU(t){let e={};return t.reduce((r,i)=>{let n=uA.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}Hs.groupPatternsByBaseDirectory=NU;function MU(t,e,r){return Object.keys(t).map(i=>e0(i,t[i],e,r))}Hs.convertPatternGroupsToTasks=MU;function e0(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(uA.pattern.convertToNegativePattern))}}Hs.convertPatternGroupToTask=e0});var TU=C(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.read=void 0;function Rhe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){KU(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){t0(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){KU(r,s);return}t0(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),t0(r,o)})})}Am.read=Rhe;function KU(t,e){t(e)}function t0(t,e){t(null,e)}});var UU=C(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.read=void 0;function Lhe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}lm.read=Lhe});var HU=C(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.createFileSystemAdapter=Ko.FILE_SYSTEM_ADAPTER=void 0;var cm=require("fs");Ko.FILE_SYSTEM_ADAPTER={lstat:cm.lstat,stat:cm.stat,lstatSync:cm.lstatSync,statSync:cm.statSync};function Nhe(t){return t===void 0?Ko.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Ko.FILE_SYSTEM_ADAPTER),t)}Ko.createFileSystemAdapter=Nhe});var qU=C(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});var Mhe=HU(),YU=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Mhe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};r0.default=YU});var gA=C(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.statSync=To.stat=To.Settings=void 0;var GU=TU(),Ohe=UU(),i0=qU();To.Settings=i0.default;function Khe(t,e,r){if(typeof e=="function"){GU.read(t,n0(),e);return}GU.read(t,n0(e),r)}To.stat=Khe;function The(t,e){let r=n0(e);return Ohe.read(t,r)}To.statSync=The;function n0(t={}){return t instanceof i0.default?t:new i0.default(t)}});var JU=C((i6e,jU)=>{jU.exports=Uhe;function Uhe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var s0=C(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var gm=process.versions.node.split(".");if(gm[0]===void 0||gm[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var WU=Number.parseInt(gm[0],10),Hhe=Number.parseInt(gm[1],10),zU=10,Yhe=10,qhe=WU>zU,Ghe=WU===zU&&Hhe>=Yhe;um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=qhe||Ghe});var XU=C(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.createDirentFromStats=void 0;var VU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function jhe(t,e){return new VU(t,e)}hm.createDirentFromStats=jhe});var o0=C(fm=>{"use strict";Object.defineProperty(fm,"__esModule",{value:!0});fm.fs=void 0;var Jhe=XU();fm.fs=Jhe});var a0=C(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});pm.joinPathSegments=void 0;function Whe(t,e,r){return t.endsWith(r)?t+e:t+r+e}pm.joinPathSegments=Whe});var r1=C(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.readdir=Uo.readdirWithFileTypes=Uo.read=void 0;var zhe=gA(),ZU=JU(),Vhe=s0(),_U=o0(),$U=a0();function Xhe(t,e,r){if(!e.stats&&Vhe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){e1(t,e,r);return}t1(t,e,r)}Uo.read=Xhe;function e1(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:$U.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){A0(r,s);return}let o=s.map(a=>Zhe(a,e));ZU(o,(a,l)=>{if(a!==null){dm(r,a);return}A0(r,l)})})}Uo.readdirWithFileTypes=e1;function Zhe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=_U.fs.createDirentFromStats(t.name,n),r(null,t)})}}function t1(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(o=>{let a=$U.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{zhe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:_U.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});ZU(s,(o,a)=>{if(o!==null){dm(r,o);return}A0(r,a)})})}Uo.readdir=t1;function dm(t,e){t(e)}function A0(t,e){t(null,e)}});var a1=C(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.readdir=Ho.readdirWithFileTypes=Ho.read=void 0;var _he=gA(),$he=s0(),i1=o0(),n1=a0();function efe(t,e){return!e.stats&&$he.IS_SUPPORT_READDIR_WITH_FILE_TYPES?s1(t,e):o1(t,e)}Ho.read=efe;function s1(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:n1.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=i1.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}Ho.readdirWithFileTypes=s1;function o1(t,e){return e.fs.readdirSync(t).map(i=>{let n=n1.joinPathSegments(t,i,e.pathSegmentSeparator),s=_he.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:i1.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}Ho.readdir=o1});var A1=C(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.createFileSystemAdapter=Yo.FILE_SYSTEM_ADAPTER=void 0;var _l=require("fs");Yo.FILE_SYSTEM_ADAPTER={lstat:_l.lstat,stat:_l.stat,lstatSync:_l.lstatSync,statSync:_l.statSync,readdir:_l.readdir,readdirSync:_l.readdirSync};function tfe(t){return t===void 0?Yo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Yo.FILE_SYSTEM_ADAPTER),t)}Yo.createFileSystemAdapter=tfe});var c1=C(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});var rfe=require("path"),ife=gA(),nfe=A1(),l1=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=nfe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,rfe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new ife.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};l0.default=l1});var Cm=C(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.Settings=qo.scandirSync=qo.scandir=void 0;var u1=r1(),sfe=a1(),c0=c1();qo.Settings=c0.default;function ofe(t,e,r){if(typeof e=="function"){u1.read(t,u0(),e);return}u1.read(t,u0(e),r)}qo.scandir=ofe;function afe(t,e){let r=u0(e);return sfe.read(t,r)}qo.scandirSync=afe;function u0(t={}){return t instanceof c0.default?t:new c0.default(t)}});var h1=C((h6e,g1)=>{"use strict";function Afe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}g1.exports=Afe});var p1=C((f6e,g0)=>{"use strict";var lfe=h1();function f1(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=lfe(cfe),n=null,s=null,o=0,a=null,l={push:m,drain:ts,saturated:ts,pause:u,paused:!1,concurrency:r,running:c,resume:f,idle:p,length:g,getQueue:h,unshift:I,empty:ts,kill:b,killAndDrain:x,error:F};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var N=n,U=0;N;)N=N.next,U++;return U}function h(){for(var N=n,U=[];N;)U.push(N.value),N=N.next;return U}function f(){if(!!l.paused){l.paused=!1;for(var N=0;N{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.joinPathSegments=rs.replacePathSegmentSeparator=rs.isAppliedFilter=rs.isFatalError=void 0;function gfe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}rs.isFatalError=gfe;function hfe(t,e){return t===null||t(e)}rs.isAppliedFilter=hfe;function ffe(t,e){return t.split(/[/\\]/).join(e)}rs.replacePathSegmentSeparator=ffe;function pfe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}rs.joinPathSegments=pfe});var f0=C(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});var dfe=mm(),d1=class{constructor(e,r){this._root=e,this._settings=r,this._root=dfe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};h0.default=d1});var d0=C(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});var Cfe=require("events"),mfe=Cm(),Ife=p1(),Im=mm(),Efe=f0(),C1=class extends Efe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=mfe.scandir,this._emitter=new Cfe.EventEmitter,this._queue=Ife(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Im.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Im.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Im.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Im.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};p0.default=C1});var I1=C(C0=>{"use strict";Object.defineProperty(C0,"__esModule",{value:!0});var yfe=d0(),m1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new yfe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Bfe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{wfe(e,[...this._storage])}),this._reader.read()}};C0.default=m1;function Bfe(t,e){t(e)}function wfe(t,e){t(null,e)}});var y1=C(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var Qfe=require("stream"),bfe=d0(),E1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new bfe.default(this._root,this._settings),this._stream=new Qfe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};m0.default=E1});var w1=C(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});var Sfe=Cm(),Em=mm(),Dfe=f0(),B1=class extends Dfe.default{constructor(){super(...arguments);this._scandir=Sfe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Em.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Em.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Em.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Em.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};I0.default=B1});var b1=C(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var xfe=w1(),Q1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new xfe.default(this._root,this._settings)}read(){return this._reader.read()}};E0.default=Q1});var D1=C(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var Pfe=require("path"),kfe=Cm(),S1=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Pfe.sep),this.fsScandirSettings=new kfe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};y0.default=S1});var w0=C(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.Settings=is.walkStream=is.walkSync=is.walk=void 0;var x1=I1(),vfe=y1(),Ffe=b1(),B0=D1();is.Settings=B0.default;function Rfe(t,e,r){if(typeof e=="function"){new x1.default(t,ym()).read(e);return}new x1.default(t,ym(e)).read(r)}is.walk=Rfe;function Lfe(t,e){let r=ym(e);return new Ffe.default(t,r).read()}is.walkSync=Lfe;function Nfe(t,e){let r=ym(e);return new vfe.default(t,r).read()}is.walkStream=Nfe;function ym(t={}){return t instanceof B0.default?t:new B0.default(t)}});var b0=C(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});var Mfe=require("path"),Ofe=gA(),P1=Us(),k1=class{constructor(e){this._settings=e,this._fsStatSettings=new Ofe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Mfe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:P1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!P1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Q0.default=k1});var D0=C(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});var Kfe=require("stream"),Tfe=gA(),Ufe=w0(),Hfe=b0(),v1=class extends Hfe.default{constructor(){super(...arguments);this._walkStream=Ufe.walkStream,this._stat=Tfe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Kfe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};S0.default=v1});var R1=C(x0=>{"use strict";Object.defineProperty(x0,"__esModule",{value:!0});var $l=Us(),F1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=$l.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return $l.pattern.getPatternParts(e,this._micromatchOptions).map(i=>$l.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:$l.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return $l.array.splitWhen(e,r=>r.dynamic&&$l.pattern.hasGlobStar(r.pattern))}};x0.default=F1});var N1=C(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var Yfe=R1(),L1=class extends Yfe.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};P0.default=L1});var O1=C(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});var Bm=Us(),qfe=N1(),M1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new qfe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(Bm.pattern.isAffectDepthOfReadingPattern);return Bm.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=Bm.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!Bm.pattern.matchAny(e,r)}};k0.default=M1});var T1=C(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var Ah=Us(),K1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=Ah.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Ah.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=Ah.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=Ah.path.removeLeadingDotSegment(e);return Ah.pattern.matchAny(i,r)}};v0.default=K1});var H1=C(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});var Gfe=Us(),U1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return Gfe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};F0.default=U1});var G1=C(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var Y1=Us(),q1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Y1.path.makeAbsolute(this._settings.cwd,r),r=Y1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};R0.default=q1});var wm=C(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});var jfe=require("path"),Jfe=O1(),Wfe=T1(),zfe=H1(),Vfe=G1(),j1=class{constructor(e){this._settings=e,this.errorFilter=new zfe.default(this._settings),this.entryFilter=new Wfe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Jfe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Vfe.default(this._settings)}_getRootDirectory(e){return jfe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};L0.default=j1});var W1=C(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var Xfe=D0(),Zfe=wm(),J1=class extends Zfe.default{constructor(){super(...arguments);this._reader=new Xfe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};N0.default=J1});var V1=C(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var _fe=require("stream"),$fe=D0(),epe=wm(),z1=class extends epe.default{constructor(){super(...arguments);this._reader=new $fe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new _fe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};M0.default=z1});var Z1=C(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});var tpe=gA(),rpe=w0(),ipe=b0(),X1=class extends ipe.default{constructor(){super(...arguments);this._walkSync=rpe.walkSync,this._statSync=tpe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};O0.default=X1});var $1=C(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var npe=Z1(),spe=wm(),_1=class extends spe.default{constructor(){super(...arguments);this._reader=new npe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};K0.default=_1});var t2=C(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});var ec=require("fs"),ope=require("os"),ape=ope.cpus().length;lh.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:ec.lstat,lstatSync:ec.lstatSync,stat:ec.stat,statSync:ec.statSync,readdir:ec.readdir,readdirSync:ec.readdirSync};var e2=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,ape),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},lh.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};lh.default=e2});var Qm=C((K6e,r2)=>{"use strict";var i2=OU(),Ape=W1(),lpe=V1(),cpe=$1(),T0=t2(),hA=Us();async function H0(t,e){tc(t);let r=U0(t,Ape.default,e),i=await Promise.all(r);return hA.array.flatten(i)}(function(t){function e(o,a){tc(o);let l=U0(o,cpe.default,a);return hA.array.flatten(l)}t.sync=e;function r(o,a){tc(o);let l=U0(o,lpe.default,a);return hA.stream.merge(l)}t.stream=r;function i(o,a){tc(o);let l=[].concat(o),c=new T0.default(a);return i2.generate(l,c)}t.generateTasks=i;function n(o,a){tc(o);let l=new T0.default(a);return hA.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return tc(o),hA.path.escape(o)}t.escapePath=s})(H0||(H0={}));function U0(t,e,r){let i=[].concat(t),n=new T0.default(r),s=i2.generate(i,n),o=new e(n);return s.map(o.read,o)}function tc(t){if(![].concat(t).every(i=>hA.string.isString(i)&&!hA.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}r2.exports=H0});var s2=C(fA=>{"use strict";var{promisify:upe}=require("util"),n2=require("fs");async function Y0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await upe(n2[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function q0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return n2[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}fA.isFile=Y0.bind(null,"stat","isFile");fA.isDirectory=Y0.bind(null,"stat","isDirectory");fA.isSymlink=Y0.bind(null,"lstat","isSymbolicLink");fA.isFileSync=q0.bind(null,"statSync","isFile");fA.isDirectorySync=q0.bind(null,"statSync","isDirectory");fA.isSymlinkSync=q0.bind(null,"lstatSync","isSymbolicLink")});var c2=C((U6e,G0)=>{"use strict";var pA=require("path"),o2=s2(),a2=t=>t.length>1?`{${t.join(",")}}`:t[0],A2=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return pA.isAbsolute(r)?r:pA.join(e,r)},gpe=(t,e)=>pA.extname(t)?`**/${t}`:`**/${t}.${a2(e)}`,l2=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>pA.posix.join(t,gpe(r,e.extensions))):e.files?e.files.map(r=>pA.posix.join(t,`**/${r}`)):e.extensions?[pA.posix.join(t,`**/*.${a2(e.extensions)}`)]:[pA.posix.join(t,"**")]};G0.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await o2.isDirectory(A2(i,e.cwd))?l2(i,e):i));return[].concat.apply([],r)};G0.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>o2.isDirectorySync(A2(i,e.cwd))?l2(i,e):i);return[].concat.apply([],r)}});var m2=C((H6e,u2)=>{function g2(t){return Array.isArray(t)?t:[t]}var hpe=/^\s+$/,fpe=/^\\!/,ppe=/^\\#/,dpe=/\r?\n/g,Cpe=/^\.*\/|^\.+$/,j0="/",h2=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",mpe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Ipe=/([0-z])-([0-z])/g,Epe=t=>t.replace(Ipe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),ype=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${Epe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],f2=Object.create(null),Bpe=(t,e,r)=>{let i=f2[t];if(i)return i;let n=ype.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return f2[t]=r?new RegExp(n,"i"):new RegExp(n)},J0=t=>typeof t=="string",wpe=t=>t&&J0(t)&&!hpe.test(t)&&t.indexOf("#")!==0,Qpe=t=>t.split(dpe),p2=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},bpe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fpe,"!").replace(ppe,"#");let n=Bpe(t,i,e);return new p2(r,t,i,n)},Spe=(t,e)=>{throw new e(t)},Ys=(t,e,r)=>J0(t)?t?Ys.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),d2=t=>Cpe.test(t);Ys.isNotRelative=d2;Ys.convert=t=>t;var C2=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,mpe(this,h2,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[h2]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wpe(e)){let r=bpe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,g2(J0(e)?Qpe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Ys.convert(e);return Ys(s,e,Spe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(j0)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(j0)+j0,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return g2(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},bm=t=>new C2(t),Dpe=()=>!1,xpe=t=>Ys(t&&Ys.convert(t),t,Dpe);bm.isPathValid=xpe;bm.default=bm;u2.exports=bm;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Ys.convert=t;let e=/^[a-z]:\//i;Ys.isNotRelative=r=>e.test(r)||d2(r)}});var E2=C((Y6e,I2)=>{"use strict";I2.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var D2=C((q6e,W0)=>{"use strict";var{promisify:Ppe}=require("util"),y2=require("fs"),qs=require("path"),B2=Qm(),kpe=m2(),ch=E2(),w2=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],vpe=Ppe(y2.readFile),Fpe=t=>e=>e.startsWith("!")?"!"+qs.posix.join(t,e.slice(1)):qs.posix.join(t,e),Rpe=(t,e)=>{let r=ch(qs.relative(e.cwd,qs.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(Fpe(r))},Q2=t=>{let e=kpe();for(let r of t)e.add(Rpe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Lpe=(t,e)=>{if(t=ch(t),qs.isAbsolute(e)){if(ch(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return qs.join(t,e)},b2=(t,e)=>r=>t.ignores(ch(qs.relative(e,Lpe(e,r.path||r)))),Npe=async(t,e)=>{let r=qs.join(e,t),i=await vpe(r,"utf8");return{cwd:e,filePath:r,content:i}},Mpe=(t,e)=>{let r=qs.join(e,t),i=y2.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},S2=({ignore:t=[],cwd:e=ch(process.cwd())}={})=>({ignore:t,cwd:e});W0.exports=async t=>{t=S2(t);let e=await B2("**/.gitignore",{ignore:w2.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Npe(n,t.cwd))),i=Q2(r);return b2(i,t.cwd)};W0.exports.sync=t=>{t=S2(t);let r=B2.sync("**/.gitignore",{ignore:w2.concat(t.ignore),cwd:t.cwd}).map(n=>Mpe(n,t.cwd)),i=Q2(r);return b2(i,t.cwd)}});var v2=C((G6e,x2)=>{"use strict";var{Transform:Ope}=require("stream"),z0=class extends Ope{constructor(){super({objectMode:!0})}},P2=class extends z0{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},k2=class extends z0{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};x2.exports={FilterStream:P2,UniqueStream:k2}});var _0=C((j6e,dA)=>{"use strict";var F2=require("fs"),Sm=oU(),Kpe=zQ(),Dm=Qm(),xm=c2(),V0=D2(),{FilterStream:Tpe,UniqueStream:Upe}=v2(),R2=()=>!1,L2=t=>t[0]==="!",Hpe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Ype=(t={})=>{if(!t.cwd)return;let e;try{e=F2.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},qpe=t=>t.stats instanceof F2.Stats?t.path:t,Pm=(t,e)=>{t=Sm([].concat(t)),Hpe(t),Ype(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(L2(n))continue;let s=t.slice(i).filter(a=>L2(a)).map(a=>a.slice(1)),o=V(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},Gpe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=V(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},X0=(t,e)=>t.options.expandDirectories?Gpe(t,e):[t.pattern],N2=t=>t&&t.gitignore?V0.sync({cwd:t.cwd,ignore:t.ignore}):R2,Z0=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=xm.sync(r.ignore)),{pattern:e,options:r}};dA.exports=async(t,e)=>{let r=Pm(t,e),i=async()=>e&&e.gitignore?V0({cwd:e.cwd,ignore:e.ignore}):R2,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await X0(c,xm);return Promise.all(u.map(Z0(c)))}));return Sm(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Dm(l.pattern,l.options)));return Sm(...a).filter(l=>!s(qpe(l)))};dA.exports.sync=(t,e)=>{let r=Pm(t,e),i=[];for(let o of r){let a=X0(o,xm.sync).map(Z0(o));i.push(...a)}let n=N2(e),s=[];for(let o of i)s=Sm(s,Dm.sync(o.pattern,o.options));return s.filter(o=>!n(o))};dA.exports.stream=(t,e)=>{let r=Pm(t,e),i=[];for(let a of r){let l=X0(a,xm.sync).map(Z0(a));i.push(...l)}let n=N2(e),s=new Tpe(a=>!n(a)),o=new Upe;return Kpe(i.map(a=>Dm.stream(a.pattern,a.options))).pipe(s).pipe(o)};dA.exports.generateGlobTasks=Pm;dA.exports.hasMagic=(t,e)=>[].concat(t).some(r=>Dm.isDynamicPattern(r,e));dA.exports.gitignore=V0});var js=C((Gs,Ym)=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var q2=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ide(t){return q2.includes(t)}var nde=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...q2];function sde(t){return nde.includes(t)}var ode=["null","undefined","string","number","bigint","boolean","symbol"];function ade(t){return ode.includes(t)}function Ac(t){return e=>typeof e===t}var{toString:G2}=Object.prototype,yh=t=>{let e=G2.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&G.domElement(t))return"HTMLElement";if(sde(e))return e},zt=t=>e=>yh(e)===t;function G(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(G.observable(t))return"Observable";if(G.array(t))return"Array";if(G.buffer(t))return"Buffer";let e=yh(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}G.undefined=Ac("undefined");G.string=Ac("string");var Ade=Ac("number");G.number=t=>Ade(t)&&!G.nan(t);G.bigint=Ac("bigint");G.function_=Ac("function");G.null_=t=>t===null;G.class_=t=>G.function_(t)&&t.toString().startsWith("class ");G.boolean=t=>t===!0||t===!1;G.symbol=Ac("symbol");G.numericString=t=>G.string(t)&&!G.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));G.array=(t,e)=>Array.isArray(t)?G.function_(e)?t.every(e):!0:!1;G.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};G.nullOrUndefined=t=>G.null_(t)||G.undefined(t);G.object=t=>!G.null_(t)&&(typeof t=="object"||G.function_(t));G.iterable=t=>{var e;return G.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};G.asyncIterable=t=>{var e;return G.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};G.generator=t=>G.iterable(t)&&G.function_(t.next)&&G.function_(t.throw);G.asyncGenerator=t=>G.asyncIterable(t)&&G.function_(t.next)&&G.function_(t.throw);G.nativePromise=t=>zt("Promise")(t);var lde=t=>{var e,r;return G.function_((e=t)===null||e===void 0?void 0:e.then)&&G.function_((r=t)===null||r===void 0?void 0:r.catch)};G.promise=t=>G.nativePromise(t)||lde(t);G.generatorFunction=zt("GeneratorFunction");G.asyncGeneratorFunction=t=>yh(t)==="AsyncGeneratorFunction";G.asyncFunction=t=>yh(t)==="AsyncFunction";G.boundFunction=t=>G.function_(t)&&!t.hasOwnProperty("prototype");G.regExp=zt("RegExp");G.date=zt("Date");G.error=zt("Error");G.map=t=>zt("Map")(t);G.set=t=>zt("Set")(t);G.weakMap=t=>zt("WeakMap")(t);G.weakSet=t=>zt("WeakSet")(t);G.int8Array=zt("Int8Array");G.uint8Array=zt("Uint8Array");G.uint8ClampedArray=zt("Uint8ClampedArray");G.int16Array=zt("Int16Array");G.uint16Array=zt("Uint16Array");G.int32Array=zt("Int32Array");G.uint32Array=zt("Uint32Array");G.float32Array=zt("Float32Array");G.float64Array=zt("Float64Array");G.bigInt64Array=zt("BigInt64Array");G.bigUint64Array=zt("BigUint64Array");G.arrayBuffer=zt("ArrayBuffer");G.sharedArrayBuffer=zt("SharedArrayBuffer");G.dataView=zt("DataView");G.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;G.urlInstance=t=>zt("URL")(t);G.urlString=t=>{if(!G.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};G.truthy=t=>Boolean(t);G.falsy=t=>!t;G.nan=t=>Number.isNaN(t);G.primitive=t=>G.null_(t)||ade(typeof t);G.integer=t=>Number.isInteger(t);G.safeInteger=t=>Number.isSafeInteger(t);G.plainObject=t=>{if(G2.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};G.typedArray=t=>ide(yh(t));var cde=t=>G.safeInteger(t)&&t>=0;G.arrayLike=t=>!G.nullOrUndefined(t)&&!G.function_(t)&&cde(t.length);G.inRange=(t,e)=>{if(G.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(G.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ude=1,gde=["innerHTML","ownerDocument","style","attributes","nodeValue"];G.domElement=t=>G.object(t)&&t.nodeType===ude&&G.string(t.nodeName)&&!G.plainObject(t)&&gde.every(e=>e in t);G.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};G.nodeStream=t=>G.object(t)&&G.function_(t.pipe)&&!G.observable(t);G.infinite=t=>t===Infinity||t===-Infinity;var j2=t=>e=>G.integer(e)&&Math.abs(e%2)===t;G.evenInteger=j2(0);G.oddInteger=j2(1);G.emptyArray=t=>G.array(t)&&t.length===0;G.nonEmptyArray=t=>G.array(t)&&t.length>0;G.emptyString=t=>G.string(t)&&t.length===0;G.nonEmptyString=t=>G.string(t)&&t.length>0;var hde=t=>G.string(t)&&!/\S/.test(t);G.emptyStringOrWhitespace=t=>G.emptyString(t)||hde(t);G.emptyObject=t=>G.object(t)&&!G.map(t)&&!G.set(t)&&Object.keys(t).length===0;G.nonEmptyObject=t=>G.object(t)&&!G.map(t)&&!G.set(t)&&Object.keys(t).length>0;G.emptySet=t=>G.set(t)&&t.size===0;G.nonEmptySet=t=>G.set(t)&&t.size>0;G.emptyMap=t=>G.map(t)&&t.size===0;G.nonEmptyMap=t=>G.map(t)&&t.size>0;var J2=(t,e,r)=>{if(!G.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};G.any=(t,...e)=>(G.array(t)?t:[t]).some(i=>J2(Array.prototype.some,i,e));G.all=(t,...e)=>J2(Array.prototype.every,t,e);var Re=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${G(r)}\`.`)};Gs.assert={undefined:t=>Re(G.undefined(t),"undefined",t),string:t=>Re(G.string(t),"string",t),number:t=>Re(G.number(t),"number",t),bigint:t=>Re(G.bigint(t),"bigint",t),function_:t=>Re(G.function_(t),"Function",t),null_:t=>Re(G.null_(t),"null",t),class_:t=>Re(G.class_(t),"Class",t),boolean:t=>Re(G.boolean(t),"boolean",t),symbol:t=>Re(G.symbol(t),"symbol",t),numericString:t=>Re(G.numericString(t),"string with a number",t),array:(t,e)=>{Re(G.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Re(G.buffer(t),"Buffer",t),nullOrUndefined:t=>Re(G.nullOrUndefined(t),"null or undefined",t),object:t=>Re(G.object(t),"Object",t),iterable:t=>Re(G.iterable(t),"Iterable",t),asyncIterable:t=>Re(G.asyncIterable(t),"AsyncIterable",t),generator:t=>Re(G.generator(t),"Generator",t),asyncGenerator:t=>Re(G.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Re(G.nativePromise(t),"native Promise",t),promise:t=>Re(G.promise(t),"Promise",t),generatorFunction:t=>Re(G.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Re(G.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Re(G.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Re(G.boundFunction(t),"Function",t),regExp:t=>Re(G.regExp(t),"RegExp",t),date:t=>Re(G.date(t),"Date",t),error:t=>Re(G.error(t),"Error",t),map:t=>Re(G.map(t),"Map",t),set:t=>Re(G.set(t),"Set",t),weakMap:t=>Re(G.weakMap(t),"WeakMap",t),weakSet:t=>Re(G.weakSet(t),"WeakSet",t),int8Array:t=>Re(G.int8Array(t),"Int8Array",t),uint8Array:t=>Re(G.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Re(G.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Re(G.int16Array(t),"Int16Array",t),uint16Array:t=>Re(G.uint16Array(t),"Uint16Array",t),int32Array:t=>Re(G.int32Array(t),"Int32Array",t),uint32Array:t=>Re(G.uint32Array(t),"Uint32Array",t),float32Array:t=>Re(G.float32Array(t),"Float32Array",t),float64Array:t=>Re(G.float64Array(t),"Float64Array",t),bigInt64Array:t=>Re(G.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Re(G.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Re(G.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Re(G.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Re(G.dataView(t),"DataView",t),urlInstance:t=>Re(G.urlInstance(t),"URL",t),urlString:t=>Re(G.urlString(t),"string with a URL",t),truthy:t=>Re(G.truthy(t),"truthy",t),falsy:t=>Re(G.falsy(t),"falsy",t),nan:t=>Re(G.nan(t),"NaN",t),primitive:t=>Re(G.primitive(t),"primitive",t),integer:t=>Re(G.integer(t),"integer",t),safeInteger:t=>Re(G.safeInteger(t),"integer",t),plainObject:t=>Re(G.plainObject(t),"plain object",t),typedArray:t=>Re(G.typedArray(t),"TypedArray",t),arrayLike:t=>Re(G.arrayLike(t),"array-like",t),domElement:t=>Re(G.domElement(t),"HTMLElement",t),observable:t=>Re(G.observable(t),"Observable",t),nodeStream:t=>Re(G.nodeStream(t),"Node.js Stream",t),infinite:t=>Re(G.infinite(t),"infinite number",t),emptyArray:t=>Re(G.emptyArray(t),"empty array",t),nonEmptyArray:t=>Re(G.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Re(G.emptyString(t),"empty string",t),nonEmptyString:t=>Re(G.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Re(G.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Re(G.emptyObject(t),"empty object",t),nonEmptyObject:t=>Re(G.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Re(G.emptySet(t),"empty set",t),nonEmptySet:t=>Re(G.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Re(G.emptyMap(t),"empty map",t),nonEmptyMap:t=>Re(G.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Re(G.evenInteger(t),"even integer",t),oddInteger:t=>Re(G.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Re(G.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Re(G.inRange(t,e),"in range",t),any:(t,...e)=>Re(G.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Re(G.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(G,{class:{value:G.class_},function:{value:G.function_},null:{value:G.null_}});Object.defineProperties(Gs.assert,{class:{value:Gs.assert.class_},function:{value:Gs.assert.function_},null:{value:Gs.assert.null_}});Gs.default=G;Ym.exports=G;Ym.exports.default=G;Ym.exports.assert=Gs.assert});var W2=C((g9e,gb)=>{"use strict";var hb=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Bh=class{static fn(e){return(...r)=>new Bh((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new hb(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Bh.prototype,Promise.prototype);gb.exports=Bh;gb.exports.CancelError=hb});var z2=C((fb,pb)=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});var fde=require("tls"),db=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof fde.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};fb.default=db;pb.exports=db;pb.exports.default=db});var V2=C((Cb,mb)=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var pde=z2(),dde=Number(process.versions.node.split(".")[0]),Ib=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dde>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pde.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Cb.default=Ib;mb.exports=Ib;mb.exports.default=Ib});var rH=C((h9e,Eb)=>{"use strict";var{V4MAPPED:Cde,ADDRCONFIG:mde,ALL:X2,promises:{Resolver:Z2},lookup:Ide}=require("dns"),{promisify:yb}=require("util"),Ede=require("os"),lc=Symbol("cacheableLookupCreateConnection"),Bb=Symbol("cacheableLookupInstance"),_2=Symbol("expires"),yde=typeof X2=="number",$2=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Bde=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},eH=()=>{let t=!1,e=!1;for(let r of Object.values(Ede.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},wde=t=>Symbol.iterator in t,tH={ttl:!0},Qde={all:!0},wb=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new Z2,lookup:o=Ide}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=yb(o),this._resolver instanceof Z2?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=yb(this._resolver.resolve4.bind(this._resolver)),this._resolve6=yb(this._resolver.resolve6.bind(this._resolver))),this._iface=eH(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cde&&(yde&&r.hints&X2||n.length===0)?Bde(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mde){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,tH),this._resolve6(e,tH)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[_2]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}wde(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qde);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[_2];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[lc](r,i))}uninstall(e){if($2(e),e[lc]){if(e[Bb]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[lc],delete e[lc],delete e[Bb]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=eH(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Eb.exports=wb;Eb.exports.default=wb});var sH=C((f9e,Qb)=>{"use strict";var bde=typeof URL=="undefined"?require("url").URL:URL,Sde="text/plain",Dde="us-ascii",iH=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xde=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,h=""]=u.split("=").map(f=>f.trim());return g==="charset"&&(h=h.toLowerCase(),h===Dde)?"":`${g}${h?`=${h}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Sde)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},nH=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xde(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bde(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];iH(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])iH(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Qb.exports=nH;Qb.exports.default=nH});var AH=C((p9e,oH)=>{oH.exports=aH;function aH(t,e){if(t&&e)return aH(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var lH=AH();bb.exports=lH(qm);bb.exports.strict=lH(cH);qm.proto=qm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return qm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return cH(this)},configurable:!0})});function qm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function cH(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Db=C((C9e,uH)=>{var Pde=Sb(),kde=function(){},vde=function(t){return t.setHeader&&typeof t.abort=="function"},Fde=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},gH=function(t,e,r){if(typeof e=="function")return gH(t,null,e);e||(e={}),r=Pde(r||kde);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},h=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},f=function(){t.req.on("finish",l)};return vde(t)?(t.on("complete",l),t.on("abort",h),t.req?f():t.on("request",f)):o&&!i&&(t.on("end",a),t.on("close",a)),Fde(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",h),function(){t.removeListener("complete",l),t.removeListener("abort",h),t.removeListener("request",f),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",h)}};uH.exports=gH});var pH=C((m9e,hH)=>{var Rde=Sb(),Lde=Db(),xb=require("fs"),wh=function(){},Nde=/^v?\.0/.test(process.version),Gm=function(t){return typeof t=="function"},Mde=function(t){return!Nde||!xb?!1:(t instanceof(xb.ReadStream||wh)||t instanceof(xb.WriteStream||wh))&&Gm(t.close)},Ode=function(t){return t.setHeader&&Gm(t.abort)},Kde=function(t,e,r,i){i=Rde(i);var n=!1;t.on("close",function(){n=!0}),Lde(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Mde(t))return t.close(wh);if(Ode(t))return t.abort();if(Gm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},fH=function(t){t()},Tde=function(t,e){return t.pipe(e)},Ude=function(){var t=Array.prototype.slice.call(arguments),e=Gm(t[t.length-1]||wh)&&t.pop()||wh;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Kde(n,o,a,function(l){r||(r=l),l&&i.forEach(fH),!o&&(i.forEach(fH),e(r))})});return t.reduce(Tde)};hH.exports=Ude});var CH=C((I9e,dH)=>{"use strict";var{PassThrough:Hde}=require("stream");dH.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hde({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var mH=C((E9e,cc)=>{"use strict";var Yde=pH(),qde=CH(),Pb=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function jm(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Yde(t,qde(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Pb)})}),i.getBufferedValue()}cc.exports=jm;cc.exports.default=jm;cc.exports.buffer=(t,e)=>jm(t,V(P({},e),{encoding:"buffer"}));cc.exports.array=(t,e)=>jm(t,V(P({},e),{array:!0}));cc.exports.MaxBufferError=Pb});var EH=C((B9e,IH)=>{"use strict";var Gde=[200,203,204,206,300,301,404,405,410,414,501],jde=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jde={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wde={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function kb(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zde(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}IH.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=kb(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=kb(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zde(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&jde.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Gde.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=kb(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jde[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wde[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Jm=C((w9e,yH)=>{"use strict";yH.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var QH=C((Q9e,BH)=>{"use strict";var Vde=require("stream").Readable,Xde=Jm(),wH=class extends Vde{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=Xde(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};BH.exports=wH});var SH=C((b9e,bH)=>{"use strict";var Zde=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];bH.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Zde));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var xH=C((S9e,DH)=>{"use strict";var _de=require("stream").PassThrough,$de=SH(),eCe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new _de;return $de(t,e),t.pipe(e)};DH.exports=eCe});var PH=C(vb=>{vb.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};vb.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var RH=C((x9e,kH)=>{"use strict";var tCe=require("events"),vH=PH(),rCe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},FH=class extends tCe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:vH.stringify,deserialize:vH.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rCe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};kH.exports=FH});var MH=C((P9e,LH)=>{"use strict";var iCe=require("events"),Wm=require("url"),nCe=sH(),sCe=mH(),Fb=EH(),NH=QH(),oCe=Jm(),aCe=xH(),ACe=RH(),ss=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new ACe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=Rb(Wm.parse(r)),r={};else if(r instanceof Wm.URL)n=Rb(Wm.parse(r.toString())),r={};else{let[g,...h]=(r.path||"").split("?"),f=h.length>0?`?${h.join("?")}`:"";n=Rb(V(P({},r),{pathname:g,search:f}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lCe(n)),r.headers=oCe(r.headers);let s=new iCe,o=nCe(Wm.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let h=!1,f,p=new Promise(I=>{f=()=>{h||(h=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let b=Fb.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!b.modified){let x=b.policy.responseHeaders();I=new NH(l.statusCode,x,l.body,l.url),I.cachePolicy=b.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new Fb(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=aCe(I),(async()=>{try{let b=sCe.buffer(I);if(await Promise.race([p,new Promise(U=>I.once("end",U))]),h)return;let x=await b,F={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:x},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,F,N)}catch(b){s.emit("error",new ss.CacheError(b))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(b){s.emit("error",new ss.CacheError(b))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",f),I.once("abort",f),s.emit("request",I)}catch(I){s.emit("error",new ss.RequestError(I))}};return(async()=>{let g=async f=>{await Promise.resolve();let p=f.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(f);let m=Fb.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(f)&&!f.forceRefresh){let I=m.responseHeaders(),y=new NH(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,f.headers=m.revalidationHeaders(f),u(f)},h=f=>s.emit("error",new ss.CacheError(f));this.cache.once("error",h),s.on("response",()=>this.cache.removeListener("error",h));try{await g(r)}catch(f){r.automaticFailover&&!c&&u(r),s.emit("error",new ss.CacheError(f))}})(),s}}};function lCe(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function Rb(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ss.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ss.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};LH.exports=ss});var KH=C((k9e,OH)=>{"use strict";var cCe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];OH.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cCe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var UH=C((v9e,TH)=>{"use strict";var{Transform:uCe,PassThrough:gCe}=require("stream"),Lb=require("zlib"),hCe=KH();TH.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Lb.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uCe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gCe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Lb.createBrotliDecompress():Lb.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),hCe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var Nb=C((F9e,HH)=>{"use strict";var YH=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};HH.exports=YH});var Ob=C((R9e,qH)=>{"use strict";var fCe=require("events"),pCe=require("tls"),dCe=require("http2"),CCe=Nb(),oi=Symbol("currentStreamsCount"),GH=Symbol("request"),cn=Symbol("cachedOriginSet"),uc=Symbol("gracefullyClosing"),mCe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],ICe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},ECe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Mb=(t,e)=>{for(let r of t)r[cn].lengthe[cn].includes(i))&&r[oi]+e[oi]<=e.remoteSettings.maxConcurrentStreams&&jH(r)},yCe=(t,e)=>{for(let r of t)e[cn].lengthr[cn].includes(i))&&e[oi]+r[oi]<=r.remoteSettings.maxConcurrentStreams&&jH(e)},JH=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Js.kCurrentStreamsCount]{t[uc]=!0,t[oi]===0&&t.close()},Js=class extends fCe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new CCe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mCe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=Js.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,h=-1,f;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[uc]||p.destroyed)continue;f||(g=m),I>h&&(f=p,h=I)}}if(f){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(f);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let h=dCe.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));h[oi]=0,h[uc]=!1;let f=()=>h[oi]{this.tlsSessionCache.set(u,I)}),h.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),h.setTimeout(this.timeout,()=>{h.destroy()}),h.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(h),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!f())){for(let I of h[cn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&f();)y.shift().resolve(h);let b=this.queue[o];if(b[I].listeners.length===0&&(delete b[I],Object.keys(b).length===0)){delete this.queue[o];break}if(!f())break}}};h.on("origin",()=>{h[cn]=h.originSet,!!f()&&(m(),Mb(this.sessions[o],h))}),h.once("remoteSettings",()=>{if(h.ref(),h.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);h.destroy();return}h[cn]=h.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(ICe(y,h,ECe),0,h)}else I[o]=[h]}this._freeSessionsCount+=1,g=!0,this.emit("session",h),m(),l(),h[oi]===0&&this._freeSessionsCount>this.maxFreeSessions&&h.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),h.on("remoteSettings",()=>{m(),Mb(this.sessions[o],h)})}),h[GH]=h.request,h.request=(I,y)=>{if(h[uc])throw new Error("The session is gracefully closing. No new streams are allowed.");let b=h[GH](I,y);return h.ref(),++h[oi],h[oi]===h.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,b.once("close",()=>{if(p=f(),--h[oi],!h.destroyed&&!h.closed&&(yCe(this.sessions[o],h),f()&&!h.closed)){p||(this._freeSessionsCount++,p=!0);let x=h[oi]===0;x&&h.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||h[uc])?h.close():(Mb(this.sessions[o],h),m())}}),b}}catch(h){for(let f of i)f.reject(h);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Js.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[oi]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return JH({agent:this,isFree:!0})}get busySessions(){return JH({agent:this,isFree:!1})}};Js.kCurrentStreamsCount=oi;Js.kGracefullyClosing=uc;qH.exports={Agent:Js,globalAgent:new Js}});var Kb=C((L9e,WH)=>{"use strict";var{Readable:BCe}=require("stream"),zH=class extends BCe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};WH.exports=zH});var Tb=C((N9e,VH)=>{"use strict";VH.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var ZH=C((M9e,XH)=>{"use strict";XH.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var $H=C((O9e,_H)=>{"use strict";_H.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var tY=C((T9e,eY)=>{"use strict";var gc=(t,e,r)=>{eY.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};gc(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});gc(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);gc(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);gc(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);gc(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);gc(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var qb=C((U9e,rY)=>{"use strict";var wCe=require("http2"),{Writable:QCe}=require("stream"),{Agent:iY,globalAgent:bCe}=Ob(),SCe=Kb(),DCe=Tb(),xCe=ZH(),PCe=$H(),{ERR_INVALID_ARG_TYPE:Ub,ERR_INVALID_PROTOCOL:kCe,ERR_HTTP_HEADERS_SENT:nY,ERR_INVALID_HTTP_TOKEN:vCe,ERR_HTTP_INVALID_HEADER_VALUE:FCe,ERR_INVALID_CHAR:RCe}=tY(),{HTTP2_HEADER_STATUS:sY,HTTP2_HEADER_METHOD:oY,HTTP2_HEADER_PATH:aY,HTTP2_METHOD_CONNECT:LCe}=wCe.constants,qr=Symbol("headers"),Hb=Symbol("origin"),Yb=Symbol("session"),AY=Symbol("options"),zm=Symbol("flushedHeaders"),Qh=Symbol("jobs"),NCe=/^[\^`\-\w!#$%&*+.|~]+$/,MCe=/[^\t\u0020-\u007E\u0080-\u00FF]/,lY=class extends QCe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=DCe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[Yb]=r.h2session;else if(r.agent===!1)this.agent=new iY({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new iY({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bCe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new Ub("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new kCe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[qr]=Object.create(null),this[Qh]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[qr])&&(this[qr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[AY]=r,s===443?(this[Hb]=`https://${o}`,":authority"in this[qr]||(this[qr][":authority"]=o)):(this[Hb]=`https://${o}:${s}`,":authority"in this[qr]||(this[qr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[zm]=!1}get method(){return this[qr][oY]}set method(e){e&&(this[qr][oY]=e.toUpperCase())}get path(){return this[qr][aY]}set path(e){e&&(this[qr][aY]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Qh].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Qh].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[zm]||this.destroyed)return;this[zm]=!0;let e=this.method===LCe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xCe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new SCe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[sY],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[sY]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Qh])o();this.emit("socket",this.socket)};if(this[Yb])try{r(this[Yb].request(this[qr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[Hb],this[AY],this[qr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new Ub("name","string",e);return this[qr][e.toLowerCase()]}get headersSent(){return this[zm]}removeHeader(e){if(typeof e!="string")throw new Ub("name","string",e);if(this.headersSent)throw new nY("remove");delete this[qr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new nY("set");if(typeof e!="string"||!NCe.test(e)&&!PCe(e))throw new vCe("Header name",e);if(typeof r=="undefined")throw new FCe(r,e);if(MCe.test(r))throw new RCe("header content",e);this[qr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Qh].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};rY.exports=lY});var uY=C((H9e,cY)=>{"use strict";var OCe=require("tls");cY.exports=(t={})=>new Promise((e,r)=>{let i=OCe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var hY=C((Y9e,gY)=>{"use strict";var KCe=require("net");gY.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),KCe.isIP(e)?"":e}});var dY=C((q9e,Gb)=>{"use strict";var fY=require("http"),jb=require("https"),TCe=uY(),UCe=Nb(),HCe=qb(),YCe=hY(),qCe=Tb(),Vm=new UCe({maxSize:100}),bh=new Map,pY=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},GCe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Vm.has(e)){if(bh.has(e))return(await bh.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=TCe(t);bh.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Vm.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=jb,l=jb.Agent.prototype.createConnection;i?i.createConnection===l?pY(i,s,t):s.destroy():a.createConnection===l?pY(a,s,t):s.destroy()}return bh.delete(e),o}catch(s){throw bh.delete(e),s}}return Vm.get(e)};Gb.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=qCe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=V(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||YCe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?jb.globalAgent:fY.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await GCe(e)==="h2"?(n&&(e.agent=n.http2),new HCe(e,r)):fY.request(e,r)};Gb.exports.protocolCache=Vm});var mY=C((G9e,CY)=>{"use strict";var jCe=require("http2"),JCe=Ob(),Jb=qb(),WCe=Kb(),zCe=dY(),VCe=(t,e,r)=>new Jb(t,e,r),XCe=(t,e,r)=>{let i=new Jb(t,e,r);return i.end(),i};CY.exports=V(P(V(P({},jCe),{ClientRequest:Jb,IncomingMessage:WCe}),JCe),{request:VCe,get:XCe,auto:zCe})});var zb=C(Wb=>{"use strict";Object.defineProperty(Wb,"__esModule",{value:!0});var IY=js();Wb.default=t=>IY.default.nodeStream(t)&&IY.default.function_(t.getBoundary)});var wY=C(Vb=>{"use strict";Object.defineProperty(Vb,"__esModule",{value:!0});var EY=require("fs"),yY=require("util"),BY=js(),ZCe=zb(),_Ce=yY.promisify(EY.stat);Vb.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(BY.default.string(t))return Buffer.byteLength(t);if(BY.default.buffer(t))return t.length;if(ZCe.default(t))return yY.promisify(t.getLength.bind(t))();if(t instanceof EY.ReadStream){let{size:r}=await _Ce(t.path);return r}}});var Zb=C(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});function $Ce(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Xb.default=$Ce});var QY=C(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});_b.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var SY=C(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.TimeoutError=void 0;var eme=require("net"),tme=QY(),bY=Symbol("reentry"),rme=()=>{},$b=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Sh.TimeoutError=$b;Sh.default=(t,e,r)=>{if(bY in t)return rme;t[bY]=!0;let i=[],{once:n,unhandleAll:s}=tme.default(),o=(g,h,f)=>{var p;let m=setTimeout(h,g,g,f);(p=m.unref)===null||p===void 0||p.call(m);let I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,h)=>{t.destroy(new $b(g,h))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var h;let{socketPath:f}=t;if(g.connecting){let p=Boolean(f!=null?f:eme.isIP((h=l!=null?l:a)!==null&&h!==void 0?h:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",I=>{I===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var xY=C(eS=>{"use strict";Object.defineProperty(eS,"__esModule",{value:!0});var DY=js();eS.default=t=>{t=t;let e={protocol:t.protocol,hostname:DY.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return DY.default.string(t.port)&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var PY=C(tS=>{"use strict";Object.defineProperty(tS,"__esModule",{value:!0});var ime=require("url"),nme=["protocol","host","hostname","port","pathname","search"];tS.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new ime.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nme)e[s]&&(n[s]=e[s].toString());return n}});var vY=C(rS=>{"use strict";Object.defineProperty(rS,"__esModule",{value:!0});var kY=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};rS.default=kY});var nS=C(iS=>{"use strict";Object.defineProperty(iS,"__esModule",{value:!0});var sme=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};iS.default=sme});var RY=C(yA=>{"use strict";Object.defineProperty(yA,"__esModule",{value:!0});yA.dnsLookupIpVersionToFamily=yA.isDnsLookupIpVersion=void 0;var FY={auto:0,ipv4:4,ipv6:6};yA.isDnsLookupIpVersion=t=>t in FY;yA.dnsLookupIpVersionToFamily=t=>{if(yA.isDnsLookupIpVersion(t))return FY[t];throw new Error("Invalid DNS lookup IP version")}});var sS=C(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});Xm.isResponseOk=void 0;Xm.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var NY=C(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0});var LY=new Set;oS.default=t=>{LY.has(t)||(LY.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var MY=C(aS=>{"use strict";Object.defineProperty(aS,"__esModule",{value:!0});var Tt=js(),ome=(t,e)=>{if(Tt.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Tt.assert.any([Tt.default.string,Tt.default.undefined],t.encoding),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.resolveBodyOnly),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.methodRewriting),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.isStream),Tt.assert.any([Tt.default.string,Tt.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Tt.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Tt.default.number(r)&&(t.retry.limit=r),Tt.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Tt.default.number))),Tt.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!Tt.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Tt.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Tt.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Tt.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};aS.default=ome});var OY=C(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.retryAfterStatusCodes=void 0;Dh.retryAfterStatusCodes=new Set([413,429,503]);var ame=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Dh.default=ame});var Ph=C(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.UnsupportedProtocolError=Et.ReadError=Et.TimeoutError=Et.UploadError=Et.CacheError=Et.HTTPError=Et.MaxRedirectsError=Et.RequestError=Et.setNonEnumerableProperties=Et.knownHookEvents=Et.withoutBody=Et.kIsNormalizedAlready=void 0;var KY=require("util"),TY=require("stream"),Ame=require("fs"),Wo=require("url"),UY=require("http"),AS=require("http"),lme=require("https"),cme=V2(),ume=rH(),HY=MH(),gme=UH(),hme=mY(),fme=Jm(),se=js(),pme=wY(),YY=zb(),dme=Zb(),qY=SY(),Cme=xY(),GY=PY(),mme=vY(),Ime=nS(),jY=RY(),Eme=sS(),zo=NY(),yme=MY(),Bme=OY(),wme=new ume.default,Dr=Symbol("request"),Zm=Symbol("response"),hc=Symbol("responseSize"),fc=Symbol("downloadedSize"),pc=Symbol("bodySize"),dc=Symbol("uploadedSize"),_m=Symbol("serverResponsesPiped"),JY=Symbol("unproxyEvents"),WY=Symbol("isFromCache"),lS=Symbol("cancelTimeouts"),zY=Symbol("startedReading"),Cc=Symbol("stopReading"),$m=Symbol("triggerRead"),Vo=Symbol("body"),xh=Symbol("jobs"),VY=Symbol("originalResponse"),XY=Symbol("retryTimeout");Et.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Qme=se.default.string(process.versions.brotli);Et.withoutBody=new Set(["GET","HEAD"]);Et.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function bme(t){for(let e in t){let r=t[e];if(!se.default.string(r)&&!se.default.number(r)&&!se.default.boolean(r)&&!se.default.null_(r)&&!se.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Sme(t){return se.default.object(t)&&!("statusCode"in t)}var cS=new mme.default,Dme=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),xme=new Set([300,301,302,303,304,307,308]),Pme=["context","body","json","form"];Et.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Pme)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var Ir=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof uS?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Zm]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,!se.default.undefined(r.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};Et.RequestError=Ir;var gS=class extends Ir{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=gS;var hS=class extends Ir{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=hS;var fS=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=fS;var pS=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=pS;var dS=class extends Ir{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=dS;var eI=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=eI;var CS=class extends Ir{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=CS;var kme=["socket","connect","continue","information","upgrade","timeout"],uS=class extends TY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[fc]=0,this[dc]=0,this.requestInitialized=!1,this[_m]=new Set,this.redirects=[],this[Cc]=!1,this[$m]=!1,this[xh]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof AS.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof Ame.ReadStream&&await Dme(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Dr])===null||c===void 0||c.destroy();return}for(let g of this[xh])g();this[xh].length=0,this.requestInitialized=!0}catch(u){if(u instanceof Ir){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([jY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.https.pfx)),se.assert.any([se.default.object,se.default.undefined],r.cacheOptions),se.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=fme(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let f;if(se.default.string(r.searchParams)||r.searchParams instanceof Wo.URLSearchParams)f=new Wo.URLSearchParams(r.searchParams);else{bme(r.searchParams),f=new Wo.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?f.append(p,""):m!==void 0&&f.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{f.has(m)||f.append(m,p)}),r.searchParams=f}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",se.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),se.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=GY.default(r.prefixUrl+r.url,r)}else(se.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=GY.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:f}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${f} to ${m}: ${I.href}`);r.url=new Wo.URL(m+I.href.slice(f.length)),f=m},get:()=>f});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Wo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new CS(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:f,getCookieString:p}=u;se.assert.function_(f),se.assert.function_(p),f.length===4&&p.length===0&&(f=KY.promisify(f.bind(r.cookieJar)),p=KY.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:f,getCookieString:p})}let{cache:g}=r;if(g&&(cS.has(g)||cS.set(g,new HY((f,p)=>{let m=f[Dr](f,p);return se.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(b){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)r.dnsCache=wme;else if(!se.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${se.default(r.dnsCache)}`);se.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let h=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let f of Et.knownHookEvents)if(f in r.hooks)if(se.default.array(r.hooks[f]))r.hooks[f]=[...r.hooks[f]];else throw new TypeError(`Parameter \`${f}\` must be an Array, got ${se.default(r.hooks[f])}`);else r.hooks[f]=[];if(i&&!h)for(let f of Et.knownHookEvents)i.hooks[f].length!==0&&(r.hooks[f]=[...i.hooks[f],...r.hooks[f]]);if("family"in r&&zo.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&zo.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&zo.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&zo.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&zo.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&zo.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&zo.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&zo.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let f in r.agent)if(f!=="http"&&f!=="https"&&f!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${f}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Et.setNonEnumerableProperties([i,c],r),yme.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!se.default.undefined(e.form),n=!se.default.undefined(e.json),s=!se.default.undefined(e.body),o=i||n||s,a=Et.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof TY.Readable)&&!se.default.string(e.body)&&!se.default.buffer(e.body)&&!YY.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!se.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!se.default.string(r["content-type"]);s?(YY.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[Vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[Vo]=new Wo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[Vo]=e.stringifyJson(e.json));let c=await pme.default(this[Vo],e.headers);se.default.undefined(r["content-length"])&&se.default.undefined(r["transfer-encoding"])&&!a&&!se.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[pc]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[VY]=e,r.decompress&&(e=gme(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:UY.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[WY]=s.isFromCache,this[hc]=Number(e.headers["content-length"])||void 0,this[Zm]=e,e.once("end",()=>{this[hc]=this[fc],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new eI(a,this))}),e.once("aborted",()=>{this._beforeError(new eI({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(se.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&xme.has(n)){if(e.resume(),this[Dr]&&(this[lS](),delete this[Dr],this[JY]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[Vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new gS(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Wo.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!Eme.isResponseOk(s)){this._beforeError(new hS(s));return}e.on("readable",()=>{this[$m]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[_m])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cme.default(e),this[lS]=qY.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l instanceof qY.TimeoutError?l=new dS(l,this.timings,this):l=new Ir(l.message,l,this),this._beforeError(l)}),this[JY]=dme.default(e,this,kme),this[Dr]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[Vo],a=this.redirects.length===0?this:e;se.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new pS(l,this))})):(this._unlockWrite(),se.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,Cme.default(e)),delete r.url;let s,o=cS.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let y in a)if(se.default.undefined(a[y]))delete a[y];else if(se.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&se.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Qme?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());se.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let b=await y(o);if(!se.default.undefined(b)){o.request=()=>b;break}}o.body&&this[Vo]!==o.body&&(this[Vo]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:b,path:x}=y.groups;Object.assign(o,{socketPath:b,path:x,host:""})}}let h=g.protocol==="https:",f;o.http2?f=hme.auto:f=h?lme.request:UY.request;let p=(e=o.request)!==null&&e!==void 0?e:f,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[h?"https":"http"]),o[Dr]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=jY.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);se.default.undefined(y)&&(y=f(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Sme(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof HY.CacheError?new fS(y,this):new Ir(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ir(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[Cc])return;let{options:r}=this,i=this.retryCount+1;this[Cc]=!0,e instanceof Ir||(e=new Ir(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Ime.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:Bme.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new Ir(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new Ir(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[XY]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[$m]=!0;let e=this[Zm];if(e&&!this[Cc]){e.readableLength&&(this[$m]=!1);let r;for(;(r=e.read())!==null;){this[fc]+=r.length,this[zY]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[xh].push(n)}_writeRequest(e,r,i){this[Dr].destroyed||(this._progressCallbacks.push(()=>{this[dc]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Dr].write(e,r,n=>{!n&&this._progressCallbacks.length!==0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Dr in this)){e();return}if(this[Dr].destroyed){e();return}this[Dr].end(i=>{i||(this[pc]=this[dc],this.emit("uploadProgress",this.uploadProgress),this[Dr].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[xh].push(r)}_destroy(e,r){var i;this[Cc]=!0,clearTimeout(this[XY]),Dr in this&&(this[lS](),((i=this[Zm])===null||i===void 0?void 0:i.complete)||this[Dr].destroy()),e!==null&&!se.default.undefined(e)&&!(e instanceof Ir)&&(e=new Ir(e.message,e,this)),r(e)}get _isAboutToError(){return this[Cc]}get ip(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Dr])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[VY])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[hc]?e=this[fc]/this[hc]:this[hc]===this[fc]?e=1:e=0,{percent:e,transferred:this[fc],total:this[hc]}}get uploadProgress(){let e;return this[pc]?e=this[dc]/this[pc]:this[pc]===this[dc]?e=1:e=0,{percent:e,transferred:this[dc],total:this[pc]}}get timings(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[WY]}pipe(e,r){if(this[zY])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof AS.ServerResponse&&this[_m].add(e),super.pipe(e,r)}unpipe(e){return e instanceof AS.ServerResponse&&this[_m].delete(e),super.unpipe(e),this}};Et.default=uS});var kh=C(Nn=>{"use strict";var vme=Nn&&Nn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Fme=Nn&&Nn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vme(e,t,r)};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.CancelError=Nn.ParseError=void 0;var ZY=Ph(),_Y=class extends ZY.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Nn.ParseError=_Y;var $Y=class extends ZY.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Nn.CancelError=$Y;Fme(Ph(),Nn)});var tq=C(mS=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var eq=kh(),Rme=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new eq.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new eq.ParseError(s,t)}};mS.default=Rme});var IS=C(Xo=>{"use strict";var Lme=Xo&&Xo.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Nme=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Lme(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});var Mme=require("events"),Ome=js(),Kme=W2(),tI=kh(),rq=tq(),iq=Ph(),Tme=Zb(),Ume=nS(),nq=sS(),Hme=["request","response","redirect","uploadProgress","downloadProgress"];function sq(t){let e,r,i=new Mme.EventEmitter,n=new Kme((o,a,l)=>{let c=u=>{let g=new iq.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new tI.CancelError(g))),e=g,g.once("response",async f=>{var p;if(f.retryCount=u,f.request.aborted)return;let m;try{m=await Ume.default(g),f.rawBody=m}catch(x){return}if(g._isAboutToError)return;let I=((p=f.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:b}=g;if(y&&!b.decompress)f.body=m;else try{f.body=rq.default(f,b.responseType,b.parseJson,b.encoding)}catch(x){if(f.body=m.toString(),nq.isResponseOk(f)){g._beforeError(x);return}}try{for(let[x,F]of b.hooks.afterResponse.entries())f=await F(f,async N=>{let U=iq.default.normalizeArguments(void 0,V(P({},N),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);U.hooks.afterResponse=U.hooks.afterResponse.slice(0,x);for(let J of U.hooks.beforeRetry)await J(U);let v=sq(U);return l(()=>{v.catch(()=>{}),v.cancel()}),v})}catch(x){g._beforeError(new tI.RequestError(x.message,x,g));return}if(!nq.isResponseOk(f)){g._beforeError(new tI.HTTPError(f));return}r=f,o(g.options.resolveBodyOnly?f.body:f)});let h=f=>{if(n.isCanceled)return;let{options:p}=g;if(f instanceof tI.HTTPError&&!p.throwHttpErrors){let{response:m}=f;o(g.options.resolveBodyOnly?m.body:m);return}a(f)};g.once("error",h),g.once("retry",(f,p)=>{var m;if(Ome.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){h(p);return}c(f)}),Tme.default(g,i,Hme)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return rq.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}Xo.default=sq;Nme(kh(),Xo)});var oq=C(ES=>{"use strict";Object.defineProperty(ES,"__esModule",{value:!0});var Yme=kh();function qme(t,...e){let r=(async()=>{if(t instanceof Yme.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}ES.default=qme});var lq=C(yS=>{"use strict";Object.defineProperty(yS,"__esModule",{value:!0});var aq=js();function Aq(t){for(let e of Object.values(t))(aq.default.plainObject(e)||aq.default.array(e))&&Aq(e);return Object.freeze(t)}yS.default=Aq});var uq=C(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0})});var BS=C(un=>{"use strict";var Gme=un&&un.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),jme=un&&un.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gme(e,t,r)};Object.defineProperty(un,"__esModule",{value:!0});un.defaultHandler=void 0;var gq=js(),gn=IS(),Jme=oq(),rI=Ph(),Wme=lq(),zme={RequestError:gn.RequestError,CacheError:gn.CacheError,ReadError:gn.ReadError,HTTPError:gn.HTTPError,MaxRedirectsError:gn.MaxRedirectsError,TimeoutError:gn.TimeoutError,ParseError:gn.ParseError,CancelError:gn.CancelError,UnsupportedProtocolError:gn.UnsupportedProtocolError,UploadError:gn.UploadError},Vme=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:iI}=rI.default,hq=(...t)=>{let e;for(let r of t)e=iI(void 0,r,e);return e},Xme=t=>t.isStream?new rI.default(void 0,t):gn.default(t),Zme=t=>"defaults"in t&&"options"in t.defaults,_me=["get","post","put","patch","head","delete"];un.defaultHandler=(t,e)=>e(t);var fq=(t,e)=>{if(t)for(let r of t)r(e)},pq=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n,s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?Xme:c);if(gq.default.plainObject(i)){let u=P(P({},i),n);rI.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{fq(t.options.hooks.init,n),fq((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(h){u=h}let g=iI(i,n,s!=null?s:t.options);if(g[rI.kIsNormalizedAlready]=!0,u)throw new gn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return Jme.default(u,t.options.hooks.beforeError,(a=n==null?void 0:n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)Zme(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==un.defaultHandler),s.length===0&&s.push(un.defaultHandler),pq({options:hq(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=iI(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!gq.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,V(P({},n),{isStream:!0}));for(let i of _me)e[i]=(n,s)=>e(n,V(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,V(P({},s),{method:i,isStream:!0}));return Object.assign(e,zme),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Wme.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=hq,e};un.default=pq;jme(uq(),un)});var sI=C((Ws,nI)=>{"use strict";var $me=Ws&&Ws.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),dq=Ws&&Ws.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&$me(e,t,r)};Object.defineProperty(Ws,"__esModule",{value:!0});var eIe=require("url"),Cq=BS(),tIe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new eIe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[Cq.defaultHandler],mutableDefaults:!1},wS=Cq.default(tIe);Ws.default=wS;nI.exports=wS;nI.exports.default=wS;nI.exports.__esModule=!0;dq(BS(),Ws);dq(IS(),Ws)});var yq=C(mc=>{"use strict";var hVe=require("net"),rIe=require("tls"),QS=require("http"),mq=require("https"),iIe=require("events"),fVe=require("assert"),nIe=require("util");mc.httpOverHttp=sIe;mc.httpsOverHttp=oIe;mc.httpOverHttps=aIe;mc.httpsOverHttps=AIe;function sIe(t){var e=new zs(t);return e.request=QS.request,e}function oIe(t){var e=new zs(t);return e.request=QS.request,e.createSocket=Iq,e.defaultPort=443,e}function aIe(t){var e=new zs(t);return e.request=mq.request,e}function AIe(t){var e=new zs(t);return e.request=mq.request,e.createSocket=Iq,e.defaultPort=443,e}function zs(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||QS.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Eq(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};zs.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=bS({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Zo("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,h,f){process.nextTick(function(){c(g,h,f)})}function c(g,h,f){if(o.removeAllListeners(),h.removeAllListeners(),g.statusCode!==200){Zo("tunneling socket could not be established, statusCode=%d",g.statusCode),h.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(f.length>0){Zo("got illegal response body from proxy"),h.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return Zo("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=h,r(h)}function u(g){o.removeAllListeners(),Zo(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var h=new Error("tunneling socket could not be established, cause="+g.message);h.code="ECONNRESET",e.request.emit("error",h),i.removeSocket(n)}};zs.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function Iq(t,e){var r=this;zs.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=bS({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=rIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function Eq(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function bS(t){for(var e=1,r=arguments.length;e{Bq.exports=yq()});var oG=C((xXe,kS)=>{var Nq=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Fh={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Fh[$o]=ne[$o]);var vS=[],Mq="./this.program",Oq=function(t,e){throw e},Kq=!1,wA=!0,Rh="";function CIe(t){return ne.locateFile?ne.locateFile(t,Rh):Rh+t}var AI,FS,lI,RS;wA&&(Kq?Rh=require("path").dirname(Rh)+"/":Rh=__dirname+"/",AI=function(e,r){var i=Uq(e);return i?r?i:i.toString():(lI||(lI=Nq),RS||(RS=require("path")),e=RS.normalize(e),lI.readFileSync(e,r?null:"utf8"))},FS=function(e){var r=AI(e,!0);return r.buffer||(r=new Uint8Array(r)),Tq(r.buffer),r},process.argv.length>1&&(Mq=process.argv[1].replace(/\\/g,"/")),vS=process.argv.slice(2),typeof kS!="undefined"&&(kS.exports=ne),Oq=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var cI=ne.print||console.log.bind(console),Gr=ne.printErr||console.warn.bind(console);for($o in Fh)Fh.hasOwnProperty($o)&&(ne[$o]=Fh[$o]);Fh=null;ne.arguments&&(vS=ne.arguments);ne.thisProgram&&(Mq=ne.thisProgram);ne.quit&&(Oq=ne.quit);var mIe=16;function IIe(t,e){return e||(e=mIe),Math.ceil(t/e)*e}var EIe=0,yIe=function(t){EIe=t},LS;ne.wasmBinary&&(LS=ne.wasmBinary);var kVe=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&cr("no native wasm support detected");function BIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Ai[t>>0];case"i8":return Ai[t>>0];case"i16":return NS[t>>1];case"i32":return Ye[t>>2];case"i64":return Ye[t>>2];case"float":return Hq[t>>2];case"double":return Yq[t>>3];default:cr("invalid type for getValue: "+e)}return null}var uI,qq=!1,wIe;function Tq(t,e){t||cr("Assertion failed: "+e)}function Gq(t){var e=ne["_"+t];return Tq(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function DIe(t,e,r,i,n){var s={string:function(f){var p=0;if(f!=null&&f!==0){var m=(f.length<<2)+1;p=Wq(m),Jq(f,p,m)}return p},array:function(f){var p=Wq(f.length);return QIe(f,p),p}};function o(f){return e==="string"?jq(f):e==="boolean"?Boolean(f):f}var a=Gq(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&zq)return zq.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function jq(t,e){return t?Ic(Ec,t,e):""}function gI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function Jq(t,e,r){return gI(t,Ec,e,r)}function hI(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function MS(t){var e=hI(t)+1,r=Vq(e);return r&&gI(t,Ai,r,e),r}function QIe(t,e){Ai.set(t,e)}function PIe(t,e){return t%e>0&&(t+=e-t%e),t}var OS,Ai,Ec,NS,kIe,Ye,vIe,Hq,Yq;function Xq(t){OS=t,ne.HEAP8=Ai=new Int8Array(t),ne.HEAP16=NS=new Int16Array(t),ne.HEAP32=Ye=new Int32Array(t),ne.HEAPU8=Ec=new Uint8Array(t),ne.HEAPU16=kIe=new Uint16Array(t),ne.HEAPU32=vIe=new Uint32Array(t),ne.HEAPF32=Hq=new Float32Array(t),ne.HEAPF64=Yq=new Float64Array(t)}var vVe=ne.INITIAL_MEMORY||16777216,KS,Zq=[],_q=[],$q=[],FIe=!1;function LIe(){if(ne.preRun)for(typeof ne.preRun=="function"&&(ne.preRun=[ne.preRun]);ne.preRun.length;)RIe(ne.preRun.shift());TS(Zq)}function NIe(){FIe=!0,!ne.noFSInit&&!E.init.initialized&&E.init(),ea.init(),TS(_q)}function OIe(){if(ne.postRun)for(typeof ne.postRun=="function"&&(ne.postRun=[ne.postRun]);ne.postRun.length;)MIe(ne.postRun.shift());TS($q)}function RIe(t){Zq.unshift(t)}function KIe(t){_q.unshift(t)}function MIe(t){$q.unshift(t)}var QA=0,US=null,Lh=null;function TIe(t){return t}function eG(t){QA++,ne.monitorRunDependencies&&ne.monitorRunDependencies(QA)}function HS(t){if(QA--,ne.monitorRunDependencies&&ne.monitorRunDependencies(QA),QA==0&&(US!==null&&(clearInterval(US),US=null),Lh)){var e=Lh;Lh=null,e()}}ne.preloadedImages={};ne.preloadedAudios={};function cr(t){ne.onAbort&&ne.onAbort(t),t+="",Gr(t),qq=!0,wIe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var tG="data:application/octet-stream;base64,";function rG(t){return t.startsWith(tG)}var Nh="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgCECAAKAIIQQJ0aigCACEDIwBBEGsiAiQAIAIgAzYCDANAIAIoAgwEQCACIAIoAgwoAhg2AgggAigCDBAVIAIgAigCCDYCDAwBCwsgAkEQaiQACyAAIAAoAghBAWo2AggMAQsLIAAoAgwoAhAQFQsgACgCDBAVCyAAQRBqJAAgASgCDCgCQARAIAFCADcDAANAIAEpAwAgASgCDCkDMFQEQCABKAIMKAJAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCQBAVCyABQgA3AwADQCABKQMAIAEoAgwoAkStVARAIAEoAgwoAkwgASkDAKdBAnRqKAIAIQIjAEEQayIAJAAgACACNgIMIAAoAgxBAToAKAJ/IwBBEGsiAiAAKAIMQQxqNgIMIAIoAgwoAgBFCwRAIAAoAgxBDGpBCEEAEBQLIABBEGokACABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkwQFSABKAIMKAJUIQIjAEEQayIAJAAgACACNgIMIAAoAgwEQCAAKAIMKAIIBEAgACgCDCgCDCAAKAIMKAIIEQIACyAAKAIMEBULIABBEGokACABKAIMQQhqEDcgASgCDBAVCyABQRBqJAALjw4BAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCCCEBIAMoAgQhAiMAQSBrIgAgAygCDDYCGCAAIAE2AhQgACACNgIQIAAgACgCGEEQdjYCDCAAIAAoAhhB//8DcTYCGAJAIAAoAhBBAUYEQCAAIAAoAhQtAAAgACgCGGo2AhggACgCGEHx/wNPBEAgACAAKAIYQfH/A2s2AhgLIAAgACgCGCAAKAIMajYCDCAAKAIMQfH/A08EQCAAIAAoAgxB8f8DazYCDAsgACAAKAIYIAAoAgxBEHRyNgIcDAELIAAoAhRFBEAgAEEBNgIcDAELIAAoAhBBEEkEQANAIAAgACgCECIBQQFrNgIQIAEEQCAAIAAoAhQiAUEBajYCFCAAIAEtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMDAELCyAAKAIYQfH/A08EQCAAIAAoAhhB8f8DazYCGAsgACAAKAIMQfH/A3A2AgwgACAAKAIYIAAoAgxBEHRyNgIcDAELA0AgACgCEEGwK08EQCAAIAAoAhBBsCtrNgIQIABB2wI2AggDQCAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAkgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQALIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAwgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAOIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA8gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFEEQajYCFCAAIAAoAghBAWsiATYCCCABDQALIAAgACgCGEHx/wNwNgIYIAAgACgCDEHx/wNwNgIMDAELCyAAKAIQBEADQCAAKAIQQRBPBEAgACAAKAIQQRBrNgIQIAAgACgCFC0AACAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQABIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAIgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AAyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAEIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAUgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAHIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAggACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAKIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAsgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQANIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA4gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIUQRBqNgIUDAELCwNAIAAgACgCECIBQQFrNgIQIAEEQCAAIAAoAhQiAUEBajYCFCAAIAEtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMDAELCyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAsgACAAKAIYIAAoAgxBEHRyNgIcCyAAKAIcIQAgA0EQaiQAIAALhAEBAX8jAEEQayIBJAAgASAANgIIIAFB2AAQGCIANgIEAkAgAEUEQCABQQA2AgwMAQsCQCABKAIIBEAgASgCBCABKAIIQdgAEBkaDAELIAEoAgQQTwsgASgCBEEANgIAIAEoAgRBAToABSABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAtvAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCADKAIQrRAeNgIMAkAgAygCDEUEQCADQX82AhwMAQsgAygCDCADKAIUIAMoAhAQGRogA0EANgIcCyADKAIcGiADQSBqJAALogEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCDCAEKQMQECkiADYCBAJAIABFBEAgBCgCCEEOQQAQFCAEQQA2AhwMAQsgBCgCGCAEKAIEKAIEIAQpAxAgBCgCCBBhQQBIBEAgBCgCBBAWIARBADYCHAwBCyAEIAQoAgQ2AhwLIAQoAhwhACAEQSBqJAAgAAugAQEBfyMAQSBrIgMkACADIAA2AhQgAyABNgIQIAMgAjcDCCADIAMoAhA2AgQCQCADKQMIQghUBEAgA0J/NwMYDAELIwBBEGsiACADKAIUNgIMIAAoAgwoAgAhACADKAIEIAA2AgAjAEEQayIAIAMoAhQ2AgwgACgCDCgCBCEAIAMoAgQgADYCBCADQgg3AxgLIAMpAxghAiADQSBqJAAgAgs/AQF/IwBBEGsiAiAANgIMIAIgATYCCCACKAIMBEAgAigCDCACKAIIKAIANgIAIAIoAgwgAigCCCgCBDYCBAsLgwECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIAAgAEIKgCIFQgp+fadBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACIAJBCm4iA0EKbGtBMHI6AAAgAkEJSyEEIAMhAiAEDQALCyABC7wCAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCCAEKAIIRQRAIAQgBCgCGEEIajYCCAsCQCAEKQMQIAQoAhgpAzBaBEAgBCgCCEESQQAQFCAEQQA2AhwMAQsCQCAEKAIMQQhxRQRAIAQoAhgoAkAgBCkDEKdBBHRqKAIEDQELIAQoAhgoAkAgBCkDEKdBBHRqKAIARQRAIAQoAghBEkEAEBQgBEEANgIcDAILAkAgBCgCGCgCQCAEKQMQp0EEdGotAAxBAXFFDQAgBCgCDEEIcQ0AIAQoAghBF0EAEBQgBEEANgIcDAILIAQgBCgCGCgCQCAEKQMQp0EEdGooAgA2AhwMAQsgBCAEKAIYKAJAIAQpAxCnQQR0aigCBDYCHAsgBCgCHCEAIARBIGokACAAC9kIAQJ/IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDAJAIAQoAhhFBEAgBCgCFARAIAQoAhRBADYCAAsgBEGQ2QA2AhwMAQsgBCgCEEHAAHFFBEAgBCgCGCgCCEUEQCAEKAIYQQAQOhoLAkACQAJAIAQoAhBBgAFxRQ0AIAQoAhgoAghBAUYNACAEKAIYKAIIQQJHDQELIAQoAhgoAghBBEcNAQsgBCgCGCgCDEUEQCAEKAIYKAIAIQEgBCgCGC8BBCECIAQoAhhBEGohAyAEKAIMIQUjAEEwayIAJAAgACABNgIoIAAgAjYCJCAAIAM2AiAgACAFNgIcIAAgACgCKDYCGAJAIAAoAiRFBEAgACgCIARAIAAoAiBBADYCAAsgAEEANgIsDAELIABBATYCECAAQQA2AgwDQCAAKAIMIAAoAiRJBEAjAEEQayIBIAAoAhggACgCDGotAABBAXRBkNUAai8BADYCCAJAIAEoAghBgAFJBEAgAUEBNgIMDAELIAEoAghBgBBJBEAgAUECNgIMDAELIAEoAghBgIAESQRAIAFBAzYCDAwBCyABQQQ2AgwLIAAgASgCDCAAKAIQajYCECAAIAAoAgxBAWo2AgwMAQsLIAAgACgCEBAYIgE2AhQgAUUEQCAAKAIcQQ5BABAUIABBADYCLAwBCyAAQQA2AgggAEEANgIMA0AgACgCDCAAKAIkSQRAIAAoAhQgACgCCGohAiMAQRBrIgEgACgCGCAAKAIMai0AAEEBdEGQ1QBqLwEANgIIIAEgAjYCBAJAIAEoAghBgAFJBEAgASgCBCABKAIIOgAAIAFBATYCDAwBCyABKAIIQYAQSQRAIAEoAgQgASgCCEEGdkEfcUHAAXI6AAAgASgCBCABKAIIQT9xQYABcjoAASABQQI2AgwMAQsgASgCCEGAgARJBEAgASgCBCABKAIIQQx2QQ9xQeABcjoAACABKAIEIAEoAghBBnZBP3FBgAFyOgABIAEoAgQgASgCCEE/cUGAAXI6AAIgAUEDNgIMDAELIAEoAgQgASgCCEESdkEHcUHwAXI6AAAgASgCBCABKAIIQQx2QT9xQYABcjoAASABKAIEIAEoAghBBnZBP3FBgAFyOgACIAEoAgQgASgCCEE/cUGAAXI6AAMgAUEENgIMCyAAIAEoAgwgACgCCGo2AgggACAAKAIMQQFqNgIMDAELCyAAKAIUIAAoAhBBAWtqQQA6AAAgACgCIARAIAAoAiAgACgCEEEBazYCAAsgACAAKAIUNgIsCyAAKAIsIQEgAEEwaiQAIAEhACAEKAIYIAA2AgwgAEUEQCAEQQA2AhwMBAsLIAQoAhQEQCAEKAIUIAQoAhgoAhA2AgALIAQgBCgCGCgCDDYCHAwCCwsgBCgCFARAIAQoAhQgBCgCGC8BBDYCAAsgBCAEKAIYKAIANgIcCyAEKAIcIQAgBEEgaiQAIAALOQEBfyMAQRBrIgEgADYCDEEAIQAgASgCDC0AAEEBcQR/IAEoAgwpAxAgASgCDCkDCFEFQQALQQFxC5wIAQt/IABFBEAgARAYDwsgAUFATwRAQbSbAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQZifASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQrAEMAQsgB0HQmwEoAgBGBEBBxJsBKAIAIARqIgQgBk0NAiAFIAlBAXEgBnJBAnI2AgQgBSAGaiIDIAQgBmsiAkEBcjYCBEHEmwEgAjYCAEHQmwEgAzYCAAwBCyAHQcybASgCAEYEQEHAmwEoAgAgBGoiAyAGSQ0CAkAgAyAGayICQRBPBEAgBSAJQQFxIAZyQQJyNgIEIAUgBmoiBCACQQFyNgIEIAMgBWoiAyACNgIAIAMgAygCBEF+cTYCBAwBCyAFIAlBAXEgA3JBAnI2AgQgAyAFaiICIAIoAgRBAXI2AgRBACECQQAhBAtBzJsBIAQ2AgBBwJsBIAI2AgAMAQsgBygCBCIDQQJxDQEgA0F4cSAEaiIKIAZJDQEgCiAGayEMAkAgA0H/AU0EQCAHKAIIIgQgA0EDdiICQQN0QeCbAWpGGiAEIAcoAgwiA0YEQEG4mwFBuJsBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBygCGCELAkAgByAHKAIMIghHBEAgBygCCCICQcibASgCAEkaIAIgCDYCDCAIIAI2AggMAQsCQCAHQRRqIgQoAgAiAg0AIAdBEGoiBCgCACICDQBBACEIDAELA0AgBCEDIAIiCEEUaiIEKAIAIgINACAIQRBqIQQgCCgCECICDQALIANBADYCAAsgC0UNAAJAIAcgBygCHCIDQQJ0QeidAWoiAigCAEYEQCACIAg2AgAgCA0BQbybAUG8mwEoAgBBfiADd3E2AgAMAgsgC0EQQRQgCygCECAHRhtqIAg2AgAgCEUNAQsgCCALNgIYIAcoAhAiAgRAIAggAjYCECACIAg2AhgLIAcoAhQiAkUNACAIIAI2AhQgAiAINgIYCyAMQQ9NBEAgBSAJQQFxIApyQQJyNgIEIAUgCmoiAiACKAIEQQFyNgIEDAELIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgDEEDcjYCBCAFIApqIgIgAigCBEEBcjYCBCADIAwQrAELIAUhAgsgAgsiAgRAIAJBCGoPCyABEBgiBUUEQEEADwsgBSAAQXxBeCAAQQRrKAIAIgJBA3EbIAJBeHFqIgIgASABIAJLGxAZGiAAEBUgBQvvAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIILQAoQQFxBEAgAUF/NgIMDAELIAEoAggoAiRBA0YEQCABKAIIQQxqQRdBABAUIAFBfzYCDAwBCwJAIAEoAggoAiAEQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCwACDUAsEQCABKAIIQQxqQR1BABAUIAFBfzYCDAwDCwwBCyABKAIIKAIABEAgASgCCCgCABBJQQBIBEAgASgCCEEMaiABKAIIKAIAEBcgAUF/NgIMDAMLCyABKAIIQQBCAEEAECFCAFMEQCABKAIIKAIABEAgASgCCCgCABAxGgsgAUF/NgIMDAILCyABKAIIQQA6ADQgASgCCEEAOgA1IwBBEGsiACABKAIIQQxqNgIMIAAoAgwEQCAAKAIMQQA2AgAgACgCDEEANgIECyABKAIIIgAgACgCIEEBajYCICABQQA2AgwLIAEoAgwhACABQRBqJAAgAAt1AgF/AX4jAEEQayIBJAAgASAANgIEAkAgASgCBC0AKEEBcQRAIAFCfzcDCAwBCyABKAIEKAIgRQRAIAEoAgRBDGpBEkEAEBQgAUJ/NwMIDAELIAEgASgCBEEAQgBBBxAhNwMICyABKQMIIQIgAUEQaiQAIAILnQEBAX8jAEEQayIBIAA2AggCQAJAAkAgASgCCEUNACABKAIIKAIgRQ0AIAEoAggoAiQNAQsgAUEBNgIMDAELIAEgASgCCCgCHDYCBAJAAkAgASgCBEUNACABKAIEKAIAIAEoAghHDQAgASgCBCgCBEG0/gBJDQAgASgCBCgCBEHT/gBNDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwLgAEBA38jAEEQayICIAA2AgwgAiABNgIIIAIoAghBCHYhASACKAIMKAIIIQMgAigCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAIIQf8BcSEBIAIoAgwoAgghAyACKAIMIgIoAhQhACACIABBAWo2AhQgACADaiABOgAAC5kFAQF/IwBBQGoiBCQAIAQgADYCOCAEIAE3AzAgBCACNgIsIAQgAzYCKCAEQcgAEBgiADYCJAJAIABFBEAgBEEANgI8DAELIAQoAiRCADcDOCAEKAIkQgA3AxggBCgCJEIANwMwIAQoAiRBADYCACAEKAIkQQA2AgQgBCgCJEIANwMIIAQoAiRCADcDECAEKAIkQQA2AiggBCgCJEIANwMgAkAgBCkDMFAEQEEIEBghACAEKAIkIAA2AgQgAEUEQCAEKAIkEBUgBCgCKEEOQQAQFCAEQQA2AjwMAwsgBCgCJCgCBEIANwMADAELIAQoAiQgBCkDMEEAEMEBQQFxRQRAIAQoAihBDkEAEBQgBCgCJBAzIARBADYCPAwCCyAEQgA3AwggBEIANwMYIARCADcDEANAIAQpAxggBCkDMFQEQCAEKAI4IAQpAxinQQR0aikDCFBFBEAgBCgCOCAEKQMYp0EEdGooAgBFBEAgBCgCKEESQQAQFCAEKAIkEDMgBEEANgI8DAULIAQoAiQoAgAgBCkDEKdBBHRqIAQoAjggBCkDGKdBBHRqKAIANgIAIAQoAiQoAgAgBCkDEKdBBHRqIAQoAjggBCkDGKdBBHRqKQMINwMIIAQoAiQoAgQgBCkDGKdBA3RqIAQpAwg3AwAgBCAEKAI4IAQpAxinQQR0aikDCCAEKQMIfDcDCCAEIAQpAxBCAXw3AxALIAQgBCkDGEIBfDcDGAwBCwsgBCgCJCAEKQMQNwMIIAQoAiQgBCgCLAR+QgAFIAQoAiQpAwgLNwMYIAQoAiQoAgQgBCgCJCkDCKdBA3RqIAQpAwg3AwAgBCgCJCAEKQMINwMwCyAEIAQoAiQ2AjwLIAQoAjwhACAEQUBrJAAgAAueAQEBfyMAQSBrIgQkACAEIAA2AhggBCABNwMQIAQgAjYCDCAEIAM2AgggBCAEKAIYIAQpAxAgBCgCDCAEKAIIEEUiADYCBAJAIABFBEAgBEEANgIcDAELIAQgBCgCBCgCMEEAIAQoAgwgBCgCCBBGIgA2AgAgAEUEQCAEQQA2AhwMAQsgBCAEKAIANgIcCyAEKAIcIQAgBEEgaiQAIAAL8QEBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADoABCABKAIMQQA6AAUgASgCDEEBOgAGIAEoAgxBvwY7AQggASgCDEEKOwEKIAEoAgxBADsBDCABKAIMQX82AhAgASgCDEEANgIUIAEoAgxBADYCGCABKAIMQgA3AyAgASgCDEIANwMoIAEoAgxBADYCMCABKAIMQQA2AjQgASgCDEEANgI4IAEoAgxBADYCPCABKAIMQQA7AUAgASgCDEGAgNiNeDYCRCABKAIMQgA3A0ggASgCDEEAOwFQIAEoAgxBADsBUiABKAIMQQA2AlQL0hMBAX8jAEGwAWsiAyQAIAMgADYCqAEgAyABNgKkASADIAI2AqABIANBADYCkAEgAyADKAKkASgCMEEAEDo2ApQBIAMgAygCpAEoAjhBABA6NgKYAQJAAkACQAJAIAMoApQBQQJGBEAgAygCmAFBAUYNAQsgAygClAFBAUYEQCADKAKYAUECRg0BCyADKAKUAUECRw0BIAMoApgBQQJHDQELIAMoAqQBIgAgAC8BDEGAEHI7AQwMAQsgAygCpAEiACAALwEMQf/vA3E7AQwgAygClAFBAkYEQCADQfXgASADKAKkASgCMCADKAKoAUEIahCCATYCkAEgAygCkAFFBEAgA0F/NgKsAQwDCwsCQCADKAKgAUGAAnENACADKAKYAUECRw0AIANB9cYBIAMoAqQBKAI4IAMoAqgBQQhqEIIBNgJIIAMoAkhFBEAgAygCkAEQIyADQX82AqwBDAMLIAMoAkggAygCkAE2AgAgAyADKAJINgKQAQsLAkAgAygCpAEvAVJFBEAgAygCpAEiACAALwEMQf7/A3E7AQwMAQsgAygCpAEiACAALwEMQQFyOwEMCyADIAMoAqQBIAMoAqABEF5BAXE6AIYBIAMgAygCoAFBgApxQYAKRwR/IAMtAIYBBUEBC0EBcToAhwEgAwJ/QQEgAygCpAEvAVJBgQJGDQAaQQEgAygCpAEvAVJBggJGDQAaIAMoAqQBLwFSQYMCRgtBAXE6AIUBIAMtAIcBQQFxBEAgAyADQSBqQhwQKTYCHCADKAIcRQRAIAMoAqgBQQhqQQ5BABAUIAMoApABECMgA0F/NgKsAQwCCwJAIAMoAqABQYACcQRAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9YDQILIAMoAhwgAygCpAEpAygQLSADKAIcIAMoAqQBKQMgEC0MAQsCQAJAIAMoAqABQYAIcQ0AIAMoAqQBKQMgQv////8PVg0AIAMoAqQBKQMoQv////8PVg0AIAMoAqQBKQNIQv////8PWA0BCyADKAKkASkDKEL/////D1oEQCADKAIcIAMoAqQBKQMoEC0LIAMoAqQBKQMgQv////8PWgRAIAMoAhwgAygCpAEpAyAQLQsgAygCpAEpA0hC/////w9aBEAgAygCHCADKAKkASkDSBAtCwsLAn8jAEEQayIAIAMoAhw2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBQgAygCHBAWIAMoApABECMgA0F/NgKsAQwCCyADQQECfyMAQRBrIgAgAygCHDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALp0H//wNxCyADQSBqQYAGEFE2AowBIAMoAhwQFiADKAKMASADKAKQATYCACADIAMoAowBNgKQAQsgAy0AhQFBAXEEQCADIANBFWpCBxApNgIQIAMoAhBFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILIAMoAhBBAhAfIAMoAhBBvRJBAhBAIAMoAhAgAygCpAEvAVJB/wFxEI4BIAMoAhAgAygCpAEoAhBB//8DcRAfAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBQgAygCEBAWIAMoApABECMgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUTYCDCADKAIQEBYgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKSIANgJMIABFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAELIAMoAkxB8RJB9hIgAygCoAFBgAJxG0EEEEAgAygCoAFBgAJxRQRAIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCAtB//8DcRAfCyADKAJMIAMtAIYBQQFxBH9BLQUgAygCpAEvAQoLQf//A3EQHyADKAJMIAMoAqQBLwEMEB8CQCADLQCFAUEBcQRAIAMoAkxB4wAQHwwBCyADKAJMIAMoAqQBKAIQQf//A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxCHnw3A1ggAykDWCADKQNgVgRAIAMgAykDWDcDYAsgAykDYCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAygChAEoAgAgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNIQQAQJ0EASARAIAMoAnwgAygChAEoAgAQFyADQn83A4gBDAMLIAMgAygChAEoAgBBAEEBIAMoAnwQxgFCf1EEQCADEF0gA0J/NwOIAQwDCwJ/IAMoAoABKAIAIAMpA3CnQQR0aigCACEBIwBBEGsiACQAIAAgATYCCCAAIAM2AgQCQAJAAkAgACgCCC8BCiAAKAIELwEKSA0AIAAoAggoAhAgACgCBCgCEEcNACAAKAIIKAIUIAAoAgQoAhRHDQAgACgCCCgCMCAAKAIEKAIwEIsBDQELIABBfzYCDAwBCwJAAkAgACgCCCgCGCAAKAIEKAIYRw0AIAAoAggpAyAgACgCBCkDIFINACAAKAIIKQMoIAAoAgQpAyhRDQELAkACQCAAKAIELwEMQQhxRQ0AIAAoAgQoAhgNACAAKAIEKQMgQgBSDQAgACgCBCkDKFANAQsgAEF/NgIMDAILCyAAQQA2AgwLIAAoAgwhASAAQRBqJAAgAQsEQCADKAJ8QRVBABAUIAMQXSADQn83A4gBDAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EIkBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQXSADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQL1AQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAygCECEBIwBBEGsiACQAIAAgATYCCCAAQdgAEBg2AgQCQCAAKAIERQRAIAAoAghBDkEAEBQgAEEANgIMDAELIAAoAgghAiMAQRBrIgEkACABIAI2AgggAUEYEBgiAjYCBAJAIAJFBEAgASgCCEEOQQAQFCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRCADcDCCABKAIEQQA2AhAgASABKAIENgIMCyABKAIMIQIgAUEQaiQAIAAoAgQgAjYCUCACRQRAIAAoAgQQFSAAQQA2AgwMAQsgACgCBEEANgIAIAAoAgRBADYCBCMAQRBrIgEgACgCBEEIajYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIEQQA2AhggACgCBEEANgIUIAAoAgRBADYCHCAAKAIEQQA2AiQgACgCBEEANgIgIAAoAgRBADoAKCAAKAIEQgA3AzggACgCBEIANwMwIAAoAgRBADYCQCAAKAIEQQA2AkggACgCBEEANgJEIAAoAgRBADYCTCAAKAIEQQA2AlQgACAAKAIENgIMCyAAKAIMIQEgAEEQaiQAIAMgASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFCAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEKABDAELIAIgASAAEKABC0EASARAIAQoAghBBEG0mwEoAgAQFCAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJABBACAAEAUiACAAQRtGGyIABH9BtJsBIAA2AgBBAAVBAAsaC3ABAX8jAEEQayIDJAAgAwJ/IAFBwABxRQRAQQAgAUGAgIQCcUGAgIQCRw0BGgsgAyACQQRqNgIMIAIoAgALNgIAIAAgAUGAgAJyIAMQECIAQYFgTwRAQbSbAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALMwEBfwJ/IAAQByIBQWFGBEAgABARIQELIAFBgWBPCwR/QbSbAUEAIAFrNgIAQX8FIAELC2kBAn8CQCAAKAIUIAAoAhxNDQAgAEEAQQAgACgCJBEBABogACgCFA0AQX8PCyAAKAIEIgEgACgCCCICSQRAIAAgASACa6xBASAAKAIoEQ8AGgsgAEEANgIcIABCADcDECAAQgA3AgRBAAvaAwEGfyMAQRBrIgUkACAFIAI2AgwjAEGgAWsiBCQAIARBCGpBkIcBQZABEBkaIAQgADYCNCAEIAA2AhwgBEF+IABrIgNB/////wcgA0H/////B0kbIgY2AjggBCAAIAZqIgA2AiQgBCAANgIYIARBCGohACMAQdABayIDJAAgAyACNgLMASADQaABakEAQSgQMiADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBxQQBIDQAgACgCTEEATiEHIAAoAgAhAiAALABKQQBMBEAgACACQV9xNgIACyACQSBxIQgCfyAAKAIwBEAgACABIANByAFqIANB0ABqIANBoAFqEHEMAQsgAEHQADYCMCAAIANB0ABqNgIQIAAgAzYCHCAAIAM2AhQgACgCLCECIAAgAzYCLCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcSACRQ0AGiAAQQBBACAAKAIkEQEAGiAAQQA2AjAgACACNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgCHI2AgAgB0UNAAsgA0HQAWokACAGBEAgBCgCHCIAIAAgBCgCGEZrQQA6AAALIARBoAFqJAAgBUEQaiQAC4wSAg9/AX4jAEHQAGsiBSQAIAUgATYCTCAFQTdqIRMgBUE4aiEQQQAhAQNAAkAgDUEASA0AQf////8HIA1rIAFIBEBBtJsBQT02AgBBfyENDAELIAEgDWohDQsgBSgCTCIHIQECQAJAAkACQAJAAkACQAJAIAUCfwJAIActAAAiBgRAA0ACQAJAIAZB/wFxIgZFBEAgASEGDAELIAZBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgg2AkwgBkEBaiEGIAEtAAIhDiAIIQEgDkElRg0ACwsgBiAHayEBIAAEQCAAIAcgARAiCyABDQ0gBSgCTCEBIAUoAkwsAAFBMGtBCk8NAyABLQACQSRHDQMgASwAAUEwayEPQQEhESABQQNqDAQLIAUgAUEBaiIINgJMIAEtAAEhBiAIIQEMAAsACyANIQsgAA0IIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQqAFBASELIAFBAWoiAUEKRw0BDAoLC0EBIQsgAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgxBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgxBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgDEEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQpBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQogAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCgsgBSgCTEEBagsiATYCTCAKQX9KDQFBACAKayEKIAhBgMAAciEIDAELIAVBzABqEKcBIgpBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQpwEhCSAFKAJMIQELQQAhBgNAIAYhEkF/IQsgASwAAEHBAGtBOUsNByAFIAFBAWoiDDYCTCABLAAAIQYgDCEBIAYgEkE6bGpB74IBai0AACIGQQFrQQhJDQALIAZBE0YNAiAGRQ0GIA9BAE4EQCAEIA9BAnRqIAY2AgAgBSADIA9BA3RqKQMANwNADAQLIAANAQtBACELDAULIAVBQGsgBiACEKgBIAUoAkwhDAwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDiAIIAhBgMAAcRshBkEAIQtBpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCANNgIADBYLIAUoAkAgDTYCAAwVCyAFKAJAIA2sNwMADBQLIAUoAkAgDTsBAAwTCyAFKAJAIA06AAAMEgsgBSgCQCANNgIADBELIAUoAkAgDaw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQ4gBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGAhwFqLQAAIA5yOgAAIBRCD1YhDCAUQgSIIRQgDA0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiELDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQtBpAgMAQsgBkGAEHEEQEEBIQtBpQgMAQtBpghBpAggBkEBcSILGwshDyAUIBAQRCEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQdgSIAEbIgdBACAJEKsBIgEgByAJaiABGyEIIA4hBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIApBACAGECYMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQqgEiB0EASCIODQAgByAJIAFrSw0AIAhBBGohCCAJIAEgB2oiAUsNAQwCCwtBfyELIA4NBQsgAEEgIAogASAGECYgAUUEQEEAIQEMAQtBACEIIAUoAkAhDANAIAwoAgAiB0UNASAFQQRqIAcQqgEiByAIaiIIIAFKDQEgACAFQQRqIAcQIiAMQQRqIQwgASAISw0ACwsgAEEgIAogASAGQYDAAHMQJiAKIAEgASAKSBshAQwFCyAAIAUrA0AgCiAJIAYgAUEXERkAIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDiEGDAILQX8hCwsgBUHQAGokACALDwsgAEEgIAsgCCAHayIOIAkgCSAOSBsiDGoiCCAKIAggCkobIgEgCCAGECYgACAPIAsQIiAAQTAgASAIIAZBgIAEcxAmIABBMCAMIA5BABAmIAAgByAOECIgAEEgIAEgCCAGQYDAAHMQJgwACwALkAIBA38CQCABIAIoAhAiBAR/IAQFQQAhBAJ/IAIgAi0ASiIDQQFrIANyOgBKIAIoAgAiA0EIcQRAIAIgA0EgcjYCAEF/DAELIAJCADcCBCACIAIoAiwiAzYCHCACIAM2AhQgAiADIAIoAjBqNgIQQQALDQEgAigCEAsgAigCFCIFa0sEQCACIAAgASACKAIkEQEADwsCfyACLABLQX9KBEAgASEEA0AgASAEIgNFDQIaIAAgA0EBayIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQgA0kNAiAAIANqIQAgAigCFCEFIAEgA2sMAQsgAQshBCAFIAAgBBAZGiACIAIoAhQgBGo2AhQgASEECyAEC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFchBCADQRBqJAAgBAt3AQF/IwBBEGsiASAANgIIIAFChSo3AwACQCABKAIIRQRAIAFBADYCDAwBCwNAIAEoAggtAAAEQCABIAEoAggtAACtIAEpAwBCIX58Qv////8PgzcDACABIAEoAghBAWo2AggMAQsLIAEgASkDAD4CDAsgASgCDAuHBQEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjcDGCAFIAM2AhQgBSAENgIQAkACQAJAIAUoAihFDQAgBSgCJEUNACAFKQMYQv///////////wBYDQELIAUoAhBBEkEAEBQgBUEAOgAvDAELIAUoAigoAgBFBEAgBSgCKEGAAiAFKAIQEFlBAXFFBEAgBUEAOgAvDAILCyAFIAUoAiQQdDYCDCAFIAUoAgwgBSgCKCgCAHA2AgggBSAFKAIoKAIQIAUoAghBAnRqKAIANgIEA0ACQCAFKAIERQ0AAkAgBSgCBCgCHCAFKAIMRw0AIAUoAiQgBSgCBCgCABBaDQACQAJAIAUoAhRBCHEEQCAFKAIEKQMIQn9SDQELIAUoAgQpAxBCf1ENAQsgBSgCEEEKQQAQFCAFQQA6AC8MBAsMAQsgBSAFKAIEKAIYNgIEDAELCyAFKAIERQRAIAVBIBAYIgA2AgQgAEUEQCAFKAIQQQ5BABAUIAVBADoALwwCCyAFKAIEIAUoAiQ2AgAgBSgCBCAFKAIoKAIQIAUoAghBAnRqKAIANgIYIAUoAigoAhAgBSgCCEECdGogBSgCBDYCACAFKAIEIAUoAgw2AhwgBSgCBEJ/NwMIIAUoAigiACAAKQMIQgF8NwMIAkAgBSgCKCIAKQMIuiAAKAIAuEQAAAAAAADoP6JkRQ0AIAUoAigoAgBBgICAgHhPDQAgBSgCKCAFKAIoKAIAQQF0IAUoAhAQWUEBcUUEQCAFQQA6AC8MAwsLCyAFKAIUQQhxBEAgBSgCBCAFKQMYNwMICyAFKAIEIAUpAxg3AxAgBUEBOgAvCyAFLQAvQQFxIQAgBUEwaiQAIAALWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEBgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEDILIAAL1BEBAX8jAEGwAWsiBiQAIAYgADYCqAEgBiABNgKkASAGIAI2AqABIAYgAzYCnAEgBiAENgKYASAGIAU2ApQBIAZBADYCkAEDQCAGKAKQAUEPS0UEQCAGQSBqIAYoApABQQF0akEAOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFPRQRAIAZBIGogBigCpAEgBigCjAFBAXRqLwEAQQF0aiIAIAAvAQBBAWo7AQAgBiAGKAKMAUEBajYCjAEMAQsLIAYgBigCmAEoAgA2AoABIAZBDzYChAEDQAJAIAYoAoQBQQFJDQAgBkEgaiAGKAKEAUEBdGovAQANACAGIAYoAoQBQQFrNgKEAQwBCwsgBigCgAEgBigChAFLBEAgBiAGKAKEATYCgAELAkAgBigChAFFBEAgBkHAADoAWCAGQQE6AFkgBkEAOwFaIAYoApwBIgEoAgAhACABIABBBGo2AgAgACAGQdgAaigBADYBACAGKAKcASIBKAIAIQAgASAAQQRqNgIAIAAgBkHYAGooAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQYDwADYCUCAGQcDwADYCTCAGQYECNgJIDAELIAZBgPEANgJQIAZBwPEANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoAkggBigClAEgBigCjAFBAXRqLwEAQQFqSwRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQQFrIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigChAEgBigCfCAGKAJ4ak0NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGRoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPiEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGiEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+0BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigoAgAoAhBFBEAgAUEANgIsDAQLCwwBCwsgASgCKEEANgK0LSABKAIkQQRGBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBARAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQI2AiwMAgsgAUEDNgIsDAELIAEoAigoAqAtBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBABAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQA2AiwMAgsLIAFBATYCLAsgASgCLCECIAFBMGokACACDAELIAAoAiwgACgCNCAAKAIsKAKEAUEMbEGA7wBqKAIIEQMACwsLNgIEAkAgACgCBEECRwRAIAAoAgRBA0cNAQsgACgCLEGaBTYCBAsCQCAAKAIEBEAgACgCBEECRw0BCyAAKAI4KAIQRQRAIAAoAixBfzYCKAsgAEEANgI8DAILIAAoAgRBAUYEQAJAIAAoAjRBAUYEQCAAKAIsIQIjAEEgayIBJAAgASACNgIcIAFBAzYCGAJAIAEoAhwoArwtQRAgASgCGGtKBEAgAUECNgIUIAEoAhwiAiACLwG4LSABKAIUQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAhRB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIYQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQQIgASgCHCgCvC10cjsBuC0gASgCHCICIAEoAhggAigCvC1qNgK8LQsgAUGS6AAvAQA2AhACQCABKAIcKAK8LUEQIAEoAhBrSgRAIAFBkOgALwEANgIMIAEoAhwiAiACLwG4LSABKAIMQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAgxB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIQQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQZDoAC8BACABKAIcKAK8LXRyOwG4LSABKAIcIgIgASgCECACKAK8LWo2ArwtCyABKAIcELsBIAFBIGokAAwBCyAAKAI0QQVHBEAgACgCLEEAQQBBABBcIAAoAjRBA0YEQCAAKAIsKAJEIAAoAiwoAkxBAWtBAXRqQQA7AQAgACgCLCgCREEAIAAoAiwoAkxBAWtBAXQQMiAAKAIsKAJ0RQRAIAAoAixBADYCbCAAKAIsQQA2AlwgACgCLEEANgK0LQsLCwsgACgCOBAcIAAoAjgoAhBFBEAgACgCLEF/NgIoIABBADYCPAwDCwsLIAAoAjRBBEcEQCAAQQA2AjwMAQsgACgCLCgCGEEATARAIABBATYCPAwBCwJAIAAoAiwoAhhBAkYEQCAAKAI4KAIwQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAjBBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIwQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAghBEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAADAELIAAoAiwgACgCOCgCMEEQdhBMIAAoAiwgACgCOCgCMEH//wNxEEwLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQEgAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBLDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJcDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCgCPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAAoAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADYCBAwhCyAAKAJQQQA2AhQgACgCUCgCJARAIAAoAlAoAiRBfzYCMAsCQCAAKAJQKAIMQQFxBEAgACgCPEH/AXFBCHQgACgCPEEIdmpBH3BFDQELIAAoAlhBmgw2AhggACgCUEHR/gA2AgQMIQsgACgCPEEPcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIQsgACAAKAI8QQR2NgI8IAAgACgCOEEEazYCOCAAIAAoAjxBD3FBCGo2AhQgACgCUCgCKEUEQCAAKAJQIAAoAhQ2AigLAkAgACgCFEEPTQRAIAAoAhQgACgCUCgCKE0NAQsgACgCWEGTDTYCGCAAKAJQQdH+ADYCBAwhCyAAKAJQQQEgACgCFHQ2AhhBAEEAQQAQPiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG9/gBBv/4AIAAoAjxBgARxGzYCBCAAQQA2AjwgAEEANgI4DCALA0AgACgCOEEQSQRAIAAoAkRFDSAgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCFCAAKAJQKAIUQf8BcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIAsgACgCUCgCFEGAwANxBEAgACgCWEGgCTYCGCAAKAJQQdH+ADYCBAwgCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8QQh2QQFxNgIACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4IAAoAlBBtv4ANgIECwNAIAAoAjhBIEkEQCAAKAJERQ0fIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIECwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAIAAoAjxBEHY6AA4gACAAKAI8QRh2OgAPIAAoAlAoAhwgAEEMakEEEBohASAAKAJQIAE2AhwLIABBADYCPCAAQQA2AjggACgCUEG3/gA2AgQLA0AgACgCOEEQSQRAIAAoAkRFDR4gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAoAiQEQCAAKAJQKAIkIAAoAjxB/wFxNgIIIAAoAlAoAiQgACgCPEEIdjYCDAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAgACgCPDoADCAAIAAoAjxBCHY6AA0gACgCUCgCHCAAQQxqQQIQGiEBIAAoAlAgATYCHAsgAEEANgI8IABBADYCOCAAKAJQQbj+ADYCBAsCQCAAKAJQKAIUQYAIcQRAA0AgACgCOEEQSQRAIAAoAkRFDR8gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCRCAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIUCwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4DAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AhALCyAAKAJQQbn+ADYCBAsgACgCUCgCFEGACHEEQCAAIAAoAlAoAkQ2AiwgACgCLCAAKAJESwRAIAAgACgCRDYCLAsgACgCLARAAkAgACgCUCgCJEUNACAAKAJQKAIkKAIQRQ0AIAAgACgCUCgCJCgCFCAAKAJQKAJEazYCFCAAKAJQKAIkKAIQIAAoAhRqIAAoAkwCfyAAKAJQKAIkKAIYIAAoAhQgACgCLGpJBEAgACgCUCgCJCgCGCAAKAIUawwBCyAAKAIsCxAZGgsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCUCIBIAEoAkQgACgCLGs2AkQLIAAoAlAoAkQNGwsgACgCUEEANgJEIAAoAlBBuv4ANgIECwJAIAAoAlAoAhRBgBBxBEAgACgCREUNGyAAQQA2AiwDQCAAKAJMIQEgACAAKAIsIgJBAWo2AiwgACABIAJqLQAANgIUAkAgACgCUCgCJEUNACAAKAJQKAIkKAIcRQ0AIAAoAlAoAkQgACgCUCgCJCgCIE8NACAAKAIUIQIgACgCUCgCJCgCHCEDIAAoAlAiBCgCRCEBIAQgAUEBajYCRCABIANqIAI6AAALIAAoAhQEfyAAKAIsIAAoAkRJBUEAC0EBcQ0ACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACgCUCgCHCAAKAJMIAAoAiwQGiEBIAAoAlAgATYCHAsgACAAKAJEIAAoAixrNgJEIAAgACgCLCAAKAJMajYCTCAAKAIUDRsMAQsgACgCUCgCJARAIAAoAlAoAiRBADYCHAsLIAAoAlBBADYCRCAAKAJQQbv+ADYCBAsCQCAAKAJQKAIUQYAgcQRAIAAoAkRFDRogAEEANgIsA0AgACgCTCEBIAAgACgCLCICQQFqNgIsIAAgASACai0AADYCFAJAIAAoAlAoAiRFDQAgACgCUCgCJCgCJEUNACAAKAJQKAJEIAAoAlAoAiQoAihPDQAgACgCFCECIAAoAlAoAiQoAiQhAyAAKAJQIgQoAkQhASAEIAFBAWo2AkQgASADaiACOgAACyAAKAIUBH8gACgCLCAAKAJESQVBAAtBAXENAAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCFA0aDAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AiQLCyAAKAJQQbz+ADYCBAsgACgCUCgCFEGABHEEQANAIAAoAjhBEEkEQCAAKAJERQ0aIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCwJAIAAoAlAoAgxBBHFFDQAgACgCPCAAKAJQKAIcQf//A3FGDQAgACgCWEH7DDYCGCAAKAJQQdH+ADYCBAwaCyAAQQA2AjwgAEEANgI4CyAAKAJQKAIkBEAgACgCUCgCJCAAKAJQKAIUQQl1QQFxNgIsIAAoAlAoAiRBATYCMAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQMGAsDQCAAKAI4QSBJBEAgACgCREUNGCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoiATYCHCAAKAJYIAE2AjAgAEEANgI8IABBADYCOCAAKAJQQb7+ADYCBAsgACgCUCgCEEUEQCAAKAJYIAAoAkg2AgwgACgCWCAAKAJANgIQIAAoAlggACgCTDYCACAAKAJYIAAoAkQ2AgQgACgCUCAAKAI8NgI8IAAoAlAgACgCODYCQCAAQQI2AlwMGAtBAEEAQQAQPiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQLIAAoAlRBBUYNFCAAKAJUQQZGDRQLIAAoAlAoAggEQCAAIAAoAjwgACgCOEEHcXY2AjwgACAAKAI4IAAoAjhBB3FrNgI4IAAoAlBBzv4ANgIEDBULA0AgACgCOEEDSQRAIAAoAkRFDRUgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPEEBcTYCCCAAIAAoAjxBAXY2AjwgACAAKAI4QQFrNgI4AkACQAJAAkACQCAAKAI8QQNxDgQAAQIDBAsgACgCUEHB/gA2AgQMAwsjAEEQayIBIAAoAlA2AgwgASgCDEGw8gA2AlAgASgCDEEJNgJYIAEoAgxBsIIBNgJUIAEoAgxBBTYCXCAAKAJQQcf+ADYCBCAAKAJUQQZGBEAgACAAKAI8QQJ2NgI8IAAgACgCOEECazYCOAwXCwwCCyAAKAJQQcT+ADYCBAwBCyAAKAJYQfANNgIYIAAoAlBB0f4ANgIECyAAIAAoAjxBAnY2AjwgACAAKAI4QQJrNgI4DBQLIAAgACgCPCAAKAI4QQdxdjYCPCAAIAAoAjggACgCOEEHcWs2AjgDQCAAKAI4QSBJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPEH//wNxIAAoAjxBEHZB//8Dc0cEQCAAKAJYQaEKNgIYIAAoAlBB0f4ANgIEDBQLIAAoAlAgACgCPEH//wNxNgJEIABBADYCPCAAQQA2AjggACgCUEHC/gA2AgQgACgCVEEGRg0SCyAAKAJQQcP+ADYCBAsgACAAKAJQKAJENgIsIAAoAiwEQCAAKAIsIAAoAkRLBEAgACAAKAJENgIsCyAAKAIsIAAoAkBLBEAgACAAKAJANgIsCyAAKAIsRQ0RIAAoAkggACgCTCAAKAIsEBkaIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACAAKAJAIAAoAixrNgJAIAAgACgCLCAAKAJIajYCSCAAKAJQIgEgASgCRCAAKAIsazYCRAwSCyAAKAJQQb/+ADYCBAwRCwNAIAAoAjhBDkkEQCAAKAJERQ0RIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIAAoAjxBH3FBgQJqNgJkIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QR9xQQFqNgJoIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QQ9xQQRqNgJgIAAgACgCPEEEdjYCPCAAIAAoAjhBBGs2AjgCQCAAKAJQKAJkQZ4CTQRAIAAoAlAoAmhBHk0NAQsgACgCWEH9CTYCGCAAKAJQQdH+ADYCBAwRCyAAKAJQQQA2AmwgACgCUEHF/gA2AgQLA0AgACgCUCgCbCAAKAJQKAJgSQRAA0AgACgCOEEDSQRAIAAoAkRFDRIgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAjxBB3EhAiAAKAJQQfQAaiEDIAAoAlAiBCgCbCEBIAQgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgA2ogAjsBACAAIAAoAjxBA3Y2AjwgACAAKAI4QQNrNgI4DAELCwNAIAAoAlAoAmxBE0kEQCAAKAJQQfQAaiECIAAoAlAiAygCbCEBIAMgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgAmpBADsBAAwBCwsgACgCUCAAKAJQQbQKajYCcCAAKAJQIAAoAlAoAnA2AlAgACgCUEEHNgJYIABBACAAKAJQQfQAakETIAAoAlBB8ABqIAAoAlBB2ABqIAAoAlBB9AVqEHc2AhAgACgCEARAIAAoAlhBhwk2AhggACgCUEHR/gA2AgQMEAsgACgCUEEANgJsIAAoAlBBxv4ANgIECwNAAkAgACgCUCgCbCAAKAJQKAJkIAAoAlAoAmhqTw0AA0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDREgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC8BIkEQSQRAIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggAC8BIiECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwJAIAAvASJBEEYEQANAIAAoAjggAC0AIUECakkEQCAAKAJERQ0UIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAoAmxFBEAgACgCWEHPCTYCGCAAKAJQQdH+ADYCBAwECyAAIAAoAlAgACgCUCgCbEEBdGovAXI2AhQgACAAKAI8QQNxQQNqNgIsIAAgACgCPEECdjYCPCAAIAAoAjhBAms2AjgMAQsCQCAALwEiQRFGBEADQCAAKAI4IAAtACFBA2pJBEAgACgCREUNFSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8QQdxQQNqNgIsIAAgACgCPEEDdjYCPCAAIAAoAjhBA2s2AjgMAQsDQCAAKAI4IAAtACFBB2pJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8Qf8AcUELajYCLCAAIAAoAjxBB3Y2AjwgACAAKAI4QQdrNgI4CwsgACgCUCgCbCAAKAIsaiAAKAJQKAJkIAAoAlAoAmhqSwRAIAAoAlhBzwk2AhggACgCUEHR/gA2AgQMAgsDQCAAIAAoAiwiAUEBazYCLCABBEAgACgCFCECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwsLDAELCyAAKAJQKAIEQdH+AEYNDiAAKAJQLwH0BEUEQCAAKAJYQfULNgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUEG0Cmo2AnAgACgCUCAAKAJQKAJwNgJQIAAoAlBBCTYCWCAAQQEgACgCUEH0AGogACgCUCgCZCAAKAJQQfAAaiAAKAJQQdgAaiAAKAJQQfQFahB3NgIQIAAoAhAEQCAAKAJYQesINgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUCgCcDYCVCAAKAJQQQY2AlwgAEECIAAoAlBB9ABqIAAoAlAoAmRBAXRqIAAoAlAoAmggACgCUEHwAGogACgCUEHcAGogACgCUEH0BWoQdzYCECAAKAIQBEAgACgCWEG5CTYCGCAAKAJQQdH+ADYCBAwPCyAAKAJQQcf+ADYCBCAAKAJUQQZGDQ0LIAAoAlBByP4ANgIECwJAIAAoAkRBBkkNACAAKAJAQYICSQ0AIAAoAlggACgCSDYCDCAAKAJYIAAoAkA2AhAgACgCWCAAKAJMNgIAIAAoAlggACgCRDYCBCAAKAJQIAAoAjw2AjwgACgCUCAAKAI4NgJAIAAoAjAhAiMAQeAAayIBIAAoAlg2AlwgASACNgJYIAEgASgCXCgCHDYCVCABIAEoAlwoAgA2AlAgASABKAJQIAEoAlwoAgRBBWtqNgJMIAEgASgCXCgCDDYCSCABIAEoAkggASgCWCABKAJcKAIQa2s2AkQgASABKAJIIAEoAlwoAhBBgQJrajYCQCABIAEoAlQoAiw2AjwgASABKAJUKAIwNgI4IAEgASgCVCgCNDYCNCABIAEoAlQoAjg2AjAgASABKAJUKAI8NgIsIAEgASgCVCgCQDYCKCABIAEoAlQoAlA2AiQgASABKAJUKAJUNgIgIAFBASABKAJUKAJYdEEBazYCHCABQQEgASgCVCgCXHRBAWs2AhgDQCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";rG(Nh)||(Nh=CIe(Nh));function UIe(t){try{if(t==Nh&&LS)return new Uint8Array(LS);var e=Uq(t);if(e)return e;if(FS)return FS(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){cr(r)}}function HIe(t,e){var r,i,n;try{n=UIe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Gr("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Gr("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function qIe(){var t={a:YIe};function e(n,s){var o=n.exports;ne.asm=o,uI=ne.asm.u,Xq(uI.buffer),KS=ne.asm.za,KIe(ne.asm.v),HS("wasm-instantiate")}if(eG("wasm-instantiate"),ne.instantiateWasm)try{var r=ne.instantiateWasm(t,e);return r}catch(n){return Gr("Module.instantiateWasm callback failed with error: "+n),!1}var i=HIe(Nh,t);return e(i[0]),ne.asm}var xr,Vs;function TS(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(ne);continue}var r=e.func;typeof r=="number"?e.arg===void 0?KS.get(r)():KS.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function fI(t,e){var r=new Date(Ye[t>>2]*1e3);Ye[e>>2]=r.getUTCSeconds(),Ye[e+4>>2]=r.getUTCMinutes(),Ye[e+8>>2]=r.getUTCHours(),Ye[e+12>>2]=r.getUTCDate(),Ye[e+16>>2]=r.getUTCMonth(),Ye[e+20>>2]=r.getUTCFullYear()-1900,Ye[e+24>>2]=r.getUTCDay(),Ye[e+36>>2]=0,Ye[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[e+28>>2]=n,fI.GMTString||(fI.GMTString=MS("GMT")),Ye[e+40>>2]=fI.GMTString,e}function GIe(t,e){return fI(t,e)}var ut={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=ut.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=ut.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=ut.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return ut.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return ut.normalize(t.join("/"))},join2:function(t,e){return ut.normalize(t+"/"+e)}};function jIe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(wA)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){cr("randomDevice")}}var Xs={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=ut.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=Xs.resolve(t).substr(1),e=Xs.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` +`));if(!e)return null;t.input=YS(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(cI(Ic(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cI(Ic(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Gr(Ic(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Gr(Ic(t.output,0)),t.output=[])}}};function qS(t){for(var e=IIe(t,65536),r=Vq(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&st.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return st.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=st.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),ut.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Ve.flagsForNodeMap)t&r&&(e|=Ve.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Ve.realPath(t),r;try{r=nt.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}return Ve.isWindows&&!r.blksize&&(r.blksize=4096),Ve.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Ve.realPath(t);try{if(e.mode!==void 0&&(nt.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);nt.utimesSync(r,i,i)}e.size!==void 0&&nt.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},lookup:function(t,e){var r=ut.join2(Ve.realPath(t),e),i=Ve.getMode(r);return Ve.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Ve.createNode(t,e,r,i),s=Ve.realPath(n);try{E.isDir(n.mode)?nt.mkdirSync(s,n.mode):nt.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Ve.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Ve.realPath(t),n=ut.join2(Ve.realPath(e),r);try{nt.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Ve.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},rmdir:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},readdir:function(t){var e=Ve.realPath(t);try{return nt.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=ut.join2(Ve.realPath(t),e);try{nt.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},readlink:function(t){var e=Ve.realPath(t);try{return e=nt.readlinkSync(e),e=GS.relative(GS.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Ve.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=nt.openSync(e,Ve.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&nt.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Ve.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=nt.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new E.ErrnoError(28);if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);var o=qS(r);return Ve.stream_ops.read(t,Ai,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);if(n&2)return 0;var s=Ve.stream_ops.write(t,e,0,i,r,!1);return 0}}},iG={lookupPath:function(t){return{path:t,node:{mode:Ve.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?nt.mkdirSync(t,e):nt.writeFileSync(t,"",{mode:e})},mkdir:function(){nt.mkdirSync.apply(void 0,arguments)},symlink:function(){nt.symlinkSync.apply(void 0,arguments)},rename:function(){nt.renameSync.apply(void 0,arguments)},rmdir:function(){nt.rmdirSync.apply(void 0,arguments)},readdir:function(){nt.readdirSync.apply(void 0,arguments)},unlink:function(){nt.unlinkSync.apply(void 0,arguments)},readlink:function(){return nt.readlinkSync.apply(void 0,arguments)},stat:function(){return nt.statSync.apply(void 0,arguments)},lstat:function(){return nt.lstatSync.apply(void 0,arguments)},chmod:function(){nt.chmodSync.apply(void 0,arguments)},fchmod:function(){nt.fchmodSync.apply(void 0,arguments)},chown:function(){nt.chownSync.apply(void 0,arguments)},fchown:function(){nt.fchownSync.apply(void 0,arguments)},truncate:function(){nt.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new E.ErrnoError(28);nt.ftruncateSync.apply(void 0,arguments)},utime:function(){nt.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=bA.modeStringToFlags(e));var n=nt.openSync(t,Ve.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||nt.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return bA.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=nt.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(yc.EINVAL);if(i<0)throw new E.ErrnoError(yc.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return bA.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return bA.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(yc.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return bA.mmap(t,e,r,i,n,s);if(e!==0)throw new E.ErrnoError(28);var o=qS(r);return E.read(t,Ai,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?bA.msync(t,e,r,i,n):(n&2||E.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(yc.ENOTTY)}},E={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=Xs.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=ut.normalizeArray(t.split("/").filter(function(h){return!!h}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){var n=new E.FSNode(t,e,r,i);return E.hashAddNode(n),n},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&Gr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=ut.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||h<0)){var f=h%this.chunkSize,p=h/this.chunkSize|0;return this.getter(p)[f]}},s.prototype.setDataGetter=function(h){this.getter=h},s.prototype.cacheLength=function(){var h=new XMLHttpRequest;if(h.open("HEAD",r,!1),h.send(null),!(h.status>=200&&h.status<300||h.status===304))throw new Error("Couldn't load "+r+". Status: "+h.status);var f=Number(h.getResponseHeader("Content-length")),p,m=(p=h.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=h.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=f);var b=function(F,N){if(F>N)throw new Error("invalid range ("+F+", "+N+") or no bytes requested!");if(N>f-1)throw new Error("only "+f+" bytes available! programmer error!");var U=new XMLHttpRequest;if(U.open("GET",r,!1),f!==y&&U.setRequestHeader("Range","bytes="+F+"-"+N),typeof Uint8Array!="undefined"&&(U.responseType="arraybuffer"),U.overrideMimeType&&U.overrideMimeType("text/plain; charset=x-user-defined"),U.send(null),!(U.status>=200&&U.status<300||U.status===304))throw new Error("Couldn't load "+r+". Status: "+U.status);return U.response!==void 0?new Uint8Array(U.response||[]):YS(U.responseText||"",!0)},x=this;x.setDataGetter(function(F){var N=F*y,U=(F+1)*y-1;if(U=Math.min(U,f-1),typeof x.chunks[F]=="undefined"&&(x.chunks[F]=b(N,U)),typeof x.chunks[F]=="undefined")throw new Error("doXHR failed!");return x.chunks[F]}),(I||!f)&&(y=f=1,f=this.getter(0).length,y=f,cI("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=f,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!Kq)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var h=l.stream_ops[g];c[g]=function(){return E.forceLoadFile(l),h.apply(null,arguments)}}),c.read=function(h,f,p,m,I){E.forceLoadFile(l);var y=h.node.contents;if(I>=y.length)return 0;var b=Math.min(y.length-I,m);if(y.slice)for(var x=0;x>2]=i.dev,Ye[r+4>>2]=0,Ye[r+8>>2]=i.ino,Ye[r+12>>2]=i.mode,Ye[r+16>>2]=i.nlink,Ye[r+20>>2]=i.uid,Ye[r+24>>2]=i.gid,Ye[r+28>>2]=i.rdev,Ye[r+32>>2]=0,Vs=[i.size>>>0,(xr=i.size,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[r+40>>2]=Vs[0],Ye[r+44>>2]=Vs[1],Ye[r+48>>2]=4096,Ye[r+52>>2]=i.blocks,Ye[r+56>>2]=i.atime.getTime()/1e3|0,Ye[r+60>>2]=0,Ye[r+64>>2]=i.mtime.getTime()/1e3|0,Ye[r+68>>2]=0,Ye[r+72>>2]=i.ctime.getTime()/1e3|0,Ye[r+76>>2]=0,Vs=[i.ino>>>0,(xr=i.ino,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[r+80>>2]=Vs[0],Ye[r+84>>2]=Vs[1],0},doMsync:function(t,e,r,i,n){var s=Ec.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=ut.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,hI(i)),s=Ai[e+n];return Jq(i,e,r+1),Ai[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=Ye[e+(s*8+4)>>2],l=E.read(t,Ai,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=Ye[e+(s*8+4)>>2],l=E.write(t,Ai,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Qt.varargs+=4;var t=Ye[Qt.varargs-4>>2];return t},getStr:function(t){var e=jq(t);return e},getStreamFromFD:function(t){var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(t,e){return t}};function JIe(t,e){try{return t=Qt.getStr(t),E.chmod(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function zIe(t){return Ye[WIe()>>2]=t,t}function VIe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 0:{var n=Qt.get();if(n<0)return-28;var s;return s=E.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Qt.get();return i.flags|=n,0}case 12:{var n=Qt.get(),o=0;return NS[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return zIe(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&cr(a),-a.errno}}function XIe(t,e){try{var r=Qt.getStreamFromFD(t);return Qt.doStat(E.stat,r.path,e)}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&cr(i),-i.errno}}function ZIe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Qt.get();return Ye[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Qt.get();return E.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:cr("bad ioctl syscall "+e)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&cr(s),-s.errno}}function _Ie(t,e,r){Qt.varargs=r;try{var i=Qt.getStr(t),n=r?Qt.get():0,s=E.open(i,e,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),-o.errno}}function $Ie(t,e){try{return t=Qt.getStr(t),e=Qt.getStr(e),E.rename(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function eEe(t){try{return t=Qt.getStr(t),E.rmdir(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&cr(e),-e.errno}}function tEe(t,e){try{return t=Qt.getStr(t),Qt.doStat(E.stat,t,e)}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function rEe(t){try{return t=Qt.getStr(t),E.unlink(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&cr(e),-e.errno}}function iEe(t,e,r){Ec.copyWithin(t,e,e+r)}function nEe(t){try{return uI.grow(t-OS.byteLength+65535>>>16),Xq(uI.buffer),1}catch(e){}}function sEe(t){var e=Ec.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,PIe(Math.max(t,n),65536)),o=nEe(s);if(o)return!0}return!1}function oEe(t){try{var e=Qt.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),r.errno}}function aEe(t,e){try{var r=Qt.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return Ai[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&cr(n),n.errno}}function AEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doReadv(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),o.errno}}function lEe(t,e,r,i,n){try{var s=Qt.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),Vs=[s.position>>>0,(xr=s.position,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[n>>2]=Vs[0],Ye[n+4>>2]=Vs[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&cr(c),c.errno}}function cEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doWritev(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),o.errno}}function uEe(t){yIe(t)}function gEe(t){var e=Date.now()/1e3|0;return t&&(Ye[t>>2]=e),e}function jS(){if(jS.called)return;jS.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);Ye[fEe()>>2]=s*60,Ye[hEe()>>2]=Number(i!=n);function o(g){var h=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return h?h[1]:"GMT"}var a=o(e),l=o(r),c=MS(a),u=MS(l);n>2]=c,Ye[pI()+4>>2]=u):(Ye[pI()>>2]=u,Ye[pI()+4>>2]=c)}function pEe(t){jS();var e=Date.UTC(Ye[t+20>>2]+1900,Ye[t+16>>2],Ye[t+12>>2],Ye[t+8>>2],Ye[t+4>>2],Ye[t>>2],0),r=new Date(e);Ye[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[t+28>>2]=n,r.getTime()/1e3|0}var nG=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=E.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},dI=292|73,CI=146;Object.defineProperties(nG.prototype,{read:{get:function(){return(this.mode&dI)===dI},set:function(t){t?this.mode|=dI:this.mode&=~dI}},write:{get:function(){return(this.mode&CI)===CI},set:function(t){t?this.mode|=CI:this.mode&=~CI}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}});E.FSNode=nG;E.staticInit();wA&&(nt=Nq,GS=require("path"),Ve.staticInit());var nt,GS;if(wA){sG=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(yc[e.code]):e}}},bA=Object.assign({},E);for(JS in iG)E[JS]=sG(iG[JS])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var sG,bA,JS;function YS(t,e,r){var i=r>0?r:hI(t)+1,n=new Array(i),s=gI(t,n,0,n.length);return e&&(n.length=s),n}var dEe=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(LIe(),QA>0))return;function e(){mI||(mI=!0,ne.calledRun=!0,!qq&&(NIe(),ne.onRuntimeInitialized&&ne.onRuntimeInitialized(),OIe()))}ne.setStatus?(ne.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ne.setStatus("")},1),e()},1)):e()}ne.run=WS;if(ne.preInit)for(typeof ne.preInit=="function"&&(ne.preInit=[ne.preInit]);ne.preInit.length>0;)ne.preInit.pop()();WS()});var lG=C((vXe,AG)=>{"use strict";function mEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function SA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,SA)}mEe(SA,Error);SA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g>",X=pt(">>",!1),ae=">&",ue=pt(">&",!1),we=">",lt=pt(">",!1),ft="<<<",xt=pt("<<<",!1),Sn="<&",di=pt("<&",!1),Zt="<",Vi=pt("<",!1),Wn=function(d){return{type:"argument",segments:[].concat(...d)}},Ka=function(d){return d},rg="'",wo=pt("'",!1),Md=function(d){return[{type:"text",text:d}]},Od='"',Kd=pt('"',!1),ig=function(d){return d},GB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},jB=function(d){return{type:"shell",shell:d,quoted:!0}},Td=function(d){return V(P({type:"variable"},d),{quoted:!0})},Ud=function(d){return{type:"text",text:d}},JB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},Hd=function(d){return{type:"shell",shell:d,quoted:!1}},WB=function(d){return V(P({type:"variable"},d),{quoted:!1})},zB=function(d){return{type:"glob",pattern:d}},Ss="\\",_=pt("\\",!1),Xi=xs(),Ni=function(d){return d},Yd=/^[^']/,qd=Kr(["'"],!0,!1),Ta=function(d){return d.join("")},Gd=/^[^$"]/,jd=Kr(["$",'"'],!0,!1),Sl="-",ng=pt("-",!1),sg="+",Dl=pt("+",!1),Qo=/^[0-9]/,bo=Kr([["0","9"]],!1,!1),VB=".",XB=pt(".",!1),ZB=function(d,Q,k){return{type:"number",value:(d==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},Jd=function(d,Q){return{type:"number",value:(d==="-"?-1:1)*parseInt(Q.join(""))}},Wd=function(d){return P({type:"variable"},d)},_B=function(d){return{type:"variable",name:d}},zd=function(d){return d},Vd="*",Xd=pt("*",!1),$B=function(d,Q){return{type:"multiplication",left:d,right:Q}},ew="/",tw=pt("/",!1),rw=function(d,Q){return{type:"division",left:d,right:Q}},iw=function(d,Q){return{type:"addition",left:d,right:Q}},O=function(d,Q){return{type:"subtraction",left:d,right:Q}},rt="$((",xl=pt("$((",!1),Mi="))",og=pt("))",!1),Oe=function(d){return d},Ua="$(",Zd=pt("$(",!1),uL=function(d){return d},Ha="${",_d=pt("${",!1),Mt=":-",zn=pt(":-",!1),nw=function(d,Q){return{name:d,defaultValue:Q}},$d=":-}",So=pt(":-}",!1),eC=function(d){return{name:d,defaultValue:[]}},Do=function(d){return{name:d}},We="$",sw=pt("$",!1),tC=function(d){return e.isGlobPattern(d)},rC=function(d){return d},iC=/^[a-zA-Z0-9_]/,ag=Kr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Ag=function(){return aw()},lg=/^[$@*?#a-zA-Z0-9_\-]/,Ya=Kr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),qa=/^[(){}<>$|&; \t"']/,ow=Kr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),nC=/^[<>&; \t"']/,sC=Kr(["<",">","&",";"," "," ",'"',"'"],!1,!1),oC=/^[ \t]/,xo=Kr([" "," "],!1,!1),S=0,Ne=0,Ga=[{line:1,column:1}],Ci=0,Pl=[],Se=0,Ds;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function aw(){return t.substring(Ne,S)}function Aw(){return T(Ne,S)}function cg(d,Q){throw Q=Q!==void 0?Q:T(Ne,S),Ce([kl(d)],t.substring(Ne,S),Q)}function hr(d,Q){throw Q=Q!==void 0?Q:T(Ne,S),ye(d,Q)}function pt(d,Q){return{type:"literal",text:d,ignoreCase:Q}}function Kr(d,Q,k){return{type:"class",parts:d,inverted:Q,ignoreCase:k}}function xs(){return{type:"any"}}function aC(){return{type:"end"}}function kl(d){return{type:"other",description:d}}function D(d){var Q=Ga[d],k;if(Q)return Q;for(k=d-1;!Ga[k];)k--;for(Q=Ga[k],Q={line:Q.line,column:Q.column};kCi&&(Ci=S,Pl=[]),Pl.push(d))}function ye(d,Q){return new SA(d,null,null,Q)}function Ce(d,Q,k){return new SA(SA.buildMessage(d,Q),d,Q,k)}function Me(){var d,Q;return d=S,Q=tt(),Q===r&&(Q=null),Q!==r&&(Ne=d,Q=s(Q)),d=Q,d}function tt(){var d,Q,k,Y,ee;if(d=S,Q=lw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();k!==r?(Y=Ps(),Y!==r?(ee=Ot(),ee===r&&(ee=null),ee!==r?(Ne=d,Q=o(Q,Y,ee),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;if(d===r)if(d=S,Q=lw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();k!==r?(Y=Ps(),Y===r&&(Y=null),Y!==r?(Ne=d,Q=a(Q,Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;return d}function Ot(){var d,Q,k,Y,ee;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=tt(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=l(k),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;return d}function Ps(){var d;return t.charCodeAt(S)===59?(d=c,S++):(d=r,Se===0&&q(u)),d===r&&(t.charCodeAt(S)===38?(d=g,S++):(d=r,Se===0&&q(h))),d}function lw(){var d,Q,k;return d=S,Q=gL(),Q!==r?(k=Qoe(),k===r&&(k=null),k!==r?(Ne=d,Q=f(Q,k),d=Q):(S=d,d=r)):(S=d,d=r),d}function Qoe(){var d,Q,k,Y,ee,xe,Pt;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=boe(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=lw(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=p(k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;return d}function boe(){var d;return t.substr(S,2)===m?(d=m,S+=2):(d=r,Se===0&&q(I)),d===r&&(t.substr(S,2)===y?(d=y,S+=2):(d=r,Se===0&&q(b))),d}function gL(){var d,Q,k;return d=S,Q=xoe(),Q!==r?(k=Soe(),k===r&&(k=null),k!==r?(Ne=d,Q=x(Q,k),d=Q):(S=d,d=r)):(S=d,d=r),d}function Soe(){var d,Q,k,Y,ee,xe,Pt;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=Doe(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=gL(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=F(k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;return d}function Doe(){var d;return t.substr(S,2)===N?(d=N,S+=2):(d=r,Se===0&&q(U)),d===r&&(t.charCodeAt(S)===124?(d=v,S++):(d=r,Se===0&&q(J))),d}function AC(){var d,Q,k,Y,ee,xe;if(d=S,Q=EL(),Q!==r)if(t.charCodeAt(S)===61?(k=oe,S++):(k=r,Se===0&&q(K)),k!==r)if(Y=fL(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(Ne=d,Q=A(Q,Y),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;else S=d,d=r;if(d===r)if(d=S,Q=EL(),Q!==r)if(t.charCodeAt(S)===61?(k=oe,S++):(k=r,Se===0&&q(K)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=W(Q),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;return d}function xoe(){var d,Q,k,Y,ee,xe,Pt,vl,Tr,mi,Po;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(t.charCodeAt(S)===40?(k=$,S++):(k=r,Se===0&&q(re)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=tt(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();if(xe!==r)if(t.charCodeAt(S)===41?(Pt=H,S++):(Pt=r,Se===0&&q(R)),Pt!==r){for(vl=[],Tr=Qe();Tr!==r;)vl.push(Tr),Tr=Qe();if(vl!==r){for(Tr=[],mi=ug();mi!==r;)Tr.push(mi),mi=ug();if(Tr!==r){for(mi=[],Po=Qe();Po!==r;)mi.push(Po),Po=Qe();mi!==r?(Ne=d,Q=Pe(ee,Tr),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(t.charCodeAt(S)===123?(k=Le,S++):(k=r,Se===0&&q(Ge)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=tt(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();if(xe!==r)if(t.charCodeAt(S)===125?(Pt=Ke,S++):(Pt=r,Se===0&&q(ie)),Pt!==r){for(vl=[],Tr=Qe();Tr!==r;)vl.push(Tr),Tr=Qe();if(vl!==r){for(Tr=[],mi=ug();mi!==r;)Tr.push(mi),mi=ug();if(Tr!==r){for(mi=[],Po=Qe();Po!==r;)mi.push(Po),Po=Qe();mi!==r?(Ne=d,Q=le(ee,Tr),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){for(k=[],Y=AC();Y!==r;)k.push(Y),Y=AC();if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r){if(ee=[],xe=hL(),xe!==r)for(;xe!==r;)ee.push(xe),xe=hL();else ee=r;if(ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=be(k,ee),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r}else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){if(k=[],Y=AC(),Y!==r)for(;Y!==r;)k.push(Y),Y=AC();else k=r;if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=he(k),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}}}return d}function Poe(){var d,Q,k,Y,ee;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){if(k=[],Y=lC(),Y!==r)for(;Y!==r;)k.push(Y),Y=lC();else k=r;if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=Ie(k),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r;return d}function hL(){var d,Q,k;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r?(k=ug(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r),d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();Q!==r?(k=lC(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r)}return d}function ug(){var d,Q,k,Y;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();return Q!==r?(k=koe(),k!==r?(Y=lC(),Y!==r?(Ne=d,Q=ve(k,Y),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function koe(){var d;return t.substr(S,2)===Z?(d=Z,S+=2):(d=r,Se===0&&q(X)),d===r&&(t.substr(S,2)===ae?(d=ae,S+=2):(d=r,Se===0&&q(ue)),d===r&&(t.charCodeAt(S)===62?(d=we,S++):(d=r,Se===0&&q(lt)),d===r&&(t.substr(S,3)===ft?(d=ft,S+=3):(d=r,Se===0&&q(xt)),d===r&&(t.substr(S,2)===Sn?(d=Sn,S+=2):(d=r,Se===0&&q(di)),d===r&&(t.charCodeAt(S)===60?(d=Zt,S++):(d=r,Se===0&&q(Vi))))))),d}function lC(){var d,Q,k;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();return Q!==r?(k=fL(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r),d}function fL(){var d,Q,k;if(d=S,Q=[],k=pL(),k!==r)for(;k!==r;)Q.push(k),k=pL();else Q=r;return Q!==r&&(Ne=d,Q=Wn(Q)),d=Q,d}function pL(){var d,Q;return d=S,Q=voe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q,d===r&&(d=S,Q=Foe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q,d===r&&(d=S,Q=Roe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q)),d}function voe(){var d,Q,k,Y;return d=S,t.charCodeAt(S)===39?(Q=rg,S++):(Q=r,Se===0&&q(wo)),Q!==r?(k=Loe(),k!==r?(t.charCodeAt(S)===39?(Y=rg,S++):(Y=r,Se===0&&q(wo)),Y!==r?(Ne=d,Q=Md(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function Foe(){var d,Q,k,Y;if(d=S,t.charCodeAt(S)===34?(Q=Od,S++):(Q=r,Se===0&&q(Kd)),Q!==r){for(k=[],Y=dL();Y!==r;)k.push(Y),Y=dL();k!==r?(t.charCodeAt(S)===34?(Y=Od,S++):(Y=r,Se===0&&q(Kd)),Y!==r?(Ne=d,Q=ig(k),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;return d}function Roe(){var d,Q,k;if(d=S,Q=[],k=CL(),k!==r)for(;k!==r;)Q.push(k),k=CL();else Q=r;return Q!==r&&(Ne=d,Q=ig(Q)),d=Q,d}function dL(){var d,Q;return d=S,Q=mL(),Q!==r&&(Ne=d,Q=GB(Q)),d=Q,d===r&&(d=S,Q=IL(),Q!==r&&(Ne=d,Q=jB(Q)),d=Q,d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=Td(Q)),d=Q,d===r&&(d=S,Q=Noe(),Q!==r&&(Ne=d,Q=Ud(Q)),d=Q))),d}function CL(){var d,Q;return d=S,Q=mL(),Q!==r&&(Ne=d,Q=JB(Q)),d=Q,d===r&&(d=S,Q=IL(),Q!==r&&(Ne=d,Q=Hd(Q)),d=Q,d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=WB(Q)),d=Q,d===r&&(d=S,Q=Ooe(),Q!==r&&(Ne=d,Q=zB(Q)),d=Q,d===r&&(d=S,Q=Moe(),Q!==r&&(Ne=d,Q=Ud(Q)),d=Q)))),d}function Loe(){var d,Q,k,Y,ee;for(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Yd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(qd)));k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Yd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(qd)));return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function Noe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Gd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(jd))),k!==r)for(;k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Gd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(jd)));else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function Moe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(k=S,Y=S,Se++,ee=yL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(k=S,Y=S,Se++,ee=yL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r));else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function cw(){var d,Q,k,Y,ee,xe;if(d=S,t.charCodeAt(S)===45?(Q=Sl,S++):(Q=r,Se===0&&q(ng)),Q===r&&(t.charCodeAt(S)===43?(Q=sg,S++):(Q=r,Se===0&&q(Dl))),Q===r&&(Q=null),Q!==r){if(k=[],Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo)),Y!==r)for(;Y!==r;)k.push(Y),Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo));else k=r;if(k!==r)if(t.charCodeAt(S)===46?(Y=VB,S++):(Y=r,Se===0&&q(XB)),Y!==r){if(ee=[],Qo.test(t.charAt(S))?(xe=t.charAt(S),S++):(xe=r,Se===0&&q(bo)),xe!==r)for(;xe!==r;)ee.push(xe),Qo.test(t.charAt(S))?(xe=t.charAt(S),S++):(xe=r,Se===0&&q(bo));else ee=r;ee!==r?(Ne=d,Q=ZB(Q,k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,t.charCodeAt(S)===45?(Q=Sl,S++):(Q=r,Se===0&&q(ng)),Q===r&&(t.charCodeAt(S)===43?(Q=sg,S++):(Q=r,Se===0&&q(Dl))),Q===r&&(Q=null),Q!==r){if(k=[],Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo)),Y!==r)for(;Y!==r;)k.push(Y),Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo));else k=r;k!==r?(Ne=d,Q=Jd(Q,k),d=Q):(S=d,d=r)}else S=d,d=r;if(d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=Wd(Q)),d=Q,d===r&&(d=S,Q=hg(),Q!==r&&(Ne=d,Q=_B(Q)),d=Q,d===r)))if(d=S,t.charCodeAt(S)===40?(Q=$,S++):(Q=r,Se===0&&q(re)),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(Y=cC(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(t.charCodeAt(S)===41?(xe=H,S++):(xe=r,Se===0&&q(R)),xe!==r?(Ne=d,Q=zd(Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r}return d}function gg(){var d,Q,k,Y,ee,xe;if(d=S,Q=cw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===42?(Y=Vd,S++):(Y=r,Se===0&&q(Xd)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=gg(),xe!==r?(Ne=d,Q=$B(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,Q=cw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===47?(Y=ew,S++):(Y=r,Se===0&&q(tw)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=gg(),xe!==r?(Ne=d,Q=rw(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;d===r&&(d=cw())}return d}function cC(){var d,Q,k,Y,ee,xe;if(d=S,Q=gg(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===43?(Y=sg,S++):(Y=r,Se===0&&q(Dl)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=cC(),xe!==r?(Ne=d,Q=iw(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,Q=gg(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===45?(Y=Sl,S++):(Y=r,Se===0&&q(ng)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=cC(),xe!==r?(Ne=d,Q=O(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;d===r&&(d=gg())}return d}function mL(){var d,Q,k,Y,ee,xe;if(d=S,t.substr(S,3)===rt?(Q=rt,S+=3):(Q=r,Se===0&&q(xl)),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(Y=cC(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(t.substr(S,2)===Mi?(xe=Mi,S+=2):(xe=r,Se===0&&q(og)),xe!==r?(Ne=d,Q=Oe(Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;return d}function IL(){var d,Q,k,Y;return d=S,t.substr(S,2)===Ua?(Q=Ua,S+=2):(Q=r,Se===0&&q(Zd)),Q!==r?(k=tt(),k!==r?(t.charCodeAt(S)===41?(Y=H,S++):(Y=r,Se===0&&q(R)),Y!==r?(Ne=d,Q=uL(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function uw(){var d,Q,k,Y,ee,xe;return d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.substr(S,2)===Mt?(Y=Mt,S+=2):(Y=r,Se===0&&q(zn)),Y!==r?(ee=Poe(),ee!==r?(t.charCodeAt(S)===125?(xe=Ke,S++):(xe=r,Se===0&&q(ie)),xe!==r?(Ne=d,Q=nw(k,ee),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.substr(S,3)===$d?(Y=$d,S+=3):(Y=r,Se===0&&q(So)),Y!==r?(Ne=d,Q=eC(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.charCodeAt(S)===125?(Y=Ke,S++):(Y=r,Se===0&&q(ie)),Y!==r?(Ne=d,Q=Do(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.charCodeAt(S)===36?(Q=We,S++):(Q=r,Se===0&&q(sw)),Q!==r?(k=hg(),k!==r?(Ne=d,Q=Do(k),d=Q):(S=d,d=r)):(S=d,d=r)))),d}function Ooe(){var d,Q,k;return d=S,Q=Koe(),Q!==r?(Ne=S,k=tC(Q),k?k=void 0:k=r,k!==r?(Ne=d,Q=rC(Q),d=Q):(S=d,d=r)):(S=d,d=r),d}function Koe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,Y=S,Se++,ee=BL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=S,Y=S,Se++,ee=BL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r);else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function EL(){var d,Q,k;if(d=S,Q=[],iC.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(ag)),k!==r)for(;k!==r;)Q.push(k),iC.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(ag));else Q=r;return Q!==r&&(Ne=d,Q=Ag()),d=Q,d}function hg(){var d,Q,k;if(d=S,Q=[],lg.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(Ya)),k!==r)for(;k!==r;)Q.push(k),lg.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(Ya));else Q=r;return Q!==r&&(Ne=d,Q=Ag()),d=Q,d}function yL(){var d;return qa.test(t.charAt(S))?(d=t.charAt(S),S++):(d=r,Se===0&&q(ow)),d}function BL(){var d;return nC.test(t.charAt(S))?(d=t.charAt(S),S++):(d=r,Se===0&&q(sC)),d}function Qe(){var d,Q;if(d=[],oC.test(t.charAt(S))?(Q=t.charAt(S),S++):(Q=r,Se===0&&q(xo)),Q!==r)for(;Q!==r;)d.push(Q),oC.test(t.charAt(S))?(Q=t.charAt(S),S++):(Q=r,Se===0&&q(xo));else d=r;return d}if(Ds=n(),Ds!==r&&S===t.length)return Ds;throw Ds!==r&&S{"use strict";function EEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function DA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,DA)}EEe(DA,Error);DA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;gN&&(N=b,U=[]),U.push(Z))}function ie(Z,X){return new DA(Z,null,null,X)}function le(Z,X,ae){return new DA(DA.buildMessage(Z,X),Z,X,ae)}function be(){var Z,X,ae,ue;return Z=b,X=he(),X!==r?(t.charCodeAt(b)===47?(ae=s,b++):(ae=r,v===0&&Ke(o)),ae!==r?(ue=he(),ue!==r?(x=Z,X=a(X,ue),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=he(),X!==r&&(x=Z,X=l(X)),Z=X),Z}function he(){var Z,X,ae,ue;return Z=b,X=Ie(),X!==r?(t.charCodeAt(b)===64?(ae=c,b++):(ae=r,v===0&&Ke(u)),ae!==r?(ue=ve(),ue!==r?(x=Z,X=g(X,ue),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=Ie(),X!==r&&(x=Z,X=h(X)),Z=X),Z}function Ie(){var Z,X,ae,ue,we;return Z=b,t.charCodeAt(b)===64?(X=c,b++):(X=r,v===0&&Ke(u)),X!==r?(ae=pe(),ae!==r?(t.charCodeAt(b)===47?(ue=s,b++):(ue=r,v===0&&Ke(o)),ue!==r?(we=pe(),we!==r?(x=Z,X=f(),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=pe(),X!==r&&(x=Z,X=f()),Z=X),Z}function pe(){var Z,X,ae;if(Z=b,X=[],p.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(m)),ae!==r)for(;ae!==r;)X.push(ae),p.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(m));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}function ve(){var Z,X,ae;if(Z=b,X=[],I.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(y)),ae!==r)for(;ae!==r;)X.push(ae),I.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(y));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}if(J=n(),J!==r&&b===t.length)return J;throw J!==r&&b{"use strict";function fG(t){return typeof t=="undefined"||t===null}function BEe(t){return typeof t=="object"&&t!==null}function wEe(t){return Array.isArray(t)?t:fG(t)?[]:[t]}function QEe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Kh(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Kh.prototype=Object.create(Error.prototype);Kh.prototype.constructor=Kh;Kh.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};pG.exports=Kh});var mG=C((VXe,dG)=>{"use strict";var CG=PA();function eD(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}eD.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),CG.repeat(" ",e)+i+a+s+` +`+CG.repeat(" ",e+this.position-n+i.length)+"^"};eD.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};dG.exports=eD});var Er=C((XXe,IG)=>{"use strict";var EG=bc(),DEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],xEe=["scalar","sequence","mapping"];function PEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(DEe.indexOf(r)===-1)throw new EG('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=PEe(e.styleAliases||null),xEe.indexOf(this.kind)===-1)throw new EG('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}IG.exports=kEe});var kA=C((ZXe,yG)=>{"use strict";var BG=PA(),bI=bc(),vEe=Er();function tD(t,e,r){var i=[];return t.include.forEach(function(n){r=tD(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function FEe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var REe=Er();wG.exports=new REe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var SG=C(($Xe,bG)=>{"use strict";var LEe=Er();bG.exports=new LEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var xG=C((e7e,DG)=>{"use strict";var NEe=Er();DG.exports=new NEe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var SI=C((t7e,PG)=>{"use strict";var MEe=kA();PG.exports=new MEe({explicit:[QG(),SG(),xG()]})});var vG=C((r7e,kG)=>{"use strict";var OEe=Er();function KEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function TEe(){return null}function UEe(t){return t===null}kG.exports=new OEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:KEe,construct:TEe,predicate:UEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var RG=C((i7e,FG)=>{"use strict";var HEe=Er();function YEe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function qEe(t){return t==="true"||t==="True"||t==="TRUE"}function GEe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}FG.exports=new HEe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:YEe,construct:qEe,predicate:GEe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var NG=C((n7e,LG)=>{"use strict";var jEe=PA(),JEe=Er();function WEe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function zEe(t){return 48<=t&&t<=55}function VEe(t){return 48<=t&&t<=57}function XEe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var KG=C((s7e,MG)=>{"use strict";var OG=PA(),$Ee=Er(),eye=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tye(t){return!(t===null||!eye.test(t)||t[t.length-1]==="_")}function rye(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var iye=/^[-+]?[0-9]+e/;function nye(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(OG.isNegativeZero(t))return"-0.0";return r=t.toString(10),iye.test(r)?r.replace("e",".e"):r}function sye(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||OG.isNegativeZero(t))}MG.exports=new $Ee("tag:yaml.org,2002:float",{kind:"scalar",resolve:tye,construct:rye,predicate:sye,represent:nye,defaultStyle:"lowercase"})});var rD=C((o7e,TG)=>{"use strict";var oye=kA();TG.exports=new oye({include:[SI()],implicit:[vG(),RG(),NG(),KG()]})});var iD=C((a7e,UG)=>{"use strict";var aye=kA();UG.exports=new aye({include:[rD()]})});var GG=C((A7e,HG)=>{"use strict";var Aye=Er(),YG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),qG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lye(t){return t===null?!1:YG.exec(t)!==null||qG.exec(t)!==null}function cye(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,h;if(e=YG.exec(t),e===null&&(e=qG.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),h=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&h.setTime(h.getTime()-c),h}function uye(t){return t.toISOString()}HG.exports=new Aye("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lye,construct:cye,instanceOf:Date,represent:uye})});var JG=C((l7e,jG)=>{"use strict";var gye=Er();function hye(t){return t==="<<"||t===null}jG.exports=new gye("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hye})});var VG=C((c7e,WG)=>{"use strict";var vA;try{zG=require,vA=zG("buffer").Buffer}catch(t){}var zG,fye=Er(),nD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function pye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=nD;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function dye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=nD,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),vA?vA.from?vA.from(a):new vA(a):a}function Cye(t){var e="",r=0,i,n,s=t.length,o=nD;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function mye(t){return vA&&vA.isBuffer(t)}WG.exports=new fye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:pye,construct:dye,predicate:mye,represent:Cye})});var ZG=C((u7e,XG)=>{"use strict";var Iye=Er(),Eye=Object.prototype.hasOwnProperty,yye=Object.prototype.toString;function Bye(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var Qye=Er(),bye=Object.prototype.toString;function Sye(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var xye=Er(),Pye=Object.prototype.hasOwnProperty;function kye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Pye.call(r,e)&&r[e]!==null)return!1;return!0}function vye(t){return t!==null?t:{}}ej.exports=new xye("tag:yaml.org,2002:set",{kind:"mapping",resolve:kye,construct:vye})});var Dc=C((f7e,rj)=>{"use strict";var Fye=kA();rj.exports=new Fye({include:[iD()],implicit:[GG(),JG()],explicit:[VG(),ZG(),$G(),tj()]})});var nj=C((p7e,ij)=>{"use strict";var Rye=Er();function Lye(){return!0}function Nye(){}function Mye(){return""}function Oye(t){return typeof t=="undefined"}ij.exports=new Rye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Lye,construct:Nye,predicate:Oye,represent:Mye})});var oj=C((d7e,sj)=>{"use strict";var Kye=Er();function Tye(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Uye(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Hye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Yye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}sj.exports=new Kye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Tye,construct:Uye,predicate:Yye,represent:Hye})});var lj=C((C7e,aj)=>{"use strict";var DI;try{Aj=require,DI=Aj("esprima")}catch(t){typeof window!="undefined"&&(DI=window.esprima)}var Aj,qye=Er();function Gye(t){if(t===null)return!1;try{var e="("+t+")",r=DI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function jye(t){var e="("+t+")",r=DI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Jye(t){return t.toString()}function Wye(t){return Object.prototype.toString.call(t)==="[object Function]"}aj.exports=new qye("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Gye,construct:jye,predicate:Wye,represent:Jye})});var Th=C((m7e,cj)=>{"use strict";var uj=kA();cj.exports=uj.DEFAULT=new uj({include:[Dc()],explicit:[nj(),oj(),lj()]})});var kj=C((I7e,Uh)=>{"use strict";var Zs=PA(),gj=bc(),zye=mG(),hj=Dc(),Vye=Th(),ta=Object.prototype.hasOwnProperty,xI=1,fj=2,pj=3,PI=4,sD=1,Xye=2,dj=3,Zye=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,_ye=/[\x85\u2028\u2029]/,$ye=/[,\[\]\{\}]/,Cj=/^(?:!|!!|![a-z\-]+!)$/i,mj=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ij(t){return Object.prototype.toString.call(t)}function os(t){return t===10||t===13}function FA(t){return t===9||t===32}function Si(t){return t===9||t===32||t===10||t===13}function xc(t){return t===44||t===91||t===93||t===123||t===125}function eBe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function tBe(t){return t===120?2:t===117?4:t===85?8:0}function rBe(t){return 48<=t&&t<=57?t-48:-1}function Ej(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function iBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var yj=new Array(256),Bj=new Array(256);for(var Pc=0;Pc<256;Pc++)yj[Pc]=Ej(Pc)?1:0,Bj[Pc]=Ej(Pc);function nBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Vye,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function wj(t,e){return new gj(e,new zye(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function _e(t,e){throw wj(t,e)}function kI(t,e){t.onWarning&&t.onWarning.call(null,wj(t,e))}var Qj={YAML:function(e,r,i){var n,s,o;e.version!==null&&_e(e,"duplication of %YAML directive"),i.length!==1&&_e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&_e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&_e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&kI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&_e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Cj.test(n)||_e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&_e(e,'there is a previously declared suffix for "'+n+'" tag handle'),mj.test(s)||_e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Zs.repeat(` +`,e-1))}function sBe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,h=t.result,f;if(f=t.input.charCodeAt(t.position),Si(f)||xc(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(n=t.input.charCodeAt(t.position+1),Si(n)||r&&xc(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;f!==0;){if(f===58){if(n=t.input.charCodeAt(t.position+1),Si(n)||r&&xc(n))break}else if(f===35){if(i=t.input.charCodeAt(t.position-1),Si(i))break}else{if(t.position===t.lineStart&&vI(t)||r&&xc(f))break;if(os(f))if(l=t.line,c=t.lineStart,u=t.lineIndent,ur(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(ra(t,s,o,!1),aD(t,t.line-l),s=o=t.position,a=!1),FA(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=h,!1)}function oBe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(ra(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else os(r)?(ra(t,i,n,!0),aD(t,ur(t,!1,e)),i=n=t.position):t.position===t.lineStart&&vI(t)?_e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);_e(t,"unexpected end of the stream within a single quoted scalar")}function aBe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),os(a))ur(t,!1,e);else if(a<256&&yj[a])t.result+=Bj[a],t.position++;else if((o=tBe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=eBe(a))>=0?s=(s<<4)+o:_e(t,"expected hexadecimal character");t.result+=iBe(s),t.position++}else _e(t,"unknown escape sequence");r=i=t.position}else os(a)?(ra(t,r,i,!0),aD(t,ur(t,!1,e)),r=i=t.position):t.position===t.lineStart&&vI(t)?_e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}_e(t,"unexpected end of the stream within a double quoted scalar")}function ABe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,h={},f,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(ur(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||_e(t,"missed comma between flow collection entries"),p=f=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),Si(a)&&(c=u=!0,t.position++,ur(t,!0,e))),i=t.line,vc(t,e,xI,!1,!0),p=t.tag,f=t.result,ur(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),ur(t,!0,e),vc(t,e,xI,!1,!0),m=t.result),g?kc(t,s,h,p,f,m):c?s.push(kc(t,null,h,p,f,m)):s.push(f),ur(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}_e(t,"unexpected end of the stream within a flow collection")}function lBe(t,e){var r,i,n=sD,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)sD===n?n=g===43?dj:Xye:_e(t,"repeat of a chomping mode identifier");else if((u=rBe(g))>=0)u===0?_e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?_e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(FA(g)){do g=t.input.charCodeAt(++t.position);while(FA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!os(g)&&g!==0)}for(;g!==0;){for(oD(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),os(g)){l++;continue}if(t.lineIndente)&&l!==0)_e(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(vc(t,e,PI,!0,n)&&(p?h=t.result:f=t.result),p||(kc(t,c,u,g,h,f,s,o),g=h=f=null),ur(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)_e(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,h=t.implicitTypes.length;g tag; it should be "'+f.kind+'", not "'+t.kind+'"'),f.resolve(t.result)?(t.result=f.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):_e(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):_e(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fBe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(ur(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Si(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&_e(t,"directive name must not be less than one character in length");o!==0;){for(;FA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!os(o));break}if(os(o))break;for(r=t.position;o!==0&&!Si(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&oD(t),ta.call(Qj,i)?Qj[i](t,i,n):kI(t,'unknown document directive "'+i+'"')}if(ur(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,ur(t,!0,-1)):s&&_e(t,"directives end mark is expected"),vc(t,t.lineIndent-1,PI,!1,!0),ur(t,!0,-1),t.checkLineBreaks&&_ye.test(t.input.slice(e,t.position))&&kI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&vI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,ur(t,!0,-1));return}if(t.position{"use strict";var Hh=PA(),Yh=bc(),CBe=Th(),mBe=Dc(),vj=Object.prototype.toString,Fj=Object.prototype.hasOwnProperty,IBe=9,qh=10,EBe=13,yBe=32,BBe=33,wBe=34,Rj=35,QBe=37,bBe=38,SBe=39,DBe=42,Lj=44,xBe=45,Nj=58,PBe=61,kBe=62,vBe=63,FBe=64,Mj=91,Oj=93,RBe=96,Kj=123,LBe=124,Tj=125,jr={};jr[0]="\\0";jr[7]="\\a";jr[8]="\\b";jr[9]="\\t";jr[10]="\\n";jr[11]="\\v";jr[12]="\\f";jr[13]="\\r";jr[27]="\\e";jr[34]='\\"';jr[92]="\\\\";jr[133]="\\N";jr[160]="\\_";jr[8232]="\\L";jr[8233]="\\P";var NBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function MBe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,h=h&&Yj(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!Fc(o))return FI;a=s>0?t.charCodeAt(s-1):null,h=h&&Yj(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?h&&!n(t)?Gj:jj:r>9&&qj(t)?FI:c?Wj:Jj}function GBe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NBe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return KBe(t,l)}switch(HBe(e,o,t.indent,s,a)){case Gj:return e;case jj:return"'"+e.replace(/'/g,"''")+"'";case Jj:return"|"+zj(e,t.indent)+Vj(Hj(e,n));case Wj:return">"+zj(e,t.indent)+Vj(Hj(YBe(e,s),n));case FI:return'"'+qBe(e,s)+'"';default:throw new Yh("impossible error: invalid scalar style")}}()}function zj(t,e){var r=qj(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function Vj(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function YBe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,Xj(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+Xj(l,e),n=s}return i}function Xj(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function qBe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Uj((r-55296)*1024+i-56320+65536),s++;continue}n=jr[r],e+=!n&&Fc(r)?t[s]:n||Uj(r)}return e}function jBe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!RA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function zBe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,h;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Yh("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&qh===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,g&&(h+=lD(t,e)),!!RA(t,e+1,u,!0,g)&&(t.dump&&qh===t.dump.charCodeAt(0)?h+=":":h+=": ",h+=t.dump,n+=h));t.tag=s,t.dump=n||"{}"}function Zj(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function RA(t,e,r,i,n,s){t.tag=null,t.dump=r,Zj(t,r,!1)||Zj(t,r,!0);var o=vj.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(zBe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(WBe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(JBe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(jBe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&GBe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Yh("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function VBe(t,e){var r=[],i=[],n,s;for(uD(t,r,i),n=0,s=i.length;n{"use strict";var RI=kj(),eJ=$j();function LI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Er();_t.exports.Schema=kA();_t.exports.FAILSAFE_SCHEMA=SI();_t.exports.JSON_SCHEMA=rD();_t.exports.CORE_SCHEMA=iD();_t.exports.DEFAULT_SAFE_SCHEMA=Dc();_t.exports.DEFAULT_FULL_SCHEMA=Th();_t.exports.load=RI.load;_t.exports.loadAll=RI.loadAll;_t.exports.safeLoad=RI.safeLoad;_t.exports.safeLoadAll=RI.safeLoadAll;_t.exports.dump=eJ.dump;_t.exports.safeDump=eJ.safeDump;_t.exports.YAMLException=bc();_t.exports.MINIMAL_SCHEMA=SI();_t.exports.SAFE_SCHEMA=Dc();_t.exports.DEFAULT_SCHEMA=Th();_t.exports.scan=LI("scan");_t.exports.parse=LI("parse");_t.exports.compose=LI("compose");_t.exports.addConstructor=LI("addConstructor")});var iJ=C((B7e,rJ)=>{"use strict";var ZBe=tJ();rJ.exports=ZBe});var sJ=C((w7e,nJ)=>{"use strict";function _Be(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function LA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,LA)}_Be(LA,Error);LA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g({[ye]:q})))},N=function(D){return D},U=function(D){return D},v=So("correct indentation"),J=" ",oe=Mt(" ",!1),K=function(D){return D.length===kl*aC},A=function(D){return D.length===(kl+1)*aC},W=function(){return kl++,!0},$=function(){return kl--,!0},re=function(){return Zd()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Pe=zn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Le=/^[^\r\n\t ,\][{}:#"']/,Ge=zn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return Zd().replace(/^ *| *$/g,"")},ie="--",le=Mt("--",!1),be=/^[a-zA-Z\/0-9]/,he=zn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=zn(["\r",` +`," "," ",":",","],!0,!1),ve="null",Z=Mt("null",!1),X=function(){return null},ae="true",ue=Mt("true",!1),we=function(){return!0},lt="false",ft=Mt("false",!1),xt=function(){return!1},Sn=So("string"),di='"',Zt=Mt('"',!1),Vi=function(){return""},Wn=function(D){return D},Ka=function(D){return D.join("")},rg=/^[^"\\\0-\x1F\x7F]/,wo=zn(['"',"\\",["\0",""],"\x7F"],!0,!1),Md='\\"',Od=Mt('\\"',!1),Kd=function(){return'"'},ig="\\\\",GB=Mt("\\\\",!1),jB=function(){return"\\"},Td="\\/",Ud=Mt("\\/",!1),JB=function(){return"/"},Hd="\\b",WB=Mt("\\b",!1),zB=function(){return"\b"},Ss="\\f",_=Mt("\\f",!1),Xi=function(){return"\f"},Ni="\\n",Yd=Mt("\\n",!1),qd=function(){return` +`},Ta="\\r",Gd=Mt("\\r",!1),jd=function(){return"\r"},Sl="\\t",ng=Mt("\\t",!1),sg=function(){return" "},Dl="\\u",Qo=Mt("\\u",!1),bo=function(D,T,q,ye){return String.fromCharCode(parseInt(`0x${D}${T}${q}${ye}`))},VB=/^[0-9a-fA-F]/,XB=zn([["0","9"],["a","f"],["A","F"]],!1,!1),ZB=So("blank space"),Jd=/^[ \t]/,Wd=zn([" "," "],!1,!1),_B=So("white space"),zd=/^[ \t\n\r]/,Vd=zn([" "," ",` +`,"\r"],!1,!1),Xd=`\r +`,$B=Mt(`\r +`,!1),ew=` +`,tw=Mt(` +`,!1),rw="\r",iw=Mt("\r",!1),O=0,rt=0,xl=[{line:1,column:1}],Mi=0,og=[],Oe=0,Ua;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "${e.startRule}".`);n=i[e.startRule]}function Zd(){return t.substring(rt,O)}function uL(){return Do(rt,O)}function Ha(D,T){throw T=T!==void 0?T:Do(rt,O),tC([So(D)],t.substring(rt,O),T)}function _d(D,T){throw T=T!==void 0?T:Do(rt,O),sw(D,T)}function Mt(D,T){return{type:"literal",text:D,ignoreCase:T}}function zn(D,T,q){return{type:"class",parts:D,inverted:T,ignoreCase:q}}function nw(){return{type:"any"}}function $d(){return{type:"end"}}function So(D){return{type:"other",description:D}}function eC(D){var T=xl[D],q;if(T)return T;for(q=D-1;!xl[q];)q--;for(T=xl[q],T={line:T.line,column:T.column};qMi&&(Mi=O,og=[]),og.push(D))}function sw(D,T){return new LA(D,null,null,T)}function tC(D,T,q){return new LA(LA.buildMessage(D,T),D,T,q)}function rC(){var D;return D=Ag(),D}function iC(){var D,T,q;for(D=O,T=[],q=ag();q!==r;)T.push(q),q=ag();return T!==r&&(rt=D,T=s(T)),D=T,D}function ag(){var D,T,q,ye,Ce;return D=O,T=qa(),T!==r?(t.charCodeAt(O)===45?(q=o,O++):(q=r,Oe===0&&We(a)),q!==r?(ye=hr(),ye!==r?(Ce=Ya(),Ce!==r?(rt=D,T=l(Ce),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D}function Ag(){var D,T,q;for(D=O,T=[],q=lg();q!==r;)T.push(q),q=lg();return T!==r&&(rt=D,T=c(T)),D=T,D}function lg(){var D,T,q,ye,Ce,Me,tt,Ot,Ps;if(D=O,T=hr(),T===r&&(T=null),T!==r){if(q=O,t.charCodeAt(O)===35?(ye=u,O++):(ye=r,Oe===0&&We(g)),ye!==r){if(Ce=[],Me=O,tt=O,Oe++,Ot=xs(),Oe--,Ot===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Ot=t.charAt(O),O++):(Ot=r,Oe===0&&We(h)),Ot!==r?(tt=[tt,Ot],Me=tt):(O=Me,Me=r)):(O=Me,Me=r),Me!==r)for(;Me!==r;)Ce.push(Me),Me=O,tt=O,Oe++,Ot=xs(),Oe--,Ot===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Ot=t.charAt(O),O++):(Ot=r,Oe===0&&We(h)),Ot!==r?(tt=[tt,Ot],Me=tt):(O=Me,Me=r)):(O=Me,Me=r);else Ce=r;Ce!==r?(ye=[ye,Ce],q=ye):(O=q,q=r)}else O=q,q=r;if(q===r&&(q=null),q!==r){if(ye=[],Ce=Kr(),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=Kr();else ye=r;ye!==r?(rt=D,T=f(),D=T):(O=D,D=r)}else O=D,D=r}else O=D,D=r;if(D===r&&(D=O,T=qa(),T!==r?(q=oC(),q!==r?(ye=hr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&We(m)),Ce!==r?(Me=hr(),Me===r&&(Me=null),Me!==r?(tt=Ya(),tt!==r?(rt=D,T=I(q,tt),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,T=qa(),T!==r?(q=xo(),q!==r?(ye=hr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&We(m)),Ce!==r?(Me=hr(),Me===r&&(Me=null),Me!==r?(tt=Ya(),tt!==r?(rt=D,T=I(q,tt),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r))){if(D=O,T=qa(),T!==r)if(q=xo(),q!==r)if(ye=hr(),ye!==r)if(Ce=Ne(),Ce!==r){if(Me=[],tt=Kr(),tt!==r)for(;tt!==r;)Me.push(tt),tt=Kr();else Me=r;Me!==r?(rt=D,T=I(q,Ce),D=T):(O=D,D=r)}else O=D,D=r;else O=D,D=r;else O=D,D=r;else O=D,D=r;if(D===r)if(D=O,T=qa(),T!==r)if(q=xo(),q!==r){if(ye=[],Ce=O,Me=hr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&We(b)),tt!==r?(Ot=hr(),Ot===r&&(Ot=null),Ot!==r?(Ps=xo(),Ps!==r?(rt=Ce,Me=x(q,Ps),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=O,Me=hr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&We(b)),tt!==r?(Ot=hr(),Ot===r&&(Ot=null),Ot!==r?(Ps=xo(),Ps!==r?(rt=Ce,Me=x(q,Ps),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r);else ye=r;ye!==r?(Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(O)===58?(Me=p,O++):(Me=r,Oe===0&&We(m)),Me!==r?(tt=hr(),tt===r&&(tt=null),tt!==r?(Ot=Ya(),Ot!==r?(rt=D,T=F(q,ye,Ot),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)}else O=D,D=r;else O=D,D=r}return D}function Ya(){var D,T,q,ye,Ce,Me,tt;if(D=O,T=O,Oe++,q=O,ye=xs(),ye!==r?(Ce=ow(),Ce!==r?(t.charCodeAt(O)===45?(Me=o,O++):(Me=r,Oe===0&&We(a)),Me!==r?(tt=hr(),tt!==r?(ye=[ye,Ce,Me,tt],q=ye):(O=q,q=r)):(O=q,q=r)):(O=q,q=r)):(O=q,q=r),Oe--,q!==r?(O=T,T=void 0):T=r,T!==r?(q=Kr(),q!==r?(ye=nC(),ye!==r?(Ce=iC(),Ce!==r?(Me=sC(),Me!==r?(rt=D,T=N(Ce),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,T=xs(),T!==r?(q=nC(),q!==r?(ye=Ag(),ye!==r?(Ce=sC(),Ce!==r?(rt=D,T=N(ye),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r))if(D=O,T=S(),T!==r){if(q=[],ye=Kr(),ye!==r)for(;ye!==r;)q.push(ye),ye=Kr();else q=r;q!==r?(rt=D,T=U(T),D=T):(O=D,D=r)}else O=D,D=r;return D}function qa(){var D,T,q;for(Oe++,D=O,T=[],t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));q!==r;)T.push(q),t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));return T!==r?(rt=O,q=K(T),q?q=void 0:q=r,q!==r?(T=[T,q],D=T):(O=D,D=r)):(O=D,D=r),Oe--,D===r&&(T=r,Oe===0&&We(v)),D}function ow(){var D,T,q;for(D=O,T=[],t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));q!==r;)T.push(q),t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));return T!==r?(rt=O,q=A(T),q?q=void 0:q=r,q!==r?(T=[T,q],D=T):(O=D,D=r)):(O=D,D=r),D}function nC(){var D;return rt=O,D=W(),D?D=void 0:D=r,D}function sC(){var D;return rt=O,D=$(),D?D=void 0:D=r,D}function oC(){var D;return D=Ds(),D===r&&(D=Ga()),D}function xo(){var D,T,q;if(D=Ds(),D===r){if(D=O,T=[],q=Ci(),q!==r)for(;q!==r;)T.push(q),q=Ci();else T=r;T!==r&&(rt=D,T=re()),D=T}return D}function S(){var D;return D=Pl(),D===r&&(D=Se(),D===r&&(D=Ds(),D===r&&(D=Ga()))),D}function Ne(){var D;return D=Pl(),D===r&&(D=Ds(),D===r&&(D=Ci())),D}function Ga(){var D,T,q,ye,Ce,Me;if(Oe++,D=O,R.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Pe)),T!==r){for(q=[],ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&We(Ge)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)q.push(ye),ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&We(Ge)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);q!==r?(rt=D,T=Ke(),D=T):(O=D,D=r)}else O=D,D=r;return Oe--,D===r&&(T=r,Oe===0&&We(H)),D}function Ci(){var D,T,q,ye,Ce;if(D=O,t.substr(O,2)===ie?(T=ie,O+=2):(T=r,Oe===0&&We(le)),T===r&&(T=null),T!==r)if(be.test(t.charAt(O))?(q=t.charAt(O),O++):(q=r,Oe===0&&We(he)),q!==r){for(ye=[],Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&We(pe));Ce!==r;)ye.push(Ce),Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&We(pe));ye!==r?(rt=D,T=Ke(),D=T):(O=D,D=r)}else O=D,D=r;else O=D,D=r;return D}function Pl(){var D,T;return D=O,t.substr(O,4)===ve?(T=ve,O+=4):(T=r,Oe===0&&We(Z)),T!==r&&(rt=D,T=X()),D=T,D}function Se(){var D,T;return D=O,t.substr(O,4)===ae?(T=ae,O+=4):(T=r,Oe===0&&We(ue)),T!==r&&(rt=D,T=we()),D=T,D===r&&(D=O,t.substr(O,5)===lt?(T=lt,O+=5):(T=r,Oe===0&&We(ft)),T!==r&&(rt=D,T=xt()),D=T),D}function Ds(){var D,T,q,ye;return Oe++,D=O,t.charCodeAt(O)===34?(T=di,O++):(T=r,Oe===0&&We(Zt)),T!==r?(t.charCodeAt(O)===34?(q=di,O++):(q=r,Oe===0&&We(Zt)),q!==r?(rt=D,T=Vi(),D=T):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,t.charCodeAt(O)===34?(T=di,O++):(T=r,Oe===0&&We(Zt)),T!==r?(q=aw(),q!==r?(t.charCodeAt(O)===34?(ye=di,O++):(ye=r,Oe===0&&We(Zt)),ye!==r?(rt=D,T=Wn(q),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)),Oe--,D===r&&(T=r,Oe===0&&We(Sn)),D}function aw(){var D,T,q;if(D=O,T=[],q=Aw(),q!==r)for(;q!==r;)T.push(q),q=Aw();else T=r;return T!==r&&(rt=D,T=Ka(T)),D=T,D}function Aw(){var D,T,q,ye,Ce,Me;return rg.test(t.charAt(O))?(D=t.charAt(O),O++):(D=r,Oe===0&&We(wo)),D===r&&(D=O,t.substr(O,2)===Md?(T=Md,O+=2):(T=r,Oe===0&&We(Od)),T!==r&&(rt=D,T=Kd()),D=T,D===r&&(D=O,t.substr(O,2)===ig?(T=ig,O+=2):(T=r,Oe===0&&We(GB)),T!==r&&(rt=D,T=jB()),D=T,D===r&&(D=O,t.substr(O,2)===Td?(T=Td,O+=2):(T=r,Oe===0&&We(Ud)),T!==r&&(rt=D,T=JB()),D=T,D===r&&(D=O,t.substr(O,2)===Hd?(T=Hd,O+=2):(T=r,Oe===0&&We(WB)),T!==r&&(rt=D,T=zB()),D=T,D===r&&(D=O,t.substr(O,2)===Ss?(T=Ss,O+=2):(T=r,Oe===0&&We(_)),T!==r&&(rt=D,T=Xi()),D=T,D===r&&(D=O,t.substr(O,2)===Ni?(T=Ni,O+=2):(T=r,Oe===0&&We(Yd)),T!==r&&(rt=D,T=qd()),D=T,D===r&&(D=O,t.substr(O,2)===Ta?(T=Ta,O+=2):(T=r,Oe===0&&We(Gd)),T!==r&&(rt=D,T=jd()),D=T,D===r&&(D=O,t.substr(O,2)===Sl?(T=Sl,O+=2):(T=r,Oe===0&&We(ng)),T!==r&&(rt=D,T=sg()),D=T,D===r&&(D=O,t.substr(O,2)===Dl?(T=Dl,O+=2):(T=r,Oe===0&&We(Qo)),T!==r?(q=cg(),q!==r?(ye=cg(),ye!==r?(Ce=cg(),Ce!==r?(Me=cg(),Me!==r?(rt=D,T=bo(q,ye,Ce,Me),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)))))))))),D}function cg(){var D;return VB.test(t.charAt(O))?(D=t.charAt(O),O++):(D=r,Oe===0&&We(XB)),D}function hr(){var D,T;if(Oe++,D=[],Jd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Wd)),T!==r)for(;T!==r;)D.push(T),Jd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Wd));else D=r;return Oe--,D===r&&(T=r,Oe===0&&We(ZB)),D}function pt(){var D,T;if(Oe++,D=[],zd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Vd)),T!==r)for(;T!==r;)D.push(T),zd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Vd));else D=r;return Oe--,D===r&&(T=r,Oe===0&&We(_B)),D}function Kr(){var D,T,q,ye,Ce,Me;if(D=O,T=xs(),T!==r){for(q=[],ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Me=xs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)q.push(ye),ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Me=xs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);q!==r?(T=[T,q],D=T):(O=D,D=r)}else O=D,D=r;return D}function xs(){var D;return t.substr(O,2)===Xd?(D=Xd,O+=2):(D=r,Oe===0&&We($B)),D===r&&(t.charCodeAt(O)===10?(D=ew,O++):(D=r,Oe===0&&We(tw)),D===r&&(t.charCodeAt(O)===13?(D=rw,O++):(D=r,Oe===0&&We(iw)))),D}let aC=2,kl=0;if(Ua=n(),Ua!==r&&O===t.length)return Ua;throw Ua!==r&&O{var fwe=typeof global=="object"&&global&&global.Object===Object&&global;kJ.exports=fwe});var On=C((_7e,vJ)=>{var pwe=ID(),dwe=typeof self=="object"&&self&&self.Object===Object&&self,Cwe=pwe||dwe||Function("return this")();vJ.exports=Cwe});var OA=C(($7e,FJ)=>{var mwe=On(),Iwe=mwe.Symbol;FJ.exports=Iwe});var LJ=C((eZe,RJ)=>{function Ewe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var ywe=Array.isArray;NJ.exports=ywe});var TJ=C((rZe,MJ)=>{var OJ=OA(),KJ=Object.prototype,Bwe=KJ.hasOwnProperty,wwe=KJ.toString,Vh=OJ?OJ.toStringTag:void 0;function Qwe(t){var e=Bwe.call(t,Vh),r=t[Vh];try{t[Vh]=void 0;var i=!0}catch(s){}var n=wwe.call(t);return i&&(e?t[Vh]=r:delete t[Vh]),n}MJ.exports=Qwe});var HJ=C((iZe,UJ)=>{var bwe=Object.prototype,Swe=bwe.toString;function Dwe(t){return Swe.call(t)}UJ.exports=Dwe});var KA=C((nZe,YJ)=>{var qJ=OA(),xwe=TJ(),Pwe=HJ(),kwe="[object Null]",vwe="[object Undefined]",GJ=qJ?qJ.toStringTag:void 0;function Fwe(t){return t==null?t===void 0?vwe:kwe:GJ&&GJ in Object(t)?xwe(t):Pwe(t)}YJ.exports=Fwe});var As=C((sZe,jJ)=>{function Rwe(t){return t!=null&&typeof t=="object"}jJ.exports=Rwe});var GI=C((oZe,JJ)=>{var Lwe=KA(),Nwe=As(),Mwe="[object Symbol]";function Owe(t){return typeof t=="symbol"||Nwe(t)&&Lwe(t)==Mwe}JJ.exports=Owe});var _J=C((aZe,WJ)=>{var zJ=OA(),Kwe=LJ(),Twe=fn(),Uwe=GI(),Hwe=1/0,VJ=zJ?zJ.prototype:void 0,XJ=VJ?VJ.toString:void 0;function ZJ(t){if(typeof t=="string")return t;if(Twe(t))return Kwe(t,ZJ)+"";if(Uwe(t))return XJ?XJ.call(t):"";var e=t+"";return e=="0"&&1/t==-Hwe?"-0":e}WJ.exports=ZJ});var Rc=C((AZe,$J)=>{var Ywe=_J();function qwe(t){return t==null?"":Ywe(t)}$J.exports=qwe});var ED=C((lZe,eW)=>{function Gwe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var jwe=ED();function Jwe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:jwe(t,e,r)}tW.exports=Jwe});var yD=C((uZe,iW)=>{var Wwe="\\ud800-\\udfff",zwe="\\u0300-\\u036f",Vwe="\\ufe20-\\ufe2f",Xwe="\\u20d0-\\u20ff",Zwe=zwe+Vwe+Xwe,_we="\\ufe0e\\ufe0f",$we="\\u200d",eQe=RegExp("["+$we+Wwe+Zwe+_we+"]");function tQe(t){return eQe.test(t)}iW.exports=tQe});var sW=C((gZe,nW)=>{function rQe(t){return t.split("")}nW.exports=rQe});var hW=C((hZe,oW)=>{var aW="\\ud800-\\udfff",iQe="\\u0300-\\u036f",nQe="\\ufe20-\\ufe2f",sQe="\\u20d0-\\u20ff",oQe=iQe+nQe+sQe,aQe="\\ufe0e\\ufe0f",AQe="["+aW+"]",BD="["+oQe+"]",wD="\\ud83c[\\udffb-\\udfff]",lQe="(?:"+BD+"|"+wD+")",AW="[^"+aW+"]",lW="(?:\\ud83c[\\udde6-\\uddff]){2}",cW="[\\ud800-\\udbff][\\udc00-\\udfff]",cQe="\\u200d",uW=lQe+"?",gW="["+aQe+"]?",uQe="(?:"+cQe+"(?:"+[AW,lW,cW].join("|")+")"+gW+uW+")*",gQe=gW+uW+uQe,hQe="(?:"+[AW+BD+"?",BD,lW,cW,AQe].join("|")+")",fQe=RegExp(wD+"(?="+wD+")|"+hQe+gQe,"g");function pQe(t){return t.match(fQe)||[]}oW.exports=pQe});var pW=C((fZe,fW)=>{var dQe=sW(),CQe=yD(),mQe=hW();function IQe(t){return CQe(t)?mQe(t):dQe(t)}fW.exports=IQe});var CW=C((pZe,dW)=>{var EQe=rW(),yQe=yD(),BQe=pW(),wQe=Rc();function QQe(t){return function(e){e=wQe(e);var r=yQe(e)?BQe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EQe(r,1).join(""):e.slice(1);return i[t]()+n}}dW.exports=QQe});var IW=C((dZe,mW)=>{var bQe=CW(),SQe=bQe("toUpperCase");mW.exports=SQe});var QD=C((CZe,EW)=>{var DQe=Rc(),xQe=IW();function PQe(t){return xQe(DQe(t).toLowerCase())}EW.exports=PQe});var BW=C((mZe,yW)=>{"use strict";yW.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var jI=C((IZe,bD)=>{"use strict";var kQe=BW(),wW=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kQe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};bD.exports=wW;bD.exports.default=wW});var kW=C((kZe,zI)=>{function vQe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,h=12,f=13,p=14,m=15,I=16,y=17,b=0,x=1,F=2,N=3,U=4;function v(A,W){return 55296<=A.charCodeAt(W)&&A.charCodeAt(W)<=56319&&56320<=A.charCodeAt(W+1)&&A.charCodeAt(W+1)<=57343}function J(A,W){W===void 0&&(W=0);var $=A.charCodeAt(W);if(55296<=$&&$<=56319&&W=1){var re=A.charCodeAt(W-1),H=$;return 55296<=re&&re<=56319?(re-55296)*1024+(H-56320)+65536:H}return $}function oe(A,W,$){var re=[A].concat(W).concat([$]),H=re[re.length-2],R=$,Pe=re.lastIndexOf(p);if(Pe>1&&re.slice(1,Pe).every(function(Ke){return Ke==i})&&[i,f,y].indexOf(A)==-1)return F;var Le=re.lastIndexOf(n);if(Le>0&&re.slice(1,Le).every(function(Ke){return Ke==n})&&[h,n].indexOf(H)==-1)return re.filter(function(Ke){return Ke==n}).length%2==1?N:U;if(H==t&&R==e)return b;if(H==r||H==t||H==e)return R==p&&W.every(function(Ke){return Ke==i})?F:x;if(R==r||R==t||R==e)return x;if(H==o&&(R==o||R==a||R==c||R==u))return b;if((H==c||H==a)&&(R==a||R==l))return b;if((H==u||H==l)&&R==l)return b;if(R==i||R==m)return b;if(R==s)return b;if(H==h)return b;var Ge=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[f,y].indexOf(re[Ge])!=-1&&re.slice(Ge+1,-1).every(function(Ke){return Ke==i})&&R==p||H==m&&[I,y].indexOf(R)!=-1?b:W.indexOf(n)!=-1?F:H==n&&R==n?b:x}this.nextBreak=function(A,W){if(W===void 0&&(W=0),W<0)return 0;if(W>=A.length-1)return A.length;for(var $=K(J(A,W)),re=[],H=W+1;H{var FQe=kW(),RQe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,LQe=new FQe;vW.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RQe)||[t,t,void 0],l=LQe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var Nc=C((i_e,jW)=>{"use strict";var JW=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),r_e=jW.exports=t=>t?Object.keys(t).map(e=>[JW.has(e)?JW.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Mc=C((n_e,WW)=>{"use strict";var zQe=require("events"),zW=require("stream"),_h=eh(),VW=require("string_decoder").StringDecoder,eo=Symbol("EOF"),$h=Symbol("maybeEmitEnd"),oa=Symbol("emittedEnd"),_I=Symbol("emittingEnd"),$I=Symbol("closed"),XW=Symbol("read"),PD=Symbol("flush"),ZW=Symbol("flushChunk"),xi=Symbol("encoding"),to=Symbol("decoder"),eE=Symbol("flowing"),ef=Symbol("paused"),tf=Symbol("resume"),ui=Symbol("bufferLength"),_W=Symbol("bufferPush"),kD=Symbol("bufferShift"),Wr=Symbol("objectMode"),zr=Symbol("destroyed"),$W=global._MP_NO_ITERATOR_SYMBOLS_!=="1",VQe=$W&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),XQe=$W&&Symbol.iterator||Symbol("iterator not implemented"),e3=t=>t==="end"||t==="finish"||t==="prefinish",ZQe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Qe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);WW.exports=class t3 extends zW{constructor(e){super();this[eE]=!1,this[ef]=!1,this.pipes=new _h,this.buffer=new _h,this[Wr]=e&&e.objectMode||!1,this[Wr]?this[xi]=null:this[xi]=e&&e.encoding||null,this[xi]==="buffer"&&(this[xi]=null),this[to]=this[xi]?new VW(this[xi]):null,this[eo]=!1,this[oa]=!1,this[_I]=!1,this[$I]=!1,this.writable=!0,this.readable=!0,this[ui]=0,this[zr]=!1}get bufferLength(){return this[ui]}get encoding(){return this[xi]}set encoding(e){if(this[Wr])throw new Error("cannot set encoding in objectMode");if(this[xi]&&e!==this[xi]&&(this[to]&&this[to].lastNeed||this[ui]))throw new Error("cannot change encoding");this[xi]!==e&&(this[to]=e?new VW(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[to].write(r)))),this[xi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Wr]}set objectMode(e){this[Wr]=this[Wr]||!!e}write(e,r,i){if(this[eo])throw new Error("write after end");return this[zr]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Wr]&&!Buffer.isBuffer(e)&&(_Qe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):ZQe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[ui]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Wr]&&!(r===this[xi]&&!this[to].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[xi]&&(e=this[to].write(e)),this.flowing?(this[ui]!==0&&this[PD](!0),this.emit("data",e)):this[_W](e),this[ui]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[zr])return null;try{return this[ui]===0||e===0||e>this[ui]?null:(this[Wr]&&(e=null),this.buffer.length>1&&!this[Wr]&&(this.encoding?this.buffer=new _h([Array.from(this.buffer).join("")]):this.buffer=new _h([Buffer.concat(Array.from(this.buffer),this[ui])])),this[XW](e||null,this.buffer.head.value))}finally{this[$h]()}}[XW](e,r){return e===r.length||e===null?this[kD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[ui]-=e),this.emit("data",r),!this.buffer.length&&!this[eo]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[eo]=!0,this.writable=!1,(this.flowing||!this[ef])&&this[$h](),this}[tf](){this[zr]||(this[ef]=!1,this[eE]=!0,this.emit("resume"),this.buffer.length?this[PD]():this[eo]?this[$h]():this.emit("drain"))}resume(){return this[tf]()}pause(){this[eE]=!1,this[ef]=!0}get destroyed(){return this[zr]}get flowing(){return this[eE]}get paused(){return this[ef]}[_W](e){return this[Wr]?this[ui]+=1:this[ui]+=e.length,this.buffer.push(e)}[kD](){return this.buffer.length&&(this[Wr]?this[ui]-=1:this[ui]-=this.buffer.head.value.length),this.buffer.shift()}[PD](e){do;while(this[ZW](this[kD]()));!e&&!this.buffer.length&&!this[eo]&&this.emit("drain")}[ZW](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[zr])return;let i=this[oa];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[tf]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[tf](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[tf]():e3(e)&&this[oa]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[oa]}[$h](){!this[_I]&&!this[oa]&&!this[zr]&&this.buffer.length===0&&this[eo]&&(this[_I]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[$I]&&this.emit("close"),this[_I]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==zr&&this[zr])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[oa]===!0)return;this[oa]=!0,this.readable=!1,this[to]&&(r=this[to].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[$I]=!0,!this[oa]&&!this[zr]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Wr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Wr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Wr]?Promise.reject(new Error("cannot concat in objectMode")):this[xi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(zr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[VQe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[eo])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[eo]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(zr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[XQe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[zr]?(e?this.emit("error",e):this.emit(zr),this):(this[zr]=!0,this.buffer=new _h,this[ui]=0,typeof this.close=="function"&&!this[$I]&&this.close(),e?this.emit("error",e):this.emit(zr),this)}static isStream(e){return!!e&&(e instanceof t3||e instanceof zW||e instanceof zQe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var i3=C((s_e,r3)=>{var $Qe=require("zlib").constants||{ZLIB_VERNUM:4736};r3.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},$Qe))});var TD=C(qi=>{"use strict";var vD=require("assert"),aa=require("buffer").Buffer,n3=require("zlib"),TA=qi.constants=i3(),e0e=Mc(),s3=aa.concat,UA=Symbol("_superWrite"),rf=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},t0e=Symbol("opts"),nf=Symbol("flushFlag"),o3=Symbol("finishFlushFlag"),FD=Symbol("fullFlushFlag"),Ft=Symbol("handle"),tE=Symbol("onError"),Oc=Symbol("sawError"),RD=Symbol("level"),LD=Symbol("strategy"),ND=Symbol("ended"),o_e=Symbol("_defaultFullFlush"),MD=class extends e0e{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[Oc]=!1,this[ND]=!1,this[t0e]=e,this[nf]=e.flush,this[o3]=e.finishFlush;try{this[Ft]=new n3[r](e)}catch(i){throw new rf(i)}this[tE]=i=>{this[Oc]||(this[Oc]=!0,this.close(),this.emit("error",i))},this[Ft].on("error",i=>this[tE](new rf(i))),this.once("end",()=>this.close)}close(){this[Ft]&&(this[Ft].close(),this[Ft]=null,this.emit("close"))}reset(){if(!this[Oc])return vD(this[Ft],"zlib binding closed"),this[Ft].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[FD]),this.write(Object.assign(aa.alloc(0),{[nf]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[o3]),this[ND]=!0,super.end(null,null,i)}get ended(){return this[ND]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=aa.from(e,r)),this[Oc])return;vD(this[Ft],"zlib binding closed");let n=this[Ft]._handle,s=n.close;n.close=()=>{};let o=this[Ft].close;this[Ft].close=()=>{},aa.concat=c=>c;let a;try{let c=typeof e[nf]=="number"?e[nf]:this[nf];a=this[Ft]._processChunk(e,c),aa.concat=s3}catch(c){aa.concat=s3,this[tE](new rf(c))}finally{this[Ft]&&(this[Ft]._handle=n,n.close=s,this[Ft].close=o,this[Ft].removeAllListeners("error"))}this[Ft]&&this[Ft].on("error",c=>this[tE](new rf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[UA](aa.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Ft].params(e,r)}finally{this[Ft].flush=i}this[Ft]&&(this[RD]=e,this[LD]=r)}}}},a3=class extends Aa{constructor(e){super(e,"Deflate")}},A3=class extends Aa{constructor(e){super(e,"Inflate")}},OD=Symbol("_portable"),l3=class extends Aa{constructor(e){super(e,"Gzip");this[OD]=e&&!!e.portable}[UA](e){return this[OD]?(this[OD]=!1,e[9]=255,super[UA](e)):super[UA](e)}},c3=class extends Aa{constructor(e){super(e,"Gunzip")}},u3=class extends Aa{constructor(e){super(e,"DeflateRaw")}},g3=class extends Aa{constructor(e){super(e,"InflateRaw")}},h3=class extends Aa{constructor(e){super(e,"Unzip")}},KD=class extends MD{constructor(e,r){e=e||{},e.flush=e.flush||TA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||TA.BROTLI_OPERATION_FINISH,super(e,r),this[FD]=TA.BROTLI_OPERATION_FLUSH}},f3=class extends KD{constructor(e){super(e,"BrotliCompress")}},p3=class extends KD{constructor(e){super(e,"BrotliDecompress")}};qi.Deflate=a3;qi.Inflate=A3;qi.Gzip=l3;qi.Gunzip=c3;qi.DeflateRaw=u3;qi.InflateRaw=g3;qi.Unzip=h3;typeof n3.BrotliCompress=="function"?(qi.BrotliCompress=f3,qi.BrotliDecompress=p3):qi.BrotliCompress=qi.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var sf=C(rE=>{"use strict";rE.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);rE.code=new Map(Array.from(rE.name).map(t=>[t[1],t[0]]))});var of=C((u_e,d3)=>{"use strict";var l_e=sf(),r0e=Mc(),UD=Symbol("slurp");d3.exports=class extends r0e{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[UD](r),i&&this[UD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[UD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var I3=C(HD=>{"use strict";var g_e=HD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?n0e(t,e):i0e(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},i0e=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},n0e=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=C3(n):n===0?e[i-1]=0:(r=!0,e[i-1]=m3(n))}},h_e=HD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=o0e(t.slice(1,t.length));else if(r===255)i=s0e(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},s0e=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=C3(s):s===0?o=s:(i=!0,o=m3(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},o0e=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},C3=t=>(255^t)&255,m3=t=>(255^t)+1&255});var Tc=C((p_e,E3)=>{"use strict";var YD=sf(),Kc=require("path").posix,y3=I3(),qD=Symbol("slurp"),Gi=Symbol("type"),B3=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Gi]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=HA(e,r,100),this.mode=la(e,r+100,8),this.uid=la(e,r+108,8),this.gid=la(e,r+116,8),this.size=la(e,r+124,12),this.mtime=GD(e,r+136,12),this.cksum=la(e,r+148,12),this[qD](i),this[qD](n,!0),this[Gi]=HA(e,r+156,1),this[Gi]===""&&(this[Gi]="0"),this[Gi]==="0"&&this.path.substr(-1)==="/"&&(this[Gi]="5"),this[Gi]==="5"&&(this.size=0),this.linkpath=HA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=HA(e,r+265,32),this.gname=HA(e,r+297,32),this.devmaj=la(e,r+329,8),this.devmin=la(e,r+337,8),e[r+475]!==0){let o=HA(e,r+345,155);this.path=o+"/"+this.path}else{let o=HA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=GD(e,r+476,12),this.ctime=GD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=a0e(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=YA(e,r,100,s)||this.needPax,this.needPax=ca(e,r+100,8,this.mode)||this.needPax,this.needPax=ca(e,r+108,8,this.uid)||this.needPax,this.needPax=ca(e,r+116,8,this.gid)||this.needPax,this.needPax=ca(e,r+124,12,this.size)||this.needPax,this.needPax=jD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Gi].charCodeAt(0),this.needPax=YA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=YA(e,r+265,32,this.uname)||this.needPax,this.needPax=YA(e,r+297,32,this.gname)||this.needPax,this.needPax=ca(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ca(e,r+337,8,this.devmin)||this.needPax,this.needPax=YA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=YA(e,r+345,155,o)||this.needPax:(this.needPax=YA(e,r+345,130,o)||this.needPax,this.needPax=jD(e,r+476,12,this.atime)||this.needPax,this.needPax=jD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Kc.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Kc.join(Kc.basename(n),i),n=Kc.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},HA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),GD=(t,e,r)=>A0e(la(t,e,r)),A0e=t=>t===null?null:new Date(t*1e3),la=(t,e,r)=>t[e]&128?y3.parse(t.slice(e,e+r)):l0e(t,e,r),c0e=t=>isNaN(t)?null:t,l0e=(t,e,r)=>c0e(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),u0e={12:8589934591,8:2097151},ca=(t,e,r,i)=>i===null?!1:i>u0e[r]||i<0?(y3.encode(i,t.slice(e,e+r)),!0):(g0e(t,e,r,i),!1),g0e=(t,e,r,i)=>t.write(h0e(i,r),e,r,"ascii"),h0e=(t,e)=>f0e(Math.floor(t).toString(8),e),f0e=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",jD=(t,e,r,i)=>i===null?!1:ca(t,e,r,i.getTime()/1e3),p0e=new Array(156).join("\0"),YA=(t,e,r,i)=>i===null?!1:(t.write(i+p0e,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);E3.exports=B3});var nE=C((d_e,w3)=>{"use strict";var d0e=Tc(),C0e=require("path"),iE=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new d0e({path:("PaxHeader/"+C0e.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};iE.parse=(t,e,r)=>new iE(m0e(I0e(t),e),r);var m0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,I0e=t=>t.replace(/\n$/,"").split(` +`).reduce(E0e,Object.create(null)),E0e=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};w3.exports=iE});var sE=C((C_e,Q3)=>{"use strict";Q3.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var WD=C((m_e,b3)=>{"use strict";var oE=["|","<",">","?",":"],JD=oE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),y0e=new Map(oE.map((t,e)=>[t,JD[e]])),B0e=new Map(JD.map((t,e)=>[t,oE[e]]));b3.exports={encode:t=>oE.reduce((e,r)=>e.split(r).join(y0e.get(r)),t),decode:t=>JD.reduce((e,r)=>e.split(r).join(B0e.get(r)),t)}});var D3=C((I_e,S3)=>{"use strict";S3.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var ex=C((Q_e,x3)=>{"use strict";var P3=Mc(),k3=nE(),v3=Tc(),E_e=of(),cs=require("fs"),Uc=require("path"),y_e=sf(),w0e=16*1024*1024,F3=Symbol("process"),R3=Symbol("file"),L3=Symbol("directory"),zD=Symbol("symlink"),N3=Symbol("hardlink"),af=Symbol("header"),aE=Symbol("read"),VD=Symbol("lstat"),AE=Symbol("onlstat"),XD=Symbol("onread"),ZD=Symbol("onreadlink"),_D=Symbol("openfile"),$D=Symbol("onopenfile"),qA=Symbol("close"),lE=Symbol("mode"),M3=sE(),Q0e=WD(),O3=D3(),cE=M3(class extends P3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||w0e,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&Uc.win32.isAbsolute(e)){let n=Uc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Q0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Uc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[AE](this.statCache.get(this.absolute)):this[VD]()}[VD](){cs.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[AE](r)})}[AE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=b0e(e),this.emit("stat",e),this[F3]()}[F3](){switch(this.type){case"File":return this[R3]();case"Directory":return this[L3]();case"SymbolicLink":return this[zD]();default:return this.end()}}[lE](e){return O3(e,this.type==="Directory",this.portable)}[af](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this[lE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new k3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[L3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[af](),this.end()}[zD](){cs.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ZD](r)})}[ZD](e){this.linkpath=e.replace(/\\/g,"/"),this[af](),this.end()}[N3](e){this.type="Link",this.linkpath=Uc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[af](),this.end()}[R3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[N3](r)}this.linkCache.set(e,this.absolute)}if(this[af](),this.stat.size===0)return this.end();this[_D]()}[_D](){cs.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[$D](r)})}[$D](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[aE](e,n,0,n.length,0,this.stat.size,r)}[aE](e,r,i,n,s,o,a){cs.read(e,r,i,n,s,(l,c)=>{if(l)return this[qA](e,()=>this.emit("error",l));this[XD](e,r,i,n,s,o,a,c)})}[qA](e,r){cs.close(e,r)}[XD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[qA](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[qA](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[aE](e,r,i,n,s,o,a)}}),K3=class extends cE{constructor(e,r){super(e,r)}[VD](){this[AE](cs.lstatSync(this.absolute))}[zD](){this[ZD](cs.readlinkSync(this.absolute))}[_D](){this[$D](cs.openSync(this.absolute,"r"))}[aE](e,r,i,n,s,o,a){let l=!0;try{let c=cs.readSync(e,r,i,n,s);this[XD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[qA](e,()=>{})}catch(c){}}}[qA](e,r){cs.closeSync(e),r()}},S0e=M3(class extends P3{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[lE](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(Uc.isAbsolute(this.path)&&!this.preservePaths){let n=Uc.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new k3({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lE](e){return O3(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});cE.Sync=K3;cE.Tar=S0e;var b0e=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";x3.exports=cE});var mE=C((S_e,T3)=>{"use strict";var tx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},D0e=Mc(),x0e=TD(),P0e=of(),rx=ex(),k0e=rx.Sync,v0e=rx.Tar,F0e=eh(),U3=Buffer.alloc(1024),uE=Symbol("onStat"),gE=Symbol("ended"),us=Symbol("queue"),Hc=Symbol("current"),GA=Symbol("process"),hE=Symbol("processing"),H3=Symbol("processJob"),gs=Symbol("jobs"),ix=Symbol("jobDone"),fE=Symbol("addFSEntry"),Y3=Symbol("addTarEntry"),nx=Symbol("stat"),sx=Symbol("readdir"),pE=Symbol("onreaddir"),dE=Symbol("pipe"),q3=Symbol("entry"),ox=Symbol("entryOpt"),ax=Symbol("writeEntryClass"),G3=Symbol("write"),Ax=Symbol("ondrain"),CE=require("fs"),j3=require("path"),R0e=sE(),lx=R0e(class extends D0e{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[ax]=rx,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new x0e.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[Ax]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[Ax]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[us]=new F0e,this[gs]=0,this.jobs=+e.jobs||4,this[hE]=!1,this[gE]=!1}[G3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[gE]=!0,this[GA](),this}write(e){if(this[gE])throw new Error("write after end");return e instanceof P0e?this[Y3](e):this[fE](e),this.flowing}[Y3](e){let r=j3.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new tx(e.path,r,!1);i.entry=new v0e(e,this[ox](i)),i.entry.on("end",n=>this[ix](i)),this[gs]+=1,this[us].push(i)}this[GA]()}[fE](e){let r=j3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[us].push(new tx(e,r)),this[GA]()}[nx](e){e.pending=!0,this[gs]+=1;let r=this.follow?"stat":"lstat";CE[r](e.absolute,(i,n)=>{e.pending=!1,this[gs]-=1,i?this.emit("error",i):this[uE](e,n)})}[uE](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[GA]()}[sx](e){e.pending=!0,this[gs]+=1,CE.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[gs]-=1,r)return this.emit("error",r);this[pE](e,i)})}[pE](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[GA]()}[GA](){if(!this[hE]){this[hE]=!0;for(let e=this[us].head;e!==null&&this[gs]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[q3](e){this[gs]+=1;try{return new this[ax](e.path,this[ox](e)).on("end",()=>this[ix](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[Ax](){this[Hc]&&this[Hc].entry&&this[Hc].entry.resume()}[dE](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),J3=class extends lx{constructor(e){super(e);this[ax]=k0e}pause(){}resume(){}[nx](e){let r=this.follow?"statSync":"lstatSync";this[uE](e,CE[r](e.absolute))}[sx](e,r){this[pE](e,CE.readdirSync(e.absolute))}[dE](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[G3](n)})}};lx.Sync=J3;T3.exports=lx});var Wc=C(Af=>{"use strict";var L0e=Mc(),N0e=require("events").EventEmitter,pn=require("fs"),IE=process.binding("fs"),D_e=IE.writeBuffers,M0e=IE.FSReqWrap||IE.FSReqCallback,Yc=Symbol("_autoClose"),hs=Symbol("_close"),lf=Symbol("_ended"),kt=Symbol("_fd"),W3=Symbol("_finished"),jA=Symbol("_flags"),cx=Symbol("_flush"),ux=Symbol("_handleChunk"),gx=Symbol("_makeBuf"),hx=Symbol("_mode"),EE=Symbol("_needDrain"),qc=Symbol("_onerror"),Gc=Symbol("_onopen"),fx=Symbol("_onread"),JA=Symbol("_onwrite"),ua=Symbol("_open"),ga=Symbol("_path"),WA=Symbol("_pos"),fs=Symbol("_queue"),jc=Symbol("_read"),z3=Symbol("_readSize"),ha=Symbol("_reading"),yE=Symbol("_remain"),V3=Symbol("_size"),BE=Symbol("_write"),Jc=Symbol("_writing"),wE=Symbol("_defaultFlag"),px=class extends L0e{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[kt]=typeof r.fd=="number"?r.fd:null,this[ga]=e,this[z3]=r.readSize||16*1024*1024,this[ha]=!1,this[V3]=typeof r.size=="number"?r.size:Infinity,this[yE]=this[V3],this[Yc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[kt]=="number"?this[jc]():this[ua]()}get fd(){return this[kt]}get path(){return this[ga]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ua](){pn.open(this[ga],"r",(e,r)=>this[Gc](e,r))}[Gc](e,r){e?this[qc](e):(this[kt]=r,this.emit("open",r),this[jc]())}[gx](){return Buffer.allocUnsafe(Math.min(this[z3],this[yE]))}[jc](){if(!this[ha]){this[ha]=!0;let e=this[gx]();if(e.length===0)return process.nextTick(()=>this[fx](null,0,e));pn.read(this[kt],e,0,e.length,null,(r,i,n)=>this[fx](r,i,n))}}[fx](e,r,i){this[ha]=!1,e?this[qc](e):this[ux](r,i)&&this[jc]()}[hs](){this[Yc]&&typeof this[kt]=="number"&&(pn.close(this[kt],e=>this.emit("close")),this[kt]=null)}[qc](e){this[ha]=!0,this[hs](),this.emit("error",e)}[ux](e,r){let i=!1;return this[yE]-=e,e>0&&(i=super.write(ethis[Gc](e,r))}[Gc](e,r){this[wE]&&this[jA]==="r+"&&e&&e.code==="ENOENT"?(this[jA]="w",this[ua]()):e?this[qc](e):(this[kt]=r,this.emit("open",r),this[cx]())}end(e,r){e&&this.write(e,r),this[lf]=!0,!this[Jc]&&!this[fs].length&&typeof this[kt]=="number"&&this[JA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[lf]?(this.emit("error",new Error("write() after end()")),!1):this[kt]===null||this[Jc]||this[fs].length?(this[fs].push(e),this[EE]=!0,!1):(this[Jc]=!0,this[BE](e),!0)}[BE](e){pn.write(this[kt],e,0,e.length,this[WA],(r,i)=>this[JA](r,i))}[JA](e,r){e?this[qc](e):(this[WA]!==null&&(this[WA]+=r),this[fs].length?this[cx]():(this[Jc]=!1,this[lf]&&!this[W3]?(this[W3]=!0,this[hs](),this.emit("finish")):this[EE]&&(this[EE]=!1,this.emit("drain"))))}[cx](){if(this[fs].length===0)this[lf]&&this[JA](null,0);else if(this[fs].length===1)this[BE](this[fs].pop());else{let e=this[fs];this[fs]=[],O0e(this[kt],e,this[WA],(r,i)=>this[JA](r,i))}}[hs](){this[Yc]&&typeof this[kt]=="number"&&(pn.close(this[kt],e=>this.emit("close")),this[kt]=null)}},Z3=class extends dx{[ua](){let e;try{e=pn.openSync(this[ga],this[jA],this[hx])}catch(r){if(this[wE]&&this[jA]==="r+"&&r&&r.code==="ENOENT")return this[jA]="w",this[ua]();throw r}this[Gc](null,e)}[hs](){if(this[Yc]&&typeof this[kt]=="number"){try{pn.closeSync(this[kt])}catch(e){}this[kt]=null,this.emit("close")}}[BE](e){try{this[JA](null,pn.writeSync(this[kt],e,0,e.length,this[WA]))}catch(r){this[JA](r,0)}}},O0e=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new M0e;s.oncomplete=n,IE.writeBuffers(t,e,r,s)};Af.ReadStream=px;Af.ReadStreamSync=X3;Af.WriteStream=dx;Af.WriteStreamSync=Z3});var gf=C((v_e,_3)=>{"use strict";var K0e=sE(),P_e=require("path"),T0e=Tc(),U0e=require("events"),H0e=eh(),Y0e=1024*1024,q0e=of(),$3=nE(),G0e=TD(),Cx=Buffer.from([31,139]),dn=Symbol("state"),zA=Symbol("writeEntry"),ro=Symbol("readEntry"),mx=Symbol("nextEntry"),e4=Symbol("processEntry"),Cn=Symbol("extendedHeader"),cf=Symbol("globalExtendedHeader"),fa=Symbol("meta"),t4=Symbol("emitMeta"),Ht=Symbol("buffer"),io=Symbol("queue"),VA=Symbol("ended"),r4=Symbol("emittedEnd"),XA=Symbol("emit"),Pi=Symbol("unzip"),QE=Symbol("consumeChunk"),bE=Symbol("consumeChunkSub"),Ix=Symbol("consumeBody"),i4=Symbol("consumeMeta"),n4=Symbol("consumeHeader"),SE=Symbol("consuming"),Ex=Symbol("bufferConcat"),yx=Symbol("maybeEnd"),uf=Symbol("writing"),pa=Symbol("aborted"),DE=Symbol("onDone"),ZA=Symbol("sawValidEntry"),xE=Symbol("sawNullBlock"),PE=Symbol("sawEOF"),j0e=t=>!0;_3.exports=K0e(class extends U0e{constructor(e){e=e||{},super(e),this.file=e.file||"",this[ZA]=null,this.on(DE,r=>{(this[dn]==="begin"||this[ZA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(DE,e.ondone):this.on(DE,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Y0e,this.filter=typeof e.filter=="function"?e.filter:j0e,this.writable=!0,this.readable=!1,this[io]=new H0e,this[Ht]=null,this[ro]=null,this[zA]=null,this[dn]="begin",this[fa]="",this[Cn]=null,this[cf]=null,this[VA]=!1,this[Pi]=null,this[pa]=!1,this[xE]=!1,this[PE]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[n4](e,r){this[ZA]===null&&(this[ZA]=!1);let i;try{i=new T0e(e,r,this[Cn],this[cf])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[xE]?(this[PE]=!0,this[dn]==="begin"&&(this[dn]="header"),this[XA]("eof")):(this[xE]=!0,this[XA]("nullBlock"));else if(this[xE]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[zA]=new q0e(i,this[Cn],this[cf]);if(!this[ZA])if(s.remain){let o=()=>{s.invalid||(this[ZA]=!0)};s.on("end",o)}else this[ZA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[XA]("ignoredEntry",s),this[dn]="ignore",s.resume()):s.size>0&&(this[fa]="",s.on("data",o=>this[fa]+=o),this[dn]="meta"):(this[Cn]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[XA]("ignoredEntry",s),this[dn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[dn]="body":(this[dn]="header",s.end()),this[ro]?this[io].push(s):(this[io].push(s),this[mx]())))}}}[e4](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[ro]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[mx]()),r=!1)):(this[ro]=null,r=!1),r}[mx](){do;while(this[e4](this[io].shift()));if(!this[io].length){let e=this[ro];!e||e.flowing||e.size===e.remain?this[uf]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[Ix](e,r){let i=this[zA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[dn]="header",this[zA]=null,i.end()),s.length}[i4](e,r){let i=this[zA],n=this[Ix](e,r);return this[zA]||this[t4](i),n}[XA](e,r,i){!this[io].length&&!this[ro]?this.emit(e,r,i):this[io].push([e,r,i])}[t4](e){switch(this[XA]("meta",this[fa]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Cn]=$3.parse(this[fa],this[Cn],!1);break;case"GlobalExtendedHeader":this[cf]=$3.parse(this[fa],this[cf],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Cn]=this[Cn]||Object.create(null),this[Cn].path=this[fa].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Cn]=this[Cn]||Object.create(null),this[Cn].linkpath=this[fa].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[pa]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[pa])return;if(this[Pi]===null&&e){if(this[Ht]&&(e=Buffer.concat([this[Ht],e]),this[Ht]=null),e.lengththis[QE](s)),this[Pi].on("error",s=>this.abort(s)),this[Pi].on("end",s=>{this[VA]=!0,this[QE]()}),this[uf]=!0;let n=this[Pi][i?"end":"write"](e);return this[uf]=!1,n}}this[uf]=!0,this[Pi]?this[Pi].write(e):this[QE](e),this[uf]=!1;let r=this[io].length?!1:this[ro]?this[ro].flowing:!0;return!r&&!this[io].length&&this[ro].once("drain",i=>this.emit("drain")),r}[Ex](e){e&&!this[pa]&&(this[Ht]=this[Ht]?Buffer.concat([this[Ht],e]):e)}[yx](){if(this[VA]&&!this[r4]&&!this[pa]&&!this[SE]){this[r4]=!0;let e=this[zA];if(e&&e.blockRemain){let r=this[Ht]?this[Ht].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ht]&&e.write(this[Ht]),e.end()}this[XA](DE)}}[QE](e){if(this[SE])this[Ex](e);else if(!e&&!this[Ht])this[yx]();else{if(this[SE]=!0,this[Ht]){this[Ex](e);let r=this[Ht];this[Ht]=null,this[bE](r)}else this[bE](e);for(;this[Ht]&&this[Ht].length>=512&&!this[pa]&&!this[PE];){let r=this[Ht];this[Ht]=null,this[bE](r)}this[SE]=!1}(!this[Ht]||this[VA])&&this[yx]()}[bE](e){let r=0,i=e.length;for(;r+512<=i&&!this[pa]&&!this[PE];)switch(this[dn]){case"begin":case"header":this[n4](e,r),r+=512;break;case"ignore":case"body":r+=this[Ix](e,r);break;case"meta":r+=this[i4](e,r);break;default:throw new Error("invalid state: "+this[dn])}r{"use strict";var J0e=Nc(),o4=gf(),zc=require("fs"),W0e=Wc(),a4=require("path"),F_e=s4.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=J0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&V0e(i,e),i.noResume||z0e(i),i.file&&i.sync?X0e(i):i.file?Z0e(i,r):A4(i)},z0e=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},V0e=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||a4.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(a4.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},X0e=t=>{let e=A4(t),r=t.file,i=!0,n;try{let s=zc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new o4(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),zc.stat(n,(l,c)=>{if(l)a(l);else{let u=new W0e.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},A4=t=>new o4(t)});var f4=C((M_e,l4)=>{"use strict";var _0e=Nc(),vE=mE(),L_e=require("fs"),c4=Wc(),u4=kE(),g4=require("path"),N_e=l4.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?$0e(i,e):i.file?ebe(i,e,r):i.sync?tbe(i,e):rbe(i,e)},$0e=(t,e)=>{let r=new vE.Sync(t),i=new c4.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),h4(r,e)},ebe=(t,e,r)=>{let i=new vE(t),n=new c4.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return Bx(i,e),r?s.then(r,r):s},h4=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?u4({file:g4.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},Bx=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return u4({file:g4.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>Bx(t,e));t.add(r)}t.end()},tbe=(t,e)=>{let r=new vE.Sync(t);return h4(r,e),r},rbe=(t,e)=>{let r=new vE(t);return Bx(r,e),r}});var wx=C((T_e,p4)=>{"use strict";var ibe=Nc(),d4=mE(),O_e=gf(),mn=require("fs"),C4=Wc(),m4=kE(),I4=require("path"),E4=Tc(),K_e=p4.exports=(t,e,r)=>{let i=ibe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?nbe(i,e):sbe(i,e,r)},nbe=(t,e)=>{let r=new d4.Sync(t),i=!0,n,s;try{try{n=mn.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=mn.openSync(t.file,"w+");else throw l}let o=mn.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,obe(t,r,s,n,e)}finally{if(i)try{mn.closeSync(n)}catch(o){}}},obe=(t,e,r,i,n)=>{let s=new C4.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),abe(e,n)},sbe=(t,e,r)=>{e=Array.from(e);let i=new d4(t),n=(o,a,l)=>{let c=(p,m)=>{p?mn.close(o,I=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,h=Buffer.alloc(512),f=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return mn.read(o,h,g,h.length-g,u+g,f);if(u===0&&h[0]===31&&h[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let I=new E4(h);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,mn.read(o,h,0,512,u,f)};mn.read(o,h,0,512,u,f)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",mn.open(t.file,l,c);if(u)return a(u);mn.fstat(g,(h,f)=>{if(h)return a(h);n(g,f.size,(p,m)=>{if(p)return a(p);let I=new C4.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),y4(i,e)})})};mn.open(t.file,l,c)});return r?s.then(r,r):s},abe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?m4({file:I4.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},y4=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return m4({file:I4.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>y4(t,e));t.add(r)}t.end()}});var w4=C((H_e,B4)=>{"use strict";var Abe=Nc(),lbe=wx(),U_e=B4.exports=(t,e,r)=>{let i=Abe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),cbe(i),lbe(i,e,r)},cbe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var S4=C((Y_e,Q4)=>{var{promisify:b4}=require("util"),da=require("fs"),ube=t=>{if(!t)t={mode:511,fs:da};else if(typeof t=="object")t=P({mode:511,fs:da},t);else if(typeof t=="number")t={mode:t,fs:da};else if(typeof t=="string")t={mode:parseInt(t,8),fs:da};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||da.mkdir,t.mkdirAsync=b4(t.mkdir),t.stat=t.stat||t.fs.stat||da.stat,t.statAsync=b4(t.stat),t.statSync=t.statSync||t.fs.statSync||da.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||da.mkdirSync,t};Q4.exports=ube});var x4=C((q_e,D4)=>{var gbe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:hbe,parse:fbe}=require("path"),pbe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=hbe(t),gbe==="win32"){let e=/[*|"<>?:]/,{root:r}=fbe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};D4.exports=pbe});var R4=C((G_e,P4)=>{var{dirname:k4}=require("path"),v4=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?v4(t,k4(e),e):void 0),F4=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?F4(t,k4(e),e):void 0}};P4.exports={findMade:v4,findMadeSync:F4}});var Sx=C((j_e,L4)=>{var{dirname:N4}=require("path"),Qx=(t,e,r)=>{e.recursive=!1;let i=N4(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return Qx(i,e).then(s=>Qx(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},bx=(t,e,r)=>{let i=N4(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return bx(t,e,bx(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};L4.exports={mkdirpManual:Qx,mkdirpManualSync:bx}});var K4=C((J_e,M4)=>{var{dirname:O4}=require("path"),{findMade:dbe,findMadeSync:Cbe}=R4(),{mkdirpManual:mbe,mkdirpManualSync:Ibe}=Sx(),Ebe=(t,e)=>(e.recursive=!0,O4(t)===t?e.mkdirAsync(t,e):dbe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return mbe(t,e);throw n}))),ybe=(t,e)=>{if(e.recursive=!0,O4(t)===t)return e.mkdirSync(t,e);let i=Cbe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return Ibe(t,e);throw n}};M4.exports={mkdirpNative:Ebe,mkdirpNativeSync:ybe}});var Y4=C((W_e,T4)=>{var U4=require("fs"),Bbe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,Dx=Bbe.replace(/^v/,"").split("."),H4=+Dx[0]>10||+Dx[0]==10&&+Dx[1]>=12,wbe=H4?t=>t.mkdir===U4.mkdir:()=>!1,Qbe=H4?t=>t.mkdirSync===U4.mkdirSync:()=>!1;T4.exports={useNative:wbe,useNativeSync:Qbe}});var z4=C((z_e,q4)=>{var Vc=S4(),Xc=x4(),{mkdirpNative:G4,mkdirpNativeSync:j4}=K4(),{mkdirpManual:J4,mkdirpManualSync:W4}=Sx(),{useNative:bbe,useNativeSync:Sbe}=Y4(),Zc=(t,e)=>(t=Xc(t),e=Vc(e),bbe(e)?G4(t,e):J4(t,e)),Dbe=(t,e)=>(t=Xc(t),e=Vc(e),Sbe(e)?j4(t,e):W4(t,e));Zc.sync=Dbe;Zc.native=(t,e)=>G4(Xc(t),Vc(e));Zc.manual=(t,e)=>J4(Xc(t),Vc(e));Zc.nativeSync=(t,e)=>j4(Xc(t),Vc(e));Zc.manualSync=(t,e)=>W4(Xc(t),Vc(e));q4.exports=Zc});var t8=C((V_e,V4)=>{"use strict";var In=require("fs"),_A=require("path"),xbe=In.lchown?"lchown":"chown",Pbe=In.lchownSync?"lchownSync":"chownSync",X4=In.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Z4=(t,e,r)=>{try{return In[Pbe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kbe=(t,e,r)=>{try{return In.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},vbe=X4?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):In.chown(t,e,r,i)}:(t,e,r,i)=>i,xx=X4?(t,e,r)=>{try{return Z4(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;kbe(t,e,r)}}:(t,e,r)=>Z4(t,e,r),Fbe=process.version,_4=(t,e,r)=>In.readdir(t,e,r),Rbe=(t,e)=>In.readdirSync(t,e);/^v4\./.test(Fbe)&&(_4=(t,e,r)=>In.readdir(t,r));var FE=(t,e,r,i)=>{In[xbe](t,e,r,vbe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},$4=(t,e,r,i,n)=>{if(typeof e=="string")return In.lstat(_A.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,$4(t,o,r,i,n)});if(e.isDirectory())Px(_A.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=_A.resolve(t,e.name);FE(o,r,i,n)});else{let s=_A.resolve(t,e.name);FE(s,r,i,n)}},Px=(t,e,r,i)=>{_4(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return FE(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return FE(t,e,r,i)}};s.forEach(c=>$4(t,c,e,r,l))})},Lbe=(t,e,r,i)=>{if(typeof e=="string")try{let n=In.lstatSync(_A.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&e8(_A.resolve(t,e.name),r,i),xx(_A.resolve(t,e.name),r,i)},e8=(t,e,r)=>{let i;try{i=Rbe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return xx(t,e,r);throw n}return i&&i.length&&i.forEach(n=>Lbe(t,n,e,r)),xx(t,e,r)};V4.exports=Px;Px.sync=e8});var s8=C((__e,kx)=>{"use strict";var r8=z4(),En=require("fs"),RE=require("path"),i8=t8(),vx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},hf=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},X_e=kx.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,h=e.cwd,f=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?i8(y,o,a,b=>f(b)):s?En.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return f();if(t===h)return En.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new hf(t,I&&I.code||"ENOTDIR")),f(I)});if(c)return r8(t,{mode:n}).then(I=>f(null,I),f);let m=RE.relative(h,t).split(/\/|\\/);LE(h,m,n,g,u,h,null,f)},LE=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return LE(c,e,r,i,n,s,o,a);En.mkdir(c,r,n8(c,e,r,i,n,s,o,a))},n8=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&RE.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new hf(s,l.code));En.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())LE(t,e,r,i,n,s,o,a);else if(n)En.unlink(t,g=>{if(g)return a(g);En.mkdir(t,r,n8(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new vx(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,LE(t,e,r,i,n,s,o,a)},Z_e=kx.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,h=I=>{u.set(t,!0),I&&a&&i8.sync(I,s,o),n&&En.chmodSync(t,i)};if(u&&u.get(t)===!0)return h();if(t===g){let I=!1,y="ENOTDIR";try{I=En.statSync(t).isDirectory()}catch(b){y=b.code}finally{if(!I)throw new hf(t,y)}h();return}if(l)return h(r8.sync(t,i));let p=RE.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{En.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(b){if(b.path&&RE.dirname(b.path)===g&&(b.code==="ENOTDIR"||b.code==="ENOENT"))return new hf(g,b.code);let x=En.lstatSync(y);if(x.isDirectory()){u.set(y,!0);continue}else if(c){En.unlinkSync(y),En.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(x.isSymbolicLink())return new vx(y,y+"/"+p.join("/"))}return h(m)}});var A8=C(($_e,o8)=>{var a8=require("assert");o8.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,h)=>g.length?g.concat(r(g[g.length-1],h)):[h],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(h=>t.get(h)),dirs:[...g.dirs].map(h=>t.get(h))}},o=u=>{let{paths:g,dirs:h}=s(u);return g.every(f=>f[0]===u)&&h.every(f=>f[0]instanceof Set&&f[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:h}=e.get(u),f=new Set;return g.forEach(p=>{let m=t.get(p);a8.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?f.add(m[0]):m[0].forEach(I=>f.add(I)))}),h.forEach(p=>{let m=t.get(p);a8(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),f.add(m[0])):m[0].delete(u)}),n.delete(u),f.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let h=new Set(u.map(f=>i(f)).reduce((f,p)=>f.concat(p)));return e.set(g,{dirs:h,paths:u}),u.forEach(f=>{let p=t.get(f);p?p.push(g):t.set(f,[g])}),h.forEach(f=>{let p=t.get(f);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(f,[new Set([g])])}),a(g)}}}});var u8=C((e$e,l8)=>{var Nbe=process.env.__FAKE_PLATFORM__||process.platform,Mbe=Nbe==="win32",Obe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Kbe,O_TRUNC:Tbe,O_WRONLY:Ube,UV_FS_O_FILEMAP:c8=0}=Obe.constants,Hbe=Mbe&&!!c8,Ybe=512*1024,qbe=c8|Tbe|Kbe|Ube;l8.exports=Hbe?t=>t"w"});var Ux=C((n$e,g8)=>{"use strict";var Gbe=require("assert"),t$e=require("events").EventEmitter,jbe=gf(),St=require("fs"),Jbe=Wc(),no=require("path"),Fx=s8(),r$e=Fx.sync,h8=WD(),Wbe=A8(),f8=Symbol("onEntry"),Rx=Symbol("checkFs"),p8=Symbol("checkFs2"),Lx=Symbol("isReusable"),so=Symbol("makeFs"),Nx=Symbol("file"),Mx=Symbol("directory"),NE=Symbol("link"),d8=Symbol("symlink"),C8=Symbol("hardlink"),m8=Symbol("unsupported"),i$e=Symbol("unknown"),I8=Symbol("checkPath"),_c=Symbol("mkdir"),gi=Symbol("onError"),ME=Symbol("pending"),E8=Symbol("pend"),$c=Symbol("unpend"),Ox=Symbol("ended"),Kx=Symbol("maybeClose"),Tx=Symbol("skip"),ff=Symbol("doChown"),pf=Symbol("uid"),df=Symbol("gid"),y8=require("crypto"),B8=u8(),OE=()=>{throw new Error("sync function called cb somehow?!?")},zbe=(t,e)=>{if(process.platform!=="win32")return St.unlink(t,e);let r=t+".DELETE."+y8.randomBytes(16).toString("hex");St.rename(t,r,i=>{if(i)return e(i);St.unlink(r,e)})},Vbe=t=>{if(process.platform!=="win32")return St.unlinkSync(t);let e=t+".DELETE."+y8.randomBytes(16).toString("hex");St.renameSync(t,e),St.unlinkSync(e)},w8=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,KE=class extends jbe{constructor(e){if(e||(e={}),e.ondone=r=>{this[Ox]=!0,this[Kx]()},super(e),this.reservations=Wbe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[ME]=0,this[Ox]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=no.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[f8](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[Kx](){this[Ox]&&this[ME]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[I8](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(no.win32.isAbsolute(r)){let i=no.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=no.win32.parse(e.path);e.path=r.root===""?h8.encode(e.path):r.root+h8.encode(e.path.substr(r.root.length))}return no.isAbsolute(e.path)?e.absolute=e.path:e.absolute=no.resolve(this.cwd,e.path),!0}[f8](e){if(!this[I8](e))return e.resume();switch(Gbe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Rx](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[m8](e)}}[gi](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[$c](),r.resume())}[_c](e,r,i){Fx(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ff](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[pf](e){return w8(this.uid,e.uid,this.processUid)}[df](e){return w8(this.gid,e.gid,this.processGid)}[Nx](e,r){let i=e.mode&4095||this.fmode,n=new Jbe.WriteStream(e.absolute,{flags:B8(e.size),mode:i,autoClose:!1});n.on("error",l=>this[gi](l,e));let s=1,o=l=>{if(l)return this[gi](l,e);--s==0&&St.close(n.fd,c=>{r(),c?this[gi](c,e):this[$c]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,h=e.mtime;St.futimes(u,g,h,f=>f?St.utimes(c,g,h,p=>o(p&&f)):o())}if(this[ff](e)){s++;let g=this[pf](e),h=this[df](e);St.fchown(u,g,h,f=>f?St.chown(c,g,h,p=>o(p&&f)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[gi](l,e)),e.pipe(a)),a.pipe(n)}[Mx](e,r){let i=e.mode&4095||this.dmode;this[_c](e.absolute,i,n=>{if(n)return r(),this[gi](n,e);let s=1,o=a=>{--s==0&&(r(),this[$c](),e.resume())};e.mtime&&!this.noMtime&&(s++,St.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ff](e)&&(s++,St.chown(e.absolute,this[pf](e),this[df](e),o)),o()})}[m8](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[d8](e,r){this[NE](e,e.linkpath,"symlink",r)}[C8](e,r){this[NE](e,no.resolve(this.cwd,e.linkpath),"link",r)}[E8](){this[ME]++}[$c](){this[ME]--,this[Kx]()}[Tx](e){this[$c](),e.resume()}[Lx](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[Rx](e){this[E8]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[p8](e,i))}[p8](e,r){this[_c](no.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[gi](i,e);St.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[Tx](e),r()):n||this[Lx](e,s)?this[so](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[so](null,e,r):St.chmod(e.absolute,e.mode,o=>this[so](o,e,r)):St.rmdir(e.absolute,o=>this[so](o,e,r)):zbe(e.absolute,o=>this[so](o,e,r))})})}[so](e,r,i){if(e)return this[gi](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Nx](r,i);case"Link":return this[C8](r,i);case"SymbolicLink":return this[d8](r,i);case"Directory":case"GNUDumpDir":return this[Mx](r,i)}}[NE](e,r,i,n){St[i](r,e.absolute,s=>{if(s)return this[gi](s,e);n(),this[$c](),e.resume()})}},Q8=class extends KE{constructor(e){super(e)}[Rx](e){let r=this[_c](no.dirname(e.absolute),this.dmode,OE);if(r)return this[gi](r,e);try{let i=St.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[Tx](e);if(this[Lx](e,i))return this[so](null,e,OE);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&St.chmodSync(e.absolute,e.mode):St.rmdirSync(e.absolute):Vbe(e.absolute),this[so](null,e,OE)}catch(n){return this[gi](n,e)}}catch(i){return this[so](null,e,OE)}}[Nx](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{St.closeSync(o)}catch(u){c=u}(l||c)&&this[gi](l||c,e)},s,o;try{o=St.openSync(e.absolute,B8(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[gi](l,e)),e.pipe(a)),a.on("data",l=>{try{St.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{St.futimesSync(o,u,g)}catch(h){try{St.utimesSync(e.absolute,u,g)}catch(f){c=h}}}if(this[ff](e)){let u=this[pf](e),g=this[df](e);try{St.fchownSync(o,u,g)}catch(h){try{St.chownSync(e.absolute,u,g)}catch(f){c=c||h}}}n(c)})}[Mx](e,r){let i=e.mode&4095||this.dmode,n=this[_c](e.absolute,i);if(n)return this[gi](n,e);if(e.mtime&&!this.noMtime)try{St.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ff](e))try{St.chownSync(e.absolute,this[pf](e),this[df](e))}catch(s){}e.resume()}[_c](e,r){try{return Fx.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[NE](e,r,i,n){try{St[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[gi](s,e)}}};KE.Sync=Q8;g8.exports=KE});var P8=C((o$e,b8)=>{"use strict";var Xbe=Nc(),TE=Ux(),S8=require("fs"),D8=Wc(),x8=require("path"),s$e=b8.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=Xbe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Zbe(i,e),i.file&&i.sync?_be(i):i.file?$be(i,r):i.sync?eSe(i):tSe(i)},Zbe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||x8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(x8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_be=t=>{let e=new TE.Sync(t),r=t.file,i=!0,n,s=S8.statSync(r),o=t.maxReadSize||16*1024*1024;new D8.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},$be=(t,e)=>{let r=new TE(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),S8.stat(n,(l,c)=>{if(l)a(l);else{let u=new D8.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},eSe=t=>new TE.Sync(t),tSe=t=>new TE(t)});var k8=C(yr=>{"use strict";yr.c=yr.create=f4();yr.r=yr.replace=wx();yr.t=yr.list=kE();yr.u=yr.update=w4();yr.x=yr.extract=P8();yr.Pack=mE();yr.Unpack=Ux();yr.Parse=gf();yr.ReadEntry=of();yr.WriteEntry=ex();yr.Header=Tc();yr.Pax=nE();yr.types=sf()});var F8=C((A$e,Hx)=>{"use strict";var rSe=Object.prototype.hasOwnProperty,hi="~";function Cf(){}Object.create&&(Cf.prototype=Object.create(null),new Cf().__proto__||(hi=!1));function iSe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function v8(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new iSe(r,i||t,n),o=hi?hi+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function UE(t,e){--t._eventsCount==0?t._events=new Cf:delete t._events[e]}function Vr(){this._events=new Cf,this._eventsCount=0}Vr.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)rSe.call(r,i)&&e.push(hi?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Vr.prototype.listeners=function(e){var r=hi?hi+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";R8.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var M8=C((c$e,HE)=>{"use strict";var nSe=L8(),Yx=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},N8=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Yx(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);nSe(t.then(i,n),()=>{clearTimeout(s)})});HE.exports=N8;HE.exports.default=N8;HE.exports.TimeoutError=Yx});var O8=C(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});function sSe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}qx.default=sSe});var T8=C(Gx=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var oSe=O8(),K8=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=oSe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Gx.default=K8});var Y8=C(jx=>{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});var aSe=F8(),U8=M8(),ASe=T8(),YE=()=>{},lSe=new U8.TimeoutError,H8=class extends aSe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=YE,this._resolveIdle=YE,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:ASe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():U8.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(lSe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};jx.default=H8});var W8=C((p$e,J8)=>{var Wx;J8.exports.getContent=()=>(typeof Wx=="undefined"&&(Wx=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Wx)});var $8=C((zx,_8)=>{(function(t,e){typeof zx=="object"?_8.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(zx,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",h=0,f,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(y,b){b>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var I=e(s,c);I.forEach(function(y){f=++h===I.length,r(y,s[y],f,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var sz=C((K$e,Zx)=>{"use strict";var CSe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=CSe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};Zx.exports=nz;Zx.exports.default=nz});var Ao=C(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.default=gz;function gz(){}gz.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],h=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&h+1>=l)return o([{value:this.join(r),count:r.length}]);function f(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],b=g[m+1],x=(b?b.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1=a&&x+1>=l)return o(wSe(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();f()||m()},0)})();else for(;c<=u;){var p=f();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1f.length?m:f}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var h=e[o-1];return o>1&&typeof h.value=="string"&&(h.added||h.removed)&&t.equals("",h.value)&&(e[o-2].value+=h.value,e.pop()),e}function QSe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var fz=C(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});Ef.diffChars=bSe;Ef.characterDiff=void 0;var DSe=SSe(Ao());function SSe(t){return t&&t.__esModule?t:{default:t}}var hz=new DSe.default;Ef.characterDiff=hz;function bSe(t,e,r){return hz.diff(t,e,r)}});var cP=C(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.generateOptions=xSe;function xSe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var Cz=C(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.diffWords=PSe;iu.diffWordsWithSpace=kSe;iu.wordDiff=void 0;var FSe=vSe(Ao()),RSe=cP();function vSe(t){return t&&t.__esModule?t:{default:t}}var pz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,dz=/\S/,yf=new FSe.default;iu.wordDiff=yf;yf.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!dz.test(t)&&!dz.test(e)};yf.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.diffLines=LSe;nu.diffTrimmedLines=NSe;nu.lineDiff=void 0;var OSe=MSe(Ao()),KSe=cP();function MSe(t){return t&&t.__esModule?t:{default:t}}var zE=new OSe.default;nu.lineDiff=zE;zE.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Bf,"__esModule",{value:!0});Bf.diffSentences=TSe;Bf.sentenceDiff=void 0;var HSe=USe(Ao());function USe(t){return t&&t.__esModule?t:{default:t}}var uP=new HSe.default;Bf.sentenceDiff=uP;uP.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function TSe(t,e,r){return uP.diff(t,e,r)}});var Iz=C(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});wf.diffCss=YSe;wf.cssDiff=void 0;var GSe=qSe(Ao());function qSe(t){return t&&t.__esModule?t:{default:t}}var gP=new GSe.default;wf.cssDiff=gP;gP.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function YSe(t,e,r){return gP.diff(t,e,r)}});var yz=C(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.diffJson=jSe;su.canonicalize=XE;su.jsonDiff=void 0;var Ez=JSe(Ao()),WSe=VE();function JSe(t){return t&&t.__esModule?t:{default:t}}function ZE(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ZE=function(r){return typeof r}:ZE=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ZE(t)}var zSe=Object.prototype.toString,el=new Ez.default;su.jsonDiff=el;el.useLongestToken=!0;el.tokenize=WSe.lineDiff.tokenize;el.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(XE(t,null,null,n),n," ")};el.equals=function(t,e){return Ez.default.prototype.equals.call(el,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jSe(t,e,r){return el.diff(t,e,r)}function XE(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.diffArrays=VSe;Qf.arrayDiff=void 0;var ZSe=XSe(Ao());function XSe(t){return t&&t.__esModule?t:{default:t}}var bf=new ZSe.default;Qf.arrayDiff=bf;bf.tokenize=function(t){return t.slice()};bf.join=bf.removeEmpty=function(t){return t};function VSe(t,e,r){return bf.diff(t,e,r)}});var _E=C(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.parsePatch=_Se;function _Se(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});fP.default=$Se;function $Se(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var Sz=C($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.applyPatch=Qz;$E.applyPatches=eDe;var bz=_E(),rDe=tDe(wz());function tDe(t){return t&&t.__esModule?t:{default:t}}function Qz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,bz.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(H,R,Pe,Le){return R===Le},a=0,l=r.fuzzFactor||0,c=0,u=0,g,h;function f(H,R){for(var Pe=0;Pe0?Le[0]:" ",Ke=Le.length>0?Le.substr(1):Le;if(Ge===" "||Ge==="-"){if(!o(R+1,i[R],Ge,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=U.linedelimiters[J];if(K===" ")v++;else if(K==="-")i.splice(v,1),n.splice(v,1);else if(K==="+")i.splice(v,0,A),n.splice(v,0,W),v++;else if(K==="\\"){var $=U.lines[J-1]?U.lines[J-1][0]:null;$==="+"?g=!0:$==="-"&&(h=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else h&&(i.push(""),n.push(` +`));for(var re=0;re{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.structuredPatch=Dz;Sf.createTwoFilesPatch=xz;Sf.createPatch=iDe;var nDe=VE();function pP(t){return aDe(t)||oDe(t)||sDe()}function sDe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function oDe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function aDe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(U.lines.slice(-o.context)):[],u-=h.length,g-=h.length)}(N=h).push.apply(N,pP(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:f+=F.length}else{if(u)if(F.length<=o.context*2&&b=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),$=F.length==0&&h.length>K.oldLines;!A&&$&&h.splice(K.oldLines,0,"\\ No newline at end of file"),(!A&&!$||!W)&&h.push("\\ No newline at end of file")}c.push(K),u=0,g=0,h=[]}f+=F.length,p+=F.length}},I=0;I{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.arrayEqual=ADe;ey.arrayStartsWith=Pz;function ADe(t,e){return t.length!==e.length?!1:Pz(t,e)}function Pz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.calcLineCount=vz;ty.merge=lDe;var cDe=dP(),uDe=_E(),CP=kz();function ou(t){return fDe(t)||hDe(t)||gDe()}function gDe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function hDe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function fDe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.convertChangesToDMP=mDe;function mDe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.convertChangesToXML=IDe;function IDe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(EDe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function EDe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var zz=C($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});Object.defineProperty($t,"Diff",{enumerable:!0,get:function(){return yDe.default}});Object.defineProperty($t,"diffChars",{enumerable:!0,get:function(){return BDe.diffChars}});Object.defineProperty($t,"diffWords",{enumerable:!0,get:function(){return Gz.diffWords}});Object.defineProperty($t,"diffWordsWithSpace",{enumerable:!0,get:function(){return Gz.diffWordsWithSpace}});Object.defineProperty($t,"diffLines",{enumerable:!0,get:function(){return jz.diffLines}});Object.defineProperty($t,"diffTrimmedLines",{enumerable:!0,get:function(){return jz.diffTrimmedLines}});Object.defineProperty($t,"diffSentences",{enumerable:!0,get:function(){return wDe.diffSentences}});Object.defineProperty($t,"diffCss",{enumerable:!0,get:function(){return QDe.diffCss}});Object.defineProperty($t,"diffJson",{enumerable:!0,get:function(){return Jz.diffJson}});Object.defineProperty($t,"canonicalize",{enumerable:!0,get:function(){return Jz.canonicalize}});Object.defineProperty($t,"diffArrays",{enumerable:!0,get:function(){return bDe.diffArrays}});Object.defineProperty($t,"applyPatch",{enumerable:!0,get:function(){return Wz.applyPatch}});Object.defineProperty($t,"applyPatches",{enumerable:!0,get:function(){return Wz.applyPatches}});Object.defineProperty($t,"parsePatch",{enumerable:!0,get:function(){return SDe.parsePatch}});Object.defineProperty($t,"merge",{enumerable:!0,get:function(){return DDe.merge}});Object.defineProperty($t,"structuredPatch",{enumerable:!0,get:function(){return BP.structuredPatch}});Object.defineProperty($t,"createTwoFilesPatch",{enumerable:!0,get:function(){return BP.createTwoFilesPatch}});Object.defineProperty($t,"createPatch",{enumerable:!0,get:function(){return BP.createPatch}});Object.defineProperty($t,"convertChangesToDMP",{enumerable:!0,get:function(){return xDe.convertChangesToDMP}});Object.defineProperty($t,"convertChangesToXML",{enumerable:!0,get:function(){return PDe.convertChangesToXML}});var yDe=kDe(Ao()),BDe=fz(),Gz=Cz(),jz=VE(),wDe=mz(),QDe=Iz(),Jz=yz(),bDe=Bz(),Wz=Sz(),SDe=_E(),DDe=Hz(),BP=dP(),xDe=Yz(),PDe=qz();function kDe(t){return t&&t.__esModule?t:{default:t}}});var iy=C((ltt,Vz)=>{var vDe=fn(),FDe=GI(),RDe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LDe=/^\w*$/;function NDe(t,e){if(vDe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||FDe(t)?!0:LDe.test(t)||!RDe.test(t)||e!=null&&t in Object(e)}Vz.exports=NDe});var Un=C((ctt,Xz)=>{function MDe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Xz.exports=MDe});var ny=C((utt,Zz)=>{var ODe=KA(),KDe=Un(),TDe="[object AsyncFunction]",UDe="[object Function]",HDe="[object GeneratorFunction]",YDe="[object Proxy]";function qDe(t){if(!KDe(t))return!1;var e=ODe(t);return e==UDe||e==HDe||e==TDe||e==YDe}Zz.exports=qDe});var $z=C((gtt,_z)=>{var GDe=On(),jDe=GDe["__core-js_shared__"];_z.exports=jDe});var r5=C((htt,e5)=>{var wP=$z(),t5=function(){var t=/[^.]+$/.exec(wP&&wP.keys&&wP.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function JDe(t){return!!t5&&t5 in t}e5.exports=JDe});var QP=C((ftt,i5)=>{var WDe=Function.prototype,zDe=WDe.toString;function VDe(t){if(t!=null){try{return zDe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}i5.exports=VDe});var s5=C((ptt,n5)=>{var XDe=ny(),ZDe=r5(),_De=Un(),$De=QP(),exe=/[\\^$.*+?()[\]{}|]/g,txe=/^\[object .+?Constructor\]$/,rxe=Function.prototype,ixe=Object.prototype,nxe=rxe.toString,sxe=ixe.hasOwnProperty,oxe=RegExp("^"+nxe.call(sxe).replace(exe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function axe(t){if(!_De(t)||ZDe(t))return!1;var e=XDe(t)?oxe:txe;return e.test($De(t))}n5.exports=axe});var a5=C((dtt,o5)=>{function Axe(t,e){return t==null?void 0:t[e]}o5.exports=Axe});var ma=C((Ctt,A5)=>{var lxe=s5(),cxe=a5();function uxe(t,e){var r=cxe(t,e);return lxe(r)?r:void 0}A5.exports=uxe});var Df=C((mtt,l5)=>{var gxe=ma(),hxe=gxe(Object,"create");l5.exports=hxe});var g5=C((Itt,c5)=>{var u5=Df();function fxe(){this.__data__=u5?u5(null):{},this.size=0}c5.exports=fxe});var f5=C((Ett,h5)=>{function pxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}h5.exports=pxe});var d5=C((ytt,p5)=>{var dxe=Df(),Cxe="__lodash_hash_undefined__",mxe=Object.prototype,Ixe=mxe.hasOwnProperty;function Exe(t){var e=this.__data__;if(dxe){var r=e[t];return r===Cxe?void 0:r}return Ixe.call(e,t)?e[t]:void 0}p5.exports=Exe});var m5=C((Btt,C5)=>{var yxe=Df(),Bxe=Object.prototype,wxe=Bxe.hasOwnProperty;function Qxe(t){var e=this.__data__;return yxe?e[t]!==void 0:wxe.call(e,t)}C5.exports=Qxe});var E5=C((wtt,I5)=>{var bxe=Df(),Sxe="__lodash_hash_undefined__";function Dxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=bxe&&e===void 0?Sxe:e,this}I5.exports=Dxe});var B5=C((Qtt,y5)=>{var xxe=g5(),Pxe=f5(),kxe=d5(),vxe=m5(),Fxe=E5();function au(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function Rxe(){this.__data__=[],this.size=0}w5.exports=Rxe});var Au=C((Stt,b5)=>{function Lxe(t,e){return t===e||t!==t&&e!==e}b5.exports=Lxe});var xf=C((Dtt,S5)=>{var Nxe=Au();function Mxe(t,e){for(var r=t.length;r--;)if(Nxe(t[r][0],e))return r;return-1}S5.exports=Mxe});var x5=C((xtt,D5)=>{var Oxe=xf(),Kxe=Array.prototype,Txe=Kxe.splice;function Uxe(t){var e=this.__data__,r=Oxe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():Txe.call(e,r,1),--this.size,!0}D5.exports=Uxe});var k5=C((Ptt,P5)=>{var Hxe=xf();function Yxe(t){var e=this.__data__,r=Hxe(e,t);return r<0?void 0:e[r][1]}P5.exports=Yxe});var F5=C((ktt,v5)=>{var qxe=xf();function Gxe(t){return qxe(this.__data__,t)>-1}v5.exports=Gxe});var L5=C((vtt,R5)=>{var jxe=xf();function Jxe(t,e){var r=this.__data__,i=jxe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}R5.exports=Jxe});var Pf=C((Ftt,N5)=>{var Wxe=Q5(),zxe=x5(),Vxe=k5(),Xxe=F5(),Zxe=L5();function lu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _xe=ma(),$xe=On(),ePe=_xe($xe,"Map");M5.exports=ePe});var T5=C((Ltt,O5)=>{var K5=B5(),tPe=Pf(),rPe=sy();function iPe(){this.size=0,this.__data__={hash:new K5,map:new(rPe||tPe),string:new K5}}O5.exports=iPe});var H5=C((Ntt,U5)=>{function nPe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}U5.exports=nPe});var kf=C((Mtt,Y5)=>{var sPe=H5();function oPe(t,e){var r=t.__data__;return sPe(e)?r[typeof e=="string"?"string":"hash"]:r.map}Y5.exports=oPe});var G5=C((Ott,q5)=>{var aPe=kf();function APe(t){var e=aPe(this,t).delete(t);return this.size-=e?1:0,e}q5.exports=APe});var J5=C((Ktt,j5)=>{var lPe=kf();function cPe(t){return lPe(this,t).get(t)}j5.exports=cPe});var z5=C((Ttt,W5)=>{var uPe=kf();function gPe(t){return uPe(this,t).has(t)}W5.exports=gPe});var X5=C((Utt,V5)=>{var hPe=kf();function fPe(t,e){var r=hPe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}V5.exports=fPe});var oy=C((Htt,Z5)=>{var pPe=T5(),dPe=G5(),CPe=J5(),mPe=z5(),IPe=X5();function cu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var $5=oy(),EPe="Expected a function";function bP(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(EPe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(bP.Cache||$5),r}bP.Cache=$5;_5.exports=bP});var r6=C((qtt,t6)=>{var yPe=e6(),BPe=500;function wPe(t){var e=yPe(t,function(i){return r.size===BPe&&r.clear(),i}),r=e.cache;return e}t6.exports=wPe});var n6=C((Gtt,i6)=>{var QPe=r6(),bPe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,SPe=/\\(\\)?/g,DPe=QPe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(bPe,function(r,i,n,s){e.push(n?s.replace(SPe,"$1"):i||r)}),e});i6.exports=DPe});var uu=C((jtt,s6)=>{var xPe=fn(),PPe=iy(),kPe=n6(),vPe=Rc();function FPe(t,e){return xPe(t)?t:PPe(t,e)?[t]:kPe(vPe(t))}s6.exports=FPe});var rl=C((Jtt,o6)=>{var RPe=GI(),LPe=1/0;function NPe(t){if(typeof t=="string"||RPe(t))return t;var e=t+"";return e=="0"&&1/t==-LPe?"-0":e}o6.exports=NPe});var vf=C((Wtt,a6)=>{var MPe=uu(),OPe=rl();function KPe(t,e){e=MPe(e,t);for(var r=0,i=e.length;t!=null&&r{var TPe=ma(),UPe=function(){try{var t=TPe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();A6.exports=UPe});var gu=C((Vtt,l6)=>{var c6=SP();function HPe(t,e,r){e=="__proto__"&&c6?c6(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}l6.exports=HPe});var ay=C((Xtt,u6)=>{var YPe=gu(),qPe=Au(),GPe=Object.prototype,jPe=GPe.hasOwnProperty;function JPe(t,e,r){var i=t[e];(!(jPe.call(t,e)&&qPe(i,r))||r===void 0&&!(e in t))&&YPe(t,e,r)}u6.exports=JPe});var Ff=C((Ztt,g6)=>{var WPe=9007199254740991,zPe=/^(?:0|[1-9]\d*)$/;function VPe(t,e){var r=typeof t;return e=e==null?WPe:e,!!e&&(r=="number"||r!="symbol"&&zPe.test(t))&&t>-1&&t%1==0&&t{var XPe=ay(),ZPe=uu(),_Pe=Ff(),f6=Un(),$Pe=rl();function eke(t,e,r,i){if(!f6(t))return t;e=ZPe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var tke=vf(),rke=DP(),ike=uu();function nke(t,e,r){for(var i=-1,n=e.length,s={};++i{function ske(t,e){return t!=null&&e in Object(t)}C6.exports=ske});var E6=C((trt,I6)=>{var oke=KA(),ake=As(),Ake="[object Arguments]";function lke(t){return ake(t)&&oke(t)==Ake}I6.exports=lke});var Rf=C((rrt,y6)=>{var B6=E6(),cke=As(),w6=Object.prototype,uke=w6.hasOwnProperty,gke=w6.propertyIsEnumerable,hke=B6(function(){return arguments}())?B6:function(t){return cke(t)&&uke.call(t,"callee")&&!gke.call(t,"callee")};y6.exports=hke});var Ay=C((irt,Q6)=>{var fke=9007199254740991;function pke(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=fke}Q6.exports=pke});var xP=C((nrt,b6)=>{var dke=uu(),Cke=Rf(),mke=fn(),Ike=Ff(),Eke=Ay(),yke=rl();function Bke(t,e,r){e=dke(e,t);for(var i=-1,n=e.length,s=!1;++i{var wke=m6(),Qke=xP();function bke(t,e){return t!=null&&Qke(t,e,wke)}S6.exports=bke});var x6=C((ort,D6)=>{var Ske=d6(),Dke=PP();function xke(t,e){return Ske(t,e,function(r,i){return Dke(t,i)})}D6.exports=xke});var ly=C((art,P6)=>{function Pke(t,e){for(var r=-1,i=e.length,n=t.length;++r{var v6=OA(),kke=Rf(),vke=fn(),F6=v6?v6.isConcatSpreadable:void 0;function Fke(t){return vke(t)||kke(t)||!!(F6&&t&&t[F6])}k6.exports=Fke});var M6=C((lrt,L6)=>{var Rke=ly(),Lke=R6();function N6(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=Lke),n||(n=[]);++s0&&r(a)?e>1?N6(a,e-1,r,i,n):Rke(n,a):i||(n[n.length]=a)}return n}L6.exports=N6});var K6=C((crt,O6)=>{var Nke=M6();function Mke(t){var e=t==null?0:t.length;return e?Nke(t,1):[]}O6.exports=Mke});var U6=C((urt,T6)=>{function Oke(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}T6.exports=Oke});var kP=C((grt,H6)=>{var Kke=U6(),Y6=Math.max;function Tke(t,e,r){return e=Y6(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=Y6(i.length-e,0),o=Array(s);++n{function Uke(t){return function(){return t}}q6.exports=Uke});var cy=C((frt,j6)=>{function Hke(t){return t}j6.exports=Hke});var z6=C((prt,J6)=>{var Yke=G6(),W6=SP(),qke=cy(),Gke=W6?function(t,e){return W6(t,"toString",{configurable:!0,enumerable:!1,value:Yke(e),writable:!0})}:qke;J6.exports=Gke});var X6=C((drt,V6)=>{var jke=800,Jke=16,Wke=Date.now;function zke(t){var e=0,r=0;return function(){var i=Wke(),n=Jke-(i-r);if(r=i,n>0){if(++e>=jke)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}V6.exports=zke});var vP=C((Crt,Z6)=>{var Vke=z6(),Xke=X6(),Zke=Xke(Vke);Z6.exports=Zke});var $6=C((mrt,_6)=>{var _ke=K6(),$ke=kP(),eve=vP();function tve(t){return eve($ke(t,void 0,_ke),t+"")}_6.exports=tve});var t9=C((Irt,e9)=>{var rve=x6(),ive=$6(),nve=ive(function(t,e){return t==null?{}:rve(t,e)});e9.exports=nve});var g9=C((lnt,l9)=>{"use strict";var HP;try{HP=Map}catch(t){}var YP;try{YP=Set}catch(t){}function c9(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(u9);if(HP&&t instanceof HP)return new Map(Array.from(t.entries()));if(YP&&t instanceof YP)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:c9(t[n],e,r)}return i}return t}function u9(t){return c9(t,[],[])}l9.exports=u9});var Of=C(qP=>{"use strict";Object.defineProperty(qP,"__esModule",{value:!0});qP.default=hve;var fve=Object.prototype.toString,pve=Error.prototype.toString,dve=RegExp.prototype.toString,Cve=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",mve=/^Symbol\((.*)\)(.*)$/;function Ive(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function h9(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return Ive(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return Cve.call(t).replace(mve,"Symbol($1)");let i=fve.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+pve.call(t)+"]":i==="RegExp"?dve.call(t):null}function hve(t,e){let r=h9(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=h9(this[i],e);return s!==null?s:n},2)}});var lo=C(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.default=Pr.array=Pr.object=Pr.boolean=Pr.date=Pr.number=Pr.string=Pr.mixed=void 0;var f9=Eve(Of());function Eve(t){return t&&t.__esModule?t:{default:t}}var p9={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,f9.default)(r,!0)}\``+(n?` (cast from the value \`${(0,f9.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Pr.mixed=p9;var d9={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Pr.string=d9;var C9={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Pr.number=C9;var m9={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Pr.date=m9;var I9={isValue:"${path} field must be ${value}"};Pr.boolean=I9;var E9={noUnknown:"${path} field has unspecified keys: ${unknown}"};Pr.object=E9;var y9={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Pr.array=y9;var yve=Object.assign(Object.create(null),{mixed:p9,string:d9,number:C9,date:m9,object:E9,array:y9,boolean:I9});Pr.default=yve});var w9=C((gnt,B9)=>{var Bve=Object.prototype,wve=Bve.hasOwnProperty;function Qve(t,e){return t!=null&&wve.call(t,e)}B9.exports=Qve});var py=C((hnt,Q9)=>{var bve=w9(),Sve=xP();function Dve(t,e){return t!=null&&Sve(t,e,bve)}Q9.exports=Dve});var fu=C(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.default=void 0;var xve=t=>t&&t.__isYupSchema__;dy.default=xve});var D9=C(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.default=void 0;var Pve=b9(py()),kve=b9(fu());function b9(t){return t&&t.__esModule?t:{default:t}}var S9=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,Pve.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,kve.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},vve=S9;Cy.default=vve});var jP=C(GP=>{"use strict";Object.defineProperty(GP,"__esModule",{value:!0});GP.default=Fve;function Fve(t){return t==null?[]:[].concat(t)}});var il=C(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.default=void 0;var Rve=x9(Of()),Lve=x9(jP());function x9(t){return t&&t.__esModule?t:{default:t}}function JP(){return JP=Object.assign||function(t){for(var e=1;e(0,Rve.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,Lve.default)(e).forEach(s=>{Kf.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Kf)}};my.default=Kf});var Iy=C(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});WP.default=Mve;var zP=Ove(il());function Ove(t){return t&&t.__esModule?t:{default:t}}var Kve=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function Mve(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=Kve(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new zP.default(o,s,l)):c(null,s);for(let h=0;h{function Tve(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}P9.exports=Tve});var VP=C((Ent,v9)=>{var Uve=k9(),Hve=Uve();v9.exports=Hve});var R9=C((ynt,F9)=>{function Yve(t,e){for(var r=-1,i=Array(t);++r{function qve(){return!1}L9.exports=qve});var Uf=C((Tf,pu)=>{var Gve=On(),jve=N9(),M9=typeof Tf=="object"&&Tf&&!Tf.nodeType&&Tf,O9=M9&&typeof pu=="object"&&pu&&!pu.nodeType&&pu,Jve=O9&&O9.exports===M9,K9=Jve?Gve.Buffer:void 0,Wve=K9?K9.isBuffer:void 0,zve=Wve||jve;pu.exports=zve});var U9=C((wnt,T9)=>{var Vve=KA(),Xve=Ay(),Zve=As(),_ve="[object Arguments]",$ve="[object Array]",eFe="[object Boolean]",tFe="[object Date]",rFe="[object Error]",iFe="[object Function]",nFe="[object Map]",sFe="[object Number]",oFe="[object Object]",aFe="[object RegExp]",AFe="[object Set]",lFe="[object String]",cFe="[object WeakMap]",uFe="[object ArrayBuffer]",gFe="[object DataView]",hFe="[object Float32Array]",fFe="[object Float64Array]",pFe="[object Int8Array]",dFe="[object Int16Array]",CFe="[object Int32Array]",mFe="[object Uint8Array]",IFe="[object Uint8ClampedArray]",EFe="[object Uint16Array]",yFe="[object Uint32Array]",Yt={};Yt[hFe]=Yt[fFe]=Yt[pFe]=Yt[dFe]=Yt[CFe]=Yt[mFe]=Yt[IFe]=Yt[EFe]=Yt[yFe]=!0;Yt[_ve]=Yt[$ve]=Yt[uFe]=Yt[eFe]=Yt[gFe]=Yt[tFe]=Yt[rFe]=Yt[iFe]=Yt[nFe]=Yt[sFe]=Yt[oFe]=Yt[aFe]=Yt[AFe]=Yt[lFe]=Yt[cFe]=!1;function BFe(t){return Zve(t)&&Xve(t.length)&&!!Yt[Vve(t)]}T9.exports=BFe});var Ey=C((Qnt,H9)=>{function wFe(t){return function(e){return t(e)}}H9.exports=wFe});var yy=C((Hf,du)=>{var QFe=ID(),Y9=typeof Hf=="object"&&Hf&&!Hf.nodeType&&Hf,Yf=Y9&&typeof du=="object"&&du&&!du.nodeType&&du,bFe=Yf&&Yf.exports===Y9,XP=bFe&&QFe.process,SFe=function(){try{var t=Yf&&Yf.require&&Yf.require("util").types;return t||XP&&XP.binding&&XP.binding("util")}catch(e){}}();du.exports=SFe});var By=C((bnt,q9)=>{var DFe=U9(),xFe=Ey(),G9=yy(),j9=G9&&G9.isTypedArray,PFe=j9?xFe(j9):DFe;q9.exports=PFe});var ZP=C((Snt,J9)=>{var kFe=R9(),vFe=Rf(),FFe=fn(),RFe=Uf(),LFe=Ff(),NFe=By(),MFe=Object.prototype,OFe=MFe.hasOwnProperty;function KFe(t,e){var r=FFe(t),i=!r&&vFe(t),n=!r&&!i&&RFe(t),s=!r&&!i&&!n&&NFe(t),o=r||i||n||s,a=o?kFe(t.length,String):[],l=a.length;for(var c in t)(e||OFe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||LFe(c,l)))&&a.push(c);return a}J9.exports=KFe});var wy=C((Dnt,W9)=>{var TFe=Object.prototype;function UFe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TFe;return t===r}W9.exports=UFe});var _P=C((xnt,z9)=>{function HFe(t,e){return function(r){return t(e(r))}}z9.exports=HFe});var X9=C((Pnt,V9)=>{var YFe=_P(),qFe=YFe(Object.keys,Object);V9.exports=qFe});var _9=C((knt,Z9)=>{var GFe=wy(),jFe=X9(),JFe=Object.prototype,WFe=JFe.hasOwnProperty;function zFe(t){if(!GFe(t))return jFe(t);var e=[];for(var r in Object(t))WFe.call(t,r)&&r!="constructor"&&e.push(r);return e}Z9.exports=zFe});var qf=C((vnt,$9)=>{var VFe=ny(),XFe=Ay();function ZFe(t){return t!=null&&XFe(t.length)&&!VFe(t)}$9.exports=ZFe});var Cu=C((Fnt,eV)=>{var _Fe=ZP(),$Fe=_9(),eRe=qf();function tRe(t){return eRe(t)?_Fe(t):$Fe(t)}eV.exports=tRe});var $P=C((Rnt,tV)=>{var rRe=VP(),iRe=Cu();function nRe(t,e){return t&&rRe(t,e,iRe)}tV.exports=nRe});var iV=C((Lnt,rV)=>{var sRe=Pf();function oRe(){this.__data__=new sRe,this.size=0}rV.exports=oRe});var sV=C((Nnt,nV)=>{function aRe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}nV.exports=aRe});var aV=C((Mnt,oV)=>{function ARe(t){return this.__data__.get(t)}oV.exports=ARe});var lV=C((Ont,AV)=>{function lRe(t){return this.__data__.has(t)}AV.exports=lRe});var uV=C((Knt,cV)=>{var cRe=Pf(),uRe=sy(),gRe=oy(),hRe=200;function fRe(t,e){var r=this.__data__;if(r instanceof cRe){var i=r.__data__;if(!uRe||i.length{var pRe=Pf(),dRe=iV(),CRe=sV(),mRe=aV(),IRe=lV(),ERe=uV();function mu(t){var e=this.__data__=new pRe(t);this.size=e.size}mu.prototype.clear=dRe;mu.prototype.delete=CRe;mu.prototype.get=mRe;mu.prototype.has=IRe;mu.prototype.set=ERe;gV.exports=mu});var fV=C((Unt,hV)=>{var yRe="__lodash_hash_undefined__";function BRe(t){return this.__data__.set(t,yRe),this}hV.exports=BRe});var dV=C((Hnt,pV)=>{function wRe(t){return this.__data__.has(t)}pV.exports=wRe});var mV=C((Ynt,CV)=>{var QRe=oy(),bRe=fV(),SRe=dV();function Qy(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new QRe;++e{function DRe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function xRe(t,e){return t.has(e)}yV.exports=xRe});var ek=C((jnt,wV)=>{var PRe=mV(),kRe=EV(),vRe=BV(),FRe=1,RRe=2;function LRe(t,e,r,i,n,s){var o=r&FRe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,h=!0,f=r&RRe?new PRe:void 0;for(s.set(t,e),s.set(e,t);++g{var NRe=On(),MRe=NRe.Uint8Array;QV.exports=MRe});var SV=C((Wnt,bV)=>{function ORe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}bV.exports=ORe});var xV=C((znt,DV)=>{function KRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}DV.exports=KRe});var RV=C((Vnt,PV)=>{var kV=OA(),vV=tk(),TRe=Au(),URe=ek(),HRe=SV(),YRe=xV(),qRe=1,GRe=2,jRe="[object Boolean]",JRe="[object Date]",WRe="[object Error]",zRe="[object Map]",VRe="[object Number]",XRe="[object RegExp]",ZRe="[object Set]",_Re="[object String]",$Re="[object Symbol]",eLe="[object ArrayBuffer]",tLe="[object DataView]",FV=kV?kV.prototype:void 0,rk=FV?FV.valueOf:void 0;function rLe(t,e,r,i,n,s,o){switch(r){case tLe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case eLe:return!(t.byteLength!=e.byteLength||!s(new vV(t),new vV(e)));case jRe:case JRe:case VRe:return TRe(+t,+e);case WRe:return t.name==e.name&&t.message==e.message;case XRe:case _Re:return t==e+"";case zRe:var a=HRe;case ZRe:var l=i&qRe;if(a||(a=YRe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GRe,o.set(t,e);var u=URe(a(t),a(e),i,n,s,o);return o.delete(t),u;case $Re:if(rk)return rk.call(t)==rk.call(e)}return!1}PV.exports=rLe});var ik=C((Xnt,LV)=>{var iLe=ly(),nLe=fn();function sLe(t,e,r){var i=e(t);return nLe(t)?i:iLe(i,r(t))}LV.exports=sLe});var MV=C((Znt,NV)=>{function oLe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function aLe(){return[]}OV.exports=aLe});var by=C(($nt,KV)=>{var ALe=MV(),lLe=nk(),cLe=Object.prototype,uLe=cLe.propertyIsEnumerable,TV=Object.getOwnPropertySymbols,gLe=TV?function(t){return t==null?[]:(t=Object(t),ALe(TV(t),function(e){return uLe.call(t,e)}))}:lLe;KV.exports=gLe});var sk=C((est,UV)=>{var hLe=ik(),fLe=by(),pLe=Cu();function dLe(t){return hLe(t,pLe,fLe)}UV.exports=dLe});var qV=C((tst,HV)=>{var YV=sk(),CLe=1,mLe=Object.prototype,ILe=mLe.hasOwnProperty;function ELe(t,e,r,i,n,s){var o=r&CLe,a=YV(t),l=a.length,c=YV(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var h=a[g];if(!(o?h in e:ILe.call(e,h)))return!1}var f=s.get(t),p=s.get(e);if(f&&p)return f==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var I=o;++g{var yLe=ma(),BLe=On(),wLe=yLe(BLe,"DataView");GV.exports=wLe});var WV=C((ist,JV)=>{var QLe=ma(),bLe=On(),SLe=QLe(bLe,"Promise");JV.exports=SLe});var VV=C((nst,zV)=>{var DLe=ma(),xLe=On(),PLe=DLe(xLe,"Set");zV.exports=PLe});var ZV=C((sst,XV)=>{var kLe=ma(),vLe=On(),FLe=kLe(vLe,"WeakMap");XV.exports=FLe});var jf=C((ost,_V)=>{var ok=jV(),ak=sy(),Ak=WV(),lk=VV(),ck=ZV(),$V=KA(),Iu=QP(),eX="[object Map]",RLe="[object Object]",tX="[object Promise]",rX="[object Set]",iX="[object WeakMap]",nX="[object DataView]",LLe=Iu(ok),NLe=Iu(ak),MLe=Iu(Ak),OLe=Iu(lk),KLe=Iu(ck),nl=$V;(ok&&nl(new ok(new ArrayBuffer(1)))!=nX||ak&&nl(new ak)!=eX||Ak&&nl(Ak.resolve())!=tX||lk&&nl(new lk)!=rX||ck&&nl(new ck)!=iX)&&(nl=function(t){var e=$V(t),r=e==RLe?t.constructor:void 0,i=r?Iu(r):"";if(i)switch(i){case LLe:return nX;case NLe:return eX;case MLe:return tX;case OLe:return rX;case KLe:return iX}return e});_V.exports=nl});var gX=C((ast,sX)=>{var uk=Gf(),TLe=ek(),ULe=RV(),HLe=qV(),oX=jf(),aX=fn(),AX=Uf(),YLe=By(),qLe=1,lX="[object Arguments]",cX="[object Array]",Sy="[object Object]",GLe=Object.prototype,uX=GLe.hasOwnProperty;function jLe(t,e,r,i,n,s){var o=aX(t),a=aX(e),l=o?cX:oX(t),c=a?cX:oX(e);l=l==lX?Sy:l,c=c==lX?Sy:c;var u=l==Sy,g=c==Sy,h=l==c;if(h&&AX(t)){if(!AX(e))return!1;o=!0,u=!1}if(h&&!u)return s||(s=new uk),o||YLe(t)?TLe(t,e,r,i,n,s):ULe(t,e,l,r,i,n,s);if(!(r&qLe)){var f=u&&uX.call(t,"__wrapped__"),p=g&&uX.call(e,"__wrapped__");if(f||p){var m=f?t.value():t,I=p?e.value():e;return s||(s=new uk),n(m,I,r,i,s)}}return h?(s||(s=new uk),HLe(t,e,r,i,n,s)):!1}sX.exports=jLe});var gk=C((Ast,hX)=>{var JLe=gX(),fX=As();function pX(t,e,r,i,n){return t===e?!0:t==null||e==null||!fX(t)&&!fX(e)?t!==t&&e!==e:JLe(t,e,r,i,pX,n)}hX.exports=pX});var CX=C((lst,dX)=>{var WLe=Gf(),zLe=gk(),VLe=1,XLe=2;function ZLe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Le=Un();function $Le(t){return t===t&&!_Le(t)}mX.exports=$Le});var EX=C((ust,IX)=>{var eNe=hk(),tNe=Cu();function rNe(t){for(var e=tNe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,eNe(n)]}return e}IX.exports=rNe});var fk=C((gst,yX)=>{function iNe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}yX.exports=iNe});var wX=C((hst,BX)=>{var nNe=CX(),sNe=EX(),oNe=fk();function aNe(t){var e=sNe(t);return e.length==1&&e[0][2]?oNe(e[0][0],e[0][1]):function(r){return r===t||nNe(r,t,e)}}BX.exports=aNe});var Dy=C((fst,QX)=>{var ANe=vf();function lNe(t,e,r){var i=t==null?void 0:ANe(t,e);return i===void 0?r:i}QX.exports=lNe});var SX=C((pst,bX)=>{var cNe=gk(),uNe=Dy(),gNe=PP(),hNe=iy(),fNe=hk(),pNe=fk(),dNe=rl(),CNe=1,mNe=2;function INe(t,e){return hNe(t)&&fNe(e)?pNe(dNe(t),e):function(r){var i=uNe(r,t);return i===void 0&&i===e?gNe(r,t):cNe(e,i,CNe|mNe)}}bX.exports=INe});var xX=C((dst,DX)=>{function ENe(t){return function(e){return e==null?void 0:e[t]}}DX.exports=ENe});var kX=C((Cst,PX)=>{var yNe=vf();function BNe(t){return function(e){return yNe(e,t)}}PX.exports=BNe});var FX=C((mst,vX)=>{var wNe=xX(),QNe=kX(),bNe=iy(),SNe=rl();function DNe(t){return bNe(t)?wNe(SNe(t)):QNe(t)}vX.exports=DNe});var pk=C((Ist,RX)=>{var xNe=wX(),PNe=SX(),kNe=cy(),vNe=fn(),FNe=FX();function RNe(t){return typeof t=="function"?t:t==null?kNe:typeof t=="object"?vNe(t)?PNe(t[0],t[1]):xNe(t):FNe(t)}RX.exports=RNe});var dk=C((Est,LX)=>{var LNe=gu(),NNe=$P(),MNe=pk();function ONe(t,e){var r={};return e=MNe(e,3),NNe(t,function(i,n,s){LNe(r,n,e(i,n,s))}),r}LX.exports=ONe});var Jf=C((yst,NX)=>{"use strict";function sl(t){this._maxSize=t,this.clear()}sl.prototype.clear=function(){this._size=0,this._values=Object.create(null)};sl.prototype.get=function(t){return this._values[t]};sl.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var KNe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,MX=/^\d+$/,TNe=/^\d/,UNe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,HNe=/^\s*(['"]?)(.*?)(\1)\s*$/,Ck=512,OX=new sl(Ck),KX=new sl(Ck),TX=new sl(Ck);NX.exports={Cache:sl,split:Ik,normalizePath:mk,setter:function(t){var e=mk(t);return KX.get(t)||KX.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Wf,"__esModule",{value:!0});Wf.create=JNe;Wf.default=void 0;var WNe=Jf(),xy={context:"$",value:"."};function JNe(t,e){return new Py(t,e)}var Py=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===xy.context,this.isValue=this.key[0]===xy.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?xy.context:this.isValue?xy.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,WNe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Wf.default=Py;Py.prototype.__isYupRef=!0});var UX=C(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});yk.default=zNe;var VNe=Bk(dk()),ky=Bk(il()),XNe=Bk(ol());function Bk(t){return t&&t.__esModule?t:{default:t}}function vy(){return vy=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function zNe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=ZNe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:h,params:f,message:p}=t,{parent:m,context:I}=a;function y(U){return XNe.default.isRef(U)?U.getValue(n,m,I):U}function b(U={}){let v=(0,VNe.default)(vy({value:n,originalValue:l,label:o,path:U.path||s},f,U.params),y),J=new ky.default(ky.default.formatError(U.message||p,v),n,v.path,U.type||g);return J.params=v,J}let x=vy({path:s,parent:m,type:g,createError:b,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(h.call(x,n,x)).then(U=>{ky.default.isError(U)?i(U):U?i(null,U):i(b())})}catch(U){i(U)}return}let F;try{var N;if(F=h.call(x,n,x),typeof((N=F)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(U){i(U);return}ky.default.isError(F)?i(F):F?i(null,F):i(b())}return e.OPTIONS=t,e}});var wk=C(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});zf.getIn=HX;zf.default=void 0;var _Ne=Jf(),$Ne=t=>t.substr(0,t.length-1).substr(1);function HX(t,e,r,i=r){let n,s,o;return e?((0,_Ne.forEach)(e,(a,l,c)=>{let u=l?$Ne(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var eMe=(t,e,r,i)=>HX(t,e,r,i).schema,tMe=eMe;zf.default=tMe});var qX=C(Fy=>{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});Fy.default=void 0;var YX=rMe(ol());function rMe(t){return t&&t.__esModule?t:{default:t}}var Ry=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){YX.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){YX.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new Ry;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};Fy.default=Ry});var uo=C(Ly=>{"use strict";Object.defineProperty(Ly,"__esModule",{value:!0});Ly.default=void 0;var GX=co(g9()),Eu=lo(),iMe=co(D9()),jX=co(Iy()),Ny=co(UX()),JX=co(Of()),nMe=co(ol()),sMe=wk(),oMe=co(jP()),WX=co(il()),zX=co(qX());function co(t){return t&&t.__esModule?t:{default:t}}function yn(){return yn=Object.assign||function(t){for(var e=1;e{this.typeError(Eu.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=yn({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=yn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,GX.default)(yn({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=yn({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(yn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,JX.default)(e),o=(0,JX.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,yn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,jX.default)({args:g,value:u,path:s,sync:n,tests:h,endEarly:c},f=>{if(f)return void i(f,u);(0,jX.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(yn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(yn({},r,{value:e})),n;return i._validate(e,yn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(WX.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(WX.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,GX.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Eu.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Eu.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Eu.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Ny.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,oMe.default)(e).map(s=>new nMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new iMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,Ny.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Eu.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Ny.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Eu.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Ny.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Ly.default=ds;ds.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ds.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,sMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],yn({},i,{parent:n,path:e}))};for(let t of["equals","is"])ds.prototype[t]=ds.prototype.oneOf;for(let t of["not","nope"])ds.prototype[t]=ds.prototype.notOneOf;ds.prototype.optional=ds.prototype.notRequired});var XX=C(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});Vf.create=VX;Vf.default=void 0;var AMe=aMe(uo());function aMe(t){return t&&t.__esModule?t:{default:t}}var Qk=AMe.default,lMe=Qk;Vf.default=lMe;function VX(){return new Qk}VX.prototype=Qk.prototype});var yu=C(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.default=void 0;var cMe=t=>t==null;My.default=cMe});var t7=C(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});Xf.create=ZX;Xf.default=void 0;var uMe=_X(uo()),$X=lo(),e7=_X(yu());function _X(t){return t&&t.__esModule?t:{default:t}}function ZX(){return new Oy}var Oy=class extends uMe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=$X.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,e7.default)(r)||r===!0}})}isFalse(e=$X.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,e7.default)(r)||r===!1}})}};Xf.default=Oy;ZX.prototype=Oy.prototype});var n7=C(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});Zf.create=r7;Zf.default=void 0;var Cs=lo(),go=i7(yu()),gMe=i7(uo());function i7(t){return t&&t.__esModule?t:{default:t}}var hMe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,fMe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,pMe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,dMe=t=>(0,go.default)(t)||t===t.trim(),CMe={}.toString();function r7(){return new Ky}var Ky=class extends gMe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===CMe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Cs.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,go.default)(i)||i.length===this.resolve(e)}})}min(e,r=Cs.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,go.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Cs.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,go.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Cs.string.matches,params:{regex:e},test:o=>(0,go.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Cs.string.email){return this.matches(hMe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Cs.string.url){return this.matches(fMe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Cs.string.uuid){return this.matches(pMe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Cs.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:dMe})}lowercase(e=Cs.string.lowercase){return this.transform(r=>(0,go.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,go.default)(r)||r===r.toLowerCase()})}uppercase(e=Cs.string.uppercase){return this.transform(r=>(0,go.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,go.default)(r)||r===r.toUpperCase()})}};Zf.default=Ky;r7.prototype=Ky.prototype});var a7=C(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.create=s7;_f.default=void 0;var al=lo(),Al=o7(yu()),mMe=o7(uo());function o7(t){return t&&t.__esModule?t:{default:t}}var IMe=t=>t!=+t;function s7(){return new Ty}var Ty=class extends mMe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!IMe(e)}min(e,r=al.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Al.default)(i)||i>=this.resolve(e)}})}max(e,r=al.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Al.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=al.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Al.default)(i)||ithis.resolve(e)}})}positive(e=al.number.positive){return this.moreThan(0,e)}negative(e=al.number.negative){return this.lessThan(0,e)}integer(e=al.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Al.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Al.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Al.default)(n)?n:Math[e](n))}};_f.default=Ty;s7.prototype=Ty.prototype});var A7=C(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});bk.default=EMe;var yMe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function EMe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=yMe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var u7=C($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});$f.create=Sk;$f.default=void 0;var BMe=Uy(A7()),l7=lo(),c7=Uy(yu()),wMe=Uy(ol()),QMe=Uy(uo());function Uy(t){return t&&t.__esModule?t:{default:t}}var Dk=new Date(""),bMe=t=>Object.prototype.toString.call(t)==="[object Date]";function Sk(){return new ep}var ep=class extends QMe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,BMe.default)(e),isNaN(e)?Dk:new Date(e))})})}_typeCheck(e){return bMe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(wMe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=l7.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,c7.default)(n)||n>=this.resolve(i)}})}max(e,r=l7.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,c7.default)(n)||n<=this.resolve(i)}})}};$f.default=ep;ep.INVALID_DATE=Dk;Sk.prototype=ep.prototype;Sk.INVALID_DATE=Dk});var h7=C((Lst,g7)=>{function SMe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function DMe(t){return function(e){return t==null?void 0:t[e]}}f7.exports=DMe});var C7=C((Mst,d7)=>{var xMe=p7(),PMe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},kMe=xMe(PMe);d7.exports=kMe});var I7=C((Ost,m7)=>{var vMe=C7(),FMe=Rc(),RMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,LMe="\\u0300-\\u036f",NMe="\\ufe20-\\ufe2f",MMe="\\u20d0-\\u20ff",OMe=LMe+NMe+MMe,KMe="["+OMe+"]",TMe=RegExp(KMe,"g");function UMe(t){return t=FMe(t),t&&t.replace(RMe,vMe).replace(TMe,"")}m7.exports=UMe});var y7=C((Kst,E7)=>{var HMe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function YMe(t){return t.match(HMe)||[]}E7.exports=YMe});var w7=C((Tst,B7)=>{var qMe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GMe(t){return qMe.test(t)}B7.exports=GMe});var Y7=C((Ust,Q7)=>{var b7="\\ud800-\\udfff",jMe="\\u0300-\\u036f",JMe="\\ufe20-\\ufe2f",WMe="\\u20d0-\\u20ff",zMe=jMe+JMe+WMe,S7="\\u2700-\\u27bf",D7="a-z\\xdf-\\xf6\\xf8-\\xff",VMe="\\xac\\xb1\\xd7\\xf7",XMe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ZMe="\\u2000-\\u206f",_Me=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",x7="A-Z\\xc0-\\xd6\\xd8-\\xde",$Me="\\ufe0e\\ufe0f",P7=VMe+XMe+ZMe+_Me,k7="['\u2019]",v7="["+P7+"]",eOe="["+zMe+"]",F7="\\d+",tOe="["+S7+"]",R7="["+D7+"]",L7="[^"+b7+P7+F7+S7+D7+x7+"]",rOe="\\ud83c[\\udffb-\\udfff]",iOe="(?:"+eOe+"|"+rOe+")",nOe="[^"+b7+"]",N7="(?:\\ud83c[\\udde6-\\uddff]){2}",M7="[\\ud800-\\udbff][\\udc00-\\udfff]",Bu="["+x7+"]",sOe="\\u200d",O7="(?:"+R7+"|"+L7+")",oOe="(?:"+Bu+"|"+L7+")",K7="(?:"+k7+"(?:d|ll|m|re|s|t|ve))?",T7="(?:"+k7+"(?:D|LL|M|RE|S|T|VE))?",U7=iOe+"?",H7="["+$Me+"]?",aOe="(?:"+sOe+"(?:"+[nOe,N7,M7].join("|")+")"+H7+U7+")*",AOe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",lOe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",cOe=H7+U7+aOe,uOe="(?:"+[tOe,N7,M7].join("|")+")"+cOe,gOe=RegExp([Bu+"?"+R7+"+"+K7+"(?="+[v7,Bu,"$"].join("|")+")",oOe+"+"+T7+"(?="+[v7,Bu+O7,"$"].join("|")+")",Bu+"?"+O7+"+"+K7,Bu+"+"+T7,lOe,AOe,F7,uOe].join("|"),"g");function hOe(t){return t.match(gOe)||[]}Q7.exports=hOe});var G7=C((Hst,q7)=>{var fOe=y7(),pOe=w7(),dOe=Rc(),COe=Y7();function mOe(t,e,r){return t=dOe(t),e=r?void 0:e,e===void 0?pOe(t)?COe(t):fOe(t):t.match(e)||[]}q7.exports=mOe});var xk=C((Yst,j7)=>{var IOe=h7(),EOe=I7(),yOe=G7(),BOe="['\u2019]",wOe=RegExp(BOe,"g");function QOe(t){return function(e){return IOe(yOe(EOe(e).replace(wOe,"")),t,"")}}j7.exports=QOe});var W7=C((qst,J7)=>{var bOe=xk(),SOe=bOe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});J7.exports=SOe});var V7=C((Gst,z7)=>{var DOe=QD(),xOe=xk(),POe=xOe(function(t,e,r){return e=e.toLowerCase(),t+(r?DOe(e):e)});z7.exports=POe});var Z7=C((jst,X7)=>{var kOe=gu(),vOe=$P(),FOe=pk();function ROe(t,e){var r={};return e=FOe(e,3),vOe(t,function(i,n,s){kOe(r,e(i,n,s),i)}),r}X7.exports=ROe});var $7=C((Jst,Pk)=>{Pk.exports=function(t){return _7(LOe(t),t)};Pk.exports.array=_7;function _7(t,e){var r=t.length,i=new Array(r),n={},s=r,o=NOe(e),a=MOe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var h;try{h=", node was:"+JSON.stringify(c)}catch(m){h=""}throw new Error("Cyclic dependency"+h)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var f=o.get(c)||new Set;if(f=Array.from(f),u=f.length){g.add(c);do{var p=f[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function LOe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});kk.default=OOe;var KOe=Hy(py()),TOe=Hy($7()),UOe=Jf(),HOe=Hy(ol()),YOe=Hy(fu());function Hy(t){return t&&t.__esModule?t:{default:t}}function OOe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,UOe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,KOe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),HOe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,YOe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return TOe.default.array(i,r).reverse()}});var rZ=C(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=qOe;function tZ(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function qOe(t){return(e,r)=>tZ(t,e)-tZ(t,r)}});var lZ=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.create=iZ;tp.default=void 0;var nZ=ms(py()),sZ=ms(W7()),GOe=ms(V7()),jOe=ms(Z7()),JOe=ms(dk()),WOe=Jf(),oZ=lo(),zOe=ms(eZ()),aZ=ms(rZ()),VOe=ms(Iy()),XOe=ms(il()),Fk=ms(uo());function ms(t){return t&&t.__esModule?t:{default:t}}function wu(){return wu=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function ZOe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _Oe=(0,aZ.default)([]),Yy=class extends Fk.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_Oe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return AZ(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=wu({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let h=s[g],f=(0,nZ.default)(n,g);if(h){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,h=h.resolve({value:m,context:r.context,parent:l});let I="spec"in h?h.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?h.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else f&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!XOe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!AZ(g)){i(n[0]||null,g);return}a=a||g;let h=this._nodes.map(f=>(p,m)=>{let I=f.indexOf(".")===-1?(r.path?`${r.path}.`:"")+f:`${r.path||""}["${f}"]`,y=this.fields[f];if(y&&"validate"in y){y.validate(g[f],wu({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[f]}),m);return}m(null)});(0,VOe.default)({sync:s,tests:h,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=wu({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof Fk.default&&s instanceof Fk.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,aZ.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,zOe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,WOe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,nZ.default)(s,e)&&(o=wu({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=oZ.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=ZOe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=oZ.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jOe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(GOe.default)}snakeCase(){return this.transformKeys(sZ.default)}constantCase(){return this.transformKeys(e=>(0,sZ.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,JOe.default)(this.fields,r=>r.describe()),e}};tp.default=Yy;function iZ(t){return new Yy(t)}iZ.prototype=Yy.prototype});var uZ=C(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.create=cZ;rp.default=void 0;var Rk=Qu(yu()),$Oe=Qu(fu()),eKe=Qu(Of()),Lk=lo(),tKe=Qu(Iy()),rKe=Qu(il()),iKe=Qu(uo());function Qu(t){return t&&t.__esModule?t:{default:t}}function qy(){return qy=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,qy({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(f,p)=>{if(f){if(!rKe.default.isError(f)||u)return void i(f,p);o.push(f)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}h=h||p;let m=new Array(p.length);for(let I=0;Ic.validate(y,x,N)}(0,tKe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,$Oe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,eKe.default)(e));return r.innerType=e,r}length(e,r=Lk.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Rk.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||Lk.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Rk.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||Lk.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Rk.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};rp.default=Gy;cZ.prototype=Gy.prototype});var gZ=C(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.create=nKe;ip.default=void 0;var oKe=sKe(fu());function sKe(t){return t&&t.__esModule?t:{default:t}}function nKe(t){return new Nk(t)}var Nk=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,oKe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},aKe=Nk;ip.default=aKe});var hZ=C(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});Mk.default=AKe;var cKe=lKe(lo());function lKe(t){return t&&t.__esModule?t:{default:t}}function AKe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{cKe.default[e][r]=t[e][r]})})}});var Kk=C(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.addMethod=uKe;Object.defineProperty(qt,"MixedSchema",{enumerable:!0,get:function(){return fZ.default}});Object.defineProperty(qt,"mixed",{enumerable:!0,get:function(){return fZ.create}});Object.defineProperty(qt,"BooleanSchema",{enumerable:!0,get:function(){return Ok.default}});Object.defineProperty(qt,"bool",{enumerable:!0,get:function(){return Ok.create}});Object.defineProperty(qt,"boolean",{enumerable:!0,get:function(){return Ok.create}});Object.defineProperty(qt,"StringSchema",{enumerable:!0,get:function(){return pZ.default}});Object.defineProperty(qt,"string",{enumerable:!0,get:function(){return pZ.create}});Object.defineProperty(qt,"NumberSchema",{enumerable:!0,get:function(){return dZ.default}});Object.defineProperty(qt,"number",{enumerable:!0,get:function(){return dZ.create}});Object.defineProperty(qt,"DateSchema",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(qt,"date",{enumerable:!0,get:function(){return CZ.create}});Object.defineProperty(qt,"ObjectSchema",{enumerable:!0,get:function(){return mZ.default}});Object.defineProperty(qt,"object",{enumerable:!0,get:function(){return mZ.create}});Object.defineProperty(qt,"ArraySchema",{enumerable:!0,get:function(){return IZ.default}});Object.defineProperty(qt,"array",{enumerable:!0,get:function(){return IZ.create}});Object.defineProperty(qt,"ref",{enumerable:!0,get:function(){return gKe.create}});Object.defineProperty(qt,"lazy",{enumerable:!0,get:function(){return hKe.create}});Object.defineProperty(qt,"ValidationError",{enumerable:!0,get:function(){return fKe.default}});Object.defineProperty(qt,"reach",{enumerable:!0,get:function(){return pKe.default}});Object.defineProperty(qt,"isSchema",{enumerable:!0,get:function(){return EZ.default}});Object.defineProperty(qt,"setLocale",{enumerable:!0,get:function(){return dKe.default}});Object.defineProperty(qt,"BaseSchema",{enumerable:!0,get:function(){return CKe.default}});var fZ=ll(XX()),Ok=ll(t7()),pZ=ll(n7()),dZ=ll(a7()),CZ=ll(u7()),mZ=ll(lZ()),IZ=ll(uZ()),gKe=ol(),hKe=gZ(),fKe=np(il()),pKe=np(wk()),EZ=np(fu()),dKe=np(hZ()),CKe=np(uo());function np(t){return t&&t.__esModule?t:{default:t}}function yZ(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return yZ=function(){return t},t}function ll(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=yZ();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function uKe(t,e,r){if(!t||!(0,EZ.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var SZ=C((got,op)=>{"use strict";var EKe=process.env.TERM_PROGRAM==="Hyper",yKe=process.platform==="win32",wZ=process.platform==="linux",Tk={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},QZ=Object.assign({},Tk,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),bZ=Object.assign({},Tk,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:wZ?"\u25B8":"\u276F",pointerSmall:wZ?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});op.exports=yKe&&!EKe?QZ:bZ;Reflect.defineProperty(op.exports,"common",{enumerable:!1,value:Tk});Reflect.defineProperty(op.exports,"windows",{enumerable:!1,value:QZ});Reflect.defineProperty(op.exports,"other",{enumerable:!1,value:bZ})});var Hn=C((hot,Uk)=>{"use strict";var BKe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),wKe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,DZ=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=wKe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!BKe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=SZ(),t.define=n,t};Uk.exports=DZ();Uk.exports.create=DZ});var Xr=C(ht=>{"use strict";var QKe=Object.prototype.toString,Bn=Hn(),xZ=!1,Hk=[],PZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Bn.hasColor(t);var Jy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>QKe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};ht.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};ht.unmute=t=>{let e=t.stack.find(i=>Bn.keys.color.includes(i));return e?Bn[e]:t.stack.find(i=>i.slice(2)==="bg")?Bn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Bn.keys.color.includes(i));if(e){let i=Bn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Bn[r.slice(2).toLowerCase()]||t:Bn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Bn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Bn[PZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=PZ[i];return n&&Bn["bg"+ht.pascal(n)]||t}return Bn.none};ht.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Jy(t))return e;if(!Jy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Jy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Jy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{xZ||(xZ=!0,Hk.forEach(n=>n()),r===!0&&process.exit(128+i))};Hk.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Hk.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var kZ=C(Su=>{"use strict";Su.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Su.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Su.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Su.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Su.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var RZ=C((dot,vZ)=>{"use strict";var FZ=require("readline"),bKe=kZ(),SKe=/^(?:\x1b)([a-zA-Z0-9])$/,DKe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,xKe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function PKe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function kKe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Wy=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=SKe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=DKe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=xKe[s],i.shift=PKe(s)||i.shift,i.ctrl=kKe(s)||i.ctrl}return i};Wy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=FZ.createInterface({terminal:!0,input:r});FZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,Wy(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};Wy.action=(t,e,r)=>{let i=P(P({},bKe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};vZ.exports=Wy});var NZ=C((Cot,LZ)=>{"use strict";LZ.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),vKe(t,r,i)}};function vKe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var KZ=C((mot,MZ)=>{"use strict";var{define:FKe,width:RKe}=Xr(),OZ=class{constructor(e){let r=e.options;FKe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=RKe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};MZ.exports=OZ});var UZ=C((Iot,TZ)=>{"use strict";var Yk=Xr(),Mr=Hn(),qk={default:Mr.noop,noop:Mr.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||Yk.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||Yk.complement(this.primary)},primary:Mr.cyan,success:Mr.green,danger:Mr.magenta,strong:Mr.bold,warning:Mr.yellow,muted:Mr.dim,disabled:Mr.gray,dark:Mr.dim.gray,underline:Mr.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};qk.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Mr.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Mr.visible=t.styles.visible);let e=Yk.merge({},qk,t.styles);delete e.merge;for(let r of Object.keys(Mr))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Mr[r]});for(let r of Object.keys(Mr.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Mr[r]});return e};TZ.exports=qk});var YZ=C((Eot,HZ)=>{"use strict";var Gk=process.platform==="win32",ho=Hn(),LKe=Xr(),jk=V(P({},ho.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:ho.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:ho.symbols.question,submitted:ho.symbols.check,cancelled:ho.symbols.cross},separator:{pending:ho.symbols.pointerSmall,submitted:ho.symbols.middot,cancelled:ho.symbols.middot},radio:{off:Gk?"( )":"\u25EF",on:Gk?"(*)":"\u25C9",disabled:Gk?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});jk.merge=t=>{let e=LKe.merge({},ho.symbols,jk,t.symbols);return delete e.merge,e};HZ.exports=jk});var GZ=C((yot,qZ)=>{"use strict";var NKe=UZ(),MKe=YZ(),OKe=Xr();qZ.exports=t=>{t.options=OKe.merge({},t.options.theme,t.options),t.symbols=MKe.merge(t.options),t.styles=NKe.merge(t.options)}});var VZ=C((jZ,JZ)=>{"use strict";var WZ=process.env.TERM_PROGRAM==="Apple_Terminal",KKe=Hn(),Jk=Xr(),Yn=JZ.exports=jZ,Xt="[",zZ="\x07",Wk=!1,Ia=Yn.code={bell:zZ,beep:zZ,beginning:`${Xt}G`,down:`${Xt}J`,esc:Xt,getPosition:`${Xt}6n`,hide:`${Xt}?25l`,line:`${Xt}2K`,lineEnd:`${Xt}K`,lineStart:`${Xt}1K`,restorePosition:Xt+(WZ?"8":"u"),savePosition:Xt+(WZ?"7":"s"),screen:`${Xt}2J`,show:`${Xt}?25h`,up:`${Xt}1J`},cl=Yn.cursor={get hidden(){return Wk},hide(){return Wk=!0,Ia.hide},show(){return Wk=!1,Ia.show},forward:(t=1)=>`${Xt}${t}C`,backward:(t=1)=>`${Xt}${t}D`,nextLine:(t=1)=>`${Xt}E`.repeat(t),prevLine:(t=1)=>`${Xt}F`.repeat(t),up:(t=1)=>t?`${Xt}${t}A`:"",down:(t=1)=>t?`${Xt}${t}B`:"",right:(t=1)=>t?`${Xt}${t}C`:"",left:(t=1)=>t?`${Xt}${t}D`:"",to(t,e){return e?`${Xt}${e+1};${t+1}H`:`${Xt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?cl.left(-t):t>0?cl.right(t):"",r+=e<0?cl.up(-e):e>0?cl.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Jk.isPrimitive(i)?String(i):"",n=Jk.isPrimitive(n)?String(n):"",a=Jk.isPrimitive(a)?String(a):"",o){let l=Yn.cursor.up(o)+Yn.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Yn.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Yn.cursor.move(l)}}},zk=Yn.erase={screen:Ia.screen,up:Ia.up,down:Ia.down,line:Ia.line,lineEnd:Ia.lineEnd,lineStart:Ia.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return zk.line+cl.to(0);let r=s=>[...KKe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(zk.line+cl.prevLine()).repeat(n-1)+zk.line+cl.to(0)}});var Du=C((Bot,XZ)=>{"use strict";var TKe=require("events"),ZZ=Hn(),Vk=RZ(),UKe=NZ(),HKe=KZ(),YKe=GZ(),ki=Xr(),ul=VZ(),zy=class extends TKe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,YKe(this),UKe(this),this.state=new HKe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GKe(this.options.margin),this.setMaxListeners(0),qKe(this)}async keypress(e,r={}){this.keypressed=!0;let i=Vk.action(e,Vk(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ul.code.beep)}cursorHide(){this.stdout.write(ul.cursor.hide()),ki.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ul.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(ul.cursor.down(e)+ul.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ul.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=ZZ.unstyle(i);let n=ZZ.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],h=(i+(r?" "+r:"")).length,f=he.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,ki.isObject(e)&&(e=e[i.status]||e.pending),ki.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return ki.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return ki.isObject(s)&&(s=s[i.status]||s.pending),ki.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&ki.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=ki.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&ki.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return ki.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return ki.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return ki.resolve(this,e,...r)}get base(){return zy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||ki.height(this.stdout,25)}get width(){return this.options.columns||ki.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function qKe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GKe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}XZ.exports=zy});var e_=C((wot,_Z)=>{"use strict";var jKe=Xr(),$Z={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return $Z.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};_Z.exports=(t,e={})=>{let r=jKe.merge({},$Z,e.roles);return r[t]||r.default}});var ap=C((Qot,t_)=>{"use strict";var JKe=Hn(),WKe=Du(),zKe=e_(),Vy=Xr(),{reorder:Xk,scrollUp:VKe,scrollDown:XKe,isObject:r_,swap:ZKe}=Vy,i_=class extends WKe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");r_(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=zKe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Vy.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,JKe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return n_(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=Xk(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=Xk(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=Xk(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=VKe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=XKe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){ZKe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(r_(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=Vy.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return n_(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function n_(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Vy.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}t_.exports=i_});var Ea=C((bot,s_)=>{"use strict";var _Ke=ap(),Zk=Xr(),o_=class extends _Ke{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!Zk.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!Zk.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(Zk.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};s_.exports=o_});var l_=C((Sot,a_)=>{"use strict";var $Ke=Ea(),eTe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},A_=class extends $Ke{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=eTe(this.input,e),i=this.choices;this.choices=i.map(n=>V(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};a_.exports=A_});var $k=C((Dot,c_)=>{"use strict";var _k=Xr();c_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=_k.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",h=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,h=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=_k.isPrimitive(i)?`${i}`:"",r=_k.isPrimitive(r)?`${r}`:"";let f=i&&i.startsWith(r)&&i!==r,p=f?c(i[r.length]):h;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),f){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var Xy=C((xot,u_)=>{"use strict";var tTe=Hn(),rTe=Ea(),iTe=$k(),g_=class extends rTe{constructor(e){super(V(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:h,danger:f}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),b=e.message;this.align==="right"&&(b=b.padStart(this.longest+1," ")),this.align==="left"&&(b=b.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,this.state)!==!0&&(F="danger");let U=n[F](await this.indicator(e,r))+(e.pad||""),v=this.indent(e),J=()=>[v,U,b+y,c,p].filter(Boolean).join(" ");if(i.submitted)return b=tTe.unstyle(b),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let oe=this.styles.muted;c=iTe(this,{input:c,initial:o,pos:s,showCursor:m,color:oe})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(b=h(b)),e.error?c+=(c?" ":"")+f(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};u_.exports=g_});var ev=C((Pot,h_)=>{"use strict";var nTe=Xy(),sTe=()=>{throw new Error("expected prompt to have a custom authenticate method")},f_=(t=sTe)=>{class e extends nTe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return f_(i)}}return e};h_.exports=f_()});var C_=C((kot,p_)=>{"use strict";var oTe=ev();function aTe(t,e){return t.username===this.options.username&&t.password===this.options.password}var d_=(t=aTe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends oTe.create(t){constructor(n){super(V(P({},n),{choices:e}))}static create(n){return d_(n)}}return r};p_.exports=d_()});var Zy=C((vot,m_)=>{"use strict";var ATe=Du(),{isPrimitive:lTe,hasColor:cTe}=Xr(),I_=class extends ATe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return lTe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return cTe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),h=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,h].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};m_.exports=I_});var B_=C((Fot,E_)=>{"use strict";var uTe=Zy(),y_=class extends uTe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};E_.exports=y_});var b_=C((Rot,w_)=>{"use strict";var gTe=Ea(),hTe=Xy(),xu=hTe.prototype,Q_=class extends gTe{constructor(e){super(V(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():xu.dispatch.call(this,e,r)}append(e,r){return xu.append.call(this,e,r)}delete(e,r){return xu.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?xu.next.call(this):super.next()}prev(){return this.focused.editable?xu.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?xu.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};w_.exports=Q_});var gl=C((Lot,S_)=>{"use strict";var fTe=Du(),pTe=$k(),{isPrimitive:dTe}=Xr(),D_=class extends fTe{constructor(e){super(e);this.initial=dTe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):pTe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};S_.exports=D_});var P_=C((Not,x_)=>{"use strict";var CTe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),_y=t=>CTe(t).filter(Boolean);x_.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:_y([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:_y([...s,r]),present:o};case"save":return{past:_y([...i,r]),present:""};case"remove":return o=_y(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var tv=C((Mot,k_)=>{"use strict";var mTe=gl(),v_=P_(),F_=class extends mTe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=v_(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=v_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};k_.exports=F_});var N_=C((Oot,R_)=>{"use strict";var ITe=gl(),L_=class extends ITe{format(){return""}};R_.exports=L_});var K_=C((Kot,M_)=>{"use strict";var ETe=gl(),O_=class extends ETe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};M_.exports=O_});var H_=C((Tot,T_)=>{"use strict";var yTe=Ea(),U_=class extends yTe{constructor(e){super(V(P({},e),{multiple:!0}))}};T_.exports=U_});var rv=C((Uot,Y_)=>{"use strict";var BTe=gl(),q_=class extends BTe{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};Y_.exports=q_});var j_=C((Hot,G_)=>{G_.exports=rv()});var z_=C((Yot,J_)=>{"use strict";var wTe=gl(),W_=class extends wTe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};J_.exports=W_});var __=C((qot,V_)=>{"use strict";var QTe=Hn(),bTe=ap(),X_=Xr(),Z_=class extends bTe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!X_.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=QTe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let f=X_.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),f=f.map(p=>this.styles.info(p))),f[0]+=u,this.linebreak&&f.push(""),[l+n,f.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),h=await this.footer(),f=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&f!=null&&(o+=this.styles.danger(f)),this.clear(r),this.write([a,o,c,g,h].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};V_.exports=Z_});var r$=C((Got,$_)=>{"use strict";var e$=Hn(),STe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",t$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=STe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},DTe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],h=()=>s[u+1],f=p=>{p.line=c,o.push(p)};for(f({type:"bos",value:""});uF.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new t$(y),a.push(x)),x.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:f({type:"text",value:p})}return f({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};$_.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await DTe(e,i),a=iv("result",t,e),l=iv("format",t,e),c=iv("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},h=!1)=>{let f=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(b,x,F,N)=>{let U=await c(b,x,F,N);return U===!1?"Invalid field "+F.name:U};for(let b of n){let x=b.value,F=b.key;if(b.type!=="template"){x&&(g.output+=x);continue}if(b.type==="template"){let N=s.find(K=>K.name===F);e.required===!0&&g.required.add(N.name);let U=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||b.inner;if(h){let K=await p(g.values[F],g,N,f);if(K&&typeof K=="string"||K===!1){g.invalid.set(F,K);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,f);g.output+=e$.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,f),U!==x?(g.values[F]=U,x=t.styles.typing(U),g.missing.delete(J)):(g.values[F]=void 0,U=`<${J}>`,x=t.styles.primary(U),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(U)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(U)),f===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading(e$.unstyle(x))),f++}x&&(g.output+=x)}let m=g.output.split(` +`).map(b=>" "+b),I=s.length,y=0;for(let b of s)g.invalid.has(b.name)&&b.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[b.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` +`),g.output}};function iv(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var s$=C((jot,i$)=>{"use strict";var xTe=Hn(),PTe=r$(),kTe=Du(),n$=class extends kTe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await PTe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(b=>b!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",h=await this.hint()||"",f=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),h&&!m&&this.state.completed===0&&(c+=" "+h),this.clear(n);let y=[u,c,f,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=xTe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};i$.exports=n$});var A$=C((Jot,o$)=>{"use strict";var vTe="(Use + to sort)",FTe=Ea(),a$=class extends FTe{constructor(e){super(V(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,vTe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};o$.exports=a$});var u$=C((Wot,l$)=>{"use strict";var RTe=ap(),c$=class extends RTe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=LTe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,h=await this.resolve(e.message,this.state,e,r),f=this.indent(e),p=f+e.scale.map((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=f+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,h].filter(Boolean).join(" "),b=()=>[y(),p,I," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),b()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function LTe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{g$.exports=tv()});var d$=C((Vot,f$)=>{"use strict";var NTe=Zy(),p$=class extends NTe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};f$.exports=p$});var I$=C((Xot,C$)=>{"use strict";var MTe=Ea(),m$=class extends MTe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};C$.exports=m$});var y$=C(nv=>{"use strict";var E$=Xr(),wr=(t,e)=>{E$.defineExport(nv,t,e),E$.defineExport(nv,t.toLowerCase(),e)};wr("AutoComplete",()=>l_());wr("BasicAuth",()=>C_());wr("Confirm",()=>B_());wr("Editable",()=>b_());wr("Form",()=>Xy());wr("Input",()=>tv());wr("Invisible",()=>N_());wr("List",()=>K_());wr("MultiSelect",()=>H_());wr("Numeral",()=>j_());wr("Password",()=>z_());wr("Scale",()=>__());wr("Select",()=>Ea());wr("Snippet",()=>s$());wr("Sort",()=>A$());wr("Survey",()=>u$());wr("Text",()=>h$());wr("Toggle",()=>d$());wr("Quiz",()=>I$())});var w$=C((_ot,B$)=>{B$.exports={ArrayPrompt:ap(),AuthPrompt:ev(),BooleanPrompt:Zy(),NumberPrompt:rv(),StringPrompt:gl()}});var lp=C(($ot,Q$)=>{"use strict";var b$=require("assert"),sv=require("events"),ya=Xr(),Is=class extends sv{constructor(e,r){super();this.options=ya.merge({},e),this.answers=P({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}b$.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ya.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];b$(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Du()}static get prompts(){return y$()}static get types(){return w$()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ya.mixinEmitter(e,new sv),e}};ya.mixinEmitter(Is,new sv);var ov=Is.prompts;for(let t of Object.keys(ov)){let e=t.toLowerCase(),r=i=>new ov[t](i).run();Is.prompt[e]=r,Is[e]=r,Is[t]||Reflect.defineProperty(Is,t,{get:()=>ov[t]})}var Ap=t=>{ya.defineExport(Is,t,()=>Is.types[t])};Ap("ArrayPrompt");Ap("AuthPrompt");Ap("BooleanPrompt");Ap("NumberPrompt");Ap("StringPrompt");Q$.exports=Is});var M$=C((Hat,N$)=>{function UTe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var HTe=ay(),YTe=gu();function qTe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var GTe=Pu(),jTe=Cu();function JTe(t,e){return t&>e(e,jTe(e),t)}K$.exports=JTe});var H$=C((Gat,U$)=>{function WTe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}U$.exports=WTe});var q$=C((jat,Y$)=>{var zTe=Un(),VTe=wy(),XTe=H$(),ZTe=Object.prototype,_Te=ZTe.hasOwnProperty;function $Te(t){if(!zTe(t))return XTe(t);var e=VTe(t),r=[];for(var i in t)i=="constructor"&&(e||!_Te.call(t,i))||r.push(i);return r}Y$.exports=$Te});var ku=C((Jat,G$)=>{var eUe=ZP(),tUe=q$(),rUe=qf();function iUe(t){return rUe(t)?eUe(t,!0):tUe(t)}G$.exports=iUe});var J$=C((Wat,j$)=>{var nUe=Pu(),sUe=ku();function oUe(t,e){return t&&nUe(e,sUe(e),t)}j$.exports=oUe});var gv=C((dp,vu)=>{var aUe=On(),W$=typeof dp=="object"&&dp&&!dp.nodeType&&dp,z$=W$&&typeof vu=="object"&&vu&&!vu.nodeType&&vu,AUe=z$&&z$.exports===W$,V$=AUe?aUe.Buffer:void 0,X$=V$?V$.allocUnsafe:void 0;function lUe(t,e){if(e)return t.slice();var r=t.length,i=X$?X$(r):new t.constructor(r);return t.copy(i),i}vu.exports=lUe});var hv=C((zat,Z$)=>{function cUe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var uUe=Pu(),gUe=by();function hUe(t,e){return uUe(t,gUe(t),e)}_$.exports=hUe});var $y=C((Xat,eee)=>{var fUe=_P(),pUe=fUe(Object.getPrototypeOf,Object);eee.exports=pUe});var fv=C((Zat,tee)=>{var dUe=ly(),CUe=$y(),mUe=by(),IUe=nk(),EUe=Object.getOwnPropertySymbols,yUe=EUe?function(t){for(var e=[];t;)dUe(e,mUe(t)),t=CUe(t);return e}:IUe;tee.exports=yUe});var iee=C((_at,ree)=>{var BUe=Pu(),wUe=fv();function QUe(t,e){return BUe(t,wUe(t),e)}ree.exports=QUe});var see=C(($at,nee)=>{var bUe=ik(),SUe=fv(),DUe=ku();function xUe(t){return bUe(t,DUe,SUe)}nee.exports=xUe});var aee=C((eAt,oee)=>{var PUe=Object.prototype,kUe=PUe.hasOwnProperty;function vUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}oee.exports=vUe});var eB=C((tAt,Aee)=>{var lee=tk();function FUe(t){var e=new t.constructor(t.byteLength);return new lee(e).set(new lee(t)),e}Aee.exports=FUe});var uee=C((rAt,cee)=>{var RUe=eB();function LUe(t,e){var r=e?RUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}cee.exports=LUe});var hee=C((iAt,gee)=>{var NUe=/\w*$/;function MUe(t){var e=new t.constructor(t.source,NUe.exec(t));return e.lastIndex=t.lastIndex,e}gee.exports=MUe});var mee=C((nAt,fee)=>{var pee=OA(),dee=pee?pee.prototype:void 0,Cee=dee?dee.valueOf:void 0;function OUe(t){return Cee?Object(Cee.call(t)):{}}fee.exports=OUe});var pv=C((sAt,Iee)=>{var KUe=eB();function TUe(t,e){var r=e?KUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Iee.exports=TUe});var yee=C((oAt,Eee)=>{var UUe=eB(),HUe=uee(),YUe=hee(),qUe=mee(),GUe=pv(),jUe="[object Boolean]",JUe="[object Date]",WUe="[object Map]",zUe="[object Number]",VUe="[object RegExp]",XUe="[object Set]",ZUe="[object String]",_Ue="[object Symbol]",$Ue="[object ArrayBuffer]",e1e="[object DataView]",t1e="[object Float32Array]",r1e="[object Float64Array]",i1e="[object Int8Array]",n1e="[object Int16Array]",s1e="[object Int32Array]",o1e="[object Uint8Array]",a1e="[object Uint8ClampedArray]",A1e="[object Uint16Array]",l1e="[object Uint32Array]";function c1e(t,e,r){var i=t.constructor;switch(e){case $Ue:return UUe(t);case jUe:case JUe:return new i(+t);case e1e:return HUe(t,r);case t1e:case r1e:case i1e:case n1e:case s1e:case o1e:case a1e:case A1e:case l1e:return GUe(t,r);case WUe:return new i;case zUe:case ZUe:return new i(t);case VUe:return YUe(t);case XUe:return new i;case _Ue:return qUe(t)}}Eee.exports=c1e});var Qee=C((aAt,Bee)=>{var u1e=Un(),wee=Object.create,g1e=function(){function t(){}return function(e){if(!u1e(e))return{};if(wee)return wee(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Bee.exports=g1e});var dv=C((AAt,bee)=>{var h1e=Qee(),f1e=$y(),p1e=wy();function d1e(t){return typeof t.constructor=="function"&&!p1e(t)?h1e(f1e(t)):{}}bee.exports=d1e});var Dee=C((lAt,See)=>{var C1e=jf(),m1e=As(),I1e="[object Map]";function E1e(t){return m1e(t)&&C1e(t)==I1e}See.exports=E1e});var vee=C((cAt,xee)=>{var y1e=Dee(),B1e=Ey(),Pee=yy(),kee=Pee&&Pee.isMap,w1e=kee?B1e(kee):y1e;xee.exports=w1e});var Ree=C((uAt,Fee)=>{var Q1e=jf(),b1e=As(),S1e="[object Set]";function D1e(t){return b1e(t)&&Q1e(t)==S1e}Fee.exports=D1e});var Oee=C((gAt,Lee)=>{var x1e=Ree(),P1e=Ey(),Nee=yy(),Mee=Nee&&Nee.isSet,k1e=Mee?P1e(Mee):x1e;Lee.exports=k1e});var Yee=C((hAt,Kee)=>{var v1e=Gf(),F1e=M$(),R1e=ay(),L1e=T$(),N1e=J$(),M1e=gv(),O1e=hv(),K1e=$$(),T1e=iee(),U1e=sk(),H1e=see(),Y1e=jf(),q1e=aee(),G1e=yee(),j1e=dv(),J1e=fn(),W1e=Uf(),z1e=vee(),V1e=Un(),X1e=Oee(),Z1e=Cu(),_1e=ku(),$1e=1,e2e=2,t2e=4,Tee="[object Arguments]",r2e="[object Array]",i2e="[object Boolean]",n2e="[object Date]",s2e="[object Error]",Uee="[object Function]",o2e="[object GeneratorFunction]",a2e="[object Map]",A2e="[object Number]",Hee="[object Object]",l2e="[object RegExp]",c2e="[object Set]",u2e="[object String]",g2e="[object Symbol]",h2e="[object WeakMap]",f2e="[object ArrayBuffer]",p2e="[object DataView]",d2e="[object Float32Array]",C2e="[object Float64Array]",m2e="[object Int8Array]",I2e="[object Int16Array]",E2e="[object Int32Array]",y2e="[object Uint8Array]",B2e="[object Uint8ClampedArray]",w2e="[object Uint16Array]",Q2e="[object Uint32Array]",Rt={};Rt[Tee]=Rt[r2e]=Rt[f2e]=Rt[p2e]=Rt[i2e]=Rt[n2e]=Rt[d2e]=Rt[C2e]=Rt[m2e]=Rt[I2e]=Rt[E2e]=Rt[a2e]=Rt[A2e]=Rt[Hee]=Rt[l2e]=Rt[c2e]=Rt[u2e]=Rt[g2e]=Rt[y2e]=Rt[B2e]=Rt[w2e]=Rt[Q2e]=!0;Rt[s2e]=Rt[Uee]=Rt[h2e]=!1;function tB(t,e,r,i,n,s){var o,a=e&$1e,l=e&e2e,c=e&t2e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!V1e(t))return t;var u=J1e(t);if(u){if(o=q1e(t),!a)return O1e(t,o)}else{var g=Y1e(t),h=g==Uee||g==o2e;if(W1e(t))return M1e(t,a);if(g==Hee||g==Tee||h&&!n){if(o=l||h?{}:j1e(t),!a)return l?T1e(t,N1e(o,t)):K1e(t,L1e(o,t))}else{if(!Rt[g])return n?t:{};o=G1e(t,g,a)}}s||(s=new v1e);var f=s.get(t);if(f)return f;s.set(t,o),X1e(t)?t.forEach(function(I){o.add(tB(I,e,r,I,t,s))}):z1e(t)&&t.forEach(function(I,y){o.set(y,tB(I,e,r,y,t,s))});var p=c?l?H1e:U1e:l?_1e:Z1e,m=u?void 0:p(t);return F1e(m||t,function(I,y){m&&(y=I,I=t[y]),R1e(o,y,tB(I,e,r,y,t,s))}),o}Kee.exports=tB});var Cv=C((fAt,qee)=>{var b2e=Yee(),S2e=1,D2e=4;function x2e(t){return b2e(t,S2e|D2e)}qee.exports=x2e});var jee=C((pAt,Gee)=>{var P2e=DP();function k2e(t,e,r){return t==null?t:P2e(t,e,r)}Gee.exports=k2e});var Zee=C((yAt,Xee)=>{function v2e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Xee.exports=v2e});var $ee=C((BAt,_ee)=>{var F2e=vf(),R2e=ED();function L2e(t,e){return e.length<2?t:F2e(t,R2e(e,0,-1))}_ee.exports=L2e});var tte=C((wAt,ete)=>{var N2e=uu(),M2e=Zee(),O2e=$ee(),K2e=rl();function T2e(t,e){return e=N2e(e,t),t=O2e(t,e),t==null||delete t[K2e(M2e(e))]}ete.exports=T2e});var ite=C((QAt,rte)=>{var U2e=tte();function H2e(t,e){return t==null?!0:U2e(t,e)}rte.exports=H2e});var cte=C((elt,lte)=>{lte.exports={name:"@yarnpkg/cli",version:"3.0.0-rc.6",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0-rc.6","@yarnpkg/fslib":"workspace:^2.5.0-rc.6","@yarnpkg/libzip":"workspace:^2.2.2-rc.4","@yarnpkg/parsers":"workspace:^2.4.0-rc.4","@yarnpkg/plugin-compat":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-dlx":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-essentials":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-file":"workspace:^2.2.1-rc.6","@yarnpkg/plugin-git":"workspace:^2.4.0-rc.6","@yarnpkg/plugin-github":"workspace:^2.2.0-rc.6","@yarnpkg/plugin-http":"workspace:^2.1.3-rc.6","@yarnpkg/plugin-init":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-link":"workspace:^2.1.2-rc.6","@yarnpkg/plugin-node-modules":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-npm":"workspace:^2.5.0-rc.6","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-pack":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-patch":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-pnp":"workspace:^3.0.0-rc.6","@yarnpkg/shell":"workspace:^3.0.0-rc.6",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.0-rc.10",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"^4.3.2"},peerDependencies:{"@yarnpkg/core":"^3.0.0-rc.6"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"},stableVersion:"2.4.0"}});var jv=C((Lft,sre)=>{"use strict";sre.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var Jv=C((Nft,ore)=>{"use strict";var fHe=jv();function are(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=fHe(t);return t=t.substring(t.indexOf("://")+3),are(e)?!0:t.indexOf("@"){"use strict";var pHe=jv(),dHe=Jv(),CHe=require("querystring");function mHe(t){t=(t||"").trim();var e={protocols:pHe(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(dHe(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=CHe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}Are.exports=mHe});var gre=C((Oft,cre)=>{"use strict";var IHe=typeof URL=="undefined"?require("url").URL:URL,ure=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);cre.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new IHe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];ure(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])ure(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var fre=C((Kft,hre)=>{"use strict";var EHe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yHe=lre(),BHe=gre();function wHe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":EHe(e))!=="object"&&(e={stripFragment:!1}),t=BHe(t,e));var r=yHe(t);return r}hre.exports=wHe});var Cre=C((Tft,pre)=>{"use strict";var QHe=fre(),dre=Jv();function bHe(t){var e=QHe(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),dre(e.protocols)||dre(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}pre.exports=bHe});var Ire=C((Uft,mre)=>{"use strict";var SHe=Cre();function Wv(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=SHe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return Wv.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}Wv.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?DHe(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function DHe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}mre.exports=Wv});var aF=C((vpt,Dre)=>{var MHe=gu(),OHe=Au();function KHe(t,e,r){(r!==void 0&&!OHe(t[e],r)||r===void 0&&!(e in t))&&MHe(t,e,r)}Dre.exports=KHe});var Pre=C((Fpt,xre)=>{var THe=qf(),UHe=As();function HHe(t){return UHe(t)&&THe(t)}xre.exports=HHe});var Fre=C((Rpt,kre)=>{var YHe=KA(),qHe=$y(),GHe=As(),jHe="[object Object]",JHe=Function.prototype,WHe=Object.prototype,vre=JHe.toString,zHe=WHe.hasOwnProperty,VHe=vre.call(Object);function XHe(t){if(!GHe(t)||YHe(t)!=jHe)return!1;var e=qHe(t);if(e===null)return!0;var r=zHe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&vre.call(r)==VHe}kre.exports=XHe});var AF=C((Lpt,Rre)=>{function ZHe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Rre.exports=ZHe});var Nre=C((Npt,Lre)=>{var _He=Pu(),$He=ku();function eYe(t){return _He(t,$He(t))}Lre.exports=eYe});var Hre=C((Mpt,Mre)=>{var Ore=aF(),tYe=gv(),rYe=pv(),iYe=hv(),nYe=dv(),Kre=Rf(),Tre=fn(),sYe=Pre(),oYe=Uf(),aYe=ny(),AYe=Un(),lYe=Fre(),cYe=By(),Ure=AF(),uYe=Nre();function gYe(t,e,r,i,n,s,o){var a=Ure(t,r),l=Ure(e,r),c=o.get(l);if(c){Ore(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var h=Tre(l),f=!h&&oYe(l),p=!h&&!f&&cYe(l);u=l,h||f||p?Tre(a)?u=a:sYe(a)?u=iYe(a):f?(g=!1,u=tYe(l,!0)):p?(g=!1,u=rYe(l,!0)):u=[]:lYe(l)||Kre(l)?(u=a,Kre(a)?u=uYe(a):(!AYe(a)||aYe(a))&&(u=nYe(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Ore(t,r,u)}Mre.exports=gYe});var Gre=C((Opt,Yre)=>{var hYe=Gf(),fYe=aF(),pYe=VP(),dYe=Hre(),CYe=Un(),mYe=ku(),IYe=AF();function qre(t,e,r,i,n){t!==e&&pYe(e,function(s,o){if(n||(n=new hYe),CYe(s))dYe(t,e,o,r,qre,i,n);else{var a=i?i(IYe(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),fYe(t,o,a)}},mYe)}Yre.exports=qre});var Jre=C((Kpt,jre)=>{var EYe=cy(),yYe=kP(),BYe=vP();function wYe(t,e){return BYe(yYe(t,e,EYe),t+"")}jre.exports=wYe});var zre=C((Tpt,Wre)=>{var QYe=Au(),bYe=qf(),SYe=Ff(),DYe=Un();function xYe(t,e,r){if(!DYe(r))return!1;var i=typeof e;return(i=="number"?bYe(r)&&SYe(e,r.length):i=="string"&&e in r)?QYe(r[e],t):!1}Wre.exports=xYe});var Xre=C((Upt,Vre)=>{var PYe=Jre(),kYe=zre();function vYe(t){return PYe(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&kYe(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var FYe=Gre(),RYe=Xre(),LYe=RYe(function(t,e,r){FYe(t,e,r)});Zre.exports=LYe});var Iie=C((xCt,mie)=>{var DF;mie.exports=()=>(typeof DF=="undefined"&&(DF=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),DF)});var bie=C(PF=>{function Mu(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Mu(n[u],c))?g.replace("*",l.substring(u.length-1)):Cl(i,l,1)}return Cl(i,l)}}function Aqe(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){OF&&typeof OF=="object"&&typeof KF!="undefined"?KF.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Tie=C((nIt,Mie)=>{"use strict";TF.ifExists=mqe;var Tu=require("util"),wn=require("path"),Oie=Nie(),Iqe=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Eqe={createPwshFile:!0,createCmdFile:Oie(),fs:require("fs")},yqe=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Kie(t){let e=P(P({},Eqe),t),r=e.fs;return e.fs_={chmod:r.chmod?Tu.promisify(r.chmod):async()=>{},mkdir:Tu.promisify(r.mkdir),readFile:Tu.promisify(r.readFile),stat:Tu.promisify(r.stat),unlink:Tu.promisify(r.unlink),writeFile:Tu.promisify(r.writeFile)},e}async function TF(t,e,r){let i=Kie(r);await i.fs_.stat(t),await Bqe(t,e,i)}function mqe(t,e,r){return TF(t,e,r).catch(()=>{})}function wqe(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Bqe(t,e,r){let i=await Sqe(t,r);return await Qqe(e,r),bqe(t,e,i,r)}function Qqe(t,e){return e.fs_.mkdir(wn.dirname(t),{recursive:!0})}function bqe(t,e,r,i){let n=Kie(i),s=[{generator:Pqe,extension:""}];return n.createCmdFile&&s.push({generator:xqe,extension:".cmd"}),n.createPwshFile&&s.push({generator:kqe,extension:".ps1"}),Promise.all(s.map(o=>Dqe(t,e+o.extension,r,o.generator,n)))}function vqe(t,e){return wqe(t,e)}function Rqe(t,e){return Fqe(t,e)}async function Sqe(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Iqe);if(!n){let s=wn.extname(t).toLowerCase();return{program:yqe.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Dqe(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await vqe(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),Rqe(e,n)}function xqe(t,e,r){let n=wn.relative(wn.dirname(e),t).split("/").join("\\"),s=wn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=UF(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function Pqe(t,e,r){let i=wn.relative(wn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=wn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=UF(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function kqe(t,e,r){let i=wn.relative(wn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=wn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=UF(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",f=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(f+=` else { + $env:NODE_PATH="${g}" +}`),o?f+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${h}$args + } else { + & ${o} ${l} ${i} ${h}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${h}$args + } else { + & ${s} ${l} ${i} ${h}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:f+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${h}$args +} else { + & ${s} ${l} ${i} ${h}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,f}function Fqe(t,e){return e.fs_.chmod(t,493)}function UF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(wn.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Mie.exports=TF});var oR=C((UEt,rne)=>{rne.exports=require("stream")});var one=C((HEt,ine)=>{"use strict";function nne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function $qe(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return pB.alloc(0);for(var i=pB.allocUnsafe(r>>>0),n=this.head,s=0;n;)sGe(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=pB.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:nGe,value:function(r,i){return aR(this,$qe({},i,{depth:0,customInspect:!1}))}}]),t}()});var lR=C((YEt,ane)=>{"use strict";function oGe(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(AR,this,t)):process.nextTick(AR,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(dB,r):(r._writableState.errorEmitted=!0,process.nextTick(Ane,r,s)):process.nextTick(Ane,r,s):e?(process.nextTick(dB,r),e(s)):process.nextTick(dB,r)}),this)}function Ane(t,e){AR(t,e),dB(t)}function dB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function aGe(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function AR(t,e){t.emit("error",e)}function AGe(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}ane.exports={destroy:oGe,undestroy:aGe,errorOrDestroy:AGe}});var ka=C((qEt,lne)=>{"use strict";var cne={};function Qn(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,cne[t]=n}function une(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function lGe(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function cGe(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function uGe(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Qn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Qn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&lGe(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(cGe(t," argument"))n=`The ${t} ${i} ${une(e,"type")}`;else{let s=uGe(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${une(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Qn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Qn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Qn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Qn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Qn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Qn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Qn("ERR_STREAM_WRITE_AFTER_END","write after end");Qn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Qn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Qn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");lne.exports.codes=cne});var cR=C((GEt,gne)=>{"use strict";var gGe=ka().codes.ERR_INVALID_OPT_VALUE;function hGe(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function fGe(t,e,r,i){var n=hGe(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new gGe(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}gne.exports={getHighWaterMark:fGe}});var hne=C((jEt,uR)=>{typeof Object.create=="function"?uR.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:uR.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var va=C((JEt,gR)=>{try{if(hR=require("util"),typeof hR.inherits!="function")throw"";gR.exports=hR.inherits}catch(t){gR.exports=hne()}var hR});var pne=C((WEt,fne)=>{fne.exports=require("util").deprecate});var dR=C((zEt,dne)=>{"use strict";dne.exports=tr;function Cne(t){var e=this;this.next=null,this.entry=null,this.finish=function(){pGe(e,t)}}var Hu;tr.WritableState=id;var dGe={deprecate:pne()},mne=oR(),CB=require("buffer").Buffer,CGe=global.Uint8Array||function(){};function mGe(t){return CB.from(t)}function IGe(t){return CB.isBuffer(t)||t instanceof CGe}var fR=lR(),EGe=cR(),yGe=EGe.getHighWaterMark,Fa=ka().codes,BGe=Fa.ERR_INVALID_ARG_TYPE,wGe=Fa.ERR_METHOD_NOT_IMPLEMENTED,QGe=Fa.ERR_MULTIPLE_CALLBACK,bGe=Fa.ERR_STREAM_CANNOT_PIPE,SGe=Fa.ERR_STREAM_DESTROYED,DGe=Fa.ERR_STREAM_NULL_VALUES,xGe=Fa.ERR_STREAM_WRITE_AFTER_END,PGe=Fa.ERR_UNKNOWN_ENCODING,Yu=fR.errorOrDestroy;va()(tr,mne);function kGe(){}function id(t,e,r){Hu=Hu||yl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Hu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=yGe(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){vGe(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Cne(this)}id.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(id.prototype,"buffer",{get:dGe.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var mB;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(mB=Function.prototype[Symbol.hasInstance],Object.defineProperty(tr,Symbol.hasInstance,{value:function(e){return mB.call(this,e)?!0:this!==tr?!1:e&&e._writableState instanceof id}})):mB=function(e){return e instanceof this};function tr(t){Hu=Hu||yl();var e=this instanceof Hu;if(!e&&!mB.call(tr,this))return new tr(t);this._writableState=new id(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),mne.call(this)}tr.prototype.pipe=function(){Yu(this,new bGe)};function FGe(t,e){var r=new xGe;Yu(t,r),process.nextTick(e,r)}function RGe(t,e,r,i){var n;return r===null?n=new DGe:typeof r!="string"&&!e.objectMode&&(n=new BGe("chunk",["string","Buffer"],r)),n?(Yu(t,n),process.nextTick(i,n),!1):!0}tr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&IGe(t);return s&&!CB.isBuffer(t)&&(t=mGe(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=kGe),i.ending?FGe(this,r):(s||RGe(this,i,t,r))&&(i.pendingcb++,n=LGe(this,i,s,t,e,r)),n};tr.prototype.cork=function(){this._writableState.corked++};tr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Ine(this,t))};tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new PGe(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function NGe(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=CB.from(e,r)),e}Object.defineProperty(tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function LGe(t,e,r,i,n,s){if(!r){var o=NGe(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var YGe=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Bne.exports=ys;var wne=CR(),mR=dR();va()(ys,wne);for(IR=YGe(mR.prototype),IB=0;IB{var yB=require("buffer"),Io=yB.Buffer;function bne(t,e){for(var r in t)e[r]=t[r]}Io.from&&Io.alloc&&Io.allocUnsafe&&Io.allocUnsafeSlow?Qne.exports=yB:(bne(yB,ER),ER.Buffer=qu);function qu(t,e,r){return Io(t,e,r)}bne(Io,qu);qu.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return Io(t,e,r)};qu.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=Io(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};qu.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Io(t)};qu.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return yB.SlowBuffer(t)}});var wR=C(Dne=>{"use strict";var yR=Sne().Buffer,xne=yR.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function jGe(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function JGe(t){var e=jGe(t);if(typeof e!="string"&&(yR.isEncoding===xne||!xne(t)))throw new Error("Unknown encoding: "+t);return e||t}Dne.StringDecoder=sd;function sd(t){this.encoding=JGe(t);var e;switch(this.encoding){case"utf16le":this.text=zGe,this.end=VGe,e=4;break;case"utf8":this.fillLast=WGe,e=4;break;case"base64":this.text=XGe,this.end=ZGe,e=3;break;default:this.write=_Ge,this.end=$Ge;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=yR.allocUnsafe(e)}sd.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function rje(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function ije(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function WGe(t){var e=this.lastTotal-this.lastNeed,r=ije(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function tje(t,e){var r=rje(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function eje(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function zGe(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function VGe(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function XGe(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function ZGe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function _Ge(t){return t.toString(this.encoding)}function $Ge(t){return t&&t.length?this.write(t):""}});var BB=C((ZEt,Pne)=>{"use strict";var kne=ka().codes.ERR_STREAM_PREMATURE_CLOSE;function nje(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var wB;function Ra(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var aje=BB(),La=Symbol("lastResolve"),Bl=Symbol("lastReject"),od=Symbol("error"),QB=Symbol("ended"),wl=Symbol("lastPromise"),QR=Symbol("handlePromise"),Ql=Symbol("stream");function Na(t,e){return{value:t,done:e}}function Aje(t){var e=t[La];if(e!==null){var r=t[Ql].read();r!==null&&(t[wl]=null,t[La]=null,t[Bl]=null,e(Na(r,!1)))}}function lje(t){process.nextTick(Aje,t)}function cje(t,e){return function(r,i){t.then(function(){if(e[QB]){r(Na(void 0,!0));return}e[QR](r,i)},i)}}var uje=Object.getPrototypeOf(function(){}),gje=Object.setPrototypeOf((wB={get stream(){return this[Ql]},next:function(){var e=this,r=this[od];if(r!==null)return Promise.reject(r);if(this[QB])return Promise.resolve(Na(void 0,!0));if(this[Ql].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[od]?a(e[od]):o(Na(void 0,!0))})});var i=this[wl],n;if(i)n=new Promise(cje(i,this));else{var s=this[Ql].read();if(s!==null)return Promise.resolve(Na(s,!1));n=new Promise(this[QR])}return this[wl]=n,n}},Ra(wB,Symbol.asyncIterator,function(){return this}),Ra(wB,"return",function(){var e=this;return new Promise(function(r,i){e[Ql].destroy(null,function(n){if(n){i(n);return}r(Na(void 0,!0))})})}),wB),uje),hje=function(e){var r,i=Object.create(gje,(r={},Ra(r,Ql,{value:e,writable:!0}),Ra(r,La,{value:null,writable:!0}),Ra(r,Bl,{value:null,writable:!0}),Ra(r,od,{value:null,writable:!0}),Ra(r,QB,{value:e._readableState.endEmitted,writable:!0}),Ra(r,QR,{value:function(s,o){var a=i[Ql].read();a?(i[wl]=null,i[La]=null,i[Bl]=null,s(Na(a,!1))):(i[La]=s,i[Bl]=o)},writable:!0}),r));return i[wl]=null,aje(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Bl];s!==null&&(i[wl]=null,i[La]=null,i[Bl]=null,s(n)),i[od]=n;return}var o=i[La];o!==null&&(i[wl]=null,i[La]=null,i[Bl]=null,o(Na(void 0,!0))),i[QB]=!0}),e.on("readable",lje.bind(null,i)),i};Fne.exports=hje});var One=C(($Et,Lne)=>{"use strict";function Nne(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function fje(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Nne(s,i,n,o,a,"next",l)}function a(l){Nne(s,i,n,o,a,"throw",l)}o(void 0)})}}function Mne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function dje(t){for(var e=1;e{"use strict";Kne.exports=Ct;var Gu;Ct.ReadableState=Tne;var eyt=require("events").EventEmitter,Une=function(e,r){return e.listeners(r).length},ad=oR(),bB=require("buffer").Buffer,Ije=global.Uint8Array||function(){};function Eje(t){return bB.from(t)}function yje(t){return bB.isBuffer(t)||t instanceof Ije}var bR=require("util"),ct;bR&&bR.debuglog?ct=bR.debuglog("stream"):ct=function(){};var Bje=one(),SR=lR(),wje=cR(),Qje=wje.getHighWaterMark,SB=ka().codes,bje=SB.ERR_INVALID_ARG_TYPE,Sje=SB.ERR_STREAM_PUSH_AFTER_EOF,Dje=SB.ERR_METHOD_NOT_IMPLEMENTED,xje=SB.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ju,DR,xR;va()(Ct,ad);var Ad=SR.errorOrDestroy,PR=["error","close","destroy","pause","resume"];function Pje(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Tne(t,e,r){Gu=Gu||yl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Gu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Qje(this,t,"readableHighWaterMark",r),this.buffer=new Bje,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ju||(ju=wR().StringDecoder),this.decoder=new ju(t.encoding),this.encoding=t.encoding)}function Ct(t){if(Gu=Gu||yl(),!(this instanceof Ct))return new Ct(t);var e=this instanceof Gu;this._readableState=new Tne(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),ad.call(this)}Object.defineProperty(Ct.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ct.prototype.destroy=SR.destroy;Ct.prototype._undestroy=SR.undestroy;Ct.prototype._destroy=function(t,e){e(t)};Ct.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=bB.from(t,e),e=""),i=!0),Hne(this,t,e,!1,i)};Ct.prototype.unshift=function(t){return Hne(this,t,null,!0,!1)};function Hne(t,e,r,i,n){ct("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,vje(t,s);else{var o;if(n||(o=kje(s,e)),o)Ad(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==bB.prototype&&(e=Eje(e)),i)s.endEmitted?Ad(t,new xje):kR(t,s,e,!0);else if(s.ended)Ad(t,new Sje);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?kR(t,s,e,!1):vR(t,s)):kR(t,s,e,!1)}else i||(s.reading=!1,vR(t,s))}return!s.ended&&(s.length=Yne?t=Yne:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function qne(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=Fje(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ct.prototype.read=function(t){ct("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ct("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?FR(this):DB(this),null;if(t=qne(t,e),t===0&&e.ended)return e.length===0&&FR(this),null;var i=e.needReadable;ct("need readable",i),(e.length===0||e.length-t0?n=Gne(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&FR(this)),n!==null&&this.emit("data",n),n};function vje(t,e){if(ct("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?DB(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,jne(t)))}}function DB(t){var e=t._readableState;ct("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ct("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(jne,t))}function jne(t){var e=t._readableState;ct("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,RR(t)}function vR(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(Rje,t,e))}function Rje(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Jne(i.pipes,t)!==-1)&&!c&&(ct("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function h(I){ct("onerror",I),m(),t.removeListener("error",h),Une(t,"error")===0&&Ad(t,I)}Pje(t,"error",h);function f(){t.removeListener("finish",p),m()}t.once("close",f);function p(){ct("onfinish"),t.removeListener("close",f),m()}t.once("finish",p);function m(){ct("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(ct("pipe resume"),r.resume()),t};function Lje(t){return function(){var r=t._readableState;ct("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Une(t,"data")&&(r.flowing=!0,RR(t))}}Ct.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,ct("on readable",i.length,i.reading),i.length?DB(this):i.reading||process.nextTick(Nje,this)),r};Ct.prototype.addListener=Ct.prototype.on;Ct.prototype.removeListener=function(t,e){var r=ad.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Wne,this),r};Ct.prototype.removeAllListeners=function(t){var e=ad.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Wne,this),e};function Wne(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Nje(t){ct("readable nexttick read 0"),t.read(0)}Ct.prototype.resume=function(){var t=this._readableState;return t.flowing||(ct("resume"),t.flowing=!t.readableListening,Mje(this,t)),t.paused=!1,this};function Mje(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(Oje,t,e))}function Oje(t,e){ct("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),RR(t),e.flowing&&!e.reading&&t.read(0)}Ct.prototype.pause=function(){return ct("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ct("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function RR(t){var e=t._readableState;for(ct("flow",e.flowing);e.flowing&&t.read()!==null;);}Ct.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(ct("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(ct("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function FR(t){var e=t._readableState;ct("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Kje,e,t))}function Kje(t,e){if(ct("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ct.from=function(t,e){return xR===void 0&&(xR=One()),xR(Ct,t,e)});function Jne(t,e){for(var r=0,i=t.length;r{"use strict";zne.exports=Eo;var xB=ka().codes,Tje=xB.ERR_METHOD_NOT_IMPLEMENTED,Uje=xB.ERR_MULTIPLE_CALLBACK,Hje=xB.ERR_TRANSFORM_ALREADY_TRANSFORMING,Yje=xB.ERR_TRANSFORM_WITH_LENGTH_0,PB=yl();va()(Eo,PB);function qje(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new Uje);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Xne.exports=ld;var Zne=LR();va()(ld,Zne);function ld(t){if(!(this instanceof ld))return new ld(t);Zne.call(this,t)}ld.prototype._transform=function(t,e,r){r(null,t)}});var ise=C((nyt,$ne)=>{"use strict";var NR;function jje(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var ese=ka().codes,Jje=ese.ERR_MISSING_ARGS,Wje=ese.ERR_STREAM_DESTROYED;function tse(t){if(t)throw t}function zje(t){return t.setHeader&&typeof t.abort=="function"}function Vje(t,e,r,i){i=jje(i);var n=!1;t.on("close",function(){n=!0}),NR===void 0&&(NR=BB()),NR(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,zje(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new Wje("pipe"))}}}function rse(t){t()}function Xje(t,e){return t.pipe(e)}function Zje(t){return!t.length||typeof t[t.length-1]!="function"?tse:t.pop()}function _je(){for(var t=arguments.length,e=new Array(t),r=0;r0;return Vje(o,l,c,function(u){n||(n=u),u&&s.forEach(rse),!l&&(s.forEach(rse),i(n))})});return e.reduce(Xje)}$ne.exports=_je});var Ju=C((bn,cd)=>{var ud=require("stream");process.env.READABLE_STREAM==="disable"&&ud?(cd.exports=ud.Readable,Object.assign(cd.exports,ud),cd.exports.Stream=ud):(bn=cd.exports=CR(),bn.Stream=ud||bn,bn.Readable=bn,bn.Writable=dR(),bn.Duplex=yl(),bn.Transform=LR(),bn.PassThrough=_ne(),bn.finished=BB(),bn.pipeline=ise())});var ose=C((syt,nse)=>{"use strict";var{Buffer:jn}=require("buffer"),sse=Symbol.for("BufferList");function Nt(t){if(!(this instanceof Nt))return new Nt(t);Nt._init.call(this,t)}Nt._init=function(e){Object.defineProperty(this,sse,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Nt.prototype._new=function(e){return new Nt(e)};Nt.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Nt.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Nt.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||jn.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:jn.concat(this._bufs,this.length);for(let g=0;gh)this._bufs[g].copy(e,c,u),c+=h;else{this._bufs[g].copy(e,c,u,u+l),c+=h;break}l-=h,u&&(u=0)}return e.length>c?e.slice(0,c):e};Nt.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};Nt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Nt.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Nt.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};Nt.prototype._match=function(t,e){if(this.length-t{"use strict";var MR=Ju().Duplex,$je=va(),gd=ose();function _r(t){if(!(this instanceof _r))return new _r(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}gd._init.call(this,t),MR.call(this)}$je(_r,MR);Object.assign(_r.prototype,gd.prototype);_r.prototype._new=function(e){return new _r(e)};_r.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};_r.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};_r.prototype.end=function(e){MR.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};_r.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};_r.prototype._isBufferList=function(e){return e instanceof _r||e instanceof gd||_r.isBufferList(e)};_r.isBufferList=gd.isBufferList;kB.exports=_r;kB.exports.BufferListStream=_r;kB.exports.BufferList=gd});var TR=C(Wu=>{var eJe=Buffer.alloc,tJe="0000000000000000000",rJe="7777777777777777777",Ase="0".charCodeAt(0),lse=Buffer.from("ustar\0","binary"),iJe=Buffer.from("00","binary"),nJe=Buffer.from("ustar ","binary"),sJe=Buffer.from(" \0","binary"),oJe=parseInt("7777",8),hd=257,OR=263,aJe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},AJe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},lJe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},cse=function(t,e,r,i){for(;re?rJe.slice(0,e)+" ":tJe.slice(0,e-t.length)+t+" "};function cJe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};Wu.decodeLongPath=function(t,e){return zu(t,0,t.length,e)};Wu.encodePax=function(t){var e="";t.name&&(e+=KR(" path="+t.name+` +`)),t.linkname&&(e+=KR(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=KR(" "+i+"="+r[i]+` +`);return Buffer.from(e)};Wu.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Ma(t.mode&oJe,6),100),e.write(Ma(t.uid,6),108),e.write(Ma(t.gid,6),116),e.write(Ma(t.size,11),124),e.write(Ma(t.mtime.getTime()/1e3|0,11),136),e[156]=Ase+lJe(t.type),t.linkname&&e.write(t.linkname,157),lse.copy(e,hd),iJe.copy(e,OR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Ma(t.devmajor||0,6),329),e.write(Ma(t.devminor||0,6),337),i&&e.write(i,345),e.write(Ma(use(e),6),148),e)};Wu.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Ase,n=zu(t,0,100,e),s=Oa(t,100,8),o=Oa(t,108,8),a=Oa(t,116,8),l=Oa(t,124,12),c=Oa(t,136,12),u=AJe(i),g=t[157]===0?null:zu(t,157,100,e),h=zu(t,265,32),f=zu(t,297,32),p=Oa(t,329,8),m=Oa(t,337,8),I=use(t);if(I===8*32)return null;if(I!==Oa(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(lse.compare(t,hd,hd+6)===0)t[345]&&(n=zu(t,345,155,e)+"/"+n);else if(!(nJe.compare(t,hd,hd+6)===0&&sJe.compare(t,OR,OR+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:h,gname:f,devmajor:p,devminor:m}}});var mse=C((Ayt,gse)=>{var hse=require("util"),uJe=ase(),fd=TR(),fse=Ju().Writable,pse=Ju().PassThrough,dse=function(){},Cse=function(t){return t&=511,t&&512-t},gJe=function(t,e){var r=new vB(t,e);return r.end(),r},hJe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},vB=function(t,e){this._parent=t,this.offset=e,pse.call(this,{autoDestroy:!1})};hse.inherits(vB,pse);vB.prototype.destroy=function(t){this._parent.destroy(t)};var yo=function(t){if(!(this instanceof yo))return new yo(t);fse.call(this,t),t=t||{},this._offset=0,this._buffer=uJe(),this._missing=0,this._partial=!1,this._onparse=dse,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(h){if(e._locked=!1,h)return e.destroy(h);e._stream||i()},s=function(){e._stream=null;var h=Cse(e._header.size);h?e._parse(h,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Cse(e._header.size)),e._parse(512,g),i()},a=function(){var h=e._header.size;e._paxGlobal=fd.decodePax(r.slice(0,h)),r.consume(h),s()},l=function(){var h=e._header.size;e._pax=fd.decodePax(r.slice(0,h)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(h),s()},c=function(){var h=e._header.size;this._gnuLongPath=fd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},u=function(){var h=e._header.size;this._gnuLongLinkPath=fd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},g=function(){var h=e._offset,f;try{f=e._header=fd.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!f){e._parse(512,g),i();return}if(f.type==="gnu-long-path"){e._parse(f.size,c),i();return}if(f.type==="gnu-long-link-path"){e._parse(f.size,u),i();return}if(f.type==="pax-global-header"){e._parse(f.size,a),i();return}if(f.type==="pax-header"){e._parse(f.size,l),i();return}if(e._gnuLongPath&&(f.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(f.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=f=hJe(f,e._pax),e._pax=null),e._locked=!0,!f.size||f.type==="directory"){e._parse(512,g),e.emit("entry",f,gJe(e,h),n);return}e._stream=new vB(e,h),e.emit("entry",f,e._stream,n),e._parse(f.size,s),i()};this._onheader=g,this._parse(512,g)};hse.inherits(yo,fse);yo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};yo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};yo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=dse,this._overflow?this._write(this._overflow,void 0,t):t()}};yo.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};yo.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};gse.exports=yo});var Ese=C((lyt,Ise)=>{Ise.exports=require("fs").constants||require("constants")});var bse=C((cyt,yse)=>{var Vu=Ese(),Bse=Db(),FB=va(),fJe=Buffer.alloc,wse=Ju().Readable,Xu=Ju().Writable,pJe=require("string_decoder").StringDecoder,RB=TR(),dJe=parseInt("755",8),CJe=parseInt("644",8),Qse=fJe(1024),UR=function(){},HR=function(t,e){e&=511,e&&t.push(Qse.slice(0,512-e))};function mJe(t){switch(t&Vu.S_IFMT){case Vu.S_IFBLK:return"block-device";case Vu.S_IFCHR:return"character-device";case Vu.S_IFDIR:return"directory";case Vu.S_IFIFO:return"fifo";case Vu.S_IFLNK:return"symlink"}return"file"}var LB=function(t){Xu.call(this),this.written=0,this._to=t,this._destroyed=!1};FB(LB,Xu);LB.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};LB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var NB=function(){Xu.call(this),this.linkname="",this._decoder=new pJe("utf-8"),this._destroyed=!1};FB(NB,Xu);NB.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};NB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var pd=function(){Xu.call(this),this._destroyed=!1};FB(pd,Xu);pd.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};pd.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Bs=function(t){if(!(this instanceof Bs))return new Bs(t);wse.call(this,t),this._drain=UR,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FB(Bs,wse);Bs.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=UR);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=mJe(t.mode)),t.mode||(t.mode=t.type==="directory"?dJe:CJe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return HR(i,t.size),n?process.nextTick(r):this._drain=r,new pd}if(t.type==="symlink"&&!t.linkname){var s=new NB;return Bse(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new pd;var o=new LB(this);return this._stream=o,Bse(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));HR(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Bs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Qse),this.push(null))};Bs.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Bs.prototype._encode=function(t){if(!t.pax){var e=RB.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Bs.prototype._encodePax=function(t){var e=RB.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(RB.encode(r)),this.push(e),HR(this,e.length),r.size=t.size,r.type=t.type,this.push(RB.encode(r))};Bs.prototype._read=function(t){var e=this._drain;this._drain=UR,e()};yse.exports=Bs});var Sse=C(YR=>{YR.extract=mse();YR.pack=bse()});var Tse=C((Ryt,Nse)=>{"use strict";var Zu=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Ose(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return zR(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):vJe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Zu(this.__specs,this.__opts,Ose(this.__providers).concat(e)),Mse)}};try{let t=require("util");Zu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function FJe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function zR(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))FJe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Kse(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Kse(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Kse(t,e){let r;return e.__isFiggyPudding?r=zR(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Mse={has(t,e){return e in t.__specs&&zR(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Zu.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Nse.exports=RJe;function RJe(t,e){function r(...i){return new Proxy(new Zu(t,e,i),Mse)}return r}function Ose(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function vJe(t){return Object.keys(t).map(e=>[e,t[e]])}});var Yse=C((Lyt,ws)=>{"use strict";var Cd=require("crypto"),LJe=Tse(),NJe=require("stream").Transform,Use=["sha256","sha384","sha512"],MJe=/^[a-z0-9+/]+(?:=?=?)$/i,OJe=/^([^-]+)-([^?]+)([?\S*]*)$/,KJe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,TJe=/^[\x21-\x7E]+$/,pi=LJe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>UJe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),bl=class{get isHash(){return!0}constructor(e,r){r=pi(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?KJe:OJe);if(!n||i&&!Use.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=pi(e),e.strict&&!(Use.some(i=>i===this.algorithm)&&this.digest.match(MJe)&&(this.options||[]).every(i=>i.match(TJe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},_u=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=pi(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>bl.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=pi(r);let i=typeof e=="string"?e:md(e,r);return Qs(`${this.toString(r)} ${i}`,r)}hexDigest(){return Qs(this,{single:!0}).hexDigest()}match(e,r){r=pi(r);let i=Qs(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=pi(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};ws.exports.parse=Qs;function Qs(t,e){if(e=pi(e),typeof t=="string")return VR(t,e);if(t.algorithm&&t.digest){let r=new _u;return r[t.algorithm]=[t],VR(md(r,e),e)}else return VR(md(t,e),e)}function VR(t,e){return e.single?new bl(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new bl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new _u)}ws.exports.stringify=md;function md(t,e){return e=pi(e),t.algorithm&&t.digest?bl.prototype.toString.call(t,e):typeof t=="string"?md(Qs(t,e),e):_u.prototype.toString.call(t,e)}ws.exports.fromHex=HJe;function HJe(t,e,r){r=pi(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Qs(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}ws.exports.fromData=YJe;function YJe(t,e){e=pi(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Cd.createHash(s).update(t).digest("base64"),a=new bl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new _u)}ws.exports.fromStream=qJe;function qJe(t,e){e=pi(e);let r=e.Promise||Promise,i=XR(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ws.exports.checkData=GJe;function GJe(t,e,r){if(r=pi(r),e=Qs(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=Cd.createHash(i).update(t).digest("base64"),s=Qs({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ws.exports.checkStream=jJe;function jJe(t,e,r){r=pi(r);let i=r.Promise||Promise,n=XR(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ws.exports.integrityStream=XR;function XR(t){t=pi(t);let e=t.integrity&&Qs(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Cd.createHash),a=0,l=new NJe({transform(c,u,g){a+=c.length,o.forEach(h=>h.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Qs(o.map((h,f)=>`${s[f]}-${h.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let h=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);h.code="EBADSIZE",h.found=a,h.expected=t.size,h.sri=e,l.emit("error",h)}else if(t.integrity&&!g){let h=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);h.code="EINTEGRITY",h.found=u,h.expected=n,h.algorithm=i,h.sri=e,l.emit("error",h)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ws.exports.create=JJe;function JJe(t){t=pi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Cd.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new bl(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new _u)}}}var WJe=new Set(Cd.getHashes()),Hse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>WJe.has(t));function UJe(t,e){return Hse.indexOf(t.toLowerCase())>=Hse.indexOf(e.toLowerCase())?t:e}});var Mf={};$e(Mf,{BuildType:()=>Ji,Cache:()=>gt,Configuration:()=>Ae,DEFAULT_LOCK_FILENAME:()=>iP,DEFAULT_RC_FILENAME:()=>rP,FormatType:()=>$A,LightReport:()=>ao,LinkType:()=>At,Manifest:()=>ze,MessageName:()=>z,PackageExtensionStatus:()=>Yr,PackageExtensionType:()=>Sr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ai,ReportError:()=>Ze,SettingsType:()=>ge,StreamReport:()=>De,TAG_REGEXP:()=>tu,TelemetryManager:()=>Nf,ThrowReport:()=>Br,VirtualFetcher:()=>mf,Workspace:()=>Lf,WorkspaceResolver:()=>fi,YarnVersion:()=>Yi,execUtils:()=>pr,folderUtils:()=>Uw,formatUtils:()=>ce,hashUtils:()=>wi,httpUtils:()=>Ut,miscUtils:()=>de,scriptUtils:()=>bt,semverUtils:()=>vt,structUtils:()=>w,tgzUtils:()=>gr,treeUtils:()=>Tn});var pr={};$e(pr,{EndStrategy:()=>en,execvp:()=>Rae,pipevp:()=>Rs});var Pg={};$e(Pg,{AliasFS:()=>Xa,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>Va,FakeFS:()=>xn,Filename:()=>mt,JailFS:()=>vs,LazyFS:()=>Qg,LinkStrategy:()=>mg,NoFS:()=>EC,NodeFS:()=>wt,PortablePath:()=>Ee,PosixFS:()=>bg,ProxiedFS:()=>fr,VirtualFS:()=>rr,ZipFS:()=>Qr,ZipOpenFS:()=>$i,extendFs:()=>BC,normalizeLineEndings:()=>Fl,npath:()=>L,opendir:()=>ja,patchFs:()=>xg,ppath:()=>B,statUtils:()=>hw,toFilename:()=>jt,xfs:()=>M});var hw={};$e(hw,{BigIntStatsEntry:()=>pg,DirEntry:()=>bL,StatEntry:()=>Fo,areStatsEqual:()=>pw,clearStats:()=>gC,convertToBigIntStats:()=>hC,makeDefaultStats:()=>dg,makeEmptyStats:()=>zoe});var fw=te(require("util"));var Zi=61440,ko=16384,ks=32768,vo=40960;var bL=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Zi)===ko}isFIFO(){return!1}isFile(){return(this.mode&Zi)===ks}isSocket(){return!1}isSymbolicLink(){return(this.mode&Zi)===vo}},Fo=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=ks|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Zi)===ko}isFIFO(){return!1}isFile(){return(this.mode&Zi)===ks}isSocket(){return!1}isSymbolicLink(){return(this.mode&Zi)===vo}},pg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(ks|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(Zi))===BigInt(ko)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(Zi))===BigInt(ks)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(Zi))===BigInt(vo)}};function dg(){return new Fo}function zoe(){return gC(dg())}function gC(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):fw.types.isDate(r)&&(t[e]=new Date(0))}return t}function hC(t){let e=new pg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):fw.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function pw(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var pC=te(require("fs"));var Cg=te(require("path")),SL;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(SL||(SL={}));var Ee={root:"/",dot:"."},mt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},L=Object.create(Cg.default),B=Object.create(Cg.default.posix);L.cwd=()=>process.cwd();B.cwd=()=>dw(process.cwd());B.resolve=(...t)=>t.length>0&&B.isAbsolute(t[0])?Cg.default.posix.resolve(...t):Cg.default.posix.resolve(B.cwd(),...t);var DL=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};L.fromPortablePath=xL;L.toPortablePath=dw;L.contains=(t,e)=>DL(L,t,e);B.contains=(t,e)=>DL(B,t,e);var PL=/^([a-zA-Z]:.*)$/,kL=/^\\\\(\.\\)?(.*)$/,vL=/^\/([a-zA-Z]:.*)$/,FL=/^\/unc\/(\.dot\/)?(.*)$/;function xL(t){if(process.platform!=="win32")return t;if(t.match(vL))t=t.replace(vL,"$1");else if(t.match(FL))t=t.replace(FL,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function dw(t){return process.platform!=="win32"?t:(t.match(PL)?t=t.replace(PL,"/$1"):t.match(kL)&&(t=t.replace(kL,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function fC(t,e){return t===L?xL(e):dw(e)}function jt(t){if(L.parse(t).dir!==""||B.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var RL=new Date(315532800*1e3),mg;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(mg||(mg={}));async function LL(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await Cw(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function Cw(t,e,r,i,n,s,o,a){var h,f;let l=await Voe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:RL,atime:RL}:c,g;switch(!0){case c.isDirectory():g=await Xoe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await Zoe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await _oe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==u.mtime.getTime()||((f=l==null?void 0:l.atime)==null?void 0:f.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Voe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Xoe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let h of g.sort())await Cw(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)&&(u=!0);else(await Promise.all(g.map(async f=>{await Cw(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)}))).some(f=>f)&&(u=!0);return u}var mw=new WeakMap;function Iw(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===mg.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function $oe(t,e,r,i,n){let s=mw.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,pC.default.constants.COPYFILE_FICLONE_FORCE),mw.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")mw.set(t,!1),await Iw(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,pC.default.constants.COPYFILE_FICLONE_FORCE):Iw(t,e,r,i,n)}async function Zoe(t,e,r,i,n,s,o,a,l,c){var h;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(h=c.linkStrategy)!=null?h:null,g=i===o?u!==null?$oe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,pC.default.constants.COPYFILE_FICLONE):u!==null?Iw(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function _oe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(fC(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function _i(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function dC(t){return _i("EBUSY",t)}function Ig(t,e){return _i("ENOSYS",`${t}, ${e}`)}function Ro(t){return _i("EINVAL",`invalid argument, ${t}`)}function $r(t){return _i("EBADF",`bad file descriptor, ${t}`)}function Dn(t){return _i("ENOENT",`no such file or directory, ${t}`)}function Vn(t){return _i("ENOTDIR",`not a directory, ${t}`)}function Eg(t){return _i("EISDIR",`illegal operation on a directory, ${t}`)}function CC(t){return _i("EEXIST",`file already exists, ${t}`)}function Ii(t){return _i("EROFS",`read-only filesystem, ${t}`)}function NL(t){return _i("ENOTEMPTY",`directory not empty, ${t}`)}function ML(t){return _i("EOPNOTSUPP",`operation not supported, ${t}`)}function OL(){return _i("ERR_DIR_CLOSED","Directory handle was closed")}var Ew=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var KL=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw OL()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function ja(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new KL(e,n,i)}var TL=te(require("os"));var xn=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};xn.DEFAULT_TIME=315532800;var Ja=class extends xn{constructor(){super(B)}};function eae(t){let e=t.match(/\r?\n/g);if(e===null)return TL.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function Fl(t,e){return e.replace(/\r?\n/g,eae(t))}var Rl=te(require("fs")),yw=te(require("stream")),qL=te(require("util")),Bw=te(require("zlib"));var UL=te(require("fs"));var wt=class extends Ja{constructor(e=UL.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Ee.root}resolve(e){return B.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(L.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(L.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(L.fromPortablePath(e),r):this.realFs.opendirSync(L.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(L.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}realpathSync(e){return L.toPortablePath(this.realFs.realpathSync(L.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(L.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(L.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(L.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(L.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(L.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(L.fromPortablePath(e),r):this.realFs.statSync(L.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(L.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(L.fromPortablePath(e),r):this.realFs.lstatSync(L.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(L.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(L.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(L.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(L.fromPortablePath(e),L.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(L.fromPortablePath(e),L.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(L.fromPortablePath(e),L.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(L.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(L.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(L.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Ig("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,L.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Ig("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,L.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(L.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(L.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(L.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(L.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(L.fromPortablePath(e),L.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?L.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?L.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,{withFileTypes:r}={}){return await new Promise((i,n)=>{r?this.realFs.readdir(L.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(L.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,{withFileTypes:r}={}){return r?this.realFs.readdirSync(L.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(L.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(L.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}readlinkSync(e){return L.toPortablePath(this.realFs.readlinkSync(L.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(L.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(L.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(L.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(L.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(L.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var HL=te(require("events"));var Wa;(function(r){r.Change="change",r.Stop="stop"})(Wa||(Wa={}));var za;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(za||(za={}));function YL(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var yg=class extends HL.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=za.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new yg(e,r,i);return n.start(),n}start(){YL(this.status,za.Ready),this.status=za.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(Wa.Change,this.lastStats,this.lastStats)},3)}stop(){YL(this.status,za.Running),this.status=za.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(Wa.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new pg:new Fo;return gC(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;pw(i,n)||(this.lastStats=i,this.emit(Wa.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(Wa.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(Wa.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var mC=new WeakMap;function IC(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=mC.get(t);typeof l=="undefined"&&mC.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=yg.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Bg(t,e,r){let i=mC.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function wg(t){let e=mC.get(t);if(typeof e!="undefined")for(let r of e.keys())Bg(t,r)}var Va="mixed";function tae(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,qL.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}var Qr=class extends Ja{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:Va,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=dg();else throw o}else this.stats=dg();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(L.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Ee.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw dC("archive closed, close");wg(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)?this.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return B.resolve(Ee.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Vn(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return ja(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw $r("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?$r("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw $r("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new yw.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw Ii(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new yw.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw Dn(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw dC(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=B.resolve(Ee.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=Rl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`access '${e}'`);if(this.readOnly&&r&Rl.constants.W_OK)throw Ii(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw $r("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw Dn(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Vn(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),h=(this.libzip.struct.statMtime(s)>>>0)*1e3,f=h,p=h,m=h,I=new Date(f),y=new Date(p),b=new Date(m),x=new Date(h),F=this.listings.has(r)?ko:this.isSymbolicLink(n)?vo:ks,N=F===ko?493:420,U=F|this.getUnixMode(n,N)&511,v=this.libzip.struct.statCrc(s),J=Object.assign(new Fo,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:b,mtime:x,atimeMs:f,birthtimeMs:p,ctimeMs:m,mtimeMs:h,mode:U,crc:v});return i.bigint===!0?hC(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,h=this.stats.mtimeMs,f=this.stats.mtimeMs,p=new Date(u),m=new Date(g),I=new Date(h),y=new Date(f),b=ko|493,x=0,F=Object.assign(new Fo,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:h,mtimeMs:f,mode:b,crc:x});return i.bigint===!0?hC(F):F}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(B.dirname(e));return r=new Set,i.add(B.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(B.dirname(e)).add(B.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(B.dirname(e));r==null||r.delete(B.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw dC(`archive closed, ${e}`);let n=B.resolve(Ee.root,r);if(n==="/")return Ee.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,B.resolve(B.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,B.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw Dn(e);if(!a)throw Vn(e);if(n=B.resolve(o,B.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=B.resolve(B.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=B.relative(Ee.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&Zi)===vo}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),h=Buffer.from(g);if(a===0)return this.fileSources.set(e,h),h;if(r.asyncDecompress)return new Promise((f,p)=>{Bw.default.inflateRaw(h,(m,I)=>{m?p(m):(this.fileSources.set(e,I),f(I))})});{let f=Bw.default.inflateRawSync(h);return this.fileSources.set(e,f),f}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw Ii(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,ks|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw Ii(`copyfile '${e} -> '${r}'`);if((i&Rl.constants.COPYFILE_FICLONE_FORCE)!=0)throw Ig("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw Ro(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Rl.constants.COPYFILE_EXCL|Rl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw CC(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw Ii(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw Ii(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw $r("read");if(this.readOnly)throw Ii(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Eg(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw Ii(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Eg(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw Ro(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw Ii(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw Ii(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,tae(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw Ii(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw CC(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw Ii(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Vn(`rmdir '${e}'`);if(n.size>0)throw NL(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw Ro(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,B.relative(Ee.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw ML(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw Ii(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Eg(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw CC(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(vo|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`open '${e}'`);if(this.listings.has(i))throw Eg("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,{withFileTypes:r}={}){return this.readdirSync(e,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Vn(`scandir '${e}'`);let s=[...n];return r?s.map(o=>Object.assign(this.statImpl("lstat",B.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw Dn(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Vn(`open '${e}'`);if(this.listings.has(r))throw Ro(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw Ro(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Ro(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Ro(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=this.resolveFilename(`open '${e}'`,e);return IC(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return Bg(this,i,r)}};var fr=class extends xn{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,{withFileTypes:r}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:r})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xa=class extends fr{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var yt=class extends fr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?B.normalize(e):this.baseFs.resolve(B.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var GL=Ee.root,vs=class extends fr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.resolve(Ee.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Ee.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(GL,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(GL,this.pathUtils.relative(this.target,e))}};var Qg=class extends fr{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var He=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),ww=class extends xn{constructor(){super(B)}getExtractHint(){throw He()}getRealPath(){throw He()}resolve(){throw He()}async openPromise(){throw He()}openSync(){throw He()}async opendirPromise(){throw He()}opendirSync(){throw He()}async readPromise(){throw He()}readSync(){throw He()}async writePromise(){throw He()}writeSync(){throw He()}async closePromise(){throw He()}closeSync(){throw He()}createWriteStream(){throw He()}createReadStream(){throw He()}async realpathPromise(){throw He()}realpathSync(){throw He()}async readdirPromise(){throw He()}readdirSync(){throw He()}async existsPromise(e){throw He()}existsSync(e){throw He()}async accessPromise(){throw He()}accessSync(){throw He()}async statPromise(){throw He()}statSync(){throw He()}async fstatPromise(e){throw He()}fstatSync(e){throw He()}async lstatPromise(e){throw He()}lstatSync(e){throw He()}async chmodPromise(){throw He()}chmodSync(){throw He()}async chownPromise(){throw He()}chownSync(){throw He()}async mkdirPromise(){throw He()}mkdirSync(){throw He()}async rmdirPromise(){throw He()}rmdirSync(){throw He()}async linkPromise(){throw He()}linkSync(){throw He()}async symlinkPromise(){throw He()}symlinkSync(){throw He()}async renamePromise(){throw He()}renameSync(){throw He()}async copyFilePromise(){throw He()}copyFileSync(){throw He()}async appendFilePromise(){throw He()}appendFileSync(){throw He()}async writeFilePromise(){throw He()}writeFileSync(){throw He()}async unlinkPromise(){throw He()}unlinkSync(){throw He()}async utimesPromise(){throw He()}utimesSync(){throw He()}async readFilePromise(){throw He()}readFileSync(){throw He()}async readlinkPromise(){throw He()}readlinkSync(){throw He()}async truncatePromise(){throw He()}truncateSync(){throw He()}watch(){throw He()}watchFile(){throw He()}unwatchFile(){throw He()}},EC=ww;EC.instance=new ww;var bg=class extends fr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}};var rae=/^[0-9]+$/,Qw=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,iae=/^([^/]+-)?[a-f0-9]+$/,rr=class extends fr{static makeVirtualPath(e,r,i){if(B.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!B.basename(r).match(iae))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=B.relative(B.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(jL);if(e<=0||t[e-1]===B.sep)return null;let r=e+jL.length;return t.length>r&&t[r]!==B.sep?null:t.slice(0,r)},$i=class extends Ja{constructor({libzip:e,baseFs:r=new wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a}static async openPromise(e,r){let i=new $i(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(wg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(wg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Fs;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Fs)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Fs)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Fs)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Fs)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Fs)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw $r("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Fs)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw $r("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Fs)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw $r("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Fs)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw $r("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,{withFileTypes:r}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:r}),async(i,{subPath:n})=>await i.readdirPromise(n,{withFileTypes:r}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:r}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:r}),(i,{subPath:n})=>i.readdirSync(n,{withFileTypes:r}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>IC(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>Bg(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=nae(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Ee.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Qr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Qr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Qr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Qr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Dg=te(require("util"));var yC=te(require("url"));var bw=class extends fr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof yC.URL?(0,yC.fileURLToPath)(e):e}};var sae=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),JL=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),oae=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function xg(t,e){e=new bw(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Dg.promisify.custom])!="undefined"&&(s[Dg.promisify.custom]=o[Dg.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l)})})});for(let i of JL){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of sae){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of JL){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of oae){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Dg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function BC(t,e){let r=Object.create(t);return xg(r,e),r}var WL=te(require("os"));function zL(t){let e=L.toPortablePath(WL.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return B.join(e,`${t}${r}`)}var Pn=new Set,VL=!1;function XL(){VL||(VL=!0,process.once("exit",()=>{M.rmtempSync()}))}var M=Object.assign(new wt,{detachTemp(t){Pn.delete(t)},mktempSync(t){for(XL();;){let e=zL("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(Pn.add(r),typeof t!="undefined")try{return t(r)}finally{if(Pn.has(r)){Pn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(XL();;){let e=zL("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(Pn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(Pn.has(r)){Pn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(Pn.values()).map(async t=>{try{await M.removePromise(t,{maxRetries:0}),Pn.delete(t)}catch{}}))},rmtempSync(){for(let t of Pn)try{M.removeSync(t),Pn.delete(t)}catch{}}});var Mw=te(Nw()),en;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(en||(en={}));function Za(t){return t!==null&&typeof t.fd=="number"}var _a=new Set;function Ow(){}function Kw(){for(let t of _a)t.kill()}async function Rs(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Za(s)&&(c[0]=s),Za(o)&&(c[1]=o),Za(a)&&(c[2]=a);let u=(0,Mw.default)(t,e,{cwd:L.fromPortablePath(r),env:V(P({},i),{PWD:L.fromPortablePath(r)}),stdio:c});_a.add(u),_a.size===1&&(process.on("SIGINT",Ow),process.on("SIGTERM",Kw)),!Za(s)&&s!==null&&s.pipe(u.stdin),Za(o)||u.stdout.pipe(o,{end:!1}),Za(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let h of new Set([o,a]))Za(h)||h.end()};return new Promise((h,f)=>{u.on("error",p=>{_a.delete(u),_a.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1)&&g(),f(p)}),u.on("close",(p,m)=>{_a.delete(u),_a.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1&&p>0)&&g(),p===0||!n?h({code:Tw(p,m)}):f(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function Rae(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=L.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=V(P({},i),{PWD:c}));let u=(0,Mw.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,h)=>{u.on("error",()=>{h()}),u.on("close",(f,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);f===0||!s?g({code:Tw(f,p),stdout:m,stderr:I}):h(Object.assign(new Error(`Child "${t}" exited with exit code ${f} + +${I}`),{code:Tw(f,p),stdout:m,stderr:I}))})})}var Lae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Tw(t,e){let r=Lae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Uw={};$e(Uw,{getDefaultGlobalFolder:()=>Yw,getHomeFolder:()=>kg,isFolderInside:()=>qw});var Hw=te(require("os"));function Yw(){if(process.platform==="win32"){let t=L.toPortablePath(process.env.LOCALAPPDATA||L.join((0,Hw.homedir)(),"AppData","Local"));return B.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=L.toPortablePath(process.env.XDG_DATA_HOME);return B.resolve(t,"yarn/berry")}return B.resolve(kg(),".yarn/berry")}function kg(){return L.toPortablePath((0,Hw.homedir)()||"/usr/local/share")}function qw(t,e){let r=B.relative(e,t);return r&&!r.startsWith("..")&&!B.isAbsolute(r)}var ce={};$e(ce,{LogLevel:()=>Ln,Style:()=>mA,Type:()=>ke,addLogFilterSupport:()=>Eh,applyColor:()=>Hi,applyHyperlink:()=>oc,applyStyle:()=>Hm,json:()=>ac,mark:()=>eb,pretty:()=>je,prettyField:()=>EA,prettyList:()=>ub,supportsColor:()=>Tm,supportsHyperlinks:()=>lb,tuple:()=>IA});var Ih=te($w()),H2=te(Lg()),Y2=te(BM());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED"})(z||(z={}));function xC(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};$e(de,{BufferStream:()=>aK,DefaultStream:()=>AK,assertNever:()=>FQ,bufferStream:()=>Wg,buildIgnorePattern:()=>Ece,convertMapsToIndexableObjects:()=>GC,dynamicRequire:()=>vn,dynamicRequireNoCache:()=>Ice,escapeRegExp:()=>dce,getArrayWithDefault:()=>Jl,getFactoryWithDefault:()=>Ms,getMapWithDefault:()=>Wl,getSetWithDefault:()=>sA,isIndexableObject:()=>RQ,isPathLike:()=>yce,mapAndFilter:()=>nA,mapAndFind:()=>oK,overrideType:()=>vQ,parseBoolean:()=>zg,parseOptionalBoolean:()=>lK,prettifyAsyncErrors:()=>jC,prettifySyncErrors:()=>Jg,releaseAfterUseAsync:()=>mce,replaceEnvVariables:()=>LQ,sortMap:()=>Bi,tryParseOptionalBoolean:()=>NQ,validateEnum:()=>Cce});var Hg={};$e(Hg,{Builtins:()=>fQ,Cli:()=>_n,Command:()=>fe,Option:()=>j,UsageError:()=>me});var $a=0,Ng=1,ei=2,eQ="",Fr="\0",Ul=-1,tQ=/^(-h|--help)(?:=([0-9]+))?$/,PC=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,wM=/^-[a-zA-Z]{2,}$/,rQ=/^([^=]+)=([\s\S]*)$/,QM=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Mg=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${iQ(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${iQ(e)}`}},nQ=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${iQ(e)}`}},iQ=t=>`While running ${t.filter(e=>e!==Fr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Og=Symbol("clipanion/isOption");function ti(t){return V(P({},t),{[Og]:!0})}function Zn(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function kC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Kg(t,e){return e.length===1?new me(`${t}: ${kC(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${kC(r)}`).join("")}`)}function vC(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw Kg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var fe=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Mo(),Hl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Kg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};fe.isOption=Og;fe.Default=[];function Ei(t){QM&&console.log(t)}var LM={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ul};function NM(){return{nodes:[ri(),ri(),ri()]}}function qAe(t){let e=NM(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:h})=>g.to===h)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r($a)}function jAe(t,{prefix:e=""}={}){Ei(`${e}Nodes are:`);for(let r=0;rl!==ei).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ei))throw new Mg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=JAe(a)}if(i.length>0){Ei(" Results:");for(let s of i)Ei(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Ei(" No results");return i}function WAe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Fr)){for(let{to:r}of t.statics[Fr])if(r===Ng)return!0}return!1}function VAe(t,e,r){let i=r&&e.length>0?[""]:[],n=OM(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let f=g;g=[];for(let p of f){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let b=I[0];for(let{to:x,reducer:F}of m.statics[b])F==="pushPath"&&(u||l.push(b),g.push(x))}}u=!1}let h=JSON.stringify(l);o.has(h)||(s.push(l),o.add(h))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=WAe(u,c);for(let[h,f]of Object.entries(u.statics))(g&&h!==Fr||!h.startsWith("-")&&f.some(({reducer:p})=>p==="pushPath"))&&a([...i,h],l);if(!!g)for(let[h,{to:f}]of u.dynamics){if(f===ei)continue;let p=zAe(h,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function ZAe(t,e){let r=OM(t,[...e,Fr]);return XAe(e,r.map(({state:i})=>i))}function JAe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function XAe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(h=>h.some(f=>g.options.find(p=>p.name===f))));if(i.length===0)throw new Mg(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:h})=>!h).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=_Ae(c);if(u.length>1)throw new nQ(t,u.map(g=>g.candidateUsage));return u[0]}function _Ae(t){let e=[],r=[];for(let i of t)i.selectedIndex===Ul?r.push(i):e.push(i);return r.length>0&&e.push(V(P({},LM),{path:KM(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function KM(t,e,...r){return e===void 0?Array.from(t):KM(t.filter((i,n)=>i===e[n]),...r)}function ri(){return{dynamics:[],shortcuts:[],statics:{}}}function MM(t){return t===Ng||t===ei}function uQ(t,e=0){return{to:MM(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function YAe(t,e=0){let r=ri();for(let[i,n]of t.dynamics)r.dynamics.push([i,uQ(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(uQ(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>uQ(s,e));return r}function Rr(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function ql(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ls(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function RC(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function zAe(t,e){let r=Array.isArray(t)?LC[t[0]]:LC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var LC={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&wM.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(rQ);return!t.ignoreOptions&&!!n&&PC.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&tQ.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&PC.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!PC.test(e)};LC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var cQ={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>V(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>V(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(rQ);return V(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>V(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:Ki})}),pushTrue:(t,e,r=e)=>V(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>V(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>V(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=V(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=V(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>V(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(tQ);return typeof i!="undefined"?V(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):V(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===Fr?V(P({},t),{errorMessage:`${r}.`}):V(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return V(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ki=Symbol(),TM=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ki)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ki?this.arity.extra.push(e):this.arity.extra!==Ki&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ki)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let f=0;f`:`[${h}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ki?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=NM(),r=$a,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=kn(e,ri()),Ls(e,$a,eQ,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let h=kn(e,ri());ql(e,l,h),this.registerOptions(e,h),l=h}for(let h=0;h0||!this.arity.proxy){let h=kn(e,ri());Rr(e,l,"isHelp",h,["useHelp",this.cliIndex]),Ls(e,h,Fr,Ng,["setSelectedIndex",Ul]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ls(e,l,Fr,ei,["setError","Not enough positional arguments"]);let c=l;for(let h=0;h0||h+1!==this.arity.leading.length)&&Ls(e,f,Fr,ei,["setError","Not enough positional arguments"]),Rr(e,c,"isNotOptionLike",f,"pushPositional"),c=f}let u=c;if(this.arity.extra===Ki||this.arity.extra.length>0){let h=kn(e,ri());if(ql(e,c,h),this.arity.extra===Ki){let f=kn(e,ri());this.arity.proxy||this.registerOptions(e,f),Rr(e,c,s,f,"pushExtraNoLimits"),Rr(e,f,s,f,"pushExtraNoLimits"),ql(e,f,h)}else for(let f=0;f0&&Ls(e,u,Fr,ei,["setError","Not enough positional arguments"]);let g=u;for(let h=0;ho.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Rr(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Rr(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=kn(e,ri());for(let o of i.names)Rr(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eZAe(i,n),suggest:(n,s)=>VAe(i,n,s)}}};var UM=80,gQ=Array(UM).fill("\u2501");for(let t=0;t<=24;++t)gQ[gQ.length-t]=`[38;5;${232+t}m\u2501`;var hQ={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},HM={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function rn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=t.replace(/^[\t ]+|[\t ]+$/gm,""),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^-([^\n]*?)\n+/gm,`-$1 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^[*-][\t ]+(.*)/);return n?n[1].match(/(.{1,78})(?: |$)/g).map((s,o)=>(o===0?"- ":" ")+s).join(` +`):i.match(/(.{1,80})(?: |$)/g).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var Ug=class extends fe{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new Ug(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var YM=Symbol("clipanion/errorCommand");function $Ae(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var _n=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=$Ae()}={}){this.registrations=new Map,this.builder=new Tg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new _n(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[fe.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Ul:return Ug.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[YM]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?rn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?rn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?rn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([h,f])=>[rn(h,{format:this.format(e),paragraphs:!1}),f.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){let s=e!==null&&e instanceof fe?e.constructor:e,o="";if(s)if(i){let{description:a="",details:l="",examples:c=[]}=s.usage||{};a!==""&&(o+=rn(a,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),o+=` +`),(l!==""||c.length>0)&&(o+=`${this.format(r).header("Usage")} +`,o+=` +`);let{usage:u,options:g}=this.getUsageByRegistration(s,{inlineOptions:!1});if(o+=`${this.format(r).bold(n)}${u} +`,g.length>0){o+=` +`,o+=`${hQ.header("Options")} +`;let h=g.reduce((f,p)=>Math.max(f,p.definition.length),0);o+=` +`;for(let{definition:f,description:p}of g)o+=` ${this.format(r).bold(f.padEnd(h))} ${rn(p,{format:this.format(r),paragraphs:!1})}`}if(l!==""&&(o+=` +`,o+=`${this.format(r).header("Details")} +`,o+=` +`,o+=rn(l,{format:this.format(r),paragraphs:!0})),c.length>0){o+=` +`,o+=`${this.format(r).header("Examples")} +`;for(let[h,f]of c)o+=` +`,o+=rn(h,{format:this.format(r),paragraphs:!1}),o+=`${f.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:a}=this.getUsageByRegistration(s);o+=`${this.format(r).bold(n)}${a} +`}else{let a=new Map;for(let[g,{index:h}]of this.registrations.entries()){if(typeof g.usage=="undefined")continue;let f=typeof g.usage.category!="undefined"?rn(g.usage.category,{format:this.format(r),paragraphs:!1}):null,p=a.get(f);typeof p=="undefined"&&a.set(f,p=[]);let{usage:m}=this.getUsageByIndex(h);p.push({commandClass:g,usage:m})}let l=Array.from(a.keys()).sort((g,h)=>g===null?-1:h===null?1:g.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),c=typeof this.binaryLabel!="undefined",u=typeof this.binaryVersion!="undefined";c||u?(c&&u?o+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:c?o+=`${this.format(r).header(`${this.binaryLabel}`)} +`:o+=`${this.format(r).header(`${this.binaryVersion}`)} +`,o+=` ${this.format(r).bold(n)}${this.binaryName} +`):o+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let g of l){let h=a.get(g).slice().sort((p,m)=>p.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),f=g!==null?g.trim():"General commands";o+=` +`,o+=`${this.format(r).header(`${f}`)} +`;for(let{commandClass:p,usage:m}of h){let I=p.usage.description||"undocumented";o+=` +`,o+=` ${this.format(r).bold(m)} +`,o+=` ${rn(I,{format:this.format(r),paragraphs:!1})}`}}o+=` +`,o+=rn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return o}error(e,r){var i,{colored:n,command:s=(i=e[YM])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?hQ:HM}};_n.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var fQ={};$e(fQ,{DefinitionsCommand:()=>NC,HelpCommand:()=>MC,VersionCommand:()=>OC});var NC=class extends fe{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};NC.path=[["--clipanion=definitions"]];var MC=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};MC.paths=[["-h"],["--help"]];var OC=class extends fe{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};OC.paths=[["-v"],["--version"]];var j={};$e(j,{Array:()=>qM,Boolean:()=>GM,Counter:()=>jM,Proxy:()=>JM,Rest:()=>WM,String:()=>zM,applyValidator:()=>vC,cleanValidationError:()=>kC,formatError:()=>Kg,isOptionSymbol:()=>Og,makeCommandOption:()=>ti,rerouteArguments:()=>Zn});function qM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ti({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:h,value:f}of u.options)!a.has(h)||(g=g!=null?g:[],g.push(f));return g}})}function GM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ti({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u=h);return u}})}function jM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ti({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u!=null||(u=0),h?u+=1:u=0);return u}})}function JM(t={}){return ti({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function WM(t={}){return ti({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ki||a.extra===!1&&oo)}})}function ele(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ti({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,h=i;for(let{name:f,value:p}of u.options)!a.has(f)||(g=f,h=p);return typeof h=="string"?vC(g!=null?g:c,h,n.validator):h}})}function tle(t={}){let{required:e=!0}=t;return ti({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){for(let s=0;s{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var aK=class extends kQ.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},AK=class extends kQ.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},vn=eval("require");function Ice(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=vn.cache[physicalPath];delete vn.cache[physicalPath];let result;try{result=vn(physicalPath);let freshCacheEntry=vn.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{vn.cache[physicalPath]=currentCacheEntry}return result}function Bi(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Ece(t){return t.length===0?null:t.map(e=>`(${iK.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function LQ(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function zg(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function lK(t){return typeof t=="undefined"?t:zg(t)}function NQ(t){try{return lK(t)}catch{return null}}function yce(t){return!!(L.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var w={};$e(w,{areDescriptorsEqual:()=>O2,areIdentsEqual:()=>ph,areLocatorsEqual:()=>ib,areVirtualPackagesEquivalent:()=>Xpe,bindDescriptor:()=>zpe,bindLocator:()=>Vpe,convertDescriptorToLocator:()=>Nm,convertLocatorToDescriptor:()=>Mm,convertPackageToLocator:()=>Wpe,convertToIdent:()=>Jpe,convertToManifestRange:()=>$pe,copyPackage:()=>gh,devirtualizeDescriptor:()=>hh,devirtualizeLocator:()=>fh,getIdentVendorPath:()=>ede,isVirtualDescriptor:()=>jo,isVirtualLocator:()=>ns,makeDescriptor:()=>Wt,makeIdent:()=>Go,makeLocator:()=>si,makeRange:()=>Om,parseDescriptor:()=>Jo,parseFileStyleRange:()=>Zpe,parseIdent:()=>Qi,parseLocator:()=>CA,parseRange:()=>ic,prettyDependent:()=>ab,prettyDescriptor:()=>Kt,prettyIdent:()=>mr,prettyLocator:()=>it,prettyLocatorNoColors:()=>sb,prettyRange:()=>Rm,prettyReference:()=>Ch,prettyResolution:()=>ob,prettyWorkspace:()=>mh,renamePackage:()=>uh,slugifyIdent:()=>nb,slugifyLocator:()=>nc,sortDescriptors:()=>sc,stringifyDescriptor:()=>bi,stringifyIdent:()=>dt,stringifyLocator:()=>ln,tryParseDescriptor:()=>dh,tryParseIdent:()=>K2,tryParseLocator:()=>T2,virtualizeDescriptor:()=>tb,virtualizePackage:()=>rb});var rc=te(require("querystring")),M2=te(Cr());var wi={};$e(wi,{checksumFile:()=>vm,checksumPattern:()=>Fm,makeHash:()=>ni});var km=te(require("crypto")),$0=te(_0());function ni(...t){let e=(0,km.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function vm(t,{baseFs:e,algorithm:r}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,km.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Fm(t,{cwd:e}){let i=(await(0,$0.default)(t,{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,$0.default)([t,...i],{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=L.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,km.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Lm="virtual:",jpe=5;function Go(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ni(t,e),scope:t,name:e}}function Wt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ni(t.identHash,e),range:e}}function si(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ni(t.identHash,e),reference:e}}function Jpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function Nm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function Mm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Wpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function uh(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function gh(t){return uh(t,t)}function tb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Wt(t,`virtual:${e}#${t.range}`)}function rb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return uh(t,si(t,`virtual:${e}#${t.reference}`))}function jo(t){return t.range.startsWith(Lm)}function ns(t){return t.reference.startsWith(Lm)}function hh(t){if(!jo(t))throw new Error("Not a virtual descriptor");return Wt(t,t.range.replace(/^[^#]*#/,""))}function fh(t){if(!ns(t))throw new Error("Not a virtual descriptor");return si(t,t.reference.replace(/^[^#]*#/,""))}function zpe(t,e){return t.range.includes("::")?t:Wt(t,`${t.range}::${rc.default.stringify(e)}`)}function Vpe(t,e){return t.reference.includes("::")?t:si(t,`${t.reference}::${rc.default.stringify(e)}`)}function ph(t,e){return t.identHash===e.identHash}function O2(t,e){return t.descriptorHash===e.descriptorHash}function ib(t,e){return t.locatorHash===e.locatorHash}function Xpe(t,e){if(!ns(t))throw new Error("Invalid package type");if(!ns(e))throw new Error("Invalid package type");if(!ph(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!O2(r,i))return!1}return!0}function Qi(t){let e=K2(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function K2(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Go(n,i)}function Jo(t,e=!1){let r=dh(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function dh(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Wt(Go(o,n),a)}function CA(t,e=!1){let r=T2(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function T2(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return si(Go(o,n),a)}function ic(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?rc.default.parse(s):s,a=typeof r[4]!="undefined"?rc.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Zpe(t,{protocol:e}){let{selector:r,params:i}=ic(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:CA(i.locator,!0),path:r}}function U2(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function _pe(t){return t===null?!1:Object.entries(t).length>0}function Om({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${U2(e)}#`),n+=U2(r),_pe(i)&&(n+=`::${rc.default.stringify(i)}`),n}function $pe(t){let{params:e,protocol:r,source:i,selector:n}=ic(t);for(let s in e)s.startsWith("__")&&delete e[s];return Om({protocol:r,source:i,params:e,selector:n})}function dt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function bi(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ln(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function nb(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function nc(t){let{protocol:e,selector:r}=ic(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=M2.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${nb(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${nb(t)}-${s}-${t.locatorHash.slice(0,o)}`;return jt(a)}function mr(t,e){return e.scope?`${je(t,`@${e.scope}/`,ke.SCOPE)}${je(t,e.name,ke.NAME)}`:`${je(t,e.name,ke.NAME)}`}function Km(t){if(t.startsWith(Lm)){let e=Km(t.substr(t.indexOf("#")+1)),r=t.substr(Lm.length,jpe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function Rm(t,e){return`${je(t,Km(e),ke.RANGE)}`}function Kt(t,e){return`${mr(t,e)}${je(t,"@",ke.RANGE)}${Rm(t,e.range)}`}function Ch(t,e){return`${je(t,Km(e),ke.REFERENCE)}`}function it(t,e){return`${mr(t,e)}${je(t,"@",ke.REFERENCE)}${Ch(t,e.reference)}`}function sb(t){return`${dt(t)}@${Km(t.reference)}`}function sc(t){return Bi(t,[e=>dt(e),e=>e.range])}function mh(t,e){return mr(t,e.locator)}function ob(t,e,r){let i=jo(e)?hh(e):e;return r===null?`${Kt(t,i)} \u2192 ${eb(t).Cross}`:i.identHash===r.identHash?`${Kt(t,i)} \u2192 ${Ch(t,r.reference)}`:`${Kt(t,i)} \u2192 ${it(t,r)}`}function ab(t,e,r){return r===null?`${it(t,e)}`:`${it(t,e)} (via ${Rm(t,r.range)})`}function ede(t){return`node_modules/${dt(t)}`}var At;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(At||(At={}));var Sr;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(Sr||(Sr={}));var Yr;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(Yr||(Yr={}));var ke={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},mA;(function(e){e[e.BOLD=2]="BOLD"})(mA||(mA={}));var Ab=process.env.GITHUB_ACTIONS?{level:2}:Ih.default.supportsColor?{level:Ih.default.supportsColor.level}:{level:0},Tm=Ab.level!==0,lb=Tm&&!process.env.GITHUB_ACTIONS&&!H2.CIRCLE,cb=new Ih.default.Instance(Ab),tde=new Map([[ke.NO_HINT,null],[ke.NULL,["#a853b5",129]],[ke.SCOPE,["#d75f00",166]],[ke.NAME,["#d7875f",173]],[ke.RANGE,["#00afaf",37]],[ke.REFERENCE,["#87afff",111]],[ke.NUMBER,["#ffd700",220]],[ke.PATH,["#d75fd7",170]],[ke.URL,["#d75fd7",170]],[ke.ADDED,["#5faf00",70]],[ke.REMOVED,["#d70000",160]],[ke.CODE,["#87afff",111]],[ke.SIZE,["#ffd700",220]]]),Rn=t=>t,Um={[ke.NUMBER]:Rn({pretty:(t,e)=>`${e}`,json:t=>t}),[ke.IDENT]:Rn({pretty:(t,e)=>mr(t,e),json:t=>dt(t)}),[ke.LOCATOR]:Rn({pretty:(t,e)=>it(t,e),json:t=>ln(t)}),[ke.DESCRIPTOR]:Rn({pretty:(t,e)=>Kt(t,e),json:t=>bi(t)}),[ke.RESOLUTION]:Rn({pretty:(t,{descriptor:e,locator:r})=>ob(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:bi(t),locator:e!==null?ln(e):null})}),[ke.DEPENDENT]:Rn({pretty:(t,{locator:e,descriptor:r})=>ab(t,e,r),json:({locator:t,descriptor:e})=>({locator:ln(t),descriptor:bi(e)})}),[ke.PACKAGE_EXTENSION]:Rn({pretty:(t,e)=>{switch(e.type){case Sr.Dependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"dependencies",ke.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"peerDependencies",ke.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependencyMeta:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"peerDependenciesMeta",ke.CODE)} \u27A4 ${mr(t,Qi(e.selector))} \u27A4 ${Hi(t,e.key,ke.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case Sr.Dependency:return`${dt(t.parentDescriptor)} > ${dt(t.descriptor)}`;case Sr.PeerDependency:return`${dt(t.parentDescriptor)} >> ${dt(t.descriptor)}`;case Sr.PeerDependencyMeta:return`${dt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[ke.SETTING]:Rn({pretty:(t,e)=>(t.get(e),oc(t,Hi(t,e,ke.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[ke.DURATION]:Rn({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[ke.SIZE]:Rn({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Hi(t,`${s} ${r[i-1]}`,ke.NUMBER)},json:t=>t}),[ke.PATH]:Rn({pretty:(t,e)=>Hi(t,L.fromPortablePath(e),ke.PATH),json:t=>L.fromPortablePath(t)})};function IA(t,e){return[e,t]}function Hm(t,e,r){return t.get("enableColors")&&r&2&&(e=Ih.default.bold(e)),e}function Hi(t,e,r){if(!t.get("enableColors"))return e;let i=tde.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Ab.level>=3?i[0]:i[1],s=typeof n=="number"?cb.ansi256(n):n.startsWith("#")?cb.hex(n):cb[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rde=!!process.env.KONSOLE_VERSION;function oc(t,e,r){return t.get("enableHyperlinks")?rde?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function je(t,e,r){if(e===null)return Hi(t,"null",ke.NULL);if(Object.prototype.hasOwnProperty.call(Um,r))return Um[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Hi(t,e,r)}function ub(t,e,r,{separator:i=", "}={}){return[...e].map(n=>je(t,n,r)).join(i)}function ac(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Um,e))return vQ(e),Um[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function eb(t){return{Check:Hi(t,"\u2713","green"),Cross:Hi(t,"\u2718","red"),Question:Hi(t,"?","cyan")}}function EA(t,{label:e,value:[r,i]}){return`${je(t,e,ke.CODE)}: ${je(t,r,i)}`}var Ln;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ln||(Ln={}));function Eh(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map;for(let u of r){let g=u.get("level");if(typeof g=="undefined")continue;let h=u.get("code");typeof h!="undefined"&&i.set(h,g);let f=u.get("text");typeof f!="undefined"&&n.set(f,g)}let s=(u,g,h)=>{if(u===null||u===z.UNNAMED)return h;if(n.size>0){let f=n.get((0,Y2.default)(g));if(typeof f!="undefined")return f!=null?f:h}if(i.size>0){let f=i.get(xC(u));if(typeof f!="undefined")return f!=null?f:h}return h},o=t.reportInfo,a=t.reportWarning,l=t.reportError,c=function(u,g,h,f){switch(s(g,h,f)){case Ln.Info:o.call(u,g,h);break;case Ln.Warning:a.call(u,g!=null?g:z.UNNAMED,h);break;case Ln.Error:l.call(u,g!=null?g:z.UNNAMED,h);break}};t.reportInfo=function(...u){return c(this,...u,Ln.Info)},t.reportWarning=function(...u){return c(this,...u,Ln.Warning)},t.reportError=function(...u){return c(this,...u,Ln.Error)}}var Ut={};$e(Ut,{Method:()=>BA,RequestError:()=>Pq.RequestError,del:()=>dIe,get:()=>fIe,getNetworkSettings:()=>Rq,post:()=>xS,put:()=>pIe,request:()=>vh});var Sq=te(sI()),Dq=te(require("https")),xq=te(require("http")),SS=te(sn()),DS=te(wq()),oI=te(require("url"));var Qq=te(require("stream")),bq=te(require("string_decoder"));var Ze=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function lIe(t){return typeof t.reportCode!="undefined"}var ai=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var Pq=te(sI()),kq=new Map,vq=new Map,cIe=new xq.Agent({keepAlive:!0}),uIe=new Dq.Agent({keepAlive:!0});function Fq(t){let e=new oI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function gIe(t){return Ms(vq,t,()=>M.readFilePromise(t).then(e=>(vq.set(t,e),e)))}function hIe({statusCode:t,statusMessage:e},r){let i=je(r,t,ke.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return oc(r,`${i}${e?` (${e})`:""}`,n)}async function aI(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof Sq.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${je(e,"httpTimeout",ke.SETTING)})`);let a=new Ze(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Response Code",value:IA(ke.NO_HINT,hIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Method",value:IA(ke.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request URL",value:IA(ke.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Redirects",value:IA(ke.NO_HINT,ub(e,s.request.redirects,ke.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Retry Count",value:IA(ke.NO_HINT,`${je(e,s.request.retryCount,ke.NUMBER)} (can be increased via ${je(e,"httpRetry",ke.SETTING)})`)})}`)});throw a.originalError=s,a}}function Rq(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new oI.URL(t):t;for(let[o,a]of r)if(SS.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var BA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(BA||(BA={}));async function vh(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=BA.GET}){let a=typeof t=="string"?new oI.URL(t):t,l=Rq(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!SS.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?DS.default.httpOverHttp(Fq(l.httpProxy)):cIe,https:l.httpsProxy?DS.default.httpsOverHttp(Fq(l.httpsProxy)):uIe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),h=r.get("httpRetry"),f=r.get("enableStrictSsl"),p=l.caFilePath,{default:m}=await Promise.resolve().then(()=>te(sI())),I=p?await gIe(p):void 0,y=m.extend(P({timeout:{socket:g},retry:h,https:{rejectUnauthorized:f,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function fIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=vr(s,["configuration","jsonResponse"]);let o=Ms(kq,t,()=>aI(vh(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(kq.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function pIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=vr(s,["customErrorMessage"]);return(await aI(vh(t,e,V(P({},i),{method:BA.PUT})),i)).body}async function xS(t,e,n){var s=n,{customErrorMessage:r}=s,i=vr(s,["customErrorMessage"]);return(await aI(vh(t,e,V(P({},i),{method:BA.POST})),i)).body}async function dIe(t,i){var n=i,{customErrorMessage:e}=n,r=vr(n,["customErrorMessage"]);return(await aI(vh(t,null,V(P({},r),{method:BA.DELETE})),r)).body}var bt={};$e(bt,{executePackageAccessibleBinary:()=>GW,executePackageScript:()=>XI,executePackageShellcode:()=>xD,executeWorkspaceAccessibleBinary:()=>WQe,executeWorkspaceLifecycleScript:()=>qW,executeWorkspaceScript:()=>YW,getPackageAccessibleBinaries:()=>ZI,getWorkspaceAccessibleBinaries:()=>HW,hasPackageScript:()=>GQe,hasWorkspaceScript:()=>DD,makeScriptEnv:()=>Zh,maybeExecuteWorkspaceLifecycleScript:()=>JQe,prepareExternalProject:()=>qQe});var Mh={};$e(Mh,{getLibzipPromise:()=>li,getLibzipSync:()=>aG});var _o=["number","number"],PS;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",R[R.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",R[R.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",R[R.ZIP_ER_READ=5]="ZIP_ER_READ",R[R.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",R[R.ZIP_ER_CRC=7]="ZIP_ER_CRC",R[R.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",R[R.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",R[R.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",R[R.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",R[R.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",R[R.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",R[R.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",R[R.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",R[R.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",R[R.ZIP_ER_EOF=17]="ZIP_ER_EOF",R[R.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",R[R.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",R[R.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",R[R.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",R[R.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",R[R.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",R[R.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",R[R.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",R[R.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",R[R.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",R[R.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",R[R.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",R[R.ZIP_ER_TELL=30]="ZIP_ER_TELL",R[R.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(PS||(PS={}));var Lq=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:PS,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",..._o,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",..._o,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",..._o,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",..._o,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",..._o,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",..._o,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",..._o,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",..._o,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var zS=null;function aG(){return zS===null&&(zS=Lq(oG())),zS}async function li(){return aG()}var Jh={};$e(Jh,{ShellError:()=>ia,execute:()=>qI,globUtils:()=>MI});var Gh={};$e(Gh,{parseResolution:()=>wI,parseShell:()=>II,parseSyml:()=>Nr,stringifyArgument:()=>_S,stringifyArgumentSegment:()=>$S,stringifyArithmeticExpression:()=>BI,stringifyCommand:()=>ZS,stringifyCommandChain:()=>wc,stringifyCommandChainThen:()=>XS,stringifyCommandLine:()=>EI,stringifyCommandLineThen:()=>VS,stringifyEnvSegment:()=>yI,stringifyRedirectArgument:()=>Oh,stringifyResolution:()=>QI,stringifyShell:()=>Bc,stringifyShellLine:()=>Bc,stringifySyml:()=>_s,stringifyValueArgument:()=>Qc});var cG=te(lG());function II(t,e={isGlobPattern:()=>!1}){try{return(0,cG.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function Bc(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${EI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function EI(t){return`${wc(t.chain)}${t.then?` ${VS(t.then)}`:""}`}function VS(t){return`${t.type} ${EI(t.line)}`}function wc(t){return`${ZS(t)}${t.then?` ${XS(t.then)}`:""}`}function XS(t){return`${t.type} ${wc(t.chain)}`}function ZS(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>yI(e)).join(" ")} `:""}${t.args.map(e=>_S(e)).join(" ")}`;case"subshell":return`(${Bc(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Oh(e)).join(" ")}`:""}`;case"group":return`{ ${Bc(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Oh(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>yI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function yI(t){return`${t.name}=${t.args[0]?Qc(t.args[0]):""}`}function _S(t){switch(t.type){case"redirection":return Oh(t);case"argument":return Qc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Oh(t){return`${t.subtype} ${t.args.map(e=>Qc(e)).join(" ")}`}function Qc(t){return t.segments.map(e=>$S(e)).join("")}function $S(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i.match(/[(){}<>$|&; \t"']/)?i.match(/[$"]/)?`'${i.replace(/[']/g,"\\'")}'`:`"${i}"`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Bc(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>Qc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${BI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function BI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(BI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var hG=te(gG());function wI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,hG.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function QI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var NI=te(iJ()),oJ=te(sJ()),ewe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,aJ=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],gD=class{constructor(e){this.data=e}};function AJ(t){return t.match(ewe)?t:JSON.stringify(t)}function lJ(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>lJ(t[e])):!1}function hD(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${AJ(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${hD(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof gD?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=aJ.indexOf(l),g=aJ.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!lJ(i[l])).map((l,c)=>{let u=i[l],g=AJ(l),h=hD(u,e+1,!0),f=c>0||r?s:"";return h.startsWith(` +`)?`${f}${g}:${h}`:`${f}${g}: ${h}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function _s(t){try{let e=hD(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}_s.PreserveOrdering=gD;function twe(t){return t.endsWith(` +`)||(t+=` +`),(0,oJ.parse)(t)}var rwe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function iwe(t){if(rwe.test(t))return twe(t);let e=(0,NI.safeLoad)(t,{schema:NI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Nr(t){return iwe(t)}var yJ=te($w()),BJ=te(require("os")),hn=te(require("stream")),wJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var MI={};$e(MI,{fastGlobOptions:()=>gJ,isBraceExpansion:()=>hJ,isGlobPattern:()=>nwe,match:()=>swe,micromatchOptions:()=>KI});var cJ=te(Qm()),uJ=te(require("fs")),OI=te(sn()),KI={strictBrackets:!0},gJ={onlyDirectories:!1,onlyFiles:!1};function nwe(t){if(!OI.default.scan(t,KI).isGlob)return!1;try{OI.default.parse(t,KI)}catch{return!1}return!0}function swe(t,{cwd:e,baseFs:r}){return(0,cJ.default)(t,V(P({},gJ),{cwd:L.fromPortablePath(e),fs:BC(uJ.default,new bg(r))}))}function hJ(t){return OI.default.scan(t,KI).isBrace}var fJ=te(Nw()),as=te(require("stream")),pJ=te(require("string_decoder")),Di;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Di||(Di={}));var NA=new Set;function fD(){}function pD(){for(let t of NA)t.kill()}function dJ(t,e,r,i){return n=>{let s=n[0]instanceof as.Transform?"pipe":n[0],o=n[1]instanceof as.Transform?"pipe":n[1],a=n[2]instanceof as.Transform?"pipe":n[2],l=(0,fJ.default)(t,e,V(P({},i),{stdio:[s,o,a]}));return NA.add(l),NA.size===1&&(process.on("SIGINT",fD),process.on("SIGTERM",pD)),n[0]instanceof as.Transform&&n[0].pipe(l.stdin),n[1]instanceof as.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof as.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(NA.delete(l),NA.size===0&&(process.off("SIGINT",fD),process.off("SIGTERM",pD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{NA.delete(l),NA.size===0&&(process.off("SIGINT",fD),process.off("SIGTERM",pD)),c(u!==null?u:129)})})}}}function CJ(t){return e=>{let r=e[0]==="pipe"?new as.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Mn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},mJ=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},jh=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new jh(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new jh(this,e),n=new mJ;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function TI(t,e){return jh.start(t,e)}function IJ(t,e=null){let r=new as.PassThrough,i=new pJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function EJ(t,{prefix:e}){return{stdout:IJ(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:IJ(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var owe=(0,wJ.promisify)(setTimeout);var Jr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Jr||(Jr={}));function QJ(t,e,r){let i=new hn.PassThrough({autoDestroy:!0});switch(t){case Di.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof hn.Writable&&i.pipe(r.stdin,{end:!1});break;case Di.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Di.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function UI(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var awe=new Map([["cd",async([t=(0,BJ.homedir)(),...e],r,i)=>{let n=B.resolve(i.cwd,L.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory +`),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${L.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")return r.stderr.write(`sleep: missing operand +`),1;let i=Number(t);return Number.isNaN(i)?(r.stderr.write(`sleep: invalid time interval '${t}' +`),1):await owe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await TI(i,{stdin:new Mn(r.stdin),stdout:new Mn(r.stdout),stderr:new Mn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=0;for(;t[l]!=="--";){let u=t[l++],g=Number(t[l++]),h=l+g;for(let f=l;fe.baseFs.createReadStream(B.resolve(r.cwd,L.toPortablePath(t[f]))));break;case"<<<":o.push(()=>{let p=new hn.PassThrough;return process.nextTick(()=>{p.write(`${t[f]} +`),p.end()}),p});break;case"<&":o.push(()=>QJ(Number(t[f]),1,r));break;case">":case">>":{let p=B.resolve(r.cwd,L.toPortablePath(t[f]));p==="/dev/null"?a.push(new hn.Writable({autoDestroy:!0,emitClose:!0,write(m,I,y){setImmediate(y)}})):a.push(e.baseFs.createWriteStream(p,u===">>"?{flags:"a"}:void 0))}break;case">&":a.push(QJ(Number(t[f]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${u}"`)}}if(o.length>0){let u=new hn.PassThrough;i=u;let g=h=>{if(h===o.length)u.end();else{let f=o[h]();f.pipe(u,{end:!1}),f.on("end",()=>{g(h+1)})}};g(0)}if(a.length>0){let u=new hn.PassThrough;n=u;for(let g of a)u.pipe(g)}let c=await TI(Wh(t.slice(l+1),e,r),{stdin:new Mn(i),stdout:new Mn(n),stderr:new Mn(s)}).run();return await Promise.all(a.map(u=>new Promise((g,h)=>{u.on("error",f=>{h(f)}),u.on("close",()=>{g()}),u.end()}))),c}]]);async function Awe(t,e,r){let i=[],n=new hn.PassThrough;return n.on("data",s=>i.push(s)),await HI(t,e,UI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function bJ(t,e,r){let i=t.map(async s=>{let o=await MA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function dD(t){return t.match(/[^ \r\n\t]+/g)||[]}async function SJ(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=dD(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function zh(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await SJ(V(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?zh({type:"variable",name:i.join(" ")},e,r):zh({type:"number",value:n},e,r)}else return lwe[t.type](await zh(t.left,e,r),await zh(t.right,e,r))}async function MA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g)=>{let h=i.get(u);typeof h=="undefined"&&i.set(u,h=[]),h.push(g)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let h=await MA(u.args,e,r);for(let f of h)c(u.subtype,f)}break;case"argument":for(let h of u.segments)switch(h.type){case"text":o(h.text);break;case"glob":o(h.pattern),g=!0;break;case"shell":{let f=await Awe(h.shell,e,r);if(h.quoted)o(f);else{let p=dD(f);for(let m=0;m0){let u=[];for(let[g,h]of i.entries())u.splice(u.length,0,g,String(h.length),...h);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Wh(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=L.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return dJ(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return CJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function cwe(t,e,r){return i=>{let n=new hn.PassThrough,s=HI(t,e,UI(r,{stdin:n}));return{stdin:n,promise:s}}}function uwe(t,e,r){return i=>{let n=new hn.PassThrough,s=HI(t,e,r);return{stdin:n,promise:s}}}function DJ(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Wh([...e,"__ysh_run_procedure",n],r,i)}}async function xJ(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await MA(i.args,e,r),c=await bJ(i.envs,e,r);a=i.envs.length?Wh(l,e,UI(o,{environment:c})):Wh(l,e,o)}break;case"subshell":{let l=await MA(i.args,e,r),c=cwe(i.subshell,e,o);a=DJ(c,l,e,o)}break;case"group":{let l=await MA(i.args,e,r),c=uwe(i.group,e,o);a=DJ(c,l,e,o)}break;case"envs":{let l=await bJ(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Wh(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=TI(a,{stdin:new Mn(o.stdin),stdout:new Mn(o.stdout),stderr:new Mn(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Di.STDOUT);break;case"|&":s=s.pipeTo(a,Di.STDOUT|Di.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function gwe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return yJ.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=EJ(r,{prefix:l});return r.backgroundJobs.push(xJ(t,e,UI(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(wc(t))}' has ended +`)})),0}return await xJ(t,e,r)}async function hwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await gwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function HI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await hwe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function PJ(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>YI(e));case"arithmetic":return CD(t.arithmetic);case"shell":return mD(t.shell);default:return!1}}function YI(t){switch(t.type){case"redirection":return t.args.some(e=>YI(e));case"argument":return t.segments.some(e=>PJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function CD(t){switch(t.type){case"variable":return PJ(t);case"number":return!1;default:return CD(t.left)||CD(t.right)}}function mD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=mD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>YI(s)))||r.args.some(n=>YI(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function qI(t,e=[],{baseFs:r=new wt,builtins:i={},cwd:n=L.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=MI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let h=new Map(awe);for(let[p,m]of Object.entries(i))h.set(p,m);o===null&&(o=new hn.PassThrough,o.end());let f=II(t,u);if(!mD(f)&&f.length>0&&e.length>0){let{command:p}=f[f.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await HI(f,{args:e,baseFs:r,builtins:h,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var KW=te(QD()),TW=te(jI()),Lc=te(require("stream"));var DW=te(Cr());var vt={};$e(vt,{SemVer:()=>QW.SemVer,satisfiesWithPrereleases:()=>Xh,validRange:()=>Kn});var JI=te(Cr()),QW=te(Cr()),bW=new Map;function Xh(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=bW.get(i);if(typeof n=="undefined")try{n=new JI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{bW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new JI.default.SemVer(t,n),s.prerelease&&(s.prerelease=[])}catch(o){return!1}return n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))})}var SW=new Map;function Kn(t){if(t.indexOf(":")!==-1)return null;let e=SW.get(t);if(typeof e!="undefined")return e;try{e=new JI.default.Range(t)}catch{e=null}return SW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new wt}={}){let i=B.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new wt}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(PW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=xW(e)}async loadFile(e,{baseFs:r=new wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(PW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=xW(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=Qi(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=ci(e.main):this.main=null,typeof e.module=="string"?this.module=ci(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=ci(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(ci(s),typeof o=="string"?ci(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,ci(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,ci(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!Kn(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Wt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=Jo(s),l=this.ensureDependencyMeta(a),c=WI(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=WI(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=WI(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=Jo(s),l=this.ensurePeerDependencyMeta(a),c=WI(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:wI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=ci(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=ci(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=ci(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(ci(s),typeof o=="string"?ci(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,ci(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,ci(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(ci(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.dependencies.set(l.identHash,l);let c=Wt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}isCompatibleWithOS(e){return na.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return na.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!DW.default.valid(e.range))throw new Error(`Invalid meta field range for '${bi(e)}'`);let r=dt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${bi(e)}'`);let r=dt(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=dt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=V(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:s})=>s)}):e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let s of this.dependencies.values()){let o=this.dependenciesMeta.get(dt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...sc(i).map(s=>({[dt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...sc(n).map(s=>({[dt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...sc(this.devDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...sc(this.peerDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of Bi(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of Bi(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?bi(Wt(Qi(s),a)):s,u=P({},l);r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Bi(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[QI(s)]:o}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}},ze=na;ze.fileName="package.json",ze.allDependencies=["dependencies","devDependencies","peerDependencies"],ze.hardDependencies=["dependencies","devDependencies"];function xW(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function PW(t){return t.charCodeAt(0)===65279?t.slice(1):t}function ci(t){return t.replace(/\\/g,"/")}function WI(t,{yamlCompatibilityMode:e}){return e?NQ(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var RW=te(FW());var LW=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],NW=80,NQe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),MQe=5,sa=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,MW=new Date,OQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,KQe=t=>t,VI=KQe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),TQe=OQe&&Object.keys(VI).find(t=>{let e=VI[t];return!(e.date&&(e.date[0]!==MW.getDate()||e.date[1]!==MW.getMonth()+1))})||"default";function OW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=xC(t===null?0:t);return!r&&t===null?je(e,n,"grey"):n}function SD(t,{configuration:e,json:r}){let i=OW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return oc(e,i,s)}var De=class extends ai{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=MQe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Eh(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||TQe;if(!Object.prototype.hasOwnProperty.call(VI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=VI[u];let g="\u27A4 YN0000: \u250C ".length,h=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*h/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ke.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ke.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${je(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return V(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=je(this.configuration,Date.now()-this.startTime,ke.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${it(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${it(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>NW&&(this.progressFrame=(this.progressFrame+1)%LW.length,this.progressTime=e);let r=LW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${je(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},NW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,RW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return OW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return SD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Yi="3.0.0-rc.6.git.20210622.hash-4f9a9092";var ls;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(ls||(ls={}));async function $s(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(B.format({dir:t,name:e,ext:".cmd"}),n)}await M.writeFilePromise(B.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`),await M.chmodPromise(B.join(t,e),493)}async function UQe(t){let e=null;try{e=await M.readFilePromise(B.join(t,mt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:ls.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:ls.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(B.join(t,"package-lock.json"))?{packageManager:ls.Npm,reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(B.join(t,"pnpm-lock.yaml"))?{packageManager:ls.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Zh({project:t,locator:e,binFolder:r,lifecycleScript:i}){var a,l;let n={};for(let[c,u]of Object.entries(process.env))typeof u!="undefined"&&(n[c.toLowerCase()!=="path"?c:"PATH"]=u);let s=L.fromPortablePath(r);if(n.BERRY_BIN_FOLDER=L.fromPortablePath(s),await Promise.all([$s(r,"node",process.execPath),...Yi!==null?[$s(r,"run",process.execPath,[process.argv[1],"run"]),$s(r,"yarn",process.execPath,[process.argv[1]]),$s(r,"yarnpkg",process.execPath,[process.argv[1]]),$s(r,"node-gyp",process.execPath,[process.argv[1],"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=L.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=L.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${L.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${L.sep}yarn`,n.npm_node_execpath=`${s}${L.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let c=t.tryWorkspaceByLocator(e),u=c?(a=c.manifest.version)!=null?a:"":(l=t.storedPackages.get(e.locatorHash).version)!=null?l:"";n.npm_package_name=dt(e),n.npm_package_version=u}let o=Yi!==null?`yarn/${Yi}`:`yarn/${vn("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${o} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(c=>c.setupScriptEnvironment,t,n,async(c,u,g)=>await $s(r,jt(c),u,g)),n}var HQe=2,YQe=(0,TW.default)(HQe);async function qQe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await YQe(async()=>{await M.mktempPromise(async o=>{let a=B.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:L.fromPortablePath(t),report:i}),g=s&&ns(s)?fh(s):s,h=g?ln(g):"an external project";c.write(`Packing ${h} from sources +`);let f=await UQe(t),p;f!==null?(c.write(`Using ${f.packageManager} for bootstrap. Reason: ${f.reason} + +`),p=f.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=ls.Yarn2),await M.mktempPromise(async m=>{let I=await Zh({binFolder:m}),b=new Map([[ls.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Rs("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(N.code!==0)return N.code;await M.appendFilePromise(B.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let U=await Rs("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(U.code!==0)return U.code;c.write(` +`);let v=await Rs("yarn",[...F,"pack","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return v.code!==0?v.code:0}],[ls.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=B.join(t,mt.lockfile);await M.existsPromise(N)||await M.writeFilePromise(N,"");let U=await Rs("yarn",[...F,"pack","--install-if-needed","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return U.code!==0?U.code:0}],[ls.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Rs("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(F.code!==0)return F.code;let N=new Lc.PassThrough,U=Wg(N);N.pipe(c);let v=await Rs("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(v.code!==0)return v.code;let J=(await U).toString().trim(),oe=B.resolve(t,L.toPortablePath(J));return await M.renamePromise(oe,e),0}]]).get(p);if(typeof b=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await b();if(!(x===0||typeof x=="undefined"))throw M.detachTemp(o),new Ze(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function GQe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return DD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r.configuration,t)} not found in the project`);return await $i.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new De({stdout:new Lc.PassThrough,configuration:o})},c=a.find(f=>f.supportsPackage(n,l));if(!c)throw new Error(`The package ${it(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await ze.find(Ee.dot,{baseFs:g})).scripts.has(e)},{libzip:await li()})}async function XI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await UW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),h=c.scripts.get(e);if(typeof h=="undefined")return 1;let f=async()=>await qI(h,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,f,n,t,e,{script:h,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function xD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await UW(t,{project:n,binFolder:l,cwd:i});return await qI(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jQe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Zh({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await HW(t),([s,[,o]])=>$s(e,jt(s),process.execPath,[o]))),typeof r=="undefined"&&(r=B.dirname(await M.realpathPromise(B.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function UW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jQe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${it(e.configuration,t)} not found in the project`);return await $i.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new De({stdout:new Lc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${it(e.configuration,o)} isn't supported by any of the available linkers`);let h=await Zh({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await ZI(t,{project:e}),([I,[,y]])=>$s(r,jt(I),process.execPath,[y])));let f=await g.findPackageLocation(o,u),p=new yt(f,{baseFs:a}),m=await ze.find(Ee.dot,{baseFs:p});return typeof i=="undefined"&&(i=f),{manifest:m,binFolder:r,env:h,cwd:i}},{libzip:await li()})}async function YW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await XI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function DD(t,e){return t.manifest.scripts.has(e)}async function qW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await M.mktempPromise(async o=>{let a=B.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:it(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await YW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new Ze(z.LIFECYCLE_SCRIPT,`${(0,KW.default)(e)} script failed (exit code ${je(n,g,ke.NUMBER)}, logs can be found here: ${je(n,a,ke.PATH)}); run ${je(n,`yarn ${e}`,ke.CODE)} to investigate`)})}async function JQe(t,e,r){DD(t,e)&&await qW(t,e,r)}async function ZI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r,t)} not found in the project`);let s=new Lc.Writable,o=r.getLinkers(),a={project:e,report:new De({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Kt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return nA.skip;let h=o.find(p=>p.supportsPackage(g,a));if(!h)return nA.skip;let f=null;try{f=await h.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return nA.skip;throw p}return{dependency:g,packageLocation:f}}));for(let u of c){if(u===nA.skip)continue;let{dependency:g,packageLocation:h}=u;for(let[f,p]of g.bin)i.set(f,[g,L.fromPortablePath(B.resolve(h,p))])}return i}async function HW(t){return await ZI(t.anchoredLocator,{project:t.project})}async function GW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await ZI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${it(n.configuration,t)}`);return await M.mktempPromise(async g=>{let[,h]=u,f=await Zh({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>$s(f.BERRY_BIN_FOLDER,jt(m),process.execPath,[I])));let p;try{p=await Rs(process.execPath,[...l,h,...r],{cwd:i,env:f,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(f.BERRY_BIN_FOLDER)}return p.code})}async function WQe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await GW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var gr={};$e(gr,{convertToZip:()=>uSe,extractArchiveTo:()=>hSe,makeArchiveFromDirectory:()=>cSe,safeTime:()=>ji});var z8=te(require("stream")),V8=te(k8());var q8=te(require("os")),G8=te(Y8()),j8=te(require("worker_threads")),Jx=class{constructor(e){this.source=e;this.pool=[];this.queue=new G8.default({concurrency:(0,q8.cpus)().length});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new j8.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var X8=te(W8()),ji=456789e3;async function cSe(t,{baseFs:e=new wt,prefixPath:r=Ee.root,compressionLevel:i,inMemory:n=!1}={}){let s=await li(),o;if(n)o=new Qr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=B.join(l,"archive.zip");o=new Qr(c,{create:!0,libzip:s,level:i})}let a=B.resolve(Ee.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var Z8;async function uSe(t,e){let r=await M.mktempPromise(),i=B.join(r,"archive.zip");return Z8||(Z8=new Jx((0,X8.getContent)())),await Z8.run({tmpFile:i,tgz:t,opts:e}),new Qr(i,{libzip:await li(),level:e.compressionLevel})}async function*gSe(t){let e=new V8.default.Parse,r=new z8.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function hSe(t,e,{stripComponents:r=0,prefixPath:i=Ee.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of gSe(t)){if(n(a))continue;let l=B.normalize(L.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=B.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,ji,ji);break;case"OldFile":case"File":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.writeFileSync(u,await Wg(a)),e.chmodSync(u,g),e.utimesSync(u,ji,ji);break;case"SymbolicLink":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,ji,ji);break}}return e}var Tn={};$e(Tn,{emitList:()=>fSe,emitTree:()=>iz,treeNodeToJson:()=>rz,treeNodeToTreeify:()=>tz});var ez=te($8());function tz(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Hm(e,l,mA.BOLD)),typeof c!="undefined"&&g.push(je(e,c[0],c[1])),g.length===0&&g.push(Hm(e,`${a}`,mA.BOLD));let h=g.join(": "),f=s[h]={};typeof u!="undefined"&&i(u,f)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function rz(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return ac(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:ac(r.value[0],r.value[1]),children:n}};return e(t)}function fSe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));iz({children:n},{configuration:e,stdout:r,json:i})}function iz(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(rz(l))} +`);return}let s=(0,ez.asTree)(tz(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var Vx=te(require("fs"));var pSe=8,gt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==Va?`c${o}`:"";this.cacheKey=[pSe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new gt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${nc(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=dSe(r).slice(0,10);return`${nc(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?B.resolve(this.cwd,this.getVersionFilename(e)):r===null||Xx(r)!==this.cacheKey?null:B.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?B.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new Ze(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=B.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore +*.flock +`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new wt,c=async(N,U=null)=>{let v=!o||!r?`${this.cacheKey}/${await vm(N)}`:r;if(U!==null){let J=!o||!r?`${this.cacheKey}/${await vm(U)}`:r;if(v!==J)throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&v!==r){let J;switch(this.check?J="throw":Xx(r)!==Xx(v)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return v;default:case"throw":throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return v},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${it(this.configuration,e)}`);let U=await s(),v=U.getRealPath();return U.saveAndClose(),await M.chmodPromise(v,420),await c(N,v)},g=async()=>{if(a===null||!await M.existsPromise(a)){let v=await s(),J=v.getRealPath();return v.saveAndClose(),{source:"loader",path:J}}let N=await M.mktempPromise(),U=B.join(N,this.getVersionFilename(e));return await M.copyFilePromise(a,U,Vx.default.constants.COPYFILE_FICLONE),{source:"mirror",path:U}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${it(this.configuration,e)}`);if(this.immutable)throw new Ze(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${it(this.configuration,e)}`);let{path:N,source:U}=await g();await M.chmodPromise(N,420);let v=await c(N),J=this.getLocatorPath(e,v);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(U!=="mirror"&&a!==null){let K=await M.mktempPromise();oe=B.join(K,this.getVersionFilename(e)),await M.copyFilePromise(N,oe,Vx.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(U==="mirror"?null:a,async()=>(await M.movePromise(N,J),oe&&a&&await M.movePromise(oe,a),[J,v])))},f=async()=>{let U=(async()=>{let v=this.getLocatorPath(e,r),J=v!==null?await l.existsPromise(v):!1,oe=J?i:n;if(oe&&oe(),J){let K=null,A=v;return this.check?K=await u(A):K=await c(A),[A,K]}else return h()})();this.mutexes.set(e.locatorHash,U);try{return await U}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await f();this.markedFiles.add(p);let I=null,y=await li(),b=new Qg(()=>Jg(()=>I=new Qr(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${it(this.configuration,e)}: ${N}`),B);return[new Xa(p,{baseFs:b,pathUtils:B}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await M.lockPromise(e,async()=>await r())}};function Xx(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function dSe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var cz=te(sz()),GE=te(Lg());var uz=te(jI()),tP=te(require("stream"));var oz={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==dt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==dt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Wt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=mh(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var _x=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new Ze(z.FETCHER_NOT_FOUND,`${it(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var eu=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Kt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${it(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var az=te(Cr());var tu=/^(?!v)[a-z0-9._-]+$/i,$x=class{supportsDescriptor(e,r){return!!(Kn(e.range)||tu.test(e.range))}supportsLocator(e,r){return!!(az.default.valid(e.reference)||tu.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return uh(i,e)}forwardDescriptor(e,r){return Wt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return si(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var mf=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=si(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=si(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return nc(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=rr.makeVirtualPath(s,o,n),l=new Xa(a,{baseFs:r.packageFs,pathUtils:B});return V(P({},r),{packageFs:l})}};var ru=class{static isVirtualDescriptor(e){return!!e.range.startsWith(ru.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(ru.protocol)}supportsDescriptor(e,r){return ru.isVirtualDescriptor(e)}supportsLocator(e,r){return ru.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},qE=ru;qE.protocol="virtual:";var If=class{supportsDescriptor(e,r){return!!(e.range.startsWith(If.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(If.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(If.protocol.length));return V(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:At.SOFT,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},fi=If;fi.protocol="workspace:";var eP=class{supports(e){return!!e.reference.startsWith(fi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new yt(i),prefixPath:Ee.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(fi.protocol.length))}};var Az=te(require("module"));function lz(){return new Set(Az.default.builtinModules||Object.keys(process.binding("natives")))}var mSe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),jE="yarn_",rP=".yarnrc.yml",iP="yarn.lock",ISe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var $A=ke,nP={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Yw()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Va},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:iP},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:JE()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:Tm,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:lb,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:GE.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!GE.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:GE.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ln),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function oP(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>sP(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>sP(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return sP(t,e,r,i,n)}function sP(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return ESe(t,e,r,i,n);case ge.MAP:return ySe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return zg(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=LQ(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return B.resolve(n,L.toPortablePath(l));case ge.LOCATOR_LOOSE:return CA(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return CA(l);case ge.BOOLEAN:return zg(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function ESe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=aP(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,oP(t,l,a,i.properties[o],n))}return s}function ySe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,oP(t,c,a,u,n))}return s}function aP(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,aP(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?B.isAbsolute(e.default)?B.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>B.resolve(t.projectCwd,i)):B.resolve(t.projectCwd,e.default);default:return e.default}}function WE(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return ISe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return L.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(WE(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,WE(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,WE(s,o,r))}return i}return t}function BSe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(jE)&&(e=(0,cz.default)(e.slice(jE.length)),t[e]=r);return t}function JE(){let t=`${jE}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return rP}var Ca;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(Ca||(Ca={}));var oo=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new oo(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(nP);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=BSe();delete a.rcFilename;let l=await oo.findRcFiles(e),c=await oo.findHomeRcFile();if(c){let y=l.find(b=>b.path===c.path);y?y.strict=!1:l.push(V(P({},c),{strict:!1}))}let u=({ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F})=>({ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F}),g=U=>{var v=U,{ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F}=v,N=vr(v,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return N},h=new oo(e);h.importSettings(u(nP)),h.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:b,data:x}of l)h.useWithSource(y,u(x),b,{strict:!1});if(s){let y=h.get("yarnPath"),b=h.get("ignorePath");if(y!==null&&!b)return h}let f=h.get("lockfileFilename"),p;switch(i){case 0:p=await oo.findProjectCwd(e,f);break;case 1:p=await oo.findProjectCwd(e,null);break;case 2:M.existsSync(B.join(e,"package.json"))?p=B.resolve(e):p=null;break}h.startingCwd=e,h.projectCwd=p,h.importSettings(g(nP));let m=new Map([["@@core",oz]]),I=y=>"default"in y?y.default:y;if(r!==null){for(let F of r.plugins.keys())m.set(F,I(r.modules.get(F)));let y=new Map;for(let F of lz())y.set(F,()=>vn(F));for(let[F,N]of r.modules)y.set(F,()=>N);let b=new Set,x=(F,N)=>{let{factory:U,name:v}=vn(L.fromPortablePath(F));if(b.has(v))return;let J=new Map(y),oe=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},K=Jg(()=>I(U(oe)),A=>`${A} (when initializing ${v}, defined in ${N})`);y.set(v,()=>K),b.add(v),m.set(v,K)};if(a.plugins)for(let F of a.plugins.split(";")){let N=B.resolve(e,L.toPortablePath(F));x(N,"")}for(let{path:F,cwd:N,data:U}of l)if(!!o&&!!Array.isArray(U.plugins))for(let v of U.plugins){let J=typeof v!="string"?v.path:v,oe=B.resolve(N,L.toPortablePath(J));x(oe,F)}}for(let[y,b]of m)h.activatePlugin(y,b);h.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:b,data:x,strict:F}of l)h.useWithSource(y,g(x),b,{strict:F!=null?F:n});return h.get("enableGlobalCache")&&(h.values.set("cacheFolder",`${h.get("globalFolder")}/cache`),h.sources.set("cacheFolder","")),await h.refreshPackageExtensions(),h}static async findRcFiles(e){let r=JE(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=B.join(s,r);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=Nr(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=B.dirname(s)}return i}static async findHomeRcFile(){let e=JE(),r=kg(),i=B.join(r,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=Nr(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(B.join(s,"package.json"))&&(i=s),r!==null){if(M.existsSync(B.join(s,r))){i=s;break}}else if(i!==null)break;n=B.dirname(s)}return i}static async updateConfiguration(e,r){let i=JE(),n=B.join(e,i),s=M.existsSync(n)?Nr(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,_s(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=kg();return await oo.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,aP(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${je(this,e,ke.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&mSe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${jE}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=oP(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${je(this,e,ke.PATH)}`,u}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return WE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${je(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${je(this,"STDERR","red")}`);s=new tP.PassThrough,s.pipe(l),s.pipe(a),o=new tP.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new eu([new qE,new fi,new $x,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new _x([new mf,new eP,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new ze;o.load(n,{yamlCompatibilityMode:!0});let a=Jl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:Yr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(P({},c),{type:Sr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(P({},c),{type:Sr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[h,f]of Object.entries(g))l.push(V(P({},c),{type:Sr.PeerDependencyMeta,selector:u,key:h,value:f}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),GC(n),{userProvided:!0})}normalizePackage(e){let r=gh(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Xh(s,o))for(let l of a)switch(l.status===Yr.Inactive&&(l.status=Yr.Redundant),l.type){case Sr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Yr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Yr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=Yr.Active,Ms(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:FQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Go("types",o),l=dt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Qi(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Wt(o,"*"))}return r.dependencies=new Map(Bi(r.dependencies,([,s])=>bi(s))),r.peerDependencies=new Map(Bi(r.peerDependencies,([,s])=>bi(s))),r}getLimit(e){return Ms(this.limits,e,()=>(0,uz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},Ae=oo;Ae.telemetry=null;var Ji;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Ji||(Ji={}));var ao=class extends ai{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Eh(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return SD(e,{configuration:this.configuration,json:!1})}};var gy=te(require("crypto")),i9=te(zz()),hy=te(t9()),n9=te(jI()),s9=te(Cr()),LP=te(require("util")),NP=te(require("v8")),MP=te(require("zlib"));var sve=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>Om({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],FP=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=B.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=Nr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=dh(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Kn(l.range)&&(l=Wt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[f,p]of sve){let m=u.match(f);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Kt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let h=l;try{let f=ic(l.range),p=dh(f.selector,!0);p&&(h=p)}catch{}o.set(l.descriptorHash,si(h,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var uy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Nm(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Nm(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var RP=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var Br=class extends ai{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var r9=te(_0());var Lf=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=M.existsSync(B.join(this.cwd,ze.fileName))?await ze.find(this.cwd):new ze,this.relativeCwd=B.relative(this.project.cwd,this.cwd)||Ee.dot;let e=this.manifest.name?this.manifest.name:Go(null,`${this.computeCandidateName()}-${ni(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=si(e,r),this.anchoredDescriptor=Wt(this.locator,`${fi.protocol}${this.relativeCwd}`),this.anchoredLocator=si(this.locator,`${fi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,r9.default)(i,{absolute:!0,cwd:L.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=B.resolve(this.cwd,L.toPortablePath(s));M.existsSync(B.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===fi.protocol&&B.normalize(n)===this.relativeCwd||i===fi.protocol&&n==="*")return!0;let s=Kn(n);return s?i===fi.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${B.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=B.join(this.cwd,ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await M.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var OP=4,ove=1,ave=/ *, */g,o9=/\/$/,Ave=32,lve=(0,LP.promisify)(MP.default.gzip),cve=(0,LP.promisify)(MP.default.gunzip),KP={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(B.join(s,mt.manifest))){i=s;break}n=B.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=Ae.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=Ae.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=Ae.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((h,f)=>h+f.manifest.dependencies.size+f.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${je(e,i,ke.PATH)}) doesn't seem to be part of the project declared in ${je(e,o.cwd,ke.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${je(e,B.relative(o.cwd,i),ke.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let i=await M.readFilePromise(e,"utf8");this.lockFileChecksum=ni(`${ove}`,i);let n=Nr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=CA(l.resolution,!0),u=new ze;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,h=u.languageName||r,f=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,b=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=OP){let x=V(P({},c),{version:g,languageName:h,linkType:f,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:b});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(ave)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=OP)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Mm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Lf(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${mr(this.configuration,r.locator)}: ${L.fromPortablePath(e)} conflicts with ${L.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){B.isAbsolute(e)||(e=B.resolve(this.cwd,e)),e=B.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)B.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${mr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(jo(e)&&(e=hh(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Kt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(ns(e)&&(e=fh(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${it(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${mh(this.configuration,e)} (${je(this.configuration,B.join(e.cwd,mt.manifest),ke.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)jo(i)&&e.dependencies.set(r,hh(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(dt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!s9.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new Br,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(o9,"")!==e.replace(o9,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new FP;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new eu([new uy,new RP(r)]):new eu([new uy,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,h=new Map,f=[],p=async v=>{let J=await jC(async()=>await n.resolve(v,o),K=>`${it(this.configuration,v)}: ${K}`);if(!ib(v,J))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${it(this.configuration,v)} to ${it(this.configuration,J)})`);u.set(J.locatorHash,J);let oe=this.configuration.normalizePackage(J);for(let[K,A]of oe.dependencies){let W=await this.configuration.reduceHook(re=>re.reduceDependency,A,this,oe,A,{resolver:n,resolveOptions:o});if(!ph(A,W))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let $=n.bindDescriptor(W,v,o);oe.dependencies.set(K,$)}return f.push(Promise.all([...oe.dependencies.values()].map(K=>b(K)))),l.set(oe.locatorHash,oe),oe},m=async v=>{let J=g.get(v.locatorHash);if(typeof J!="undefined")return J;let oe=Promise.resolve().then(()=>p(v));return g.set(v.locatorHash,oe),oe},I=async(v,J)=>{let oe=await b(J);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,oe.locatorHash),oe},y=async v=>{let J=this.resolutionAliases.get(v.descriptorHash);if(typeof J!="undefined")return I(v,this.storedDescriptors.get(J));let oe=n.getResolutionDependencies(v,o),K=new Map(await Promise.all(oe.map(async $=>[$.descriptorHash,await b($)]))),W=(await jC(async()=>await n.getCandidates(v,K,o),$=>`${Kt(this.configuration,v)}: ${$}`))[0];if(typeof W=="undefined")throw new Error(`${Kt(this.configuration,v)}: No candidates found`);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,W.locatorHash),m(W)},b=v=>{let J=h.get(v.descriptorHash);if(typeof J!="undefined")return J;a.set(v.descriptorHash,v);let oe=Promise.resolve().then(()=>y(v));return h.set(v.descriptorHash,oe),oe};for(let v of this.workspaces){let J=v.anchoredDescriptor;f.push(b(J))}for(;f.length>0;){let v=[...f];f.length=0,await Promise.all(v)}let x=new Set(this.resolutionAliases.values()),F=new Set(l.keys()),N=new Set,U=new Map;uve({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:x,optionalBuilds:F,peerRequirements:U,allDescriptors:a,allResolutions:c,allPackages:l});for(let v of x)a.delete(v),c.delete(v);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=F,this.peerRequirements=U,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i}){let n=i||this.configuration.makeFetcher(),s={checksums:this.storedChecksums,project:this,cache:e,fetcher:n,report:r},o=Array.from(new Set(Bi(this.storedResolutions.values(),[u=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");return ln(g)}]))),a=!1,l=ai.progressViaCounter(o.length);r.reportProgress(l);let c=(0,n9.default)(Ave);if(await r.startCacheReport(async()=>{await Promise.all(o.map(u=>c(async()=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");if(ns(g))return;let h;try{h=await n.fetch(g,s)}catch(f){f.message=`${it(this.configuration,g)}: ${f.message}`,r.reportExceptionOnce(f),a=f;return}h.checksum?this.storedChecksums.set(g.locatorHash,h.checksum):this.storedChecksums.delete(g.locatorHash),h.releaseFs&&h.releaseFs()}).finally(()=>{l.tick()})))}),a)throw a}async linkEverything({cache:e,report:r,fetcher:i,skipBuild:n}){var oe;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(K=>{let A=K.makeInstaller(l),W=A.getCustomDataKey(),$=this.installersCustomData.get(W);return typeof $!="undefined"&&A.attachCustomData($),[K,A]})),u=new Map,g=new Map,h=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async K=>{let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[K,await s.fetch(A,o)]})));for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let W=f.get(A.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let $=this.tryWorkspaceByLocator(A);if($!==null){let re=[],{scripts:H}=$.manifest;for(let Pe of["preinstall","install","postinstall"])H.has(Pe)&&re.push([Ji.SCRIPT,Pe]);try{for(let[Pe,Le]of c)if(Pe.supportsPackage(A,l)&&(await Le.installPackage(A,W)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{W.releaseFs&&W.releaseFs()}let R=B.join(W.packageFs.getRealPath(),W.prefixPath);g.set(A.locatorHash,R),!ns(A)&&re.length>0&&h.set(A.locatorHash,{directives:re,buildLocations:[R]})}else{let re=a.find(Pe=>Pe.supportsPackage(A,l));if(!re)throw new Ze(z.LINKER_NOT_FOUND,`${it(this.configuration,A)} isn't supported by any available linker`);let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");let R;try{R=await H.installPackage(A,W)}finally{W.releaseFs&&W.releaseFs()}u.set(A.locatorHash,re),g.set(A.locatorHash,R.packageLocation),R.buildDirective&&R.packageLocation&&h.set(A.locatorHash,{directives:R.buildDirective,buildLocations:[R.packageLocation]})}}let p=new Map;for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");let W=this.tryWorkspaceByLocator(A)!==null,$=async(re,H)=>{let R=g.get(A.locatorHash);if(typeof R=="undefined")throw new Error(`Assertion failed: The package (${it(this.configuration,A)}) should have been registered`);let Pe=[];for(let Le of A.dependencies.values()){let Ge=this.storedResolutions.get(Le.descriptorHash);if(typeof Ge=="undefined")throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,Le)}, from ${it(this.configuration,A)})should have been registered`);let Ke=this.storedPackages.get(Ge);if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${Ge}, resolved from ${Kt(this.configuration,Le)}) should have been registered`);let ie=this.tryWorkspaceByLocator(Ke)===null?u.get(Ge):null;if(typeof ie=="undefined")throw new Error(`Assertion failed: The package (${Ge}, resolved from ${Kt(this.configuration,Le)}) should have been registered`);ie===re||W||ie===null?g.get(Ke.locatorHash)!==null&&Pe.push([Le,Ke]):R!==null&&Jl(p,Ge).push(R)}R!==null&&await H.attachInternalDependencies(A,Pe)};if(W)for(let[re,H]of c)re.supportsPackage(A,l)&&await $(re,H);else{let re=u.get(A.locatorHash);if(!re)throw new Error("Assertion failed: The linker should have been found");let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");await $(re,H)}}for(let[K,A]of p){let W=this.storedPackages.get(K);if(!W)throw new Error("Assertion failed: The package should have been registered");let $=u.get(W.locatorHash);if(!$)throw new Error("Assertion failed: The linker should have been found");let re=c.get($);if(!re)throw new Error("Assertion failed: The installer should have been registered");await re.attachExternalDependents(W,A)}let m=new Map;for(let K of c.values()){let A=await K.finalizeInstall();for(let W of(oe=A==null?void 0:A.records)!=null?oe:[])h.set(W.locatorHash,{directives:W.buildDirective,buildLocations:W.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(K.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n)return;let I=new Set(this.storedPackages.keys()),y=new Set(h.keys());for(let K of y)I.delete(K);let b=(0,gy.createHash)("sha512");b.update(process.versions.node),await this.configuration.triggerHook(K=>K.globalHashGeneration,this,K=>{b.update("\0"),b.update(K)});let x=b.digest("hex"),F=new Map,N=K=>{let A=F.get(K.locatorHash);if(typeof A!="undefined")return A;let W=this.storedPackages.get(K.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The package should have been registered");let $=(0,gy.createHash)("sha512");$.update(K.locatorHash),F.set(K.locatorHash,"");for(let re of W.dependencies.values()){let H=this.storedResolutions.get(re.descriptorHash);if(typeof H=="undefined")throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,re)}) should have been registered`);let R=this.storedPackages.get(H);if(typeof R=="undefined")throw new Error("Assertion failed: The package should have been registered");$.update(N(R))}return A=$.digest("hex"),F.set(K.locatorHash,A),A},U=(K,A)=>{let W=(0,gy.createHash)("sha512");W.update(x),W.update(N(K));for(let $ of A)W.update($);return W.digest("hex")},v=new Map,J=!1;for(;y.size>0;){let K=y.size,A=[];for(let W of y){let $=this.storedPackages.get(W);if(!$)throw new Error("Assertion failed: The package should have been registered");let re=!0;for(let Pe of $.dependencies.values()){let Le=this.storedResolutions.get(Pe.descriptorHash);if(!Le)throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,Pe)}) should have been registered`);if(y.has(Le)){re=!1;break}}if(!re)continue;y.delete(W);let H=h.get($.locatorHash);if(!H)throw new Error("Assertion failed: The build directive should have been registered");let R=U($,H.buildLocations);if(this.storedBuildState.get($.locatorHash)===R){v.set($.locatorHash,R);continue}J||(await this.persistInstallStateFile(),J=!0),this.storedBuildState.has($.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${it(this.configuration,$)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${it(this.configuration,$)} must be built because it never has been before or the last one failed`);for(let Pe of H.buildLocations){if(!B.isAbsolute(Pe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${Pe})`);A.push((async()=>{for(let[Le,Ge]of H.directives){let Ke=`# This file contains the result of Yarn building a package (${ln($)}) +`;switch(Le){case Ji.SCRIPT:Ke+=`# Script name: ${Ge} +`;break;case Ji.SHELLCODE:Ke+=`# Script code: ${Ge} +`;break}let ie=null;if(!await M.mktempPromise(async be=>{let he=B.join(be,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(he,{header:Ke,prefix:it(this.configuration,$),report:r}),ve;try{switch(Le){case Ji.SCRIPT:ve=await XI($,Ge,[],{cwd:Pe,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Ji.SHELLCODE:ve=await xD($,Ge,[],{cwd:Pe,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),ve=1}if(Ie.end(),pe.end(),ve===0)return v.set($.locatorHash,R),!0;M.detachTemp(be);let Z=`${it(this.configuration,$)} couldn't be built successfully (exit code ${je(this.configuration,ve,ke.NUMBER)}, logs can be found here: ${je(this.configuration,he,ke.PATH)})`;return this.optionalBuilds.has($.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),v.set($.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),K===y.size){let W=Array.from(y).map($=>{let re=this.storedPackages.get($);if(!re)throw new Error("Assertion failed: The package should have been registered");return it(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=v}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=Ae.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=Yr.Inactive;let i=B.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let h=je(this.configuration,g,ke.PACKAGE_EXTENSION);switch(g.status){case Yr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${h}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case Yr.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${h}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Fl(n,this.generateLockfile());if(c!==n){let u=(0,i9.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let h of g.lines)h.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ke.ADDED)):h.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ke.REMOVED)):e.report.reportInfo(null,je(this.configuration,h,"grey"))}throw e.report.reportSeparator(),new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===Yr.Active&&((l=Ae.telemetry)==null||l.reportPackageExtension(ac(g,ke.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Fm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Fm(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:OP};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let h of s){let f=this.storedDescriptors.get(h);if(!f)throw new Error("Assertion failed: The descriptor should have been registered");a.push(f)}let l=a.map(h=>bi(h)).sort().join(", "),c=new ze;c.version=o.linkType===At.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let h=g.indexOf("/");if(h===-1)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");let f=g.slice(0,h),p=g.slice(h+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=f),f===r.__metadata.cacheKey?u=p:u=g}r[l]=V(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:ln(o),checksum:u})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+_s(r)}async persistLockfile(){let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await M.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(KP))e.push(...o);let r=(0,hy.default)(this,e),i=NP.default.serialize(r),n=ni(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(B.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await lve(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!M.existsSync(n)){r&&await this.applyLightResolution();return}let s=await cve(await M.readFilePromise(n));this.installStateChecksum=ni(s);let o=NP.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,hy.default)(o,KP.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,hy.default)(o,KP.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Br}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!qw(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=B.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function uve({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],h=new Map,f=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(K=>{let A=K.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,gh(W)]})),b=()=>{let K=M.mktempSync(),A=B.join(K,"stacktrace.log"),W=String(g.length+1).length,$=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${ln(re)} +`).join("");throw M.writeFileSync(A,$),M.detachTemp(K),new Ze(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${L.fromPortablePath(A)}`)},x=K=>{let A=r.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(K,A,{top:W,optional:$})=>{g.length>1e3&&b(),g.push(K);let re=N(K,A,{top:W,optional:$});return g.pop(),re},N=(K,A,{top:W,optional:$})=>{if(n.has(K.locatorHash))return;n.add(K.locatorHash),$||s.delete(K.locatorHash);let re=i.get(K.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${it(t.configuration,K)}) should have been registered`)}let H=[],R=[],Pe=[],Le=[],Ge=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(jo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let le=$;if(!le){let ae=re.dependenciesMeta.get(dt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(le=!0)}}let be=r.get(ie.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Kt(t.configuration,ie)}) should have been registered`)}let he=y.get(be)||i.get(be);if(!he)throw new Error(`Assertion failed: The package (${be}, resolved from ${Kt(t.configuration,ie)}) should have been registered`);if(he.peerDependencies.size===0){F(he,new Map,{top:W,optional:le});continue}let Ie=u.get(he.locatorHash);typeof Ie=="number"&&Ie>=2&&b();let pe,ve,Z=new Set,X;R.push(()=>{pe=tb(ie,K.locatorHash),ve=rb(he,K.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,ve.locatorHash),e.set(pe.descriptorHash,pe),i.set(ve.locatorHash,ve),H.push([he,pe,ve])}),Pe.push(()=>{var ae;X=new Map;for(let ue of ve.peerDependencies.values()){let we=re.dependencies.get(ue.identHash);if(!we&&ph(K,ue)&&(we=Mm(K),e.set(we.descriptorHash,we),r.set(we.descriptorHash,K.locatorHash),o.delete(we.descriptorHash)),(!we||we.range==="missing:")&&ve.dependencies.has(ue.identHash)){ve.peerDependencies.delete(ue.identHash);continue}we||(we=Wt(ue,"missing:")),ve.dependencies.set(we.identHash,we),jo(we)&&sA(p,we.descriptorHash).add(ve.locatorHash),h.set(we.identHash,we),we.range==="missing:"&&Z.add(we.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:ve.locatorHash)}ve.dependencies=new Map(Bi(ve.dependencies,([ue,we])=>dt(we)))}),Le.push(()=>{if(!i.has(ve.locatorHash))return;let ae=u.get(he.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(he.locatorHash,ue),F(ve,X,{top:W,optional:le}),u.set(he.locatorHash,ue-1)}),Ge.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(sA(I,ue).add(K.locatorHash),!!i.has(ve.locatorHash)){for(let we of ve.peerDependencies.values()){let lt=X.get(we.identHash);if(typeof lt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Jl(Wl(m,lt),dt(we)).push(ve.locatorHash)}for(let we of Z)ve.dependencies.delete(we)}})}for(let ie of[...R,...Pe])ie();let Ke;do{Ke=!0;for(let[ie,le,be]of H){if(!i.has(be.locatorHash))continue;let he=Wl(f,ie.locatorHash),Ie=ni(...[...be.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Kt(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),le.identHash),pe=he.get(Ie);if(typeof pe=="undefined"){he.set(Ie,le);continue}if(pe===le)continue;Ke=!1,i.delete(be.locatorHash),e.delete(le.descriptorHash),r.delete(le.descriptorHash),n.delete(be.locatorHash);let ve=p.get(le.descriptorHash)||[],Z=[re.locatorHash,...ve];p.delete(le.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(le.identHash,pe)}}}while(!Ke);for(let ie of[...Le,...Ge])ie()};for(let K of t.workspaces){let A=K.anchoredLocator;o.delete(K.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var U;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(U||(U={}));let v=[];for(let[K,A]of I){let W=i.get(K);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let $=m.get(K);if(typeof $!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,Pe]of $){let Le=Qi(R);if(H.peerDependencies.has(Le.identHash))continue;let Ge=`p${ni(re,R,K).slice(0,5)}`;a.set(Ge,{subject:re,requested:Le,rootRequester:K,allRequesters:Pe});let Ke=W.dependencies.get(Le.identHash);if(typeof Ke!="undefined"){let le=(oe=x(Ke).version)!=null?oe:"0.0.0",be=new Set;for(let Ie of Pe){let pe=i.get(Ie);if(typeof pe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let ve=pe.peerDependencies.get(Le.identHash);if(typeof ve=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");be.add(ve.range)}[...be].every(Ie=>Xh(le,Ie))||v.push({type:1,subject:H,requested:Le,requester:W,version:le,hash:Ge,requirementCount:Pe.length})}else{let ie=W.peerDependenciesMeta.get(R);(ie==null?void 0:ie.optional)||v.push({type:0,subject:H,requested:Le,requester:W,hash:Ge})}}}}let J=[K=>sb(K.subject),K=>dt(K.requested),K=>`${K.type}`];for(let K of Bi(v,J))switch(K.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${it(t.configuration,K.subject)} doesn't provide ${mr(t.configuration,K.requested)} (${je(t.configuration,K.hash,ke.CODE)}), requested by ${mr(t.configuration,K.requester)}`);break;case 1:{let A=K.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${it(t.configuration,K.subject)} provides ${mr(t.configuration,K.requested)} (${je(t.configuration,K.hash,ke.CODE)}) with version ${Ch(t.configuration,K.version)}, which doesn't satisfy what ${mr(t.configuration,K.requester)} ${A}`)}break}v.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${je(t.configuration,"yarn explain peer-requirements ",ke.CODE)} for details, where ${je(t.configuration,"",ke.CODE)} is the six-letter p-prefixed code`))}var ps;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(ps||(ps={}));var Nf=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(ps.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(ps.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(ps.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ps.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ps.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ps.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ps.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ps.DEPENDENCY_COUNT,String(e))}reportValue(e,r){sA(this.values,e).add(r)}reportEnumerator(e,r){sA(this.enumerators,e).add(ni(r))}reportHit(e,r="*"){let i=Wl(this.hits,e),n=Ms(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return B.join(e,"telemetry.json")}sendReport(e){var u,g,h;let r=this.getRegistryPath(),i;try{i=M.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(B.dirname(r),{recursive:!0}),M.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=f=>xS(l,f,{configuration:this.configuration}).catch(()=>{});for(let[f,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=f,m.reportType="primary";for(let b of Object.keys((h=m.enumerators)!=null?h:{}))m.enumerators[b]=m.enumerators[b].length;c(m);let I=new Map,y=20;for(let[b,x]of Object.entries(m.values))x.length>0&&I.set(b,x.slice(0,y));for(;I.size>0;){let b={};b.userId=f,b.reportType="secondary",b.metrics={};for(let[x,F]of I)b.metrics[x]=F.shift(),F.length===0&&I.delete(x);c(b)}}}applyChanges(){var o,a,l,c,u,g,h,f,p;let e=this.getRegistryPath(),r;try{r=M.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[b,x]of this.hits.get(m))y[b]=((g=y[b])!=null?g:0)+x}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(h=s[m])!=null?h:{};y[I]=[...new Set([...(f=y[I])!=null?f:[],...(p=this[m].get(I))!=null?p:[]])]}M.mkdirSync(B.dirname(e),{recursive:!0}),M.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var TP=te(require("child_process")),a9=te(Lg());var UP=te(require("fs"));var hu=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function gve(t){let e=L.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,TP.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:V(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,TP.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:V(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function fy({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new _n({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var g,h,f,p,m;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!vt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await Ae.find(L.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd");if(!c&&!u&&l===L.toPortablePath(L.resolve(process.argv[1]))){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!M.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{gve(l)}catch(I){process.exitCode=I.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!a9.isCI&&process.stdout.isTTY&&(Ae.telemetry=new Nf(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(g=Ae.telemetry)==null||g.reportVersion(t);for(let[x,F]of a.plugins.entries()){hu.has((f=(h=x.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:h[1])!=null?f:"")&&((p=Ae.telemetry)==null||p.reportPluginName(x));for(let N of F.commands||[])n.register(N)}let y=n.process(process.argv.slice(2));y.help||(m=Ae.telemetry)==null||m.reportCommandName(y.path.join(" "));let b=y.cwd;if(typeof b!="undefined"&&!u){let x=(0,UP.realpathSync)(process.cwd()),F=(0,UP.realpathSync)(b);if(x!==F){process.chdir(b),await r();return}}await n.runExit(y,{cwd:L.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function A9(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var sp={};$e(sp,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>Xe,getDynamicLibs:()=>BZ,getPluginConfiguration:()=>jy,main:()=>fy,openWorkspace:()=>bu,pluginCommands:()=>hu});var Be=class extends fe{constructor(){super(...arguments);this.cwd=j.String("--cwd",{hidden:!0})}};var Xe=class extends me{constructor(e,r){let i=B.relative(e,r),n=B.join(e,ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var mKe=te(Cr());Mo();var IKe=te(Kk()),BZ=()=>new Map([["@yarnpkg/cli",sp],["@yarnpkg/core",Mf],["@yarnpkg/fslib",Pg],["@yarnpkg/libzip",Mh],["@yarnpkg/parsers",Gh],["@yarnpkg/shell",Jh],["clipanion",Hg],["semver",mKe],["typanion",Hl],["yup",IKe]]);async function bu(t,e){let{project:r,workspace:i}=await Fe.find(t,e);if(!i)throw new Xe(r.cwd,e);return i}var BWe=te(Cr());Mo();var wWe=te(Kk());var kv={};$e(kv,{dedupeUtils:()=>yv,default:()=>oHe,suggestUtils:()=>av});var Xte=te(Lg());var P$=te(lp());var av={};$e(av,{Modifier:()=>hl,Strategy:()=>sr,Target:()=>er,applyModifier:()=>D$,extractDescriptorFromPath:()=>cv,extractRangeModifier:()=>S$,fetchDescriptorFrom:()=>lv,findProjectDescriptors:()=>x$,getModifier:()=>cp,getSuggestedDescriptors:()=>up});var Av=te(Cr()),er;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(er||(er={}));var hl;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(hl||(hl={}));var sr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(sr||(sr={}));function cp(t,e){return t.exact?hl.EXACT:t.caret?hl.CARET:t.tilde?hl.TILDE:e.configuration.get("defaultSemverRangePrefix")}var OTe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function S$(t,{project:e}){let r=t.match(OTe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function D$(t,e){let{protocol:r,source:i,params:n,selector:s}=w.parseRange(t.range);return Av.default.valid(s)&&(s=`${e}${t.range}`),w.makeDescriptor(t,w.makeRange({protocol:r,source:i,params:n,selector:s}))}async function x$(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===er.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===er.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function cv(t,{cwd:e,workspace:r}){return await KTe(async i=>{B.isAbsolute(t)||(t=B.relative(r.cwd,B.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await lv(w.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new Br,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=w.convertDescriptorToLocator(u),h=await l.fetch(g,c),f=await ze.find(h.prefixPath,{baseFs:h.packageFs});if(!f.name)throw new Error("Target path doesn't have a name");return w.makeDescriptor(f.name,t)})}async function up(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${w.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async h=>{try{await h()}catch(f){u.push(f)}};for(let h of o){if(c.length>=a)break;switch(h){case sr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${w.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case sr.REUSE:await g(async()=>{for(let{descriptor:f,locators:p}of(await x$(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(sr.KEEP))continue;let m=`(originally used by ${w.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:f,name:`Reuse ${w.prettyDescriptor(e.configuration,f)}`,reason:m})}});break;case sr.CACHE:await g(async()=>{for(let f of e.storedDescriptors.values())f.identHash===t.identHash&&c.push({descriptor:f,name:`Reuse ${w.prettyDescriptor(e.configuration,f)}`,reason:"(already used somewhere in the lockfile)"})});break;case sr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let f=e.tryWorkspaceByIdent(t);f!==null&&c.push({descriptor:f.anchoredDescriptor,name:`Attach ${w.prettyWorkspace(e.configuration,f)}`,reason:`(local workspace at ${f.cwd})`})});break;case sr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${w.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===er.PEER)c.push({descriptor:w.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ce.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let f=await lv(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});f&&(f=D$(f,s),c.push({descriptor:f,name:`Use ${w.prettyDescriptor(e.configuration,f)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function lv(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=w.makeDescriptor(t,e),a=new Br,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g=V(P({},u),{resolver:c,fetchOptions:u}),h=c.bindDescriptor(o,n.anchoredLocator,g),f=await c.getCandidates(h,new Map,g);if(f.length===0)return null;let p=f[0],{protocol:m,source:I,params:y,selector:b}=w.parseRange(w.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),Av.default.valid(b)&&s!==!1){let x=typeof s=="string"?s:o.range;b=S$(x,{project:r})+b}return w.makeDescriptor(p,w.makeRange({protocol:m,source:I,params:y,selector:b}))}async function KTe(t){return await M.mktempPromise(async e=>{let r=Ae.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new gt(e,{configuration:r,check:!1,immutable:!1}))})}var gp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=j.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=j.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=j.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=j.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=j.Boolean("-i,--interactive",!1,{description:"Reuse the specified package from other workspaces in the project"});this.cached=j.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.packages=j.Rest()}async execute(){var m;let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=cp(this,r),a=[...s?[sr.REUSE]:[],sr.PROJECT,...this.cached?[sr.CACHE]:[],sr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await cv(I,{cwd:this.context.cwd,workspace:i}):w.parseDescriptor(I),b=TTe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),x=await up(y,{project:r,workspace:i,cache:n,target:b,modifier:o,strategies:a,maxResults:l});return[y,x,b]})),u=await ao.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:b,rejections:x}]of c)if(b.filter(N=>N.descriptor!==null).length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,h=[],f=[];for(let[,{suggestions:I},y]of c){let b,x=I.filter(v=>v.descriptor!==null),F=x[0].descriptor,N=x.every(v=>w.areDescriptorsEqual(v.descriptor,F));x.length===1||N?b=F:(g=!0,{answer:b}=await(0,P$.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:v,name:J,reason:oe})=>v?{name:J,hint:oe,descriptor:v}:{name:J,hint:oe,disabled:!0}),onCancel:()=>process.exit(130),result(v){return this.find(v,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let U=i.manifest[y].get(b.identHash);(typeof U=="undefined"||U.descriptorHash!==b.descriptorHash)&&(i.manifest[y].set(b.identHash,b),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta(V(P({},b),{range:"unknown"})).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(V(P({},b),{range:"unknown"})).optional=!0)),typeof U=="undefined"?h.push([i,y,b,a]):f.push([i,y,U,b]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,h),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),g&&this.context.stdout.write(` +`),(await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I})})).exitCode()}};gp.paths=[["add"]],gp.usage=fe.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var k$=gp;function TTe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?er.PEER:r||n?er.DEVELOPMENT:o?er.REGULAR:a?er.DEVELOPMENT:er.REGULAR}var hp=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=j.String({required:!1})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await bt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${w.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await bt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:w.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${w.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};hp.paths=[["bin"]],hp.usage=fe.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var v$=hp;var fp=class extends Be{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=await gt.find(e);return(await De.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await M.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await M.removePromise(r.cwd)})).exitCode()}};fp.paths=[["cache","clean"],["cache","clear"]],fp.usage=fe.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var F$=fp;var R$=te(Dy()),uv=te(require("util")),pp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,R$.default)(o,i):o,l=await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();uv.inspect.styles.name="cyan",this.context.stdout.write(`${(0,uv.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};pp.paths=[["config","get"]],pp.usage=fe.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var L$=pp;var Jee=te(Cv()),Wee=te(Dy()),zee=te(jee()),mv=te(require("util")),Cp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?f=>Ae.updateHomeConfiguration(f):f=>Ae.updateConfiguration(r(),f))(f=>{if(n){let p=(0,Jee.default)(f);return(0,zee.default)(p,this.name,o),p}else return V(P({},f),{[i]:o})});let c=(await Ae.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Wee.default)(u,n):u;return(await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async f=>{mv.inspect.styles.name="cyan",f.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,mv.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Cp.paths=[["config","set"]],Cp.usage=fe.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var Vee=Cp;var nte=te(Cv()),Iv=te(ite()),mp=class extends Be{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new me("This command must be run from within a project folder");let r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);return await(this.home?a=>Ae.updateHomeConfiguration(a):a=>Ae.updateConfiguration(e.projectCwd,a))(a=>{if(i){let l=(0,nte.default)(a);return(0,Iv.default)(l,this.name),l}else return(0,Iv.default)(P({},a),r)}),(await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async a=>{a.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};mp.paths=[["config","unset"]],mp.usage=fe.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var ste=mp;var Ev=te(require("util")),Ip=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins,{strict:!1});return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,Ev.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,Ev.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};Ip.paths=[["config"]],Ip.usage=fe.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var ote=Ip;Mo();var yv={};$e(yv,{Strategy:()=>fl,acceptedStrategies:()=>Y2e,dedupe:()=>Bv});var ate=te(sn()),fl;(function(e){e.HIGHEST="highest"})(fl||(fl={}));var Y2e=new Set(Object.values(fl)),q2e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!ate.default.isMatch(w.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),h=await r.getSatisfying(a,g,n),f=h==null?void 0:h[0];if(typeof f=="undefined")return null;let p=f.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function Bv(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new Br,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let h=await q2e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),f=ai.progressViaCounter(h.length);n.reportProgress(f);let p=0;await Promise.all(h.map(y=>y.then(b=>{if(b===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=b;n.reportInfo(z.UNNAMED,`${w.prettyDescriptor(s,x)} can be deduped from ${w.prettyLocator(s,F)} to ${w.prettyLocator(s,N)}`),n.reportJson({descriptor:w.stringifyDescriptor(x),currentResolution:w.stringifyLocator(F),updatedResolution:w.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.locatorHash)}).finally(()=>f.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=ce.pretty(s,e,ce.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Ep=class extends Be{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",fl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yl(fl)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await gt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await Bv(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await De.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a})})).exitCode()}};Ep.paths=[["dedupe"]],Ep.usage=fe.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Ate=Ep;var rB=class extends fe{async execute(){let{plugins:e}=await Ae.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=_n.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=cte()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify({commands:i},null,2)} +`)}};rB.paths=[["--clipanion=definitions"]];var ute=rB;var iB=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};iB.paths=[["help"],["--help"],["-h"]];var gte=iB;var wv=class extends fe{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!w.tryParseIdent(this.leadingArgument)){let e=B.resolve(this.context.cwd,L.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},hte=wv;var nB=class extends fe{async execute(){this.context.stdout.write(`${Yi||""} +`)}};nB.paths=[["-v"],["--version"]];var fte=nB;var yp=class extends Be{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await M.mktempPromise(async n=>{let{code:s}=await pr.pipevp(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({project:r,locator:i,binFolder:n})});return s})}};yp.paths=[["exec"]],yp.usage=fe.Usage({description:"execute a shell command",details:` + This command simply executes a shell binary within the context of the root directory of the active workspace. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a shell command","$0 exec echo Hello World"]]});var pte=yp;Mo();var Bp=class extends Be{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:aQ(oQ(),[AQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await G2e(this.hash,r,{stdout:this.context.stdout}):(await De.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>w.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>w.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,h=ce.pretty(e,a,ce.Type.CODE),f=w.prettyLocator(e,c),p=w.prettyIdent(e,l.requested),m=w.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,b=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${h} \u2192 ${f} ${x} ${p} to ${m}${b}`)}})).exitCode()}};Bp.paths=[["explain","peer-requirements"]],Bp.usage=fe.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var dte=Bp;async function G2e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await De.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,b;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let h=[...n.allRequesters.values()].map(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=w.devirtualizeLocator(F),U=e.storedPackages.get(N.locatorHash);if(typeof U=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let v=U.peerDependencies.get(n.requested.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:v}});if(g!==null){let x=h.every(({peerDependency:F})=>vt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} provides ${w.prettyLocator(i,g)} with version ${w.prettyReference(i,(b=g.version)!=null?b:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} doesn't provide ${w.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let f=ce.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(h,N=>w.stringifyLocator(N.pkg))){let U=(g!==null?vt.satisfiesWithPrereleases(g.version,F.range):!1)?f.Check:f.Cross;p.push({stringifiedLocator:w.stringifyLocator(x),prettyLocator:w.prettyLocator(i,x),prettyRange:w.prettyRange(i,F.range),mark:U})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:U}of de.sortMap(p,({stringifiedLocator:v})=>v))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${U}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${w.prettyLocator(e.configuration,l)}`))})).exitCode()}var Cte=te(sn()),wp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i&&!this.all)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,U=new Map,v=[N];for(;v.length>0;){let J=v.shift();if(U.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(U.set(J,oe),w.isVirtualLocator(oe)&&v.push(w.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let K of oe.dependencies.values()){let A=r.storedResolutions.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");v.push(A)}}return U.values()},a=({recursive:x})=>{let F=new Map;for(let N of r.workspaces)for(let U of o(N,{recursive:x}))F.set(U.locatorHash,U);return F.values()},l=({all:x,recursive:F})=>x&&F?r.storedPackages.values():x?a({recursive:F}):o(i,{recursive:F}),c=({all:x,recursive:F})=>{let N=l({all:x,recursive:F}),U=this.patterns.map(oe=>{let K=w.parseLocator(oe),A=Cte.default.makeRe(w.stringifyIdent(K)),W=w.isVirtualLocator(K),$=W?w.devirtualizeLocator(K):K;return re=>{let H=w.stringifyIdent(re);if(!A.test(H))return!1;if(K.reference==="unknown")return!0;let R=w.isVirtualLocator(re),Pe=R?w.devirtualizeLocator(re):re;return!(W&&R&&K.reference!==re.reference||$.reference!==Pe.reference)}}),v=de.sortMap([...N],oe=>w.stringifyLocator(oe));return{selection:v.filter(oe=>U.length===0||U.some(K=>K(oe))),sortedLookup:v}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let h=new Map;if(this.dependents)for(let x of g)for(let F of x.dependencies.values()){let N=r.storedResolutions.get(F.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(h,N).push(x)}let f=new Map;for(let x of g){if(!w.isVirtualLocator(x))continue;let F=w.devirtualizeLocator(x);de.getArrayWithDefault(f,F.locatorHash).push(x)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new Br,skipIntegrityCheck:!0},b=[async(x,F,N)=>{var J,oe;if(!F.has("manifest"))return;let U=await I.fetch(x,y),v;try{v=await ze.find(U.prefixPath,{baseFs:U.packageFs})}finally{(J=U.releaseFs)==null||J.call(U)}N("Manifest",{License:ce.tuple(ce.Type.NO_HINT,v.license),Homepage:ce.tuple(ce.Type.URL,(oe=v.raw.homepage)!=null?oe:null)})},async(x,F,N)=>{var K;if(!F.has("cache"))return;let U=(K=r.storedChecksums.get(x.locatorHash))!=null?K:null,v=n.getLocatorPath(x,U),J;if(v!==null)try{J=M.statSync(v)}catch{}let oe=typeof J!="undefined"?[J.size,ce.Type.SIZE]:void 0;N("Cache",{Checksum:ce.tuple(ce.Type.NO_HINT,U),Path:ce.tuple(ce.Type.PATH,v),Size:oe})}];for(let x of u){let F=w.isVirtualLocator(x);if(!this.virtuals&&F)continue;let N={},U={value:[x,ce.Type.LOCATOR],children:N};if(p[w.stringifyLocator(x)]=U,this.nameOnly){delete U.children;continue}let v=f.get(x.locatorHash);typeof v!="undefined"&&(N.Instances={label:"Instances",value:ce.tuple(ce.Type.NUMBER,v.length)}),N.Version={label:"Version",value:ce.tuple(ce.Type.NO_HINT,x.version)};let J=(K,A)=>{let W={};if(N[K]=W,Array.isArray(A))W.children=A.map($=>({value:$}));else{let $={};W.children=$;for(let[re,H]of Object.entries(A))typeof H!="undefined"&&($[re]={label:re,value:H})}};if(!F){for(let K of b)await K(x,s,J);await e.triggerHook(K=>K.fetchPackageInfo,x,s,J)}x.bin.size>0&&!F&&J("Exported Binaries",[...x.bin.keys()].map(K=>ce.tuple(ce.Type.PATH,K)));let oe=h.get(x.locatorHash);typeof oe!="undefined"&&oe.length>0&&J("Dependents",oe.map(K=>ce.tuple(ce.Type.LOCATOR,K))),x.dependencies.size>0&&!F&&J("Dependencies",[...x.dependencies.values()].map(K=>{var $;let A=r.storedResolutions.get(K.descriptorHash),W=typeof A!="undefined"&&($=r.storedPackages.get(A))!=null?$:null;return ce.tuple(ce.Type.RESOLUTION,{descriptor:K,locator:W})})),x.peerDependencies.size>0&&F&&J("Peer dependencies",[...x.peerDependencies.values()].map(K=>{var re,H;let A=x.dependencies.get(K.identHash),W=typeof A!="undefined"&&(re=r.storedResolutions.get(A.descriptorHash))!=null?re:null,$=W!==null&&(H=r.storedPackages.get(W))!=null?H:null;return ce.tuple(ce.Type.RESOLUTION,{descriptor:K,locator:$})}))}Tn.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};wp.paths=[["info"]],wp.usage=fe.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var mte=wp;var Qp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=j.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=j.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=j.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=j.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.skipBuilds=j.Boolean("--skip-builds",!1,{description:"Skip the build step altogether"});this.cacheFolder=j.String("--cache-folder",{hidden:!0});this.frozenLockfile=j.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=j.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=j.Boolean("--non-interactive",{hidden:!0});this.preferOffline=j.Boolean("--prefer-offline",{hidden:!0});this.production=j.Boolean("--production",{hidden:!0});this.registry=j.String("--registry",{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await Ae.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(h,{error:f})=>{let p=await De.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{f?m.reportError(z.DEPRECATED_CLI_SETTINGS,h):m.reportWarning(z.DEPRECATED_CLI_SETTINGS,h)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let h=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(h!==null)return h}if(typeof this.registry!="undefined"){let h=await s("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline!="undefined"){let h=await s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(h!==null)return h}if(typeof this.production!="undefined"){let h=await s("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive!="undefined"){let h=await s("The --non-interactive option is deprecated",{error:!n});if(h!==null)return h}if(typeof this.frozenLockfile!="undefined"&&(await s("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let h=await s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(h!==null)return h}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let h=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{await j2e(e,o)&&(f.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let h=e.projectCwd,f;try{f=await M.readFilePromise(B.join(h,mt.lockfile),"utf8")}catch{}if(f==null?void 0:f.includes("yarn lockfile v1")){let p=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await Ae.updateConfiguration(h,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let h=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{var p;((p=Ae.telemetry)==null?void 0:p.isNew)&&(f.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),f.reportInfo(z.TELEMETRY_NOTICE,`Run ${ce.pretty(e,"yarn config set --home enableTelemetry 0",ce.Type.CODE)} to disable`),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:a,workspace:l}=await Fe.find(e,this.context.cwd),c=await gt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Xe(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await a.install({cache:c,report:h,immutable:o,skipBuild:this.skipBuilds})})).exitCode()}};Qp.paths=[["install"],fe.Default],Qp.usage=fe.Usage({description:"install the project dependencies",details:` + This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where are stored the cache files). + + - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--skip-builds\` option is set, Yarn will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Ite=Qp,J2e="|||||||",W2e=">>>>>>>",z2e="=======",Ete="<<<<<<<";async function j2e(t,e){if(!t.projectCwd)return!1;let r=B.join(t.projectCwd,t.get("lockfileFilename"));if(!await M.existsPromise(r))return!1;let i=await M.readFilePromise(r,"utf8");if(!i.includes(Ete))return!1;if(e)throw new Ze(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=V2e(i),o,a;try{o=Nr(n),a=Nr(s)}catch(c){throw new Ze(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(r,_s(l),{automaticNewlines:!0}),!0}function V2e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Ete)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===z2e){i=!1;break}else if(i||s.startsWith(J2e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(W2e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var bp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=B.resolve(this.context.cwd,L.toPortablePath(this.destination)),o=await Ae.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Xe(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let h of a.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&u.push(h);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let h of u){let f=w.stringifyIdent(h.locator),p=this.relative?B.relative(r.cwd,h.cwd):h.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:f}},reference:`portal:${p}`})}return(await De.start({configuration:e,stdout:this.context.stdout},async h=>{await r.install({cache:n,report:h})})).exitCode()}};bp.paths=[["link"]],bp.usage=fe.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var yte=bp;var Sp=class extends Be{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Sp.paths=[["node"]],Sp.usage=fe.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Bte=Sp;var Rte=te(require("os"));var Ste=te(require("os"));var X2e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function pl(t){let e=await Ut.get(X2e,{configuration:t});return Nr(e.toString())}var Dp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await pl(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=vr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};Dp.paths=[["plugin","list"]],Dp.usage=fe.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var wte=Dp;var Qte=te(Cr()),xp=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r;if(this.version==="latest"||this.version==="berry")r="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if(this.version==="classic")r="https://nightly.yarnpkg.com/latest.js";else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))r=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))r=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else throw vt.validRange(this.version)?new me("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new me(`Invalid version descriptor "${this.version}"`);return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{n.reportInfo(z.UNNAMED,`Downloading ${ce.pretty(e,r,"green")}`);let s=await Ut.get(r,{configuration:e});await Qv(e,null,s,{report:n})})).exitCode()}};xp.paths=[["set","version"]],xp.usage=fe.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]});var bte=xp;async function Qv(t,e,r,{report:i}){var g;e===null&&await M.mktempPromise(async h=>{let f=B.join(h,"yarn.cjs");await M.writeFilePromise(f,r);let{stdout:p}=await pr.execvp(process.execPath,[L.fromPortablePath(f),"--version"],{cwd:h,env:V(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Qte.default.valid(e))throw new Error(`Invalid semver version. ${ce.pretty(t,"yarn --version",ce.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=B.resolve(n,".yarn/releases"),o=B.resolve(s,`yarn-${e}.cjs`),a=B.relative(t.startingCwd,o),l=B.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);i.reportInfo(z.UNNAMED,`Saving the new release in ${ce.pretty(t,a,"magenta")}`),await M.removePromise(B.dirname(o)),await M.mkdirPromise(B.dirname(o),{recursive:!0}),await M.writeFilePromise(o,r),await M.chmodPromise(o,493),u&&await Ae.updateConfiguration(n,{yarnPath:l})}var Z2e=/^[0-9]+$/;function Dte(t){return Z2e.test(t)?`pull/${t}/head`:t}var _2e=({repository:t,branch:e},r)=>[["git","init",L.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",Dte(e)],["git","reset","--hard","FETCH_HEAD"]],$2e=({branch:t})=>[["git","fetch","origin",Dte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eHe=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",B.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Pp=class extends Be{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Ste.tmpdir)()),"yarnpkg-sources",wi.makeHash(this.repository).slice(0,6));return(await De.start({configuration:e,stdout:this.context.stdout},async s=>{await Sv(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await kp(eHe(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=B.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await M.readFilePromise(o);await Qv(e,"sources",a,{report:s}),this.skipPlugins||await tHe(this,{project:r,report:s,target:i})})).exitCode()}};Pp.paths=[["set","version","from","sources"]],Pp.usage=fe.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var xte=Pp;async function kp(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await pr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ce.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await pr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function Sv(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&M.existsSync(B.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await kp($2e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await kp(_2e(t,i),{configuration:e,context:t.context,target:i}))}async function tHe(t,{project:e,report:r,target:i}){let n=await pl(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await bv(o,t,{project:e,report:r,target:i})}var Pte=te(Cr()),kte=te(require("url")),vte=te(require("vm"));var vp=class extends Be{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||L.isAbsolute(this.name)){let a=B.resolve(this.context.cwd,L.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ce.pretty(e,a,ce.Type.PATH)}`),s=B.relative(n.cwd,a),o=await M.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new kte.URL(this.name)}catch{throw new Ze(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=w.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Pte.default.valid(l.reference))throw new Ze(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=w.stringifyIdent(l),u=await pl(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Yi!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Yi}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ce.pretty(e,a,"green")}`),o=await Ut.get(a,{configuration:e})}await Dv(s,o,{project:n,report:i})})).exitCode()}};vp.paths=[["plugin","import"]],vp.usage=fe.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Fte=vp;async function Dv(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,vte.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=B.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ce.pretty(n,l,"magenta")}`),await M.mkdirPromise(B.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:t};await Ae.updateConfiguration(r.cwd,g=>{let h=[],f=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=B.resolve(r.cwd,L.toPortablePath(m)),{name:y}=de.dynamicRequire(L.fromPortablePath(I));y!==a?h.push(p):(h.push(u),f=!0)}return f||h.push(u),V(P({},g),{plugins:h})})}var rHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Fp=class extends Be{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Rte.tmpdir)()),"yarnpkg-sources",wi.makeHash(this.repository).slice(0,6));return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=w.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=w.stringifyIdent(o),l=await pl(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await Sv(this,{configuration:e,report:n,target:r}),await bv(c,this,{project:s,report:n,target:r})})).exitCode()}};Fp.paths=[["plugin","import","from","sources"]],Fp.usage=fe.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var Lte=Fp;async function bv(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await kp(rHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=B.resolve(s,`packages/${o}/bundles/${t}.js`),c=await M.readFilePromise(l);await Dv(t,c,{project:i,report:n})}var Rp=class extends Be{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=w.parseIdent(s);if(!e.plugins.has(s))throw new me(`${w.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=B.resolve(r.cwd,a);M.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ce.pretty(e,a,ce.Type.PATH)}...`),await M.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await Ae.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:V(P({},c),{plugins:u})})})).exitCode()}};Rp.paths=[["plugin","remove"]],Rp.usage=fe.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Nte=Rp;var Lp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Lp.paths=[["plugin","runtime"]],Lp.usage=fe.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Mte=Lp;var Np=class extends Be{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(w.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new Br}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await De.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Np.paths=[["rebuild"]],Np.usage=fe.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Ote=Np;var xv=te(sn());var Mp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let f of this.patterns){let p=!1,m=w.parseIdent(f);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let b of(0,xv.default)(y,f))I.manifest.peerDependenciesMeta.delete(b),l=!0,p=!0;for(let b of o){let x=I.manifest.getForScope(b),F=[...x.values()].map(N=>w.stringifyIdent(N));for(let N of(0,xv.default)(F,w.stringifyIdent(m))){let{identHash:U}=w.parseIdent(N),v=x.get(U);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[b].delete(U),c.push([I,b,v]),l=!0,p=!0}}}p||a.push(f)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",h=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ce.prettyList(e,a,$A.CODE)} ${g} match any packages referenced by ${h} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await De.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p})})).exitCode()):0}};Mp.paths=[["remove"]],Mp.usage=fe.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Kte=Mp;var Tte=te(require("util")),sB=class extends Be{async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);return(await De.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Tte.inspect)(g,l)}`)})).exitCode()}};sB.paths=[["run"]];var Ute=sB;var Op=class extends Be{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await bt.hasPackageScript(s,this.scriptName,{project:r}))return await bt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await bt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await bt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await bt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of hu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};Op.paths=[["run"]],Op.usage=fe.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Hte=Op;var Kp=class extends Be{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Xe(r.cwd,this.context.cwd);let s=w.parseDescriptor(this.descriptor,!0),o=w.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await De.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Kp.paths=[["set","resolution"]],Kp.usage=fe.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Yte=Kp;var qte=te(sn()),Tp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=B.resolve(this.context.cwd,L.toPortablePath(l));if(de.isPathLike(l)){let u=await Ae.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:h}=await Fe.find(u,c);if(!h)throw new Xe(g.cwd,c);if(this.all){for(let f of g.workspaces)f.manifest.name&&o.add(w.stringifyIdent(f.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(w.stringifyIdent(h.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,qte.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await De.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Tp.paths=[["unlink"]],Tp.usage=fe.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Gte=Tp;var jte=te(lp()),Pv=te(sn());Mo();var Fu=class extends Be{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>w.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(w.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,Pv.default)(o,u)){let h=w.parseIdent(g);a.add(h.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await De.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=cp(this,r),a=s?[sr.KEEP,sr.REUSE,sr.PROJECT,sr.LATEST]:[sr.PROJECT,sr.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,b=w.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let U=[...x.manifest.getForScope(F).values()].map(v=>w.stringifyIdent(v));for(let v of(0,Pv.default)(U,w.stringifyIdent(b))){let J=w.parseIdent(v),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let K=w.makeDescriptor(J,b.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await up(K,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${ce.prettyList(e,c,$A.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ce.prettyList(e,c,$A.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await ao.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:b,rejections:x}]of u){let F=b.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let U=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range + +${U}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${U}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let h=!1,f=[];for(let[I,y,,{suggestions:b}]of u){let x,F=b.filter(J=>J.descriptor!==null),N=F[0].descriptor,U=F.every(J=>w.areDescriptorsEqual(J.descriptor,N));F.length===1||U?x=N:(h=!0,{answer:x}=await(0,jte.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${w.prettyWorkspace(e,I)} \u276F ${y}?`,choices:b.map(({descriptor:J,name:oe,reason:K})=>J?{name:oe,hint:K,descriptor:J}:{name:oe,hint:K,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let v=I.manifest[y].get(x.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(v.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),f.push([I,y,v,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},K=J.bindDescriptor(v,I.anchoredLocator,oe);r.forgetResolution(K)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),h&&this.context.stdout.write(` +`),(await De.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I})})).exitCode()}};Fu.paths=[["up"]],Fu.usage=fe.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Fu.schema=[lQ("recursive",tA.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Jte=Fu;var Up=class extends Be{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.parseIdent(this.package).identHash,s=this.recursive?nHe(r,n,{configuration:e,peers:this.peers}):iHe(r,n,{configuration:e,peers:this.peers});Tn.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Up.paths=[["why"]],Up.usage=fe.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var Wte=Up;function iHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>w.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let h=t.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The package should have been registered");if(h.identHash!==e)continue;if(c===null){let p=w.stringifyLocator(a);s[p]={value:[a,ce.Type.LOCATOR],children:l}}let f=w.stringifyLocator(h);l[f]={value:[{descriptor:u,locator:h},ce.Type.DEPENDENT]}}}return o}function nHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,h=>w.stringifyLocator(h.anchoredLocator)),s=new Set,o=new Set,a=h=>{if(s.has(h.locatorHash))return o.has(h.locatorHash);if(s.add(h.locatorHash),h.identHash===e)return o.add(h.locatorHash),!0;let f=!1;h.identHash===e&&(f=!0);for(let p of h.dependencies.values()){if(!i&&h.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(f=!0)}return f&&o.add(h.locatorHash),f};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");a(f)}let l=new Set,c={},u={children:c},g=(h,f,p)=>{if(!o.has(h.locatorHash))return;let m=p!==null?ce.tuple(ce.Type.DEPENDENT,{locator:h,descriptor:p}):ce.tuple(ce.Type.LOCATOR,h),I={},y={value:m,children:I},b=w.stringifyLocator(h);if(f[b]=y,!l.has(h.locatorHash)&&(l.add(h.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(h))))for(let x of h.dependencies.values()){if(!i&&h.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");g(f,c,null)}return u}var Hp=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of ze.hardDependencies)for(let[g,h]of o.getForScope(u)){let f=r.tryWorkspaceByDescriptor(h);f===null?r.workspacesByIdent.has(g)&&c.add(h):l.add(f)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>w.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(P({location:s.relativeCwd,name:o.name?w.stringifyIdent(o.name):null},a))}})).exitCode()}};Hp.paths=[["workspaces","list"]],Hp.usage=fe.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var zte=Hp;var Yp=class extends fe{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=w.convertToIdent(a.locator);return[w.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Yp.paths=[["workspace"]],Yp.usage=fe.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Vte=Yp;var sHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:Xte.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:hl.CARET}},commands:[F$,L$,Vee,ste,Yte,xte,bte,zte,ute,gte,hte,fte,k$,v$,ote,Ate,pte,dte,mte,Ite,yte,Gte,Bte,Lte,Fte,Nte,wte,Mte,Ote,Kte,Ute,Hte,Jte,Wte,Vte]},oHe=sHe;var Lv={};$e(Lv,{default:()=>AHe});var Zr={optional:!0},Zte=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Zr,zenObservable:Zr}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Zr,zenObservable:Zr}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Zr}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Zr,["postcss-jsx"]:Zr,["postcss-less"]:Zr,["postcss-markdown"]:Zr,["postcss-scss"]:Zr}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@*",{peerDependenciesMeta:{webpack:Zr}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Zr}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Zr,"vue-template-compiler":Zr}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Zr,"utf-8-validate":Zr}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}]];var vv;function _te(){return typeof vv=="undefined"&&(vv=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),vv}var Fv;function $te(){return typeof Fv=="undefined"&&(Fv=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),Fv}var Rv;function ere(){return typeof Rv=="undefined"&&(Rv=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Rv}var tre=new Map([[w.makeIdent(null,"fsevents").identHash,_te],[w.makeIdent(null,"resolve").identHash,$te],[w.makeIdent(null,"typescript").identHash,ere]]),aHe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of Zte)e(w.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=w.parseIdent(e.slice(r.length)),n=(s=tre.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof tre.get(t.identHash)=="undefined"?t:w.makeDescriptor(t,w.makeRange({protocol:"patch:",source:w.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},AHe=aHe;var Nv={};$e(Nv,{default:()=>cHe});var oB=class extends Be{constructor(){super(...arguments);this.pkg=j.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=w.parseIdent(this.command),i=w.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,w.stringifyIdent(i),...this.args])}};oB.paths=[["create"]];var rre=oB;var qp=class extends Be{constructor(){super(...arguments);this.packages=j.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){return Ae.telemetry=null,await M.mktempPromise(async e=>{var p;let r=B.join(e,`dlx-${process.pid}`);await M.mkdirPromise(r),await M.writeFilePromise(B.join(r,"package.json"),`{} +`),await M.writeFilePromise(B.join(r,"yarn.lock"),"");let i=B.join(r,".yarnrc.yml"),n=await Ae.findProjectCwd(this.context.cwd,mt.lockfile),s=!(await Ae.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?B.join(n,".yarnrc.yml"):null;o!==null&&M.existsSync(o)?(await M.copyFilePromise(o,i),await Ae.updateConfiguration(r,m=>{let I=V(P({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let b=typeof y=="string"?y:y.path,x=L.isAbsolute(b)?b:L.resolve(L.fromPortablePath(n),b);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await M.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=w.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await Ae.find(r,this.context.plugins),{project:g,workspace:h}=await Fe.find(u,r);if(h===null)throw new Xe(g.cwd,r);await g.restoreInstallState();let f=await bt.getWorkspaceAccessibleBinaries(h);return f.has(l)===!1&&f.size===1&&typeof this.packages=="undefined"&&(l=Array.from(f)[0][0]),await bt.executeWorkspaceAccessibleBinary(h,l,this.args,{packageAccessibleBinaries:f,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};qp.paths=[["dlx"]],qp.usage=fe.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var ire=qp;var lHe={commands:[rre,ire]},cHe=lHe;var Gv={};$e(Gv,{default:()=>hHe,fileUtils:()=>Mv});var Ru=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Gp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,or="file:";var Mv={};$e(Mv,{makeArchiveFromLocator:()=>aB,makeBufferFromLocator:()=>Tv,makeLocator:()=>Kv,makeSpec:()=>nre,parseSpec:()=>Ov});function Ov(t){let{params:e,selector:r}=w.parseRange(t),i=L.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?w.parseLocator(e.locator):null,path:i}}function nre({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:w.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return w.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function Kv(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return w.makeLocator(t,nre({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function aB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=w.parseFileStyleRange(t.reference,{protocol:e}),o=B.isAbsolute(s)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=B.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await gr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:w.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function Tv(t,{protocol:e,fetchOptions:r}){return(await aB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var Uv=class{supports(e,r){return!!e.reference.startsWith(or)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:or});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return aB(e,{protocol:or,fetchOptions:r})}};var uHe=1,Hv=class{supportsDescriptor(e,r){return e.range.match(Ru)?!0:!!e.range.startsWith(or)}supportsLocator(e,r){return!!e.reference.startsWith(or)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=w.makeDescriptor(e,`${or}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=Ov(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await Tv(w.makeLocator(e,w.makeRange({protocol:or,source:n,selector:n,params:{locator:w.stringifyLocator(s)}})),{protocol:or,fetchOptions:i.fetchOptions}),a=wi.makeHash(`${uHe}`,o).slice(0,6);return[Kv(e,{parentLocator:s,path:n,folderHash:a,protocol:or})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Yv=class{supports(e,r){return Gp.test(e.reference)?!!e.reference.startsWith(or):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:or}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await gr.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var qv=class{supportsDescriptor(e,r){return Gp.test(e.range)?!!(e.range.startsWith(or)||Ru.test(e.range)):!1}supportsLocator(e,r){return Gp.test(e.reference)?!!e.reference.startsWith(or):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=w.makeDescriptor(e,`${or}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(or)&&(n=n.slice(or.length)),[w.makeLocator(e,`${or}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var gHe={fetchers:[Yv,Uv],resolvers:[qv,Hv]},hHe=gHe;var tF={};$e(tF,{default:()=>kHe,gitUtils:()=>jp});var jp={};$e(jp,{TreeishProtocols:()=>vi,clone:()=>_v,isGitUrl:()=>Nu,lsRemote:()=>Bre,normalizeLocator:()=>Xv,normalizeRepoUrl:()=>Jp,resolveUrl:()=>Zv,splitRepoUrl:()=>Wp});var zv=te(Ire()),Lu=te(require("querystring")),Vv=te(Cr()),Ere=te(require("url"));function yre(){return V(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var xHe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vi;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vi||(vi={}));function Nu(t){return t?xHe.some(e=>!!t.match(e)):!1}function Wp(t){t=Jp(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vi.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Lu.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vi).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vi.Head,a="HEAD");for(let l of Object.values(vi))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Jp(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=Ere.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function Xv(t){return w.makeLocator(t,Jp(t.reference))}async function Bre(t,e){let r=Jp(t,{git:!0});if(!Ut.getNetworkSettings(`https://${(0,zv.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await pr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:yre(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function Zv(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Wp(t),o=await Bre(r,e),a=(c,u)=>{switch(c){case vi.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return Lu.default.stringify(V(P({},s),{commit:u}))}case vi.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:g}))}case vi.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:g}))}case vi.Semver:{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let h=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[Vv.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),f=Vv.default.maxSatisfying([...h.keys()],g);if(f===null)throw new Error(`No matching range ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:h.get(f)}))}case null:{let g;if((g=l(vi.Commit,u))!==null||(g=l(vi.Tag,u))!==null||(g=l(vi.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function _v(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Wp(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Jp(r,{git:!0});if(Ut.getNetworkSettings(`https://${(0,zv.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:yre(),strict:!0};try{await pr.execvp("git",["clone","-c core.autocrlf=false",s,L.fromPortablePath(o)],a),await pr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var $v=class{supports(e,r){return Nu(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=Xv(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=V(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:l,releaseFs:c,prefixPath:w.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await _v(e.reference,r.project.configuration),n=Wp(e.reference),s=B.join(i,"package.tgz");await bt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await gr.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}))}};var eF=class{supportsDescriptor(e,r){return Nu(e.range)}supportsLocator(e,r){return Nu(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await Zv(e.range,i.project.configuration);return[w.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var PHe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[$v],resolvers:[eF]};var kHe=PHe;var iF={};$e(iF,{default:()=>RHe});var wre=te(require("querystring")),Qre=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function bre(t){return t?Qre.some(e=>!!t.match(e)):!1}function Sre(t){let e;for(let a of Qre)if(e=t.match(a),e)break;if(!e)throw new Error(vHe(t));let[,r,i,n,s="master"]=e,{commit:o}=wre.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function vHe(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var rF=class{supports(e,r){return!!bre(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ut.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await M.mktempPromise(async n=>{let s=new yt(n);await gr.extractArchiveTo(i,s,{stripComponents:1});let o=jp.splitRepoUrl(e.reference),a=B.join(n,"package.tgz");await bt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await gr.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=Sre(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var FHe={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new rF;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},RHe=FHe;var oF={};$e(oF,{default:()=>NHe});var zp=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Vp=/^https?:/;var nF=class{supports(e,r){return zp.test(e.reference)?!!Vp.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ut.get(e.reference,{configuration:r.project.configuration});return await gr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var sF=class{supportsDescriptor(e,r){return zp.test(e.range)?!!Vp.test(e.range):!1}supportsLocator(e,r){return zp.test(e.reference)?!!Vp.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[w.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var LHe={fetchers:[nF],resolvers:[sF]},NHe=LHe;var cF={};$e(cF,{default:()=>MYe});var $re=te(_re()),lF=te(require("util")),Xp=class extends Be{constructor(){super(...arguments);this.private=j.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=j.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=j.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=j.Boolean("-2",!1,{hidden:!0});this.yes=j.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=j.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){if(M.existsSync(B.join(this.context.cwd,ze.fileName)))throw new me("A package.json already exists in the specified directory");let e=await Ae.find(this.context.cwd,this.context.plugins),r=this.install?this.install===!0?"latest":this.install:null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.get("yarnPath")!==null)throw new me(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(e.projectCwd!==null)throw new me("Cannot use the --install flag when the current directory is already part of a project");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=B.join(this.context.cwd,e.get("lockfileFilename"));M.existsSync(i)||await M.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r]);if(n!==0)return n;this.context.stdout.write(` +`);let s=["--assume-fresh-project"];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await M.mktempPromise(async o=>{let{code:a}=await pr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){let r=null;if(!this.assumeFreshProject)try{r=await Fe.find(e,this.context.cwd)}catch{r=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=new ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=w.makeIdent(e.get("initScope"),B.basename(this.context.cwd)),i.private=this.private||this.workspace,this.workspace&&(await M.mkdirPromise(B.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),lF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,lF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=B.join(this.context.cwd,ze.fileName);await M.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`);let a=B.join(this.context.cwd,"README.md");if(M.existsSync(a)||await M.writeFilePromise(a,`# ${w.stringifyIdent(i.name)} +`),!r){let l=B.join(this.context.cwd,mt.lockfile);await M.writeFilePromise(l,"");let u=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} +`).join(""),g=B.join(this.context.cwd,".gitignore");M.existsSync(g)||await M.writeFilePromise(g,u);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,$re.default)(h,e.get("initEditorConfig"));let f=`root = true +`;for(let[m,I]of Object.entries(h)){f+=` +[${m}] +`;for(let[y,b]of Object.entries(I))f+=`${y.replace(/[A-Z]/g,F=>`_${F.toLowerCase()}`)} = ${b} +`}let p=B.join(this.context.cwd,".editorconfig");M.existsSync(p)||await M.writeFilePromise(p,f),await pr.execvp("git",["init"],{cwd:this.context.cwd})}}};Xp.paths=[["init"]],Xp.usage=fe.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var eie=Xp;var NYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[eie]},MYe=NYe;var pF={};$e(pF,{default:()=>KYe});var fo="portal:",po="link:";var uF=class{supports(e,r){return!!e.reference.startsWith(fo)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:fo});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:fo}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,localPath:l}:{packageFs:new vs(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot}}};var gF=class{supportsDescriptor(e,r){return!!e.range.startsWith(fo)}supportsLocator(e,r){return!!e.reference.startsWith(fo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(fo.length);return[w.makeLocator(e,`${fo}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var hF=class{supports(e,r){return!!e.reference.startsWith(po)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:po});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:po}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0,localPath:l}:{packageFs:new vs(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0}}};var fF=class{supportsDescriptor(e,r){return!!e.range.startsWith(po)}supportsLocator(e,r){return!!e.reference.startsWith(po)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(po.length);return[w.makeLocator(e,`${po}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return V(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var OYe={fetchers:[hF,uF],resolvers:[fF,gF]},KYe=OYe;var zF={};$e(zF,{default:()=>qqe});var bF=te(require("fs"));var uie=te(require("fs"));var dF=te(require("events")),tie=class extends dF.EventEmitter{constructor(e,r,i){super();this.dirWatchers=e,this.watchPath=r,this.watcherId=i}close(){let e=this.dirWatchers.get(this.watchPath);e.eventEmitters.delete(this.watcherId),e.eventEmitters.size===0&&this.dirWatchers.delete(this.watchPath)}},CF=class extends dF.EventEmitter{constructor(){super(...arguments);this.dirWatchers=new Map;this.lastWatcherId=0}registerWatcher(e,r,i){let n=this.dirWatchers.get(e);n||(n={eventEmitters:new Map,dirEntries:r},this.dirWatchers.set(e,n));let s=this.lastWatcherId++,o=new tie(this.dirWatchers,e,s);return n.eventEmitters.set(s,o),o.on("rename",a=>i("rename",a)),o}notifyWatchers(e){for(let[r,i]of this.dirWatchers){let n=e(r).dirList||new Set,s=new Set;for(let o of n)i.dirEntries.has(o)||s.add(o);for(let o of i.dirEntries)n.has(o)||s.add(o);for(let o of s)for(let a of i.eventEmitters.values())a.emit("rename",o);i.dirEntries=n}}};var Co;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Co||(Co={}));var mF=(t,e)=>`${t}@${e}`,rie=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return mF(t,i)},Wi;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Wi||(Wi={}));var nie=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=TYe(t,s),l=!1,c=0;do l=IF(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=Zp(a);if(IF(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${Zp(a)}`);let h=iie(a);if(h)throw new Error(`${h}, after hoisting finished: +${Zp(a)}`)}return s.debugLevel>=2&&console.log(Zp(a)),UYe(a)},HYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},YYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},sie=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,h={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},f=h.dependencies.get(r);return f&&f.ident==h.ident&&h.dependencies.set(r,h),t.dependencies.set(h.name,h),h},qYe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},EF=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},IF=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=jYe(o),l=qYe(o,a),c=t==o?new Map:n.fastLookupPossible?HYe(e):YYe(e),u,g=!1,h=!1,f=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=GYe(t,e,r,c,f,l,i,p,n);m.isGraphChanged&&(h=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(f.delete(I),y.shift(),f.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=IF(t,[...e,m],r,p,n);I.isGraphChanged&&(h=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:h}},JYe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Fi(m)).join("\u2192")}`);let h=r[r.length-1],p=!(i.ident===h.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Fi(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Fi(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(h);F||(F=new Set,a.set(h,F)),F.add(i.name),l&&(u=`- filled by ${Fi(x.locator)} at ${r.slice(0,y).map(N=>Fi(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Fi(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let b=r[y];for(let x of I){if(b.peerNames.has(x)&&b.originalDependencies.has(x))continue;let F=b.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Fi(F.locator)} from parent ${Fi(b.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},GYe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,h=!1,f=(I,y,b,x)=>{if(u.has(b))return;let F=[...y,b.locator],N=new Map,U=new Map;for(let K of EF(b)){let A=JYe(c,r,[c,...I,b],K,i,n,s,a,{outputReason:l.debugLevel>=2});if(U.set(K,A),A.isHoistable===2)for(let W of A.dependsOn){let $=N.get(W.name)||new Set;$.add(K.name),N.set(W.name,$)}}let v=new Set,J=(K,A,W)=>{if(!v.has(K)){v.add(K),U.set(K,{isHoistable:1,reason:W});for(let $ of N.get(K.name)||[])J(b.dependencies.get($),A,l.debugLevel>=2?`- peer dependency ${Fi(K.locator)} from parent ${Fi(b.locator)} was not hoisted`:"")}};for(let[K,A]of U)A.isHoistable===1&&J(K,A,A.reason);for(let K of U.keys())if(!v.has(K)){h=!0;let A=o.get(b);A&&A.has(K.name)&&(g=!0),b.dependencies.delete(K.name),b.hoistedDependencies.set(K.name,K),b.reasons.delete(K.name);let W=c.dependencies.get(K.name),$=null;if(l.debugLevel>=2&&($=Array.from(y).concat([b.locator]).map(re=>Fi(re)).join("\u2192")),!W)c.ident!==K.ident&&(c.dependencies.set(K.name,K),l.debugLevel>=2&&K.hoistedFrom.push($),x.add(K));else for(let re of K.references)W.references.add(re),l.debugLevel>=2&&W.hoistedFrom.push($)}if(l.check){let K=iie(t);if(K)throw new Error(`${K}, after hoisting dependencies of ${[c,...I,b].map(A=>Fi(A.locator)).join("\u2192")}: +${Zp(t)}`)}let oe=EF(b);for(let K of oe)if(v.has(K)){let A=U.get(K);if((n.get(K.name)===K.ident||!b.reasons.has(K.name))&&A.isHoistable!==0&&b.reasons.set(K.name,A.reason),!K.isHoistBorder&&F.indexOf(K.locator)<0){u.add(b);let $=sie(b,K);f([...I,b],[...y,b.locator],$,m),u.delete(b)}}},p,m=new Set(EF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=sie(c,I);f([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:h}},iie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Fi(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` +`)},TYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:mF(r,n),ident:rie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),h=!!g;if(!g){let{name:f,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:f,references:new Set([m]),locator:mF(p,m),ident:rie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(f):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),h){let f=new Set,p=m=>{if(!f.has(m)){f.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let f of c.dependencies)l(f,g)};for(let c of t.dependencies)l(c,o);return o},yF=t=>t.substring(0,t.indexOf("@",1)),UYe=t=>{let e={name:t.name,identName:yF(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:yF(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},jYe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Fi=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},oie=5e4,Zp=t=>{let e=0,r=(n,s,o="")=>{if(e>oie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(h!==u.name?`a:${u.name}:`:"")+Fi(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} +`,l+=r(u,s,`${o}${coie?` +Tree is too large, part of the tree has been dunped +`:"")};var Ba;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Ba||(Ba={}));var Ri;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Ri||(Ri={}));var aie="node_modules",AB="$wsroot$";var wa=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=WYe(t,e),o=null;if(n.length===0){let a=nie(r,{hoistingLimits:i});o=zYe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Es=t=>`${t.name}@${t.reference}`,BF=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(B.delimiter).length,o=n.split(B.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Aie=(t,e)=>{let r=w.isVirtualLocator(t)?w.devirtualizeLocator(t):t,i=w.isVirtualLocator(e)?w.devirtualizeLocator(e):e;return w.areLocatorsEqual(r,i)},WYe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=L.toPortablePath(a.packageLocation),u=Es(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(B.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(B.sep).slice(y.length),U=I;for(let v of N){let J=U.children.get(v);J||(J={children:new Map},U.children.set(v,J)),U=J}U.workspaceLocator={name:w.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let b=(x,F)=>{if(x.workspaceLocator){let N=Es(F),U=o.get(N);U||(U=new Set,o.set(N,U)),U.add(x.workspaceLocator)}for(let N of x.children.values())b(N,x.workspaceLocator||F)};for(let x of I.children.values())b(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},h=new Map,f=(I,y)=>`${Es(y)}:${I}`,p=(I,y)=>{if(I.linkType!==Ba.SOFT||!e.project)return!1;let b=L.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return B.contains(e.project.cwd,b)===null},m=(I,y,b,x,F,N,U)=>{var $,re;let v=f(I,b),J=h.get(v),oe=!!J;if(!oe&&b.name===l.name&&b.reference===l.reference&&(J=g,h.set(v,g)),J||(J={name:I,identName:b.name,reference:b.reference,dependencies:new Set,peerNames:y.packagePeers},h.set(v,J)),U&&!p(y,b)){let H=Es({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let K=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(L.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),Pe=>w.stringifyIdent(Pe)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let Pe of R)K.has(Pe)||(K.set(Pe,F.get(Pe)||null),J.peerNames.add(Pe))}}let A=Es(b),W=o.get(A);if(W)for(let H of W)K.set(`${H.name}${AB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,Pe]of K)if(Pe!==null){let Le=t.getLocator(R,Pe),Ge=t.getLocator(R.replace(AB,""),Pe),Ke=t.getPackageInformation(Ge);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Le);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,ve]of Ke.packageDependencies){let Z=w.parseLocator(Array.isArray(ve)?`${ve[0]}@${ve[1]}`:`${pe}@${ve}`);if(Es(Z)!==Es(Le)){let X=K.get(pe);if(X){let ae=w.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);Aie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Le.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${b.name}@${b.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${w.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,we=w.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);Aie(we,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Le.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${b.name}@${b.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${w.prettyLocator(e.project.configuration,we)} from sibling portal ${w.prettyIdent(e.project.configuration,w.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Le})}}}}let le=($=e.hoistingLimitsByCwd)==null?void 0:$.get(N),be=ie?N:B.relative(c,L.toPortablePath(Ke.packageLocation))||Ee.dot,he=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(be),Ie=le===Ri.DEPENDENCIES||he===Ri.DEPENDENCIES||he===Ri.WORKSPACES;m(Es(Le)===Es(b)?I:R,Ke,Le,J,K,be,Ie)}}};return m(l.name,a,l,g,a.packageDependencies,Ee.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function VYe(t,e,r){let i=e.getLocator(t.name.replace(AB,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=L.toPortablePath(n.packageLocation),s=Ba.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=L.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var zYe=(t,e,r)=>{let i=new Map,n=(u,g,h)=>{let{linkType:f,target:p}=VYe(u,t,r);return{locator:Es(u),nodePath:g,target:p,linkType:f,aliases:h}},s=u=>{let[g,h]=u.split("/");return h?{scope:jt(g),name:jt(h)}:{scope:null,name:jt(g)}},o=new Set,a=(u,g,h)=>{if(!o.has(u)){o.add(u);for(let f of u.dependencies){if(f===u)continue;let p=Array.from(f.references).sort(),m={name:f.identName,reference:p[0]},{name:I,scope:y}=s(f.name),b=y?[y,I]:[I],x=B.join(g,aie),F=B.join(x,...b),N=`${h}/${m.name}`,U=n(m,h,p.slice(1));if(!f.name.endsWith(AB)){let v=i.get(F);if(v){if(v.dirList)throw new Error(`Assertion failed: ${F} cannot merge dir node with leaf node`);{let A=w.parseLocator(v.locator),W=w.parseLocator(U.locator);if(v.linkType!==U.linkType)throw new Error(`Assertion failed: ${F} cannot merge nodes with different link types ${v.nodePath}/${w.stringifyLocator(A)} and ${h}/${w.stringifyLocator(W)}`);if(A.identHash!==W.identHash)throw new Error(`Assertion failed: ${F} cannot merge nodes with different idents ${v.nodePath}/${w.stringifyLocator(A)} and ${h}/s${w.stringifyLocator(W)}`);U.aliases=[...U.aliases,...v.aliases,w.parseLocator(v.locator).reference]}}i.set(F,U);let J=F.split("/"),oe=J.indexOf(aie),K=J.length-1;for(;oe>=0&&K>oe;){let A=L.toPortablePath(J.slice(0,K).join(B.sep)),W=jt(J[K]),$=i.get(A);if(!$)i.set(A,{dirList:new Set([W])});else if($.dirList){if($.dirList.has(W))break;$.dirList.add(W)}K--}}a(f,U.linkType===Ba.SOFT?U.target:F,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var dl=eval("require");function lie(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=dl.cache[physicalPath];delete dl.cache[physicalPath];let result;try{result=dl(physicalPath);let freshCacheEntry=dl.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{dl.cache[physicalPath]=currentCacheEntry}return result}var cie="node_modules",wF=(t,e)=>{let r={resolvedPath:t},i=t.split(B.sep),n=i.indexOf(cie);if(n<0)return r;let s=i.lastIndexOf(cie);typeof i[s+1]!="undefined"&&s++,i[s][0]==="@"&&typeof i[s+1]!="undefined"&&s++;let o=L.toPortablePath(i.slice(0,n).join(B.sep)),a,l,c,u=n,g=Ee.dot;for(;u<=s;){let h=jt(i[u]);o=B.join(o,h),a=e.get(o),a?(a.linkType===Ba.SOFT&&(o=a.target),l=a,g=Ee.dot,c=a.dirList?o:a.target):g=B.join(g,h),u++}return g=B.join(g,...i.slice(s+1).map(h=>jt(h))),l&&(!l.dirList||g!==Ee.dot?(r.resolvedPath=B.join(c,g),r.isSymlink=l&&l.linkType===Ba.SOFT&&g===Ee.dot):g===Ee.dot&&(r.dirList=l.dirList,r.forwardedDirPath=L.toPortablePath(i.slice(0,n).join(B.sep)),r.forwardedDirPath.endsWith(".zip")&&(r.forwardedDirPath=B.dirname(r.forwardedDirPath)))),r};var QF=class extends fr{constructor(e,{realFs:r=uie.default,pnpifyFs:i=!0}={}){super(L);this.baseFs=new _p(e,{baseFs:new wt(r),pnpifyFs:i})}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}},gie=/[+wa]/,_p=class extends xn{constructor(e,{baseFs:r=new wt,pnpifyFs:i=!0}={}){super(B);if(!e.getDependencyTreeRoots)throw new Error("NodeModulesFS supports PnP API versions 3+, please upgrade your PnP API provider");this.options={baseFs:r,pnpifyFs:i},this.baseFs=r;let{tree:n,errors:s}=wa(e,this.options);if(!n)throw new Error(`Assertion failed. Have got non-persistable node_modules graph, errors: +${JSON.stringify(s)}`);this.nodeModulesTree=n,this.watchManager=new CF;let o=L.toPortablePath(e.getPackageInformation(e.topLevel).packageLocation);this.pnpFilePath=B.join(o,mt.pnpCjs),this.watchPnpFile(o)}watchPnpFile(e){this.baseFs.watch(e,{persistent:!1},(r,i)=>{if(i===mt.pnpCjs){let n=lie(this.pnpFilePath);if(!wa(n,this.options))throw new Error("Assertion failed. Have got non-persistable node_modules graph");this.watchManager.notifyWatchers(o=>wF(o,this.nodeModulesTree))}})}persistPath(e){let r=[],i=e;for(;!this.baseFs.existsSync(i);)r.push(i),i=B.dirname(i);for(let n of r.reverse())this.baseFs.mkdirSync(n)}persistVirtualParentFolder(e){if(typeof e!="number"){let r=this.resolvePath(B.dirname(e));r.dirList&&this.persistPath(r.resolvedPath)}}getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.baseFs.resolve(this.resolvePath(e).resolvedPath)}getBaseFs(){return this.baseFs}resolvePath(e){if(typeof e=="number")return{resolvedPath:e,fullOriginalPath:e};{let r=this.pathUtils.resolve(e);return V(P({},wF(r,this.nodeModulesTree)),{fullOriginalPath:r})}}resolveFilePath(e){return typeof e=="number"?e:this.resolvePath(e).resolvedPath}resolveDirOrFilePath(e){if(typeof e=="number")return e;let r=this.resolvePath(e);return r.forwardedDirPath||r.resolvedPath}resolveLink(e){let{p:r,onSymlink:i,onRealPath:n,statOptions:s}=e,o=this.resolvePath(r);if(o.isSymlink){let a;try{a=this.baseFs.lstatSync(o.resolvedPath,s)}catch(l){}if(a)return i(a,this.pathUtils.relative(this.pathUtils.dirname(o.fullOriginalPath),o.resolvedPath))}return n(o.forwardedDirPath||o.resolvedPath)}static makeSymlinkStats(e){return Object.assign(e,{isFile:()=>!1,isDirectory:()=>!1,isSymbolicLink:()=>!0})}getRealPath(){return this.baseFs.getRealPath()}async openPromise(e,r,i){return gie.test(r)&&this.persistVirtualParentFolder(e),await this.baseFs.openPromise(this.resolveFilePath(e),r,i)}openSync(e,r,i){return gie.test(r)&&this.persistVirtualParentFolder(e),this.baseFs.openSync(this.resolveFilePath(e),r,i)}async opendirPromise(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return ja(this,e,s)}else return await this.baseFs.opendirPromise(i.resolvedPath,r)}opendirSync(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return ja(this,e,s)}else return this.baseFs.opendirSync(i.resolvedPath,r)}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){await this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.resolveFilePath(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.resolveDirOrFilePath(e):e,r)}async realpathPromise(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathPromise(r.resolvedPath)}realpathSync(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathSync(r.resolvedPath)}async existsPromise(e){let r=this.resolvePath(e);return r.dirList?!0:await this.baseFs.existsPromise(r.resolvedPath)}existsSync(e){let r=this.resolvePath(e);return r.dirList?!0:this.baseFs.existsSync(r.resolvedPath)}async accessPromise(e,r){return await this.baseFs.accessPromise(this.resolveDirOrFilePath(e),r)}accessSync(e,r){return this.baseFs.accessSync(this.resolveDirOrFilePath(e),r)}async statPromise(e,r){return await this.baseFs.statPromise(this.resolveDirOrFilePath(e),r)}statSync(e,r){return this.baseFs.statSync(this.resolveDirOrFilePath(e),r)}async fstatPromise(e,r){return await this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>_p.makeSymlinkStats(i),onRealPath:async i=>await this.baseFs.lstatPromise(i,r),statOptions:r})}lstatSync(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>_p.makeSymlinkStats(i),onRealPath:i=>this.baseFs.lstatSync(i,r),statOptions:r})}async chmodPromise(e,r){return await this.baseFs.chmodPromise(this.resolveDirOrFilePath(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.resolveDirOrFilePath(e),r)}async chownPromise(e,r,i){return await this.baseFs.chownPromise(this.resolveDirOrFilePath(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.resolveDirOrFilePath(e),r,i)}async renamePromise(e,r){return await this.baseFs.renamePromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}renameSync(e,r){return this.baseFs.renameSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async copyFilePromise(e,r,i){return await this.baseFs.copyFilePromise(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}copyFileSync(e,r,i){return this.baseFs.copyFileSync(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}async appendFilePromise(e,r,i){return await this.baseFs.appendFilePromise(this.resolveDirOrFilePath(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.resolveDirOrFilePath(e),r,i)}async writeFilePromise(e,r,i){return await this.baseFs.writeFilePromise(this.resolveDirOrFilePath(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.resolveDirOrFilePath(e),r,i)}async unlinkPromise(e){return await this.baseFs.unlinkPromise(this.resolveDirOrFilePath(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.resolveDirOrFilePath(e))}async utimesPromise(e,r,i){return await this.baseFs.utimesPromise(this.resolveDirOrFilePath(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.resolveDirOrFilePath(e),r,i)}async mkdirPromise(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirPromise(i.resolvedPath,r)}mkdirSync(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirSync(i.resolvedPath,r)}async rmdirPromise(e,r){return await this.baseFs.rmdirPromise(this.resolveDirOrFilePath(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.resolveDirOrFilePath(e),r)}async linkPromise(e,r){return await this.baseFs.linkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}linkSync(e,r){return this.baseFs.linkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async symlinkPromise(e,r){return await this.baseFs.symlinkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}symlinkSync(e,r){return this.baseFs.symlinkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async readFilePromise(e,r){switch(r){case"utf8":return await this.baseFs.readFilePromise(this.resolveFilePath(e),r);default:return await this.baseFs.readFilePromise(this.resolveFilePath(e),r)}}readFileSync(e,r){switch(r){case"utf8":return this.baseFs.readFileSync(this.resolveFilePath(e),r);default:return this.baseFs.readFileSync(this.resolveFilePath(e),r)}}async readdirPromise(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return await this.baseFs.readdirPromise(i.resolvedPath,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return this.baseFs.readdirSync(i.resolvedPath,{withFileTypes:r})}async readlinkPromise(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:async r=>await this.baseFs.readlinkPromise(this.resolveDirOrFilePath(r))})}readlinkSync(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:r=>this.baseFs.readlinkSync(this.resolveDirOrFilePath(r))})}async truncatePromise(e,r){return await this.baseFs.truncatePromise(this.resolveDirOrFilePath(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.resolveDirOrFilePath(e),r)}watch(e,r,i){let n=this.resolvePath(e),s=n.resolvedPath;if(s&&n.dirList){let o=typeof r=="function"?r:typeof i=="function"?i:()=>{};return this.watchManager.registerWatcher(s,n.dirList,o)}else return this.baseFs.watch(this.resolveDirOrFilePath(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.resolveDirOrFilePath(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.resolveDirOrFilePath(e),r)}};var hie=!1,SF;try{SF=dl("pnpapi")}catch(t){}var XYe=()=>{if(SF&&!hie){let t=P({},bF.default),e=new QF(SF,{realFs:t});xg(bF.default,e),hie=!0}};process.mainModule||XYe();var MF={};$e(MF,{PnpInstaller:()=>Ku,PnpLinker:()=>Il,default:()=>Cqe,getPnpPath:()=>ba,jsInstallUtils:()=>Qa,pnpUtils:()=>LF,quotePathIfNeeded:()=>Lie});var Rie=te(Cr());var fie;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(fie||(fie={}));var Dt;(function(h){h.DEFAULT="DEFAULT",h.TOP_LEVEL="TOP_LEVEL",h.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",h.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",h.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",h.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",h.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",h.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",h.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",h.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",h.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",h.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Dt||(Dt={}));var pie={[Dt.DEFAULT]:{collapsed:!1,next:{["*"]:Dt.DEFAULT}},[Dt.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Dt.FALLBACK_EXCLUSION_LIST,packageRegistryData:Dt.PACKAGE_REGISTRY_DATA,["*"]:Dt.DEFAULT}},[Dt.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Dt.FALLBACK_EXCLUSION_ENTRIES}},[Dt.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.FALLBACK_EXCLUSION_DATA}},[Dt.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}},[Dt.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_REGISTRY_ENTRIES}},[Dt.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_STORE_DATA}},[Dt.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_STORE_ENTRIES}},[Dt.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_INFORMATION_DATA}},[Dt.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Dt.PACKAGE_DEPENDENCIES,["*"]:Dt.DEFAULT}},[Dt.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_DEPENDENCY}},[Dt.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}}};function ZYe(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function tqe(t){let e=new Map,r=$p(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function rqe(t){return $p(t.fallbackPool||[],([e])=>e)}function iqe(t){let e=[];for(let[r,i]of $p(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of $p(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of $p(a.entries(),([I])=>I))g.push([p,m]);let h=l&&l.size>0?Array.from(l):void 0,f=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:h,linkType:c,discardFromLookup:f}])}}return e}function ed(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:tqe(t),fallbackPool:rqe(t),packageRegistryData:iqe(t)}}var Eie=te(Iie());function yie(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,Eie.default)()].join("")}function nqe(t){return JSON.stringify(t,null,2)}function sqe(t){return[`return hydrateRuntimeState(${Cie(t)}, {basePath: basePath || __dirname}); +`].join("")}function oqe(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function Bie(t){let e=ed(t),r=sqe(e);return yie(t.shebang,r)}function wie(t){let e=ed(t),r=oqe(t.dataLocation),i=yie(t.shebang,r);return{dataFile:nqe(e),loaderFile:i}}var Die=te(require("fs")),cqe=te(require("path")),xie=te(require("util"));function xF(t,{basePath:e}){let r=L.toPortablePath(e),i=B.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,h])=>[g,new Map(h.map(([f,p])=>{var x;if(g===null!=(f===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:f},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let b=null;return[f,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return b||(b=B.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,h])=>[g,new Set(h)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Ou=te(require("module")),Sie=te(bie()),kF=te(require("util"));var Vt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(Vt||(Vt={}));var lqe=new Set([Vt.BUILTIN_NODE_RESOLUTION_FAILED,Vt.MISSING_DEPENDENCY,Vt.MISSING_PEER_DEPENDENCY,Vt.QUALIFIED_PATH_RESOLUTION_FAILED,Vt.UNDECLARED_DEPENDENCY]);function Or(t,e,r={}){let i=lqe.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(P({},n),{value:i}),pnpCode:V(P({},n),{value:t}),data:V(P({},n),{value:r})})}function ml(t){return L.normalize(L.fromPortablePath(t))}function vF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ou.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],h=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let le=t.packageRegistry.get(ie);if(le)for(let be of le.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:be})}}let{ignorePattern:f,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,le){return{fn:ie,args:le,error:null,result:null}}function y(ie){var pe,ve,Z,X,ae,ue;let le=(Z=(ve=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:ve.call(pe))!=null?Z:process.stdout.isTTY,be=(we,lt)=>`[${we}m${lt}`,he=ie.error;console.error(he?be("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let we of ie.args)console.error(` ${be("37;1","In \u2190")} ${(0,kF.inspect)(we,{colors:le,compact:!0})}`);ie.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,kF.inspect)(ie.result,{colors:le,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let we of Ie)console.error(` ${be("38;5;244",we)}`)}console.error()}function b(ie,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=I(ie,be);try{return he.result=le(...be)}catch(Ie){throw he.error=Ie}finally{y(he)}};if(i>=1)return(...be)=>{try{return le(...be)}catch(he){let Ie=I(ie,be);throw Ie.error=he,y(Ie),he}}}return le}function x(ie){let le=W(ie);if(!le)throw Or(Vt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function F(ie){if(ie.name===null)return!0;for(let le of t.dependencyTreeRoots)if(le.name===ie.name&&le.reference===ie.reference)return!0;return!1}function N(ie){let le=H(B.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(le===null)throw Or(Vt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:be}=x(le),he=B.join(be,mt.manifest);if(!e.fakeFs.existsSync(he))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(he,"utf8")),pe=B.contains(be,ie);if(pe===null)throw Or(Vt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(pe)||(pe=`./${pe}`);let ve=(0,Sie.resolve)(Ie,B.normalize(pe),{browser:!1,require:!0,conditions:[]});return typeof ve=="string"?B.join(be,ve):null}function U(ie,le,{extensions:be}){let he;try{le.push(ie),he=e.fakeFs.statSync(ie)}catch(Ie){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(ie);if(he&&he.isDirectory()){let Ie;try{Ie=JSON.parse(e.fakeFs.readFileSync(B.join(ie,mt.manifest),"utf8"))}catch(ve){}let pe;if(Ie&&Ie.main&&(pe=B.resolve(ie,Ie.main)),pe&&pe!==ie){let ve=U(pe,le,{extensions:be});if(ve!==null)return ve}}for(let Ie=0,pe=be.length;Ie{let Z=JSON.stringify(ve.name);if(he.has(Z))return;he.add(Z);let X=$(ve);for(let ae of X)if(x(ae).packagePeers.has(ie))Ie(ae);else{let we=be.get(ae.name);typeof we=="undefined"&&be.set(ae.name,we=new Set),we.add(ae.reference)}};Ie(le);let pe=[];for(let ve of[...be.keys()].sort())for(let Z of[...be.get(ve)].sort())pe.push({name:ve,reference:Z});return pe}function H(ie,{resolveIgnored:le=!1,includeDiscardFromLookup:be=!1}={}){if(oe(ie)&&!le)return null;let he=B.relative(t.basePath,ie);he.match(a)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Ie=m.get(he);if(typeof Ie=="undefined"||Ie.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Ie.locator}while(he!=="");return null}function R(ie,le,{considerBuiltins:be=!0}={}){if(ie==="pnpapi")return L.toPortablePath(e.pnpapiResolution);if(be&&s(ie))return null;let he=ml(ie),Ie=le&&ml(le);if(le&&oe(le)&&(!B.isAbsolute(ie)||H(ie)===null)){let Z=J(ie,le);if(Z===!1)throw Or(Vt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Ie} +`,{request:he,issuer:Ie});return L.toPortablePath(Z)}let pe,ve=ie.match(o);if(ve){if(!le)throw Or(Vt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let[,Z,X]=ve,ae=H(le);if(!ae){let Zt=J(ie,le);if(Zt===!1)throw Or(Vt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Ie} +`,{request:he,issuer:Ie});return L.toPortablePath(Zt)}let we=x(ae).packageDependencies.get(Z),lt=null;if(we==null&&ae.name!==null){let Zt=t.fallbackExclusionList.get(ae.name);if(!Zt||!Zt.has(ae.reference)){for(let Wn=0,Ka=g.length;WnF(Vi))?ft=Or(Vt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +${Zt.map(Vi=>`Ancestor breaking the chain: ${Vi.name}@${Vi.reference} +`).join("")} +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Zt}):ft=Or(Vt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) + +${Zt.map(Vi=>`Ancestor breaking the chain: ${Vi.name}@${Vi.reference} +`).join("")} +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Zt})}else we===void 0&&(!be&&s(ie)?F(ae)?ft=Or(Vt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${Ie} +`,{request:he,issuer:Ie,dependencyName:Z}):ft=Or(Vt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${Ie} +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?ft=Or(Vt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${Ie} +`,{request:he,issuer:Ie,dependencyName:Z}):ft=Or(Vt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==he?` (via "${he}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(we==null){if(lt===null||ft===null)throw ft||new Error("Assertion failed: Expected an error to have been set");we=lt;let Zt=ft.message.replace(/\n.*/g,"");ft.message=Zt,!h.has(Zt)&&i!==0&&(h.add(Zt),process.emitWarning(ft))}let xt=Array.isArray(we)?{name:we[0],reference:we[1]}:{name:Z,reference:we},Sn=x(xt);if(!Sn.packageLocation)throw Or(Vt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${xt.name}@${xt.reference}${xt.name!==he?` (via "${he}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +`,{request:he,issuer:Ie,dependencyLocator:Object.assign({},xt)});let di=Sn.packageLocation;X?pe=B.join(di,X):pe=di}else if(B.isAbsolute(ie))pe=B.normalize(ie);else{if(!le)throw Or(Vt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let Z=B.resolve(le);le.match(l)?pe=B.normalize(B.join(Z,ie)):pe=B.normalize(B.join(B.dirname(Z),ie))}return B.normalize(pe)}function Pe(ie,le){if(a.test(ie))return le;let be=N(le);return be?B.normalize(be):le}function Le(ie,{extensions:le=Object.keys(Ou.Module._extensions)}={}){let be=[],he=U(ie,be,{extensions:le});if(he)return B.normalize(he);{let Ie=ml(ie);throw Or(Vt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ie} +${be.map(pe=>`Not found: ${ml(pe)} +`).join("")}`,{unqualifiedPath:Ie})}}function Ge(ie,le,{considerBuiltins:be,extensions:he}={}){let Ie=R(ie,le,{considerBuiltins:be});if(Ie===null)return null;let pe=()=>le!==null?oe(le):!1,ve=(!be||!s(ie))&&!pe()?Pe(ie,Ie):Ie;try{return Le(ve,{extensions:he})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:ml(ie),issuer:le&&ml(le)}),Z}}function Ke(ie){let le=B.normalize(ie),be=rr.resolveVirtual(le);return be!==le?be:null}return{VERSIONS:K,topLevel:A,getLocator:(ie,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:ie,reference:le},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[le,be]of p)for(let he of be.keys())le!==null&&he!==null&&ie.push({name:le,reference:he});return ie},getPackageInformation:ie=>{let le=W(ie);if(le===null)return null;let be=L.fromPortablePath(le.packageLocation);return V(P({},le),{packageLocation:be})},findPackageLocator:ie=>H(L.toPortablePath(ie)),resolveToUnqualified:b("resolveToUnqualified",(ie,le,be)=>{let he=le!==null?L.toPortablePath(le):null,Ie=R(L.toPortablePath(ie),he,be);return Ie===null?null:L.fromPortablePath(Ie)}),resolveUnqualified:b("resolveUnqualified",(ie,le)=>L.fromPortablePath(Le(L.toPortablePath(ie),le))),resolveRequest:b("resolveRequest",(ie,le,be)=>{let he=le!==null?L.toPortablePath(le):null,Ie=Ge(L.toPortablePath(ie),he,be);return Ie===null?null:L.fromPortablePath(Ie)}),resolveVirtual:b("resolveVirtual",ie=>{let le=Ke(L.toPortablePath(ie));return le!==null?L.fromPortablePath(le):null})}}var VCt=(0,xie.promisify)(Die.readFile);var Pie=(t,e,r)=>{let i=ed(t),n=xF(i,{basePath:e}),s=L.join(e,mt.pnpCjs);return vF(n,{fakeFs:r,pnpapiResolution:s})};var Qa={};$e(Qa,{checkAndReportManifestCompatibility:()=>kie,extractBuildScripts:()=>cB,getExtractHint:()=>FF,hasBindingGyp:()=>RF});function kie(t,e,r,{configuration:i,report:n}){return ze.isManifestFieldCompatible(e.manifest.os,process.platform)?ze.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${w.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${w.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function cB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Ji.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Ji.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==At.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${w.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${w.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${w.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):kie(t,e,"build",{configuration:i,report:n})?s:[]}var uqe=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function FF(t){return t.packageFs.getExtractHint({relevantExtensions:uqe})}function RF(t){let e=B.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var LF={};$e(LF,{getUnpluggedPath:()=>td});function td(t,{configuration:e}){return B.resolve(e.get("pnpUnpluggedFolder"),w.slugifyLocator(t))}var gqe=new Set([w.makeIdent(null,"nan").identHash,w.makeIdent(null,"node-gyp").identHash,w.makeIdent(null,"node-pre-gyp").identHash,w.makeIdent(null,"node-addon-api").identHash,w.makeIdent(null,"fsevents").identHash]),Il=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))throw new me(`The project in ${ce.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ce.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequireNoCache(i)),s={name:w.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return L.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequireNoCache(i)).findPackageLocator(L.fromPortablePath(e));return s?w.makeLocator(w.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Ku(e)}},Ku=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=w.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!w.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==At.SOFT,c=this.customData.store.get(e.locatorHash);typeof c=="undefined"&&(c=await hqe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,c));let u=this.opts.project.getDependencyMeta(e,e.version),g=a?cB(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(B.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let f=B.resolve(h.getRealPath(),r.prefixPath),p=NF(this.opts.project.cwd,f),m=new Map,I=new Set;if(w.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(w.stringifyIdent(y),null),I.add(w.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=w.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:NF(this.opts.project.cwd,rr.resolveVirtual(f)),locator:y})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:f,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(w.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=ba(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ce.pretty(this.opts.project.configuration,mt.pnpJs,ce.Type.PATH)} file. You might need to manually update existing references to reference the new ${ce.pretty(this.opts.project.configuration,mt.pnpCjs,ce.Type.PATH)} file. If you use PnPify SDKs, you'll have to rerun ${ce.pretty(this.opts.project.configuration,"yarn pnpify --sdk",ce.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,w.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:w.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:w.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){let r=ba(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=Bie(e);await M.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.removePromise(i)}else{let o=B.relative(B.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=wie(V(P({},e),{dataLocation:o}));await M.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.changeFilePromise(i,a,{automaticNewlines:!0}),await M.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=B.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=B.join(n.cwd,"node_modules");if(i&&i.test(B.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(B.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:gqe.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(cB(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=td(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=B.join(i,r.prefixPath,".ready");return await M.existsPromise(n)?new yt(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(i,{recursive:!0}),await M.copyPromise(i,Ee.dot,{baseFs:r.packageFs,overwrite:!1}),await M.writeFilePromise(n,""),new yt(i))}getPackageInformation(e){let r=w.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${w.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${w.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=NF(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1}))}};function NF(t,e){let r=B.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function hqe(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:FF(e),hasBindingGyp:RF(e)}}}var vie=te(sn());var rd=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(h=>{let f=w.parseDescriptor(h),p=f.range!=="unknown"?f:w.makeDescriptor(f,"*");if(!vt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${w.prettyDescriptor(e,p)})`);return m=>{let I=w.stringifyIdent(m);return!vie.default.isMatch(I,w.stringifyIdent(p))||m.version&&!vt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(h),!0)}}),a=()=>{let h=[];for(let f of r.storedPackages.values())!r.tryWorkspaceByLocator(f)&&!w.isVirtualLocator(f)&&o.some(p=>p(f))&&h.push(f);return h},l=h=>{let f=new Set,p=[],m=(I,y)=>{if(!f.has(I.locatorHash)&&(f.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(b=>b(I))&&p.push(I),!(y>0&&!this.recursive)))for(let b of I.dependencies.values()){let x=r.storedResolutions.get(b.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let F=r.storedPackages.get(x);if(!F)throw new Error("Assertion failed: The package should have been registered");m(F,y+1)}};for(let I of h){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ce.prettyList(e,s,ce.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ce.prettyList(e,s,ce.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,h=>w.stringifyLocator(h)),(await De.start({configuration:e,stdout:this.context.stdout,json:this.json},async h=>{var f;for(let p of c){let m=(f=p.version)!=null?f:"unknown",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(w.makeDescriptor(p,m));I.unplugged=!0,h.reportInfo(z.UNNAMED,`Will unpack ${w.prettyLocator(e,p)} to ${ce.pretty(e,td(p,{configuration:e}),ce.Type.PATH)}`),h.reportJson({locator:w.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),h.reportSeparator(),await r.install({cache:n,report:h})})).exitCode()}};rd.paths=[["unplug"]],rd.usage=fe.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Fie=rd;var ba=t=>({cjs:B.join(t.cwd,mt.pnpCjs),cjsLegacy:B.join(t.cwd,mt.pnpJs)}),Lie=t=>/\s/.test(t)?JSON.stringify(t):t;async function fqe(t,e,r){let i=ba(t).cjs,n=`--require ${Lie(L.fromPortablePath(i))}`;if(i.includes(" ")&&Rie.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function pqe(t,e){e(ba(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var dqe={hooks:{populateYarnPaths:pqe,setupScriptEnvironment:fqe},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[Il],commands:[Fie]},Cqe=dqe;var Uie=te(Tie());var HF=te(require("crypto")),Hie=te(require("fs")),Yie=1,kr="node_modules",YF=".bin",qie=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var qF=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await GF(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(w.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>B.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await GF(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=uB(B.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return w.parseLocator(a)}makeInstaller(e){return new Gie(e)}},Gie=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=B.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await Lqe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,n)),!Qa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(w.stringifyIdent(e))||s.set(w.stringifyIdent(e),e.reference);let a=e;if(w.isVirtualLocator(e)){a=w.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(w.stringifyIdent(g),null),o.add(w.stringifyIdent(g))}let l={packageLocation:`${L.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new rr({baseFs:new $i({libzip:await li(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await GF(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(g=>{var f,p;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Ri,(p=(f=g.manifest.installConfig)==null?void 0:f.hoistingLimits)!=null?p:h)}catch(m){let I=w.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Ri).join(", ")}, using default: "${h}"`)}return[g.relativeCwd,h]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:g,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let h=g.anchoredLocator;return{name:w.stringifyIdent(g.locator),reference:h.reference}}),getPackageInformation:g=>{let h=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:w.makeLocator(w.parseIdent(g.name),g.reference),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return f.pnpNode},findPackageLocator:g=>{let h=this.opts.project.tryWorkspaceByCwd(L.toPortablePath(g));if(h!==null){let f=h.anchoredLocator;return{name:w.stringifyIdent(f),reference:f.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:g=>L.fromPortablePath(rr.resolveVirtual(L.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=wa(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:h}of a)this.opts.report.reportError(g,h);return}let c=BF(o);await Nqe(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let h=w.parseLocator(g),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return f.customPackageData.manifest}});let u=[];for(let[g,h]of c.entries()){if(jie(g))continue;let f=w.parseLocator(g),p=this.localStore.get(f.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=Qa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:h.locations,locatorHash:f.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ce.pretty(this.opts.project.configuration,"--preserve-symlinks",ce.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:u}}};async function Lqe(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:Qa.getExtractHint(e),hasBindingGyp:Qa.hasBindingGyp(e)}}}async function Mqe(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Yie} +`,n+=` nmMode: ${i} +`;let s=Array.from(e.keys()).sort(),o=w.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let h=B.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(h)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,h]of r){let f=B.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(f)}: +`;for(let[p,m]of h){let I=B.relative(B.join(g,kr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} +`}}}}let a=t.cwd,l=B.join(a,kr,qie);await M.changeFilePromise(l,n,{automaticNewlines:!0})}async function GF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=B.join(r,kr,qie);if(!M.existsSync(i))return null;let n=Nr(await M.readFilePromise(i,"utf8"));if(n.__metadata.version>Yie)return null;let s=n.__metadata.nmMode||Li.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(h=>B.join(r,h)),g=c.bin;if(g)for(let[h,f]of Object.entries(g)){let p=B.join(r,L.toPortablePath(h)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(f))m.set(jt(I),L.toPortablePath([p,kr,y].join(B.delimiter)))}if(o.set(l,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let h of c.aliases){let{scope:f,name:p}=w.parseLocator(l),m=w.makeLocator(w.makeIdent(f,p),h),I=w.stringifyLocator(m);o.set(I,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Jie(o,{skipPrefix:t.cwd}),nmMode:s}}var Uu=async(t,e)=>{if(t.split(B.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await M.lstatPromise(t)).isSymbolicLink()){await M.unlinkPromise(t);return}let r=await M.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=B.join(t,jt(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await Uu(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Wie=4,uB=(t,{skipPrefix:e})=>{let r=B.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(B.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(B.sep),o=B.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Jie=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:At.HARD});for(let[n,s]of t.entries()){if(s.linkType===At.SOFT&&B.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=uB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await M.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await M.symlinkPromise(t,e,"junction"):await M.symlinkPromise(B.relative(B.dirname(e),t),e)};async function zie(t,e,r){let i=B.join(t,jt(`${HF.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,r);try{await M.linkPromise(i,e)}catch(n){}}finally{await M.unlinkPromise(i)}}async function Oqe({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Li.HARDLINKS_GLOBAL&&i&&o){let l=B.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await wi.checksumFile(l,{baseFs:M,algorithm:"sha1"})!==o){let g=B.join(i,jt(`${HF.default.randomBytes(16).toString("hex")}.tmp`));await M.renamePromise(l,g);let h=await n.readFilePromise(t);await M.writeFilePromise(g,h);try{await M.linkPromise(g,l),await M.unlinkPromise(g)}catch(f){}}await M.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await zie(i,l,u),await M.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await M.chmodPromise(e,a)}var Sa;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Sa||(Sa={}));var Kqe=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(t,{recursive:!0});let o=async(l=Ee.dot)=>{let c=B.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let h of u){let f=B.join(l,h.name),p,m=B.join(c,h.name);if(h.isFile()){if(p={kind:Sa.FILE,mode:(await r.lstatPromise(m)).mode},n===Li.HARDLINKS_GLOBAL){let I=await wi.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(h.isDirectory())p={kind:Sa.DIRECTORY};else if(h.isSymbolicLink())p={kind:Sa.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(f,p),h.isDirectory()&&f!==kr){let I=await o(f);for(let[y,b]of I)g.set(y,b)}}return g},a;if(n===Li.HARDLINKS_GLOBAL&&i&&s){let l=B.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await zie(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=B.join(e,l),g=B.join(t,l);c.kind===Sa.DIRECTORY?await M.mkdirPromise(g,{recursive:!0}):c.kind===Sa.FILE?await Oqe({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Sa.SYMLINK&&await jF(B.resolve(B.dirname(g),c.symlinkTo),g)}};function Tqe(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=B.join(n,kr);if(!M.existsSync(o)){s.children.delete(kr);for(let a of i.keys())B.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function jie(t){let e=w.parseDescriptor(t);return w.isVirtualDescriptor(e)&&(e=w.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Uqe(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=jie(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,h]of c.bin){let f=B.join(l[0],h);h!==""&&M.existsSync(f)&&u.set(g,h)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=B.contains(r,a);if(c.locator&&g!==null){let h=n.get(c.locator);for(let[f,p]of h){let m=B.join(a,L.toPortablePath(p));u.set(jt(f),m)}for(let[f,p]of c.children){let m=B.join(a,f),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[h,f]of c.children){let p=o(B.join(a,h),l,f);for(let[m,I]of p)u.set(m,I)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Vie=(t,e)=>{if(!t||!e)return t===e;let r=w.parseLocator(t);w.isVirtualLocator(r)&&(r=w.devirtualizeLocator(r));let i=w.parseLocator(e);return w.isVirtualLocator(i)&&(i=w.devirtualizeLocator(i)),w.areLocatorsEqual(r,i)};function JF(t){return B.join(t.get("globalFolder"),"store")}async function Nqe(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=B.join(i.cwd,kr),{locationTree:l,binSymlinks:c}=Tqe(t.locationTree,t.binSymlinks),u=Jie(e,{skipPrefix:i.cwd}),g=[],h=async({srcDir:N,dstDir:U,linkType:v,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})=>{let A=(async()=>{try{v===At.SOFT?(await M.mkdirPromise(B.dirname(U),{recursive:!0}),await jF(B.resolve(N),U)):await Kqe(U,N,{baseFs:r,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})}catch(W){throw W.message=`While persisting ${N} -> ${U} ${W.message}`,W}finally{b.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>Wie&&await Promise.race(g)},f=async(N,U,v)=>{let J=(async()=>{let oe=async(K,A,W)=>{try{W.innerLoop||await M.mkdirPromise(A,{recursive:!0});let $=await M.readdirPromise(K,{withFileTypes:!0});for(let re of $){if(!W.innerLoop&&re.name===YF)continue;let H=B.join(K,re.name),R=B.join(A,re.name);re.isDirectory()?(re.name!==kr||W&&W.innerLoop)&&(await M.mkdirPromise(R,{recursive:!0}),await oe(H,R,V(P({},W),{innerLoop:!0}))):F===Li.HARDLINKS_LOCAL||F===Li.HARDLINKS_GLOBAL?await M.linkPromise(H,R):await M.copyFilePromise(H,R,Hie.default.constants.COPYFILE_FICLONE)}}catch($){throw W.innerLoop||($.message=`While cloning ${K} -> ${A} ${$.message}`),$}finally{W.innerLoop||b.tick()}};await oe(N,U,v)})().then(()=>g.splice(g.indexOf(J),1));g.push(J),g.length>Wie&&await Promise.race(g)},p=async(N,U,v)=>{if(!v)U.children.has(kr)&&await Uu(B.join(N,kr),{contentsOnly:!1}),await Uu(N,{contentsOnly:N===a});else for(let[J,oe]of U.children){let K=v.children.get(J);await p(B.join(N,J),oe,K)}};for(let[N,U]of l){let v=u.get(N);for(let[J,oe]of U.children){if(J===".")continue;let K=v&&v.children.get(J);await p(B.join(N,J),oe,K)}}let m=async(N,U,v)=>{if(!v)U.children.has(kr)&&await Uu(B.join(N,kr),{contentsOnly:!0}),await Uu(N,{contentsOnly:U.linkType===At.HARD});else{Vie(U.locator,v.locator)||await Uu(N,{contentsOnly:U.linkType===At.HARD});for(let[J,oe]of U.children){let K=v.children.get(J);await m(B.join(N,J),oe,K)}}};for(let[N,U]of u){let v=l.get(N);for(let[J,oe]of U.children){if(J===".")continue;let K=v&&v.children.get(J);await m(B.join(N,J),oe,K)}}let I=new Map,y=[];for(let[N,{locations:U}]of t.locatorMap.entries())for(let v of U){let{locationRoot:J,segments:oe}=uB(v,{skipPrefix:i.cwd}),K=u.get(J),A=J;if(K){for(let W of oe)if(A=B.join(A,W),K=K.children.get(W),!K)break;if(K){let W=Vie(K.locator,N),$=e.get(K.locator),re=$.target,H=A,R=$.linkType;if(W)I.has(re)||I.set(re,H);else if(re!==H){let Pe=w.parseLocator(K.locator);w.isVirtualLocator(Pe)&&(Pe=w.devirtualizeLocator(Pe)),y.push({srcDir:re,dstDir:H,linkType:R,realLocatorHash:Pe.locatorHash})}}}}for(let[N,{locations:U}]of e.entries())for(let v of U){let{locationRoot:J,segments:oe}=uB(v,{skipPrefix:i.cwd}),K=l.get(J),A=u.get(J),W=J,$=e.get(N),re=w.parseLocator(N);w.isVirtualLocator(re)&&(re=w.devirtualizeLocator(re));let H=re.locatorHash,R=$.target,Pe=v;if(R===Pe)continue;let Le=$.linkType;for(let Ge of oe)A=A.children.get(Ge);if(!K)y.push({srcDir:R,dstDir:Pe,linkType:Le,realLocatorHash:H});else for(let Ge of oe)if(W=B.join(W,Ge),K=K.children.get(Ge),!K){y.push({srcDir:R,dstDir:Pe,linkType:Le,realLocatorHash:H});break}}let b=ai.progressViaCounter(y.length),x=n.reportProgress(b),F=i.configuration.get("nmMode");try{let N=F===Li.HARDLINKS_GLOBAL?`${JF(i.configuration)}/v1`:null;if(N&&!await M.existsPromise(N)){await M.mkdirpPromise(N);for(let v=0;v<256;v++)await M.mkdirPromise(B.join(N,v.toString(16).padStart(2,"0")))}for(let v of y)(v.linkType===At.SOFT||!I.has(v.srcDir))&&(I.set(v.srcDir,v.dstDir),await h(V(P({},v),{globalHardlinksStore:N,nmMode:F,packageChecksum:o.get(v.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let v of y){let J=I.get(v.srcDir);v.linkType!==At.SOFT&&v.dstDir!==J&&await f(J,v.dstDir,{nmMode:F})}await Promise.all(g),await M.mkdirPromise(a,{recursive:!0});let U=await Uqe(e,u,i.cwd,{loadManifest:s});await Hqe(c,U,i.cwd),await Mqe(i,e,U,F)}finally{x.stop()}}async function Hqe(t,e,r){for(let i of t.keys()){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=B.join(i,kr,YF);await M.removePromise(n)}}for(let[i,n]of e){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=B.join(i,kr,YF),o=t.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(B.join(s,a)),process.platform==="win32"&&await M.removePromise(B.join(s,jt(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=B.join(s,a);c!==l&&(process.platform==="win32"?await(0,Uie.default)(L.fromPortablePath(l),L.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await jF(l,u),B.contains(r,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var WF=class extends Il{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Xie(e)}},Xie=class extends Ku{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new rr({baseFs:new $i({libzip:await li(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Pie(e,this.opts.project.cwd,r),{tree:n,errors:s}=wa(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let h=w.parseLocator(g.locator),f=w.stringifyIdent(h);f===u?o.set(u,h.reference):o.set(u,[f,h.reference])},l=B.join(this.opts.project.cwd,mt.nodeModules),c=n.get(l);if(typeof c=="undefined")throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=B.join(l,u),h=n.get(g);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)a(u,h);else for(let f of h.dirList){let p=B.join(g,f),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${f}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}};var Yqe={hooks:{cleanGlobalArtifacts:async t=>{let e=JF(t);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Ri.WORKSPACES,Ri.DEPENDENCIES,Ri.NONE],default:Ri.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC}},linkers:[qF,WF]},qqe=Yqe;var ZR={};$e(ZR,{default:()=>XJe,npmConfigUtils:()=>Gt,npmHttpUtils:()=>Bt,npmPublishUtils:()=>Id});var ene=te(Cr());var Lt="npm:";var Bt={};$e(Bt,{AuthType:()=>zi,customPackageError:()=>Jqe,del:()=>Vqe,get:()=>qn,getIdentUrl:()=>Pa,handleInvalidAuthenticationError:()=>xa,post:()=>Wqe,put:()=>zqe});var _ie=te(lp()),$ie=te(require("url"));var Gt={};$e(Gt,{RegistryType:()=>Da,getAuthConfiguration:()=>XF,getDefaultRegistry:()=>gB,getPublishRegistry:()=>Gqe,getRegistryConfiguration:()=>Zie,getScopeConfiguration:()=>VF,getScopeRegistry:()=>mo,normalizeRegistry:()=>El});var Da;(function(r){r.FETCH_REGISTRY="npmRegistryServer",r.PUBLISH_REGISTRY="npmPublishRegistry"})(Da||(Da={}));function El(t){return t.replace(/\/$/,"")}function Gqe(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?El(t.publishConfig.registry):t.name?mo(t.name.scope,{configuration:e,type:Da.PUBLISH_REGISTRY}):gB({configuration:e,type:Da.PUBLISH_REGISTRY})}function mo(t,{configuration:e,type:r=Da.FETCH_REGISTRY}){let i=VF(t,{configuration:e});if(i===null)return gB({configuration:e,type:r});let n=i.get(r);return n===null?gB({configuration:e,type:r}):El(n)}function gB({configuration:t,type:e=Da.FETCH_REGISTRY}){let r=t.get(e);return El(r!==null?r:t.get(Da.FETCH_REGISTRY))}function Zie(t,{configuration:e}){let r=e.get("npmRegistries"),i=El(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function VF(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function XF(t,{configuration:e,ident:r}){let i=r&&VF(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Zie(t,{configuration:e})||e}var zi;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(zi||(zi={}));async function xa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new Ze(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await jqe(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function Jqe(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Pa(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function qn(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=vr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=mo(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await hB(s,{authType:n,configuration:e,ident:i});c&&(r=V(P({},r),{authorization:c}));try{return await Ut.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await xa(u,{registry:s,configuration:e,headers:r}),u}}async function Wqe(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=vr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=mo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await hB(a,{authType:o,configuration:i,ident:s});g&&(n=V(P({},n),{authorization:g}));try{return await Ut.post(a+t,e,P({configuration:i,headers:n},l))}catch(h){if(!_F(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await ZF(),p=P(P({},n),$F(f));try{return await Ut.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function zqe(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=vr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=mo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await hB(a,{authType:o,configuration:i,ident:s});g&&(n=V(P({},n),{authorization:g}));try{return await Ut.put(a+t,e,P({configuration:i,headers:n},l))}catch(h){if(!_F(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await ZF(),p=P(P({},n),$F(f));try{return await Ut.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Vqe(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=vr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=mo(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await hB(o,{authType:s,configuration:r,ident:n});u&&(i=V(P({},i),{authorization:u}));try{return await Ut.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!_F(g))throw await xa(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let h=await ZF(),f=P(P({},i),$F(h));try{return await Ut.del(`${o}${t}`,P({configuration:r,headers:f},a))}catch(p){throw await xa(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function hB(t,{authType:e=2,configuration:r,ident:i}){let n=XF(t,{configuration:r,ident:i}),s=Xqe(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new Ze(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function Xqe(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function jqe(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Ut.get(new $ie.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function ZF(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,_ie.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function _F(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function $F(t){return{["npm-otp"]:t}}var eR=class{supports(e,r){if(!e.reference.startsWith(Lt))return!1;let{selector:i,params:n}=w.parseRange(e.reference);return!(!ene.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=w.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await qn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await gr.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var tR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Lt)||!w.tryParseDescriptor(e.range.slice(Lt.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=w.parseDescriptor(e.range.slice(Lt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=w.parseDescriptor(e.range.slice(Lt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=w.parseDescriptor(e.range.slice(Lt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var rR=te(Cr()),tne=te(require("url"));var Gn=class{supports(e,r){if(!e.reference.startsWith(Lt))return!1;let i=new tne.URL(e.reference);return!(!rR.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await qn(Gn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await qn(Gn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await gr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=mo(e.scope,{configuration:i}),s=Gn.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=rR.default.clean(e.reference.slice(Lt.length));if(r===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Pa(e)}/-/${e.name}-${r}.tgz`}};var iR=te(Cr());var fB=w.makeIdent(null,"node-gyp"),Zqe=/\b(node-gyp|prebuild-install)\b/,nR=class{supportsDescriptor(e,r){return e.range.startsWith(Lt)?!!vt.validRange(e.range.slice(Lt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Lt))return!1;let{selector:i}=w.parseRange(e.reference);return!!iR.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=vt.validRange(e.range.slice(Lt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Lt.length)}`);let s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=w.makeLocator(e,`${Lt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Gn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:w.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=vt.validRange(e.range.slice(Lt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Lt.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=w.parseRange(s,{requireProtocol:Lt}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>w.makeLocator(e,s))}async resolve(e,r){let{selector:i}=w.parseRange(e.reference),n=iR.default.clean(i);if(n===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await qn(Pa(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new ze;if(o.load(s.versions[n]),!o.dependencies.has(fB.identHash)&&!o.peerDependencies.has(fB.identHash)){for(let a of o.scripts.values())if(a.match(Zqe)){o.dependencies.set(fB.identHash,w.makeDescriptor(fB,"latest")),r.report.reportWarning(z.NODE_GYP_INJECTED,`${w.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${w.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),V(P({},e),{version:n,languageName:"node",linkType:At.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var sR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Lt)||!tu.test(e.range.slice(Lt.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Lt.length),s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=w.makeLocator(e,`${Lt}${a}`),c=s.versions[a].dist.tarball;return Gn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[w.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Id={};$e(Id,{makePublishBody:()=>zJe});var WR={};$e(WR,{default:()=>kJe,packUtils:()=>Bo});var Bo={};$e(Bo,{genPackList:()=>MB,genPackStream:()=>JR,genPackageManifest:()=>Pse,hasPackScripts:()=>GR,prepareForPack:()=>jR});var qR=te(sn()),Dse=te(Sse()),xse=te(require("zlib")),IJe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],EJe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function GR(t){return!!(bt.hasWorkspaceScript(t,"prepack")||bt.hasWorkspaceScript(t,"postpack"))}async function jR(t,{report:e},r){await bt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await bt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function JR(t,e){var s,o;typeof e=="undefined"&&(e=await MB(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(B.normalize(a));for(let a of t.manifest.bin.values())r.add(B.normalize(a));let i=Dse.default.pack();process.nextTick(async()=>{for(let a of e){let l=B.normalize(a),c=B.resolve(t.cwd,l),u=B.join("package",l),g=await M.lstatPromise(c),h={name:u,mtime:new Date(gr.safeTime*1e3)},f=r.has(l)?493:420,p,m,I=new Promise((b,x)=>{p=b,m=x}),y=b=>{b?m(b):p()};if(g.isFile()){let b;l==="package.json"?b=Buffer.from(JSON.stringify(await Pse(t),null,2)):b=await M.readFilePromise(c),i.entry(V(P({},h),{mode:f,type:"file"}),b,y)}else g.isSymbolicLink()?i.entry(V(P({},h),{mode:f,type:"symlink",linkname:await M.readlinkPromise(c)}),y):y(new Error(`Unsupported file type ${g.mode} for ${L.fromPortablePath(l)}`));await I}i.finalize()});let n=(0,xse.createGzip)();return i.pipe(n),n}async function Pse(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function MB(t){var g,h,f,p,m,I,y,b;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of EJe)i.reject.push(x);for(let x of IJe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let F=B.relative(t.cwd,x),N=B.resolve(Ee.root,F);i.reject.push(N)};n(B.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let F=B.relative(t.cwd,x.cwd);F!==""&&!F.match(/^(\.\.)?\//)&&i.reject.push(`/${F}`)}let s={accept:[],reject:[]},o=(h=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?h:t.manifest.main,a=(p=(f=t.manifest.publishConfig)==null?void 0:f.module)!=null?p:t.manifest.module,l=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(b=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?b:t.manifest.bin;o!=null&&s.accept.push(B.resolve(Ee.root,o)),a!=null&&s.accept.push(B.resolve(Ee.root,a)),typeof l=="string"&&s.accept.push(B.resolve(Ee.root,l));for(let x of c.values())s.accept.push(B.resolve(Ee.root,x));if(l instanceof Map)for(let[x,F]of l.entries())s.accept.push(B.resolve(Ee.root,x)),typeof F=="string"&&s.accept.push(B.resolve(Ee.root,F));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)kse(s.accept,x,{cwd:Ee.root})}return await yJe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function yJe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new vs(t),o=[[Ee.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Fse(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,h=!1;if(!e||a!==Ee.root)for(let m of u)g=g||m===".gitignore",h=h||m===".npmignore";let f=h?await vse(s,a,".npmignore"):g?await vse(s,a,".gitignore"):null,p=f!==null?[f].concat(l):l;Fse(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([B.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(B.relative(Ee.root,a))}return n.sort()}async function vse(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(B.join(e,r),"utf8");for(let s of n.split(/\n/g))kse(i.reject,s,{cwd:e});return i}function BJe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=B.resolve(e,t)),r&&(t=`!${t}`),t}function kse(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(BJe(i,{cwd:r}))}function Fse(t,{globalList:e,ignoreLists:r}){if(OB(t,e.accept))return!1;if(OB(t,e.reject))return!0;if(r!==null)for(let i of r){if(OB(t,i.accept))return!1;if(OB(t,i.reject))return!0}return!1}function OB(t,e){let r=e,i=[];for(let n=0;n{await jR(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await MB(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await JR(i,c),g=M.createWriteStream(s);u.pipe(g),await new Promise(h=>{g.on("finish",h)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ce.pretty(e,s,ce.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};dd.paths=[["pack"]],dd.usage=fe.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var Lse=dd;function wJe(t,{workspace:e}){let r=t.replace("%s",QJe(e)).replace("%v",bJe(e));return L.toPortablePath(r)}function QJe(t){return t.manifest.name!==null?w.slugifyIdent(t.manifest.name):"package"}function bJe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var SJe=["dependencies","devDependencies","peerDependencies"],DJe="workspace:",xJe=(t,e)=>{var i;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let n of SJe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=w.parseRange(s.range);if(a.protocol===DJe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new Ze(z.WORKSPACE_NOT_FOUND,`${w.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;w.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][w.stringifyIdent(s)]=l}}},PJe={hooks:{beforeWorkspacePacking:xJe},commands:[Lse]},kJe=PJe;var qse=te(require("crypto")),Gse=te(Yse()),jse=te(require("url"));async function zJe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=w.stringifyIdent(o),c=(0,qse.createHash)("sha1").update(e).digest("hex"),u=Gse.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Bo.genPackageManifest(t),h=`${l}-${a}.tgz`,f=new jse.URL(`${l}/-/${h}`,n);return{_id:l,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:V(P({},g),{_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:f.toString()}})}}}var _R={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Jse={npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},VJe={configuration:V(P(P({},_R),Jse),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},_R),Jse)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:El,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},_R)}}}),fetchers:[eR,Gn],resolvers:[tR,nR,sR]},XJe=VJe;var rL={};$e(rL,{default:()=>sWe});Mo();var bs;(function(i){i.All="all",i.Production="production",i.Development="development"})(bs||(bs={}));var Jn;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Jn||(Jn={}));var KB=[Jn.Info,Jn.Low,Jn.Moderate,Jn.High,Jn.Critical];function Wse(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function ZJe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function _Je(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(h=>h.manifest),s=new Set(n.map(h=>[...h.dependencies].map(([f,p])=>f)).flat()),o=new Set(n.map(h=>[...h.devDependencies].map(([f,p])=>f)).flat()),a=i.map(h=>[...h.dependencies.values()]).flat(),l=a.filter(h=>s.has(h.identHash)).map(h=>h.descriptorHash),c=a.filter(h=>o.has(h.identHash)).map(h=>h.descriptorHash),u=Wse(t,l),g=Wse(t,c);return ZJe(g,u)}function zse(t){let e={};for(let r of t)e[w.stringifyIdent(r)]=w.parseRange(r.range).selector;return e}function Vse(t){if(typeof t=="undefined")return new Set;let e=KB.indexOf(t),r=KB.slice(e);return new Set(r)}function $Je(t,e){let r=Vse(e),i={};for(let n of r)i[n]=t[n];return i}function Xse(t,e){var i;let r=$Je(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function Zse(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=Vse(e);n=n.filter(o=>s.has(o.severity))}for(let s of de.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:ce.tuple(ce.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:ce.tuple(ce.Type.NO_HINT,s.title)},URL:{label:"URL",value:ce.tuple(ce.Type.URL,s.url)},Severity:{label:"Severity",value:ce.tuple(ce.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ce.tuple(ce.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ce.tuple(ce.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:ce.tuple(ce.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ce.tuple(ce.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function _se(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[bs.All,bs.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[bs.All,bs.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return zse([...o,...l].filter(c=>w.parseRange(c.range).protocol===null))}function $se(t,e,{all:r}){var s;let i=_Je(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[w.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:zse(o.dependencies.values()),dev:i.has(w.convertLocatorToDescriptor(o).descriptorHash)};return n}var Ed=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=j.String("--environment",bs.All,{description:"Which environments to cover",validator:Yl(bs)});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=j.String("--severity",Jn.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yl(Jn)})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=_se(r,i,{all:this.all,environment:this.environment}),s=$se(r,i,{all:this.all});if(!this.recursive)for(let h of Object.keys(s))Object.prototype.hasOwnProperty.call(n,h)?s[h].requires={}:delete s[h];let o={requires:n,dependencies:s},a=Gt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await ao.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Bt.post("/-/npm/v1/security/audits/quick",o,{authType:Bt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Xse(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Tn.emitTree(Zse(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async h=>{h.reportJson(l),u||h.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};Ed.paths=[["npm","audit"]],Ed.usage=fe.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${KB.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var eoe=Ed;var toe=te(require("path")),$R=te(Cr()),eL=te(require("util")),yd=class extends Be{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${toe.default.join(x.cwd,"package.json")}`);c=w.makeDescriptor(x.manifest.name,"unknown")}else c=w.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=tL(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),h=Object.keys(g.versions).sort($R.default.compareLoose),p=g["dist-tags"].latest||h[h.length-1],m=vt.validRange(c.range);if(m){let x=$R.default.maxSatisfying(h,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(P(P({},g),I),{version:p,versions:h}),b;if(i!==null){b={};for(let x of i){let F=y[x];if(typeof F!="undefined")b[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${w.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),b=y;a.reportJson(b),this.json||n.push(b)}});eL.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,eL.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};yd.paths=[["npm","info"]],yd.usage=fe.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var roe=yd;function tL(t){if(Array.isArray(t)){let e=[];for(let r of t)r=tL(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=tL(t[r]);i&&(e[r]=i)}return e}else return t||null}var ioe=te(lp()),Bd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await tWe({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await eWe(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};Bd.paths=[["npm","login"]],Bd.usage=fe.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var noe=Bd;async function TB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Gt.getScopeRegistry(t,{configuration:r,type:Gt.RegistryType.PUBLISH_REGISTRY}):t?Gt.getScopeRegistry(t,{configuration:r}):e?Gt.getPublishRegistry((await bu(r,i)).manifest,{configuration:r}):Gt.getDefaultRegistry({configuration:r})}async function eWe(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(P({},l),{[o]:V(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await Ae.updateHomeConfiguration(s)}async function tWe({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,ioe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var $u=new Set(["npmAuthIdent","npmAuthToken"]),wd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=j.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await Ae.find(this.context.cwd,this.context.plugins),o=w.makeIdent((l=this.scope)!=null?l:null,"pkg");return!Gt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await rWe(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await soe("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish});await soe("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};wd.paths=[["npm","logout"]],wd.usage=fe.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var ooe=wd;function iWe(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...$u].every(s=>!i.has(s)))return!1;for(let s of $u)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of $u)delete n[s];return t[e]=n,!0}async function rWe(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))iWe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await Ae.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function soe(t,e){return await Ae.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...$u].every(l=>!o.has(l)))return r;for(let l of $u)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:V(P({},i),{[e]:void 0});let a={};for(let l of $u)a[l]=void 0;return V(P({},i),{[e]:P(P({},s),a)})}})}var Qd=class extends Be{constructor(){super(...arguments);this.access=j.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=j.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=j.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=Gt.getPublishRegistry(i.manifest,{configuration:e});return(await De.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Bt.get(Bt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await bt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Bo.prepareForPack(i,{report:l},async()=>{let g=await Bo.genPackList(i);for(let m of g)l.reportInfo(null,m);let h=await Bo.genPackStream(i,g),f=await de.bufferStream(h),p=await Id.makePublishBody(i,f,{access:this.access,tag:this.tag,registry:o});await Bt.put(Bt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Qd.paths=[["npm","publish"]],Qd.usage=fe.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var aoe=Qd;var loe=te(Cr());var bd=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String({required:!1})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=w.parseIdent(this.package);else{if(!i)throw new Xe(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${B.join(i.cwd,mt.manifest)}`);n=i.manifest.name}let s=await Sd(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ce.tuple(ce.Type.RESOLUTION,{descriptor:w.makeDescriptor(n,l),locator:w.makeLocator(n,c)})}))};return Tn.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};bd.paths=[["npm","tag","list"]],bd.usage=fe.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Aoe=bd;async function Sd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var Dd=class extends Be{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=w.parseDescriptor(this.package,!0),s=n.range;if(!loe.default.valid(s))throw new me(`The range ${ce.pretty(e,n.range,ce.Type.RANGE)} must be a valid semver version`);let o=Gt.getPublishRegistry(i.manifest,{configuration:e}),a=ce.pretty(e,n,ce.Type.IDENT),l=ce.pretty(e,s,ce.Type.RANGE),c=ce.pretty(e,this.tag,ce.Type.CODE);return(await De.start({configuration:e,stdout:this.context.stdout},async g=>{let h=await Sd(n,e);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let f=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(f,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Dd.paths=[["npm","tag","add"]],Dd.usage=fe.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var coe=Dd;var xd=class extends Be{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=w.parseIdent(this.package),s=Gt.getPublishRegistry(i.manifest,{configuration:e}),o=ce.pretty(e,this.tag,ce.Type.CODE),a=ce.pretty(e,n,ce.Type.IDENT),l=await Sd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await De.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};xd.paths=[["npm","tag","remove"]],xd.usage=fe.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var uoe=xd;var Pd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Gt.getScopeRegistry(this.scope,{configuration:e,type:Gt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Gt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Gt.getPublishRegistry((await bu(e,this.context.cwd)).manifest,{configuration:e}):r=Gt.getDefaultRegistry({configuration:e}),(await De.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?w.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Pd.paths=[["npm","whoami"]],Pd.usage=fe.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var goe=Pd;var nWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[eoe,roe,noe,ooe,aoe,coe,Aoe,uoe,goe]},sWe=nWe;var cL={};$e(cL,{default:()=>yWe,patchUtils:()=>iL});var iL={};$e(iL,{applyPatchFile:()=>qB,diffFolders:()=>aL,extractPackageToDisk:()=>oL,extractPatchFlags:()=>Eoe,isParentRequired:()=>sL,loadPatchFiles:()=>Rd,makeDescriptor:()=>mWe,makeLocator:()=>nL,parseDescriptor:()=>vd,parseLocator:()=>Fd,parsePatchFile:()=>HB});var kd=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var oWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function eg(t){return B.relative(Ee.root,B.resolve(Ee.root,L.toPortablePath(t)))}function aWe(t){let e=t.trim().match(oWe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var AWe=420,lWe=493,ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(ar||(ar={}));var hoe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),cWe=t=>({header:aWe(t),parts:[]}),uWe={["@"]:"header",["-"]:ar.Deletion,["+"]:ar.Insertion,[" "]:ar.Context,["\\"]:"pragma",undefined:ar.Context};function hWe(t){let e=[],r=hoe(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=hoe()}for(let l=0;l0?"patch":"mode change",b=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:eg(u),toPath:eg(g)}),b=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:UB(l),hash:h})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:UB(c),hash:f})}break;case"patch":case"mode change":b=m||s;break;default:de.assertNever(y);break}b&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:eg(b),oldMode:UB(o),newMode:UB(a)}),b&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:eg(b),hunks:I,beforeHash:h,afterHash:f})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function UB(t){let e=parseInt(t,8)&511;if(e!==AWe&&e!==lWe)throw new Error(`Unexpected file mode string: ${t}`);return e}function HB(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),fWe(hWe(e))}function gWe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case ar.Context:r+=n.length,e+=n.length;break;case ar.Deletion:e+=n.length;break;case ar.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}var YB=315532800;async function tg(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function qB(t,{baseFs:e=new wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await tg(e,B.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await tg(e,B.dirname(n.fromPath),async()=>{await tg(e,B.dirname(n.toPath),async()=>{await tg(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(B.dirname(n.path),{chmod:493,utimes:[YB,YB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,YB,YB)}break;case"patch":await tg(e,n.path,async()=>{await pWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(foe(n.newMode)!==foe(o))continue;await tg(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function foe(t){return(t&64)>0}function poe(t){return t.replace(/\s+$/,"")}function dWe(t,e){return poe(t)===poe(e)}async function pWe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let h=Math.max(c,g.header.patched.start+l),f=Math.max(0,h-c),p=Math.max(0,o.length-h-g.header.original.length),m=Math.max(f,p),I=0,y=0,b=null;for(;I<=m;){if(I<=f&&(y=h-I,b=doe(g,o,y),b!==null)){I=-I;break}if(I<=p&&(y=h+I,b=doe(g,o,y),b!==null))break;I+=1}if(b===null)throw new kd(t.indexOf(g),g);a.push(b),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let h of g)switch(h.type){case"splice":{let f=h.index+u;o.splice(f,h.numToDelete,...h.linesToInsert),u+=h.linesToInsert.length-h.numToDelete}break;case"pop":o.pop();break;case"push":o.push(h.line);break;default:de.assertNever(h);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function doe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case ar.Context:case ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!dWe(o,s))return null;r+=1}n.type===ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var CWe=/^builtin<([^>]+)>$/;function Coe(t,e){let{source:r,selector:i,params:n}=w.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>L.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?w.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function vd(t){let i=Coe(t.range,w.parseDescriptor),{sourceItem:e}=i,r=vr(i,["sourceItem"]);return V(P({},r),{sourceDescriptor:e})}function Fd(t){let i=Coe(t.reference,w.parseLocator),{sourceItem:e}=i,r=vr(i,["sourceItem"]);return V(P({},r),{sourceLocator:e})}function moe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:w.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return w.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function mWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return w.makeLocator(t,moe({parentLocator:e,sourceItem:r,patchPaths:i},w.stringifyDescriptor))}function nL(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return w.makeLocator(t,moe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},w.stringifyLocator))}function Ioe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(CWe);return s!==null?r(s[1]):B.isAbsolute(i)?t(i):e(i)}function Eoe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function sL(t){return Ioe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Rd(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Eoe(o),l=await Ioe({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(B.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function oL(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new Br,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=B.join(l,"source"),u=B.join(l,"user"),g=B.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:w.stringifyLocator(t),version:i.version})]),M.detachTemp(l),u}async function aL(t,e){let r=L.fromPortablePath(t).replace(/\\/g,"/"),i=L.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await pr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:L.toPortablePath(process.cwd()),env:V(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function yoe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case ar.Context:r.reportInfo(null,` ${ce.pretty(e,n,"grey")}`);break;case ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ce.pretty(e,n,ce.Type.REMOVED)}`);break;case ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ce.pretty(e,n,ce.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var AL=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Fd(e),a=await Rd(i,o,r),l=await M.mktempPromise(),c=B.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=w.getIdentVendorPath(e),h=await li(),f=new Qr(c,{libzip:h,create:!0,level:r.project.configuration.get("compressionLevel")});await f.mkdirpPromise(g),await de.releaseAfterUseAsync(async()=>{await f.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),f.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new Qr(c,{libzip:h,level:r.project.configuration.get("compressionLevel")}),y=new yt(B.resolve(Ee.root,g),{baseFs:I});try{await qB(HB(p),{baseFs:y,version:s})}catch(b){if(!(b instanceof kd))throw b;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${w.prettyLocator(r.project.configuration,e)}: ${b.message}${F}`,U=v=>{!x||yoe(b.hunk,{configuration:r.project.configuration,report:v})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:U});continue}else throw new Ze(z.PATCH_HUNK_FAILED,N,U)}I.saveAndClose()}return new Qr(c,{libzip:h,level:r.project.configuration.get("compressionLevel")})}};var IWe=2,lL=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=vd(e);return n.every(s=>!sL(s))?e:w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=vd(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=vd(e),a=await Rd(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=wi.makeHash(`${IWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[nL(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Fd(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Ld=class extends Be{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=B.resolve(this.context.cwd,L.toPortablePath(this.patchFolder)),s=B.join(n,"../source"),o=B.join(n,"../.yarn-patch.json");if(!M.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await aL(s,n),l=await M.readJsonPromise(o),c=w.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=B.join(u,w.slugifyLocator(c));await M.mkdirPromise(u,{recursive:!0}),await M.writeFilePromise(g,a);let h=B.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:w.stringifyIdent(c),description:l.version}},reference:`patch:${w.stringifyLocator(c)}#${h}`}),await r.persist()}};Ld.paths=[["patch-commit"]],Ld.usage=fe.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Boe=Ld;var Nd=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=w.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:w.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${w.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await oL(s,{cache:n,project:r});o.reportJson({locator:w.stringifyLocator(s),path:L.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${w.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ce.pretty(e,L.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ce.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${L.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Nd.paths=[["patch"]],Nd.usage=fe.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var woe=Nd;var EWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Boe,woe],fetchers:[AL],resolvers:[lL]},yWe=EWe;var jy=()=>({modules:new Map([["@yarnpkg/cli",sp],["@yarnpkg/core",Mf],["@yarnpkg/fslib",Pg],["@yarnpkg/libzip",Mh],["@yarnpkg/parsers",Gh],["@yarnpkg/shell",Jh],["clipanion",A9(Hg)],["semver",BWe],["typanion",Hl],["yup",wWe],["@yarnpkg/plugin-essentials",kv],["@yarnpkg/plugin-compat",Lv],["@yarnpkg/plugin-dlx",Nv],["@yarnpkg/plugin-file",Gv],["@yarnpkg/plugin-git",tF],["@yarnpkg/plugin-github",iF],["@yarnpkg/plugin-http",oF],["@yarnpkg/plugin-init",cF],["@yarnpkg/plugin-link",pF],["@yarnpkg/plugin-node-modules",zF],["@yarnpkg/plugin-npm",ZR],["@yarnpkg/plugin-npm-cli",rL],["@yarnpkg/plugin-pack",WR],["@yarnpkg/plugin-patch",cL],["@yarnpkg/plugin-pnp",MF]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});fy({binaryVersion:Yi||"",pluginConfiguration:jy()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/.yarnrc.yml b/.yarnrc.yml index 080f47edd..e26322334 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,4 +4,4 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" -yarnPath: .yarn/releases/yarn-2.4.2.cjs +yarnPath: .yarn/releases/yarn-sources.cjs From b135a307a36c8294a8fffcb960c32cb753f90bd8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 25 Jun 2021 18:55:28 +0000 Subject: [PATCH 057/300] chore: change build target to node 14 --- .babelrc.js | 2 +- rollup.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.babelrc.js b/.babelrc.js index bea181242..a30c6e0e4 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -5,7 +5,7 @@ module.exports = { { 'preset-env': { bugfixes: true, - targets: 'defaults, not IE 11, not IE_mob 11, node 13', + targets: 'defaults, not IE 11, not IE_mob 11, node 14', }, 'class-properties': { loose: true, diff --git a/rollup.config.js b/rollup.config.js index f1a727e30..6fa2222c3 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -23,7 +23,7 @@ const babelConfig = { '@babel/env', { targets: { - node: '13', + node: '14', }, bugfixes: true, shippedProposals: true, From 0af09a8a93b5333af4be3c9ce78e7f16e94028fc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 25 Jun 2021 18:55:54 +0000 Subject: [PATCH 058/300] refactor: use next-adorable-avatars over koa-adorable-avatars --- src/pages/api/avatars/[[...slug]].js | 4 ++++ src/server/ratRouter/index.mjs | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 src/pages/api/avatars/[[...slug]].js diff --git a/src/pages/api/avatars/[[...slug]].js b/src/pages/api/avatars/[[...slug]].js new file mode 100644 index 000000000..6078f5fd0 --- /dev/null +++ b/src/pages/api/avatars/[[...slug]].js @@ -0,0 +1,4 @@ +import AvatarsRouter from '@fuelrats/next-adorable-avatars' + + +export default AvatarsRouter diff --git a/src/server/ratRouter/index.mjs b/src/server/ratRouter/index.mjs index 92d04d716..e3be2d877 100644 --- a/src/server/ratRouter/index.mjs +++ b/src/server/ratRouter/index.mjs @@ -1,4 +1,3 @@ -import AvatarsRouter from '@fuelrats/koa-adorable-avatars' import Router from '@koa/router' import stripeApi from './stripeApi' @@ -22,8 +21,8 @@ const ratRouter = (nextApp, koaServer) => { // Stripe Api stripeApi(router) - // Avatars - router.use('/api/avatars', AvatarsRouter.routes(), AvatarsRouter.allowedMethods()) + + /***************************************************************************\ From 72cf7815163c138857ff71907314e1010def99b3 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 27 Jun 2021 22:58:23 +0000 Subject: [PATCH 059/300] chore: update and clean deps --- package.json | 23 +-- yarn.lock | 494 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 367 insertions(+), 150 deletions(-) diff --git a/package.json b/package.json index 545ed808b..e6643ba55 100644 --- a/package.json +++ b/package.json @@ -25,16 +25,16 @@ "lint": "yarn lint:js; yarn lint:css" }, "dependencies": { - "@fingerprintjs/fingerprintjs": "^3.1.3", + "@fingerprintjs/fingerprintjs": "^3.2.0", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-brands-svg-icons": "^5.15.3", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.1.14", - "@fuelrats/koa-adorable-avatars": "^0.1.2", + "@fuelrats/next-adorable-avatars": "^0.3.0", "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", "@koa/router": "^10.0.0", - "@next/eslint-plugin-next": "^11.0.0", + "@next/eslint-plugin-next": "^11.0.1", "axios": "^0.21.1", "clsx": "^1.1.1", "content-security-policy-builder": "^2.1.0", @@ -54,8 +54,9 @@ "koa-logger": "^3.2.1", "koa-proxies": "0.12.1", "lodash": "^4.17.21", - "next": "^11.0.0", + "next": "^11.0.1", "next-cookies": "^2.0.3", + "next-http-proxy-middleware": "^1.0.10", "next-redux-wrapper": "5.0.0", "nprogress": "^0.2.0", "postcss": "^8.3.5", @@ -76,14 +77,14 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.156.0", + "stripe": "^8.157.0", "ua-parser-js": "^0.7.28", - "use-immer": "^0.5.2", + "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, "devDependencies": { "@babel/core": "^7.14.6", - "@babel/eslint-parser": "^7.14.5", + "@babel/eslint-parser": "^7.14.7", "@babel/eslint-plugin": "^7.14.5", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-decorators": "^7.14.5", @@ -96,7 +97,7 @@ "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", "@babel/plugin-proposal-throw-expressions": "^7.14.5", "@babel/plugin-transform-strict-mode": "^7.14.5", - "@babel/preset-env": "^7.14.5", + "@babel/preset-env": "^7.14.7", "@babel/runtime": "^7.14.6", "@fuelrats/babel-plugin-classnames": "^0.3.0", "@fuelrats/eslint-config": "^2.4.0-canary.6", @@ -129,18 +130,18 @@ "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.3.2", + "eslint-plugin-jsdoc": "^35.4.0", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.52.1", + "rollup": "^2.52.3", "rollup-plugin-cleaner": "^1.0.0", "rollup-plugin-node-externals": "^2.2.0", "sass": "^1.35.1", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.39.1", + "webpack": "^5.40.0", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 7e8f3bb81..6053e854d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,6 +55,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/compat-data@npm:7.14.7" + checksum: dcf7a72cb650206857a98cce1ab0973e67689f19afc3b30cabff6dbddf563f188d54d3b3f92a70c6bc1feb9049d8b2e601540e1d435b6866c77bffad0a441c9f + languageName: node + linkType: hard + "@babel/core@npm:7.14.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.6": version: 7.14.6 resolution: "@babel/core@npm:7.14.6" @@ -102,9 +109,9 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/eslint-parser@npm:7.14.5" +"@babel/eslint-parser@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/eslint-parser@npm:7.14.7" dependencies: eslint-scope: ^5.1.1 eslint-visitor-keys: ^2.1.0 @@ -112,7 +119,7 @@ __metadata: peerDependencies: "@babel/core": ">=7.11.0" eslint: ">=7.5.0" - checksum: a63ab74d30a6a6d1f34e6a52403eb2acdb273100d2139f0c751692389b6a04f6befebddb133f0c4417c475acf072bbc0b47dcf93097f018918aebec5705e5339 + checksum: d6bfe209f22af8e17e8b1bc7c598bfa9eaab15b89aeab686840ed22d1177f3bb68817a0c01d1e1be778c13bf9ecd07543f8b2bd93ae5fb65f9d9a955a40dd851 languageName: node linkType: hard @@ -740,6 +747,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-async-generator-functions@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.14.7" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-remap-async-to-generator": ^7.14.5 + "@babel/plugin-syntax-async-generators": ^7.8.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 09343a79385615f8d5f95aaef7c44af5e899c82f030f3d73546c2ffffa567c0949f0405052d7e32f643c0eb2a23590a5050f4606855b3506246d3d60e46f32e3 + languageName: node + linkType: hard + "@babel/plugin-proposal-class-properties@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5" @@ -902,6 +922,21 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-object-rest-spread@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.7" + dependencies: + "@babel/compat-data": ^7.14.7 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a35192868166fb5a62003a56ce2c266f74ae680f1d9589652c4495145240dd138a9505301bb5adca069cb874d6f0f733dc2f3d1d05f71a06019735c29c4d1a11 + languageName: node + linkType: hard + "@babel/plugin-proposal-optional-catch-binding@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.14.5" @@ -1294,6 +1329,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/plugin-transform-destructuring@npm:7.14.7" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 0b0cf8ed9fb92c53e3888c17402c4f1e8f329f05a759829b559df883b19b442d3950b7f319df419d0cff122ea76fc8b3b55779fdbb9e394e5f058419a8d5ba14 + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-dotall-regex@npm:7.14.5" @@ -1451,6 +1497,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.14.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3c68bc77cce387750ecd32d33e9ad0f0968245fbe03b36ec8dddc52bee3ee84757205db3b3b4fc605e055f08769312ef4dbf4a0c8adb8f02eb04b142ffcdf265 + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-new-target@npm:7.14.5" @@ -1601,6 +1658,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/plugin-transform-spread@npm:7.14.6" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 20c11de962dd7ddab110d6c4ab9f3c0bea97393ce09cbe4e46be53182c3df0577eaf0e31aaa2d76344ae21ed3a3b7e779fe814b845d188e11a6031c619648b89 + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-sticky-regex@npm:7.14.5" @@ -1668,7 +1737,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.14.5": +"@babel/preset-env@npm:^7.12.1": version: 7.14.5 resolution: "@babel/preset-env@npm:7.14.5" dependencies: @@ -1751,6 +1820,89 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.14.7": + version: 7.14.7 + resolution: "@babel/preset-env@npm:7.14.7" + dependencies: + "@babel/compat-data": ^7.14.7 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-validator-option": ^7.14.5 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.14.5 + "@babel/plugin-proposal-async-generator-functions": ^7.14.7 + "@babel/plugin-proposal-class-properties": ^7.14.5 + "@babel/plugin-proposal-class-static-block": ^7.14.5 + "@babel/plugin-proposal-dynamic-import": ^7.14.5 + "@babel/plugin-proposal-export-namespace-from": ^7.14.5 + "@babel/plugin-proposal-json-strings": ^7.14.5 + "@babel/plugin-proposal-logical-assignment-operators": ^7.14.5 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.14.5 + "@babel/plugin-proposal-numeric-separator": ^7.14.5 + "@babel/plugin-proposal-object-rest-spread": ^7.14.7 + "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 + "@babel/plugin-proposal-optional-chaining": ^7.14.5 + "@babel/plugin-proposal-private-methods": ^7.14.5 + "@babel/plugin-proposal-private-property-in-object": ^7.14.5 + "@babel/plugin-proposal-unicode-property-regex": ^7.14.5 + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-transform-arrow-functions": ^7.14.5 + "@babel/plugin-transform-async-to-generator": ^7.14.5 + "@babel/plugin-transform-block-scoped-functions": ^7.14.5 + "@babel/plugin-transform-block-scoping": ^7.14.5 + "@babel/plugin-transform-classes": ^7.14.5 + "@babel/plugin-transform-computed-properties": ^7.14.5 + "@babel/plugin-transform-destructuring": ^7.14.7 + "@babel/plugin-transform-dotall-regex": ^7.14.5 + "@babel/plugin-transform-duplicate-keys": ^7.14.5 + "@babel/plugin-transform-exponentiation-operator": ^7.14.5 + "@babel/plugin-transform-for-of": ^7.14.5 + "@babel/plugin-transform-function-name": ^7.14.5 + "@babel/plugin-transform-literals": ^7.14.5 + "@babel/plugin-transform-member-expression-literals": ^7.14.5 + "@babel/plugin-transform-modules-amd": ^7.14.5 + "@babel/plugin-transform-modules-commonjs": ^7.14.5 + "@babel/plugin-transform-modules-systemjs": ^7.14.5 + "@babel/plugin-transform-modules-umd": ^7.14.5 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.14.7 + "@babel/plugin-transform-new-target": ^7.14.5 + "@babel/plugin-transform-object-super": ^7.14.5 + "@babel/plugin-transform-parameters": ^7.14.5 + "@babel/plugin-transform-property-literals": ^7.14.5 + "@babel/plugin-transform-regenerator": ^7.14.5 + "@babel/plugin-transform-reserved-words": ^7.14.5 + "@babel/plugin-transform-shorthand-properties": ^7.14.5 + "@babel/plugin-transform-spread": ^7.14.6 + "@babel/plugin-transform-sticky-regex": ^7.14.5 + "@babel/plugin-transform-template-literals": ^7.14.5 + "@babel/plugin-transform-typeof-symbol": ^7.14.5 + "@babel/plugin-transform-unicode-escapes": ^7.14.5 + "@babel/plugin-transform-unicode-regex": ^7.14.5 + "@babel/preset-modules": ^0.1.4 + "@babel/types": ^7.14.5 + babel-plugin-polyfill-corejs2: ^0.2.2 + babel-plugin-polyfill-corejs3: ^0.2.2 + babel-plugin-polyfill-regenerator: ^0.2.2 + core-js-compat: ^3.15.0 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ebebc20ada68c92b67375926021d576af3636a279aee7625c1e234880355c8669188483aecfff2d478c1caa9fcf18b569ea329060b479236b04baed2bdf796d5 + languageName: node + linkType: hard + "@babel/preset-modules@npm:^0.1.4": version: 0.1.4 resolution: "@babel/preset-modules@npm:0.1.4" @@ -2015,12 +2167,12 @@ __metadata: languageName: node linkType: hard -"@fingerprintjs/fingerprintjs@npm:^3.1.3": - version: 3.1.3 - resolution: "@fingerprintjs/fingerprintjs@npm:3.1.3" +"@fingerprintjs/fingerprintjs@npm:^3.2.0": + version: 3.2.0 + resolution: "@fingerprintjs/fingerprintjs@npm:3.2.0" dependencies: tslib: ^2.0.1 - checksum: 04faf5237ad85f05614e3e001d77d2eb0928f87f4e4dd964c48dede5e8b667c3a6070e8b9acbe854f442223ba0d3383f6017a7233bc06fd3b6dc96e38cd74b3c + checksum: 4ed94ae5b085dba35124d2416b4538e94d9c66fc4c9441890f41be88ab5f1b9ea37b2b19422040733125a8e01bd3c11c9fc4b07d6987098c88b726b5a72a173e languageName: node linkType: hard @@ -2121,15 +2273,18 @@ __metadata: languageName: node linkType: hard -"@fuelrats/koa-adorable-avatars@npm:^0.1.2": - version: 0.1.2 - resolution: "@fuelrats/koa-adorable-avatars@npm:0.1.2" +"@fuelrats/next-adorable-avatars@npm:^0.3.0": + version: 0.3.0 + resolution: "@fuelrats/next-adorable-avatars@npm:0.3.0" dependencies: - "@koa/router": ^10.0.0 avatars-utils: 0.0.4 + next-connect: ^0.10.1 pure-uuid: ^1.6.2 - sharp: ^0.27.0 - checksum: 92ae991dd471ca9c47f96223b48ffc75a3a4d4cf50a9d0cd86644f33e58b48e90e1a217f5b7efab6d6d44c84c369cf4ba2b08bff86417aa317e6f824d6d1b735 + sharp: ^0.28.3 + workerpool: ^6.1.5 + peerDependencies: + next: ">=9.5.0" + checksum: 7d3e170a7573f78e32f6b111e2fb2353e3699021f612baa45555f08a7fb5ed501443fefa2b08ea0c62a4c7116535272c6511251fd40afccf65b530a510c9d949 languageName: node linkType: hard @@ -2207,30 +2362,30 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:11.0.0": - version: 11.0.0 - resolution: "@next/env@npm:11.0.0" - checksum: 83eba2d84c57cd5bf8c45f1d25362d259fa7f67d0ced4ce8ae70c1dea63c7cb0613456c6fd00a74b0b28c7dcbb98f82b440a3cd055f0b131e36cea332bf31f7a +"@next/env@npm:11.0.1": + version: 11.0.1 + resolution: "@next/env@npm:11.0.1" + checksum: 56fc85a19f5754e38db7e4bb7cff627f9addbdc12bad60bf1bbdbc744ab294ede5fdfc890579aeb6c1b185af538e3aa93ad5139931b76bb5432055ccf92ad8e6 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:^11.0.0": - version: 11.0.0 - resolution: "@next/eslint-plugin-next@npm:11.0.0" - checksum: 776c4b4dbe428aaa9568bf24efbf74a60e87b1b7d15c3e7595e832af26afdbb462fca25fd310daf0ca8fb6de77188cb41623c10f9aa39717262fd493e6da4b53 +"@next/eslint-plugin-next@npm:^11.0.1": + version: 11.0.1 + resolution: "@next/eslint-plugin-next@npm:11.0.1" + checksum: 8b1c99780cabe7e941f034a3fc1e492d4f42d45065d1016b2c730649e4757ed293c71c2b36da650ddc7b317b42d9f8f7fa600c4a698946e57bd26d5d56f4ffff languageName: node linkType: hard -"@next/polyfill-module@npm:11.0.0": - version: 11.0.0 - resolution: "@next/polyfill-module@npm:11.0.0" - checksum: 21dc5a8aee61c6604bd4eeb0ce1b8e9c2ec58375567aafe165ead1d73376ed9ee8ef8581972c561358af7be7511f15c6eef4f49306a90fe394fd7cff87ad854d +"@next/polyfill-module@npm:11.0.1": + version: 11.0.1 + resolution: "@next/polyfill-module@npm:11.0.1" + checksum: 563292c39b6bb17db9603445b3f68da2b0996f31a9c567476092d83635ec9d84ffd150c7e1476b4041535197ef150c62756e05d1c6f74127f7cd6868275b3239 languageName: node linkType: hard -"@next/react-dev-overlay@npm:11.0.0": - version: 11.0.0 - resolution: "@next/react-dev-overlay@npm:11.0.0" +"@next/react-dev-overlay@npm:11.0.1": + version: 11.0.1 + resolution: "@next/react-dev-overlay@npm:11.0.1" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -2246,20 +2401,20 @@ __metadata: peerDependencies: react: ^17.0.2 react-dom: ^17.0.2 - checksum: 9a6f1bd3cc2fc6b81c95ebbbe3e484b047baa1cd32384fd4a4698411cff3d5a1cb0ef995f51e1e609e0ce8b86beabf6c1fe69845f91337bc177cf92c53afd64a + checksum: d03b8700207fbf388a533354e01eb6e9bb7a755f7517262cd23d3f7778efe8f8b60966739482de7e5475f89f56700e599d8f18774f41c792d39a71602f0e352e languageName: node linkType: hard -"@next/react-refresh-utils@npm:11.0.0": - version: 11.0.0 - resolution: "@next/react-refresh-utils@npm:11.0.0" +"@next/react-refresh-utils@npm:11.0.1": + version: 11.0.1 + resolution: "@next/react-refresh-utils@npm:11.0.1" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: 4622231c7dddba46f00e1511cd7e76f4fa1f7cfd44be37ab32a3b494ee51ea085854e07be608298dc97326cb54c8f41528ac1c0b95a40e0dc2537607958f4ac7 + checksum: 8d9a1f246d47bee1722603c3a596cc24b27874f0b282ca0623781eec826c5b7d0e236c6528ad4fe95728693feeeb984ead12c21040d578109b2acec20263a681 languageName: node linkType: hard @@ -2690,6 +2845,15 @@ __metadata: languageName: node linkType: hard +"@types/http-proxy@npm:1.17.3": + version: 1.17.3 + resolution: "@types/http-proxy@npm:1.17.3" + dependencies: + "@types/node": "*" + checksum: 92edcd434a8933575acd341a3076ecb8591db4e1aeaec35d55979b77047b3bca0f8f5900a9c7aa75de2dbb2eb2a8a6cb9406277b290b58532ec4488a2bc237a1 + languageName: node + linkType: hard + "@types/ip6addr@npm:^0.2.2": version: 0.2.2 resolution: "@types/ip6addr@npm:0.2.2" @@ -3353,13 +3517,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:^3.0.0": - version: 3.0.0 - resolution: "array-flatten@npm:3.0.0" - checksum: ad00c51ca70cf837501fb6da823ba39bc6a86b43d0b76d840daa02fe0f8e68e94ad5bc2d0d038053118b879aaca8ea6168c32c7387a2fa5b118ad28db4f1f863 - languageName: node - linkType: hard - "array-includes@npm:^3.1.1": version: 3.1.1 resolution: "array-includes@npm:3.1.1" @@ -4403,6 +4560,16 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.15.0": + version: 3.15.1 + resolution: "core-js-compat@npm:3.15.1" + dependencies: + browserslist: ^4.16.6 + semver: 7.0.0 + checksum: cf2fb3406c7fd82edee3ccf9e55e538cf75da79845d5dbffaf979cb9e73e26943ee6e7d07c5cbc50c5909fba1c5a4ca499d0f249fdb491da45b40f8584a4c761 + languageName: node + linkType: hard + "core-js-compat@npm:^3.9.1": version: 3.12.1 resolution: "core-js-compat@npm:3.12.1" @@ -4785,15 +4952,6 @@ __metadata: languageName: node linkType: hard -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: ^3.1.0 - checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 - languageName: node - linkType: hard - "deep-equal@npm:~1.0.1": version: 1.0.1 resolution: "deep-equal@npm:1.0.1" @@ -5290,6 +5448,13 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^0.6.0": + version: 0.6.0 + resolution: "es-module-lexer@npm:0.6.0" + checksum: ef04832d0f118e07c5aafc3824f274df380e9f86915a2d665884d9498f580b1f5607bc633504460a6c6247b7689aaa774b024d6733de28614d1fab72991a6fc3 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -5390,9 +5555,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.3.2": - version: 35.3.2 - resolution: "eslint-plugin-jsdoc@npm:35.3.2" +"eslint-plugin-jsdoc@npm:^35.4.0": + version: 35.4.0 + resolution: "eslint-plugin-jsdoc@npm:35.4.0" dependencies: "@es-joy/jsdoccomment": ^0.8.0-alpha.2 comment-parser: 1.1.5 @@ -5405,7 +5570,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: b3aa29bca4fe11758ac32f84fd1e473fa74efe070faefd3d2d9c78b50d3c2d6f8fddb8a8e843afb05e39fa31e8e8c954a26798529846991ed6a9a9cd7cc9e298 + checksum: 8d7b29190e208fa81ddae89ce7ae50a83fa0b91ecefbdc964c88117b51cbfbf0028092d620ca5eaedf8b8ed5b1d1062fbe2c5bf21ac75872c79f8ae577d6b8c4 languageName: node linkType: hard @@ -6001,7 +6166,7 @@ __metadata: resolution: "fuelrats.com@workspace:." dependencies: "@babel/core": ^7.14.6 - "@babel/eslint-parser": ^7.14.5 + "@babel/eslint-parser": ^7.14.7 "@babel/eslint-plugin": ^7.14.5 "@babel/plugin-proposal-class-properties": ^7.14.5 "@babel/plugin-proposal-decorators": ^7.14.5 @@ -6014,9 +6179,9 @@ __metadata: "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 "@babel/plugin-proposal-throw-expressions": ^7.14.5 "@babel/plugin-transform-strict-mode": ^7.14.5 - "@babel/preset-env": ^7.14.5 + "@babel/preset-env": ^7.14.7 "@babel/runtime": ^7.14.6 - "@fingerprintjs/fingerprintjs": ^3.1.3 + "@fingerprintjs/fingerprintjs": ^3.2.0 "@fortawesome/fontawesome-svg-core": ^1.2.35 "@fortawesome/free-brands-svg-icons": ^5.15.3 "@fortawesome/free-solid-svg-icons": ^5.15.3 @@ -6025,12 +6190,12 @@ __metadata: "@fuelrats/eslint-config": ^2.4.0-canary.6 "@fuelrats/eslint-config-react": ^2.4.0-canary.6 "@fuelrats/eslint-plugin": ^2.4.0-canary.8 - "@fuelrats/koa-adorable-avatars": ^0.1.2 + "@fuelrats/next-adorable-avatars": ^0.3.0 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 "@fuelrats/web-util": ^0.3.2 "@koa/router": ^10.0.0 - "@next/eslint-plugin-next": ^11.0.0 + "@next/eslint-plugin-next": ^11.0.1 "@rollup/plugin-babel": ^5.3.0 "@rollup/plugin-commonjs": ^19.0.0 "@rollup/plugin-node-resolve": ^13.0.0 @@ -6063,7 +6228,7 @@ __metadata: eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.3.2 + eslint-plugin-jsdoc: ^35.4.0 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -6080,8 +6245,9 @@ __metadata: koa-logger: ^3.2.1 koa-proxies: 0.12.1 lodash: ^4.17.21 - next: ^11.0.0 + next: ^11.0.1 next-cookies: ^2.0.3 + next-http-proxy-middleware: ^1.0.10 next-redux-wrapper: 5.0.0 nprogress: ^0.2.0 postcss: ^8.3.5 @@ -6102,17 +6268,17 @@ __metadata: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.52.1 + rollup: ^2.52.3 rollup-plugin-cleaner: ^1.0.0 rollup-plugin-node-externals: ^2.2.0 sass: ^1.35.1 - stripe: ^8.156.0 + stripe: ^8.157.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 ua-parser-js: ^0.7.28 - use-immer: ^0.5.2 - webpack: ^5.39.1 + use-immer: ^0.6.0 + webpack: ^5.40.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -7183,6 +7349,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^27.0.2": + version: 27.0.2 + resolution: "jest-worker@npm:27.0.2" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: ea1b72afc95218425e821693b70ac2e2729488ea928ec5d56215ec97a66148c6983e0fd356e049f301c465109d8cc9d02346e5647f6317feaad09b6455257aba + languageName: node + linkType: hard + "js-cookie@npm:^2.2.1": version: 2.2.1 resolution: "js-cookie@npm:2.2.1" @@ -7946,13 +8123,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -8114,6 +8284,15 @@ __metadata: languageName: node linkType: hard +"next-connect@npm:^0.10.1": + version: 0.10.1 + resolution: "next-connect@npm:0.10.1" + dependencies: + trouter: ^3.1.0 + checksum: 74aba53585b48a2a15d2a65502d0fee548a4d94113d0fd57fbf75bf682b7673709b9fb30765ddb03ca86992d17e02cd65fa31f64e6fb3d2cf90f3608e32be659 + languageName: node + linkType: hard + "next-cookies@npm:^2.0.3": version: 2.0.3 resolution: "next-cookies@npm:2.0.3" @@ -8123,6 +8302,16 @@ __metadata: languageName: node linkType: hard +"next-http-proxy-middleware@npm:^1.0.10": + version: 1.0.10 + resolution: "next-http-proxy-middleware@npm:1.0.10" + dependencies: + "@types/http-proxy": 1.17.3 + http-proxy: ^1.18.1 + checksum: 099a4659ce3f324424345cbd1aee05bf878eed00354779ad0bcec85146c57ca36e70d8127e10e477ac65de5ab7241ff6d393f8b1f0f269140ebdc54891ce2636 + languageName: node + linkType: hard + "next-redux-wrapper@npm:5.0.0": version: 5.0.0 resolution: "next-redux-wrapper@npm:5.0.0" @@ -8133,16 +8322,16 @@ __metadata: languageName: node linkType: hard -"next@npm:^11.0.0": - version: 11.0.0 - resolution: "next@npm:11.0.0" +"next@npm:^11.0.1": + version: 11.0.1 + resolution: "next@npm:11.0.1" dependencies: "@babel/runtime": 7.12.5 "@hapi/accept": 5.0.2 - "@next/env": 11.0.0 - "@next/polyfill-module": 11.0.0 - "@next/react-dev-overlay": 11.0.0 - "@next/react-refresh-utils": 11.0.0 + "@next/env": 11.0.1 + "@next/polyfill-module": 11.0.1 + "@next/react-dev-overlay": 11.0.1 + "@next/react-refresh-utils": 11.0.1 assert: 2.0.0 ast-types: 0.13.2 browserify-zlib: 0.2.0 @@ -8202,7 +8391,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 4239947ccfedf74012155bcf7f696db1114468554697a13e5d9dba17148a68cab1f15ab8c64074d3096424b03a50caddf05901e03682a10f43d62c51234c73b4 + checksum: c6b4747f1a748269b661f73897558c036a9d1d3b7ff878fac1876b06f3d61b42b8991eef2ed90bfbc273f8b40fa5892b94009a69fdff353a9af3583a7740c1ea languageName: node linkType: hard @@ -8215,12 +8404,12 @@ __metadata: languageName: node linkType: hard -"node-addon-api@npm:^3.1.0": - version: 3.2.0 - resolution: "node-addon-api@npm:3.2.0" +"node-addon-api@npm:^3.2.0": + version: 3.2.1 + resolution: "node-addon-api@npm:3.2.1" dependencies: node-gyp: latest - checksum: 538893f075a2f70b659e0ae82bdb2cd627b1b76ddcc9c39e95dc8ff4be786e9f6766ed2aac7d4159f879f0c49a3551636f6d09907865afc5643703e1752e4c3e + checksum: 2369986bb0881ccd9ef6bacdf39550e07e089a9c8ede1cbc5fc7712d8e2faa4d50da0e487e333d4125f8c7a616c730131d1091676c9d499af1d74560756b4a18 languageName: node linkType: hard @@ -8312,13 +8501,6 @@ __metadata: languageName: node linkType: hard -"noop-logger@npm:^0.1.1": - version: 0.1.1 - resolution: "noop-logger@npm:0.1.1" - checksum: 9f99da270d074a2f268de2eae3ebcb44f12cc2f7241417c7be9f1e206f614afa632a27b91febab86163f88bb54466d638e49c9f62d899105f18d5ed5bcd51ed1 - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -9500,9 +9682,9 @@ __metadata: languageName: node linkType: hard -"prebuild-install@npm:^6.0.1": - version: 6.1.2 - resolution: "prebuild-install@npm:6.1.2" +"prebuild-install@npm:^6.1.2": + version: 6.1.3 + resolution: "prebuild-install@npm:6.1.3" dependencies: detect-libc: ^1.0.3 expand-template: ^2.0.3 @@ -9511,7 +9693,6 @@ __metadata: mkdirp-classic: ^0.5.3 napi-build-utils: ^1.0.1 node-abi: ^2.21.0 - noop-logger: ^0.1.1 npmlog: ^4.0.1 pump: ^3.0.0 rc: ^1.2.7 @@ -9519,8 +9700,8 @@ __metadata: tar-fs: ^2.0.0 tunnel-agent: ^0.6.0 bin: - prebuild-install: ./bin.js - checksum: db205c9f408cdfc13a6ad0dbc88bc7aeed76fb5ccb232f1eb515e6686da7f20f48831ca9142dcf38b2785f5906914371a95342032e54e421c08efa45785c80b6 + prebuild-install: bin.js + checksum: b258198789209bb8df853bbc3371caa7f85ca323e180e564bd6031b02c47eee1d371657a8e54685a3674d16281ea879d7947d019acb031c641c89799a25af277 languageName: node linkType: hard @@ -10018,6 +10199,13 @@ __metadata: languageName: node linkType: hard +"regexparam@npm:^1.3.0": + version: 1.3.0 + resolution: "regexparam@npm:1.3.0" + checksum: ea6449d9984392cdf401d3d9b722a56357224fba7e9fdf2887f1901e0d3a838052d3b92b30f2276047bf5d5b6a1a90b7dff6aa1c89599b246a86285e7e3e3fd4 + languageName: node + linkType: hard + "regexpp@npm:^3.1.0": version: 3.1.0 resolution: "regexpp@npm:3.1.0" @@ -10349,9 +10537,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup@npm:^2.52.1": - version: 2.52.1 - resolution: "rollup@npm:2.52.1" +"rollup@npm:^2.52.3": + version: 2.52.3 + resolution: "rollup@npm:2.52.3" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -10359,7 +10547,7 @@ resolve@^2.0.0-next.3: optional: true bin: rollup: dist/bin/rollup - checksum: 62d1eda5a8f5f732eb372aaa209b02f20002eab0fce246654b41de6c9821d4987d620816181b94ebb8fdb29a7aef419c104ab497de05df0dcde4e4b8f6182187 + checksum: 859558c369a80b2bd3d5912df7f0caa235476c25227ea18664c6ef99f4e86de36634fd216d39d76185968ea77f8de36526a36a2ba060871b6b676bfaf497ab25 languageName: node linkType: hard @@ -10477,7 +10665,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:^7.3.4, semver@npm:^7.3.5": +"semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -10497,6 +10685,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"serialize-javascript@npm:^6.0.0": + version: 6.0.0 + resolution: "serialize-javascript@npm:6.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + languageName: node + linkType: hard + "set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -10537,22 +10734,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sharp@npm:^0.27.0": - version: 0.27.2 - resolution: "sharp@npm:0.27.2" +"sharp@npm:^0.28.3": + version: 0.28.3 + resolution: "sharp@npm:0.28.3" dependencies: - array-flatten: ^3.0.0 color: ^3.1.3 detect-libc: ^1.0.3 - node-addon-api: ^3.1.0 + node-addon-api: ^3.2.0 node-gyp: latest - npmlog: ^4.1.2 - prebuild-install: ^6.0.1 - semver: ^7.3.4 - simple-get: ^4.0.0 + prebuild-install: ^6.1.2 + semver: ^7.3.5 + simple-get: ^3.1.0 tar-fs: ^2.1.1 tunnel-agent: ^0.6.0 - checksum: 12ab4a3dccbc7d4c654f38f5b5fae2dc95cc93c87b427e6efd6184fd0b035fe8f42b13368f413bef02587e168ead29a6091a18e7b56af3baed7cdafd4bbc8431 + checksum: ae25a81817dfa985ac5f9cb38d1add959a7740514c144aca5f414f3552909a22beb53d6d3613353a1fe7616ac43f2e50da60ce216352af5ee4efea32a442dfe5 languageName: node linkType: hard @@ -10604,7 +10799,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"simple-get@npm:^3.0.3": +"simple-get@npm:^3.0.3, simple-get@npm:^3.1.0": version: 3.1.0 resolution: "simple-get@npm:3.1.0" dependencies: @@ -10615,17 +10810,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"simple-get@npm:^4.0.0": - version: 4.0.0 - resolution: "simple-get@npm:4.0.0" - dependencies: - decompress-response: ^6.0.0 - once: ^1.3.1 - simple-concat: ^1.0.0 - checksum: 8af4fb788be27af3586395857a1617be133391a7356b007a76379f5eb2ad1c19ea6a13ba9467b0fe790b9e468f9fb124639779b62eb21e6d3ab2cb9b2850cb8d - languageName: node - linkType: hard - "simple-swizzle@npm:^0.2.2": version: 0.2.2 resolution: "simple-swizzle@npm:0.2.2" @@ -11057,13 +11241,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.156.0": - version: 8.156.0 - resolution: "stripe@npm:8.156.0" +"stripe@npm:^8.157.0": + version: 8.157.0 + resolution: "stripe@npm:8.157.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 8e03610148b33458fbde3f2a9ae37f3ccfa21dd1038f0395e590e7249ce2f6d02f0cfb31ec0a7778e3a34c9c3bcb9ea807e6cde3a3921d7046f7d4b99583877f + checksum: 976c6082801f868f35af1e6bbcb2a71ff52e67c28559173d6d9bec6a73c07f2821429fd96aab426822038ca3ef61ddc5fec9896cea7923fcee0650fa7d02e365 languageName: node linkType: hard @@ -11403,6 +11587,22 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.1.3": + version: 5.1.4 + resolution: "terser-webpack-plugin@npm:5.1.4" + dependencies: + jest-worker: ^27.0.2 + p-limit: ^3.1.0 + schema-utils: ^3.0.0 + serialize-javascript: ^6.0.0 + source-map: ^0.6.1 + terser: ^5.7.0 + peerDependencies: + webpack: ^5.1.0 + checksum: 7e5f97ac1944aaff12460201496314ab75d842f4f088e0344ca5143caf85a340d7b0294ed6b4e32b52bbd1bea71648d6417034e889872c582c1be4840e9bd0e7 + languageName: node + linkType: hard + "terser@npm:^5.7.0": version: 5.7.0 resolution: "terser@npm:5.7.0" @@ -11523,6 +11723,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"trouter@npm:^3.1.0": + version: 3.2.0 + resolution: "trouter@npm:3.2.0" + dependencies: + regexparam: ^1.3.0 + checksum: 50beb18d4cf0239fe5ee81368d59f08b25298869d169d39c35b1c1d142e922025e14a648989382da70d4064d2ac7900b4348401caa0a235c3cccabaaa85351ef + languageName: node + linkType: hard + "ts-pnp@npm:^1.1.6": version: 1.2.0 resolution: "ts-pnp@npm:1.2.0" @@ -11891,13 +12100,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"use-immer@npm:^0.5.2": - version: 0.5.2 - resolution: "use-immer@npm:0.5.2" +"use-immer@npm:^0.6.0": + version: 0.6.0 + resolution: "use-immer@npm:0.6.0" peerDependencies: immer: ">=2.0.0" react: ^16.8.0 || ^17.0.1 - checksum: f84b4a979d1aaf7e587fe77db28c54868f928fa1c2c3e22d3fb19eac987312aed638f3a06694c9dfaffca02bfcf1811dd94fbc6dd42c76619595db6593090fa2 + checksum: 5cb3e2f411cfaf0eeab8cce8919a83fdf82e10b3acfd2d4550d9c6a0afb105aace8c0406131126557a2eab6c4ef8aef87c24a82830b75140ec6b2cdffe818d76 languageName: node linkType: hard @@ -12155,9 +12364,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.39.1": - version: 5.39.1 - resolution: "webpack@npm:5.39.1" +"webpack@npm:^5.40.0": + version: 5.40.0 + resolution: "webpack@npm:5.40.0" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.47 @@ -12168,7 +12377,7 @@ resolve@^2.0.0-next.3: browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.8.0 - es-module-lexer: ^0.4.0 + es-module-lexer: ^0.6.0 eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 @@ -12179,7 +12388,7 @@ resolve@^2.0.0-next.3: neo-async: ^2.6.2 schema-utils: ^3.0.0 tapable: ^2.1.1 - terser-webpack-plugin: ^5.1.1 + terser-webpack-plugin: ^5.1.3 watchpack: ^2.2.0 webpack-sources: ^2.3.0 peerDependenciesMeta: @@ -12187,7 +12396,7 @@ resolve@^2.0.0-next.3: optional: true bin: webpack: bin/webpack.js - checksum: 28a3fa8dd1094bc9d43efa15e101b73f7c3c6ee753354c38ef428756faf8014ddfb93425e2f54beafc45b1cfc00b24d7a0a39bd60016294b0b2801d9665999d5 + checksum: 19b8e0bfb9c6f16de1baa97aa820da1bbd2032c78bb6c76dcda37844ec422d3ac82bdd6d65934c853a99fa60a9af0a8ab255cefe51f4262395aff0d6a37c7ccf languageName: node linkType: hard @@ -12280,6 +12489,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"workerpool@npm:^6.1.5": + version: 6.1.5 + resolution: "workerpool@npm:6.1.5" + checksum: 5defea1fd3e36b4f83c2bb184cade4a71e27030d46ee5efe704e90e19baf3a5c7146fddef010cbd0b7df3edbfca1e9e851bd35d8da8c99ec6d8bbfe121d8c0b0 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" From a05ac0fb8826e8c62f732a2f2043e46bc8f074cc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 02:25:03 +0000 Subject: [PATCH 060/300] Add proxies as API routes --- src/pages/api/apple-app-site-association.js | 12 +++++++++ src/pages/api/avatars/[[...slug]].js | 4 +-- src/pages/api/edsm/[[...slug]].js | 19 +++++++++++++++ src/pages/api/fr/[[...slug]].js | 27 +++++++++++++++++++++ src/pages/api/fr/oauth2/revoke.js | 1 + src/pages/api/fr/oauth2/token.js | 11 +++++++++ src/pages/api/wp/[[...slug]].js | 19 +++++++++++++++ src/pages/apple-app-site-association.js | 18 -------------- 8 files changed, 91 insertions(+), 20 deletions(-) create mode 100644 src/pages/api/apple-app-site-association.js create mode 100644 src/pages/api/edsm/[[...slug]].js create mode 100644 src/pages/api/fr/[[...slug]].js create mode 100644 src/pages/api/fr/oauth2/revoke.js create mode 100644 src/pages/api/fr/oauth2/token.js create mode 100644 src/pages/api/wp/[[...slug]].js delete mode 100644 src/pages/apple-app-site-association.js diff --git a/src/pages/api/apple-app-site-association.js b/src/pages/api/apple-app-site-association.js new file mode 100644 index 000000000..611411209 --- /dev/null +++ b/src/pages/api/apple-app-site-association.js @@ -0,0 +1,12 @@ +import { HttpStatus } from '@fuelrats/web-util/http' + +/* + * Almost always redirected from '/apple-app-site-Association' + */ +export default function appleAppSiteAssociation (req, res) { + res.status(HttpStatus.OK).json({ + webcredentials: { + apps: ['9X89US848J.com.fuelrats.Dispatch-Board'], + }, + }) +} diff --git a/src/pages/api/avatars/[[...slug]].js b/src/pages/api/avatars/[[...slug]].js index 6078f5fd0..13ff56c33 100644 --- a/src/pages/api/avatars/[[...slug]].js +++ b/src/pages/api/avatars/[[...slug]].js @@ -1,4 +1,4 @@ -import AvatarsRouter from '@fuelrats/next-adorable-avatars' +import avatarsRouter from '@fuelrats/next-adorable-avatars' -export default AvatarsRouter +export default avatarsRouter() diff --git a/src/pages/api/edsm/[[...slug]].js b/src/pages/api/edsm/[[...slug]].js new file mode 100644 index 000000000..1117c5eb6 --- /dev/null +++ b/src/pages/api/edsm/[[...slug]].js @@ -0,0 +1,19 @@ +import httpProxy from 'next-http-proxy-middleware' + +import { getEnv } from '~/util/server' + + + +const env = getEnv() + +export default function edsmApiProxy (res, req) { + return httpProxy(req, res, { + changeOrigin: true, + secure: true, + xfwd: true, + target: env.edsm.url, + pathRewrite: { + '^/api/edsm': '', + }, + }) +} diff --git a/src/pages/api/fr/[[...slug]].js b/src/pages/api/fr/[[...slug]].js new file mode 100644 index 000000000..253362382 --- /dev/null +++ b/src/pages/api/fr/[[...slug]].js @@ -0,0 +1,27 @@ +import httpProxy from 'next-http-proxy-middleware' + +import { getEnv } from '~/util/server' + + + +const env = getEnv() + + +export function frApiProxy (opts = {}) { + return (req, res) => { + return httpProxy(req, res, { + changeOrigin: true, + secure: true, + xfwd: true, + target: env.frapi.url, + ...opts, + pathRewrite: { + '^/api/fr': '', + ...(opts.pathRewrite ?? {}), + }, + }) + } +} + + +export default frApiProxy() diff --git a/src/pages/api/fr/oauth2/revoke.js b/src/pages/api/fr/oauth2/revoke.js new file mode 100644 index 000000000..7644689b2 --- /dev/null +++ b/src/pages/api/fr/oauth2/revoke.js @@ -0,0 +1 @@ +export { default } from './token' diff --git a/src/pages/api/fr/oauth2/token.js b/src/pages/api/fr/oauth2/token.js new file mode 100644 index 000000000..a487358a5 --- /dev/null +++ b/src/pages/api/fr/oauth2/token.js @@ -0,0 +1,11 @@ +import getEnv from '~/util/server/getEnv' + +import { frApiProxy } from '../[[...slug]]' + + +const env = getEnv() + + +export default frApiProxy({ + auth: `${env.frapi.clientId}:${env.frapi.clientSecret}`, +}) diff --git a/src/pages/api/wp/[[...slug]].js b/src/pages/api/wp/[[...slug]].js new file mode 100644 index 000000000..0fc505016 --- /dev/null +++ b/src/pages/api/wp/[[...slug]].js @@ -0,0 +1,19 @@ +import httpProxy from 'next-http-proxy-middleware' + +import { getEnv } from '~/util/server' + + + +const env = getEnv() + +export default function wpApiProxy (res, req) { + return httpProxy(req, res, { + changeOrigin: true, + secure: true, + xfwd: true, + target: env.wordpress.url, + pathRewrite: { + '^/api/wp': '/wp-json/wp/v2', + }, + }) +} diff --git a/src/pages/apple-app-site-association.js b/src/pages/apple-app-site-association.js deleted file mode 100644 index c4190d14a..000000000 --- a/src/pages/apple-app-site-association.js +++ /dev/null @@ -1,18 +0,0 @@ -function AppleAppSiteAssociation () { - return null -} - -AppleAppSiteAssociation.getInitialProps = ({ res }) => { - res.setHeader('Content-Type', 'application/json') - res.end(JSON.stringify({ - webcredentials: { - apps: ['9X89US848J.com.fuelrats.Dispatch-Board'], - }, - })) -} - - - - - -export default AppleAppSiteAssociation From 4522d035409f74aa26c12e77c4b7ac92d0a087c0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 02:26:40 +0000 Subject: [PATCH 061/300] refactor: centralize environment config, restructure it for consistency --- .env.local.template | 2 +- next.config.js | 101 +++++++++++++++++-------- src/components/AppLayout/withStripe.js | 2 +- src/services/frApi.js | 8 +- src/services/frSocket.js | 5 +- src/services/stApi.js | 2 +- src/services/wpApi.js | 2 +- src/util/server/getEnv.js | 73 ++++++++++++++++++ src/util/server/index.js | 1 + 9 files changed, 152 insertions(+), 44 deletions(-) create mode 100644 src/util/server/getEnv.js create mode 100644 src/util/server/index.js diff --git a/.env.local.template b/.env.local.template index 8feec0c32..e6a48ff8c 100644 --- a/.env.local.template +++ b/.env.local.template @@ -1,4 +1,4 @@ -# REQUIRED | Port to listen on. +# Port to listen on. PORT=3000 # REQUIRED | Publicly or locally accessible URL. Leave untouched if in development. diff --git a/next.config.js b/next.config.js index 29179b3dc..17923559c 100644 --- a/next.config.js +++ b/next.config.js @@ -2,24 +2,21 @@ /* eslint-disable no-param-reassign -- reassign is intended for changing configs */ /* eslint-env node */ -const crypto = require('crypto') -const path = require('path') -const url = require('url') -const { DefinePlugin } = require('webpack') +import crypto from 'crypto' +import path from 'path' +import url from 'url' +import { DefinePlugin } from 'webpack' +import { getEnv } from './src/util/server' // Constants +const env = getEnv() + + const { - PORT = 3000, - APP_URL = `https://localhost:${PORT}`, - FR_API_URL, - FR_CLIENT_IRC_URL, - FR_RAT_IRC_URL, - FR_SOCKET_URL, - FR_STRIPE_API_PK, GITHUB_REF, GITHUB_RUN_ID, GITHUB_SERVER_URL = 'https://github.com', @@ -39,13 +36,13 @@ const generateBuildId = () => { return `${GIT_BRANCH}_${buildId}` } -module.exports = { +const next = { distDir: path.join('dist', 'next'), generateBuildId, images: { disableStaticImages: true, domains: [ - url.parse(APP_URL).hostname, // Ensure the public hostname is always allowed. + url.parse(env.appUrl).hostname, // Ensure the public hostname is always allowed. 'wordpress.fuelrats.com', 'static-cdn.jtvnw.net', ], @@ -55,28 +52,68 @@ module.exports = { ignoreDuringBuilds: true, }, publicRuntimeConfig: { - appUrl: APP_URL, - irc: { - client: FR_CLIENT_IRC_URL ?? 'https://qms.fuelrats.dev', - rat: FR_RAT_IRC_URL ?? 'https://kiwi.fuelrats.com', + // This information is PUBLIC. all env values are explicitly defined to prevent secret leakage. + // DO NOT BLINDLY DEFINE OBJECTS! I.E. `frapi: env.frapi,` + appUrl: env.appUrl, + frapi: { + url: env.frapi.proxy, + server: env.frapi.url, + socket: env.frapi.socket, }, - apis: { - fuelRats: { - url: `${APP_URL}/api/fr`, - server: FR_API_URL ?? 'https://dev.api.fuelrats.com', - socket: FR_SOCKET_URL ?? 'wss://dev.api.fuelrats.com', - }, - wordpress: { - url: `${APP_URL}/api/wp`, - }, - stripe: { - url: `${APP_URL}/api/stripe`, - public: FR_STRIPE_API_PK, - }, + edsm: { + url: env.edsm.proxy, + }, + wordpress: { + url: env.wordpress.proxy, + }, + stripe: { + url: env.stripe.url, + public: env.stripe.public, + }, + irc: { + client: env.irc.client, + rat: env.irc.rat, }, }, + rewrites: () => { + return { + beforeFiles: [ + { + // Apple demands this be on the site root, but all api routes must be in /api. oof. + source: '/apple-app-site-association', + destination: '/api/apple-app-site-association', + }, + { + // Blog content dir. + source: '/wp-content/:path*', + destination: `${env.wordpress.url}/wp-content/:path*`, + }, + ], + fallback: [ + { + // Old blog links. yikes. + source: '/:year/:month/:day/:slug', + destination: '/blog/:slug', + }, + ], + } + }, redirects: () => { return [ + { + // All IE traffic should go to fallbackUrl. + source: '/:path*', + destination: env.fallbackUrl, + permanent: false, + basePath: false, + has: [ + { + type: 'header', + key: 'User-Agent', + value: '(.*Trident.*)', + }, + ], + }, { // Temporary workaround so canceled donations return to donate screen source: '/donate/cancel', @@ -157,3 +194,7 @@ module.exports = { return config }, } + + + +export default next diff --git a/src/components/AppLayout/withStripe.js b/src/components/AppLayout/withStripe.js index fa9057022..02e09b28a 100644 --- a/src/components/AppLayout/withStripe.js +++ b/src/components/AppLayout/withStripe.js @@ -8,7 +8,7 @@ import React from 'react' // Component Constants const { publicRuntimeConfig } = getConfig() -const STRIPE_API_PK = publicRuntimeConfig.apis.stripe.public +const STRIPE_API_PK = publicRuntimeConfig.stripe.public diff --git a/src/services/frApi.js b/src/services/frApi.js index 9d85c98a1..2f9865bb5 100644 --- a/src/services/frApi.js +++ b/src/services/frApi.js @@ -5,15 +5,11 @@ import qs from 'qs' -const { publicRuntimeConfig } = getConfig() -const localApiUrl = publicRuntimeConfig.apis.fuelRats.url - - - +const { publicRuntimeConfig } = getConfig() const frApi = axios.create({ - baseURL: localApiUrl, + baseURL: publicRuntimeConfig.frapi.url, timeout: 10000, paramsSerializer: qs.stringify, diff --git a/src/services/frSocket.js b/src/services/frSocket.js index dcd97d503..5e8b3e2d6 100644 --- a/src/services/frSocket.js +++ b/src/services/frSocket.js @@ -10,12 +10,9 @@ import { updatesResources } from '~/store/reducers/frAPIResources' const { publicRuntimeConfig } = getConfig() -const socketUrl = publicRuntimeConfig.apis.fuelRats.socket - - const frSocket = new ReduxRatSocket( - socketUrl, + publicRuntimeConfig.frapi.socket, { transformAction (action) { return { diff --git a/src/services/stApi.js b/src/services/stApi.js index b3bfaa5c4..980936a30 100644 --- a/src/services/stApi.js +++ b/src/services/stApi.js @@ -6,7 +6,7 @@ import getConfig from 'next/config' const { publicRuntimeConfig } = getConfig() -const localStripeApiUrl = publicRuntimeConfig.apis.stripe.url +const localStripeApiUrl = publicRuntimeConfig.stripe.url diff --git a/src/services/wpApi.js b/src/services/wpApi.js index 063ee0a7e..ac634b1e9 100644 --- a/src/services/wpApi.js +++ b/src/services/wpApi.js @@ -6,7 +6,7 @@ import getConfig from 'next/config' const { publicRuntimeConfig } = getConfig() -const localWordpressApiUrl = publicRuntimeConfig.apis.wordpress.url +const localWordpressApiUrl = publicRuntimeConfig.wordpress.url diff --git a/src/util/server/getEnv.js b/src/util/server/getEnv.js new file mode 100644 index 000000000..ca5c29c39 --- /dev/null +++ b/src/util/server/getEnv.js @@ -0,0 +1,73 @@ +/* eslint-env node */ + +function requireEnv (name) { + throw new TypeError(`Expected required variable 'process.env.${name}' to be defined.`) +} + +let env = null + +export default function getEnv () { + if (!env) { + if (typeof process === 'undefined') { + return null + } + + const { + PORT = 3000, + APP_URL = requireEnv('APP_URL'), + NODE_ENV, + FR_API_KEY = requireEnv('FR_API_KEY'), + FR_API_SECRET = requireEnv('FR_API_SECRET'), + FR_API_URL = 'https://dev.api.fuelrats.com', + FR_CLIENT_IRC_URL = 'https://qms.fuelrats.dev', + FR_EDSM_API_URL = 'https://www.edsm.net', + FR_FALLBACK_URL = 'https://fallback.fuelrats.com/', + FR_RAT_IRC_URL = 'https://kiwi.fuelrats.com', + FR_SOCKET_URL = 'wss://dev.api.fuelrats.com', + FR_STRIPE_API_PK, + FR_STRIPE_API_SK, + FR_STRIPE_BANS_FILE, + FR_WORDPRESS_URL = 'https://wordpress.fuelrats.com', + QMS_API_URL = 'https://api.qms.fuelrats.dev', + QMS_API_TOKEN, + } = process.env + + env = { + appUrl: APP_URL, + isDev: NODE_ENV !== 'production', + port: PORT, + fallbackUrl: FR_FALLBACK_URL, + frapi: { + url: FR_API_URL, + proxy: `${APP_URL}/api/fr`, + socket: FR_SOCKET_URL, + clientId: FR_API_KEY, + clientSecret: FR_API_SECRET, + }, + edsm: { + url: FR_EDSM_API_URL, + proxy: `${APP_URL}/api/edsm`, + }, + wordpress: { + url: FR_WORDPRESS_URL, + proxy: `${APP_URL}/api/wp`, + }, + stripe: { + url: `${APP_URL}/api/stripe`, + public: FR_STRIPE_API_PK, + secret: FR_STRIPE_API_SK, + bansFile: FR_STRIPE_BANS_FILE, + }, + qms: { + url: QMS_API_URL, + token: QMS_API_TOKEN, + }, + irc: { + client: FR_CLIENT_IRC_URL, + rat: FR_RAT_IRC_URL, + }, + } + } + + return env +} diff --git a/src/util/server/index.js b/src/util/server/index.js new file mode 100644 index 000000000..37e6f5d9e --- /dev/null +++ b/src/util/server/index.js @@ -0,0 +1 @@ +export { default as getEnv } from './getEnv' From df05f926bf44f778aaa10ddf615c6b4ad234ff42 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 02:30:42 +0000 Subject: [PATCH 062/300] feat(bind-util): add decorator to bind class methods --- src/util/decorators/bind.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/util/decorators/bind.js diff --git a/src/util/decorators/bind.js b/src/util/decorators/bind.js new file mode 100644 index 000000000..c76b0d9e0 --- /dev/null +++ b/src/util/decorators/bind.js @@ -0,0 +1,21 @@ +export default function bind (target, name, descriptor) { + const func = descriptor.value + return { + configurable: true, + get () { + if (this === target || Reflect.getOwnPropertyDescriptor(target, name)) { + return func + } + + const boundFunc = func.bind(this) + + Reflect.defineProperty(this, name, { + value: boundFunc, + configurable: true, + writable: true, + }) + + return boundFunc + }, + } +} From 344c3f0cd99e8c0cb75810ed2bd5289b7ca1389a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 04:19:30 +0000 Subject: [PATCH 063/300] docs(using_jsonApiRoute.md): add start to explainer on middleware --- docs/using_jsonApiRoute.md | 211 ++++++++++++++++++ .../server/middleware/trafficController.js} | 37 +-- 2 files changed, 233 insertions(+), 15 deletions(-) create mode 100644 docs/using_jsonApiRoute.md rename src/{server/ratRouter/stripeApi/middlewares/rateLimiter.mjs => util/server/middleware/trafficController.js} (82%) diff --git a/docs/using_jsonApiRoute.md b/docs/using_jsonApiRoute.md new file mode 100644 index 000000000..6d6168ac8 --- /dev/null +++ b/docs/using_jsonApiRoute.md @@ -0,0 +1,211 @@ +# Using jsonApiRoute framework + +[`jsonApiRoute()`][json-api-route] is an abstraction layer for [Next.js API Routes][njs-api-route] that is both a middleware framework, and [JSON:API][json-api] document builder. + + + +## Table of Contents + +- [Basic Usage](#basic-usage) +- [Middleware](#middleware) +- [Context](#context) + - [`context.req`](#contextreq) + - [`context.res`](#contextres) + - [`context.state`](#contextstate) + - [`context.data`](#contextdata) + - [`context.included`](#contextincluded) + - [`context.errors`](#contexterrors) + - [`context.meta`](#contextmeta) + - [`context.send`](#contextsend) + - [`context.error`](#contexterror) + - [`context.include`](#contextinclude) + + + + +## Basic Usage + +``` js +// /pages/api/hello-world.js +export default jsonApiRoute((ctx) => { + ctx.send({ + id: '123456', + type: 'hello-world' + attributes: { + hello: 'world!' + } + }) +}) +``` + +```JSON +// GET /api/hello-world +{ + "data": { + "id": "123456", + "type": "hello-world", + "attributes": { + "hello": "world!" + } + }, + "included": [], + "meta": {}, + "jsonapi": { + "version": '1.0', + }, +} +``` + + +## Middleware + +Middleware follow Koa.js' model of async middleware. Since this framework is built on top of `koa-compose`, the same basic concepts of control flow apply. More information can be found [here][koa-cascading]. + +For a basic example, lets build a middleware which gets the user object for a given authorization key + +``` js +import getUser from 'magic-example-package' +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' +import { UnauthorizedAPIError } from '~/util/server/errors' + +async function requireUser (ctx, next) { + const user = await getUser(ctx.req.getHeader('Authorization')) // Gets the user matching the given auth token. + + if (!user) { + // We throw here to immediately break the chain and have the route framework respond with the error. + // If we wanted to continue execution, we could send this error to ctx.error(error) instead of throwing. + throw new UnauthorizedAPIError() + } + + ctx.state.user = user // Add the user object to state. Note that this does NOT mean it will be sent with the response. + + await next() // wait for the other middleware deeper in the chain. + + if (ctx.state.includeUser) { + // If the endpoint requests it, include, the user object to the response. + ctx.include(user) + } +} + +export default jsonApiRoute( + requireUser, + (ctx) => { + /* Do some work */ + ctx.state.includeUser = true + ctx.send(/* some data */) + } +) +``` + + + + + +## Context + +The context object is a single object which contains: +* The Next.js API Route `req` and `res` objects, +* The top level elements of a [JSON:API][json-api] response document, +* and helper functions to simplify forming a response. + +### `context.req` + +The instance of [`http.IncomingMessage`][http-incoming-message] sent by Next.js, which also includes some [additional functions](#jsonapirouterequest) + + + +### `context.res` + +the instance of [`http.ServerResponse`][http-server-response] provided by Next.js. + +Manually sending the response with this framework is **NOT** supported. This should normally be used as a read-only reference. + + + +### `context.state` + +A namespace provided for passing information though middleware and your routes. + + + +### `context.data` + +`READ-ONLY` + +The response document's `data` field. + +Use [`context.send`](#contextsend) to modify this field + + + +### `context.included` + +`READ-ONLY` + +The response document's `included` field. + +Use [`context.include`](#contextinclude) to append to includes. + + + +### `context.errors` + +`READ-ONLY` + +A collection of errors attached to the response, but not not neccessarily thrown. + +Use [`context.error`](#contexterror) to append to errors. + +Use [`context.error`] to append errors. + + + +### `context.meta` + +The response document's `meta` field. This field is freely editable. + + + +### `context.send` + +Sets a resource or array of resources to the response document's primary `data` field. + +TODO + +### `context.error` + +Adds an error to the response document's `errors` field. Adding an error will also prevent `data` and `included` from being sent as per JSON:API spec. + +TODO + +### `context.include` + +Adds a resource object to the response document's `included` field. + +TODO + + +## `jsonApiRoute()` Request + +TODO + +## `jsonApiRoute()` Response + +TODO + + + + + + + + + + +[json-api]: https://jsonapi.org/format/ +[json-api-route]: ../src/util/server/middleware/jsonApiRoute.js +[njs-api-route]: https://nextjs.org/docs/api-routes/introduction +[njs-req-helpers]: https://nextjs.org/docs/api-routes/api-middlewares +[koa-cascading]: https://koajs.com/#cascading +[http-incoming-message]: https://nodejs.org/api/http.html#http_class_http_incomingmessage +[http-server-response]: https://nodejs.org/api/http.html#http_class_http_serverresponse diff --git a/src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs b/src/util/server/middleware/trafficController.js similarity index 82% rename from src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs rename to src/util/server/middleware/trafficController.js index fb01705cc..b7926a49f 100644 --- a/src/server/ratRouter/stripeApi/middlewares/rateLimiter.mjs +++ b/src/util/server/middleware/trafficController.js @@ -1,4 +1,4 @@ -import { TooManyRequestsError } from '../error' +import { TooManyRequestsApiError } from '~/util/server/errors' const hourTimer = 60 * 60 * 1000 @@ -23,18 +23,18 @@ class TrafficControl { /** * * @param {object} arg function arguments object - * @param {object} arg.connection Koa.js context object. + * @param {object} arg.ctx Koa.js context object. * @param {boolean} arg.increase Whether this validation should also increase the request count by 1 * @returns {object} An object containing whether the rate limit is exceeded, how many requests are left, * and the total requests */ - validateRateLimit ({ connection, increase = true }) { - const fingerprint = connection.request.get('X-Fingerprint') + validateRateLimit ({ ctx, increase = true }) { + const fingerprint = ctx.req.getHeader('X-Fingerprint') let entity = null let valid = false if (fingerprint) { - entity = this.retrieveUnauthenticatedEntity({ remoteAddress: connection.ip, fingerprint }) + entity = this.retrieveUnauthenticatedEntity({ remoteAddress: ctx.req.ip, fingerprint }) valid = entity.remainingRequests > 0 if (valid && increase) { entity.count += 1 @@ -146,23 +146,30 @@ class RemoteAddressEntity { -const rateLimiter = () => { +const trafficController = () => { const traffic = new TrafficControl() - return async function trafficControlTower (ctx, next) { - const rateLimit = traffic.validateRateLimit({ connection: ctx }) - ctx.state.traffic = rateLimit - ctx.set('X-Rate-Limit-Limit', rateLimit.total) - ctx.set('X-Rate-Limit-Remaining', rateLimit.remaining) - ctx.set('X-Rate-Limit-Reset', rateLimit.reset) + return async function rateLimitMiddleware (ctx, next) { + const user = traffic.validateRateLimit({ ctx }) + // Set to state for reference. + ctx.state.traffic = user + // Set to outgoing headers. + ctx.res.setHeader('X-Rate-Limit-Limit', user.total) + ctx.res.setHeader('X-Rate-Limit-Remaining', user.remaining) + ctx.res.setHeader('X-Rate-Limit-Reset', user.reset) - if (rateLimit.exceeded) { - throw new TooManyRequestsError() + // Set to response meta. + ctx.meta.rateLimitTotal = user.total + ctx.meta.rateLimitRemaining = user.remaining + ctx.meta.rateLimitReset = user.reset + + if (user.exceeded) { + throw new TooManyRequestsApiError() } await next() } } -export default rateLimiter +export default trafficController From ee3eb1c38cd248dd23ad91ddf24eaa9c2fb963e6 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:39:18 +0000 Subject: [PATCH 064/300] refactor(server): strip out the majority of server components, move whats needed to nextjs handling --- src/server/helpers/getEnv.mjs | 43 -------- src/server/middlewares/fuelratsProxy.mjs | 89 ----------------- src/server/middlewares/uaRedirect.mjs | 29 ------ src/server/ratRouter/index.mjs | 58 ----------- src/server/ratRouter/stripeApi/error.mjs | 80 --------------- src/server/ratRouter/stripeApi/index.mjs | 98 ------------------- .../stripeApi/middlewares/authorization.mjs | 56 ----------- .../middlewares/responseDocument.mjs | 74 -------------- src/server/ratRouter/wpRedirect.mjs | 44 --------- src/server/server.mjs | 46 ++++----- 10 files changed, 23 insertions(+), 594 deletions(-) delete mode 100644 src/server/helpers/getEnv.mjs delete mode 100644 src/server/middlewares/fuelratsProxy.mjs delete mode 100644 src/server/middlewares/uaRedirect.mjs delete mode 100644 src/server/ratRouter/index.mjs delete mode 100644 src/server/ratRouter/stripeApi/error.mjs delete mode 100644 src/server/ratRouter/stripeApi/index.mjs delete mode 100644 src/server/ratRouter/stripeApi/middlewares/authorization.mjs delete mode 100644 src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs delete mode 100644 src/server/ratRouter/wpRedirect.mjs diff --git a/src/server/helpers/getEnv.mjs b/src/server/helpers/getEnv.mjs deleted file mode 100644 index 3dc008fba..000000000 --- a/src/server/helpers/getEnv.mjs +++ /dev/null @@ -1,43 +0,0 @@ -function getEnv () { - const { - PORT = 3000, - APP_URL = `https://localhost:${PORT}`, - NODE_ENV, - FR_FALLBACK_URL = 'https://fallback.fuelrats.com/', - FR_API_SECRET, - FR_API_KEY, - FR_API_URL = 'https://dev.api.fuelrats.com', - FR_EDSM_API_URL = 'https://www.edsm.net', - FR_WORDPRESS_URL = 'https://wordpress.fuelrats.com', - FR_STRIPE_API_SK, - FR_STRIPE_BANS_FILE, - } = process.env - - return { - appUrl: APP_URL, - isDev: NODE_ENV !== 'production', - port: PORT, - fallbackUrl: FR_FALLBACK_URL, - api: { - url: FR_API_URL, - clientId: FR_API_KEY, - clientSecret: FR_API_SECRET, - }, - edsm: { - url: FR_EDSM_API_URL, - }, - wordpress: { - url: FR_WORDPRESS_URL, - }, - stripe: { - secret: FR_STRIPE_API_SK, - bansFile: FR_STRIPE_BANS_FILE, - }, - } -} - - - - - -export default getEnv diff --git a/src/server/middlewares/fuelratsProxy.mjs b/src/server/middlewares/fuelratsProxy.mjs deleted file mode 100644 index f80354692..000000000 --- a/src/server/middlewares/fuelratsProxy.mjs +++ /dev/null @@ -1,89 +0,0 @@ -import koaProxy from 'koa-proxies' - - - - - -const stripPathSegment = (segmentName, replaceValue = '/') => { - return (path) => { - return path.replace(new RegExp(`${segmentName}\\/`, 'u'), replaceValue) - } -} - - -// Default options for all proxies should go here. -const createProxyWithDefaults = (path, opts) => { - return koaProxy(path, { - changeOrigin: true, - secure: true, - xfwd: true, - ...opts, - }) -} - - - -const fuelratsProxy = (koaServer, env) => { - /***************************************************************************\ - Proxy Fuelrats API requests - \***************************************************************************/ - - const frApiPath = '/api/fr' - - koaServer.use(createProxyWithDefaults(`${frApiPath}/oauth2/token`, { - auth: `${env.api.clientId}:${env.api.clientSecret}`, - rewrite: stripPathSegment(frApiPath), - target: env.api.url, - })) - - koaServer.use(createProxyWithDefaults(`${frApiPath}/oauth2/revoke`, { - auth: `${env.api.clientId}:${env.api.clientSecret}`, - rewrite: stripPathSegment(frApiPath), - target: env.api.url, - })) - - koaServer.use(createProxyWithDefaults(frApiPath, { - rewrite: stripPathSegment(frApiPath), - target: env.api.url, - })) - - - - - - /***************************************************************************\ - Proxy EDSM API requests - \***************************************************************************/ - - const edsmApiPath = '/api/edsm' - - koaServer.use(createProxyWithDefaults(edsmApiPath, { - rewrite: stripPathSegment(edsmApiPath), - target: env.edsm.url, - })) - - - - - - /***************************************************************************\ - Proxy Wordpress requests - \***************************************************************************/ - - const wpApiPath = '/api/wp' - - koaServer.use(createProxyWithDefaults(wpApiPath, { - rewrite: stripPathSegment(wpApiPath, '/wp-json/wp/v2/'), - target: env.wordpress.url, - })) - - koaServer.use(createProxyWithDefaults('/wp-content', { - target: env.wordpress.url, - })) -} - - - - - -export default fuelratsProxy diff --git a/src/server/middlewares/uaRedirect.mjs b/src/server/middlewares/uaRedirect.mjs deleted file mode 100644 index 3454f650b..000000000 --- a/src/server/middlewares/uaRedirect.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import { UAParser } from 'ua-parser-js' - - - - - -export default function uaRedirect (browsers, target) { - return async (ctx, next) => { - const agent = new UAParser(ctx.header['user-agent']) - - if (agent) { - const agentBrowser = agent.getBrowser() - const browserResolver = browsers[agentBrowser.name] - if (typeof browserResolver !== 'undefined') { - const isIncompatible = typeof browserResolver === 'function' - ? browserResolver(agent) - : browserResolver - - if (isIncompatible) { - ctx.redirect(target) - return - } - } - } - - - await next() - } -} diff --git a/src/server/ratRouter/index.mjs b/src/server/ratRouter/index.mjs deleted file mode 100644 index e3be2d877..000000000 --- a/src/server/ratRouter/index.mjs +++ /dev/null @@ -1,58 +0,0 @@ -import Router from '@koa/router' - -import stripeApi from './stripeApi' -import wpRedirect from './wpRedirect' - - - - - -const ratRouter = (nextApp, koaServer) => { - const router = new Router() - - - /***************************************************************************\ - Routes - \***************************************************************************/ - - // Redirects - wpRedirect(router) - - // Stripe Api - stripeApi(router) - - - - - - /***************************************************************************\ - Next.js Passthrough - \***************************************************************************/ - - const nextRequestHandler = nextApp.getRequestHandler() - router.get('(.*)', async (ctx) => { - ctx.respond = false - await nextRequestHandler(ctx.req, ctx.res) - }) - - - - - - /***************************************************************************\ - Configure server and attach router. - \***************************************************************************/ - - koaServer.use(async (ctx, next) => { - ctx.res.statusCode = 200 - await next() - }) - koaServer.use(router.routes()) - koaServer.use(router.allowedMethods()) -} - - - - - -export default ratRouter diff --git a/src/server/ratRouter/stripeApi/error.mjs b/src/server/ratRouter/stripeApi/error.mjs deleted file mode 100644 index 30d3bbf4d..000000000 --- a/src/server/ratRouter/stripeApi/error.mjs +++ /dev/null @@ -1,80 +0,0 @@ -import { HttpStatus } from '@fuelrats/web-util/http' - -export class ApiError extends Error { - constructor (conf) { - const { - message, - code, - meta, - status, - source, - title, - } = conf - - super(message) - this.code = code - this.meta = meta - this.source = source - this.status = status - this.title = title - } - - toJSON () { - return { - status: this.status ?? 'internal_server_error', - code: this.code ?? HttpStatus.INTERNAL_SERVER_ERROR, - title: this.title ?? 'Internal Server Error', - detail: this.message, - source: this.source, - meta: this.meta, - } - } -} - -export class UnauthorizedError extends ApiError { - constructor ({ message, ...restErr } = {}) { - super({ - ...restErr, - status: 'unauthorized', - code: HttpStatus.UNAUTHORIZED, - title: 'Unauthorized', - message: message ?? 'You lack valid authentication credentials for this action.', - }) - } -} - -export class TooManyRequestsError extends ApiError { - constructor ({ message, tryAfter, meta, ...restErr } = {}) { - super({ - ...restErr, - status: 'too_many_requests', - code: HttpStatus.TOO_MANY_REQUESTS, - title: 'Too Many Requests', - message: message ?? `You have sent too many requests in a given amount of time.${tryAfter ? ` Try again after: ${tryAfter}.` : ''}`, - meta: { - ...(meta ?? {}), - tryAfter: tryAfter ?? 0, - }, - }) - } -} - -export class InternalServerError extends ApiError { - constructor ({ message, internalError, meta } = {}) { - super({ - status: 'internal_server_error', - code: HttpStatus.INTERNAL_SERVER_ERROR, - title: 'Internal Server Error', - message: message ?? 'The server encountered an unexpected condition that prevented it from fulfilling the request.', - meta: internalError - ? { - ...(meta ?? {}), - internalError: { - message: internalError.message, - name: internalError.name, - }, - } - : meta, - }) - } -} diff --git a/src/server/ratRouter/stripeApi/index.mjs b/src/server/ratRouter/stripeApi/index.mjs deleted file mode 100644 index d72e0e7f2..000000000 --- a/src/server/ratRouter/stripeApi/index.mjs +++ /dev/null @@ -1,98 +0,0 @@ -/* eslint-disable no-magic-numbers */ - -import Router from '@koa/router' -import stripeJs from 'stripe' - -import authorization from './middlewares/authorization' -import rateLimiter from './middlewares/rateLimiter' -import responseDocument from './middlewares/responseDocument' - -const getDonationItemInfo = (amount) => { - if (amount >= 3500) { - return { - description: 'Mother of rats! Talk about a boatload of generosity! We highly appreciate you going the extra lightyear to help us out. Fly Safe, CMDR o7', - image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins35.png', - } - } - - if (amount >= 2000) { - return { - description: 'Holy limpet! You sure like to live dangerously! We are most grateful for everything you can give. Fly Safe, CMDR o7', - image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins20.png', - } - } - - if (amount >= 1000) { - return { - description: 'Wow! This is a major donation for our sake. A contribution like this offsets our running costs for three whole days! Fly Safe, CMDR o7', - image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins10.png', - } - } - - - if (amount >= 500) { - return { - description: 'Thank you so much! A donation like this will go a long way towards covering our running costs. Fly Safe, CMDR o7', - image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins5.png', - } - } - - return { - description: 'Every little bit helps! Your contribution will ensure our continuous service to the galaxy. Fly Safe, CMDR o7', - image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins1.png', - } -} - -const stripeApi = (router) => { - const trafficControl = rateLimiter() - const stApiRouter = new Router() - stApiRouter.use(responseDocument) - stApiRouter.use(trafficControl) - stApiRouter.use(authorization) - - - stApiRouter.post('/checkout/donate', async (ctx) => { - const stripe = stripeJs(ctx.state.env.stripe.secret) - const { - body = {}, - } = ctx.request - - const { - amount, - currency, - email, - customer, - } = body - - const donationInfo = getDonationItemInfo(amount) - - ctx.body = await stripe.checkout.sessions.create({ - success_url: `${ctx.state.env.appUrl}/donate/success`, - cancel_url: `${ctx.state.env.appUrl}/donate/cancel`, - submit_type: 'donate', - payment_method_types: ['card'], - allow_promotion_codes: false, - customer_email: email, - customer, - line_items: [{ - name: 'One-time Donation', - description: donationInfo?.description, - images: [donationInfo?.image], - amount, - currency, - quantity: 1, - }], - metadata: { - fr_payment_type: 'donate', - }, - }) - }) - - router.use('/api/stripe', stApiRouter.routes(), stApiRouter.allowedMethods()) -} - - - - - -export default stripeApi diff --git a/src/server/ratRouter/stripeApi/middlewares/authorization.mjs b/src/server/ratRouter/stripeApi/middlewares/authorization.mjs deleted file mode 100644 index dfea589fe..000000000 --- a/src/server/ratRouter/stripeApi/middlewares/authorization.mjs +++ /dev/null @@ -1,56 +0,0 @@ -import ip6addr from 'ip6addr' -import jsonfile from 'jsonfile' - - -import { UnauthorizedError } from '../error' - -const IPV4_PREFIX_LENGTH = 32 -const IPV6_PREFIX_LENGTH = 56 - -const getIpType = (ip) => { - return ip6addr.parse(ip).kind() -} - -const compareIps = (userIp) => { - let defaultPrefixLength = IPV4_PREFIX_LENGTH - - if (getIpType(userIp) === 'ipv6') { - defaultPrefixLength = IPV6_PREFIX_LENGTH - } - - return (_bannedIp) => { - let bannedIp = _bannedIp - - if (!bannedIp.includes('/')) { // If banned ip does not have a defined prefix length - bannedIp = `${bannedIp}/${defaultPrefixLength}` - } - - const isMatch = ip6addr.createCIDR(bannedIp).contains(userIp) - - return isMatch - } -} - -const authorization = async (ctx, next) => { - // We only care about checking the file if it's actually configured - if (ctx.state.env?.stripe?.bansFile) { - // Load on every request since we don't want to - const bansFile = await jsonfile.readFile(ctx.state.env.stripe.bansFile) - const bansList = bansFile[getIpType(ctx.ip)] ?? [] - - - const isBanned = bansList.find(compareIps(ctx.ip)) - - if (isBanned) { - throw new UnauthorizedError() - } - } - - await next() -} - - - - - -export default authorization diff --git a/src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs b/src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs deleted file mode 100644 index 1b1af75eb..000000000 --- a/src/server/ratRouter/stripeApi/middlewares/responseDocument.mjs +++ /dev/null @@ -1,74 +0,0 @@ -import { HttpStatus } from '@fuelrats/web-util/http' - -import { ApiError, InternalServerError } from '../error' - - -class ResponseDocument { - meta = {} - data = {} - errors = undefined - - constructor ({ ctx, data, errors, meta = {} }) { - this.data = data - this.errors = errors - this.meta = meta - - if (ctx.state.traffic) { - this.meta.rateLimitTotal = ctx.state.traffic.total - this.meta.rateLimitRemaining = ctx.state.traffic.remaining - this.meta.rateLimitReset = ctx.state.traffic.reset - } - } - - toJSON () { - return { - data: this.errors ? undefined : this.data, // Do not send data obj if errors exist - errors: this.errors, - meta: this.meta, - } - } -} - -const responseDocument = async (ctx, next) => { - try { - await next() - - if (!ctx.body) { - throw new InternalServerError() - } - - ctx.status = 200 - ctx.body = new ResponseDocument({ - ctx, - data: ctx.body, - }) - } catch (error) { - // Only expose internal errors in dev mode - const internalError = ctx.state.env.isDev - ? error - : undefined - - const finalError = error instanceof ApiError - ? error - : new InternalServerError({ - internalError, - }) - - ctx.status = typeof error?.code === 'number' ? error.code : HttpStatus.INTERNAL_SERVER_ERROR - ctx.body = new ResponseDocument({ - ctx, - errors: [finalError], - }) - - console.error(error) - } - - ctx.type = 'application/json' - ctx.body = JSON.stringify(ctx.body) -} - - - - - -export default responseDocument diff --git a/src/server/ratRouter/wpRedirect.mjs b/src/server/ratRouter/wpRedirect.mjs deleted file mode 100644 index 72f385ed7..000000000 --- a/src/server/ratRouter/wpRedirect.mjs +++ /dev/null @@ -1,44 +0,0 @@ -// Component constants - -/* eslint-disable no-magic-numbers */ -const validYearRange = [2015, 2017] -const validMonthRange = [1, 12] -const validDayRange = [1, 31] -/* eslint-enable no-magic-numbers */ - -const isValidInRange = (numStr, min, max) => { - const parsedNum = parseInt(numStr, 10) - - return !Number.isNaN(parsedNum) && parsedNum >= min && parsedNum <= max -} - -const wpRedirect = (router) => { - // Legacy Wordpress permalinks - // e.g. /2017/09/07/universal-service-a-fuel-rats-thargoid-cartoon - router.get('/:year/:month/:day/:slug', async (ctx, next) => { - const { - day, - month, - slug, - year, - } = ctx.params - - const yearIsValid = isValidInRange(year, ...validYearRange) - const monthIsValid = isValidInRange(month, ...validMonthRange) - const dayIsValid = isValidInRange(day, ...validDayRange) - - if (dayIsValid && monthIsValid && yearIsValid) { - ctx.status = 301 - ctx.redirect(`/blog/${slug}`) - return - } - - await next() - }) -} - - - - - -export default wpRedirect diff --git a/src/server/server.mjs b/src/server/server.mjs index 57f9e3f8e..d0508277e 100644 --- a/src/server/server.mjs +++ b/src/server/server.mjs @@ -1,58 +1,44 @@ /* eslint-env node */ 'use strict' +import Router from '@koa/router' import Koa from 'koa' import koaBody from 'koa-body' import koaCompress from 'koa-compress' import koaLogger from 'koa-logger' import createNextServer from 'next' -import getEnv from './helpers/getEnv' +import getEnv from '../util/server/getEnv' import fuelratsCSP from './middlewares/fuelratsCSP' -import fuelratsProxy from './middlewares/fuelratsProxy' -import uaRedirect from './middlewares/uaRedirect' -import ratRouter from './ratRouter' // Constants +const env = getEnv() const server = new Koa() +const router = new Router() const nextApp = createNextServer({ dev: process.env.NODE_ENV !== 'production', }) +const nextHandler = nextApp.getRequestHandler() -;(async function init () { +async function init () { // Prepare nextApp await nextApp.prepare() - // get env - const env = getEnv() - - // Redirect any incompatible browsers to fallback website - server.use(uaRedirect({ IE: true }, env.fallbackUrl)) - - // Inject env into context. - server.use(async (ctx, next) => { - ctx.state.env = env - await next() - }) - // Set up console logger server.use(koaLogger()) // Add CSP server.use(fuelratsCSP()) - // Add proxies - fuelratsProxy(server, env) - // Compress responses server.use(koaCompress()) @@ -60,8 +46,22 @@ const nextApp = createNextServer({ server.use(koaBody()) // Add routes - ratRouter(nextApp, server) + router.all('(.*)', async (ctx) => { + await nextHandler(ctx.req, ctx.res) + ctx.respond = false + }) + + server.use(async (ctx, next) => { + ctx.res.statusCode = 200 + await next() + }) + + server.use(router.routes()) // Start the server - server.listen(env.port) -}()) + server.listen(env.port, () => { + console.log('--- Ready') + }) +} + +init() From f1453989d7fbbe97caca48665a38ef8b59d601b6 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:39:39 +0000 Subject: [PATCH 065/300] set server util dir to node env --- .eslintrc.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 11fe3ed4c..c1f556c96 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -37,7 +37,11 @@ module.exports = { }, overrides: [ { - files: ['src/pages/api/**/*.js', 'src/server/**/*.mjs'], + files: [ + 'src/pages/api/**/*.js', + 'src/server/**/*.mjs', + 'src/util/server/**/*.js', + ], env: { browser: false, node: true, From b24127a974573bf27f449bba82cf2cd63977334d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:39:51 +0000 Subject: [PATCH 066/300] add koa-compose to do our middleware handling --- package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/package.json b/package.json index e6643ba55..47e2c1a59 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "jsonfile": "^6.1.0", "koa": "^2.13.1", "koa-body": "^4.2.0", + "koa-compose": "^4.1.0", "koa-compress": "^5.0.1", "koa-logger": "^3.2.1", "koa-proxies": "0.12.1", diff --git a/yarn.lock b/yarn.lock index 6053e854d..bdcb1b507 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6241,6 +6241,7 @@ __metadata: jsonfile: ^6.1.0 koa: ^2.13.1 koa-body: ^4.2.0 + koa-compose: ^4.1.0 koa-compress: ^5.0.1 koa-logger: ^3.2.1 koa-proxies: 0.12.1 From f49de537e5e6ff7cf7ff9c736aefa765dcf64629 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:47:38 +0000 Subject: [PATCH 067/300] feat(getEnv-util): add proxy flag --- src/util/server/getEnv.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/server/getEnv.js b/src/util/server/getEnv.js index ca5c29c39..9b428d29b 100644 --- a/src/util/server/getEnv.js +++ b/src/util/server/getEnv.js @@ -15,6 +15,7 @@ export default function getEnv () { const { PORT = 3000, APP_URL = requireEnv('APP_URL'), + APP_PROXIED = false, NODE_ENV, FR_API_KEY = requireEnv('FR_API_KEY'), FR_API_SECRET = requireEnv('FR_API_SECRET'), @@ -34,6 +35,7 @@ export default function getEnv () { env = { appUrl: APP_URL, + proxied: APP_PROXIED, isDev: NODE_ENV !== 'production', port: PORT, fallbackUrl: FR_FALLBACK_URL, From c4329429c0c32cd786f79807bccf34084f1c18b9 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:49:11 +0000 Subject: [PATCH 068/300] docs(using_jsonApiRoute.md): change middleware example --- docs/using_jsonApiRoute.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/using_jsonApiRoute.md b/docs/using_jsonApiRoute.md index 6d6168ac8..523dd7d0c 100644 --- a/docs/using_jsonApiRoute.md +++ b/docs/using_jsonApiRoute.md @@ -68,27 +68,32 @@ import getUser from 'magic-example-package' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' import { UnauthorizedAPIError } from '~/util/server/errors' -async function requireUser (ctx, next) { - const user = await getUser(ctx.req.getHeader('Authorization')) // Gets the user matching the given auth token. - if (!user) { - // We throw here to immediately break the chain and have the route framework respond with the error. - // If we wanted to continue execution, we could send this error to ctx.error(error) instead of throwing. - throw new UnauthorizedAPIError() - } +// It's recommended to use a generator function like this even if you don't require configuration. +// This way all middleware are consistent, and adding configuration in the future does not have to be a breaking change. +async function requireUser () { + return (ctx, next) => { + const user = await getUser(ctx.req.getHeader('Authorization')) // Gets the user matching the given auth token. + + if (!user) { + // We throw here to immediately break the chain and have the route framework respond with the error. + // If we wanted to continue execution, we could send this error to ctx.error(error) instead of throwing. + throw new UnauthorizedAPIError() + } - ctx.state.user = user // Add the user object to state. Note that this does NOT mean it will be sent with the response. + ctx.state.user = user // Add the user object to state. Note that this does NOT mean it will be sent with the response. - await next() // wait for the other middleware deeper in the chain. + await next() // wait for the other middleware deeper in the chain. - if (ctx.state.includeUser) { - // If the endpoint requests it, include, the user object to the response. - ctx.include(user) + if (ctx.state.includeUser) { + // If the endpoint requests it, include, the user object to the response. + ctx.include(user) + } } } export default jsonApiRoute( - requireUser, + requireUser(), (ctx) => { /* Do some work */ ctx.state.includeUser = true From dae23e7803b9ce687bbc8b4a477cf0c6fffd4b1b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 05:56:39 +0000 Subject: [PATCH 069/300] feat(createResource-util): add generator function for JSONAPI Resource objects --- src/util/jsonapi/createResource.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/util/jsonapi/createResource.js diff --git a/src/util/jsonapi/createResource.js b/src/util/jsonapi/createResource.js new file mode 100644 index 000000000..159c32734 --- /dev/null +++ b/src/util/jsonapi/createResource.js @@ -0,0 +1,30 @@ +import { isRequired } from '@fuelrats/validation-util' + +export default function createResource (reqType, data) { + let { + id = isRequired('id'), + type = isRequired('type'), + attributes, + relationships, + links, + meta, + ...restAttributes + } = data + + if (reqType && reqType !== type) { + throw new Error('Route attempted to respond with mismatched data types') + } + + if (attributes && Object.keys(restAttributes).length) { + attributes = { ...restAttributes, ...attributes } + } + + return { + id, + type, + attributes, + relationships, + links, + meta, + } +} From c8397a6ce7767f0ea481c977447866589c10d29e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 06:08:28 +0000 Subject: [PATCH 070/300] refactor(trafficController-util): fix jsdoc block --- src/util/server/middleware/trafficController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/server/middleware/trafficController.js b/src/util/server/middleware/trafficController.js index b7926a49f..911f9091d 100644 --- a/src/util/server/middleware/trafficController.js +++ b/src/util/server/middleware/trafficController.js @@ -23,7 +23,7 @@ class TrafficControl { /** * * @param {object} arg function arguments object - * @param {object} arg.ctx Koa.js context object. + * @param {object} arg.ctx jsonApiRoute context object. * @param {boolean} arg.increase Whether this validation should also increase the request count by 1 * @returns {object} An object containing whether the rate limit is exceeded, how many requests are left, * and the total requests From fb274ee47f9e18756f947106fa9598204284833c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 16:03:16 +0000 Subject: [PATCH 071/300] add generic typing for koa-compose --- typings/global.d.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/typings/global.d.ts b/typings/global.d.ts index 941d354e8..5ff27bc11 100644 --- a/typings/global.d.ts +++ b/typings/global.d.ts @@ -62,3 +62,17 @@ declare const $NEXT_BUILD_ID: Readonly; * NodeJS version used to build the project. */ declare const $NODE_VERSION: Readonly; + +/** + * Module override for koa-compose. @types/koa-compose is koa-specific, while we are using this tool in a generic context. + */ +declare module "koa-compose" { + declare function NextFunc(): Promise; + + declare namespace compose { + type Middleware = (context: Ctx, next: NextFunc) => Promise; + type ComposedMiddleware = (context: C, next?: NextFunc) => Promise; + } + + export default function compose(middleware: Array>): compose.ComposedMiddleware; +} From 9f82df508abc3bd8f7481a849d2f0fea11fe580f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 16:47:05 +0000 Subject: [PATCH 072/300] feat(jsonApiRoute-util): add middleware for handling jsonAPI responses --- .../middleware/jsonApiRoute/JsonApiContext.js | 127 ++++++++++++++++++ .../server/middleware/jsonApiRoute/index.js | 1 + .../middleware/jsonApiRoute/jsonApiRoute.js | 64 +++++++++ 3 files changed, 192 insertions(+) create mode 100644 src/util/server/middleware/jsonApiRoute/JsonApiContext.js create mode 100644 src/util/server/middleware/jsonApiRoute/index.js create mode 100644 src/util/server/middleware/jsonApiRoute/jsonApiRoute.js diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js new file mode 100644 index 000000000..919f0fe70 --- /dev/null +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -0,0 +1,127 @@ +import { NextApiRequest, NextApiResponse } from 'next' + +import bind from '~/util/decorators/bind' +import createResource from '~/util/jsonapi/createResource' +import { InternalServerApiError, JSONApiError } from '~/util/server/errors' + +/** + * Context object for JsonApiRoute endpoints + */ +export default class JsonApiContext { + req = null + res = null + state = {} + meta = {} + + #resData = null + #resIncluded = [] + #resErrors = [] + + /** + * @param {NextApiRequest} req + * @param {NextApiResponse} res + */ + constructor (req, res) { + this.req = req + this.res = res + + this.createResource = createResource.bind(null, null) + } + + /** + * @param {object} data + * @returns {JsonApiContext} + */ + @bind + send (data) { + if (Array.isArray(data)) { + this.#resData = data.map(createResource.bind(null, data[0]?.type)) + } else { + this.#resData = createResource(null, data) + } + + return this + } + + /** + * @param {JSONApiError} error + * @param {boolean} first + * @returns {JsonApiContext} + */ + @bind + error (error, first) { + if (error) { + this.#resErrors[first ? 'unshift' : 'push']( + error instanceof JSONApiError + ? error + : new InternalServerApiError({ internalError: error }), + ) + } + + return this + } + + /** + * @param {number} statusCode + * @returns {JsonApiContext} + */ + @bind + status (statusCode) { + this.res.status(statusCode) + return this + } + + /** + * @param {object | object[]} data + * @returns {JsonApiContext} + */ + @bind + include (data) { + if (Array.isArray(data)) { + this.#resIncluded.append(data.map(createResource.bind(null, null))) + } else { + this.#resIncluded.push(createResource(null, data)) + } + return this + } + + + /** + * @returns {object} + */ + @bind + toJSON () { + const errors = this.#resErrors + + return { + data: errors.length ? undefined : this.#resData, + included: errors.length ? undefined : this.#resIncluded, + errors: errors.length ? errors : undefined, + meta: this.meta, + jsonapi: { + version: '1.0', + }, + } + } + + /** + * @returns {any} + */ + get data () { + return this.#resData + } + + /** + * @returns {object[]} + */ + get included () { + return this.#resIncluded + } + + /** + * @returns {JSONApiError[]} + */ + get errors () { + return this.#resErrors + } +} diff --git a/src/util/server/middleware/jsonApiRoute/index.js b/src/util/server/middleware/jsonApiRoute/index.js new file mode 100644 index 000000000..7aa0a0156 --- /dev/null +++ b/src/util/server/middleware/jsonApiRoute/index.js @@ -0,0 +1 @@ +export { default } from './jsonApiRoute' diff --git a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js new file mode 100644 index 000000000..66a078be2 --- /dev/null +++ b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js @@ -0,0 +1,64 @@ +import { HttpStatus } from '@fuelrats/web-util/http' +import compose from 'koa-compose' + +import getEnv from '../../getEnv' +import JsonApiContext from './JsonApiContext' + + +const jsonApiContentType = 'application/vnd.api+json' +const env = getEnv() + +function checkSent ({ res }) { + const sent = res.finished || res.headersSent || res.writableEnded + if (sent) { + console.warn('Route using \'jsonApiRoute()\' framework manually sent response. This is NOT recommended.') + } + + return sent +} + +function getIps ({ req }) { + const ips = req.getHeader('X-Forwarded-For') + return env.proxied && ips + ? ips.split(/\s*,\s*/u) + : [] +} + + +function modRequest (ctx, next) { + // Add IP handlers + ctx.req.ips = getIps(ctx) + ctx.req.ip = ctx.req.ips[0] ?? ctx.socket.remoteAddress ?? '' + + return next() +} + + +export default function jsonApiRoute (...middleware) { + const handler = compose([ + modRequest, + ...middleware, + ]) + + return async (req, res) => { + const ctx = new JsonApiContext(req, res) + + try { + await handler(ctx) + + if (!ctx.body && !ctx.errors.length) { + throw new Error('Route failed to respond with data or error.') + } + } catch (error) { + ctx.error(error, true) + } + + if (checkSent(ctx)) { + return + } + + res.status(ctx.errors[0]?.code ?? res.statusCode ?? HttpStatus.OK) + res.setHeader('Content-Type', jsonApiContentType) + res.send(JSON.stringify(ctx)) // Body must be stringified here, or Next will override Content-Type + } +} From 65ec7b697df5b6a79e57b462abbc2901c895f8d1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 16:51:48 +0000 Subject: [PATCH 073/300] refactor(version-api-page): use jsonApiRoute to send version data --- src/pages/api/version.js | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/pages/api/version.js b/src/pages/api/version.js index 7784c3f65..45cd9d3dd 100644 --- a/src/pages/api/version.js +++ b/src/pages/api/version.js @@ -8,6 +8,8 @@ */ +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' + import pkgFile from '../../../package.json' const BUILD_BRANCH = $BUILD_BRANCH @@ -22,23 +24,19 @@ const { version: appVersion } = pkgFile -export default function version (req, res) { - res.setHeader('Content-Type', 'application/vnd.api+json') - res.end(JSON.stringify({ - data: { - id: NEXT_BUILD_ID, - type: 'frWebBuilds', - attributes: { - branch: BUILD_BRANCH || 'develop', - builtOn: BUILD_DATE || null, - builtAt: BUILD_URL || null, - commit: BUILD_COMMIT || null, - versions: { - app: `v${appVersion}`, - node: NODE_VERSION, - }, +export default jsonApiRoute((ctx) => { + ctx.send({ + id: NEXT_BUILD_ID, + type: 'fr-web-builds', + attributes: { + branch: BUILD_BRANCH ?? 'develop', + builtOn: BUILD_DATE ?? null, + builtAt: BUILD_URL ?? null, + commit: BUILD_COMMIT ?? null, + versions: { + app: `v${appVersion}`, + node: NODE_VERSION, }, }, - - })) -} + }) +}) From 840fe5f6c8ef3e3df4414f18918d4bd4b8a7372e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 16:52:53 +0000 Subject: [PATCH 074/300] feat(ipFilter-util): add IP filter middleware for API routes --- src/util/server/middleware/ipFilter.js | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/util/server/middleware/ipFilter.js diff --git a/src/util/server/middleware/ipFilter.js b/src/util/server/middleware/ipFilter.js new file mode 100644 index 000000000..bdf9e3db1 --- /dev/null +++ b/src/util/server/middleware/ipFilter.js @@ -0,0 +1,61 @@ +import ip6addr from 'ip6addr' +import jsonfile from 'jsonfile' + + +import { UnauthorizedApiError } from '~/util/server/errors' +import getEnv from '~/util/server/getEnv' + + +const IPV4_PREFIX_LENGTH = 32 +const IPV6_PREFIX_LENGTH = 56 +const env = getEnv() + +const getIpType = (ip) => { + return ip6addr.parse(ip).kind() +} + +const compareIps = (userIp) => { + let defaultPrefixLength = IPV4_PREFIX_LENGTH + + if (getIpType(userIp) === 'ipv6') { + defaultPrefixLength = IPV6_PREFIX_LENGTH + } + + return (_bannedIp) => { + let bannedIp = _bannedIp + + if (!bannedIp.includes('/')) { // If banned ip does not have a defined prefix length + bannedIp = `${bannedIp}/${defaultPrefixLength}` + } + + const isMatch = ip6addr.createCIDR(bannedIp).contains(userIp) + + return isMatch + } +} + +function ipFilter () { + return async (ctx, next) => { + // We only care about checking the file if it's actually configured + if (ctx.state.env?.stripe?.bansFile) { + // Load on every request since we don't want to + const bansFile = await jsonfile.readFile(env.stripe.bansFile) + const bansList = bansFile[getIpType(ctx.req.ip)] ?? [] + + + const isBanned = bansList.find(compareIps(ctx.req.ip)) + + if (isBanned) { + throw new UnauthorizedApiError() + } + } + + await next() + } +} + + + + + +export default ipFilter From a5182a23db0d395cc3c404ad16161a3ea530ec9c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 16:54:36 +0000 Subject: [PATCH 075/300] feat(error-util): Add server error collection --- src/util/server/errors.js | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/util/server/errors.js diff --git a/src/util/server/errors.js b/src/util/server/errors.js new file mode 100644 index 000000000..729e15fdc --- /dev/null +++ b/src/util/server/errors.js @@ -0,0 +1,83 @@ +import { HttpStatus } from '@fuelrats/web-util/http' + +/** + * JSONAPI Compliant Error object. + */ +export class JSONApiError extends Error { + constructor (conf) { + const { + message, + code, + meta, + status, + source, + title, + } = conf + + super(message) + this.code = code + this.meta = meta + this.source = source + this.status = status + this.title = title + } + + toJSON () { + return { + status: this.status ?? 'internal_server_error', + code: this.code ?? HttpStatus.INTERNAL_SERVER_ERROR, + title: this.title ?? 'Internal Server Error', + detail: this.message, + source: this.source, + meta: this.meta, + } + } +} + +export class UnauthorizedApiError extends JSONApiError { + constructor ({ message, ...restErr } = {}) { + super({ + ...restErr, + status: 'unauthorized', + code: HttpStatus.UNAUTHORIZED, + title: 'Unauthorized', + message: message ?? 'You lack valid authentication credentials for this action.', + }) + } +} + +export class TooManyRequestsApiError extends JSONApiError { + constructor ({ message, tryAfter, meta, ...restErr } = {}) { + super({ + ...restErr, + status: 'too_many_requests', + code: HttpStatus.TOO_MANY_REQUESTS, + title: 'Too Many Requests', + message: message ?? `You have sent too many requests in a given amount of time.${tryAfter ? ` Try again after: ${tryAfter}.` : ''}`, + meta: { + ...(meta ?? {}), + tryAfter: tryAfter ?? 0, + }, + }) + } +} + +export class InternalServerApiError extends JSONApiError { + constructor ({ message, internalError, meta } = {}) { + super({ + status: 'internal_server_error', + code: HttpStatus.INTERNAL_SERVER_ERROR, + title: 'Internal Server Error', + message: message ?? 'The server encountered an unexpected condition that prevented it from fulfilling the request.', + meta: internalError + ? { + ...(meta ?? {}), + internalError: { + message: internalError.message, + name: internalError.name, + }, + } + : meta, + }) + } +} From 1f7e7eb1081125b57f0ceb3c220d873adbb9fa41 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 29 Jun 2021 22:57:24 +0000 Subject: [PATCH 076/300] refactor(error-util): rework API errors to be closer to the implementation found in our API --- src/data/apiErrorLocalisations.js | 28 ++++ src/util/server/errors.js | 120 +++++++++--------- src/util/server/middleware/ipFilter.js | 4 +- .../middleware/jsonApiRoute/JsonApiContext.js | 10 +- .../server/middleware/trafficController.js | 4 +- 5 files changed, 98 insertions(+), 68 deletions(-) create mode 100644 src/data/apiErrorLocalisations.js diff --git a/src/data/apiErrorLocalisations.js b/src/data/apiErrorLocalisations.js new file mode 100644 index 000000000..247b775e8 --- /dev/null +++ b/src/data/apiErrorLocalisations.js @@ -0,0 +1,28 @@ +const apiErrorLocalisations = { + bad_request: { + title: 'Bad Request', + detail: 'The server cannot or will not process the request due to something that is perceived to be a client error', + }, + + unauthorized: { + title: 'Unauthorized', + detail: 'You lack valid authentication credentials to perform this action.', + }, + + method_not_allowed: { + title: 'Method Not Allowed', + detail: 'The method received in the request-line is known by the origin server but not supported by the target resource.', + }, + + too_many_requests: { + title: 'Too Many Requests', + detail: 'The user has sent too many requests in a given amount of time and has been rate limited.', + }, + + internal_server: { + title: 'Internal Server Error', + detail: 'The server encountered an unexpected condition that prevented it from fulfilling the request.', + }, +} + +export default apiErrorLocalisations diff --git a/src/util/server/errors.js b/src/util/server/errors.js index 729e15fdc..19e06a67d 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -1,83 +1,85 @@ import { HttpStatus } from '@fuelrats/web-util/http' +import UUID from 'pure-uuid' + +import apiErrorLocalisations from '~/data/apiErrorLocalisations' + +const UUID_VERSION = 4 /** * JSONAPI Compliant Error object. */ -export class JSONApiError extends Error { - constructor (conf) { - const { - message, - code, - meta, - status, - source, - title, - } = conf - - super(message) - this.code = code - this.meta = meta +export class APIError extends Error { + constructor (source, meta) { + super() + this.message = this.detail + this.id = (new UUID(UUID_VERSION)).toString() this.source = source - this.status = status - this.title = title + this.meta = meta + } + + get code () { + return HttpStatus[this.status.toUpperCase()] + } + + get status () { + return undefined + } + + get title () { + return apiErrorLocalisations[this.status].title + } + + get detail () { + return apiErrorLocalisations[this.status].detail + } + + get links () { + return { + about: `https://httpstatuses.com/${this.code}`, + } } toJSON () { return { - status: this.status ?? 'internal_server_error', - code: this.code ?? HttpStatus.INTERNAL_SERVER_ERROR, - title: this.title ?? 'Internal Server Error', - detail: this.message, + id: this.id, + links: this.links, + status: this.status, + code: this.code, + title: this.title, + detail: this.detail, source: this.source, meta: this.meta, } } } -export class UnauthorizedApiError extends JSONApiError { - constructor ({ message, ...restErr } = {}) { - super({ - ...restErr, - status: 'unauthorized', - code: HttpStatus.UNAUTHORIZED, - title: 'Unauthorized', - message: message ?? 'You lack valid authentication credentials for this action.', - }) + + +export class UnauthorizedAPIError extends APIError { + get status () { + return 'unauthorized' + } +} + +export class TooManyRequestsAPIError extends APIError { + get status () { + return 'too_many_requests' + } + + get detail () { + const tryAfter = this.meta?.tryAfter + return `You have sent too many requests in a given amount of time.${tryAfter ? ` Try again after: ${tryAfter}.` : ''}` } } -export class TooManyRequestsApiError extends JSONApiError { - constructor ({ message, tryAfter, meta, ...restErr } = {}) { - super({ - ...restErr, - status: 'too_many_requests', - code: HttpStatus.TOO_MANY_REQUESTS, - title: 'Too Many Requests', - message: message ?? `You have sent too many requests in a given amount of time.${tryAfter ? ` Try again after: ${tryAfter}.` : ''}`, - meta: { - ...(meta ?? {}), - tryAfter: tryAfter ?? 0, - }, - }) +export class MethodNotAllowedAPIError extends APIError { + get status () { + return 'method_not_allowed' } } -export class InternalServerApiError extends JSONApiError { - constructor ({ message, internalError, meta } = {}) { - super({ - status: 'internal_server_error', - code: HttpStatus.INTERNAL_SERVER_ERROR, - title: 'Internal Server Error', - message: message ?? 'The server encountered an unexpected condition that prevented it from fulfilling the request.', - meta: internalError - ? { - ...(meta ?? {}), - internalError: { - message: internalError.message, - name: internalError.name, - }, - } - : meta, - }) +export class InternalServerAPIError extends APIError { + get status () { + return 'internal_server_error' } } diff --git a/src/util/server/middleware/ipFilter.js b/src/util/server/middleware/ipFilter.js index bdf9e3db1..e689ef761 100644 --- a/src/util/server/middleware/ipFilter.js +++ b/src/util/server/middleware/ipFilter.js @@ -2,7 +2,7 @@ import ip6addr from 'ip6addr' import jsonfile from 'jsonfile' -import { UnauthorizedApiError } from '~/util/server/errors' +import { UnauthorizedAPIError } from '~/util/server/errors' import getEnv from '~/util/server/getEnv' @@ -46,7 +46,7 @@ function ipFilter () { const isBanned = bansList.find(compareIps(ctx.req.ip)) if (isBanned) { - throw new UnauthorizedApiError() + throw new UnauthorizedAPIError() } } diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 919f0fe70..94668b52e 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -2,7 +2,7 @@ import { NextApiRequest, NextApiResponse } from 'next' import bind from '~/util/decorators/bind' import createResource from '~/util/jsonapi/createResource' -import { InternalServerApiError, JSONApiError } from '~/util/server/errors' +import { InternalServerAPIError, APIError } from '~/util/server/errors' /** * Context object for JsonApiRoute endpoints @@ -44,7 +44,7 @@ export default class JsonApiContext { } /** - * @param {JSONApiError} error + * @param {APIError} error * @param {boolean} first * @returns {JsonApiContext} */ @@ -52,9 +52,9 @@ export default class JsonApiContext { error (error, first) { if (error) { this.#resErrors[first ? 'unshift' : 'push']( - error instanceof JSONApiError + error instanceof APIError ? error - : new InternalServerApiError({ internalError: error }), + : new InternalServerAPIError({ internalError: error }), ) } @@ -119,7 +119,7 @@ export default class JsonApiContext { } /** - * @returns {JSONApiError[]} + * @returns {APIError[]} */ get errors () { return this.#resErrors diff --git a/src/util/server/middleware/trafficController.js b/src/util/server/middleware/trafficController.js index 911f9091d..b4172768c 100644 --- a/src/util/server/middleware/trafficController.js +++ b/src/util/server/middleware/trafficController.js @@ -1,4 +1,4 @@ -import { TooManyRequestsApiError } from '~/util/server/errors' +import { TooManyRequestsAPIError } from '~/util/server/errors' const hourTimer = 60 * 60 * 1000 @@ -165,7 +165,7 @@ const trafficController = () => { ctx.meta.rateLimitReset = user.reset if (user.exceeded) { - throw new TooManyRequestsApiError() + throw new TooManyRequestsAPIError() } await next() From 3b3c1f8a297bfb3a8bd17ec0ee386112f564700b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 06:34:40 +0000 Subject: [PATCH 077/300] refactor(bindMethod-decorator): rename from bind so it's intention is clearer --- src/util/decorators/{bind.js => bindMethod.js} | 2 +- .../server/middleware/jsonApiRoute/JsonApiContext.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) rename src/util/decorators/{bind.js => bindMethod.js} (86%) diff --git a/src/util/decorators/bind.js b/src/util/decorators/bindMethod.js similarity index 86% rename from src/util/decorators/bind.js rename to src/util/decorators/bindMethod.js index c76b0d9e0..a3d21c122 100644 --- a/src/util/decorators/bind.js +++ b/src/util/decorators/bindMethod.js @@ -1,4 +1,4 @@ -export default function bind (target, name, descriptor) { +export default function bindMethod (target, name, descriptor) { const func = descriptor.value return { configurable: true, diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 94668b52e..cfdb9bfc0 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -1,6 +1,6 @@ import { NextApiRequest, NextApiResponse } from 'next' -import bind from '~/util/decorators/bind' +import bindMethod from '~/util/decorators/bindMethod' import createResource from '~/util/jsonapi/createResource' import { InternalServerAPIError, APIError } from '~/util/server/errors' @@ -32,7 +32,7 @@ export default class JsonApiContext { * @param {object} data * @returns {JsonApiContext} */ - @bind + @bindMethod send (data) { if (Array.isArray(data)) { this.#resData = data.map(createResource.bind(null, data[0]?.type)) @@ -48,7 +48,7 @@ export default class JsonApiContext { * @param {boolean} first * @returns {JsonApiContext} */ - @bind + @bindMethod error (error, first) { if (error) { this.#resErrors[first ? 'unshift' : 'push']( @@ -65,7 +65,7 @@ export default class JsonApiContext { * @param {number} statusCode * @returns {JsonApiContext} */ - @bind + @bindMethod status (statusCode) { this.res.status(statusCode) return this @@ -75,7 +75,7 @@ export default class JsonApiContext { * @param {object | object[]} data * @returns {JsonApiContext} */ - @bind + @bindMethod include (data) { if (Array.isArray(data)) { this.#resIncluded.append(data.map(createResource.bind(null, null))) @@ -89,7 +89,7 @@ export default class JsonApiContext { /** * @returns {object} */ - @bind + @bindMethod toJSON () { const errors = this.#resErrors From 0d1a14df2e716795286e2b73dab0521e457063d0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 06:35:29 +0000 Subject: [PATCH 078/300] feat(methodRouter-util): add middleware for limiting request methods --- src/util/server/middleware/methodRouter.js | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/util/server/middleware/methodRouter.js diff --git a/src/util/server/middleware/methodRouter.js b/src/util/server/middleware/methodRouter.js new file mode 100644 index 000000000..55bed95f9 --- /dev/null +++ b/src/util/server/middleware/methodRouter.js @@ -0,0 +1,72 @@ +import { MethodNotAllowedAPIError } from '../errors' + + +/** + * + * @param {string[]} allowedMethods list of allowed request methods. + * @returns {Function} + */ +function limitMethod (allowedMethods) { + return (ctx, next) => { + const reqMethod = ctx.req.method.toUpperCase() + + if (!allowedMethods.includes(reqMethod)) { + throw new MethodNotAllowedAPIError({ + meta: { + allowedMethods, + }, + }) + } + + return next() + } +} + + +/** + * + * @param {object} methodHandlers + * @param {Function?} methodHandlers.GET + * @param {Function?} methodHandlers.POST + * @param {Function?} methodHandlers.PUT + * @param {Function?} methodHandlers.PATCH + * @param {Function?} methodHandlers.DELETE + * @returns {Function} + */ +function methodRouter (methodHandlers) { + const allowedMethods = Object.keys(methodHandlers).map((name) => { + return name.toUpperCase() + }) + + return (ctx, next) => { + const reqMethod = ctx.req.method.toUpperCase() + + let handler = methodHandlers[reqMethod] + handler ??= reqMethod === 'PATCH' && methodHandlers.PUT // Use PUT if PATCH isn't defined + + if (!handler) { + throw new MethodNotAllowedAPIError({ + meta: { + allowedMethods, + }, + }) + } + + return handler(ctx, next) + } +} + +methodRouter.GET = limitMethod.bind(null, ['GET']) +methodRouter.POST = limitMethod.bind(null, ['POST']) +methodRouter.PUT = limitMethod.bind(null, ['PUT', 'PATCH']) +methodRouter.PATCH = limitMethod.bind(null, ['PATCH']) +methodRouter.DELETE = limitMethod.bind(null, ['DELETE']) + + + + + +export default methodRouter +export { + limitMethod, +} From 5513d522a11ae88e50ebad0446a6d3c8ab963254 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 06:37:01 +0000 Subject: [PATCH 079/300] feat(donate-api-route): add route for creating donation sessions --- src/pages/api/stripe/checkout/donate.js | 101 ++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/pages/api/stripe/checkout/donate.js diff --git a/src/pages/api/stripe/checkout/donate.js b/src/pages/api/stripe/checkout/donate.js new file mode 100644 index 000000000..9a5335dc8 --- /dev/null +++ b/src/pages/api/stripe/checkout/donate.js @@ -0,0 +1,101 @@ +/* eslint-disable no-magic-numbers */ + +import stripeJs from 'stripe' + +import { getEnv } from '~/util/server' +import ipFilter from '~/util/server/middleware/ipFilter' +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' +import methodRouter from '~/util/server/middleware/methodRouter' +import trafficController from '~/util/server/middleware/trafficController' + + + +const env = getEnv() +const stripe = stripeJs(env.stripe.secret) + +const getDonationItemInfo = (amount) => { + if (amount >= 3500) { + return { + description: 'Mother of rats! Talk about a boatload of generosity! We highly appreciate you going the extra lightyear to help us out. Fly Safe, CMDR o7', + image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins35.png', + } + } + + if (amount >= 2000) { + return { + description: 'Holy limpet! You sure like to live dangerously! We are most grateful for everything you can give. Fly Safe, CMDR o7', + image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins20.png', + } + } + + if (amount >= 1000) { + return { + description: 'Wow! This is a major donation for our sake. A contribution like this offsets our running costs for three whole days! Fly Safe, CMDR o7', + image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins10.png', + } + } + + + if (amount >= 500) { + return { + description: 'Thank you so much! A donation like this will go a long way towards covering our running costs. Fly Safe, CMDR o7', + image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins5.png', + } + } + + return { + description: 'Every little bit helps! Your contribution will ensure our continuous service to the galaxy. Fly Safe, CMDR o7', + image: 'https://wordpress.fuelrats.com/wp-content/uploads/2020/01/coins1.png', + } +} + + + + +export default jsonApiRoute( + ipFilter(), + trafficController(), + methodRouter.POST(), + async (ctx) => { + const { + body = {}, + } = ctx.req + + const { + amount, + currency, + email, + customer, + } = body + + const donationInfo = getDonationItemInfo(amount) + + const session = await stripe.checkout.sessions.create({ + success_url: `${env.appUrl}/donate/success`, + cancel_url: `${env.appUrl}/donate/cancel`, + submit_type: 'donate', + payment_method_types: ['card'], + allow_promotion_codes: false, + customer_email: email, + customer, + line_items: [{ + name: 'One-time Donation', + description: donationInfo?.description, + images: [ + donationInfo?.image, + ], + amount, + currency, + quantity: 1, + }], + metadata: { + fr_payment_type: 'donate', + }, + }) + + ctx.send({ + id: session.id, + type: 'stripe-checkout-session', + }) + }, +) From 22bf6effe9e56f7511d3f292a5a0592dca849125 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 07:31:38 +0000 Subject: [PATCH 080/300] refactor: abstract API proxy to share defaults --- src/pages/api/edsm/[[...slug]].js | 23 ++++++++--------------- src/pages/api/fr/[[...slug]].js | 27 +++++++++++---------------- src/pages/api/wp/[[...slug]].js | 24 ++++++++---------------- src/util/server/apiProxy.js | 16 ++++++++++++++++ 4 files changed, 43 insertions(+), 47 deletions(-) create mode 100644 src/util/server/apiProxy.js diff --git a/src/pages/api/edsm/[[...slug]].js b/src/pages/api/edsm/[[...slug]].js index 1117c5eb6..8a9e7b29d 100644 --- a/src/pages/api/edsm/[[...slug]].js +++ b/src/pages/api/edsm/[[...slug]].js @@ -1,19 +1,12 @@ -import httpProxy from 'next-http-proxy-middleware' - -import { getEnv } from '~/util/server' - +import apiProxy from '~/util/server/apiProxy' +import getEnv from '~/util/server/getEnv' const env = getEnv() -export default function edsmApiProxy (res, req) { - return httpProxy(req, res, { - changeOrigin: true, - secure: true, - xfwd: true, - target: env.edsm.url, - pathRewrite: { - '^/api/edsm': '', - }, - }) -} +export default apiProxy({ + target: env.edsm.url, + pathRewrite: { + '^/api/edsm': '', + }, +}) diff --git a/src/pages/api/fr/[[...slug]].js b/src/pages/api/fr/[[...slug]].js index 253362382..2f2ad4a36 100644 --- a/src/pages/api/fr/[[...slug]].js +++ b/src/pages/api/fr/[[...slug]].js @@ -1,26 +1,21 @@ -import httpProxy from 'next-http-proxy-middleware' - -import { getEnv } from '~/util/server' +import apiProxy from '~/util/server/apiProxy' +import getEnv from '~/util/server/getEnv' const env = getEnv() + + export function frApiProxy (opts = {}) { - return (req, res) => { - return httpProxy(req, res, { - changeOrigin: true, - secure: true, - xfwd: true, - target: env.frapi.url, - ...opts, - pathRewrite: { - '^/api/fr': '', - ...(opts.pathRewrite ?? {}), - }, - }) - } + return apiProxy({ + target: env.frapi.url, + pathRewrite: { + '^/api/fr': '', + }, + ...opts, + }) } diff --git a/src/pages/api/wp/[[...slug]].js b/src/pages/api/wp/[[...slug]].js index 0fc505016..b52998458 100644 --- a/src/pages/api/wp/[[...slug]].js +++ b/src/pages/api/wp/[[...slug]].js @@ -1,19 +1,11 @@ -import httpProxy from 'next-http-proxy-middleware' - -import { getEnv } from '~/util/server' - - +import apiProxy from '~/util/server/apiProxy' +import getEnv from '~/util/server/getEnv' const env = getEnv() -export default function wpApiProxy (res, req) { - return httpProxy(req, res, { - changeOrigin: true, - secure: true, - xfwd: true, - target: env.wordpress.url, - pathRewrite: { - '^/api/wp': '/wp-json/wp/v2', - }, - }) -} +export default apiProxy({ + target: env.wordpress.url, + pathRewrite: { + '^/api/wp': '/wp-json/wp/v2', + }, +}) diff --git a/src/util/server/apiProxy.js b/src/util/server/apiProxy.js new file mode 100644 index 000000000..e5cd195d2 --- /dev/null +++ b/src/util/server/apiProxy.js @@ -0,0 +1,16 @@ +import httpProxyMiddleware from 'next-http-proxy-middleware' + + + + + +export default function apiProxy (...options) { + return (res, req) => { + return httpProxyMiddleware(req, res, { + changeOrigin: true, + secure: true, + xfwd: true, + ...options, + }) + } +} From 7b87e99b274837fb166b169a9d213d391c4c4b12 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 07:32:27 +0000 Subject: [PATCH 081/300] chore: separate redirects and rewrites so next config is easier to consume --- .gitignore | 1 - .next/redirects.js | 71 +++++++++++++++++++++++++++++++++ .next/rewrites.js | 25 ++++++++++++ next.config.js | 99 +++------------------------------------------- 4 files changed, 101 insertions(+), 95 deletions(-) create mode 100644 .next/redirects.js create mode 100644 .next/rewrites.js diff --git a/.gitignore b/.gitignore index 5dfd51a94..cd63a2729 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ # Build Dirs /dist* -/.next # Sensitive Files /.env diff --git a/.next/redirects.js b/.next/redirects.js new file mode 100644 index 000000000..618339256 --- /dev/null +++ b/.next/redirects.js @@ -0,0 +1,71 @@ +module.exports = (env) => { + return () => { + return ([ + { + // All IE traffic should go to fallbackUrl. + source: '/:path*', + destination: env.fallbackUrl, + permanent: false, + basePath: false, + has: [ + { + type: 'header', + key: 'User-Agent', + value: '(.*Trident.*)', + }, + ], + }, + { + // Temporary workaround so canceled donations return to donate screen + source: '/donate/cancel', + destination: '/donate', + permanent: false, + }, + { + // Profile page requires a tab name in the path + source: '/profile', + destination: '/profile/overview', + permanent: true, + }, + { + // Old blog used to exist at /blogs + source: '/blogs', + destination: '/blog', + permanent: true, + }, + { + // get-help was used at launch of the website, but has since been changed back. + source: '/get-help', + destination: '/i-need-fuel', + permanent: true, + }, + { + // Common endpoint for privacy policies + source: '/privacy', + destination: '/privacy-policy', + permanent: true, + }, + { + // Lexicon is no longer local + source: '/fuel-rats-lexicon', + destination: 'https://confluence.fuelrats.com/pages/viewpage.action?pageId=3637257', + permanent: true, + basePath: false, + }, + { + // statistics are no longer local + source: '/statistics', + destination: 'https://grafana.fuelrats.com', + permanent: true, + basePath: false, + }, + { + // People often type this one manually into their URL bar to get to the helpdesk + source: '/help', + destination: 'https://t.fuelr.at/help', + permanent: true, + basePath: false, + }, + ]) + } +} diff --git a/.next/rewrites.js b/.next/rewrites.js new file mode 100644 index 000000000..050e5e4f4 --- /dev/null +++ b/.next/rewrites.js @@ -0,0 +1,25 @@ +module.exports = (env) => { + return () => { + return { + beforeFiles: [ + { + // Apple demands this be on the site root, but all api routes must be in /api. oof. + source: '/apple-app-site-association', + destination: '/api/apple-app-site-association', + }, + { + // Blog content dir. + source: '/wp-content/:path*', + destination: `${env.wordpress.url}/wp-content/:path*`, + }, + ], + fallback: [ + { + // Old blog links. yikes. + source: '/:year/:month/:day/:slug', + destination: '/blog/:slug', + }, + ], + } + } +} diff --git a/next.config.js b/next.config.js index 17923559c..f950b8fcd 100644 --- a/next.config.js +++ b/next.config.js @@ -7,8 +7,9 @@ import path from 'path' import url from 'url' import { DefinePlugin } from 'webpack' -import { getEnv } from './src/util/server' - +import redirects from './.next/redirects' +import rewrites from './.next/rewrites' +import getEnv from './src/util/server/getEnv' @@ -75,98 +76,8 @@ const next = { rat: env.irc.rat, }, }, - rewrites: () => { - return { - beforeFiles: [ - { - // Apple demands this be on the site root, but all api routes must be in /api. oof. - source: '/apple-app-site-association', - destination: '/api/apple-app-site-association', - }, - { - // Blog content dir. - source: '/wp-content/:path*', - destination: `${env.wordpress.url}/wp-content/:path*`, - }, - ], - fallback: [ - { - // Old blog links. yikes. - source: '/:year/:month/:day/:slug', - destination: '/blog/:slug', - }, - ], - } - }, - redirects: () => { - return [ - { - // All IE traffic should go to fallbackUrl. - source: '/:path*', - destination: env.fallbackUrl, - permanent: false, - basePath: false, - has: [ - { - type: 'header', - key: 'User-Agent', - value: '(.*Trident.*)', - }, - ], - }, - { - // Temporary workaround so canceled donations return to donate screen - source: '/donate/cancel', - destination: '/donate', - permanent: false, - }, - { - // Profile page requires a tab name in the path - source: '/profile', - destination: '/profile/overview', - permanent: true, - }, - { - // Old blog used to exist at /blogs - source: '/blogs', - destination: '/blog', - permanent: true, - }, - { - // get-help was used at launch of the website, but has since been changed back. - source: '/get-help', - destination: '/i-need-fuel', - permanent: true, - }, - { - // Common endpoint for privacy policies - source: '/privacy', - destination: '/privacy-policy', - permanent: true, - }, - { - // Lexicon is no longer local - source: '/fuel-rats-lexicon', - destination: 'https://confluence.fuelrats.com/pages/viewpage.action?pageId=3637257', - permanent: true, - basePath: false, - }, - { - // statistics are no longer local - source: '/statistics', - destination: 'https://grafana.fuelrats.com', - permanent: true, - basePath: false, - }, - { - // People often type this one manually into their URL bar to get to the helpdesk - source: '/help', - destination: 'https://t.fuelr.at/help', - permanent: true, - basePath: false, - }, - ] - }, + redirects: redirects(env), + rewrites: rewrites(env), webpack: (config, opt) => { /* Define Plugin */ config.plugins.push(new DefinePlugin({ From a5f3e86ec4f01be6acf8b2b4b09d19bdb54ae6f2 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 30 Jun 2021 07:34:06 +0000 Subject: [PATCH 082/300] refactor: remove index file in src/util/server. --- src/pages/api/stripe/checkout/donate.js | 2 +- src/util/server/index.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 src/util/server/index.js diff --git a/src/pages/api/stripe/checkout/donate.js b/src/pages/api/stripe/checkout/donate.js index 9a5335dc8..e84f1eddc 100644 --- a/src/pages/api/stripe/checkout/donate.js +++ b/src/pages/api/stripe/checkout/donate.js @@ -2,7 +2,7 @@ import stripeJs from 'stripe' -import { getEnv } from '~/util/server' +import getEnv from '~/util/server/getEnv' import ipFilter from '~/util/server/middleware/ipFilter' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' import methodRouter from '~/util/server/middleware/methodRouter' diff --git a/src/util/server/index.js b/src/util/server/index.js deleted file mode 100644 index 37e6f5d9e..000000000 --- a/src/util/server/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as getEnv } from './getEnv' From 276bf71931b708ae3f0b74c5f3383b8209d26545 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 00:45:00 +0000 Subject: [PATCH 083/300] feat(methodrouter-util): send allow header with MethodNotAllowed error. Also remove old version of this middleware --- src/helpers/apiMiddlewares.js | 19 ------------------- src/util/server/middleware/methodRouter.js | 3 ++- 2 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 src/helpers/apiMiddlewares.js diff --git a/src/helpers/apiMiddlewares.js b/src/helpers/apiMiddlewares.js deleted file mode 100644 index 7fa286eef..000000000 --- a/src/helpers/apiMiddlewares.js +++ /dev/null @@ -1,19 +0,0 @@ -import { isRequired } from '@fuelrats/validation-util' -import { HttpStatus } from '@fuelrats/web-util/http' - - - - -export function methodRouter (handlers = isRequired('handlers')) { - return async (req, res) => { - const methodHandler = handlers[req.method] - - if (typeof methodHandler === 'function') { - await methodHandler(req, res) - return - } - - res.setHeader('Allow', Object.keys(handlers)) - res.status(HttpStatus.METHOD_NOT_ALLOWED).end(`Method ${req.method} Not Allowed`) - } -} diff --git a/src/util/server/middleware/methodRouter.js b/src/util/server/middleware/methodRouter.js index 55bed95f9..9c6ab6578 100644 --- a/src/util/server/middleware/methodRouter.js +++ b/src/util/server/middleware/methodRouter.js @@ -42,9 +42,10 @@ function methodRouter (methodHandlers) { const reqMethod = ctx.req.method.toUpperCase() let handler = methodHandlers[reqMethod] - handler ??= reqMethod === 'PATCH' && methodHandlers.PUT // Use PUT if PATCH isn't defined + handler ??= reqMethod === 'PATCH' && methodHandlers.PUT // Try PUT if PATCH isn't defined if (!handler) { + ctx.res.setHeader('Allow', allowedMethods) throw new MethodNotAllowedAPIError({ meta: { allowedMethods, From 3b3e04dfead1238c106eff4fdd146f03ebbd0e59 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 16:47:39 +0000 Subject: [PATCH 084/300] feat(error-util): add not_implemented error --- src/data/apiErrorLocalisations.js | 5 +++++ src/util/server/errors.js | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/data/apiErrorLocalisations.js b/src/data/apiErrorLocalisations.js index 247b775e8..a7c5d481c 100644 --- a/src/data/apiErrorLocalisations.js +++ b/src/data/apiErrorLocalisations.js @@ -23,6 +23,11 @@ const apiErrorLocalisations = { title: 'Internal Server Error', detail: 'The server encountered an unexpected condition that prevented it from fulfilling the request.', }, + + not_implemented: { + title: 'Not Implemented', + detail: 'The server does not support the functionality required to fulfill the request.', + }, } export default apiErrorLocalisations diff --git a/src/util/server/errors.js b/src/util/server/errors.js index 19e06a67d..658b05d1b 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -83,3 +83,9 @@ export class InternalServerAPIError extends APIError { return 'internal_server_error' } } + +export class NotImplementedAPIError extends APIError { + get status () { + return 'not_implemented' + } +} From 12a9647996efe5420dfc8883fa15b6d4f4fab776 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 16:59:34 +0000 Subject: [PATCH 085/300] refactor(queue-api-route): send queue data as JSONAPI --- src/hooks/rescueHooks.js | 4 +- src/pages/api/qms/queue.js | 129 +++++++++++++++++++++---------------- 2 files changed, 74 insertions(+), 59 deletions(-) diff --git a/src/hooks/rescueHooks.js b/src/hooks/rescueHooks.js index 837ffa1ec..b60a74565 100644 --- a/src/hooks/rescueHooks.js +++ b/src/hooks/rescueHooks.js @@ -46,8 +46,8 @@ export const useRescueQueueCount = () => { const { data, status } = await axios.get('/api/qms/queue') if (status === HttpStatus.OK) { - setCount(data.data.queueLength) - setMax(data.data.maxClients) + setCount(data.data.attributes.queueLength) + setMax(data.data.attributes.maxClients) } diff --git a/src/pages/api/qms/queue.js b/src/pages/api/qms/queue.js index dbb633e9b..11bca5963 100644 --- a/src/pages/api/qms/queue.js +++ b/src/pages/api/qms/queue.js @@ -1,7 +1,9 @@ import { HttpStatus } from '@fuelrats/web-util/http' import axios from 'axios' -import { methodRouter } from '~/helpers/apiMiddlewares' +import { InternalServerAPIError } from '~/util/server/errors' +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' +import methodRouter from '~/util/server/middleware/methodRouter' @@ -24,67 +26,80 @@ const cache = { -async function Queue (req, res) { - const nowTime = Date.now() +export default jsonApiRoute( + methodRouter.GET(), + async (ctx) => { + const nowTime = Date.now() - if (nowTime - cache.count.lastCheck >= cache.count.maxAge) { - cache.count.lastCheck = nowTime + if (nowTime - cache.count.lastCheck >= cache.count.maxAge) { + cache.count.lastCheck = nowTime - const { data, status, statusText } = await axios.get( - `${process.env.QMS_API_URL}/api/v1/queue/`, - { - headers: { - Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, + const { data, status, statusText } = await axios.get( + `${process.env.QMS_API_URL}/api/v1/queue/`, + { + headers: { + Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, + }, }, - }, - ) - - if (status === HttpStatus.OK) { - const rescueQueue = data.filter((rescue) => { - return !rescue.pending && !rescue.in_progress - }) - - cache.count.value = rescueQueue.length - } else { - console.error('GET /api/v1/queue/', status, statusText, data) - res.status(status).end(statusText) - return + ) + + if (status === HttpStatus.OK) { + const rescueQueue = data.filter((rescue) => { + return !rescue.pending && !rescue.in_progress + }) + + cache.count.value = rescueQueue.length + } else { + ctx.error(new InternalServerAPIError({ + meta: { + internalError: { + url: '/api/v1/queue/', + status, + statusText, + }, + }, + })) + } } - } - - if (nowTime - cache.max.lastCheck >= cache.max.maxAge) { - cache.max.lastCheck = nowTime - const { data, status, statusText } = await axios.get( - `${process.env.QMS_API_URL}/api/v1/config/`, - { - headers: { - Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, - }, - }, - ) - if (status === HttpStatus.OK) { - cache.max.value = data.max_active_clients - } else { - console.error('GET /api/v1/config/', status, statusText, data) + if (nowTime - cache.max.lastCheck >= cache.max.maxAge) { + cache.max.lastCheck = nowTime + const { data, status, statusText } = await axios.get( + `${process.env.QMS_API_URL}/api/v1/config/`, + { + headers: { + Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, + }, + }, + ) + + if (status === HttpStatus.OK) { + cache.max.value = data.max_active_clients + } else { + ctx.error(new InternalServerAPIError({ + meta: { + internalError: { + url: '/api/v1/config/', + status, + statusText, + }, + }, + })) + } } - } - - - res.status(HttpStatus.OK).json({ - data: { - queueLength: cache.count.value, - maxClients: cache.max.value, - }, - meta: { - queueAge: nowTime - cache.count.lastCheck, - maxClientAge: nowTime - cache.max.lastCheck, - }, - }) -} - -export default methodRouter({ - GET: Queue, -}) + ctx.send({ + id: 'static', + type: 'queue-statistics', + attributes: { + queueLength: cache.count.value, + maxClients: cache.max.value, + }, + meta: { + queueAge: nowTime - cache.count.lastCheck, + maxClientAge: nowTime - cache.max.lastCheck, + }, + }) + }, +) From 0766b858926e9cbc2420e89cde5d6b7db99b32c8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 18:49:09 +0000 Subject: [PATCH 086/300] feat(jsonApiRoute-util): add flag that allows warning suppression --- src/util/server/middleware/jsonApiRoute/JsonApiContext.js | 1 + src/util/server/middleware/jsonApiRoute/jsonApiRoute.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index cfdb9bfc0..505df8c81 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -12,6 +12,7 @@ export default class JsonApiContext { res = null state = {} meta = {} + __suppressWarnings = false #resData = null #resIncluded = [] diff --git a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js index 66a078be2..07a17f69d 100644 --- a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js +++ b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js @@ -8,10 +8,10 @@ import JsonApiContext from './JsonApiContext' const jsonApiContentType = 'application/vnd.api+json' const env = getEnv() -function checkSent ({ res }) { +function checkSent ({ res, __suppressWarnings }) { const sent = res.finished || res.headersSent || res.writableEnded - if (sent) { - console.warn('Route using \'jsonApiRoute()\' framework manually sent response. This is NOT recommended.') + if (sent && !__suppressWarnings) { + console.error('Route using \'jsonApiRoute()\' framework manually sent response. This is NOT recommended.') } return sent From e2364c6e2dccec1f8a1f82b925aeb1d098908908 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 18:50:06 +0000 Subject: [PATCH 087/300] feat(jsonApiRoute-util): Add data setter to context so data can be set via assignment --- src/util/server/middleware/jsonApiRoute/JsonApiContext.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 505df8c81..90edcc3c8 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -112,6 +112,10 @@ export default class JsonApiContext { return this.#resData } + set data (newData) { + this.send(newData) + } + /** * @returns {object[]} */ From e204a91c2446f74e3aed832951feb503c3cac089 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 1 Jul 2021 18:52:28 +0000 Subject: [PATCH 088/300] feat(version-api-route): limit method to GET --- src/pages/api/version.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/pages/api/version.js b/src/pages/api/version.js index 45cd9d3dd..96ea49418 100644 --- a/src/pages/api/version.js +++ b/src/pages/api/version.js @@ -9,6 +9,7 @@ import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' +import methodRouter from '~/util/server/middleware/methodRouter' import pkgFile from '../../../package.json' @@ -24,19 +25,22 @@ const { version: appVersion } = pkgFile -export default jsonApiRoute((ctx) => { - ctx.send({ - id: NEXT_BUILD_ID, - type: 'fr-web-builds', - attributes: { - branch: BUILD_BRANCH ?? 'develop', - builtOn: BUILD_DATE ?? null, - builtAt: BUILD_URL ?? null, - commit: BUILD_COMMIT ?? null, - versions: { - app: `v${appVersion}`, - node: NODE_VERSION, +export default jsonApiRoute( + methodRouter.GET(), + (ctx) => { + ctx.send({ + id: NEXT_BUILD_ID, + type: 'fr-web-builds', + attributes: { + branch: BUILD_BRANCH ?? 'develop', + builtOn: BUILD_DATE ?? null, + builtAt: BUILD_URL ?? null, + commit: BUILD_COMMIT ?? null, + versions: { + app: `v${appVersion}`, + node: NODE_VERSION, + }, }, - }, - }) -}) + }) + }, +) From c7d2a25c6e1602b6b070bdea06cc59f3cbfd807b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 00:15:43 +0000 Subject: [PATCH 089/300] refactor(acceptMethod-util): simplify and rename methodRouter to acceptMethod --- src/util/server/middleware/acceptMethod.js | 50 +++++++++++++++ src/util/server/middleware/methodRouter.js | 73 ---------------------- 2 files changed, 50 insertions(+), 73 deletions(-) create mode 100644 src/util/server/middleware/acceptMethod.js delete mode 100644 src/util/server/middleware/methodRouter.js diff --git a/src/util/server/middleware/acceptMethod.js b/src/util/server/middleware/acceptMethod.js new file mode 100644 index 000000000..0d6c4a3ce --- /dev/null +++ b/src/util/server/middleware/acceptMethod.js @@ -0,0 +1,50 @@ +import { HttpStatus, HttpMethod } from '@fuelrats/web-util/http' + +import { MethodNotAllowedAPIError } from '../errors' + + + + + +/** + * @param {...string} methods allowed request methods. + * @returns {Function} + */ +function acceptMethod (...methods) { + const allowedMethods = [HttpMethod.OPTIONS, ...methods] + + return (ctx, next) => { + const reqMethod = ctx.req.method.toUpperCase() + + if (reqMethod === HttpMethod.OPTIONS) { + ctx.__suppressWarnings = true + ctx.res.setHeader('Allow', allowedMethods.join(', ')) + ctx.res.status(HttpStatus.OK) + ctx.res.end('') + return undefined + } + + if (!allowedMethods.includes(reqMethod)) { + ctx.res.setHeader('Allow', allowedMethods.join(', ')) + throw new MethodNotAllowedAPIError({ + meta: { + allowedMethods, + }, + }) + } + + return next() + } +} + +acceptMethod.GET = acceptMethod.bind(null, HttpMethod.GET) +acceptMethod.POST = acceptMethod.bind(null, HttpMethod.POST) +acceptMethod.PUT = acceptMethod.bind(null, HttpMethod.PUT) +acceptMethod.PATCH = acceptMethod.bind(null, HttpMethod.PATCH) +acceptMethod.DELETE = acceptMethod.bind(null, HttpMethod.DELETE) + + + + + +export default acceptMethod diff --git a/src/util/server/middleware/methodRouter.js b/src/util/server/middleware/methodRouter.js deleted file mode 100644 index 9c6ab6578..000000000 --- a/src/util/server/middleware/methodRouter.js +++ /dev/null @@ -1,73 +0,0 @@ -import { MethodNotAllowedAPIError } from '../errors' - - -/** - * - * @param {string[]} allowedMethods list of allowed request methods. - * @returns {Function} - */ -function limitMethod (allowedMethods) { - return (ctx, next) => { - const reqMethod = ctx.req.method.toUpperCase() - - if (!allowedMethods.includes(reqMethod)) { - throw new MethodNotAllowedAPIError({ - meta: { - allowedMethods, - }, - }) - } - - return next() - } -} - - -/** - * - * @param {object} methodHandlers - * @param {Function?} methodHandlers.GET - * @param {Function?} methodHandlers.POST - * @param {Function?} methodHandlers.PUT - * @param {Function?} methodHandlers.PATCH - * @param {Function?} methodHandlers.DELETE - * @returns {Function} - */ -function methodRouter (methodHandlers) { - const allowedMethods = Object.keys(methodHandlers).map((name) => { - return name.toUpperCase() - }) - - return (ctx, next) => { - const reqMethod = ctx.req.method.toUpperCase() - - let handler = methodHandlers[reqMethod] - handler ??= reqMethod === 'PATCH' && methodHandlers.PUT // Try PUT if PATCH isn't defined - - if (!handler) { - ctx.res.setHeader('Allow', allowedMethods) - throw new MethodNotAllowedAPIError({ - meta: { - allowedMethods, - }, - }) - } - - return handler(ctx, next) - } -} - -methodRouter.GET = limitMethod.bind(null, ['GET']) -methodRouter.POST = limitMethod.bind(null, ['POST']) -methodRouter.PUT = limitMethod.bind(null, ['PUT', 'PATCH']) -methodRouter.PATCH = limitMethod.bind(null, ['PATCH']) -methodRouter.DELETE = limitMethod.bind(null, ['DELETE']) - - - - - -export default methodRouter -export { - limitMethod, -} From d65c0de35cfc15f7e29b1aa1f883fef038aa7a91 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 00:16:10 +0000 Subject: [PATCH 090/300] refactor: replace methodRouter with acceptMethod --- src/pages/api/qms/queue.js | 4 ++-- src/pages/api/stripe/checkout/donate.js | 4 ++-- src/pages/api/version.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/api/qms/queue.js b/src/pages/api/qms/queue.js index 11bca5963..1a6ff15a5 100644 --- a/src/pages/api/qms/queue.js +++ b/src/pages/api/qms/queue.js @@ -2,8 +2,8 @@ import { HttpStatus } from '@fuelrats/web-util/http' import axios from 'axios' import { InternalServerAPIError } from '~/util/server/errors' +import acceptMethod from '~/util/server/middleware/acceptMethod' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' -import methodRouter from '~/util/server/middleware/methodRouter' @@ -27,7 +27,7 @@ const cache = { export default jsonApiRoute( - methodRouter.GET(), + acceptMethod.GET(), async (ctx) => { const nowTime = Date.now() diff --git a/src/pages/api/stripe/checkout/donate.js b/src/pages/api/stripe/checkout/donate.js index e84f1eddc..2119a58d4 100644 --- a/src/pages/api/stripe/checkout/donate.js +++ b/src/pages/api/stripe/checkout/donate.js @@ -3,9 +3,9 @@ import stripeJs from 'stripe' import getEnv from '~/util/server/getEnv' +import acceptMethod from '~/util/server/middleware/acceptMethod' import ipFilter from '~/util/server/middleware/ipFilter' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' -import methodRouter from '~/util/server/middleware/methodRouter' import trafficController from '~/util/server/middleware/trafficController' @@ -55,7 +55,7 @@ const getDonationItemInfo = (amount) => { export default jsonApiRoute( ipFilter(), trafficController(), - methodRouter.POST(), + acceptMethod.POST(), async (ctx) => { const { body = {}, diff --git a/src/pages/api/version.js b/src/pages/api/version.js index 96ea49418..f7c1bb740 100644 --- a/src/pages/api/version.js +++ b/src/pages/api/version.js @@ -8,8 +8,8 @@ */ +import acceptMethod from '~/util/server/middleware/acceptMethod' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' -import methodRouter from '~/util/server/middleware/methodRouter' import pkgFile from '../../../package.json' @@ -26,7 +26,7 @@ const { version: appVersion } = pkgFile export default jsonApiRoute( - methodRouter.GET(), + acceptMethod.GET(), (ctx) => { ctx.send({ id: NEXT_BUILD_ID, From b3f60a6d89c378e900a2c3ed02148fd7dfe16525 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 05:52:33 +0000 Subject: [PATCH 091/300] chore: finalize next.config restructure. re-define DefinePlugin vars as a single namespace. --- .eslintrc.js | 3 + .next/publicRuntime.config.js | 26 +++++ .next/{redirects.js => redirects.config.js} | 0 .next/{rewrites.js => rewrites.config.js} | 0 .next/webpack.config.js | 38 ++++++ next.config.js | 101 ++++------------ typings/global.d.ts | 123 +++++++++++--------- 7 files changed, 157 insertions(+), 134 deletions(-) create mode 100644 .next/publicRuntime.config.js rename .next/{redirects.js => redirects.config.js} (100%) rename .next/{rewrites.js => rewrites.config.js} (100%) create mode 100644 .next/webpack.config.js diff --git a/.eslintrc.js b/.eslintrc.js index c1f556c96..498463849 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -12,6 +12,9 @@ module.exports = { '@fuelrats/eslint-config-react', 'plugin:@next/next/recommended', ], + globals: { + $$BUILD: 'readonly', + }, rules: { 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components. 'jsdoc/require-jsdoc': ['off'], // we'll get to it someday... diff --git a/.next/publicRuntime.config.js b/.next/publicRuntime.config.js new file mode 100644 index 000000000..df1b0decf --- /dev/null +++ b/.next/publicRuntime.config.js @@ -0,0 +1,26 @@ +// This information is PUBLIC. all env values are explicitly defined to prevent secret leakage. +// DO NOT BLINDLY DEFINE OBJECTS! I.E. `frapi: env.frapi,` +module.exports = (env) => { + return { + appUrl: env.appUrl, + frapi: { + url: env.frapi.proxy, + server: env.frapi.url, + socket: env.frapi.socket, + }, + edsm: { + url: env.edsm.proxy, + }, + wordpress: { + url: env.wordpress.proxy, + }, + stripe: { + url: env.stripe.url, + public: env.stripe.public, + }, + irc: { + client: env.irc.client, + rat: env.irc.rat, + }, + } +} diff --git a/.next/redirects.js b/.next/redirects.config.js similarity index 100% rename from .next/redirects.js rename to .next/redirects.config.js diff --git a/.next/rewrites.js b/.next/rewrites.config.js similarity index 100% rename from .next/rewrites.js rename to .next/rewrites.config.js diff --git a/.next/webpack.config.js b/.next/webpack.config.js new file mode 100644 index 000000000..c6261ba08 --- /dev/null +++ b/.next/webpack.config.js @@ -0,0 +1,38 @@ +/* eslint-disable import/no-extraneous-dependencies -- required dev dependencies are only loaded in development context */ +/* eslint-disable no-param-reassign -- reassign is intended for changing configs */ +/* eslint-env node */ +const { DefinePlugin } = require('webpack') + + + + + +module.exports = (env) => { + return (config, opt) => { + /* Define Plugin */ + config.plugins.push(new DefinePlugin({ + '$$BUILD.isDev': JSON.stringify(opt.dev), + '$$BUILD.isStaging': JSON.stringify(['develop', 'beta'].includes(env.git.branch)), + '$$BUILD.isProduction': JSON.stringify(!opt.dev && env.git.branch === 'release'), + '$$BUILD.branch': JSON.stringify(env.git.branch ?? null), + '$$BUILD.commit': JSON.stringify(env.git.commit ?? null), + '$$BUILD.commitShort': JSON.stringify(env.git.commitShort ?? env.git.branch), + '$$BUILD.date': JSON.stringify((new Date()).toISOString()), + '$$BUILD.url': JSON.stringify(`${env.git.server}/fuelrats/fuelrats.com/actions/runs/${env.git.ciId}`), + '$$BUILD.id': JSON.stringify(opt.buildId), + '$$BUILD.nodeVersion': JSON.stringify(process.version), + })) + + // Workaround to fix dev warning: https://github.com/vercel/next.js/issues/19865 + config.output.hotUpdateMainFilename = 'static/webpack/[fullhash].[runtime].hot-update.json' + + /* SVGR */ + config.module.rules.push({ + exclude: /node_modules/u, + test: /\.svg$/u, + loader: require.resolve('@svgr/webpack'), + }) + + return config + } +} diff --git a/next.config.js b/next.config.js index f950b8fcd..e7b37b83a 100644 --- a/next.config.js +++ b/next.config.js @@ -1,15 +1,13 @@ -/* eslint-disable import/no-extraneous-dependencies -- required dev dependencies are only loaded in development context */ -/* eslint-disable no-param-reassign -- reassign is intended for changing configs */ - /* eslint-env node */ -import crypto from 'crypto' -import path from 'path' -import url from 'url' -import { DefinePlugin } from 'webpack' +const crypto = require('crypto') +const path = require('path') +const url = require('url') -import redirects from './.next/redirects' -import rewrites from './.next/rewrites' -import getEnv from './src/util/server/getEnv' +const publicRuntimeConfig = require('./.next/publicRuntime.config') +const redirectsConfig = require('./.next/redirects.config') +const rewritesConfig = require('./.next/rewrites.config') +const webpackConfig = require('./.next/webpack.config') +const getEnv = require('./src/util/server/getEnv') @@ -17,29 +15,13 @@ import getEnv from './src/util/server/getEnv' const env = getEnv() -const { - GITHUB_REF, - GITHUB_RUN_ID, - GITHUB_SERVER_URL = 'https://github.com', - GITHUB_SHA, - CI, -} = process.env - -const COMMIT_HASH_LENGTH = 10 const DEV_BUILD_ID_LENGTH = 16 -const GIT_BRANCH = (GITHUB_REF || 'develop').replace(/^refs\/heads\//u, '').replace(/\//gu, '-') -const generateBuildId = () => { - const buildId = CI - ? GITHUB_SHA.toLowerCase() - : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() - return `${GIT_BRANCH}_${buildId}` -} -const next = { +module.exports = { distDir: path.join('dist', 'next'), - generateBuildId, + images: { disableStaticImages: true, domains: [ @@ -48,64 +30,23 @@ const next = { 'static-cdn.jtvnw.net', ], }, + eslint: { // Ignore ESLint in builds as our CI Takes care of this for us. ignoreDuringBuilds: true, }, - publicRuntimeConfig: { - // This information is PUBLIC. all env values are explicitly defined to prevent secret leakage. - // DO NOT BLINDLY DEFINE OBJECTS! I.E. `frapi: env.frapi,` - appUrl: env.appUrl, - frapi: { - url: env.frapi.proxy, - server: env.frapi.url, - socket: env.frapi.socket, - }, - edsm: { - url: env.edsm.proxy, - }, - wordpress: { - url: env.wordpress.proxy, - }, - stripe: { - url: env.stripe.url, - public: env.stripe.public, - }, - irc: { - client: env.irc.client, - rat: env.irc.rat, - }, - }, - redirects: redirects(env), - rewrites: rewrites(env), - webpack: (config, opt) => { - /* Define Plugin */ - config.plugins.push(new DefinePlugin({ - $IS_DEVELOPMENT: JSON.stringify(opt.dev), - $IS_STAGING: JSON.stringify(['develop', 'beta'].includes(GIT_BRANCH)), - $BUILD_BRANCH: JSON.stringify(GIT_BRANCH), - $BUILD_COMMIT: JSON.stringify(GITHUB_SHA || null), - $BUILD_COMMIT_SHORT: JSON.stringify((GITHUB_SHA && GITHUB_SHA.slice(0, COMMIT_HASH_LENGTH)) || GIT_BRANCH), - $BUILD_DATE: JSON.stringify((new Date()).toISOString()), - $BUILD_URL: JSON.stringify(`${GITHUB_SERVER_URL}/fuelrats/fuelrats.com/actions/runs/${GITHUB_RUN_ID}` || null), - $NEXT_BUILD_ID: JSON.stringify(opt.buildId), - $NODE_VERSION: JSON.stringify(process.version), - })) - // Workaround to fix dev warning: https://github.com/vercel/next.js/issues/19865 - config.output.hotUpdateMainFilename = 'static/webpack/[fullhash].[runtime].hot-update.json' + publicRuntimeConfig: publicRuntimeConfig(env), + redirects: redirectsConfig(env), + rewrites: rewritesConfig(env), + webpack: webpackConfig(env), - /* SVGR */ - config.module.rules.push({ - exclude: /node_modules/u, - test: /\.svg$/u, - loader: require.resolve('@svgr/webpack'), - }) + generateBuildId: () => { + const buildId = env.git.ci + ? env.git.commit + : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() - return config + return `${env.git.branch}_${buildId}` }, -} - - -export default next +} diff --git a/typings/global.d.ts b/typings/global.d.ts index 5ff27bc11..8d3613a57 100644 --- a/typings/global.d.ts +++ b/typings/global.d.ts @@ -2,70 +2,85 @@ // Project: fuelrats.com // Definitions by: Cameron Welter -/** - * Exposes `NODE_ENV` state to the server. - * - * ```javascript - * process.env.NODE_ENV !== 'production' - * ``` - */ -declare const $IS_DEVELOPMENT: Readonly; -/** - * Was CI build built from a staging branch. - */ -declare const $IS_STAGING: Readonly; -/** - * Branch the CI build is based on. - * - * `'develop'` in development. - */ -declare const $BUILD_BRANCH: Readonly; -/** - * Full hash of the git commit used for the CI build. - * - * `null` in development. - */ -declare const $BUILD_COMMIT: Readonly; -/** - * Shortened git commit hash. - * - * `'develop'` in development. - */ -declare const $BUILD_COMMIT_SHORT: Readonly; +declare namespace $$BUILD { + /** + * Exposes `NODE_ENV` state to the server. + * + * ```javascript + * process.env.NODE_ENV !== 'production' + * ``` + */ + declare const isDev: Readonly; + + /** + * Was CI build built from a staging branch. + */ + declare const isStaging: Readonly; + + /** + * Was CI build built from a production branch. + */ + declare const isProduction: Readonly; + + /** + * Branch the CI build is based on. + * + * `'develop'` in development. + */ + declare const branch: Readonly; + + /** + * Full hash of the git commit used for the CI build. + * + * `null` in development. + */ + declare const commit: Readonly; + + /** + * Shortened git commit hash. + * + * `'develop'` in development. + */ + declare const commitShort: Readonly; + + /** + * ISO 8601 UTC timestamp representing the Date & Time of the build. + */ + declare const date: Readonly; + + /** + * Web URL leading to build details page. + * + * `null` in development. + */ + declare const url: Readonly; + + /** + * ID which represents the current build. + * + * The value of `$$BUILD.commit` is used in CI Builds. + * A randomly generated 16 digit ID is used in development. + * + */ + declare const id: Readonly; + + /** + * NodeJS version used to build the project. + */ + declare const nodeVersion: Readonly; +} -/** - * ISO 8601 UTC timestamp representing the Date & Time of the build. - */ -declare const $BUILD_DATE: Readonly; -/** - * Web URL leading to build details page. - * - * `null` in development. - */ -declare const $BUILD_URL: Readonly; -/** - * ID which represents the current build. - * - * The value of `$BUILD_COMMIT` is used in CI Builds. - * A randomly generated 16 digit ID is used in development. - * - */ -declare const $NEXT_BUILD_ID: Readonly; -/** - * NodeJS version used to build the project. - */ -declare const $NODE_VERSION: Readonly; /** - * Module override for koa-compose. @types/koa-compose is koa-specific, while we are using this tool in a generic context. - */ +* Module override for koa-compose. @types/koa-compose is koa-specific, while we are using this tool in a generic context. +*/ declare module "koa-compose" { declare function NextFunc(): Promise; From e67cd7d46b8241688bb1d12edf10e21509e1b397 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 06:37:39 +0000 Subject: [PATCH 092/300] chore: remove unused $$BUILD var --- .next/webpack.config.js | 1 - typings/global.d.ts | 5 ----- 2 files changed, 6 deletions(-) diff --git a/.next/webpack.config.js b/.next/webpack.config.js index c6261ba08..c1f7e0f0a 100644 --- a/.next/webpack.config.js +++ b/.next/webpack.config.js @@ -12,7 +12,6 @@ module.exports = (env) => { /* Define Plugin */ config.plugins.push(new DefinePlugin({ '$$BUILD.isDev': JSON.stringify(opt.dev), - '$$BUILD.isStaging': JSON.stringify(['develop', 'beta'].includes(env.git.branch)), '$$BUILD.isProduction': JSON.stringify(!opt.dev && env.git.branch === 'release'), '$$BUILD.branch': JSON.stringify(env.git.branch ?? null), '$$BUILD.commit': JSON.stringify(env.git.commit ?? null), diff --git a/typings/global.d.ts b/typings/global.d.ts index 8d3613a57..3ed526db4 100644 --- a/typings/global.d.ts +++ b/typings/global.d.ts @@ -16,11 +16,6 @@ declare namespace $$BUILD { */ declare const isDev: Readonly; - /** - * Was CI build built from a staging branch. - */ - declare const isStaging: Readonly; - /** * Was CI build built from a production branch. */ From 3d2a04e72442dac2ea4a6d74ef46f204f8d4b5e6 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 06:39:14 +0000 Subject: [PATCH 093/300] refactor: use new $$BUILD vars --- .../Fieldsets/RegistrationEmailFieldset.js | 6 ++-- src/components/Header/Header.js | 8 ++--- src/helpers/gIPTools.js | 3 +- src/pages/api/version.js | 29 ++++--------------- src/store/index.js | 4 +-- 5 files changed, 12 insertions(+), 38 deletions(-) diff --git a/src/components/Fieldsets/RegistrationEmailFieldset.js b/src/components/Fieldsets/RegistrationEmailFieldset.js index d2bd9ab5e..84d23d85e 100644 --- a/src/components/Fieldsets/RegistrationEmailFieldset.js +++ b/src/components/Fieldsets/RegistrationEmailFieldset.js @@ -1,12 +1,10 @@ -/* global $IS_DEVELOPMENT, $IS_STAGING */ - import { forwardRef } from 'react' import EmailFieldset from './EmailFieldset' import { useValidationCallback } from './InputFieldset' -const isProduction = !$IS_DEVELOPMENT && !$IS_STAGING + const RegistrationEmailFieldset = forwardRef((props, ref) => { @@ -21,7 +19,7 @@ const RegistrationEmailFieldset = forwardRef((props, ref) => { const compareValue = value.toLowerCase().trim() if (compareValue === 'surly_badger@fuelrats.com') { messages.errors.push('While we appreciate your admiration for our founder, this email is most surely not your own.') - } else if (isProduction && compareValue.includes('@fuelrats')) { + } else if ($$BUILD.isProduction && compareValue.includes('@fuelrats')) { messages.errors.push('Fuel rats email accounts cannot be used to register a brand new account, goofball.') } }, diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js index b1b677700..1450416ea 100644 --- a/src/components/Header/Header.js +++ b/src/components/Header/Header.js @@ -1,5 +1,3 @@ -/* globals $IS_DEVELOPMENT:false, $IS_STAGING:false, $BUILD_COMMIT_SHORT:false */ - import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Link from 'next/link' import { useCallback, useRef } from 'react' @@ -18,8 +16,6 @@ import SocialIcon from './SocialIcon' // Component constants -const IS_DEV_OR_STAGING = $IS_DEVELOPMENT || $IS_STAGING -const BUILD_COMMIT_SHORT = $BUILD_COMMIT_SHORT @@ -131,10 +127,10 @@ function Header () { { - IS_DEV_OR_STAGING && ( + (!$$BUILD.isProduction) && ( - {BUILD_COMMIT_SHORT} + {$$BUILD.commitShort} ) } diff --git a/src/helpers/gIPTools.js b/src/helpers/gIPTools.js index 918856dc6..23644ef34 100644 --- a/src/helpers/gIPTools.js +++ b/src/helpers/gIPTools.js @@ -1,4 +1,3 @@ -/* global $IS_DEVELOPMENT:false */ import { HttpStatus } from '@fuelrats/web-util/http' import jsCookie from 'js-cookie' import nextCookies from 'next-cookies' @@ -93,7 +92,7 @@ export const resolvePageMeta = async (Component, ctx, pageProps) => { ...(await Component.getPageMeta?.(ctx, pageProps)) ?? {}, } - if ($IS_DEVELOPMENT) { + if ($$BUILD.isDev) { validatePageMeta(pageMeta) } diff --git a/src/pages/api/version.js b/src/pages/api/version.js index f7c1bb740..aa83525e5 100644 --- a/src/pages/api/version.js +++ b/src/pages/api/version.js @@ -1,25 +1,8 @@ -/* globals - $BUILD_BRANCH:false - $BUILD_COMMIT:false - $BUILD_DATE:false - $BUILD_URL:false - $NODE_VERSION:false - $NEXT_BUILD_ID:false -*/ - - import acceptMethod from '~/util/server/middleware/acceptMethod' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' import pkgFile from '../../../package.json' -const BUILD_BRANCH = $BUILD_BRANCH -const BUILD_COMMIT = $BUILD_COMMIT -const BUILD_DATE = $BUILD_DATE -const BUILD_URL = $BUILD_URL -const NODE_VERSION = $NODE_VERSION -const NEXT_BUILD_ID = $NEXT_BUILD_ID - const { version: appVersion } = pkgFile @@ -29,16 +12,16 @@ export default jsonApiRoute( acceptMethod.GET(), (ctx) => { ctx.send({ - id: NEXT_BUILD_ID, + id: $$BUILD.id, type: 'fr-web-builds', attributes: { - branch: BUILD_BRANCH ?? 'develop', - builtOn: BUILD_DATE ?? null, - builtAt: BUILD_URL ?? null, - commit: BUILD_COMMIT ?? null, + branch: $$BUILD.branch ?? 'develop', + builtOn: $$BUILD.date ?? null, + builtAt: $$BUILD.url ?? null, + commit: $$BUILD.commit ?? null, versions: { app: `v${appVersion}`, - node: NODE_VERSION, + node: $$BUILD.nodeVersion, }, }, }) diff --git a/src/store/index.js b/src/store/index.js index 32560193e..38fa6ee59 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,5 +1,3 @@ -/* globals $IS_DEVELOPMENT:false */ - import { errorLoggerMiddleware, FSAComplianceMiddleware } from '@fuelrats/web-util/redux-middleware' import { connect } from 'react-redux' import { @@ -63,7 +61,7 @@ const ignoredTypes = [ ] const middlewares = [thunkMiddleware, frSocket.createMiddleware(), errorLoggerMiddleware(ignoredTypes)] -if ($IS_DEVELOPMENT) { +if ($$BUILD.isDev) { middlewares.unshift(require('redux-immutable-state-invariant').default()) middlewares.push(FSAComplianceMiddleware) } From 3efdf5bba4f399629c8964d3a2d3b66e243efd8d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 2 Jul 2021 06:39:31 +0000 Subject: [PATCH 094/300] feat(getEnv-util): expose github vars for buildtime DefinePlugin --- src/util/server/getEnv.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/util/server/getEnv.js b/src/util/server/getEnv.js index 9b428d29b..9dd5c0ed9 100644 --- a/src/util/server/getEnv.js +++ b/src/util/server/getEnv.js @@ -4,6 +4,8 @@ function requireEnv (name) { throw new TypeError(`Expected required variable 'process.env.${name}' to be defined.`) } +const COMMIT_HASH_LENGTH = 10 + let env = null export default function getEnv () { @@ -13,6 +15,7 @@ export default function getEnv () { } const { + CI = false, PORT = 3000, APP_URL = requireEnv('APP_URL'), APP_PROXIED = false, @@ -29,6 +32,10 @@ export default function getEnv () { FR_STRIPE_API_SK, FR_STRIPE_BANS_FILE, FR_WORDPRESS_URL = 'https://wordpress.fuelrats.com', + GITHUB_REF = 'develop', + GITHUB_RUN_ID, + GITHUB_SERVER_URL = 'https://github.com', + GITHUB_SHA, QMS_API_URL = 'https://api.qms.fuelrats.dev', QMS_API_TOKEN, } = process.env @@ -68,6 +75,16 @@ export default function getEnv () { client: FR_CLIENT_IRC_URL, rat: FR_RAT_IRC_URL, }, + git: { + // Git CI vars. Will not typically be defined at runtime. + // These exist to be used by DefinePlugin at build time. + ci: CI, + ciId: GITHUB_RUN_ID, + server: GITHUB_SERVER_URL, + branch: GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? null, + commit: GITHUB_SHA?.toLowerCase() ?? null, + commitShort: GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase() ?? null, + }, } } From 32d33278267eee0112b00dca472dda649b175302 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 00:25:14 +0000 Subject: [PATCH 095/300] chore: move config files to .config as this is less confusing. --- .config/headers.config.js | 34 +++++++++++ {.next => .config}/publicRuntime.config.js | 0 {.next => .config}/redirects.config.js | 0 {.next => .config}/rewrites.config.js | 0 {.next => .config}/webpack.config.js | 0 .eslintrc.js | 2 +- .github/workflows/deploy.yml | 1 + next.config.js | 67 +++++++++++----------- 8 files changed, 71 insertions(+), 33 deletions(-) create mode 100644 .config/headers.config.js rename {.next => .config}/publicRuntime.config.js (100%) rename {.next => .config}/redirects.config.js (100%) rename {.next => .config}/rewrites.config.js (100%) rename {.next => .config}/webpack.config.js (100%) diff --git a/.config/headers.config.js b/.config/headers.config.js new file mode 100644 index 000000000..36b1ebf87 --- /dev/null +++ b/.config/headers.config.js @@ -0,0 +1,34 @@ +const nextSafe = require('next-safe') + + + + + +const isDev = process.env.NODE_ENV !== 'production' + +const domainWhitelist = [ + '*.fuelrats.com', + '*.stripe.com', + 'www.google.com', +] + +module.exports = (env) => { + return () => { + return [ + { + source: '/:path*', + headers: nextSafe({ + isDev, + contentSecurityPolicy: { + 'default-src': ["'self'", ...domainWhitelist, 'blob:'], + 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], + 'object-src': ["'self'"], + 'font-src': ["'self'", 'fonts.gstatic.com'], + 'style-src': ["'self'", "'unsafe-inline'", ...domainWhitelist, 'fonts.googleapis.com'], + 'img-src': ["'self'", ...domainWhitelist, '*.wp.com', 'blob:', 'data:'], + }, + }), + }, + ] + } +} diff --git a/.next/publicRuntime.config.js b/.config/publicRuntime.config.js similarity index 100% rename from .next/publicRuntime.config.js rename to .config/publicRuntime.config.js diff --git a/.next/redirects.config.js b/.config/redirects.config.js similarity index 100% rename from .next/redirects.config.js rename to .config/redirects.config.js diff --git a/.next/rewrites.config.js b/.config/rewrites.config.js similarity index 100% rename from .next/rewrites.config.js rename to .config/rewrites.config.js diff --git a/.next/webpack.config.js b/.config/webpack.config.js similarity index 100% rename from .next/webpack.config.js rename to .config/webpack.config.js diff --git a/.eslintrc.js b/.eslintrc.js index 498463849..b22792394 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -41,8 +41,8 @@ module.exports = { overrides: [ { files: [ + '.config/**/*.js', 'src/pages/api/**/*.js', - 'src/server/**/*.mjs', 'src/util/server/**/*.js', ], env: { diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index dc11d9bb6..8fe57875a 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -55,6 +55,7 @@ jobs: - name: Prepare artifact run: | tar -czf fuelrats-com.tar.gz \ + .config \ dist \ public \ scripts \ diff --git a/next.config.js b/next.config.js index e7b37b83a..131968d71 100644 --- a/next.config.js +++ b/next.config.js @@ -1,52 +1,55 @@ /* eslint-env node */ const crypto = require('crypto') -const path = require('path') const url = require('url') -const publicRuntimeConfig = require('./.next/publicRuntime.config') -const redirectsConfig = require('./.next/redirects.config') -const rewritesConfig = require('./.next/rewrites.config') -const webpackConfig = require('./.next/webpack.config') +const headersConfig = require('./.config/headers.config') +const publicRuntimeConfig = require('./.config/publicRuntime.config') +const redirectsConfig = require('./.config/redirects.config') +const rewritesConfig = require('./.config/rewrites.config') +const webpackConfig = require('./.config/webpack.config') const getEnv = require('./src/util/server/getEnv') - // Constants -const env = getEnv() +const DEV_BUILD_ID_LENGTH = 16 + -const DEV_BUILD_ID_LENGTH = 16 +module.exports = () => { + const env = getEnv() -module.exports = { - distDir: path.join('dist', 'next'), + return { + distDir: 'dist', - images: { - disableStaticImages: true, - domains: [ - url.parse(env.appUrl).hostname, // Ensure the public hostname is always allowed. - 'wordpress.fuelrats.com', - 'static-cdn.jtvnw.net', - ], - }, + images: { + disableStaticImages: true, + domains: [ + url.parse(env.appUrl).hostname, // Ensure the public hostname is always allowed. + 'wordpress.fuelrats.com', + 'static-cdn.jtvnw.net', + ], + }, - eslint: { - // Ignore ESLint in builds as our CI Takes care of this for us. - ignoreDuringBuilds: true, - }, + eslint: { + // Ignore ESLint in builds as our CI Takes care of this for us. + ignoreDuringBuilds: true, + }, - publicRuntimeConfig: publicRuntimeConfig(env), - redirects: redirectsConfig(env), - rewrites: rewritesConfig(env), - webpack: webpackConfig(env), + headers: headersConfig(env), + publicRuntimeConfig: publicRuntimeConfig(env), + redirects: redirectsConfig(env), + rewrites: rewritesConfig(env), + webpack: webpackConfig(env), - generateBuildId: () => { - const buildId = env.git.ci - ? env.git.commit - : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() + generateBuildId: () => { + const buildId = env.git.ci + ? env.git.commit + : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() - return `${env.git.branch}_${buildId}` - }, + return `${env.git.branch}_${buildId}` + }, + } } From 59ce304f5887d743e7c562b19acadd39fd164942 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 00:26:12 +0000 Subject: [PATCH 096/300] chore: remove remaining server files --- src/server/middlewares/fuelratsCSP.mjs | 77 -------------------------- src/server/server.mjs | 67 ---------------------- 2 files changed, 144 deletions(-) delete mode 100644 src/server/middlewares/fuelratsCSP.mjs delete mode 100644 src/server/server.mjs diff --git a/src/server/middlewares/fuelratsCSP.mjs b/src/server/middlewares/fuelratsCSP.mjs deleted file mode 100644 index 04b5d1c5f..000000000 --- a/src/server/middlewares/fuelratsCSP.mjs +++ /dev/null @@ -1,77 +0,0 @@ -import buildCSP from 'content-security-policy-builder' -import UUID from 'pure-uuid' - - - - - -// Constants -const UUID_VERSION_4 = 4 - -const headerKeys = [ - 'Content-Security-Policy', - 'X-Content-Security-Policy', - 'X-WebKit-CSP', -] - - -const domainWhitelist = [ - '*.fuelrats.com', - '*.stripe.com', - 'www.google.com', -] - - - - - -const fuelratsCSP = () => { - return async function koaCSP (ctx, next) { - const { - isDev, - appUrl, - api, - } = ctx.state.env - - const nonce = (new UUID(UUID_VERSION_4)).format() - - ctx.res.nonce = nonce - - const policyString = buildCSP({ - directives: { - defaultSrc: ["'self'", ...domainWhitelist, 'blob:'], - connectSrc: [ - "'self'", - 'wss://*.fuelrats.com', - api.url, - appUrl, - ...(isDev ? ['webpack://*'] : []), - ], - baseUri: ["'none'"], - scriptSrc: [ - "'self'", - `'nonce-${nonce}'`, - "'strict-dynamic'", - ...(isDev ? ["'unsafe-eval'"] : []), - ], - styleSrc: ["'self'", "'unsafe-inline'", ...domainWhitelist, 'fonts.googleapis.com'], - imgSrc: ["'self'", ...domainWhitelist, '*.wp.com', 'blob:', 'data:'], - mediaSrc: ["'self'"], - objectSrc: ["'self'"], - fontSrc: ["'self'", 'fonts.gstatic.com'], - }, - }) - - headerKeys.forEach((key) => { - ctx.response.set(key, policyString) - }) - - await next() - } -} - - - - - -export default fuelratsCSP diff --git a/src/server/server.mjs b/src/server/server.mjs deleted file mode 100644 index d0508277e..000000000 --- a/src/server/server.mjs +++ /dev/null @@ -1,67 +0,0 @@ -/* eslint-env node */ -'use strict' - -import Router from '@koa/router' -import Koa from 'koa' -import koaBody from 'koa-body' -import koaCompress from 'koa-compress' -import koaLogger from 'koa-logger' -import createNextServer from 'next' - -import getEnv from '../util/server/getEnv' -import fuelratsCSP from './middlewares/fuelratsCSP' - - - - - -// Constants -const env = getEnv() -const server = new Koa() -const router = new Router() - -const nextApp = createNextServer({ - dev: process.env.NODE_ENV !== 'production', -}) -const nextHandler = nextApp.getRequestHandler() - - - - - -async function init () { - // Prepare nextApp - await nextApp.prepare() - - // Set up console logger - server.use(koaLogger()) - - // Add CSP - server.use(fuelratsCSP()) - - // Compress responses - server.use(koaCompress()) - - // Parse request bodies - server.use(koaBody()) - - // Add routes - router.all('(.*)', async (ctx) => { - await nextHandler(ctx.req, ctx.res) - ctx.respond = false - }) - - server.use(async (ctx, next) => { - ctx.res.statusCode = 200 - await next() - }) - - server.use(router.routes()) - - // Start the server - server.listen(env.port, () => { - console.log('--- Ready') - }) -} - -init() From 0f7c51ba800c34dccdec10b499cdf4db2a5682e9 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 02:31:46 +0000 Subject: [PATCH 097/300] fix: disable bodyParser and enable externalResolver option for proxy paths also formatting --- src/pages/api/edsm/[[...slug]].js | 11 +++++++---- src/pages/api/fr/[[...slug]].js | 18 ++--------------- src/pages/api/fr/oauth2/revoke.js | 1 + src/pages/api/fr/oauth2/token.js | 8 +++++++- src/pages/api/wp/[[...slug]].js | 12 ++++++++---- src/util/server/apiProxy.js | 32 +++++++++++++++++++++---------- src/util/server/frApiProxy.js | 19 ++++++++++++++++++ 7 files changed, 66 insertions(+), 35 deletions(-) create mode 100644 src/util/server/frApiProxy.js diff --git a/src/pages/api/edsm/[[...slug]].js b/src/pages/api/edsm/[[...slug]].js index 8a9e7b29d..d84308a78 100644 --- a/src/pages/api/edsm/[[...slug]].js +++ b/src/pages/api/edsm/[[...slug]].js @@ -1,12 +1,15 @@ -import apiProxy from '~/util/server/apiProxy' +import apiProxy, { config } from '~/util/server/apiProxy' import getEnv from '~/util/server/getEnv' -const env = getEnv() + + export default apiProxy({ - target: env.edsm.url, + target: getEnv().edsm.url, pathRewrite: { - '^/api/edsm': '', + '^/api/edsm/': '/', }, }) + +export { config } diff --git a/src/pages/api/fr/[[...slug]].js b/src/pages/api/fr/[[...slug]].js index 2f2ad4a36..b6e1394da 100644 --- a/src/pages/api/fr/[[...slug]].js +++ b/src/pages/api/fr/[[...slug]].js @@ -1,22 +1,8 @@ -import apiProxy from '~/util/server/apiProxy' -import getEnv from '~/util/server/getEnv' +import frApiProxy, { config } from '~/util/server/frApiProxy' -const env = getEnv() - - - - -export function frApiProxy (opts = {}) { - return apiProxy({ - target: env.frapi.url, - pathRewrite: { - '^/api/fr': '', - }, - ...opts, - }) -} export default frApiProxy() +export { config } diff --git a/src/pages/api/fr/oauth2/revoke.js b/src/pages/api/fr/oauth2/revoke.js index 7644689b2..9e31c282f 100644 --- a/src/pages/api/fr/oauth2/revoke.js +++ b/src/pages/api/fr/oauth2/revoke.js @@ -1 +1,2 @@ export { default } from './token' +export { config } from '~/util/server/frApiProxy' diff --git a/src/pages/api/fr/oauth2/token.js b/src/pages/api/fr/oauth2/token.js index a487358a5..44cf2ecb5 100644 --- a/src/pages/api/fr/oauth2/token.js +++ b/src/pages/api/fr/oauth2/token.js @@ -1,11 +1,17 @@ +import frApiProxy, { config } from '~/util/server/frApiProxy' import getEnv from '~/util/server/getEnv' -import { frApiProxy } from '../[[...slug]]' + + const env = getEnv() + + + export default frApiProxy({ auth: `${env.frapi.clientId}:${env.frapi.clientSecret}`, }) +export { config } diff --git a/src/pages/api/wp/[[...slug]].js b/src/pages/api/wp/[[...slug]].js index b52998458..ad4d81895 100644 --- a/src/pages/api/wp/[[...slug]].js +++ b/src/pages/api/wp/[[...slug]].js @@ -1,11 +1,15 @@ -import apiProxy from '~/util/server/apiProxy' +import apiProxy, { config } from '~/util/server/apiProxy' import getEnv from '~/util/server/getEnv' -const env = getEnv() + + + export default apiProxy({ - target: env.wordpress.url, + target: getEnv()?.wordpress?.url, pathRewrite: { - '^/api/wp': '/wp-json/wp/v2', + '^/api/wp/': '/wp-json/wp/v2/', }, }) + +export { config } diff --git a/src/util/server/apiProxy.js b/src/util/server/apiProxy.js index e5cd195d2..42213e5ba 100644 --- a/src/util/server/apiProxy.js +++ b/src/util/server/apiProxy.js @@ -1,16 +1,28 @@ -import httpProxyMiddleware from 'next-http-proxy-middleware' +import { createProxyMiddleware } from 'http-proxy-middleware' -export default function apiProxy (...options) { - return (res, req) => { - return httpProxyMiddleware(req, res, { - changeOrigin: true, - secure: true, - xfwd: true, - ...options, - }) - } +const config = { + api: { + externalResolver: true, + bodyParser: false, + }, } + +function apiProxy (options) { + return createProxyMiddleware({ + changeOrigin: true, + secure: true, + xfwd: true, + ...options, + }) +} + + + + + +export default apiProxy +export { config } diff --git a/src/util/server/frApiProxy.js b/src/util/server/frApiProxy.js new file mode 100644 index 000000000..af376a120 --- /dev/null +++ b/src/util/server/frApiProxy.js @@ -0,0 +1,19 @@ +import apiProxy, { config } from './apiProxy' +import getEnv from './getEnv' + + + + + +export default function frApiProxy (opts = {}) { + console.log(getEnv()?.frapi?.url) + return apiProxy({ + target: getEnv()?.frapi?.url, + pathRewrite: { + '^/api/fr/': '/', + }, + ...opts, + }) +} + +export { config } From 7d60bd7226484b4dfa188a59fa7b63c37fbad9ad Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 03:02:14 +0000 Subject: [PATCH 098/300] chore: update deps, remove old files --- .babelrc.js | 2 - package.json | 51 +- rollup.config.js | 77 --- yarn.lock | 1344 ++++------------------------------------------ 4 files changed, 127 insertions(+), 1347 deletions(-) delete mode 100644 rollup.config.js diff --git a/.babelrc.js b/.babelrc.js index a30c6e0e4..342733d4b 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -17,7 +17,5 @@ module.exports = { [require.resolve('@fuelrats/babel-plugin-classnames'), { transformObjects: true, packageName: 'clsx' }], [require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }], require.resolve('@babel/plugin-proposal-export-default-from'), - require.resolve('@babel/plugin-proposal-export-namespace-from'), - require.resolve('@babel/plugin-proposal-optional-catch-binding'), ], } diff --git a/package.json b/package.json index 47e2c1a59..701b56ebb 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,10 @@ }, "scripts": { "add-contributor": "all-contributors add", - "build:next": "next build", - "build:server": "rollup --config", - "build": "yarn build:server && yarn build:next", - "start": "yarn node --inspect --harmony --trace-warnings dist/server.js", - "dev": "yarn install && yarn build:server && yarn start", + "build": "next build", + "start": "NODE_OPTIONS='-r dotenv/config' next start", + "dev:start": "DOTENV_CONFIG_PATH=.env.local node --inspect --trace-warnings -r dotenv/config ./node_modules/.bin/next dev", + "dev": "yarn install && yarn dev:start", "utoc": "doctoc $(grep --include=\\*.md --exclude-dir=node_modules -Rwl . -e 'START doctoc')", "lint:js": "eslint .", "lint:css": "stylelint \"src/**/*.scss\"", @@ -33,32 +32,26 @@ "@fuelrats/next-adorable-avatars": "^0.3.0", "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", - "@koa/router": "^10.0.0", "@next/eslint-plugin-next": "^11.0.1", "axios": "^0.21.1", "clsx": "^1.1.1", - "content-security-policy-builder": "^2.1.0", "date-fns": "^2.22.1", "date-fns-tz": "^1.1.4", "dotenv": "^10.0.0", "flux-standard-action": "^2.1.1", "framer-motion": "^4.1.17", "hoist-non-react-statics": "^3.3.2", + "http-proxy-middleware": "^2.0.1", "immer": "^9.0.3", "ip6addr": "^0.2.3", "js-cookie": "^2.2.1", "jsonfile": "^6.1.0", - "koa": "^2.13.1", - "koa-body": "^4.2.0", "koa-compose": "^4.1.0", - "koa-compress": "^5.0.1", - "koa-logger": "^3.2.1", - "koa-proxies": "0.12.1", "lodash": "^4.17.21", "next": "^11.0.1", "next-cookies": "^2.0.3", - "next-http-proxy-middleware": "^1.0.10", "next-redux-wrapper": "5.0.0", + "next-safe": "^3.0.1", "nprogress": "^0.2.0", "postcss": "^8.3.5", "postcss-easy-import": "^3.0.0", @@ -78,8 +71,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.157.0", - "ua-parser-js": "^0.7.28", + "stripe": "^8.160.0", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, @@ -87,38 +79,20 @@ "@babel/core": "^7.14.6", "@babel/eslint-parser": "^7.14.7", "@babel/eslint-plugin": "^7.14.5", - "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-decorators": "^7.14.5", "@babel/plugin-proposal-export-default-from": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-function-bind": "^7.14.5", - "@babel/plugin-proposal-function-sent": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-throw-expressions": "^7.14.5", - "@babel/plugin-transform-strict-mode": "^7.14.5", - "@babel/preset-env": "^7.14.7", - "@babel/runtime": "^7.14.6", "@fuelrats/babel-plugin-classnames": "^0.3.0", "@fuelrats/eslint-config": "^2.4.0-canary.6", "@fuelrats/eslint-config-react": "^2.4.0-canary.6", "@fuelrats/eslint-plugin": "^2.4.0-canary.8", "@fuelrats/stylelint-config": "^1.2.3", - "@rollup/plugin-babel": "^5.3.0", - "@rollup/plugin-commonjs": "^19.0.0", - "@rollup/plugin-node-resolve": "^13.0.0", "@svgr/webpack": "^5.5.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/ip6addr": "^0.2.2", "@types/js-cookie": "^2.2.6", "@types/jsonfile": "^6.0.0", - "@types/koa": "^2.13.3", - "@types/koa-compress": "^4.0.1", - "@types/koa-logger": "^3.1.1", - "@types/koa__router": "^8.0.4", "@types/lodash": "^4.14.170", - "@types/react": "^17.0.11", + "@types/react": "^17.0.13", "@types/react-dom": "^17.0.8", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", @@ -127,22 +101,19 @@ "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", "doctoc": "^2.0.1", - "eslint": "^7.29.0", + "eslint": "^7.30.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.4.0", + "eslint-plugin-jsdoc": "^35.4.1", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "rollup": "^2.52.3", - "rollup-plugin-cleaner": "^1.0.0", - "rollup-plugin-node-externals": "^2.2.0", "sass": "^1.35.1", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.40.0", + "webpack": "^5.42.0", "worker-loader": "^3.0.8" }, "engines": { diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 6fa2222c3..000000000 --- a/rollup.config.js +++ /dev/null @@ -1,77 +0,0 @@ -/* eslint-env node */ -import babel from '@rollup/plugin-babel' -import commonjs from '@rollup/plugin-commonjs' -import node from '@rollup/plugin-node-resolve' -import path from 'path' -import externals from 'rollup-plugin-node-externals' - - - - - -const isDev = process.env.NODE_ENV !== 'production' - - - - - -const babelConfig = { - babelrc: false, - babelHelpers: 'bundled', - presets: [ - [ - '@babel/env', - { - targets: { - node: '14', - }, - bugfixes: true, - shippedProposals: true, - loose: true, - }, - ], - ], - env: { - development: { - sourceMaps: true, - }, - production: { - sourceMaps: false, - }, - }, - plugins: [ - ['@babel/proposal-decorators', { legacy: true }], - ['@babel/proposal-class-properties', { loose: true }], - '@babel/proposal-export-default-from', - '@babel/proposal-export-namespace-from', - '@babel/proposal-function-bind', - '@babel/proposal-function-sent', - '@babel/proposal-logical-assignment-operators', - '@babel/proposal-numeric-separator', - '@babel/proposal-optional-catch-binding', - '@babel/proposal-throw-expressions', - '@babel/transform-strict-mode', - ], -} - - - - -const rollup = { - input: path.resolve(__dirname, 'src', 'server', 'server.mjs'), - output: { - file: path.resolve(__dirname, 'dist', 'server.js'), - format: 'cjs', - sourcemap: isDev, - }, - plugins: [ - externals({ - deps: true, - }), - node(), - commonjs(), - babel(babelConfig), - ], -} - -export default rollup diff --git a/yarn.lock b/yarn.lock index bdcb1b507..d0548b729 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,13 +55,6 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/compat-data@npm:7.14.7" - checksum: dcf7a72cb650206857a98cce1ab0973e67689f19afc3b30cabff6dbddf563f188d54d3b3f92a70c6bc1feb9049d8b2e601540e1d435b6866c77bffad0a441c9f - languageName: node - linkType: hard - "@babel/core@npm:7.14.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.6": version: 7.14.6 resolution: "@babel/core@npm:7.14.6" @@ -379,7 +372,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.1": +"@babel/helper-module-imports@npm:^7.12.1": version: 7.12.1 resolution: "@babel/helper-module-imports@npm:7.12.1" dependencies: @@ -747,19 +740,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.14.7" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/helper-remap-async-to-generator": ^7.14.5 - "@babel/plugin-syntax-async-generators": ^7.8.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 09343a79385615f8d5f95aaef7c44af5e899c82f030f3d73546c2ffffa567c0949f0405052d7e32f643c0eb2a23590a5050f4606855b3506246d3d60e46f32e3 - languageName: node - linkType: hard - "@babel/plugin-proposal-class-properties@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-class-properties@npm:7.14.5" @@ -834,31 +814,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-function-bind@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-proposal-function-bind@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/plugin-syntax-function-bind": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d84af967a86400196c5df4325a521414e4e91292d163a5ee336925c6a00d8975464fe79f32c07a1eceaf334920d31dad647a26e84a7bee3f67b6f968f0801cdf - languageName: node - linkType: hard - -"@babel/plugin-proposal-function-sent@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-proposal-function-sent@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/helper-wrap-function": ^7.14.5 - "@babel/plugin-syntax-function-sent": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 43fa723cd3e923ce28d4208a55be68c7fe2f983ea27a4d88c314cee595b1c58e4bf297f0aa98e8a5fbdd706302bb50d8d89e22e8a0d958366ccf0093a0ba3e35 - languageName: node - linkType: hard - "@babel/plugin-proposal-json-strings@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-json-strings@npm:7.14.5" @@ -922,21 +877,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.14.7" - dependencies: - "@babel/compat-data": ^7.14.7 - "@babel/helper-compilation-targets": ^7.14.5 - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a35192868166fb5a62003a56ce2c266f74ae680f1d9589652c4495145240dd138a9505301bb5adca069cb874d6f0f733dc2f3d1d05f71a06019735c29c4d1a11 - languageName: node - linkType: hard - "@babel/plugin-proposal-optional-catch-binding@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.14.5" @@ -988,18 +928,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-throw-expressions@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-proposal-throw-expressions@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/plugin-syntax-throw-expressions": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ed1e8f39a28ef55e1f6d7799423312db02f41f4d0c4ee1cb7707a7c26c992221df50df429cae6019a7df83f4a856394dc331a8c8fd3109182da181ebfbd00bbd - languageName: node - linkType: hard - "@babel/plugin-proposal-unicode-property-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.14.5" @@ -1101,28 +1029,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-function-bind@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-function-bind@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ffc7e4839f737b93d1c6d2206471d70c6162c73c69bdebfab16aaa250f1fb200ef9e64c3a217468437279241ebca609e6349c8af95ae9093f7f89c929459f676 - languageName: node - linkType: hard - -"@babel/plugin-syntax-function-sent@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-function-sent@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f11c335a317ad1ee1a722bb62f0ec4e1de57580571f67be312514eddfbc722bf01d74002d017daab9e662345e465cee9e5301ed5e52caaf5e2b8ccfc0b40d7aa - languageName: node - linkType: hard - "@babel/plugin-syntax-json-strings@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" @@ -1222,17 +1128,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-throw-expressions@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-throw-expressions@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 69803b09160559d4831b79966ab0fdc4cd3b683e18fa55d62edc6b5b5970fc6feb68c648d7c885d060fbd38533574ecb7deb07e26f4061e4ef6024f88e62d2b0 - languageName: node - linkType: hard - "@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" @@ -1329,17 +1224,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.14.7" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0b0cf8ed9fb92c53e3888c17402c4f1e8f329f05a759829b559df883b19b442d3950b7f319df419d0cff122ea76fc8b3b55779fdbb9e394e5f058419a8d5ba14 - languageName: node - linkType: hard - "@babel/plugin-transform-dotall-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-dotall-regex@npm:7.14.5" @@ -1497,17 +1381,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.14.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 3c68bc77cce387750ecd32d33e9ad0f0968245fbe03b36ec8dddc52bee3ee84757205db3b3b4fc605e055f08769312ef4dbf4a0c8adb8f02eb04b142ffcdf265 - languageName: node - linkType: hard - "@babel/plugin-transform-new-target@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-new-target@npm:7.14.5" @@ -1658,18 +1531,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.14.6": - version: 7.14.6 - resolution: "@babel/plugin-transform-spread@npm:7.14.6" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/helper-skip-transparent-expression-wrappers": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 20c11de962dd7ddab110d6c4ab9f3c0bea97393ce09cbe4e46be53182c3df0577eaf0e31aaa2d76344ae21ed3a3b7e779fe814b845d188e11a6031c619648b89 - languageName: node - linkType: hard - "@babel/plugin-transform-sticky-regex@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-sticky-regex@npm:7.14.5" @@ -1681,17 +1542,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-strict-mode@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-transform-strict-mode@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 22b4d23d0fe24aec870db751569a69d1e7a66faa5e88c9191c42872b26b05073c773aa02d0d188f97a8ff044bdaefbaf97ce30126bdc014bf879f45f13dfaacb - languageName: node - linkType: hard - "@babel/plugin-transform-template-literals@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-transform-template-literals@npm:7.14.5" @@ -1820,89 +1670,6 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/preset-env@npm:7.14.7" - dependencies: - "@babel/compat-data": ^7.14.7 - "@babel/helper-compilation-targets": ^7.14.5 - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/helper-validator-option": ^7.14.5 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.14.5 - "@babel/plugin-proposal-async-generator-functions": ^7.14.7 - "@babel/plugin-proposal-class-properties": ^7.14.5 - "@babel/plugin-proposal-class-static-block": ^7.14.5 - "@babel/plugin-proposal-dynamic-import": ^7.14.5 - "@babel/plugin-proposal-export-namespace-from": ^7.14.5 - "@babel/plugin-proposal-json-strings": ^7.14.5 - "@babel/plugin-proposal-logical-assignment-operators": ^7.14.5 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.14.5 - "@babel/plugin-proposal-numeric-separator": ^7.14.5 - "@babel/plugin-proposal-object-rest-spread": ^7.14.7 - "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 - "@babel/plugin-proposal-optional-chaining": ^7.14.5 - "@babel/plugin-proposal-private-methods": ^7.14.5 - "@babel/plugin-proposal-private-property-in-object": ^7.14.5 - "@babel/plugin-proposal-unicode-property-regex": ^7.14.5 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-transform-arrow-functions": ^7.14.5 - "@babel/plugin-transform-async-to-generator": ^7.14.5 - "@babel/plugin-transform-block-scoped-functions": ^7.14.5 - "@babel/plugin-transform-block-scoping": ^7.14.5 - "@babel/plugin-transform-classes": ^7.14.5 - "@babel/plugin-transform-computed-properties": ^7.14.5 - "@babel/plugin-transform-destructuring": ^7.14.7 - "@babel/plugin-transform-dotall-regex": ^7.14.5 - "@babel/plugin-transform-duplicate-keys": ^7.14.5 - "@babel/plugin-transform-exponentiation-operator": ^7.14.5 - "@babel/plugin-transform-for-of": ^7.14.5 - "@babel/plugin-transform-function-name": ^7.14.5 - "@babel/plugin-transform-literals": ^7.14.5 - "@babel/plugin-transform-member-expression-literals": ^7.14.5 - "@babel/plugin-transform-modules-amd": ^7.14.5 - "@babel/plugin-transform-modules-commonjs": ^7.14.5 - "@babel/plugin-transform-modules-systemjs": ^7.14.5 - "@babel/plugin-transform-modules-umd": ^7.14.5 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.14.7 - "@babel/plugin-transform-new-target": ^7.14.5 - "@babel/plugin-transform-object-super": ^7.14.5 - "@babel/plugin-transform-parameters": ^7.14.5 - "@babel/plugin-transform-property-literals": ^7.14.5 - "@babel/plugin-transform-regenerator": ^7.14.5 - "@babel/plugin-transform-reserved-words": ^7.14.5 - "@babel/plugin-transform-shorthand-properties": ^7.14.5 - "@babel/plugin-transform-spread": ^7.14.6 - "@babel/plugin-transform-sticky-regex": ^7.14.5 - "@babel/plugin-transform-template-literals": ^7.14.5 - "@babel/plugin-transform-typeof-symbol": ^7.14.5 - "@babel/plugin-transform-unicode-escapes": ^7.14.5 - "@babel/plugin-transform-unicode-regex": ^7.14.5 - "@babel/preset-modules": ^0.1.4 - "@babel/types": ^7.14.5 - babel-plugin-polyfill-corejs2: ^0.2.2 - babel-plugin-polyfill-corejs3: ^0.2.2 - babel-plugin-polyfill-regenerator: ^0.2.2 - core-js-compat: ^3.15.0 - semver: ^6.3.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ebebc20ada68c92b67375926021d576af3636a279aee7625c1e234880355c8669188483aecfff2d478c1caa9fcf18b569ea329060b479236b04baed2bdf796d5 - languageName: node - linkType: hard - "@babel/preset-modules@npm:^0.1.4": version: 0.1.4 resolution: "@babel/preset-modules@npm:0.1.4" @@ -1962,15 +1729,6 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.14.6": - version: 7.14.6 - resolution: "@babel/runtime@npm:7.14.6" - dependencies: - regenerator-runtime: ^0.13.4 - checksum: 927ffed7871f2ed29f967a8dad7a72aa10662f93b6735a89d664a161fa4dc2074b8947ca159a8a0a49cec9a71c8de473d7c2b22d3de0ee4d7dd06d24a7f98018 - languageName: node - linkType: hard - "@babel/runtime@npm:^7.9.2": version: 7.14.0 resolution: "@babel/runtime@npm:7.14.0" @@ -2139,14 +1897,14 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:^0.8.0-alpha.2": - version: 0.8.0-alpha.2 - resolution: "@es-joy/jsdoccomment@npm:0.8.0-alpha.2" +"@es-joy/jsdoccomment@npm:^0.8.0": + version: 0.8.0 + resolution: "@es-joy/jsdoccomment@npm:0.8.0" dependencies: comment-parser: ^1.1.5 esquery: ^1.4.0 - jsdoc-type-pratt-parser: 1.0.0-alpha.23 - checksum: cb6b06a8369f171f8dd5b9a3f74def4524e0d80a9c14a402246ff69a2a964a2ca3448c04e3cf5f99d6151aafa13272a96bd8b98d6857f9b217159c711fe09de1 + jsdoc-type-pratt-parser: 1.0.4 + checksum: f9477dd78cea6fb4080159d67ae5d08900f2db46a9bee5395a412a9eefa4fe08dce2eac1b4fcd6c89f0f9542899d18e136997f511a0131664d89f505cf4b41af languageName: node linkType: hard @@ -2349,16 +2107,21 @@ __metadata: languageName: node linkType: hard -"@koa/router@npm:^10.0.0": - version: 10.0.0 - resolution: "@koa/router@npm:10.0.0" +"@humanwhocodes/config-array@npm:^0.5.0": + version: 0.5.0 + resolution: "@humanwhocodes/config-array@npm:0.5.0" dependencies: + "@humanwhocodes/object-schema": ^1.2.0 debug: ^4.1.1 - http-errors: ^1.7.3 - koa-compose: ^4.1.0 - methods: ^1.1.2 - path-to-regexp: ^6.1.0 - checksum: 8185f3edede3aaec9617e4f7c5d14e5b85de20320d04d19c623b9ed8535e63dcd86a9422e746c873aab68d6dec72f0fc52db90bbd9662da6567e801f2e1534e7 + minimatch: ^3.0.4 + checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.0": + version: 1.2.0 + resolution: "@humanwhocodes/object-schema@npm:1.2.0" + checksum: 40b75480376de8104d65f7c44a7dd76d30fb57823ca8ba3a3239b2b568323be894d93440578a72fd8e5e2cc3df3577ce0d2f0fe308b990dd51cf35392bf3c9a2 languageName: node linkType: hard @@ -2445,69 +2208,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:^5.3.0": - version: 5.3.0 - resolution: "@rollup/plugin-babel@npm:5.3.0" - dependencies: - "@babel/helper-module-imports": ^7.10.4 - "@rollup/pluginutils": ^3.1.0 - peerDependencies: - "@babel/core": ^7.0.0 - "@types/babel__core": ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - "@types/babel__core": - optional: true - checksum: 6cfd741790f125968cbd0fc91b6f54e235033e31853a12190f725ccf95a6eb2f1387b6368be80dedfa94536d2e84739e7af45c8b2fe7a450e91c2aeb6170867d - languageName: node - linkType: hard - -"@rollup/plugin-commonjs@npm:^19.0.0": - version: 19.0.0 - resolution: "@rollup/plugin-commonjs@npm:19.0.0" - dependencies: - "@rollup/pluginutils": ^3.1.0 - commondir: ^1.0.1 - estree-walker: ^2.0.1 - glob: ^7.1.6 - is-reference: ^1.2.1 - magic-string: ^0.25.7 - resolve: ^1.17.0 - peerDependencies: - rollup: ^2.38.3 - checksum: 83216ccd83c205f5b6ce278ce5233289a1ebf47fd859d6349d738b58e967bbb845395011f8605cf6a74175b728ed3b97fbfd9169bd0391caf5ee80c523652815 - languageName: node - linkType: hard - -"@rollup/plugin-node-resolve@npm:^13.0.0": - version: 13.0.0 - resolution: "@rollup/plugin-node-resolve@npm:13.0.0" - dependencies: - "@rollup/pluginutils": ^3.1.0 - "@types/resolve": 1.17.1 - builtin-modules: ^3.1.0 - deepmerge: ^4.2.2 - is-module: ^1.0.0 - resolve: ^1.19.0 - peerDependencies: - rollup: ^2.42.0 - checksum: c0237e65f50d593efc176e07a2ddf734918bc7344f739fe2254a3bfaa4be37c6d4787d045ab79d741811d3658f7e8bbb1484e6aa25bbb9fe2a3c33472b3f371d - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": 0.0.39 - estree-walker: ^1.0.1 - picomatch: ^2.2.2 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa - languageName: node - linkType: hard - "@stylelint/postcss-css-in-js@npm:^0.37.2": version: 0.37.2 resolution: "@stylelint/postcss-css-in-js@npm:0.37.2" @@ -2686,41 +2386,6 @@ __metadata: languageName: node linkType: hard -"@types/accepts@npm:*": - version: 1.3.5 - resolution: "@types/accepts@npm:1.3.5" - dependencies: - "@types/node": "*" - checksum: 590b7580570534a640510c071e09074cf63b5958b237a728f94322567350aea4d239f8a9d897a12b15c856b992ee4d7907e9812bb079886af2c00714e7fb3f60 - languageName: node - linkType: hard - -"@types/body-parser@npm:*": - version: 1.19.0 - resolution: "@types/body-parser@npm:1.19.0" - dependencies: - "@types/connect": "*" - "@types/node": "*" - checksum: 15043566f1909e2a08dabb0a5d2642f8988545a1369bc5995fc40ee90c95200da2aa66f9240fcb19fc6af6ff4e27ff453f311b49363c14bb308c308c0751ca9b - languageName: node - linkType: hard - -"@types/connect@npm:*": - version: 3.4.33 - resolution: "@types/connect@npm:3.4.33" - dependencies: - "@types/node": "*" - checksum: 1220403e0cd05c6f51c03b83eed0f4e086f252d50c13279effd38d8bfea5cae82db012b134d31004cb8e4705f83d8ad62dddd71028baa190bf6f31c8d9ac916b - languageName: node - linkType: hard - -"@types/content-disposition@npm:*": - version: 0.5.3 - resolution: "@types/content-disposition@npm:0.5.3" - checksum: 1b15b7af33619b2f2360501f6a4ecd68f03a70a138b28a0e2c02b7da7718cbfbf53256bc082ae161fd050358aff904f7c8ddf8b9dd96afe8a3c77ca581f9bc0a - languageName: node - linkType: hard - "@types/cookie@npm:^0.3.3": version: 0.3.3 resolution: "@types/cookie@npm:0.3.3" @@ -2728,18 +2393,6 @@ __metadata: languageName: node linkType: hard -"@types/cookies@npm:*": - version: 0.7.4 - resolution: "@types/cookies@npm:0.7.4" - dependencies: - "@types/connect": "*" - "@types/express": "*" - "@types/keygrip": "*" - "@types/node": "*" - checksum: 4be22cf6322092b290e79ec33933ce09fe7166409fe051c6e56031bc51ed96d944a660379aa9eda7028692117342c0348ea69a73ff6e63dea8e2e0e61ff32cb9 - languageName: node - linkType: hard - "@types/eslint-scope@npm:^3.7.0": version: 3.7.0 resolution: "@types/eslint-scope@npm:3.7.0" @@ -2767,13 +2420,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 - languageName: node - linkType: hard - "@types/estree@npm:^0.0.47": version: 0.0.47 resolution: "@types/estree@npm:0.0.47" @@ -2781,43 +2427,10 @@ __metadata: languageName: node linkType: hard -"@types/events@npm:*": - version: 3.0.0 - resolution: "@types/events@npm:3.0.0" - checksum: 9a424c2da210957d5636e0763e8c9fc3aaeee35bf411284ddec62a56a6abe31de9c7c2e713dabdd8a76ff98b47db2bd52f61310be6609641d6234cc842ecbbe3 - languageName: node - linkType: hard - -"@types/express-serve-static-core@npm:*": - version: 4.17.13 - resolution: "@types/express-serve-static-core@npm:4.17.13" - dependencies: - "@types/node": "*" - "@types/qs": "*" - "@types/range-parser": "*" - checksum: 9e8f75956c214fccaac8e4370a19cc4494f9f6c0326360a8a198161f92e9845c6a845002978b1e57a4bd6c0c1a5820d6be58b6796214bd7fcc6216baa7366d7b - languageName: node - linkType: hard - -"@types/express@npm:*": - version: 4.17.8 - resolution: "@types/express@npm:4.17.8" - dependencies: - "@types/body-parser": "*" - "@types/express-serve-static-core": "*" - "@types/qs": "*" - "@types/serve-static": "*" - checksum: ca265de4f9deb7eea2babd66d7f4069ca49202b69db48fb2e805998a8574ac1d186989de7920e66d4a97740228205f62f8c5821283756cf55bb2115ca2f5b901 - languageName: node - linkType: hard - -"@types/formidable@npm:^1.0.31": - version: 1.0.31 - resolution: "@types/formidable@npm:1.0.31" - dependencies: - "@types/events": "*" - "@types/node": "*" - checksum: 025f59bf8b917cdfd794379a8acd0012481a63fa6ac307033d3b1f0935e002b0cddee67476a7dd988d27cc288d0ca9fdda4b13700525acfdae44b62a70115736 +"@types/estree@npm:^0.0.48": + version: 0.0.48 + resolution: "@types/estree@npm:0.0.48" + checksum: 5062c9a65d3b4020df54741ec7e697ad516bb446a1f8823bd7990544cf6221ab6facf8dd7ad1c79753a5dde5ecb6a9bc4ffcaa1123dba1119566887732cc39fb languageName: node linkType: hard @@ -2831,26 +2444,12 @@ __metadata: languageName: node linkType: hard -"@types/http-assert@npm:*": - version: 1.5.1 - resolution: "@types/http-assert@npm:1.5.1" - checksum: 803633eeca6b2d043565960a891718a7632ad89a38959b67f40ad0fd20a639664b19332c6a9bae203ed0e7679b238d0a76d98bc68ba076cfcf450bbf244aa03b - languageName: node - linkType: hard - -"@types/http-errors@npm:*": - version: 1.8.0 - resolution: "@types/http-errors@npm:1.8.0" - checksum: 72b4721a2894f045202b005833d49afe085dc44cf6abc083a081676f0ec6ff812f150ad40704d1409e268b33d4fe1fd32264d5583e2e3cbb55eb97bb4afd3c13 - languageName: node - linkType: hard - -"@types/http-proxy@npm:1.17.3": - version: 1.17.3 - resolution: "@types/http-proxy@npm:1.17.3" +"@types/http-proxy@npm:^1.17.5": + version: 1.17.6 + resolution: "@types/http-proxy@npm:1.17.6" dependencies: "@types/node": "*" - checksum: 92edcd434a8933575acd341a3076ecb8591db4e1aeaec35d55979b77047b3bca0f8f5900a9c7aa75de2dbb2eb2a8a6cb9406277b290b58532ec4488a2bc237a1 + checksum: 05b3402d75e383ae14fa1ab5088d62992d93e5c1c6d9a50b9a27e135354937367cdf30b721d49d2dafbb8325e3d65d7a4a86035a8d3598b6598124a29d6c7446 languageName: node linkType: hard @@ -2898,82 +2497,6 @@ __metadata: languageName: node linkType: hard -"@types/keygrip@npm:*": - version: 1.0.2 - resolution: "@types/keygrip@npm:1.0.2" - checksum: 60bc2738a4f107070ee3d96f44709cb38f3a96c7ccabab09f56c1b2b4d85f869fd8fb9f1f2937e863d0e9e781f005c2223b823bf32b859185b4f52370c352669 - languageName: node - linkType: hard - -"@types/koa-compose@npm:*": - version: 3.2.5 - resolution: "@types/koa-compose@npm:3.2.5" - dependencies: - "@types/koa": "*" - checksum: 5d1147c4b057eb158195f442f0384f06503f3e69dba99fb517b30a05261a9f92928945c12bb1cfc17a5b7d60db003f38b455a3a9b125f12e4fc81fffa396b3cf - languageName: node - linkType: hard - -"@types/koa-compress@npm:^4.0.1": - version: 4.0.1 - resolution: "@types/koa-compress@npm:4.0.1" - dependencies: - "@types/koa": "*" - "@types/node": "*" - checksum: 48d25ad42d95d75ab3213835aa40b4748699e38eda7c2a44be2178b3f7242d224620da901402d24f9adb221344f004339b56a0d3c28c12f3e5896c4e48e3d87d - languageName: node - linkType: hard - -"@types/koa-logger@npm:^3.1.1": - version: 3.1.1 - resolution: "@types/koa-logger@npm:3.1.1" - dependencies: - "@types/koa": "*" - checksum: c410d2adaa299d18d4482abd4254a0d2dc55b61a00c3ac32ec8d599f9dc81418cb766ec711ea7016dbb145594f7b8b01f650713508c3553d715bcc56e9ed236a - languageName: node - linkType: hard - -"@types/koa@npm:*": - version: 2.11.5 - resolution: "@types/koa@npm:2.11.5" - dependencies: - "@types/accepts": "*" - "@types/content-disposition": "*" - "@types/cookies": "*" - "@types/http-assert": "*" - "@types/http-errors": "*" - "@types/keygrip": "*" - "@types/koa-compose": "*" - "@types/node": "*" - checksum: aa4fed30a015a762beaddab28df8fcddb40342a046a9ef99c680caecad7e100d8d1a03f2c4f403694d003ca5ce822dc0564867944e7e2861003a9788cf0e8d85 - languageName: node - linkType: hard - -"@types/koa@npm:^2.13.3": - version: 2.13.3 - resolution: "@types/koa@npm:2.13.3" - dependencies: - "@types/accepts": "*" - "@types/content-disposition": "*" - "@types/cookies": "*" - "@types/http-assert": "*" - "@types/http-errors": "*" - "@types/keygrip": "*" - "@types/koa-compose": "*" - "@types/node": "*" - checksum: d7d7e67669175bff864b0ba155020dd93dcde4178ffbb5a1e7184fd0d1b368f73bc230baa84e05cf0c6db257f4d8f71266f069683cd8b4819fe58c89949da3a9 - languageName: node - linkType: hard - -"@types/koa__router@npm:^8.0.4": - version: 8.0.4 - resolution: "@types/koa__router@npm:8.0.4" - dependencies: - "@types/koa": "*" - checksum: 6347028866f16efe32596ee1311204468c18057f219054a514f323f9acb80e2f7dd09c811e8319de40973423c97b5c0ad9a970d1ac3e51e8ddf0d3bf51d91a5a - languageName: node - linkType: hard - "@types/lodash@npm:^4.14.170": version: 4.14.170 resolution: "@types/lodash@npm:4.14.170" @@ -2990,13 +2513,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:*": - version: 2.0.3 - resolution: "@types/mime@npm:2.0.3" - checksum: 1f4f144423e149f300438f7cdca9b308d7a18a944e63f5ddf262558208a22a64c8e79b6973d602d86928e19052b3256b492429951b34d037242bb1bdfddae388 - languageName: node - linkType: hard - "@types/minimist@npm:^1.2.0": version: 1.2.0 resolution: "@types/minimist@npm:1.2.0" @@ -3039,20 +2555,6 @@ __metadata: languageName: node linkType: hard -"@types/qs@npm:*": - version: 6.9.5 - resolution: "@types/qs@npm:6.9.5" - checksum: eeb4597a9c5d3e7b3da3f6395fdfc53e435b79c863fd9d56ff14951e644d51d40870a7d8440c0f132299469941d27817b04ef3c7aa71242115eded0953f4f620 - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.3 - resolution: "@types/range-parser@npm:1.2.3" - checksum: a0a4218214d2c599e2128a8965e9183d1f0b8fc614def43a2183cf80534d10fcf86357c823c7907e779df0ab048fd1fa3818b4c8f0f6f99ba150a3f99df7d03d - languageName: node - linkType: hard - "@types/react-dom@npm:^17.0.8": version: 17.0.8 resolution: "@types/react-dom@npm:17.0.8" @@ -3084,23 +2586,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.11": - version: 17.0.11 - resolution: "@types/react@npm:17.0.11" +"@types/react@npm:^17.0.13": + version: 17.0.13 + resolution: "@types/react@npm:17.0.13" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 89e80ee8e08988abca0266e5e131f57b2e18f326bebfa0ed0a06b0bca29621a5a8202d617254a053f659b9c18090c52cae0aa475a6c6036b8858030f1d448e47 - languageName: node - linkType: hard - -"@types/resolve@npm:1.17.1": - version: 1.17.1 - resolution: "@types/resolve@npm:1.17.1" - dependencies: - "@types/node": "*" - checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 + checksum: 8e25aaeac17c48e1f60544dc583c3ea770cd3d3ffdea944a1da3069db6a7d3a374d3a8bdac726150404318203c1b564135ce93e3b69bd5c06d7f262463b5525d languageName: node linkType: hard @@ -3111,16 +2604,6 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:*": - version: 1.13.5 - resolution: "@types/serve-static@npm:1.13.5" - dependencies: - "@types/express-serve-static-core": "*" - "@types/mime": "*" - checksum: 82d93129d097cf8c94348e7c1fef65e3d5838775f6fa6a2e3240a57a0dc8fd8dc57cf535223acee36f8c242e6bda97ce2a5dccf57fbad408498ab71492144b8a - languageName: node - linkType: hard - "@types/ua-parser-js@npm:^0.7.36": version: 0.7.36 resolution: "@types/ua-parser-js@npm:0.7.36" @@ -3325,16 +2808,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.5": - version: 1.3.7 - resolution: "accepts@npm:1.3.7" - dependencies: - mime-types: ~2.1.24 - negotiator: 0.6.2 - checksum: 27fc8060ffc69481ff6719cd3ee06387d2b88381cb0ce626f087781bbd02201a645a9febc8e7e7333558354b33b1d2f922ad13560be4ec1b7ba9e76fc1c1241d - languageName: node - linkType: hard - "acorn-jsx@npm:^5.2.0, acorn-jsx@npm:^5.3.1": version: 5.3.1 resolution: "acorn-jsx@npm:5.3.1" @@ -3362,6 +2835,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.4.1": + version: 8.4.1 + resolution: "acorn@npm:8.4.1" + bin: + acorn: bin/acorn + checksum: 0a8fd264349285aa36194b26a5a9d70c3641e78ad459ec44b9a9a5738e0ce6d86ec120ca2c0f04477165cee912fdeb158f62d6582697185c82278bdbf71187f8 + languageName: node + linkType: hard + "ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" @@ -3457,13 +2939,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.1.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de - languageName: node - linkType: hard - "anymatch@npm:~3.1.1": version: 3.1.1 resolution: "anymatch@npm:3.1.1" @@ -4077,13 +3552,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.1.0": - version: 3.1.0 - resolution: "builtin-modules@npm:3.1.0" - checksum: 954d8004f21961c92218eab15a02d3cea1c6c19312a8228546cdd8feae1dafc1aaa4746c2a8f9be9df15255756cc622fde702ce0ef8a319abfe1a505ca99f38d - languageName: node - linkType: hard - "builtin-modules@npm:^3.2.0": version: 3.2.0 resolution: "builtin-modules@npm:3.2.0" @@ -4098,23 +3566,13 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.0, bytes@npm:^3.0.0, bytes@npm:^3.1.0": +"bytes@npm:3.1.0": version: 3.1.0 resolution: "bytes@npm:3.1.0" checksum: 7c3b21c5d9d44ed455460d5d36a31abc6fa2ce3807964ba60a4b03fd44454c8cf07bb0585af83bfde1c5cc2ea4bbe5897bc3d18cd15e0acf25a3615a35aba2df languageName: node linkType: hard -"cache-content-type@npm:^1.0.0": - version: 1.0.1 - resolution: "cache-content-type@npm:1.0.1" - dependencies: - mime-types: ^2.1.18 - ylru: ^1.2.0 - checksum: 18db4d59452669ccbfd7146a1510a37eb28e9eccf18ca7a4eb603dff2edc5cccdca7498fc3042a2978f76f11151fba486eb9eb69d9afa3fb124957870aef4fd3 - languageName: node - linkType: hard - "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -4308,25 +3766,6 @@ __metadata: languageName: node linkType: hard -"co-body@npm:^5.1.1": - version: 5.2.0 - resolution: "co-body@npm:5.2.0" - dependencies: - inflation: ^2.0.0 - qs: ^6.4.0 - raw-body: ^2.2.0 - type-is: ^1.6.14 - checksum: 48e1ffe00b8717b68154a939fa19f36d75aa66bba627f2977f28d11b732da56bdda445acda7053f7a85dfbac8a09a8aa257bceedaff7b6467cb25ab08ada9c8d - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 - languageName: node - linkType: hard - "coa@npm:^2.0.2": version: 2.0.2 resolution: "coa@npm:2.0.2" @@ -4448,15 +3887,6 @@ __metadata: languageName: node linkType: hard -"compressible@npm:^2.0.0": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: ">= 1.43.0 < 2" - checksum: 58321a85b375d39230405654721353f709d0c1442129e9a17081771b816302a012471a9b8f4864c7dbe02eef7f2aaac3c614795197092262e94b409c9be108f0 - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -4492,29 +3922,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:~0.5.2": - version: 0.5.3 - resolution: "content-disposition@npm:0.5.3" - dependencies: - safe-buffer: 5.1.2 - checksum: 95bf164c0b0b8199d3f44b7631e51b37f683c6a90b9baa4315bd3d405a6d1bc81b7346f0981046aa004331fb3d7a28b629514d01fc209a5251573fc7e4d33380 - languageName: node - linkType: hard - -"content-security-policy-builder@npm:^2.1.0": - version: 2.1.0 - resolution: "content-security-policy-builder@npm:2.1.0" - checksum: 375944b11164c20bbe74d434f6cbd144124b49669c5761e313f4397ee1f2405ac608cbaa763a2d138fdd4c8dbe6a5a813fefcf87c9cc5dfc451fcc5650776281 - languageName: node - linkType: hard - -"content-type@npm:^1.0.4": - version: 1.0.4 - resolution: "content-type@npm:1.0.4" - checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 - languageName: node - linkType: hard - "convert-source-map@npm:1.7.0, convert-source-map@npm:^1.7.0": version: 1.7.0 resolution: "convert-source-map@npm:1.7.0" @@ -4531,16 +3938,6 @@ __metadata: languageName: node linkType: hard -"cookies@npm:~0.8.0": - version: 0.8.0 - resolution: "cookies@npm:0.8.0" - dependencies: - depd: ~2.0.0 - keygrip: ~1.1.0 - checksum: 806055a44f128705265b1bc6a853058da18bf80dea3654ad99be20985b1fa1b14f86c1eef73644aab8071241f8a78acd57202b54c4c5c70769fc694fbb9c4edc - languageName: node - linkType: hard - "copy-to-clipboard@npm:^3": version: 3.3.1 resolution: "copy-to-clipboard@npm:3.3.1" @@ -4560,16 +3957,6 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.15.0": - version: 3.15.1 - resolution: "core-js-compat@npm:3.15.1" - dependencies: - browserslist: ^4.16.6 - semver: 7.0.0 - checksum: cf2fb3406c7fd82edee3ccf9e55e538cf75da79845d5dbffaf979cb9e73e26943ee6e7d07c5cbc50c5909fba1c5a4ca499d0f249fdb491da45b40f8584a4c761 - languageName: node - linkType: hard - "core-js-compat@npm:^3.9.1": version: 3.12.1 resolution: "core-js-compat@npm:3.12.1" @@ -4917,15 +4304,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:~3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: 2.0.0 - checksum: 0b52718ab957254a5b3ca07fc34543bc778f358620c206a08452251eb7fc193c3ea3505072acbf4350219c14e2d71ceb7bdaa0d3370aa630b50da790458d08b3 - languageName: node - linkType: hard - "decamelize-keys@npm:^1.1.0": version: 1.1.0 resolution: "decamelize-keys@npm:1.1.0" @@ -4952,13 +4330,6 @@ __metadata: languageName: node linkType: hard -"deep-equal@npm:~1.0.1": - version: 1.0.1 - resolution: "deep-equal@npm:1.0.1" - checksum: 5af8cbfcebf190491878a498caccc7dc9592f8ebd1685b976eacc3825619d222b5e929923163b92c4f414494e2b884f7ebf00c022e8198e8292deb70dd9785f4 - languageName: node - linkType: hard - "deep-extend@npm:^0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -5003,13 +4374,6 @@ __metadata: languageName: node linkType: hard -"depd@npm:^2.0.0, depd@npm:~2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a - languageName: node - linkType: hard - "depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" @@ -5027,13 +4391,6 @@ __metadata: languageName: node linkType: hard -"destroy@npm:^1.0.4": - version: 1.0.4 - resolution: "destroy@npm:1.0.4" - checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 - languageName: node - linkType: hard - "detect-libc@npm:^1.0.3": version: 1.0.3 resolution: "detect-libc@npm:1.0.3" @@ -5202,13 +4559,6 @@ __metadata: languageName: node linkType: hard -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.3.571": version: 1.3.582 resolution: "electron-to-chromium@npm:1.3.582" @@ -5280,13 +4630,6 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:^1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c - languageName: node - linkType: hard - "encoding@npm:0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5480,13 +4823,6 @@ __metadata: languageName: node linkType: hard -"escape-html@npm:^1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 - languageName: node - linkType: hard - "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -5555,11 +4891,11 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.4.0": - version: 35.4.0 - resolution: "eslint-plugin-jsdoc@npm:35.4.0" +"eslint-plugin-jsdoc@npm:^35.4.1": + version: 35.4.1 + resolution: "eslint-plugin-jsdoc@npm:35.4.1" dependencies: - "@es-joy/jsdoccomment": ^0.8.0-alpha.2 + "@es-joy/jsdoccomment": ^0.8.0 comment-parser: 1.1.5 debug: ^4.3.1 esquery: ^1.4.0 @@ -5570,7 +4906,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 8d7b29190e208fa81ddae89ce7ae50a83fa0b91ecefbdc964c88117b51cbfbf0028092d620ca5eaedf8b8ed5b1d1062fbe2c5bf21ac75872c79f8ae577d6b8c4 + checksum: ce37a59bfdacfd75c75057ac523a0a96e86f54b647ffe5883839c2b35138ba4275cc2c53d8d2a060b694e90f3a82b964ad34de0f0359c61031d42c682c66cb1b languageName: node linkType: hard @@ -5673,12 +5009,13 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.29.0": - version: 7.29.0 - resolution: "eslint@npm:7.29.0" +"eslint@npm:^7.30.0": + version: 7.30.0 + resolution: "eslint@npm:7.30.0" dependencies: "@babel/code-frame": 7.12.11 "@eslint/eslintrc": ^0.4.2 + "@humanwhocodes/config-array": ^0.5.0 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 @@ -5718,7 +5055,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 8a18377c761560a29fb48b27458517f260f7854882e40cf7e2d38f0ba60ac1038f39404e0ea849abdda18699530fe055adc5bdbf1ef726ce91ac1482cac9d38c + checksum: 872f90844b164dd61ec1bb949d2e33e7fbd189e0652fabe2cbbd0bdce1e4cd7ed08e72fa213795a453ae39fe24460771800608e765febb9e778deb28b9db3cc1 languageName: node linkType: hard @@ -5774,29 +5111,15 @@ __metadata: "estraverse@npm:^4.1.1": version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.2.0 - resolution: "estraverse@npm:5.2.0" - checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 - languageName: node - linkType: hard - -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 languageName: node linkType: hard -"estree-walker@npm:^2.0.1": - version: 2.0.1 - resolution: "estree-walker@npm:2.0.1" - checksum: c8e89c1e0dced789554c2c76152ef748ef226aa792eead6eee1777b6faa24e56a539639b8024f3952e80c451dd2c51f9ca8e7a360771dcaa794ad7b92243929c +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.2.0 + resolution: "estraverse@npm:5.2.0" + checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 languageName: node linkType: hard @@ -6077,13 +5400,6 @@ __metadata: languageName: node linkType: hard -"formidable@npm:^1.1.1": - version: 1.2.2 - resolution: "formidable@npm:1.2.2" - checksum: 43b3ec9a8f8055112e1a9a40eb748cdcd86cb9076dc9a17b0caa2bc26908eeae865dbee62d7c4bc26681fb75c2f42d60323af9c9d06c843e94f51f9b46954a0a - languageName: node - linkType: hard - "framer-motion@npm:^4.1.17": version: 4.1.17 resolution: "framer-motion@npm:4.1.17" @@ -6113,13 +5429,6 @@ __metadata: languageName: node linkType: hard -"fresh@npm:~0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 - languageName: node - linkType: hard - "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -6143,7 +5452,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": +"fsevents@patch:fsevents@~2.3.1#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=1cc4b2" dependencies: @@ -6152,7 +5461,7 @@ __metadata: languageName: node linkType: hard -"fsevents@~2.3.1, fsevents@~2.3.2": +fsevents@~2.3.1: version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -6168,19 +5477,8 @@ __metadata: "@babel/core": ^7.14.6 "@babel/eslint-parser": ^7.14.7 "@babel/eslint-plugin": ^7.14.5 - "@babel/plugin-proposal-class-properties": ^7.14.5 "@babel/plugin-proposal-decorators": ^7.14.5 "@babel/plugin-proposal-export-default-from": ^7.14.5 - "@babel/plugin-proposal-export-namespace-from": ^7.14.5 - "@babel/plugin-proposal-function-bind": ^7.14.5 - "@babel/plugin-proposal-function-sent": ^7.14.5 - "@babel/plugin-proposal-logical-assignment-operators": ^7.14.5 - "@babel/plugin-proposal-numeric-separator": ^7.14.5 - "@babel/plugin-proposal-optional-catch-binding": ^7.14.5 - "@babel/plugin-proposal-throw-expressions": ^7.14.5 - "@babel/plugin-transform-strict-mode": ^7.14.5 - "@babel/preset-env": ^7.14.7 - "@babel/runtime": ^7.14.6 "@fingerprintjs/fingerprintjs": ^3.2.0 "@fortawesome/fontawesome-svg-core": ^1.2.35 "@fortawesome/free-brands-svg-icons": ^5.15.3 @@ -6194,22 +5492,14 @@ __metadata: "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 "@fuelrats/web-util": ^0.3.2 - "@koa/router": ^10.0.0 "@next/eslint-plugin-next": ^11.0.1 - "@rollup/plugin-babel": ^5.3.0 - "@rollup/plugin-commonjs": ^19.0.0 - "@rollup/plugin-node-resolve": ^13.0.0 "@svgr/webpack": ^5.5.0 "@types/hoist-non-react-statics": ^3.3.1 "@types/ip6addr": ^0.2.2 "@types/js-cookie": ^2.2.6 "@types/jsonfile": ^6.0.0 - "@types/koa": ^2.13.3 - "@types/koa-compress": ^4.0.1 - "@types/koa-logger": ^3.1.1 - "@types/koa__router": ^8.0.4 "@types/lodash": ^4.14.170 - "@types/react": ^17.0.11 + "@types/react": ^17.0.13 "@types/react-dom": ^17.0.8 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 @@ -6219,37 +5509,32 @@ __metadata: babel-loader: 8.2.2 builtin-modules: ^3.2.0 clsx: ^1.1.1 - content-security-policy-builder: ^2.1.0 date-fns: ^2.22.1 date-fns-tz: ^1.1.4 doctoc: ^2.0.1 dotenv: ^10.0.0 - eslint: ^7.29.0 + eslint: ^7.30.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.4.0 + eslint-plugin-jsdoc: ^35.4.1 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 flux-standard-action: ^2.1.1 framer-motion: ^4.1.17 hoist-non-react-statics: ^3.3.2 + http-proxy-middleware: ^2.0.1 immer: ^9.0.3 ip6addr: ^0.2.3 js-cookie: ^2.2.1 jsonfile: ^6.1.0 - koa: ^2.13.1 - koa-body: ^4.2.0 koa-compose: ^4.1.0 - koa-compress: ^5.0.1 - koa-logger: ^3.2.1 - koa-proxies: 0.12.1 lodash: ^4.17.21 next: ^11.0.1 next-cookies: ^2.0.3 - next-http-proxy-middleware: ^1.0.10 next-redux-wrapper: 5.0.0 + next-safe: ^3.0.1 nprogress: ^0.2.0 postcss: ^8.3.5 postcss-easy-import: ^3.0.0 @@ -6269,17 +5554,13 @@ __metadata: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - rollup: ^2.52.3 - rollup-plugin-cleaner: ^1.0.0 - rollup-plugin-node-externals: ^2.2.0 sass: ^1.35.1 - stripe: ^8.157.0 + stripe: ^8.160.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 - ua-parser-js: ^0.7.28 use-immer: ^0.6.0 - webpack: ^5.40.0 + webpack: ^5.42.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -6397,7 +5678,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.1.6 resolution: "glob@npm:7.1.6" dependencies: @@ -6696,17 +5977,7 @@ __metadata: languageName: node linkType: hard -"http-assert@npm:^1.3.0": - version: 1.4.1 - resolution: "http-assert@npm:1.4.1" - dependencies: - deep-equal: ~1.0.1 - http-errors: ~1.7.2 - checksum: dd5d30eb458976572af1d1d72206b47e9194c9828ee0c93db79c802fc2536ec7ce9a0e802e0df8791e89553e51e3272de328f89bbee419a74e648090af36d2fa - languageName: node - linkType: hard - -"http-errors@npm:1.7.3, http-errors@npm:~1.7.2": +"http-errors@npm:1.7.3": version: 1.7.3 resolution: "http-errors@npm:1.7.3" dependencies: @@ -6719,26 +5990,16 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3": - version: 1.8.0 - resolution: "http-errors@npm:1.8.0" - dependencies: - depd: ~1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: 873d997bada0340b31cc69cbe8376e47ee142f60375b81447fa3ad7be512dd4026afb3b46ed2257ee59472d43782a34151994b34264b204bcaad02e67ad836cb - languageName: node - linkType: hard - -"http-errors@npm:~1.4.0": - version: 1.4.0 - resolution: "http-errors@npm:1.4.0" +"http-proxy-middleware@npm:^2.0.1": + version: 2.0.1 + resolution: "http-proxy-middleware@npm:2.0.1" dependencies: - inherits: 2.0.1 - statuses: ">= 1.2.1 < 2" - checksum: e25e56567f696f38009bdeeebf6ad0b5706113f21ae2241d4f1438ce303182b649187c5a3b68c4c3a07cd4df7192d58d22186a0b491c638bf3a7ea2626448681 + "@types/http-proxy": ^1.17.5 + http-proxy: ^1.18.1 + is-glob: ^4.0.1 + is-plain-obj: ^3.0.0 + micromatch: ^4.0.2 + checksum: 0de65bc6644b6efae5d26cd3bec071ceaeb92f26856ffee5ecdde9c702ea1435936e7dfb09da2ac0883eada80fdc993e9925902fc10bf6625565d6365f8cb30f languageName: node linkType: hard @@ -6771,13 +6032,6 @@ __metadata: languageName: node linkType: hard -"humanize-number@npm:0.0.2": - version: 0.0.2 - resolution: "humanize-number@npm:0.0.2" - checksum: 9c98c9d06b0f3d801960be3957199232a5df52377e2502acae92e4f71de633fa62c315a83f24bf96bef76f47b2e3e0e1e4f4157c891e27074fd3272cad6724bb - languageName: node - linkType: hard - "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -6880,13 +6134,6 @@ __metadata: languageName: node linkType: hard -"inflation@npm:^2.0.0": - version: 2.0.0 - resolution: "inflation@npm:2.0.0" - checksum: a0494871b12275afdef9e2710ee1af1e0fc642b04613a9be69c05ef8b5e9627f3bd7d358a937fa47aa20235ee7313a4f30255048533add0ad4918beb918a586e - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -7048,15 +6295,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.1.0": - version: 2.2.0 - resolution: "is-core-module@npm:2.2.0" - dependencies: - has: ^1.0.3 - checksum: 61e2aff4a7db4f8f7d5a97b484808af17290f4197b34a797cd3d3d27b6b448951064f8d3d6ceae4394fa9b7e6cf08aacd2ba7a17ef6352e922fe803580fbde56 - languageName: node - linkType: hard - "is-core-module@npm:^2.2.0, is-core-module@npm:^2.4.0": version: 2.4.0 resolution: "is-core-module@npm:2.4.0" @@ -7133,13 +6371,6 @@ __metadata: languageName: node linkType: hard -"is-module@npm:^1.0.0": - version: 1.0.0 - resolution: "is-module@npm:1.0.0" - checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f - languageName: node - linkType: hard - "is-nan@npm:^1.2.1": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -7192,12 +6423,10 @@ __metadata: languageName: node linkType: hard -"is-reference@npm:^1.2.1": - version: 1.2.1 - resolution: "is-reference@npm:1.2.1" - dependencies: - "@types/estree": "*" - checksum: e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c languageName: node linkType: hard @@ -7300,13 +6529,6 @@ __metadata: languageName: node linkType: hard -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - "isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -7394,10 +6616,10 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:1.0.0-alpha.23": - version: 1.0.0-alpha.23 - resolution: "jsdoc-type-pratt-parser@npm:1.0.0-alpha.23" - checksum: a174d04aeed52c621cb6075caf0a0efc8b0802346df915d5ac91cc1665b8b860daa0b9585cccd7430fcb50b6ccb1ba1d1328a306819819ab26dca18191686f7e +"jsdoc-type-pratt-parser@npm:1.0.4": + version: 1.0.4 + resolution: "jsdoc-type-pratt-parser@npm:1.0.4" + checksum: f80df71fc5d90714a035283136485c518dca74f1aa263e66d7ea79d563dd04fe73602156a6683f32a6218bc9d0d15d1a767a7d3e8b67227ec663183296250330 languageName: node linkType: hard @@ -7532,15 +6754,6 @@ __metadata: languageName: node linkType: hard -"keygrip@npm:~1.1.0": - version: 1.1.0 - resolution: "keygrip@npm:1.1.0" - dependencies: - tsscmp: 1.0.6 - checksum: 078cd16a463d187121f0a27c1c9c95c52ad392b620f823431689f345a0501132cee60f6e96914b07d570105af470b96960402accd6c48a0b1f3cd8fac4fa2cae - languageName: node - linkType: hard - "kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -7555,26 +6768,6 @@ __metadata: languageName: node linkType: hard -"koa-body@npm:^4.2.0": - version: 4.2.0 - resolution: "koa-body@npm:4.2.0" - dependencies: - "@types/formidable": ^1.0.31 - co-body: ^5.1.1 - formidable: ^1.1.1 - checksum: 8da5eb00eb43345d9976b830df5973e2eb4d33a6b58735576284b20069a37ce84b34c8b60b18fdbff5e59aadfd6f7a9a03632a1c0c53aa3c84a07dfffd888af9 - languageName: node - linkType: hard - -"koa-compose@npm:^3.0.0": - version: 3.2.1 - resolution: "koa-compose@npm:3.2.1" - dependencies: - any-promise: ^1.1.0 - checksum: ff8e5fc0348455acf751179c6c613eb030a5fac6406d3b49ae9e00460b7ee8770db3ef62633fd3db0306cd4a6d2a0b5152399ebd5bb5e684418f9eeeb251c2de - languageName: node - linkType: hard - "koa-compose@npm:^4.1.0": version: 4.1.0 resolution: "koa-compose@npm:4.1.0" @@ -7582,91 +6775,6 @@ __metadata: languageName: node linkType: hard -"koa-compress@npm:^5.0.1": - version: 5.0.1 - resolution: "koa-compress@npm:5.0.1" - dependencies: - bytes: ^3.0.0 - compressible: ^2.0.0 - http-errors: ^1.7.3 - koa-is-json: ^1.0.0 - statuses: ^2.0.0 - checksum: 9dcc5c7dec72044d1b270d2aa957f220ec8cef5948d54957b304746855bc0c8b9dc27c10fe9ab347c91791f960df98b074119c002053fc95fdc2c944598276bc - languageName: node - linkType: hard - -"koa-convert@npm:^1.2.0": - version: 1.2.0 - resolution: "koa-convert@npm:1.2.0" - dependencies: - co: ^4.6.0 - koa-compose: ^3.0.0 - checksum: a33944dbda4ed87565985f5b37ba1122a012db872724b216b6fd8f9176d4bba42c4a9bf3c129330e45f6474d28f50ca0ed28d41b9bccd2ab5d36d6436cf0d676 - languageName: node - linkType: hard - -"koa-is-json@npm:^1.0.0": - version: 1.0.0 - resolution: "koa-is-json@npm:1.0.0" - checksum: 0f14a7780d7ca0caeda5981ab425b66dd9711fd1bc7a25c091b38331ade8861a2eea41ac9fec7f96537302690de68fe1213b576f2c765ff3b5be3c23e995fbe2 - languageName: node - linkType: hard - -"koa-logger@npm:^3.2.1": - version: 3.2.1 - resolution: "koa-logger@npm:3.2.1" - dependencies: - bytes: ^3.1.0 - chalk: ^2.4.2 - humanize-number: 0.0.2 - passthrough-counter: ^1.0.0 - checksum: b29ba25eb433452bfda48e51acd5d206128411966acc09bb13ce3a0cec9192f78bb27e23efd615d0e7f46eeb2588ee8d2541d72665a4aa18d27a177e78dca909 - languageName: node - linkType: hard - -"koa-proxies@npm:0.12.1": - version: 0.12.1 - resolution: "koa-proxies@npm:0.12.1" - dependencies: - http-proxy: ^1.18.1 - path-match: ^1.2.4 - peerDependencies: - koa: ">=2" - checksum: dff7a61d033257de3197e03ea5286623a39bd09bda4b9bb28e3d2b26f624ad5d1a6f6b06013bdde7c6fb929d2df8af47302523bd743385630c56df06966547e2 - languageName: node - linkType: hard - -"koa@npm:^2.13.1": - version: 2.13.1 - resolution: "koa@npm:2.13.1" - dependencies: - accepts: ^1.3.5 - cache-content-type: ^1.0.0 - content-disposition: ~0.5.2 - content-type: ^1.0.4 - cookies: ~0.8.0 - debug: ~3.1.0 - delegates: ^1.0.0 - depd: ^2.0.0 - destroy: ^1.0.4 - encodeurl: ^1.0.2 - escape-html: ^1.0.3 - fresh: ~0.5.2 - http-assert: ^1.3.0 - http-errors: ^1.6.3 - is-generator-function: ^1.0.7 - koa-compose: ^4.1.0 - koa-convert: ^1.2.0 - on-finished: ^2.3.0 - only: ~0.0.2 - parseurl: ^1.3.2 - statuses: ^1.5.0 - type-is: ^1.6.16 - vary: ^1.1.2 - checksum: c09c64eb32c6ab887527d3677a1b945bb7432f50d88de8b03d1d091baf51c827dafe3055763dd605b57c193b696414b1d597f58c829fb7bc47b2c6c5509670b4 - languageName: node - linkType: hard - "language-subtag-registry@npm:~0.3.2": version: 0.3.20 resolution: "language-subtag-registry@npm:0.3.20" @@ -7883,15 +6991,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.7": - version: 0.25.7 - resolution: "magic-string@npm:0.25.7" - dependencies: - sourcemap-codec: ^1.4.4 - checksum: 727a1fb70f9610304fe384f1df0251eb7d1d9dd779c07ef1225690361b71b216f26f5d934bfb11c919b5b0e7ba50f6240c823a6f2e44cfd33d4a07d7747ca829 - languageName: node - linkType: hard - "make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -7988,13 +7087,6 @@ __metadata: languageName: node linkType: hard -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 - languageName: node - linkType: hard - "meow@npm:^9.0.0": version: 9.0.0 resolution: "meow@npm:9.0.0" @@ -8029,13 +7121,6 @@ __metadata: languageName: node linkType: hard -"methods@npm:^1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a - languageName: node - linkType: hard - "micromark@npm:~2.11.0": version: 2.11.2 resolution: "micromark@npm:2.11.2" @@ -8092,14 +7177,7 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:>= 1.43.0 < 2": - version: 1.45.0 - resolution: "mime-db@npm:1.45.0" - checksum: 00aa67af7a2014c12380bec57b3efe988e45c51979acca792633e2ba4d45c601b4160ceaf9666e2b8fa6822f5cb81e12206f9921d1bc3d78226aee813d4244fd - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19": version: 2.1.27 resolution: "mime-types@npm:2.1.27" dependencies: @@ -8271,13 +7349,6 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.2": - version: 0.6.2 - resolution: "negotiator@npm:0.6.2" - checksum: dfddaff6c06792f1c4c3809e29a427b8daef8cd437c83b08dd51d7ee11bbd1c29d9512d66b801144d6c98e910ffd8723f2432e0cbf8b18d41d2a09599c975ab3 - languageName: node - linkType: hard - "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -8303,16 +7374,6 @@ __metadata: languageName: node linkType: hard -"next-http-proxy-middleware@npm:^1.0.10": - version: 1.0.10 - resolution: "next-http-proxy-middleware@npm:1.0.10" - dependencies: - "@types/http-proxy": 1.17.3 - http-proxy: ^1.18.1 - checksum: 099a4659ce3f324424345cbd1aee05bf878eed00354779ad0bcec85146c57ca36e70d8127e10e477ac65de5ab7241ff6d393f8b1f0f269140ebdc54891ce2636 - languageName: node - linkType: hard - "next-redux-wrapper@npm:5.0.0": version: 5.0.0 resolution: "next-redux-wrapper@npm:5.0.0" @@ -8323,6 +7384,15 @@ __metadata: languageName: node linkType: hard +"next-safe@npm:^3.0.1": + version: 3.0.1 + resolution: "next-safe@npm:3.0.1" + peerDependencies: + next: ^9.5.0 + checksum: a8c39ba7c3ccc462227d9f9277e10a0ad476e6aca190598fa3075875064ebf058089c3825fb745cf33ac96b3c2759b4ee99ed1aabb818e5887f07cca9e8e029b + languageName: node + linkType: hard + "next@npm:^11.0.1": version: 11.0.1 resolution: "next@npm:11.0.1" @@ -8726,15 +7796,6 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:^2.3.0": - version: 2.3.0 - resolution: "on-finished@npm:2.3.0" - dependencies: - ee-first: 1.1.1 - checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b - languageName: node - linkType: hard - "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -8744,13 +7805,6 @@ __metadata: languageName: node linkType: hard -"only@npm:~0.0.2": - version: 0.0.2 - resolution: "only@npm:0.0.2" - checksum: d399710db867a1ef436dd3ce74499c87ece794aa81ab0370b5d153968766ee4aed2f98d3f92fc87c963e45b7a74d400d6f463ef651a5e7cfb861b15e88e9efe6 - languageName: node - linkType: hard - "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -8910,20 +7964,6 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:^1.3.2": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 - languageName: node - linkType: hard - -"passthrough-counter@npm:^1.0.0": - version: 1.0.0 - resolution: "passthrough-counter@npm:1.0.0" - checksum: 942a0addeb677e24ddb154b04cc29ce1c5720032efc268689446420f9350d47e94f2f1f76d469686bc87c1543c2f2165f2d004d265fe1b81465c76e02d272c63 - languageName: node - linkType: hard - "path-browserify@npm:0.0.1": version: 0.0.1 resolution: "path-browserify@npm:0.0.1" @@ -8966,16 +8006,6 @@ __metadata: languageName: node linkType: hard -"path-match@npm:^1.2.4": - version: 1.2.4 - resolution: "path-match@npm:1.2.4" - dependencies: - http-errors: ~1.4.0 - path-to-regexp: ^1.0.0 - checksum: 60946ed9fdd922da2d9688abc0dc05cd537a2ff06d192518dcbe654302ad70499050a9297ea23a26c3e1af32d5a867d5f6e0eb892f38fa032afd70df85be05f0 - languageName: node - linkType: hard - "path-parse@npm:^1.0.6": version: 1.0.6 resolution: "path-parse@npm:1.0.6" @@ -8983,22 +8013,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.0.0": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" - dependencies: - isarray: 0.0.1 - checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd - languageName: node - linkType: hard - -"path-to-regexp@npm:^6.1.0": - version: 6.2.0 - resolution: "path-to-regexp@npm:6.2.0" - checksum: a6aca74d2d6e2e7594d812f653cf85e9cb5054d3a8d80f099722a44ef6ad22639b02078e5ea83d11db16321c3e4359e3f1ab0274fa78dad0754a6e53f630b0fc - languageName: node - linkType: hard - "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -9035,7 +8049,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2": +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1": version: 2.2.2 resolution: "picomatch@npm:2.2.2" checksum: 897a589f94665b4fd93e075fa94893936afe3f7bbef44250f0e878a8d9d001972a79589cac2856c24f6f5aa3b0abc9c8ba00c98fae4dc22bc0117188864d4181 @@ -9827,7 +8841,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.4.0, qs@npm:^6.6.0": +"qs@npm:^6.6.0": version: 6.9.4 resolution: "qs@npm:6.9.4" checksum: 5ac0bd145f32d346d20c2fdcf19c8e548c5916458851e32527efb25be0c2cff8a3a81140c145c98a1184779b5b625c91bc7c50e147073bffb978fb7f4a9c8c8a @@ -9890,7 +8904,7 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.4.1, raw-body@npm:^2.2.0": +"raw-body@npm:2.4.1": version: 2.4.1 resolution: "raw-body@npm:2.4.1" dependencies: @@ -10418,16 +9432,6 @@ __metadata: languageName: node linkType: hard -resolve@^1.19.0: - version: 1.19.0 - resolution: "resolve@npm:1.19.0" - dependencies: - is-core-module: ^2.1.0 - path-parse: ^1.0.6 - checksum: a05b356e47b85ad3613d9e2a39a824f3c27f4fcad9c9ff6c7cc71a2e314c5904a90ab37481ad0069d03cab9eaaac6eb68aca1bc3355fdb05f1045cd50e2aacea - languageName: node - linkType: hard - resolve@^2.0.0-next.3: version: 2.0.0-next.3 resolution: "resolve@npm:2.0.0-next.3" @@ -10457,16 +9461,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"resolve@patch:resolve@^1.19.0#~builtin": - version: 1.19.0 - resolution: "resolve@patch:resolve@npm%3A1.19.0#~builtin::version=1.19.0&hash=00b1ff" - dependencies: - is-core-module: ^2.1.0 - path-parse: ^1.0.6 - checksum: 4714fbea90c3a4b9c14af343f255193ab16bce50782309318e01c3e4113e89df69a2a9fb1f1d9f7791c9c5a52a56f10568ce82df92dbbe184557d309a96808e5 - languageName: node - linkType: hard - "resolve@patch:resolve@^2.0.0-next.3#~builtin": version: 2.0.0-next.3 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#~builtin::version=2.0.0-next.3&hash=00b1ff" @@ -10484,17 +9478,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rimraf@npm:^2.6.3": - version: 2.7.1 - resolution: "rimraf@npm:2.7.1" - dependencies: - glob: ^7.1.3 - bin: - rimraf: ./bin.js - checksum: cdc7f6eacb17927f2a075117a823e1c5951792c6498ebcce81ca8203454a811d4cf8900314154d3259bb8f0b42ab17f67396a8694a54cae3283326e57ad250cd - languageName: node - linkType: hard - "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -10516,42 +9499,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rollup-plugin-cleaner@npm:^1.0.0": - version: 1.0.0 - resolution: "rollup-plugin-cleaner@npm:1.0.0" - dependencies: - rimraf: ^2.6.3 - peerDependencies: - rollup: "> 1.0" - checksum: c75169057af60140d20c6e08d3a38a3e554608baf67ac808df2e195a9f9f8b8bdbcfab711aec2e339037bfbcc07f8d24acedb69f1c18d32dd8c375ba1a20132c - languageName: node - linkType: hard - -"rollup-plugin-node-externals@npm:^2.2.0": - version: 2.2.0 - resolution: "rollup-plugin-node-externals@npm:2.2.0" - dependencies: - find-up: ^4.1.0 - peerDependencies: - builtin-modules: ^3.1.0 - checksum: 63cdc0eb51da6820bbae9156dc32ffb096254b85384beb7229053a4494f2a667d9421eda7bdf661c8a01f78916001bb21d7f81cdb3cce8a2ff654c8e11ff3a26 - languageName: node - linkType: hard - -"rollup@npm:^2.52.3": - version: 2.52.3 - resolution: "rollup@npm:2.52.3" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 859558c369a80b2bd3d5912df7f0caa235476c25227ea18664c6ef99f4e86de36634fd216d39d76185968ea77f8de36526a36a2ba060871b6b676bfaf497ab25 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.1.9 resolution: "run-parallel@npm:1.1.9" @@ -10559,13 +9506,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c - languageName: node - linkType: hard - "safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -10573,6 +9513,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -10716,13 +9663,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 - languageName: node - linkType: hard - "sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": version: 2.4.11 resolution: "sha.js@npm:2.4.11" @@ -10892,13 +9832,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sourcemap-codec@npm:^1.4.4": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -10993,20 +9926,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"statuses@npm:>= 1.2.1 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0": +"statuses@npm:>= 1.5.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c languageName: node linkType: hard -"statuses@npm:^2.0.0": - version: 2.0.0 - resolution: "statuses@npm:2.0.0" - checksum: 48c92e6b9bb42fecae8cca4c67c482c772fe025e340696fe39d5a69758ff01e2ba413befac655a587499fd3a7b4dfbbf1d86d282f12018b32c2e27badf4d3a31 - languageName: node - linkType: hard - "stream-browserify@npm:3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -11242,13 +10168,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.157.0": - version: 8.157.0 - resolution: "stripe@npm:8.157.0" +"stripe@npm:^8.160.0": + version: 8.160.0 + resolution: "stripe@npm:8.160.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 976c6082801f868f35af1e6bbcb2a71ff52e67c28559173d6d9bec6a73c07f2821429fd96aab426822038ca3ef61ddc5fec9896cea7923fcee0650fa7d02e365 + checksum: 2a87817bab4182050921dc632531b61040dad783b85e73f30a55811b2957ae3efb24f2b2d2d8d212c3c6fac04778b0d19f5bf839fb4dfd0e7c5588a0b9d7b066 languageName: node linkType: hard @@ -11776,13 +10702,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"tsscmp@npm:1.0.6": - version: 1.0.6 - resolution: "tsscmp@npm:1.0.6" - checksum: 1512384def36bccc9125cabbd4c3b0e68608d7ee08127ceaa0b84a71797263f1a01c7f82fa69be8a3bd3c1396e2965d2f7b52d581d3a5eeaf3967fbc52e3b3bf - languageName: node - linkType: hard - "tty-browserify@npm:0.0.0": version: 0.0.0 resolution: "tty-browserify@npm:0.0.0" @@ -11857,16 +10776,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"type-is@npm:^1.6.14, type-is@npm:^1.6.16": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: 0.3.0 - mime-types: ~2.1.24 - checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 - languageName: node - linkType: hard - "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -11876,13 +10785,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"ua-parser-js@npm:^0.7.28": - version: 0.7.28 - resolution: "ua-parser-js@npm:0.7.28" - checksum: a7da4ad54527211e878ee016c2ef64efad5c2f5a31277d36c9da93b4c89ecaa64f391ad4cf158ada76a9ad8e53004a950705ff1c2f27a52ca8bfb3f1381c39ff - languageName: node - linkType: hard - "unbox-primitive@npm:^1.0.0, unbox-primitive@npm:^1.0.1": version: 1.0.1 resolution: "unbox-primitive@npm:1.0.1" @@ -12206,13 +11108,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"vary@npm:^1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b - languageName: node - linkType: hard - "verror@npm:1.10.0": version: 1.10.0 resolution: "verror@npm:1.10.0" @@ -12365,16 +11260,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.40.0": - version: 5.40.0 - resolution: "webpack@npm:5.40.0" +"webpack@npm:^5.42.0": + version: 5.42.0 + resolution: "webpack@npm:5.42.0" dependencies: "@types/eslint-scope": ^3.7.0 - "@types/estree": ^0.0.47 + "@types/estree": ^0.0.48 "@webassemblyjs/ast": 1.11.0 "@webassemblyjs/wasm-edit": 1.11.0 "@webassemblyjs/wasm-parser": 1.11.0 - acorn: ^8.2.1 + acorn: ^8.4.1 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.8.0 @@ -12397,7 +11292,7 @@ resolve@^2.0.0-next.3: optional: true bin: webpack: bin/webpack.js - checksum: 19b8e0bfb9c6f16de1baa97aa820da1bbd2032c78bb6c76dcda37844ec422d3ac82bdd6d65934c853a99fa60a9af0a8ab255cefe51f4262395aff0d6a37c7ccf + checksum: 3800f185257776f8d4d9fa705a6345b6ace2bbd6141d669dfb3f385d6bf69e2897b44a236fb57faf4c4902ba46ec8011e54c7133f7ffb6b244ea570961901fc2 languageName: node linkType: hard @@ -12551,13 +11446,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"ylru@npm:^1.2.0": - version: 1.2.1 - resolution: "ylru@npm:1.2.1" - checksum: 33c45248becece949d4511a13f66b2330852f6226da6c2842bf16f0b0ee45bbbfcdf6b8da3d4c52d6cd5106818eeb3674dd73a17e87c945d1839c470107549e2 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" From 7906f0c3c516fa9e9a7771543a76f43651b2cc19 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 03:14:30 +0000 Subject: [PATCH 099/300] refactor(getEnv-util): restructure getter function, separate out CI env vars --- .config/getCIEnv.js | 20 ++++++++ .config/webpack.config.js | 15 +++--- next.config.js | 8 ++-- src/util/server/getEnv.js | 98 ++++++++++++++------------------------- 4 files changed, 68 insertions(+), 73 deletions(-) create mode 100644 .config/getCIEnv.js diff --git a/.config/getCIEnv.js b/.config/getCIEnv.js new file mode 100644 index 000000000..bc89f24b1 --- /dev/null +++ b/.config/getCIEnv.js @@ -0,0 +1,20 @@ +let ciEnv = null +const COMMIT_HASH_LENGTH = 10 + +function getCIEnv () { + if (!ciEnv) { + ciEnv = { + isCi: process.env.CI, + ciId: process.env.GITHUB_RUN_ID, + server: process.env.GITHUB_SERVER_URL, + branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? null, + commit: process.env.GITHUB_SHA?.toLowerCase() ?? null, + commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase() ?? null, + } + } + + return ciEnv +} + + +module.exports = getCIEnv diff --git a/.config/webpack.config.js b/.config/webpack.config.js index c1f7e0f0a..ea8534de9 100644 --- a/.config/webpack.config.js +++ b/.config/webpack.config.js @@ -3,21 +3,24 @@ /* eslint-env node */ const { DefinePlugin } = require('webpack') +const getCIEnv = require('./getCIEnv') -module.exports = (env) => { + +module.exports = () => { return (config, opt) => { + const ciEnv = getCIEnv() /* Define Plugin */ config.plugins.push(new DefinePlugin({ '$$BUILD.isDev': JSON.stringify(opt.dev), - '$$BUILD.isProduction': JSON.stringify(!opt.dev && env.git.branch === 'release'), - '$$BUILD.branch': JSON.stringify(env.git.branch ?? null), - '$$BUILD.commit': JSON.stringify(env.git.commit ?? null), - '$$BUILD.commitShort': JSON.stringify(env.git.commitShort ?? env.git.branch), + '$$BUILD.isProduction': JSON.stringify(!opt.dev && ciEnv.branch === 'release'), + '$$BUILD.branch': JSON.stringify(ciEnv.branch ?? null), + '$$BUILD.commit': JSON.stringify(ciEnv.commit ?? null), + '$$BUILD.commitShort': JSON.stringify(ciEnv.commitShort ?? ciEnv.branch), '$$BUILD.date': JSON.stringify((new Date()).toISOString()), - '$$BUILD.url': JSON.stringify(`${env.git.server}/fuelrats/fuelrats.com/actions/runs/${env.git.ciId}`), + '$$BUILD.url': JSON.stringify(`${ciEnv.server}/fuelrats/fuelrats.com/actions/runs/${ciEnv.ciId}`), '$$BUILD.id': JSON.stringify(opt.buildId), '$$BUILD.nodeVersion': JSON.stringify(process.version), })) diff --git a/next.config.js b/next.config.js index 131968d71..cd3560129 100644 --- a/next.config.js +++ b/next.config.js @@ -2,6 +2,7 @@ const crypto = require('crypto') const url = require('url') +const getCIEnv = require('./.config/getCIEnv') const headersConfig = require('./.config/headers.config') const publicRuntimeConfig = require('./.config/publicRuntime.config') const redirectsConfig = require('./.config/redirects.config') @@ -44,11 +45,12 @@ module.exports = () => { webpack: webpackConfig(env), generateBuildId: () => { - const buildId = env.git.ci - ? env.git.commit + const ciEnv = getCIEnv() + const buildId = ciEnv.isCi + ? ciEnv.commit : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() - return `${env.git.branch}_${buildId}` + return `${ciEnv.branch}_${buildId}` }, } diff --git a/src/util/server/getEnv.js b/src/util/server/getEnv.js index 9dd5c0ed9..a014ec47e 100644 --- a/src/util/server/getEnv.js +++ b/src/util/server/getEnv.js @@ -1,92 +1,62 @@ -/* eslint-env node */ +const { info } = require('next/dist/build/output/log') -function requireEnv (name) { - throw new TypeError(`Expected required variable 'process.env.${name}' to be defined.`) -} - -const COMMIT_HASH_LENGTH = 10 +const DEFAULT_PORT = 3000 let env = null -export default function getEnv () { + + + + +function getEnv () { if (!env) { if (typeof process === 'undefined') { return null } - const { - CI = false, - PORT = 3000, - APP_URL = requireEnv('APP_URL'), - APP_PROXIED = false, - NODE_ENV, - FR_API_KEY = requireEnv('FR_API_KEY'), - FR_API_SECRET = requireEnv('FR_API_SECRET'), - FR_API_URL = 'https://dev.api.fuelrats.com', - FR_CLIENT_IRC_URL = 'https://qms.fuelrats.dev', - FR_EDSM_API_URL = 'https://www.edsm.net', - FR_FALLBACK_URL = 'https://fallback.fuelrats.com/', - FR_RAT_IRC_URL = 'https://kiwi.fuelrats.com', - FR_SOCKET_URL = 'wss://dev.api.fuelrats.com', - FR_STRIPE_API_PK, - FR_STRIPE_API_SK, - FR_STRIPE_BANS_FILE, - FR_WORDPRESS_URL = 'https://wordpress.fuelrats.com', - GITHUB_REF = 'develop', - GITHUB_RUN_ID, - GITHUB_SERVER_URL = 'https://github.com', - GITHUB_SHA, - QMS_API_URL = 'https://api.qms.fuelrats.dev', - QMS_API_TOKEN, - } = process.env + info('Reading from process.env') env = { - appUrl: APP_URL, - proxied: APP_PROXIED, - isDev: NODE_ENV !== 'production', - port: PORT, - fallbackUrl: FR_FALLBACK_URL, + appUrl: process.env.APP_URL, + proxied: process.env.APP_PROXIED, + isDev: process.env.NODE_ENV !== 'production', + port: process.env.PORT ?? DEFAULT_PORT, + fallbackUrl: process.env.FR_FALLBACK_URL ?? 'https://fallback.fuelrats.com/', frapi: { - url: FR_API_URL, - proxy: `${APP_URL}/api/fr`, - socket: FR_SOCKET_URL, - clientId: FR_API_KEY, - clientSecret: FR_API_SECRET, + url: process.env.FR_API_URL ?? 'https://dev.api.fuelrats.com', + proxy: `${process.env.APP_URL}/api/fr`, + socket: process.env.FR_SOCKET_URL ?? 'wss://dev.api.fuelrats.com', + clientId: process.env.FR_API_KEY, + clientSecret: process.env.FR_API_SECRET, }, edsm: { - url: FR_EDSM_API_URL, - proxy: `${APP_URL}/api/edsm`, + url: process.env.FR_EDSM_API_URL ?? 'https://www.edsm.net', + proxy: `${process.env.APP_URL}/api/edsm`, }, wordpress: { - url: FR_WORDPRESS_URL, - proxy: `${APP_URL}/api/wp`, + url: process.env.FR_WORDPRESS_URL ?? 'https://wordpress.fuelrats.com', + proxy: `${process.env.APP_URL}/api/wp`, }, stripe: { - url: `${APP_URL}/api/stripe`, - public: FR_STRIPE_API_PK, - secret: FR_STRIPE_API_SK, - bansFile: FR_STRIPE_BANS_FILE, + url: `${process.env.APP_URL}/api/stripe`, + public: process.env.FR_STRIPE_API_PK, + secret: process.env.FR_STRIPE_API_SK, + bansFile: process.env.FR_STRIPE_BANS_FILE, }, qms: { - url: QMS_API_URL, - token: QMS_API_TOKEN, + url: process.env.QMS_API_URL ?? 'https://api.qms.fuelrats.dev', + token: process.env.QMS_API_TOKEN, }, irc: { - client: FR_CLIENT_IRC_URL, - rat: FR_RAT_IRC_URL, - }, - git: { - // Git CI vars. Will not typically be defined at runtime. - // These exist to be used by DefinePlugin at build time. - ci: CI, - ciId: GITHUB_RUN_ID, - server: GITHUB_SERVER_URL, - branch: GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? null, - commit: GITHUB_SHA?.toLowerCase() ?? null, - commitShort: GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase() ?? null, + client: process.env.FR_CLIENT_IRC_URL ?? 'https://qms.fuelrats.dev', + rat: process.env.FR_RAT_IRC_URL ?? 'https://kiwi.fuelrats.com', }, } } return env } + + + +module.exports = getEnv From 85195e80c0bbf84862213097e8c1a87fedc58aaa Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 03:15:38 +0000 Subject: [PATCH 100/300] refactor: use getEnv where it was previously missed --- .config/headers.config.js | 8 +++++--- src/pages/api/qms/queue.js | 13 +++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index 36b1ebf87..e44e1c53d 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -4,21 +4,23 @@ const nextSafe = require('next-safe') -const isDev = process.env.NODE_ENV !== 'production' - const domainWhitelist = [ '*.fuelrats.com', '*.stripe.com', 'www.google.com', ] + + + + module.exports = (env) => { return () => { return [ { source: '/:path*', headers: nextSafe({ - isDev, + isDev: env.isDev, contentSecurityPolicy: { 'default-src': ["'self'", ...domainWhitelist, 'blob:'], 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], diff --git a/src/pages/api/qms/queue.js b/src/pages/api/qms/queue.js index 1a6ff15a5..86beef6e0 100644 --- a/src/pages/api/qms/queue.js +++ b/src/pages/api/qms/queue.js @@ -2,13 +2,14 @@ import { HttpStatus } from '@fuelrats/web-util/http' import axios from 'axios' import { InternalServerAPIError } from '~/util/server/errors' +import getEnv from '~/util/server/getEnv' import acceptMethod from '~/util/server/middleware/acceptMethod' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' - +// Module constants const cache = { count: { maxAge: 10000, @@ -21,7 +22,7 @@ const cache = { value: 0, }, } - +const env = getEnv() @@ -35,10 +36,10 @@ export default jsonApiRoute( cache.count.lastCheck = nowTime const { data, status, statusText } = await axios.get( - `${process.env.QMS_API_URL}/api/v1/queue/`, + `${env.qms.url}/api/v1/queue/`, { headers: { - Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, + Authorization: `Bearer ${env.qms.token}`, }, }, ) @@ -65,10 +66,10 @@ export default jsonApiRoute( if (nowTime - cache.max.lastCheck >= cache.max.maxAge) { cache.max.lastCheck = nowTime const { data, status, statusText } = await axios.get( - `${process.env.QMS_API_URL}/api/v1/config/`, + `${env.qms.url}/api/v1/config/`, { headers: { - Authorization: `Bearer ${process.env.QMS_API_TOKEN}`, + Authorization: `Bearer ${env.qms.token}`, }, }, ) From 2eb066618f75d3a6d01fdc2e3b57a3030c768022 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 03:16:48 +0000 Subject: [PATCH 101/300] style(avatar-routes): add spacing --- src/pages/api/avatars/[[...slug]].js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pages/api/avatars/[[...slug]].js b/src/pages/api/avatars/[[...slug]].js index 13ff56c33..64f6b8842 100644 --- a/src/pages/api/avatars/[[...slug]].js +++ b/src/pages/api/avatars/[[...slug]].js @@ -1,4 +1,7 @@ import avatarsRouter from '@fuelrats/next-adorable-avatars' + + + export default avatarsRouter() From ca9f59b561af335ca14a74946ec157e62c819a57 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 04:30:22 +0000 Subject: [PATCH 102/300] refactor(apiProxy-util): simplify exports --- src/util/server/apiProxy.js | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/util/server/apiProxy.js b/src/util/server/apiProxy.js index 42213e5ba..9b2b27627 100644 --- a/src/util/server/apiProxy.js +++ b/src/util/server/apiProxy.js @@ -4,14 +4,14 @@ import { createProxyMiddleware } from 'http-proxy-middleware' -const config = { +export const config = { api: { externalResolver: true, bodyParser: false, }, } -function apiProxy (options) { +export default function apiProxy (options) { return createProxyMiddleware({ changeOrigin: true, secure: true, @@ -19,10 +19,3 @@ function apiProxy (options) { ...options, }) } - - - - - -export default apiProxy -export { config } From 3d90c9a2dde01d08acfb411279abeb627164f9dd Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 06:44:29 +0000 Subject: [PATCH 103/300] fix(frApiProxy-util): remove console.log --- src/util/server/frApiProxy.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/util/server/frApiProxy.js b/src/util/server/frApiProxy.js index af376a120..31261826e 100644 --- a/src/util/server/frApiProxy.js +++ b/src/util/server/frApiProxy.js @@ -6,7 +6,6 @@ import getEnv from './getEnv' export default function frApiProxy (opts = {}) { - console.log(getEnv()?.frapi?.url) return apiProxy({ target: getEnv()?.frapi?.url, pathRewrite: { From 475d468a48ec7a4a2dda44bb264153c3298fcbd3 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 06:44:40 +0000 Subject: [PATCH 104/300] chore: add missing type for qs --- package.json | 1 + yarn.lock | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/package.json b/package.json index 701b56ebb..25b95cf80 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", "@next/eslint-plugin-next": "^11.0.1", + "@types/qs": "^6.9.6", "axios": "^0.21.1", "clsx": "^1.1.1", "date-fns": "^2.22.1", diff --git a/yarn.lock b/yarn.lock index d0548b729..3ff0b2e69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2555,6 +2555,13 @@ __metadata: languageName: node linkType: hard +"@types/qs@npm:^6.9.6": + version: 6.9.6 + resolution: "@types/qs@npm:6.9.6" + checksum: 01871b1cf7062717ec76fcb9b29ddae1e04fcfadc1c76d86ec2571e72f27bf09ff31b094b295be8d4ca664aeec9b8965563680b31fcab7aba1ed93afac5181cd + languageName: node + linkType: hard + "@types/react-dom@npm:^17.0.8": version: 17.0.8 resolution: "@types/react-dom@npm:17.0.8" @@ -5499,6 +5506,7 @@ fsevents@~2.3.1: "@types/js-cookie": ^2.2.6 "@types/jsonfile": ^6.0.0 "@types/lodash": ^4.14.170 + "@types/qs": ^6.9.6 "@types/react": ^17.0.13 "@types/react-dom": ^17.0.8 "@types/react-redux": ^7.1.16 From e014202eb199aa41d9204ed57fd85e2401fae85b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 06:45:06 +0000 Subject: [PATCH 105/300] chore: fix deps --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 25b95cf80..1294aab23 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.2", "@next/eslint-plugin-next": "^11.0.1", - "@types/qs": "^6.9.6", "axios": "^0.21.1", "clsx": "^1.1.1", "date-fns": "^2.22.1", @@ -93,6 +92,7 @@ "@types/js-cookie": "^2.2.6", "@types/jsonfile": "^6.0.0", "@types/lodash": "^4.14.170", + "@types/qs": "^6.9.6", "@types/react": "^17.0.13", "@types/react-dom": "^17.0.8", "@types/react-redux": "^7.1.16", From 1c6f15efc9d555555edb21b5e55eeddf87c080f0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 06:47:03 +0000 Subject: [PATCH 106/300] refactor: move helpers directory to util, restructure utilities these will probably be moved around more in the future, but for now this will do --- src/components/AppLayout/authenticated.js | 22 ++- src/components/Blog/ArticleCard.js | 4 +- .../ChangePasswordModal.js | 2 +- src/components/Clock/Clock.js | 2 +- .../DeveloperPanel/ClientSubmitMessageBox.js | 2 +- .../DisableProfileModal.js | 2 +- src/components/DispatchTable/RescueRow.js | 2 +- src/components/ElapsedTimer.js | 2 +- .../Fieldsets/BooleanRadioFieldset.js | 2 +- .../Fieldsets/InputFieldset/InputFieldset.js | 4 +- src/components/Fieldsets/RescueIdFieldset.js | 2 +- .../SelectFieldset/SelectFieldset.js | 2 +- .../Forms/DonationForm/DonationForm.js | 6 +- .../EpicNominationForm/NominateRatForm.js | 4 +- .../EpicNominationForm/NominateRescueForm.js | 2 +- .../Forms/EpicNominationForm/RescueDetail.js | 2 +- .../FrontPageNotice/FrontPageNotice.js | 3 +- src/components/Header/Header.js | 2 +- src/components/LoginModal/LoginView.js | 2 +- src/components/LoginModal/ResetView.js | 2 +- src/components/LoginModal/VerifyView.js | 2 +- src/components/ProfileHeader/ProfileHeader.js | 2 +- .../ProfileHeader/UnverifiedUserBanner.js | 2 +- src/components/RatCard/RatCard.js | 2 +- .../RescueDetails/RescueDetailsContent.js | 4 +- src/components/UserDecalPanel/DecalRow.js | 2 +- src/helpers/arrIncludes.js | 11 -- src/helpers/formatTime.js | 110 --------------- src/helpers/gIPTools.js | 133 ------------------ src/helpers/getMoney.js | 14 -- src/helpers/routeGen.js | 76 ---------- src/helpers/safeIdleCallback.js | 18 --- src/helpers/userHasPermission.js | 7 - src/hooks/frapi/useCreateEpicApi.js | 2 +- src/hooks/frapi/useSearchRescueApi.js | 2 +- src/hooks/rescueHooks.js | 2 +- src/hooks/useDeltaReducer.js | 2 +- src/pages/[slug].js | 2 +- src/pages/_app.js | 4 +- src/pages/admin/rescues/index.js | 4 +- src/pages/authorize.js | 2 +- src/pages/blog/index.js | 4 +- src/pages/index.js | 2 +- src/pages/paperwork/[rescueId]/edit.js | 8 +- src/pages/paperwork/[rescueId]/index.js | 6 +- src/pages/profile/[tab].js | 2 +- src/pages/register.js | 2 +- src/pages/verify.js | 4 +- src/pages/version.js | 6 +- src/store/actions/authentication.js | 12 +- src/store/actions/clients.js | 4 +- src/store/actions/epics.js | 4 +- src/store/actions/rats.js | 7 +- src/store/actions/rescues.js | 4 +- src/store/actions/session.js | 4 +- src/store/actions/ships.js | 8 +- src/store/actions/user.js | 8 +- src/store/reducers/frSocket.js | 2 +- src/store/reducers/users.js | 2 +- src/store/selectors/decals.js | 3 +- src/store/selectors/users.js | 3 +- src/util/array/includesAll.js | 5 + src/util/array/includesSome.js | 5 + src/{helpers => util/array}/unshiftSplice.js | 0 src/util/date/formatAsEliteDate.js | 12 ++ src/util/date/formatAsEliteDateTime.js | 13 ++ src/util/date/formatElite.js | 16 +++ src/util/date/formatTimeElapsed.js | 29 ++++ src/util/date/toEliteDate.js | 19 +++ .../fontawesome/library.js} | 4 - src/{helpers => util}/getFingerprint.js | 0 src/util/getInitialProps/configureRequest.js | 33 +++++ src/util/getInitialProps/deleteCookie.js | 9 ++ src/util/getInitialProps/pageRedirect.js | 32 +++++ src/util/getInitialProps/resolvePageMeta.js | 36 +++++ src/util/getInitialProps/setError.js | 6 + src/{helpers => util}/getRatTag.js | 0 src/{helpers => util}/getResponseError.js | 0 src/{helpers => util}/getValidityErrors.js | 0 src/{helpers => util}/isEqual.js | 0 .../jsonapi/createRequestBody.js} | 2 +- .../propTypes}/extPropTypes.js | 0 src/util/router/makeBlogRoute.js | 31 ++++ src/util/router/makePaperworkRoute.js | 22 +++ src/util/router/makeRoute.js | 21 +++ src/{helpers => util}/safeParseInt.js | 0 src/util/string/getMoney.js | 16 +++ .../string}/stringToStrictBoolean.js | 0 src/{helpers => util/string}/uuidValidator.js | 0 89 files changed, 406 insertions(+), 474 deletions(-) delete mode 100644 src/helpers/arrIncludes.js delete mode 100644 src/helpers/formatTime.js delete mode 100644 src/helpers/gIPTools.js delete mode 100644 src/helpers/getMoney.js delete mode 100644 src/helpers/routeGen.js delete mode 100644 src/helpers/safeIdleCallback.js delete mode 100644 src/helpers/userHasPermission.js create mode 100644 src/util/array/includesAll.js create mode 100644 src/util/array/includesSome.js rename src/{helpers => util/array}/unshiftSplice.js (100%) create mode 100644 src/util/date/formatAsEliteDate.js create mode 100644 src/util/date/formatAsEliteDateTime.js create mode 100644 src/util/date/formatElite.js create mode 100644 src/util/date/formatTimeElapsed.js create mode 100644 src/util/date/toEliteDate.js rename src/{helpers/faIconLibrary.js => util/fontawesome/library.js} (99%) rename src/{helpers => util}/getFingerprint.js (100%) create mode 100644 src/util/getInitialProps/configureRequest.js create mode 100644 src/util/getInitialProps/deleteCookie.js create mode 100644 src/util/getInitialProps/pageRedirect.js create mode 100644 src/util/getInitialProps/resolvePageMeta.js create mode 100644 src/util/getInitialProps/setError.js rename src/{helpers => util}/getRatTag.js (100%) rename src/{helpers => util}/getResponseError.js (100%) rename src/{helpers => util}/getValidityErrors.js (100%) rename src/{helpers => util}/isEqual.js (100%) rename src/{helpers/presenters.js => util/jsonapi/createRequestBody.js} (94%) rename src/{helpers => util/propTypes}/extPropTypes.js (100%) create mode 100644 src/util/router/makeBlogRoute.js create mode 100644 src/util/router/makePaperworkRoute.js create mode 100644 src/util/router/makeRoute.js rename src/{helpers => util}/safeParseInt.js (100%) create mode 100644 src/util/string/getMoney.js rename src/{helpers => util/string}/stringToStrictBoolean.js (100%) rename src/{helpers => util/string}/uuidValidator.js (100%) diff --git a/src/components/AppLayout/authenticated.js b/src/components/AppLayout/authenticated.js index ce9a09d6e..d9ce9bb05 100644 --- a/src/components/AppLayout/authenticated.js +++ b/src/components/AppLayout/authenticated.js @@ -1,17 +1,15 @@ import { HttpStatus } from '@fuelrats/web-util/http' import hoistNonReactStatics from 'hoist-non-react-statics' +import { selectSession, selectCurrentUserHasScope } from '~/store/selectors' +import pageRedirect from '~/util/getInitialProps/pageRedirect' +import setError from '~/util/getInitialProps/setError' -import { pageRedirect, setError } from '~/helpers/gIPTools' -import userHasPermission from '~/helpers/userHasPermission' -import { selectSession, selectCurrentUserScopes } from '~/store/selectors' - - -const wrapPage = (PageComponent, scopes, message) => { +const wrapPage = (scope, message, PageComponent) => { function AuthenticatedPage (props) { return () } @@ -32,8 +30,8 @@ const wrapPage = (PageComponent, scopes, message) => { // Now that we know the user is logged in, lets check if they require any permission scopes to view the page. // If they do, check scopes against their groups. - if (scopes) { - if (!userHasPermission(selectCurrentUserScopes(state), scopes)) { + if (scope) { + if (!selectCurrentUserHasScope(state, { scope })) { setError(ctx, HttpStatus.UNAUTHORIZED, message) } } @@ -47,16 +45,12 @@ const wrapPage = (PageComponent, scopes, message) => { const authenticated = (scope, message) => { - // Check if `opt` is a permission scope or lsit of scopes. - // If it is then we need to return a function to get the component before passing to wrapPage if (typeof scope === 'string' || Array.isArray(scope)) { - return (PageComponent) => { - return wrapPage(PageComponent, scope, message) - } + return wrapPage.bind(null, scope, message) } // opt is not a scope so we know it's the page component we're wrapping. - return wrapPage(scope) + return wrapPage(undefined, undefined, scope) } diff --git a/src/components/Blog/ArticleCard.js b/src/components/Blog/ArticleCard.js index 9dec0c5ed..1fd4eea65 100644 --- a/src/components/Blog/ArticleCard.js +++ b/src/components/Blog/ArticleCard.js @@ -1,10 +1,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Link from 'next/link' -import { formatAsEliteDateTime } from '~/helpers/formatTime' -import { makeBlogRoute } from '~/helpers/routeGen' import { connect } from '~/store' import { selectAuthorByBlogId, selectBlogById, selectCategoriesByBlogId } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' +import makeBlogRoute from '~/util/router/makeBlogRoute' import TextPlaceholder from '../TextPlaceholder' diff --git a/src/components/ChangePasswordModal/ChangePasswordModal.js b/src/components/ChangePasswordModal/ChangePasswordModal.js index 7cd8ec600..69ad581b8 100644 --- a/src/components/ChangePasswordModal/ChangePasswordModal.js +++ b/src/components/ChangePasswordModal/ChangePasswordModal.js @@ -5,10 +5,10 @@ import { useDispatch, useSelector } from 'react-redux' import asModal, { ModalContent, ModalFooter } from '~/components/asModal' import NewPasswordFieldset from '~/components/Fieldsets/NewPasswordFieldset' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { changePassword } from '~/store/actions/authentication' import { selectCurrentUserId } from '~/store/selectors' +import getResponseError from '~/util/getResponseError' import ChangePasswordMessageBox from './ChangePasswordMessageBox' diff --git a/src/components/Clock/Clock.js b/src/components/Clock/Clock.js index 6a968e57c..5a88d9723 100644 --- a/src/components/Clock/Clock.js +++ b/src/components/Clock/Clock.js @@ -1,7 +1,7 @@ import PropTypes from 'prop-types' import { useEffect, useState } from 'react' -import { formatAsEliteDateTime } from '~/helpers/formatTime' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' import styles from './Clock.module.scss' diff --git a/src/components/DeveloperPanel/ClientSubmitMessageBox.js b/src/components/DeveloperPanel/ClientSubmitMessageBox.js index c0cd77129..d0244c8b2 100644 --- a/src/components/DeveloperPanel/ClientSubmitMessageBox.js +++ b/src/components/DeveloperPanel/ClientSubmitMessageBox.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types' -import getResponseError from '~/helpers/getResponseError' +import getResponseError from '~/util/getResponseError' import MessageBox from '../MessageBox' import ApiErrorBox from '../MessageBox/ApiErrorBox' diff --git a/src/components/DisableProfileModal/DisableProfileModal.js b/src/components/DisableProfileModal/DisableProfileModal.js index 56adc57a4..01328157c 100644 --- a/src/components/DisableProfileModal/DisableProfileModal.js +++ b/src/components/DisableProfileModal/DisableProfileModal.js @@ -4,11 +4,11 @@ import { useDispatch, useSelector } from 'react-redux' import asModal, { FooterPrimary, ModalContent, ModalFooter } from '~/components/asModal' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { logout } from '~/store/actions/session' import { updateUser } from '~/store/actions/user' import { selectCurrentUserId } from '~/store/selectors' +import getResponseError from '~/util/getResponseError' import DisableProfileErrorBox from './DisableProfileErrorBox' diff --git a/src/components/DispatchTable/RescueRow.js b/src/components/DispatchTable/RescueRow.js index 378b15508..a685ee800 100644 --- a/src/components/DispatchTable/RescueRow.js +++ b/src/components/DispatchTable/RescueRow.js @@ -4,11 +4,11 @@ import { useRouter } from 'next/router' import PropTypes from 'prop-types' import { useCallback, useState } from 'react' -import { makeRoute } from '~/helpers/routeGen' import { useQuoteString, useLanguageData, usePlatformData } from '~/hooks/rescueHooks' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import useStoreEffect from '~/hooks/useStoreEffect' import { selectRescueById, createSelectRenderedRatList } from '~/store/selectors' +import makeRoute from '~/util/router/makeRoute' import CopyToClipboard from '../CopyToClipboard' import styles from './DispatchTable.module.scss' diff --git a/src/components/ElapsedTimer.js b/src/components/ElapsedTimer.js index 5b77ffcc0..b619ab301 100644 --- a/src/components/ElapsedTimer.js +++ b/src/components/ElapsedTimer.js @@ -1,7 +1,7 @@ import PropTypes from 'prop-types' import { useState, useEffect } from 'react' -import { formatTimeElapsed } from '~/helpers/formatTime' +import formatTimeElapsed from '~/util/date/formatTimeElapsed' diff --git a/src/components/Fieldsets/BooleanRadioFieldset.js b/src/components/Fieldsets/BooleanRadioFieldset.js index 3c0171752..bd0f7c856 100644 --- a/src/components/Fieldsets/BooleanRadioFieldset.js +++ b/src/components/Fieldsets/BooleanRadioFieldset.js @@ -2,8 +2,8 @@ import PropTypes from 'prop-types' import { useCallback } from 'react' import RadioInput from '~/components/RadioInput' -import stringToStrictBoolean from '~/helpers/stringToStrictBoolean' import { useField, fieldPropTypes } from '~/hooks/useForm' +import stringToStrictBoolean from '~/util/string/stringToStrictBoolean' const booleanRadioOptions = [ { diff --git a/src/components/Fieldsets/InputFieldset/InputFieldset.js b/src/components/Fieldsets/InputFieldset/InputFieldset.js index dc0e6cddf..3f025e0b3 100644 --- a/src/components/Fieldsets/InputFieldset/InputFieldset.js +++ b/src/components/Fieldsets/InputFieldset/InputFieldset.js @@ -2,11 +2,11 @@ import PropTypes from 'prop-types' import React, { useCallback, useState } from 'react' import InputSuggestions from '~/components/InputMessages' -import extPropTypes from '~/helpers/extPropTypes' -import getValidityErrors from '~/helpers/getValidityErrors' import useFocusState from '~/hooks/useFocusState' import { useField, fieldPropTypes } from '~/hooks/useForm' import useSharedForwardRef from '~/hooks/useSharedForwardRef' +import getValidityErrors from '~/util/getValidityErrors' +import extPropTypes from '~/util/propTypes/extPropTypes' import styles from './InputFieldset.module.scss' import ValidityIcon from './ValidityIcon' diff --git a/src/components/Fieldsets/RescueIdFieldset.js b/src/components/Fieldsets/RescueIdFieldset.js index 844fc2399..557e22a89 100644 --- a/src/components/Fieldsets/RescueIdFieldset.js +++ b/src/components/Fieldsets/RescueIdFieldset.js @@ -1,4 +1,4 @@ -import { isValidUuidV4 } from '~/helpers/uuidValidator' +import { isValidUuidV4 } from '~/util/string/uuidValidator' import InputFieldset, { useValidationCallback } from './InputFieldset' diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js index 43bc03c85..b84968bfb 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js @@ -2,8 +2,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import PropTypes from 'prop-types' import { useCallback, useRef } from 'react' -import extPropTypes from '~/helpers/extPropTypes' import { useField, fieldPropTypes } from '~/hooks/useForm' +import extPropTypes from '~/util/propTypes/extPropTypes' import inputStyles from '../InputFieldset/InputFieldset.module.scss' import ValidityIcon from '../InputFieldset/ValidityIcon' diff --git a/src/components/Forms/DonationForm/DonationForm.js b/src/components/Forms/DonationForm/DonationForm.js index 6ae3f5ce5..5c32f139f 100644 --- a/src/components/Forms/DonationForm/DonationForm.js +++ b/src/components/Forms/DonationForm/DonationForm.js @@ -3,12 +3,12 @@ import { useCallback, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' import StripeBadge from '~/components/StripeBadge' -import getFingerprint from '~/helpers/getFingerprint' -import getMoney from '~/helpers/getMoney' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { createDonationSession } from '~/store/actions/stripe' import { selectUserById, withCurrentUserId } from '~/store/selectors' +import getFingerprint from '~/util/getFingerprint' +import getResponseError from '~/util/getResponseError' +import getMoney from '~/util/string/getMoney' import AmountPresetRadioFieldset from './AmountPresetRadioFieldset' import CurrencyFieldset from './CurrencyFieldset' diff --git a/src/components/Forms/EpicNominationForm/NominateRatForm.js b/src/components/Forms/EpicNominationForm/NominateRatForm.js index b18ea5ecd..c70d21a15 100644 --- a/src/components/Forms/EpicNominationForm/NominateRatForm.js +++ b/src/components/Forms/EpicNominationForm/NominateRatForm.js @@ -2,10 +2,10 @@ import { useCallback, useEffect, useState } from 'react' import InputFieldset from '~/components/Fieldsets/InputFieldset' import RatTagsInput from '~/components/RatTagsInput' -import getRatTag from '~/helpers/getRatTag' -import { isValidUuidV4 } from '~/helpers/uuidValidator' import useCreateEpicApi from '~/hooks/frapi/useCreateEpicApi' import useForm from '~/hooks/useForm' +import getRatTag from '~/util/getRatTag' +import { isValidUuidV4 } from '~/util/string/uuidValidator' import styles from './NominateRatForm.module.scss' diff --git a/src/components/Forms/EpicNominationForm/NominateRescueForm.js b/src/components/Forms/EpicNominationForm/NominateRescueForm.js index cce1730a3..038b86053 100644 --- a/src/components/Forms/EpicNominationForm/NominateRescueForm.js +++ b/src/components/Forms/EpicNominationForm/NominateRescueForm.js @@ -3,12 +3,12 @@ import { useEffect, useCallback } from 'react' import InputFieldset from '~/components/Fieldsets/InputFieldset' import RescueIdFieldset from '~/components/Fieldsets/RescueIdFieldset' import RescueDetail from '~/components/Forms/EpicNominationForm/RescueDetail' -import getValidityErrors from '~/helpers/getValidityErrors' import useCreateEpicApi from '~/hooks/frapi/useCreateEpicApi' import useSearchRescueApi from '~/hooks/frapi/useSearchRescueApi' import useForm from '~/hooks/useForm' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectRatsByRescueId, selectRescueById } from '~/store/selectors' +import getValidityErrors from '~/util/getValidityErrors' import styles from './NominateRescueForm.module.scss' diff --git a/src/components/Forms/EpicNominationForm/RescueDetail.js b/src/components/Forms/EpicNominationForm/RescueDetail.js index 60d025e15..4e7804806 100644 --- a/src/components/Forms/EpicNominationForm/RescueDetail.js +++ b/src/components/Forms/EpicNominationForm/RescueDetail.js @@ -1,8 +1,8 @@ import Link from 'next/link' -import { makePaperworkRoute } from '~/helpers/routeGen' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectRatsByRescueId } from '~/store/selectors' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' import styles from './RescueDetail.module.scss' diff --git a/src/components/FrontPageNotice/FrontPageNotice.js b/src/components/FrontPageNotice/FrontPageNotice.js index 3ed39f2a8..f41fd3345 100644 --- a/src/components/FrontPageNotice/FrontPageNotice.js +++ b/src/components/FrontPageNotice/FrontPageNotice.js @@ -1,7 +1,8 @@ import Image from 'next/image' import PropTypes from 'prop-types' -import { makePaperworkRoute } from '~/helpers/routeGen' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' + import AuthDependantLink from '../AuthDependantLink' import styles from './FrontPageNotice.module.scss' diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js index 1450416ea..f9023f786 100644 --- a/src/components/Header/Header.js +++ b/src/components/Header/Header.js @@ -3,9 +3,9 @@ import Link from 'next/link' import { useCallback, useRef } from 'react' import { useSelector } from 'react-redux' -import { makeBlogRoute } from '~/helpers/routeGen' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectCurrentUserHasScope, selectSession } from '~/store/selectors' +import makeBlogRoute from '~/util/router/makeBlogRoute' import Brand from '../../../public/static/svg/brand.svg' import { Nav, NavUl, NavLink, SubNav } from '../Nav' diff --git a/src/components/LoginModal/LoginView.js b/src/components/LoginModal/LoginView.js index 218ab9efe..9359e5fdc 100644 --- a/src/components/LoginModal/LoginView.js +++ b/src/components/LoginModal/LoginView.js @@ -6,10 +6,10 @@ import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/ import EmailFieldset from '~/components/Fieldsets/EmailFieldset' import PasswordFieldset from '~/components/Fieldsets/PasswordFieldset' import SwitchFieldset from '~/components/Fieldsets/SwitchFieldset' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import { login } from '~/store/actions/authentication' import { getUserProfile } from '~/store/actions/user' +import getResponseError from '~/util/getResponseError' import styles from './LoginModal.module.scss' diff --git a/src/components/LoginModal/ResetView.js b/src/components/LoginModal/ResetView.js index 88e061ff9..d1abb21fc 100644 --- a/src/components/LoginModal/ResetView.js +++ b/src/components/LoginModal/ResetView.js @@ -5,10 +5,10 @@ import { useDispatch } from 'react-redux' import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/asModal' import EmailFieldset from '~/components/Fieldsets/EmailFieldset' import MessageBox from '~/components/MessageBox' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' import { sendPasswordResetEmail } from '~/store/actions/authentication' +import getResponseError from '~/util/getResponseError' import styles from './LoginModal.module.scss' diff --git a/src/components/LoginModal/VerifyView.js b/src/components/LoginModal/VerifyView.js index b0a3893ab..a8594cd94 100644 --- a/src/components/LoginModal/VerifyView.js +++ b/src/components/LoginModal/VerifyView.js @@ -4,12 +4,12 @@ import { useDispatch } from 'react-redux' import { FooterPrimary, FooterSecondary, ModalFooter, useModalContext } from '~/components/asModal' import LoginTokenFieldset from '~/components/Fieldsets/LoginTokenFieldset' -import getResponseError from '~/helpers/getResponseError' import useForm from '~/hooks/useForm' import useMountedState from '~/hooks/useMountedState' import useUnloadConfirmation from '~/hooks/useUnloadConfirmation' import { login } from '~/store/actions/authentication' import { getUserProfile } from '~/store/actions/user' +import getResponseError from '~/util/getResponseError' import styles from './LoginModal.module.scss' diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index b728d512d..b12616f77 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -2,7 +2,6 @@ import getConfig from 'next/config' import Image from 'next/image' import React from 'react' -import { formatAsEliteDateTime } from '~/helpers/formatTime' import { connect } from '~/store' import { selectGroupsByUserId, @@ -12,6 +11,7 @@ import { withCurrentUserId, selectCurrentUserHasScope, } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' import ChangePasswordModal from '../ChangePasswordModal' import DisableProfileModal from '../DisableProfileModal' diff --git a/src/components/ProfileHeader/UnverifiedUserBanner.js b/src/components/ProfileHeader/UnverifiedUserBanner.js index 6a1a4fc03..51b7b1f70 100644 --- a/src/components/ProfileHeader/UnverifiedUserBanner.js +++ b/src/components/ProfileHeader/UnverifiedUserBanner.js @@ -2,9 +2,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { useCallback, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' -import getResponseError from '~/helpers/getResponseError' import { resendVerificationEmail } from '~/store/actions/verify' import { selectUserById, withCurrentUserId } from '~/store/selectors' +import getResponseError from '~/util/getResponseError' import MessageBox from '../MessageBox' import ApiErrorBox from '../MessageBox/ApiErrorBox' diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index d7dce7dee..80b621eb0 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -3,7 +3,6 @@ import PropTypes from 'prop-types' import React from 'react' // import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { formatAsEliteDate } from '~/helpers/formatTime' import { connect } from '~/store' import { selectRatById, @@ -12,6 +11,7 @@ import { withCurrentUserId, selectRatStatisticsById, } from '~/store/selectors' +import formatAsEliteDate from '~/util/date/formatAsEliteDate' import CardControls from '../CardControls' import InlineEditSpan from '../InlineEditSpan' diff --git a/src/components/RescueDetails/RescueDetailsContent.js b/src/components/RescueDetails/RescueDetailsContent.js index a0def8687..675cffbec 100644 --- a/src/components/RescueDetails/RescueDetailsContent.js +++ b/src/components/RescueDetails/RescueDetailsContent.js @@ -5,11 +5,11 @@ import Link from 'next/link' import PropTypes from 'prop-types' // import { useCallback } from 'react' -import { formatAsEliteDateTime } from '~/helpers/formatTime' -import { makePaperworkRoute } from '~/helpers/routeGen' import { usePlatformData, useLanguageData } from '~/hooks/rescueHooks' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { createSelectRenderedRatList } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' import CopyToClipboard from '../CopyToClipboard' import ElapsedTimer from '../ElapsedTimer' diff --git a/src/components/UserDecalPanel/DecalRow.js b/src/components/UserDecalPanel/DecalRow.js index cb39b3021..027b2c26c 100644 --- a/src/components/UserDecalPanel/DecalRow.js +++ b/src/components/UserDecalPanel/DecalRow.js @@ -1,8 +1,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { useReducer } from 'react' -import { formatAsEliteDate } from '~/helpers/formatTime' import reduceToggle from '~/hooks/reducers/reduceToggle' +import formatAsEliteDate from '~/util/date/formatAsEliteDate' import styles from './UserDecalPanel.module.scss' diff --git a/src/helpers/arrIncludes.js b/src/helpers/arrIncludes.js deleted file mode 100644 index 09491648f..000000000 --- a/src/helpers/arrIncludes.js +++ /dev/null @@ -1,11 +0,0 @@ -export function includesAll (target, items) { - return target.every((targetItem) => { - return items.includes(targetItem) - }) -} - -export function includesSome (target, items) { - return target.some((targetItem) => { - return items.includes(targetItem) - }) -} diff --git a/src/helpers/formatTime.js b/src/helpers/formatTime.js deleted file mode 100644 index 0e78027b9..000000000 --- a/src/helpers/formatTime.js +++ /dev/null @@ -1,110 +0,0 @@ -import { format as formatTz } from 'date-fns-tz' - - - - - -const ELITE_GAME_YEAR_DISPARITY = 1286 // Years between IRL year and Elite universe year -const MILLISECONDS_IN_SECOND = 1000 -const MINUTES_IN_HOUR = 60 -const SECONDS_IN_HOUR = 3600 -const SECONDS_IN_MINUTE = 60 -const SECONDS_IN_DAY = 86400 - -function padNum (number) { - return String(number).padStart(2, 0) -} - - - - - -/** - * @param {string | number | Date} value Timestamp string, epoch, or date object. - * @returns {Date} - */ -export function toEliteDate (value) { - const date = new Date(value) - - return new Date( - date.getUTCFullYear() + ELITE_GAME_YEAR_DISPARITY, - date.getUTCMonth(), - date.getUTCDate(), - date.getUTCHours(), - date.getUTCMinutes(), - date.getUTCSeconds(), - date.getUTCMilliseconds(), - ) -} - - - - - -/** - * @param {string | number | Date} value Timestamp string, epoch, or date object. - * @param {string} format date-fns format string - * @returns {string} - */ -export function formatElite (value, format) { - return formatTz( - toEliteDate(value), - format, - { timeZone: 'UTC' }, - ) -} - - - - - -/** - * @param {string | number | Date} value Timestamp string, epoch, or date object. - * @returns {string} - */ -export function formatAsEliteDate (value) { - return formatElite( - value, - 'dd MMM yyyy', - ).toUpperCase() -} - - - - - -/** - * @param {string | number | Date} value Timestamp string, epoch, or date object. - * @param {boolean} withSeconds - * @returns {string} - */ -export function formatAsEliteDateTime (value, withSeconds) { - return formatElite( - value, - `dd MMM yyyy HH:mm${withSeconds ? ':ss' : ''}`, - ).toUpperCase() -} - - - - - -/** - * @param {string | number | Date} value Timestamp string, epoch, or date object. - * @returns {[string, number]} A tuple containing the formatted string and the remainder amount of milliseconds. - */ -export function formatTimeElapsed (value) { - const startTime = (new Date(value)).getTime() - const nowTime = Date.now() - - const totalMilliseconds = nowTime - startTime - const totalSeconds = Math.floor(totalMilliseconds / MILLISECONDS_IN_SECOND) - - const days = Math.floor(totalSeconds / SECONDS_IN_DAY) - const hours = Math.floor((totalSeconds % SECONDS_IN_DAY) / SECONDS_IN_HOUR) - const minutes = Math.floor((totalSeconds % SECONDS_IN_HOUR) / MINUTES_IN_HOUR) - const seconds = totalSeconds % SECONDS_IN_MINUTE - const milliseconds = totalMilliseconds % MILLISECONDS_IN_SECOND - - return [`${days > 0 ? `${days}d ` : ''}${padNum(hours)}:${padNum(minutes)}:${padNum(seconds)}`, milliseconds] -} diff --git a/src/helpers/gIPTools.js b/src/helpers/gIPTools.js deleted file mode 100644 index 23644ef34..000000000 --- a/src/helpers/gIPTools.js +++ /dev/null @@ -1,133 +0,0 @@ -import { HttpStatus } from '@fuelrats/web-util/http' -import jsCookie from 'js-cookie' -import nextCookies from 'next-cookies' -import Router from 'next/router' - -import frApi from '~/services/frApi' - - - - - -const MAX_TITLE_LENGTH = 50 -const MAX_DESCR_LENGTH = 300 -const validatePageMeta = (props) => { - if (!props.title?.length) { - console.error('Pages must contain a unique title') - } - - if (props.title?.length > MAX_TITLE_LENGTH) { - console.warn(`Page titles should be fewer than 60 characters, preferably closer to 50. This page's title is ${props.title.length} characters.`) - } - - if (props.description?.length > MAX_DESCR_LENGTH) { - console.error(`Page description is too long! The description should be 50-300 characters long, but this page's description is ${props.description.length} characters.`) - } - - if (props.description && props.description.indexOf('"') !== -1) { - console.error('Page descriptions shouldn\'t contain double quotes.') - } -} - - - - - -export const pageRedirect = (ctx, route) => { - let href = null - let as = null - - if (typeof route === 'object') { - href = route.href - as = route.as - } else if (typeof route === 'string') { - as = route - } - - if (ctx.res) { - ctx.res.writeHead(HttpStatus.FOUND, { - Location: as, - }) - ctx.res.end() - ctx.res.finished = true - } else if (route.startsWith('http')) { - if (typeof window !== 'undefined') { - window.location.replace(as) - } - } else { - Router.replace(href ?? as, as) - } -} - - - - - -export const deleteCookie = (cookieName, ctx = {}) => { - if (ctx.res) { - ctx.res.setHeader('Set-Cookie', `${cookieName}=null; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`) - } else { - jsCookie.remove(cookieName) - } -} - - - - - -export const setError = (ctx, statusCode, message) => { - if (ctx.res) { - ctx.res.statusCode = statusCode - } - ctx.err = { statusCode, message } -} - - - - - -export const resolvePageMeta = async (Component, ctx, pageProps) => { - const pageMeta = { - description: 'The Fuel Rats are Elite: Dangerous\'s premier emergency refueling service. Fueling the galaxy, one ship at a time, since 3301.', - ...(await Component.getPageMeta?.(ctx, pageProps)) ?? {}, - } - - if ($$BUILD.isDev) { - validatePageMeta(pageMeta) - } - - return { - ...pageMeta, - className: `${(pageMeta.title ?? 'fuel-rats').toLowerCase().replace(/\s/gu, '-')} ${pageMeta.className ?? ''}`, - } -} - - - - - -export const configureRequest = (ctx) => { - // Always setup access token - const { access_token: accessToken } = nextCookies(ctx) - if (accessToken) { - ctx.accessToken = accessToken - } - - // If we're on the server, we should set proxy headers to retain origin IP - if (ctx.isServer) { - const realIp = ctx.req.headers['x-real-ip'] ?? ctx.req.client?.remoteAddress - if (realIp) { - frApi.defaults.headers.common['x-real-ip'] = realIp - } - - const forwardedFor = ctx.req.headers['x-forwarded-for'] ?? ctx.req.client?.remoteAddress - if (forwardedFor) { - frApi.defaults.headers.common['x-forwarded-for'] = forwardedFor - } - - const forwardedProto = ctx.req.headers['x-forwarded-proto'] ?? ctx.req.headers.host - if (forwardedProto) { - frApi.defaults.headers.common['x-forwarded-proto'] = forwardedProto - } - } -} diff --git a/src/helpers/getMoney.js b/src/helpers/getMoney.js deleted file mode 100644 index 292d2117d..000000000 --- a/src/helpers/getMoney.js +++ /dev/null @@ -1,14 +0,0 @@ -// ( ͡° ͜ʖ ͡°) because xlexious told me to -const getMoney = (amount, currency = 'EUR') => { - return (amount / 100).toLocaleString('en-US', { - style: 'currency', - currency, - currencyDisplay: 'symbol', - }) -} - - - - - -export default getMoney diff --git a/src/helpers/routeGen.js b/src/helpers/routeGen.js deleted file mode 100644 index 70c565ba2..000000000 --- a/src/helpers/routeGen.js +++ /dev/null @@ -1,76 +0,0 @@ -import qs from 'qs' - - - - - -/** - * @param {string} href - * @param {object} query - * @returns {string} - */ -export function makeRoute (href = '', query = {}) { - let [route = '/', qStr = ''] = href.split('?') - - const nextQStr = qs.stringify({ - ...qs.parse(qStr), - ...query, - }) - - if (nextQStr.length) { - route += `?${nextQStr}` - } - - return route -} - -/** - * @param {object} params - * @param {string} params.rescueId - * @returns {string} - */ -export function makePaperworkRoute (params) { - const { - edit = false, - rescueId, - ...query - } = params - - let route = `/paperwork/${rescueId}` - - if (edit) { - route += '/edit' - } - - return makeRoute(route, query) -} - -/** - * @param {object} params - * @param {string|number|null} params.author - * @param {string|number|null} params.category - * @param {string|number|null} params.page - * @returns {string} - */ -export function makeBlogRoute (params) { - const { - author, - category, - page, - ...query - } = params - - let route = '/blog' - - if (author) { - route += `/author/${author}` - } else if (category) { - route += `/category/${category}` - } - - if (typeof page === 'number') { - route += `/page/${page}` - } - - return makeRoute(route, query) -} diff --git a/src/helpers/safeIdleCallback.js b/src/helpers/safeIdleCallback.js deleted file mode 100644 index 3e5c06af3..000000000 --- a/src/helpers/safeIdleCallback.js +++ /dev/null @@ -1,18 +0,0 @@ -const DEFAULT_TIMER = 500 // 0.5 seconds - - -/** - * provides a safe way to call `requestIdleCallback`. Uses `setTimeout` in the event that `requestIdleCallback` is unavailable - * - * WARNING: Avoid using in server executed code. - * - * @param {Function} callback function to run when application is "idle" - * @param {number} delay Time (in milliseconds) the fallback `setTimeout` method should wait before the callback is executed. - */ -export default function safeIdleCallback (callback, delay = DEFAULT_TIMER) { - if (typeof window !== 'undefined' && window.requestIdleCallback) { - requestIdleCallback(callback) - } else { - setTimeout(callback, delay) - } -} diff --git a/src/helpers/userHasPermission.js b/src/helpers/userHasPermission.js deleted file mode 100644 index 3b5b0c7e5..000000000 --- a/src/helpers/userHasPermission.js +++ /dev/null @@ -1,7 +0,0 @@ -export default function userHasPermission (permissions, permission) { - if (!Array.isArray(permissions) || !permissions.length) { - return false - } - - return permissions.includes(permission) -} diff --git a/src/hooks/frapi/useCreateEpicApi.js b/src/hooks/frapi/useCreateEpicApi.js index 13ba31d57..56e039257 100644 --- a/src/hooks/frapi/useCreateEpicApi.js +++ b/src/hooks/frapi/useCreateEpicApi.js @@ -1,8 +1,8 @@ import { useEffect, useReducer, useState } from 'react' import { useDispatch } from 'react-redux' -import { isValidUuidV4 } from '~/helpers/uuidValidator' import { createEpic } from '~/store/actions/epics' +import { isValidUuidV4 } from '~/util/string/uuidValidator' const rescueFetchReducer = (state, action) => { switch (action.type) { diff --git a/src/hooks/frapi/useSearchRescueApi.js b/src/hooks/frapi/useSearchRescueApi.js index f585a7a0e..cd83e0233 100644 --- a/src/hooks/frapi/useSearchRescueApi.js +++ b/src/hooks/frapi/useSearchRescueApi.js @@ -1,8 +1,8 @@ import { useEffect, useReducer, useState } from 'react' import { useDispatch } from 'react-redux' -import { isValidUuidV4 } from '~/helpers/uuidValidator' import { getRescue } from '~/store/actions/rescues' +import { isValidUuidV4 } from '~/util/string/uuidValidator' const rescueFetchReducer = (state, action) => { switch (action.type) { diff --git a/src/hooks/rescueHooks.js b/src/hooks/rescueHooks.js index b60a74565..101a88f30 100644 --- a/src/hooks/rescueHooks.js +++ b/src/hooks/rescueHooks.js @@ -4,7 +4,7 @@ import { useMemo, useState, useEffect } from 'react' import { getLanguage } from '~/data/languageList' import { getPlatform } from '~/data/platformList' -import { formatAsEliteDateTime } from '~/helpers/formatTime' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' const pollTimeoutTime = 10000 diff --git a/src/hooks/useDeltaReducer.js b/src/hooks/useDeltaReducer.js index cec973069..4552a92f3 100644 --- a/src/hooks/useDeltaReducer.js +++ b/src/hooks/useDeltaReducer.js @@ -4,7 +4,7 @@ import _unset from 'lodash/unset' import { useCallback } from 'react' import { useImmerReducer } from 'use-immer' -import isEqual from '~/helpers/isEqual' +import isEqual from '~/util/isEqual' diff --git a/src/pages/[slug].js b/src/pages/[slug].js index 352e2eba0..807d3cb36 100644 --- a/src/pages/[slug].js +++ b/src/pages/[slug].js @@ -2,10 +2,10 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import React from 'react' -import { setError } from '~/helpers/gIPTools' import { connect } from '~/store' import { getWordpressPage } from '~/store/actions/wordpress' import { selectWordpressPageBySlug } from '~/store/selectors' +import setError from '~/util/getInitialProps/setError' diff --git a/src/pages/_app.js b/src/pages/_app.js index 505e21845..73b8e15b8 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -11,14 +11,14 @@ import LoginModal from '~/components/LoginModal' import NProgress from '~/components/NProgress' import SilentBoundary from '~/components/SilentBoundary' import UserMenu from '~/components/UserMenu' -import * as faIcons from '~/helpers/faIconLibrary' -import { resolvePageMeta } from '~/helpers/gIPTools' import { initStore } from '~/store' import { initUserSession, notifyPageDestroyed, notifyPageLoading, } from '~/store/actions/session' +import * as faIcons from '~/util/fontawesome/library' +import resolvePageMeta from '~/util/getInitialProps/resolvePageMeta' import ErrorPage from './_error' diff --git a/src/pages/admin/rescues/index.js b/src/pages/admin/rescues/index.js index 9368598d1..bfaec8bdf 100644 --- a/src/pages/admin/rescues/index.js +++ b/src/pages/admin/rescues/index.js @@ -4,11 +4,11 @@ import Link from 'next/link' import React from 'react' import { authenticated } from '~/components/AppLayout' -import { formatAsEliteDateTime } from '~/helpers/formatTime' -import { makePaperworkRoute } from '~/helpers/routeGen' import { connect } from '~/store' import { getRescues } from '~/store/actions/rescues' import { selectPageViewDataById, selectPageViewMetaById } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' diff --git a/src/pages/authorize.js b/src/pages/authorize.js index f7560d1a6..cbce45bb5 100644 --- a/src/pages/authorize.js +++ b/src/pages/authorize.js @@ -3,9 +3,9 @@ import React from 'react' import { authenticated } from '~/components/AppLayout' import ScopeView from '~/components/ScopeView' -import { pageRedirect } from '~/helpers/gIPTools' import { connect } from '~/store' import { getClientOAuthPage } from '~/store/actions/authentication' +import pageRedirect from '~/util/getInitialProps/pageRedirect' diff --git a/src/pages/blog/index.js b/src/pages/blog/index.js index 597f0baf4..37716f471 100644 --- a/src/pages/blog/index.js +++ b/src/pages/blog/index.js @@ -2,13 +2,13 @@ import Link from 'next/link' import React from 'react' import ArticleCard from '~/components/Blog/ArticleCard' -import { makeBlogRoute } from '~/helpers/routeGen' -import safeParseInt from '~/helpers/safeParseInt' import { connect } from '~/store' import { selectBlogs, selectBlogStatistics, } from '~/store/selectors' +import makeBlogRoute from '~/util/router/makeBlogRoute' +import safeParseInt from '~/util/safeParseInt' diff --git a/src/pages/index.js b/src/pages/index.js index 168c5c624..33ec06515 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -3,8 +3,8 @@ import Router from 'next/router' import React from 'react' import Carousel from '~/components/Carousel' -import { makeRoute } from '~/helpers/routeGen' import { connect } from '~/store' +import makeRoute from '~/util/router/makeRoute' diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index a6d594da1..bedb28a2a 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -9,10 +9,6 @@ import RadioInput from '~/components/RadioInput' import RatTagsInput from '~/components/RatTagsInput' import SystemTagsInput from '~/components/SystemTagsInput' import platformRadioOptions from '~/data/platformRadioOptions' -import { formatAsEliteDateTime } from '~/helpers/formatTime' -import getRatTag from '~/helpers/getRatTag' -import { pageRedirect } from '~/helpers/gIPTools' -import { makePaperworkRoute } from '~/helpers/routeGen' import { connect } from '~/store' import { getRescue } from '~/store/actions/rescues' import { @@ -20,6 +16,10 @@ import { selectRescueById, selectCurrentUserCanEditRescue, } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' +import pageRedirect from '~/util/getInitialProps/pageRedirect' +import getRatTag from '~/util/getRatTag' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index 44fa95024..84a55928c 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -4,9 +4,6 @@ import Router from 'next/router' import React from 'react' import { authenticated } from '~/components/AppLayout' -import { formatAsEliteDateTime } from '~/helpers/formatTime' -import { pageRedirect } from '~/helpers/gIPTools' -import { makePaperworkRoute } from '~/helpers/routeGen' import { connect } from '~/store' import { getRescue } from '~/store/actions/rescues' import { @@ -15,6 +12,9 @@ import { selectCurrentUserCanEditRescue, selectCurrentUserHasScope, } from '~/store/selectors' +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' +import pageRedirect from '~/util/getInitialProps/pageRedirect' +import makePaperworkRoute from '~/util/router/makePaperworkRoute' diff --git a/src/pages/profile/[tab].js b/src/pages/profile/[tab].js index adc5be272..c8c0983bf 100644 --- a/src/pages/profile/[tab].js +++ b/src/pages/profile/[tab].js @@ -9,7 +9,7 @@ import ProfileHeader from '~/components/ProfileHeader' import TabbedPanel from '~/components/TabbedPanel' import UserOverview from '~/components/UserOverview' import UserRatsPanel from '~/components/UserRatsPanel' -import { setError } from '~/helpers/gIPTools' +import setError from '~/util/getInitialProps/setError' diff --git a/src/pages/register.js b/src/pages/register.js index e5dc58741..be66b6245 100644 --- a/src/pages/register.js +++ b/src/pages/register.js @@ -3,10 +3,10 @@ import { useDispatch } from 'react-redux' import RegistrationForm, { RegistrationErrorBox } from '~/components/Forms/RegistrationForm' import MessageBox from '~/components/MessageBox' -import getResponseError from '~/helpers/getResponseError' import useMergeReducer from '~/hooks/useMergeReducer' import { login, register } from '~/store/actions/authentication' import { resendVerificationEmail } from '~/store/actions/verify' +import getResponseError from '~/util/getResponseError' diff --git a/src/pages/verify.js b/src/pages/verify.js index 574ec51d6..0c7edb048 100644 --- a/src/pages/verify.js +++ b/src/pages/verify.js @@ -6,12 +6,12 @@ import { useDispatch } from 'react-redux' import PasswordResetForm from '~/components/Forms/PasswordResetForm' import MessageBox from '~/components/MessageBox' import ApiErrorBox from '~/components/MessageBox/ApiErrorBox' -import getResponseError from '~/helpers/getResponseError' -import { pageRedirect } from '~/helpers/gIPTools' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { validatePasswordResetToken, resetPassword } from '~/store/actions/authentication' import { verifyEmailToken } from '~/store/actions/verify' import { selectCurrentUserHasScope } from '~/store/selectors' +import pageRedirect from '~/util/getInitialProps/pageRedirect' +import getResponseError from '~/util/getResponseError' diff --git a/src/pages/version.js b/src/pages/version.js index 7f77ca604..33228aa72 100644 --- a/src/pages/version.js +++ b/src/pages/version.js @@ -3,11 +3,7 @@ import axios from 'axios' import getConfig from 'next/config' import Link from 'next/link' -import { formatAsEliteDateTime } from '~/helpers/formatTime' - - - - +import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' // Component constants const { publicRuntimeConfig } = getConfig() diff --git a/src/store/actions/authentication.js b/src/store/actions/authentication.js index d62861f02..db03df8c9 100644 --- a/src/store/actions/authentication.js +++ b/src/store/actions/authentication.js @@ -3,9 +3,9 @@ import { isError } from 'flux-standard-action' import Cookies from 'js-cookie' import Router from 'next/router' -import getFingerprint from '~/helpers/getFingerprint' -import { presentApiRequestBody } from '~/helpers/presenters' import frApi from '~/services/frApi' +import getFingerprint from '~/util/getFingerprint' +import createRequestBody from '~/util/jsonapi/createRequestBody' import actionTypes from '../actionTypes' import { frApiPlainRequest } from './services' @@ -27,7 +27,7 @@ export const changePassword = ({ id, ...data }) => { { url: `/users/${id}/password`, method: 'patch', - data: presentApiRequestBody('password-changes', data), + data: createRequestBody('password-changes', data), }, ) } @@ -117,7 +117,7 @@ export const register = (data) => { headers: { 'X-Fingerprint': fingerprint, }, - data: presentApiRequestBody('registrations', data), + data: createRequestBody('registrations', data), }, ), ) @@ -131,7 +131,7 @@ export const resetPassword = (token, data) => { { url: `/resets/${token}`, method: 'post', - data: presentApiRequestBody('resets', data), + data: createRequestBody('resets', data), }, ) } @@ -143,7 +143,7 @@ export const sendPasswordResetEmail = (data) => { { url: '/resets', method: 'post', - data: presentApiRequestBody('resets', data), + data: createRequestBody('resets', data), }, ) } diff --git a/src/store/actions/clients.js b/src/store/actions/clients.js index 48517b8e5..f1d1fb870 100644 --- a/src/store/actions/clients.js +++ b/src/store/actions/clients.js @@ -1,4 +1,4 @@ -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' import actionTypes from '../actionTypes' import { frApiRequest } from './services' @@ -24,7 +24,7 @@ export const createClient = (data) => { { url: '/clients', method: 'post', - data: presentApiRequestBody('clients', data), + data: createRequestBody('clients', data), }, ) } diff --git a/src/store/actions/epics.js b/src/store/actions/epics.js index e1800bf38..7858142a1 100644 --- a/src/store/actions/epics.js +++ b/src/store/actions/epics.js @@ -1,4 +1,4 @@ -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' import actionTypes from '../actionTypes' import { frApiRequest } from './services' @@ -22,7 +22,7 @@ export const createEpic = (data) => { { url: '/epics', method: 'post', - data: presentApiRequestBody('epics', data), + data: createRequestBody('epics', data), }, ) } diff --git a/src/store/actions/rats.js b/src/store/actions/rats.js index 1a137aa5d..b32d07ff2 100644 --- a/src/store/actions/rats.js +++ b/src/store/actions/rats.js @@ -1,6 +1,7 @@ import { defineRelationship } from '@fuelrats/web-util/redux-json-api' -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' + import actionTypes from '../actionTypes' import { @@ -42,7 +43,7 @@ export const createRat = (data) => { { url: '/rats', method: 'post', - data: presentApiRequestBody('rats', data), + data: createRequestBody('rats', data), }, createsRelationship( defineRelationship(data.relationships?.user?.data, { rats: [RESOURCE] }), @@ -74,7 +75,7 @@ export const updateRat = (data) => { { url: `/rats/${data.id}`, method: 'put', - data: presentApiRequestBody('rats', data), + data: createRequestBody('rats', data), }, ) } diff --git a/src/store/actions/rescues.js b/src/store/actions/rescues.js index f4c3df0c4..7aa4cf946 100644 --- a/src/store/actions/rescues.js +++ b/src/store/actions/rescues.js @@ -1,4 +1,4 @@ -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' import actionTypes from '../actionTypes' import { DISPATCH_VIEW } from '../reducers/dispatch' @@ -62,7 +62,7 @@ export const updateRescue = (data) => { { url: `/rescues/${data.id}`, method: 'put', - data: presentApiRequestBody('rescues', data), + data: createRequestBody('rescues', data), }, ) } diff --git a/src/store/actions/session.js b/src/store/actions/session.js index eb0615194..0e1ea7035 100644 --- a/src/store/actions/session.js +++ b/src/store/actions/session.js @@ -2,8 +2,10 @@ import { createFSA, createAxiosFSA } from '@fuelrats/web-util/actions' import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' -import { configureRequest, deleteCookie } from '~/helpers/gIPTools' + import frApi from '~/services/frApi' +import configureRequest from '~/util/getInitialProps/configureRequest' +import deleteCookie from '~/util/getInitialProps/deleteCookie' import actionTypes from '../actionTypes' import { diff --git a/src/store/actions/ships.js b/src/store/actions/ships.js index 7c16806ef..12b1d3a58 100644 --- a/src/store/actions/ships.js +++ b/src/store/actions/ships.js @@ -1,6 +1,8 @@ import { defineRelationship } from '@fuelrats/web-util/redux-json-api' -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' + + import actionTypes from '../actionTypes' import { createsRelationship, RESOURCE, deletesResource, deletesRelationship } from '../reducers/frAPIResources' @@ -37,7 +39,7 @@ export const createShip = (data) => { { url: '/ships', method: 'post', - data: presentApiRequestBody('ships', data), + data: createRequestBody('ships', data), }, createsRelationship( defineRelationship(data.relationships?.rat?.data, { ships: [RESOURCE] }), @@ -67,7 +69,7 @@ export const updateShip = (data) => { { url: `/ships/${data.id}`, method: 'put', - data: presentApiRequestBody('ships', data), + data: createRequestBody('ships', data), }, ) } diff --git a/src/store/actions/user.js b/src/store/actions/user.js index 90bbda357..d0511d635 100644 --- a/src/store/actions/user.js +++ b/src/store/actions/user.js @@ -1,6 +1,8 @@ import { defineRelationship } from '@fuelrats/web-util/redux-json-api' -import { presentApiRequestBody } from '~/helpers/presenters' +import createRequestBody from '~/util/jsonapi/createRequestBody' + + import actionTypes from '../actionTypes' import { deletesResource, deletesRelationship, createsRelationship, RESOURCE } from '../reducers/frAPIResources' @@ -23,7 +25,7 @@ export const addNickname = (user, data) => { { url: '/nicknames', method: 'post', - data: presentApiRequestBody('nicknames', data), + data: createRequestBody('nicknames', data), }, createsRelationship( defineRelationship(user, { nicknames: [RESOURCE] }), @@ -63,7 +65,7 @@ export const updateUser = (data, password) => { const request = { url: `/users/${data.id}`, method: 'put', - data: presentApiRequestBody('users', data), + data: createRequestBody('users', data), } if (password) { diff --git a/src/store/reducers/frSocket.js b/src/store/reducers/frSocket.js index 7617b3553..b8e0d966a 100644 --- a/src/store/reducers/frSocket.js +++ b/src/store/reducers/frSocket.js @@ -2,8 +2,8 @@ import { SOCKET_OPEN, SOCKET_CLOSE } from '@fuelrats/web-util/redux-ratsocket' import { isError } from 'flux-standard-action' import { produce } from 'immer' -import unshiftSplice from '~/helpers/unshiftSplice' import frSocket from '~/services/frSocket' +import unshiftSplice from '~/util/array/unshiftSplice' import initialState from '../initialState' diff --git a/src/store/reducers/users.js b/src/store/reducers/users.js index fca777a7f..9cd277275 100644 --- a/src/store/reducers/users.js +++ b/src/store/reducers/users.js @@ -1,7 +1,7 @@ import { isError } from 'flux-standard-action' import { produce } from 'immer' -import safeParseInt from '~/helpers/safeParseInt' +import safeParseInt from '~/util/safeParseInt' import actionTypes from '../actionTypes' import initialState from '../initialState' diff --git a/src/store/selectors/decals.js b/src/store/selectors/decals.js index ca9c7c5f4..855924116 100644 --- a/src/store/selectors/decals.js +++ b/src/store/selectors/decals.js @@ -1,6 +1,7 @@ import { createCachedSelector } from 're-reselect' -import safeParseInt from '~/helpers/safeParseInt' +import safeParseInt from '~/util/safeParseInt' + import { withCurrentUserId } from './session' import { getUserId, selectUserById } from './users' diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index 995097a8f..4658f9217 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -1,6 +1,7 @@ import { createCachedSelector } from 're-reselect' -import { includesAll, includesSome } from '~/helpers/arrIncludes' +import includesAll from '~/util/array/includesAll' +import includesSome from '~/util/array/includesSome' import { withCurrentUserId } from './session' diff --git a/src/util/array/includesAll.js b/src/util/array/includesAll.js new file mode 100644 index 000000000..fdc744960 --- /dev/null +++ b/src/util/array/includesAll.js @@ -0,0 +1,5 @@ +export default function includesAll (target, items) { + return target.every((targetItem) => { + return items.includes(targetItem) + }) +} diff --git a/src/util/array/includesSome.js b/src/util/array/includesSome.js new file mode 100644 index 000000000..a294bca52 --- /dev/null +++ b/src/util/array/includesSome.js @@ -0,0 +1,5 @@ +export default function includesSome (target, items) { + return target.some((targetItem) => { + return items.includes(targetItem) + }) +} diff --git a/src/helpers/unshiftSplice.js b/src/util/array/unshiftSplice.js similarity index 100% rename from src/helpers/unshiftSplice.js rename to src/util/array/unshiftSplice.js diff --git a/src/util/date/formatAsEliteDate.js b/src/util/date/formatAsEliteDate.js new file mode 100644 index 000000000..898eea178 --- /dev/null +++ b/src/util/date/formatAsEliteDate.js @@ -0,0 +1,12 @@ +import formatElite from './formatElite' + +/** + * @param {string | number | Date} value Timestamp string, epoch, or date object. + * @returns {string} + */ +export default function formatAsEliteDate (value) { + return formatElite( + value, + 'dd MMM yyyy', + ).toUpperCase() +} diff --git a/src/util/date/formatAsEliteDateTime.js b/src/util/date/formatAsEliteDateTime.js new file mode 100644 index 000000000..769de6f40 --- /dev/null +++ b/src/util/date/formatAsEliteDateTime.js @@ -0,0 +1,13 @@ +import formatElite from './formatElite' + +/** + * @param {string | number | Date} value Timestamp string, epoch, or date object. + * @param {boolean} withSeconds + * @returns {string} + */ +export default function formatAsEliteDateTime (value, withSeconds) { + return formatElite( + value, + `dd MMM yyyy HH:mm${withSeconds ? ':ss' : ''}`, + ).toUpperCase() +} diff --git a/src/util/date/formatElite.js b/src/util/date/formatElite.js new file mode 100644 index 000000000..3b849666e --- /dev/null +++ b/src/util/date/formatElite.js @@ -0,0 +1,16 @@ +import { format as formatTz } from 'date-fns-tz' + +import toEliteDate from './toEliteDate' + +/** + * @param {string | number | Date} value Timestamp string, epoch, or date object. + * @param {string} format date-fns format string + * @returns {string} + */ +export default function formatElite (value, format) { + return formatTz( + toEliteDate(value), + format, + { timeZone: 'UTC' }, + ) +} diff --git a/src/util/date/formatTimeElapsed.js b/src/util/date/formatTimeElapsed.js new file mode 100644 index 000000000..ea4d4f6bb --- /dev/null +++ b/src/util/date/formatTimeElapsed.js @@ -0,0 +1,29 @@ +const MILLISECONDS_IN_SECOND = 1000 +const MINUTES_IN_HOUR = 60 +const SECONDS_IN_HOUR = 3600 +const SECONDS_IN_MINUTE = 60 +const SECONDS_IN_DAY = 86400 + +function padNum (number) { + return String(number).padStart(2, 0) +} + +/** + * @param {string | number | Date} value Timestamp string, epoch, or date object. + * @returns {[string, number]} A tuple containing the formatted string and the remainder amount of milliseconds. + */ +export default function formatTimeElapsed (value) { + const startTime = (new Date(value)).getTime() + const nowTime = Date.now() + + const totalMilliseconds = nowTime - startTime + const totalSeconds = Math.floor(totalMilliseconds / MILLISECONDS_IN_SECOND) + + const days = Math.floor(totalSeconds / SECONDS_IN_DAY) + const hours = Math.floor((totalSeconds % SECONDS_IN_DAY) / SECONDS_IN_HOUR) + const minutes = Math.floor((totalSeconds % SECONDS_IN_HOUR) / MINUTES_IN_HOUR) + const seconds = totalSeconds % SECONDS_IN_MINUTE + const milliseconds = totalMilliseconds % MILLISECONDS_IN_SECOND + + return [`${days > 0 ? `${days}d ` : ''}${padNum(hours)}:${padNum(minutes)}:${padNum(seconds)}`, milliseconds] +} diff --git a/src/util/date/toEliteDate.js b/src/util/date/toEliteDate.js new file mode 100644 index 000000000..9a376a8f5 --- /dev/null +++ b/src/util/date/toEliteDate.js @@ -0,0 +1,19 @@ +const ELITE_GAME_YEAR_DISPARITY = 1286 // Years between IRL year and Elite universe year + +/** + * @param {string | number | Date} value Timestamp string, epoch, or date object. + * @returns {Date} + */ +export default function toEliteDate (value) { + const date = new Date(value) + + return new Date( + date.getUTCFullYear() + ELITE_GAME_YEAR_DISPARITY, + date.getUTCMonth(), + date.getUTCDate(), + date.getUTCHours(), + date.getUTCMinutes(), + date.getUTCSeconds(), + date.getUTCMilliseconds(), + ) +} diff --git a/src/helpers/faIconLibrary.js b/src/util/fontawesome/library.js similarity index 99% rename from src/helpers/faIconLibrary.js rename to src/util/fontawesome/library.js index e34b118c7..27f758b0d 100644 --- a/src/helpers/faIconLibrary.js +++ b/src/util/fontawesome/library.js @@ -46,10 +46,6 @@ export { faUserSecret, } from '@fortawesome/free-solid-svg-icons' - - - - export { faTwitter, faRedditAlien, diff --git a/src/helpers/getFingerprint.js b/src/util/getFingerprint.js similarity index 100% rename from src/helpers/getFingerprint.js rename to src/util/getFingerprint.js diff --git a/src/util/getInitialProps/configureRequest.js b/src/util/getInitialProps/configureRequest.js new file mode 100644 index 000000000..1f07df567 --- /dev/null +++ b/src/util/getInitialProps/configureRequest.js @@ -0,0 +1,33 @@ +import nextCookies from 'next-cookies' + +import frApi from '~/services/frApi' + + + + + +export default function configureRequest (ctx) { + // Always setup access token + const { access_token: accessToken } = nextCookies(ctx) + if (accessToken) { + ctx.accessToken = accessToken + } + + // If we're on the server, we should set proxy headers to retain origin IP + if (ctx.isServer) { + const realIp = ctx.req.headers['x-real-ip'] ?? ctx.req.client?.remoteAddress + if (realIp) { + frApi.defaults.headers.common['x-real-ip'] = realIp + } + + const forwardedFor = ctx.req.headers['x-forwarded-for'] ?? ctx.req.client?.remoteAddress + if (forwardedFor) { + frApi.defaults.headers.common['x-forwarded-for'] = forwardedFor + } + + const forwardedProto = ctx.req.headers['x-forwarded-proto'] ?? ctx.req.headers.host + if (forwardedProto) { + frApi.defaults.headers.common['x-forwarded-proto'] = forwardedProto + } + } +} diff --git a/src/util/getInitialProps/deleteCookie.js b/src/util/getInitialProps/deleteCookie.js new file mode 100644 index 000000000..20aae6b1d --- /dev/null +++ b/src/util/getInitialProps/deleteCookie.js @@ -0,0 +1,9 @@ +import jsCookie from 'js-cookie' + +export default function deleteCookie (cookieName, ctx = {}) { + if (ctx.res) { + ctx.res.setHeader('Set-Cookie', `${cookieName}=null; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`) + } else { + jsCookie.remove(cookieName) + } +} diff --git a/src/util/getInitialProps/pageRedirect.js b/src/util/getInitialProps/pageRedirect.js new file mode 100644 index 000000000..756449ef3 --- /dev/null +++ b/src/util/getInitialProps/pageRedirect.js @@ -0,0 +1,32 @@ +import { HttpStatus } from '@fuelrats/web-util/http' +import Router from 'next/router' + + + + + +export default function pageRedirect (ctx, route) { + let href = null + let as = null + + if (typeof route === 'object') { + href = route.href + as = route.as + } else if (typeof route === 'string') { + as = route + } + + if (ctx.res) { + ctx.res.writeHead(HttpStatus.FOUND, { + Location: as, + }) + ctx.res.end() + ctx.res.finished = true + } else if (route.startsWith('http')) { + if (typeof window !== 'undefined') { + window.location.replace(as) + } + } else { + Router.replace(href ?? as, as) + } +} diff --git a/src/util/getInitialProps/resolvePageMeta.js b/src/util/getInitialProps/resolvePageMeta.js new file mode 100644 index 000000000..765a03514 --- /dev/null +++ b/src/util/getInitialProps/resolvePageMeta.js @@ -0,0 +1,36 @@ +const MAX_TITLE_LENGTH = 50 +const MAX_DESCR_LENGTH = 300 + +function validatePageMeta (props) { + if (!props.title?.length) { + console.error('Pages must contain a unique title') + } + + if (props.title?.length > MAX_TITLE_LENGTH) { + console.warn(`Page titles should be fewer than 60 characters, preferably closer to 50. This page's title is ${props.title.length} characters.`) + } + + if (props.description?.length > MAX_DESCR_LENGTH) { + console.error(`Page description is too long! The description should be 50-300 characters long, but this page's description is ${props.description.length} characters.`) + } + + if (props.description && props.description.indexOf('"') !== -1) { + console.error('Page descriptions shouldn\'t contain double quotes.') + } +} + +export default async function resolvePageMeta (Component, ctx, pageProps) { + const pageMeta = { + description: 'The Fuel Rats are Elite: Dangerous\'s premier emergency refueling service. Fueling the galaxy, one ship at a time, since 3301.', + ...(await Component.getPageMeta?.(ctx, pageProps)) ?? {}, + } + + if ($$BUILD.isDev) { + validatePageMeta(pageMeta) + } + + return { + ...pageMeta, + className: `${(pageMeta.title ?? 'fuel-rats').toLowerCase().replace(/\s/gu, '-')} ${pageMeta.className ?? ''}`, + } +} diff --git a/src/util/getInitialProps/setError.js b/src/util/getInitialProps/setError.js new file mode 100644 index 000000000..fca232cc9 --- /dev/null +++ b/src/util/getInitialProps/setError.js @@ -0,0 +1,6 @@ +export default function setError (ctx, statusCode, message) { + if (ctx.res) { + ctx.res.statusCode = statusCode + } + ctx.err = { statusCode, message } +} diff --git a/src/helpers/getRatTag.js b/src/util/getRatTag.js similarity index 100% rename from src/helpers/getRatTag.js rename to src/util/getRatTag.js diff --git a/src/helpers/getResponseError.js b/src/util/getResponseError.js similarity index 100% rename from src/helpers/getResponseError.js rename to src/util/getResponseError.js diff --git a/src/helpers/getValidityErrors.js b/src/util/getValidityErrors.js similarity index 100% rename from src/helpers/getValidityErrors.js rename to src/util/getValidityErrors.js diff --git a/src/helpers/isEqual.js b/src/util/isEqual.js similarity index 100% rename from src/helpers/isEqual.js rename to src/util/isEqual.js diff --git a/src/helpers/presenters.js b/src/util/jsonapi/createRequestBody.js similarity index 94% rename from src/helpers/presenters.js rename to src/util/jsonapi/createRequestBody.js index 52e5f2439..f89dc6551 100644 --- a/src/helpers/presenters.js +++ b/src/util/jsonapi/createRequestBody.js @@ -1,6 +1,6 @@ import { isRequired } from '@fuelrats/validation-util' -export function presentApiRequestBody ( +export default function createRequestBody ( type = isRequired('resourceType'), data = isRequired('data'), documentMeta, diff --git a/src/helpers/extPropTypes.js b/src/util/propTypes/extPropTypes.js similarity index 100% rename from src/helpers/extPropTypes.js rename to src/util/propTypes/extPropTypes.js diff --git a/src/util/router/makeBlogRoute.js b/src/util/router/makeBlogRoute.js new file mode 100644 index 000000000..4846f9f7b --- /dev/null +++ b/src/util/router/makeBlogRoute.js @@ -0,0 +1,31 @@ +import makeRoute from './makeRoute' + +/** + * @param {object} params + * @param {string|number|null} params.author + * @param {string|number|null} params.category + * @param {string|number|null} params.page + * @returns {string} + */ +export default function makeBlogRoute (params) { + const { + author, + category, + page, + ...query + } = params + + let route = '/blog' + + if (author) { + route += `/author/${author}` + } else if (category) { + route += `/category/${category}` + } + + if (typeof page === 'number') { + route += `/page/${page}` + } + + return makeRoute(route, query) +} diff --git a/src/util/router/makePaperworkRoute.js b/src/util/router/makePaperworkRoute.js new file mode 100644 index 000000000..96d9bed9b --- /dev/null +++ b/src/util/router/makePaperworkRoute.js @@ -0,0 +1,22 @@ +import makeRoute from './makeRoute' + +/** + * @param {object} params + * @param {string} params.rescueId + * @returns {string} + */ +export default function makePaperworkRoute (params) { + const { + edit = false, + rescueId, + ...query + } = params + + let route = `/paperwork/${rescueId}` + + if (edit) { + route += '/edit' + } + + return makeRoute(route, query) +} diff --git a/src/util/router/makeRoute.js b/src/util/router/makeRoute.js new file mode 100644 index 000000000..b1f270198 --- /dev/null +++ b/src/util/router/makeRoute.js @@ -0,0 +1,21 @@ +import qs from 'qs' + +/** + * @param {string} href + * @param {object} query + * @returns {string} + */ +export default function makeRoute (href = '', query = {}) { + let [route = '/', qStr = ''] = href.split('?') + + const nextQStr = qs.stringify({ + ...qs.parse(qStr), + ...query, + }) + + if (nextQStr.length) { + route += `?${nextQStr}` + } + + return route +} diff --git a/src/helpers/safeParseInt.js b/src/util/safeParseInt.js similarity index 100% rename from src/helpers/safeParseInt.js rename to src/util/safeParseInt.js diff --git a/src/util/string/getMoney.js b/src/util/string/getMoney.js new file mode 100644 index 000000000..a4ea2fa76 --- /dev/null +++ b/src/util/string/getMoney.js @@ -0,0 +1,16 @@ +/** + * Converts numerical currency into a formatted currency string. + * + * ( ͡° ͜ʖ ͡°) Xlexious made me do it. + * + * @param {number} amount Amount of money expressed in minor currency. I.E. `$1.00` = `100` + * @param {*} currency ISO 4217 3-letter currency code + * @returns {string} + */ +export default function getMoney (amount, currency = 'EUR') { + return (amount / 100).toLocaleString('en-US', { + style: 'currency', + currency, + currencyDisplay: 'symbol', + }) +} diff --git a/src/helpers/stringToStrictBoolean.js b/src/util/string/stringToStrictBoolean.js similarity index 100% rename from src/helpers/stringToStrictBoolean.js rename to src/util/string/stringToStrictBoolean.js diff --git a/src/helpers/uuidValidator.js b/src/util/string/uuidValidator.js similarity index 100% rename from src/helpers/uuidValidator.js rename to src/util/string/uuidValidator.js From 02a5c06599df27ffa46a49115b2c9919314f5cd0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 23:21:23 +0000 Subject: [PATCH 107/300] chore: remove unnecessary image domain --- next.config.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/next.config.js b/next.config.js index cd3560129..44ca9bccb 100644 --- a/next.config.js +++ b/next.config.js @@ -1,6 +1,5 @@ /* eslint-env node */ const crypto = require('crypto') -const url = require('url') const getCIEnv = require('./.config/getCIEnv') const headersConfig = require('./.config/headers.config') @@ -27,7 +26,6 @@ module.exports = () => { images: { disableStaticImages: true, domains: [ - url.parse(env.appUrl).hostname, // Ensure the public hostname is always allowed. 'wordpress.fuelrats.com', 'static-cdn.jtvnw.net', ], From 48b3d11ac1c8b9d9e41f3eb374fbed1644ea9314 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 4 Jul 2021 23:37:06 +0000 Subject: [PATCH 108/300] fix: ensure error meta is being defined properly --- src/pages/api/qms/queue.js | 24 ++++++++----------- src/util/server/middleware/acceptMethod.js | 6 ++--- .../middleware/jsonApiRoute/JsonApiContext.js | 2 +- .../server/middleware/trafficController.js | 4 +++- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/pages/api/qms/queue.js b/src/pages/api/qms/queue.js index 86beef6e0..f39308d47 100644 --- a/src/pages/api/qms/queue.js +++ b/src/pages/api/qms/queue.js @@ -51,13 +51,11 @@ export default jsonApiRoute( cache.count.value = rescueQueue.length } else { - ctx.error(new InternalServerAPIError({ - meta: { - internalError: { - url: '/api/v1/queue/', - status, - statusText, - }, + ctx.error(new InternalServerAPIError(null, { + internalError: { + url: '/api/v1/queue/', + status, + statusText, }, })) } @@ -77,13 +75,11 @@ export default jsonApiRoute( if (status === HttpStatus.OK) { cache.max.value = data.max_active_clients } else { - ctx.error(new InternalServerAPIError({ - meta: { - internalError: { - url: '/api/v1/config/', - status, - statusText, - }, + ctx.error(new InternalServerAPIError(null, { + internalError: { + url: '/api/v1/config/', + status, + statusText, }, })) } diff --git a/src/util/server/middleware/acceptMethod.js b/src/util/server/middleware/acceptMethod.js index 0d6c4a3ce..df601e67e 100644 --- a/src/util/server/middleware/acceptMethod.js +++ b/src/util/server/middleware/acceptMethod.js @@ -26,10 +26,8 @@ function acceptMethod (...methods) { if (!allowedMethods.includes(reqMethod)) { ctx.res.setHeader('Allow', allowedMethods.join(', ')) - throw new MethodNotAllowedAPIError({ - meta: { - allowedMethods, - }, + throw new MethodNotAllowedAPIError(null, { + allowedMethods, }) } diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 90edcc3c8..8e4eaefa6 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -55,7 +55,7 @@ export default class JsonApiContext { this.#resErrors[first ? 'unshift' : 'push']( error instanceof APIError ? error - : new InternalServerAPIError({ internalError: error }), + : new InternalServerAPIError(null, { internalError: error }), ) } diff --git a/src/util/server/middleware/trafficController.js b/src/util/server/middleware/trafficController.js index b4172768c..baeb6c6e3 100644 --- a/src/util/server/middleware/trafficController.js +++ b/src/util/server/middleware/trafficController.js @@ -165,7 +165,9 @@ const trafficController = () => { ctx.meta.rateLimitReset = user.reset if (user.exceeded) { - throw new TooManyRequestsAPIError() + throw new TooManyRequestsAPIError(null, { + tryAfter: user.reset, + }) } await next() From 41245a73d1c2fbe127f8a0798376357ba4cc4ba4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 00:56:26 +0000 Subject: [PATCH 109/300] refactor: remove unnecessary reliance on appUrl --- src/components/ProfileHeader/ProfileHeader.js | 9 +-------- src/components/UserMenu/UserMenu.js | 10 +--------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index b12616f77..8a4d6d784 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -1,4 +1,3 @@ -import getConfig from 'next/config' import Image from 'next/image' import React from 'react' @@ -20,12 +19,6 @@ import UnverifiedUserBanner from './UnverifiedUserBanner' -const { publicRuntimeConfig } = getConfig() -const { appUrl } = publicRuntimeConfig - - - - @connect class ProfileHeader extends React.Component { @@ -108,7 +101,7 @@ class ProfileHeader extends React.Component { unoptimized alt="User's avatar" height={170} - src={`${appUrl}${userAvatar}`} + src={userAvatar} width={170} />

    diff --git a/src/components/UserMenu/UserMenu.js b/src/components/UserMenu/UserMenu.js index 5f3974c5a..fa7bbcf63 100644 --- a/src/components/UserMenu/UserMenu.js +++ b/src/components/UserMenu/UserMenu.js @@ -1,4 +1,3 @@ -import getConfig from 'next/config' import Image from 'next/image' import { useCallback, useRef } from 'react' import { useDispatch, useSelector } from 'react-redux' @@ -21,13 +20,6 @@ import styles from './UserMenu.module.scss' -const { publicRuntimeConfig } = getConfig() -const { appUrl } = publicRuntimeConfig - - - - - function UserMenu () { const checkboxRef = useRef() @@ -70,7 +62,7 @@ function UserMenu () { unoptimized alt="User's avatar" height={64} - src={`${appUrl}${userAvatar}`} + src={userAvatar} width={64} /> ) } From 102b8849fca9d05e645f3e3b9c9a7b80fe424848 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 00:57:27 +0000 Subject: [PATCH 110/300] fix(user-selectors): use correct default avatar path --- src/store/selectors/users.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index 4658f9217..d23ddcc46 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -48,7 +48,7 @@ export const selectAvatarByUserId = (state, props) => { return user.attributes.image ? `/api/users/${user.id}/avatar` - : `/api/avatars/${props.size ?? AVATAR_DEFAULT_SIZE}/${user.id}` + : `/api/avatars/${user.id}/${props.size ?? AVATAR_DEFAULT_SIZE}` } export const selectCurrentUserScopes = (state) => { From b32aac7a6e610ea247c94456385091c68e30557f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 00:57:56 +0000 Subject: [PATCH 111/300] refactor(getCIEnv-config): default git branch to develop --- .config/getCIEnv.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/getCIEnv.js b/.config/getCIEnv.js index bc89f24b1..37148221d 100644 --- a/.config/getCIEnv.js +++ b/.config/getCIEnv.js @@ -7,7 +7,7 @@ function getCIEnv () { isCi: process.env.CI, ciId: process.env.GITHUB_RUN_ID, server: process.env.GITHUB_SERVER_URL, - branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? null, + branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? 'develop', commit: process.env.GITHUB_SHA?.toLowerCase() ?? null, commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase() ?? null, } From 9392366d2ab3792cb5b978fc32345f9076879896 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 00:59:14 +0000 Subject: [PATCH 112/300] refactor(errors-util): default json entires to undefined so they are removed if null --- src/util/server/errors.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/util/server/errors.js b/src/util/server/errors.js index 658b05d1b..a46c0b291 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -40,15 +40,17 @@ export class APIError extends Error { } toJSON () { + // all elements are defaulted to undefined. + // This removes the entry from the resulting object. return { id: this.id, - links: this.links, - status: this.status, - code: this.code, - title: this.title, - detail: this.detail, - source: this.source, - meta: this.meta, + links: this.links ?? undefined, + status: this.status ?? undefined, + code: this.code ?? undefined, + title: this.title ?? undefined, + detail: this.detail ?? undefined, + source: this.source ?? undefined, + meta: this.meta ?? undefined, } } } From c2fc11dfc84ad218fa2310199de9e2fbd9002247 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 00:59:34 +0000 Subject: [PATCH 113/300] chore: update web-util --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1294aab23..2ed6dd4c3 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fortawesome/react-fontawesome": "^0.1.14", "@fuelrats/next-adorable-avatars": "^0.3.0", "@fuelrats/validation-util": "^1.2.0", - "@fuelrats/web-util": "^0.3.2", + "@fuelrats/web-util": "^0.3.3", "@next/eslint-plugin-next": "^11.0.1", "axios": "^0.21.1", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 3ff0b2e69..00ad2cfd1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2064,9 +2064,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/web-util@npm:^0.3.2": - version: 0.3.2 - resolution: "@fuelrats/web-util@npm:0.3.2" +"@fuelrats/web-util@npm:^0.3.3": + version: 0.3.3 + resolution: "@fuelrats/web-util@npm:0.3.3" dependencies: "@babel/runtime": ^7.11.2 "@fuelrats/validation-util": ^1.2.0 @@ -2077,7 +2077,7 @@ __metadata: axios: ">=0.18" redux: "*" redux-thunk: "*" - checksum: f1f29c3b6d1e63803f1bc39818d51ef6d27c5ec64f1d39cd0b7c546f8f198962d51de74efe79c8ba554fe06890a95b8c9e85be76257e34194bf86c7f9720fafd + checksum: fe687f644ea3f532818ca87a3a3cc65d6edc8bc3cf913251e69faad33eafad879f2f0908fe34b55fdb36b39c3d0029f4709f4579c9fc692abeea961b8b3b7da9 languageName: node linkType: hard @@ -5498,7 +5498,7 @@ fsevents@~2.3.1: "@fuelrats/next-adorable-avatars": ^0.3.0 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 - "@fuelrats/web-util": ^0.3.2 + "@fuelrats/web-util": ^0.3.3 "@next/eslint-plugin-next": ^11.0.1 "@svgr/webpack": ^5.5.0 "@types/hoist-non-react-statics": ^3.3.1 From 26d8ee4570b12896a11b9a213fd9bffb3edf93b8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 01:01:31 +0000 Subject: [PATCH 114/300] refactor(apiProxy-util): configure logger --- src/util/server/apiProxy.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/util/server/apiProxy.js b/src/util/server/apiProxy.js index 9b2b27627..b7a44b3ea 100644 --- a/src/util/server/apiProxy.js +++ b/src/util/server/apiProxy.js @@ -1,7 +1,17 @@ import { createProxyMiddleware } from 'http-proxy-middleware' +import * as log from 'next/dist/build/output/log' +function logProvider () { + return { + log: log.info, + debug: log.info, + info: log.info, + warn: log.warn, + error: log.error, + } +} export const config = { @@ -14,6 +24,8 @@ export const config = { export default function apiProxy (options) { return createProxyMiddleware({ changeOrigin: true, + logLevel: $$BUILD.isDev ? 'debug' : 'warn', + logProvider, secure: true, xfwd: true, ...options, From a535842c7be3bd1b762cd0d9375ea57450fe45d5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 01:24:05 +0000 Subject: [PATCH 115/300] fix(apiErrorLocalisation-data): add missing internal_server_error data --- src/data/apiErrorLocalisations.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/data/apiErrorLocalisations.js b/src/data/apiErrorLocalisations.js index a7c5d481c..a402dd2d8 100644 --- a/src/data/apiErrorLocalisations.js +++ b/src/data/apiErrorLocalisations.js @@ -28,6 +28,11 @@ const apiErrorLocalisations = { title: 'Not Implemented', detail: 'The server does not support the functionality required to fulfill the request.', }, + + internal_server_error: { + title: 'Internal Server Error', + detail: 'The server encountered an unexpected condition that prevented it from fulfilling the request.', + }, } export default apiErrorLocalisations From 64176f244475def7da40b0b0874ce50f0b630816 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 01:25:06 +0000 Subject: [PATCH 116/300] fix(error-util): ensure getters are error-safe, add message getter, bind toJSON --- src/util/server/errors.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/util/server/errors.js b/src/util/server/errors.js index a46c0b291..41169919b 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -3,6 +3,8 @@ import UUID from 'pure-uuid' import apiErrorLocalisations from '~/data/apiErrorLocalisations' +import bindMethod from '../decorators/bindMethod' + const UUID_VERSION = 4 /** @@ -11,12 +13,15 @@ const UUID_VERSION = 4 export class APIError extends Error { constructor (source, meta) { super() - this.message = this.detail this.id = (new UUID(UUID_VERSION)).toString() this.source = source this.meta = meta } + get message () { + return this.detail + } + get code () { return HttpStatus[this.status.toUpperCase()] } @@ -26,11 +31,11 @@ export class APIError extends Error { } get title () { - return apiErrorLocalisations[this.status].title + return apiErrorLocalisations[this.status]?.title } get detail () { - return apiErrorLocalisations[this.status].detail + return apiErrorLocalisations[this.status]?.detail } get links () { @@ -39,6 +44,7 @@ export class APIError extends Error { } } + @bindMethod toJSON () { // all elements are defaulted to undefined. // This removes the entry from the resulting object. From eca9a614d63e20ad4813ea3bbe59b1013a207ea5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 01:25:57 +0000 Subject: [PATCH 117/300] fix(jsonApiRoute-util): ensure internal errors are properly mapped --- src/util/server/middleware/jsonApiRoute/JsonApiContext.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 8e4eaefa6..07e7e0c82 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -55,7 +55,12 @@ export default class JsonApiContext { this.#resErrors[first ? 'unshift' : 'push']( error instanceof APIError ? error - : new InternalServerAPIError(null, { internalError: error }), + : new InternalServerAPIError(null, { + internalError: { + name: error.name, + message: error.message, + }, + }), ) } From 5bf8a8cb62cb464c7a031a72c112be6d1738b552 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 02:17:41 +0000 Subject: [PATCH 118/300] fix: ensure build URL is always valid --- .config/getCIEnv.js | 7 ++++--- .config/webpack.config.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.config/getCIEnv.js b/.config/getCIEnv.js index 37148221d..598d35214 100644 --- a/.config/getCIEnv.js +++ b/.config/getCIEnv.js @@ -6,10 +6,11 @@ function getCIEnv () { ciEnv = { isCi: process.env.CI, ciId: process.env.GITHUB_RUN_ID, - server: process.env.GITHUB_SERVER_URL, + server: process.env.GITHUB_SERVER_URL ?? 'https://github.com', + repository: process.env.GITHUB_REPOSITORY ?? 'fuelrats/fuelrats.com', branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? 'develop', - commit: process.env.GITHUB_SHA?.toLowerCase() ?? null, - commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase() ?? null, + commit: process.env.GITHUB_SHA?.toLowerCase(), + commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase(), } } diff --git a/.config/webpack.config.js b/.config/webpack.config.js index ea8534de9..bcba98cc0 100644 --- a/.config/webpack.config.js +++ b/.config/webpack.config.js @@ -20,7 +20,7 @@ module.exports = () => { '$$BUILD.commit': JSON.stringify(ciEnv.commit ?? null), '$$BUILD.commitShort': JSON.stringify(ciEnv.commitShort ?? ciEnv.branch), '$$BUILD.date': JSON.stringify((new Date()).toISOString()), - '$$BUILD.url': JSON.stringify(`${ciEnv.server}/fuelrats/fuelrats.com/actions/runs/${ciEnv.ciId}`), + '$$BUILD.url': JSON.stringify(`${ciEnv.server}/${ciEnv.repository}${ciEnv.ciId ? `/actions/runs/${ciEnv.ciId}` : ''}`), '$$BUILD.id': JSON.stringify(opt.buildId), '$$BUILD.nodeVersion': JSON.stringify(process.version), })) From 834690e85498444f2a177556826c5ce8d5bb38ff Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:34:43 +0000 Subject: [PATCH 119/300] fix(version-page): use standard attribute naming, fix version tag link --- src/pages/api/version.js | 8 ++++---- src/pages/version.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pages/api/version.js b/src/pages/api/version.js index aa83525e5..121cee759 100644 --- a/src/pages/api/version.js +++ b/src/pages/api/version.js @@ -15,10 +15,10 @@ export default jsonApiRoute( id: $$BUILD.id, type: 'fr-web-builds', attributes: { - branch: $$BUILD.branch ?? 'develop', - builtOn: $$BUILD.date ?? null, - builtAt: $$BUILD.url ?? null, - commit: $$BUILD.commit ?? null, + branch: $$BUILD.branch, + builtAt: $$BUILD.date, + buildUrl: $$BUILD.url, + commit: $$BUILD.commit, versions: { app: `v${appVersion}`, node: $$BUILD.nodeVersion, diff --git a/src/pages/version.js b/src/pages/version.js index 33228aa72..967ebc42b 100644 --- a/src/pages/version.js +++ b/src/pages/version.js @@ -17,8 +17,8 @@ function Version ({ version }) { const { branch, versions, - builtOn, builtAt, + buildUrl, commit, } = version.attributes return ( @@ -33,7 +33,7 @@ function Version ({ version }) {
    {'App Version: '} - + {versions.app} @@ -45,8 +45,8 @@ function Version ({ version }) { {'Built On: '} - - + + From ec5b42f3a178e7cd81b1a1843a6e00b88bfd6c60 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:35:30 +0000 Subject: [PATCH 120/300] refactor(paperwork-page): allow error page to handle rescue fetch errors. --- src/pages/paperwork/[rescueId]/edit.js | 23 +++++++++-------- src/pages/paperwork/[rescueId]/index.js | 33 +++++++++---------------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index bedb28a2a..eca09ea98 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -1,3 +1,4 @@ +import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import Router from 'next/router' import React from 'react' @@ -18,7 +19,9 @@ import { } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' import pageRedirect from '~/util/getInitialProps/pageRedirect' +import setError from '~/util/getInitialProps/setError' import getRatTag from '~/util/getRatTag' +import getResponseError from '~/util/getResponseError' import makePaperworkRoute from '~/util/router/makePaperworkRoute' @@ -336,7 +339,15 @@ class Paperwork extends React.Component { const state = store.getState() if (!selectRescueById(state, query)) { - await store.dispatch(getRescue(query.rescueId)) + const response = await store.dispatch(getRescue(query.rescueId)) + const error = getResponseError(response) + + if (error) { + if (error?.code === HttpStatus.NOT_FOUND) { + error.detail = 'We tried looking everywhere, but this rescue doesn\'t exist.' + } + setError(ctx, error.code, error.detail) + } } } @@ -550,15 +561,7 @@ class Paperwork extends React.Component { ) } - { - (!rescue) && ( -
    -

    {"Sorry, we couldn't find the paperwork you requested."}

    -
    - ) - } - - {(rescue) && this.renderRescueEditForm()} + {this.renderRescueEditForm()} ) } diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index 84a55928c..de18dcb10 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -1,4 +1,5 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { HttpStatus } from '@fuelrats/web-util/http' import Link from 'next/link' import Router from 'next/router' import React from 'react' @@ -14,6 +15,8 @@ import { } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' import pageRedirect from '~/util/getInitialProps/pageRedirect' +import setError from '~/util/getInitialProps/setError' +import getResponseError from '~/util/getResponseError' import makePaperworkRoute from '~/util/router/makePaperworkRoute' @@ -114,7 +117,11 @@ class Paperwork extends React.Component { const state = store.getState() if (!selectRescueById(state, query)) { - await store.dispatch(getRescue(query.rescueId)) + const response = await store.dispatch(getRescue(query.rescueId)) + const error = getResponseError(response) + if (error) { + setError(ctx, HttpStatus.NOT_FOUND, 'We tried looking everywhere, but this rescue doesn\'t exist.') + } } } @@ -363,28 +370,10 @@ class Paperwork extends React.Component { } render () { - const { - rescue, - } = this.props - return ( - <> - { - (!rescue) && ( -
    -

    {"Sorry, we couldn't find the paperwork you requested."}

    -
    - ) - } - - { - (rescue) && ( -
    - {this.renderRescue()} -
    - ) - } - +
    + {this.renderRescue()} +
    ) } From 49c33424a945e97bae8267e415bfec84b0f30e51 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:37:33 +0000 Subject: [PATCH 121/300] fix(trafficcontroller-util): use valid header accessing method --- src/util/server/middleware/trafficController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/server/middleware/trafficController.js b/src/util/server/middleware/trafficController.js index baeb6c6e3..20019d684 100644 --- a/src/util/server/middleware/trafficController.js +++ b/src/util/server/middleware/trafficController.js @@ -29,7 +29,7 @@ class TrafficControl { * and the total requests */ validateRateLimit ({ ctx, increase = true }) { - const fingerprint = ctx.req.getHeader('X-Fingerprint') + const fingerprint = ctx.req.headers['X-Fingerprint'] let entity = null let valid = false From be84f4fb04de5e3c4903feedf21cdb784db866b5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:49:24 +0000 Subject: [PATCH 122/300] fix(jsonApiRoute-util): correct various errors in ctx reference paths --- src/util/server/middleware/jsonApiRoute/jsonApiRoute.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js index 07a17f69d..8528c5c76 100644 --- a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js +++ b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js @@ -11,14 +11,14 @@ const env = getEnv() function checkSent ({ res, __suppressWarnings }) { const sent = res.finished || res.headersSent || res.writableEnded if (sent && !__suppressWarnings) { - console.error('Route using \'jsonApiRoute()\' framework manually sent response. This is NOT recommended.') + console.error('JSON:API route manually sent response. This is NOT supported by this middleware.') } return sent } function getIps ({ req }) { - const ips = req.getHeader('X-Forwarded-For') + const ips = req.headers['X-Forwarded-For'] return env.proxied && ips ? ips.split(/\s*,\s*/u) : [] @@ -28,7 +28,7 @@ function getIps ({ req }) { function modRequest (ctx, next) { // Add IP handlers ctx.req.ips = getIps(ctx) - ctx.req.ip = ctx.req.ips[0] ?? ctx.socket.remoteAddress ?? '' + ctx.req.ip = ctx.req.ips[0] ?? ctx.req.socket.remoteAddress ?? '' return next() } @@ -46,7 +46,7 @@ export default function jsonApiRoute (...middleware) { try { await handler(ctx) - if (!ctx.body && !ctx.errors.length) { + if (!ctx.data && !ctx.errors.length) { throw new Error('Route failed to respond with data or error.') } } catch (error) { From e3a2737d1d2c6401bb6581744ee485579d7f854a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:56:25 +0000 Subject: [PATCH 123/300] refactor(pageRedirect-util): remove redundant setting of res.finished --- src/util/getInitialProps/pageRedirect.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/util/getInitialProps/pageRedirect.js b/src/util/getInitialProps/pageRedirect.js index 756449ef3..f75eed439 100644 --- a/src/util/getInitialProps/pageRedirect.js +++ b/src/util/getInitialProps/pageRedirect.js @@ -21,7 +21,6 @@ export default function pageRedirect (ctx, route) { Location: as, }) ctx.res.end() - ctx.res.finished = true } else if (route.startsWith('http')) { if (typeof window !== 'undefined') { window.location.replace(as) From 768cf1814b054e885a21e9d3acd15a2021347e80 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 5 Jul 2021 05:56:52 +0000 Subject: [PATCH 124/300] fix(edit-paperwork-page): remove unused reference to rescue --- src/pages/paperwork/[rescueId]/edit.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index eca09ea98..fa1acef27 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -540,10 +540,6 @@ class Paperwork extends React.Component { } render () { - const { - rescue, - } = this.props - const { submitting, error, From bca2b6cb8c93081b92b49a26049da17096a5cb67 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 01:38:14 +0000 Subject: [PATCH 125/300] chore: move deploy dir to /var/www/fuelrats.dev --- scripts/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 04e5ba64f..2608d2a01 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -8,7 +8,7 @@ SERVICE_NAME="" # Find deploy target and service name case $GITHUB_REF in "refs/heads/develop") - DEPLOY_DIR="dev.fuelrats.com" + DEPLOY_DIR="fuelrats.dev" SERVICE_NAME="fr-web_dev" ;; From 6998a3362056bb8c5653987a441c3760be0beee4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 02:01:11 +0000 Subject: [PATCH 126/300] fix(deploy-action): include missing yarn files in build artifact --- .github/workflows/deploy.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8fe57875a..a0083b2c1 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -56,12 +56,15 @@ jobs: run: | tar -czf fuelrats-com.tar.gz \ .config \ + .yarn/plugins \ + .yarn/releases \ dist \ public \ scripts \ .nvmrc \ CHANGELOG.md \ LICENSE \ + .yarnrc.yml \ next.config.js \ package.json \ README.md \ From 5bb602cd17b985e3a02e7f3960362302f87256fd Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 03:14:32 +0000 Subject: [PATCH 127/300] docs(CHANGELOG.md): add changes for #329 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb6c5e252..3a69aa5f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Optimized image loading and accessibility for images site-wide. - [#328][] * Further optimized font loading. - [#328][] * Moved raw version information to an API route (`/api/version`), and reworked version page to draw information from that route. - [#328][] +* Moved all custom server functions into suitable replacements provided by our site framework. - [#329][] + * This move has let us drop our entire custom backend. * Other smaller changes to sreamline development. - [#328][] @@ -31,6 +33,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#328]: https://github.com/fuelRats/fuelrats.com/pull/328 +[#329]: https://github.com/fuelRats/fuelrats.com/pull/329 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From 97b3d25ebc6ec76e0fd687731cd86477531163ef Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 17:30:31 +0000 Subject: [PATCH 128/300] chore: clean up vsc workspace --- .vscode/launch.json | 35 +++++++++++++++++++---------------- .vscode/settings.json | 1 - 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 824eaa6a9..38c93a645 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,32 +9,35 @@ "type": "node", "request": "attach", "port": 9229, + "presentation": { + "hidden": true, + "group": "", + "order": 0 + } }, { "name": "Next: Attach Chrome", "type": "pwa-chrome", "request": "attach", "port": 9222, - "url": "${config:develop.attachurl}", - "webRoot": "${workspaceFolder}" - } - { - "name": "Next: Attach Edge", - "type": "pwa-msedge", - "request": "attach", - "port": 9222, - "url": "${config:develop.attachurl}", - "webRoot": "${workspaceFolder}" + "url": "${config:develop.attachurl}", // Custom vscode config property. does not actually exist, but configurable via user config. + "webRoot": "${workspaceFolder}", + "presentation": { + "hidden": true, + "group": "", + "order": 0 + } } ], "compounds": [ { - "name": "Next: Attach All", - "configurations": ["Next: Attach Server", "Next: Attach Chrome"] - }, - { - "name": "Next: Attach All (Edge)", - "configurations": ["Next: Attach Server", "Next: Attach Edge"] + "name": "Next: Attach", + "configurations": ["Next: Attach Server", "Next: Attach Chrome"], + "presentation": { + "hidden": false, + "group": "next", + "order": 0 + } } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 9f11f4702..35456f1c4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -61,5 +61,4 @@ "stylelint.packageManager": "yarn", "stylelint.reportNeedlessDisables": true, "cSpell.language": "en,en-US", - "develop.attachurl": "http://localhost:3000/" } From 5d7c3d7ffc8106c8ddb590e4744db2e05e51c128 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 18:35:56 +0000 Subject: [PATCH 129/300] feat(isPromise-util): add small function to check if an object is a promise --- src/util/isPromise.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/util/isPromise.js diff --git a/src/util/isPromise.js b/src/util/isPromise.js new file mode 100644 index 000000000..2e84334aa --- /dev/null +++ b/src/util/isPromise.js @@ -0,0 +1,9 @@ +/** + * Accepts an object and tests some basic patterns of promises + * @param {any} obj + * @returns {boolean} + */ +export default function isPromise (obj) { + return (typeof obj === 'object' || typeof obj === 'function') + && typeof obj.then === 'function' +} From 32786e15286f4a02f411dc129086cd652b9c60ae Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 18:38:14 +0000 Subject: [PATCH 130/300] refactor(Switch): Remove need for async flag by checking the return type of onChange's result --- src/components/Switch/Switch.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/components/Switch/Switch.js b/src/components/Switch/Switch.js index d97827ed6..a49f9ea6d 100644 --- a/src/components/Switch/Switch.js +++ b/src/components/Switch/Switch.js @@ -2,6 +2,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import PropTypes from 'prop-types' import { useCallback, useState } from 'react' +import isPromise from '~/util/isPromise' + import styles from './Switch.module.scss' @@ -10,7 +12,6 @@ import styles from './Switch.module.scss' function Switch (props) { const { - async: isAsync, containerProps, className, disabled, @@ -23,15 +24,14 @@ function Switch (props) { const [loading, setLoading] = useState(false) const handleChange = useCallback(async (event) => { - if (!isAsync) { - onChange?.(event) - return - } + const result = onChange?.(event) - setLoading(true) - await onChange?.(event) - setLoading(false) - }, [isAsync, onChange]) + if (isPromise(result)) { + setLoading(true) + await result + setLoading(false) + } + }, [onChange]) let icon = 'times' if (loading) { @@ -71,7 +71,6 @@ function Switch (props) { } Switch.propTypes = { - async: PropTypes.bool, checked: PropTypes.bool, className: PropTypes.string, containerProps: PropTypes.object, From 894975fd662973a96895a6fcc212e9bf29c5e7ae Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 18:38:47 +0000 Subject: [PATCH 131/300] refactor(RatCard): return result of updateRat instead of needlessly awaiting it --- src/components/RatCard/RatCard.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 80b621eb0..7de5064a8 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -147,8 +147,8 @@ class RatCard extends React.Component { } } - _handleOdysseySwitch = async () => { - await this.props.updateRat({ + _handleOdysseySwitch = () => { + return this.props.updateRat({ id: this.props.rat.id, attributes: { odyssey: !this.props.rat.attributes.odyssey, @@ -224,7 +224,6 @@ class RatCard extends React.Component { rat.attributes.platform === 'pc' && (
    From cec938ae6076bfd4e8bdeb2494c55c8057405231 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 20:49:24 +0000 Subject: [PATCH 132/300] chore: adjust launch configs again --- .vscode/launch.json | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 38c93a645..8258179a2 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,20 +10,33 @@ "request": "attach", "port": 9229, "presentation": { - "hidden": true, + "hidden": false, "group": "", "order": 0 } }, { - "name": "Next: Attach Chrome", + "name": "Next: Launch Edge", + "type": "pwa-msedge", + "request": "launch", + "port": 9222, + "url": "${config:develop.attachurl}", // Custom vscode config property. does not actually exist, but configurable via user config. + "webRoot": "${workspaceFolder}", + "presentation": { + "hidden": false, + "group": "", + "order": 0 + } + }, + { + "name": "Next: Launch Chrome", "type": "pwa-chrome", - "request": "attach", + "request": "launch", "port": 9222, "url": "${config:develop.attachurl}", // Custom vscode config property. does not actually exist, but configurable via user config. "webRoot": "${workspaceFolder}", "presentation": { - "hidden": true, + "hidden": false, "group": "", "order": 0 } @@ -31,13 +44,22 @@ ], "compounds": [ { - "name": "Next: Attach", - "configurations": ["Next: Attach Server", "Next: Attach Chrome"], + "name": "Next: Attach & Launch Edge", + "configurations": ["Next: Attach Server", "Next: Launch Edge"], "presentation": { "hidden": false, "group": "next", "order": 0 } + }, + { + "name": "Next: Attach & Launch Chrome", + "configurations": ["Next: Attach Server", "Next: Launch Edge"], + "presentation": { + "hidden": false, + "group": "next", + "order": 1 + } } ] } From 6524e0ff5151646244b674a6d6e358e05dceddbc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 20:49:45 +0000 Subject: [PATCH 133/300] fix(RatCard): attach odyssey switching to onChange instead of onClick --- src/components/RatCard/RatCard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 7de5064a8..3c5c0c3d3 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -226,7 +226,7 @@ class RatCard extends React.Component { + onChange={this._handleOdysseySwitch} />
    ) } From 90cf025202acedd6aa0564bdc16d4f89e27eeb6f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 21:12:08 +0000 Subject: [PATCH 134/300] fix(RatCard): add missing ID to switch --- src/components/RatCard/RatCard.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 3c5c0c3d3..dd96d6bf1 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -225,6 +225,7 @@ class RatCard extends React.Component {
    From 2225f0a463a1bc11da523caabbe87fa03bbfd82c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Wed, 7 Jul 2021 21:12:50 +0000 Subject: [PATCH 135/300] refactor(Switch): improve loading state visuals --- src/components/Switch/Switch.js | 3 +-- src/components/Switch/Switch.module.scss | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/Switch/Switch.js b/src/components/Switch/Switch.js index a49f9ea6d..7356a21c8 100644 --- a/src/components/Switch/Switch.js +++ b/src/components/Switch/Switch.js @@ -25,7 +25,6 @@ function Switch (props) { const handleChange = useCallback(async (event) => { const result = onChange?.(event) - if (isPromise(result)) { setLoading(true) await result @@ -35,7 +34,7 @@ function Switch (props) { let icon = 'times' if (loading) { - icon = 'circle' + icon = 'sync' } else if (props.checked) { icon = 'check' } diff --git a/src/components/Switch/Switch.module.scss b/src/components/Switch/Switch.module.scss index 20b3221ab..a315ec4a7 100644 --- a/src/components/Switch/Switch.module.scss +++ b/src/components/Switch/Switch.module.scss @@ -1,5 +1,15 @@ @import '../../scss/colors'; +@keyframes loader-spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + .switch { display: inline-block; position: relative; @@ -23,6 +33,11 @@ background: $grey; transform: translateX(50%); + + > path { + animation: loader-spin 2s infinite linear; + transform-origin: center; + } } } From 313c4e2c2683676eb4984890ca245c33a10a3ce9 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Fri, 9 Jul 2021 17:54:26 +0000 Subject: [PATCH 136/300] First commit of Avatar upload --- package.json | 2 + src/components/ProfileHeader/ProfileHeader.js | 16 +- .../ProfileUserAvatar/ProfileUserAvatar.js | 101 +++++++++ src/components/ProfileUserAvatar/index.js | 1 + .../UploadAvatarMessageBox.js | 41 ++++ .../UploadAvatarModal/UploadAvatarModal.js | 214 ++++++++++++++++++ src/components/UploadAvatarModal/index.js | 1 + src/helpers/faIconLibrary.js | 1 + src/scss/_components.scss | 2 + src/scss/_lib.scss | 10 + src/scss/components/_profile-header.scss | 1 + src/scss/components/_user-avatar-edit.scss | 29 +++ src/scss/components/easy-crop.scss | 4 + src/store/actionTypes.js | 5 +- src/store/actions/user.js | 15 +- yarn.lock | 164 +++++++++++++- 16 files changed, 581 insertions(+), 26 deletions(-) create mode 100644 src/components/ProfileUserAvatar/ProfileUserAvatar.js create mode 100644 src/components/ProfileUserAvatar/index.js create mode 100644 src/components/UploadAvatarModal/UploadAvatarMessageBox.js create mode 100644 src/components/UploadAvatarModal/UploadAvatarModal.js create mode 100644 src/components/UploadAvatarModal/index.js create mode 100644 src/scss/components/_user-avatar-edit.scss create mode 100644 src/scss/components/easy-crop.scss diff --git a/package.json b/package.json index 545ed808b..d2c505a96 100644 --- a/package.json +++ b/package.json @@ -65,10 +65,12 @@ "prop-types": "^15.7.2", "pure-uuid": "^1.6.2", "qs": "^6.10.1", + "rc-slider": "^9.7.2", "re-reselect": "^4.0.0", "react": "^17.0.2", "react-copy-to-clipboard": "^5.0.3", "react-dom": "^17.0.2", + "react-easy-crop": "^3.5.2", "react-redux": "^7.2.4", "react-table-6": "^6.11.0", "redux": "^4.1.0", diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index b728d512d..090ae2fef 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -8,18 +8,17 @@ import { selectGroupsByUserId, selectUserById, selectDisplayRatByUserId, - selectAvatarByUserId, withCurrentUserId, selectCurrentUserHasScope, } from '~/store/selectors' +import ProfileUserAvatar from '../ProfileUserAvatar' import ChangePasswordModal from '../ChangePasswordModal' import DisableProfileModal from '../DisableProfileModal' import UnverifiedUserBanner from './UnverifiedUserBanner' - const { publicRuntimeConfig } = getConfig() const { appUrl } = publicRuntimeConfig @@ -83,7 +82,6 @@ class ProfileHeader extends React.Component { } = this.state const { displayRat, - userAvatar, userIsVerified, } = this.props @@ -102,16 +100,7 @@ class ProfileHeader extends React.Component { ) } -
    -
    - User's avatar -
    -
    +
    {displayRat.attributes.name} @@ -165,7 +154,6 @@ class ProfileHeader extends React.Component { return { groups: withCurrentUserId(selectGroupsByUserId)(state), user: withCurrentUserId(selectUserById)(state), - userAvatar: withCurrentUserId(selectAvatarByUserId)(state, { size: 170 }), displayRat: withCurrentUserId(selectDisplayRatByUserId)(state), userIsVerified: selectCurrentUserHasScope(state, { scope: 'users.verified' }), } diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js new file mode 100644 index 000000000..3f521931e --- /dev/null +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -0,0 +1,101 @@ +import getConfig from 'next/config' +import Image from 'next/image' +import React from 'react' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' + +import { formatAsEliteDateTime } from '~/helpers/formatTime' +import { connect } from '~/store' +import { + selectGroupsByUserId, + selectUserById, + selectDisplayRatByUserId, + selectAvatarByUserId, + withCurrentUserId, + selectCurrentUserHasScope, +} from '~/store/selectors' + +import UploadAvatarModal from '../UploadAvatarModal' + +const { publicRuntimeConfig } = getConfig() +const { appUrl } = publicRuntimeConfig + +@connect +class ProfileHeader extends React.Component { + /***************************************************************************\ + Class Properties + \***************************************************************************/ + + state = { + showUploadAvatar: false + } + + /***************************************************************************\ + Private Methods + \***************************************************************************/ + + _handleToggleUploadAvatar = () => { + this.setState((state) => { + return { showUploadAvatar: !state.showUploadAvatar } + }) + } + + + /***************************************************************************\ + Public Methods + \***************************************************************************/ + + render () { + const { + showUploadAvatar + } = this.state + const { + userAvatar, + } = this.props + + + return ( + <> +
    +
    + User's avatar +
    +
    +
    +
    +
    + +
    +
    +
    + + + ) + } + + + + + + /***************************************************************************\ + Redux Properties + \***************************************************************************/ + + static mapStateToProps = (state) => { + return { + userAvatar: withCurrentUserId(selectAvatarByUserId)(state, { size: 170 }) + } + } +} + + + + + +export default ProfileHeader diff --git a/src/components/ProfileUserAvatar/index.js b/src/components/ProfileUserAvatar/index.js new file mode 100644 index 000000000..4b760aec5 --- /dev/null +++ b/src/components/ProfileUserAvatar/index.js @@ -0,0 +1 @@ +export { default } from './ProfileUserAvatar' diff --git a/src/components/UploadAvatarModal/UploadAvatarMessageBox.js b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js new file mode 100644 index 000000000..6738bd8b5 --- /dev/null +++ b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js @@ -0,0 +1,41 @@ +import PropTypes from 'prop-types' + +import ApiErrorBox from '~/components/MessageBox/ApiErrorBox' + +import MessageBox from '../MessageBox' + + +function getErrorText (error) { + switch (error.status) { + case 'unauthorized': + return 'Invalid User' + case 'toobig': + return 'Avatar is too large' + case 'internal': + return 'An internal error occured' + default: + return undefined + } +} + +function UploadAvatarMessageBox (props) { + const { result } = props + + return result.success + ? ( + + {'Avatar Updated!'} + + ) + : ( + + ) +} + +UploadAvatarMessageBox.propTypes = { + result: PropTypes.object, +} + +export default UploadAvatarMessageBox diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js new file mode 100644 index 000000000..e02a8f078 --- /dev/null +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -0,0 +1,214 @@ +import PropTypes from 'prop-types' +import { useCallback, useMemo, useState, useEffect } from 'react' +import { useDispatch, useSelector } from 'react-redux' + +import Cropper from 'react-easy-crop' +import Slider from 'rc-slider'; + +import asModal, { ModalContent, ModalFooter } from '~/components/asModal' +import getResponseError from '~/helpers/getResponseError' +import { selectCurrentUserId } from '~/store/selectors' +import { updateAvatar } from '~/store/actions/user' +import UploadAvatarMessageBox from './UploadAvatarMessageBox' + +// Component Constants +const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 + + +function UploadAvatarModal (props) { + const { + onClose, + isOpen, + } = props + + const [result, setResult] = useState({}) + + const [upImg, setUpImg] = useState(); + const [crop, setCrop] = useState({ x: 0, y: 0 }) + const [zoom, setZoom] = useState(1) + const [rotation, setRotation] = useState(0) // Future enhancement, in case we want to add rotation as an option + const [croppedAreaPixels, setCroppedAreaPixels] = useState(null) + const [croppedImage, setCroppedImage] = useState(null) + const [previewImg, setPreviewImg] = useState(); + const [submitReady, setSubmitReady] = useState(false); + const [submitting, setSubmitting] = useState(false); + + const onCropComplete = (croppedArea, cap) => { + setCroppedAreaPixels(cap) + setSubmitReady(true); + }; + + const onSelectFile = (e) => { + if (e.target.files && e.target.files.length > 0) { + const reader = new FileReader(); + reader.addEventListener('load', () => setUpImg(reader.result)); + reader.readAsDataURL(e.target.files[0]); + } + }; + + const dispatch = useDispatch() + + const onSubmit = () => { + try { + const image = new Image() + image.addEventListener('load', () => { + const canvas = document.createElement('canvas') + const ctx = canvas.getContext('2d') + + const maxSize = Math.max(image.width, image.height) + const safeArea = 2 * ((maxSize / 2) * Math.sqrt(2)) + + // set each dimensions to double largest dimension to allow for a safe area for the + // image to rotate in without being clipped by canvas context + canvas.width = safeArea + canvas.height = safeArea + + // translate canvas context to a central location on image to allow rotating around the center. + ctx.translate(safeArea / 2, safeArea / 2) + ctx.rotate((rotation * Math.PI) / 180) + ctx.translate(-safeArea / 2, -safeArea / 2) + + // draw rotated image and store data. + ctx.drawImage( + image, + safeArea / 2 - image.width * 0.5, + safeArea / 2 - image.height * 0.5 + ) + const data = ctx.getImageData(0, 0, safeArea, safeArea) + + // set canvas width to final desired crop size - this will clear existing context + canvas.width = croppedAreaPixels.width + canvas.height = croppedAreaPixels.height + + // paste generated rotate image with correct offsets for x,y crop values. + ctx.putImageData( + data, + Math.round(0 - safeArea / 2 + image.width * 0.5 - croppedAreaPixels.x), + Math.round(0 - safeArea / 2 + image.height * 0.5 - croppedAreaPixels.y) + ) + + // Convert the contents of the canvas blob to an image + const reader = new FileReader() + canvas.toBlob(blob => { + reader.readAsDataURL(blob) + reader.onloadend = () => { + console.log(reader.result) + let arr = reader.result.split(','), + mime = arr[0].match(/:(.*?);/)[1], + bstr = atob(arr[1]), + n = bstr.length, + u8arr = new Uint8Array(n); + + while(n--){ + u8arr[n] = bstr.charCodeAt(n); + } + console.log(u8arr) + let croppedImage = new File([u8arr], 'avatar.png', {type:mime}); + + if (croppedImage.size > 20*1024*1000) { + setResult({ + error: { status: 'toobig' }, + success: false, + submitted: false, + }) + } else { + submit(mime, croppedImage); + } +/* console.log(croppedImage.size) + // This is only here for debug + console.log("Loading preview") + const reader2 = new FileReader() + reader2.addEventListener('load', () => setPreviewImg(reader.result)) + reader2.readAsDataURL(croppedImage) +*/ + } + }) + }) + image.src = upImg + + } catch (e) { + console.error(e) + setResult({ + error: { status: 'internal' }, + success: false, + submitted: false, + }) + } + } + + const submit = async (mime, img) => { + setSubmitting(true); + const response = await dispatch(updateAvatar(userId, mime, img)) + const error = getResponseError(response) + + setResult({ + error, + success: !error, + submitted: true, + }) + + if (!error) { + setTimeout(() => { + if (isOpen) { + onClose() + } + }, SUBMIT_AUTO_CLOSE_DELAY_TIME) + } else { + setSubmitting(false); + } + } + + const userId = useSelector(selectCurrentUserId) + + return ( + + +
    + +
    +
    + +
    +
    + { setZoom(zoom); }} + /> +
    + +
    +
    + +
    + + + ) +} + +UploadAvatarModal.propTypes = { + isOpen: PropTypes.any, + onClose: PropTypes.func.isRequired, +} + +export default asModal({ + className: 'upload-avatar-dialog', + title: 'Upload New Avatar', +})(UploadAvatarModal) diff --git a/src/components/UploadAvatarModal/index.js b/src/components/UploadAvatarModal/index.js new file mode 100644 index 000000000..54afb73a5 --- /dev/null +++ b/src/components/UploadAvatarModal/index.js @@ -0,0 +1 @@ +export { default } from './UploadAvatarModal' diff --git a/src/helpers/faIconLibrary.js b/src/helpers/faIconLibrary.js index e34b118c7..a4941b521 100644 --- a/src/helpers/faIconLibrary.js +++ b/src/helpers/faIconLibrary.js @@ -44,6 +44,7 @@ export { faUndo, faUser, faUserSecret, + faUpload, } from '@fortawesome/free-solid-svg-icons' diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 7658f25b6..8cc5da37e 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -2,6 +2,7 @@ @import 'components/add-rat-form'; @import 'components/article-list'; @import 'components/avatar'; +@import 'components/user-avatar-edit'; @import 'components/badge'; @import 'components/brand'; @import 'components/card-controls'; @@ -45,3 +46,4 @@ @import 'components/user-rats-tab'; @import 'components/user-stats-overview'; @import 'components/validated-form-input'; +@import 'components/easy-crop'; diff --git a/src/scss/_lib.scss b/src/scss/_lib.scss index d38f98e20..22ea633d9 100644 --- a/src/scss/_lib.scss +++ b/src/scss/_lib.scss @@ -40,3 +40,13 @@ Stripe \ ******************************************************************************/ @import 'lib/stripe'; + + + + + + +/****************************************************************************** \ + RC-Slider +\ ******************************************************************************/ +@import 'rc-slider/assets/index.css'; diff --git a/src/scss/components/_profile-header.scss b/src/scss/components/_profile-header.scss index 7acf79615..65fbe392c 100644 --- a/src/scss/components/_profile-header.scss +++ b/src/scss/components/_profile-header.scss @@ -35,6 +35,7 @@ .user-avatar { grid-area: avatar; + position: relative; } .profile-basic-info { diff --git a/src/scss/components/_user-avatar-edit.scss b/src/scss/components/_user-avatar-edit.scss new file mode 100644 index 000000000..78903cd97 --- /dev/null +++ b/src/scss/components/_user-avatar-edit.scss @@ -0,0 +1,29 @@ +.user-avatar-edit { + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + opacity: 0; + cursor: pointer; + transition: opacity 0.2s; + &:hover { + opacity: 1; + } +} +.edit-back { + border-radius: 50%; + background: white; + opacity: 0.8; +} +.edit-face { +} +.edit-face svg { + position: absolute; + right: 0px; + bottom: 0px; +} +.edit-border { + border: 0.2rem solid $red; + border-radius: 50%; +} diff --git a/src/scss/components/easy-crop.scss b/src/scss/components/easy-crop.scss new file mode 100644 index 000000000..c66d1cb26 --- /dev/null +++ b/src/scss/components/easy-crop.scss @@ -0,0 +1,4 @@ +.crop-container { + position: relative; + height: 200px; +} diff --git a/src/store/actionTypes.js b/src/store/actionTypes.js index 4dc0af51e..1f79b0fdb 100644 --- a/src/store/actionTypes.js +++ b/src/store/actionTypes.js @@ -1,9 +1,9 @@ + const clients = { create: 'clients/create', search: 'clients/search', } - const decals = { read: 'decals/read', redeem: 'decals/redeem', @@ -68,6 +68,9 @@ const users = { statistics: { read: 'users/statistics/read', }, + avatar: { + update: 'users/avatar/update' + } } diff --git a/src/store/actions/user.js b/src/store/actions/user.js index 90bbda357..c27113b74 100644 --- a/src/store/actions/user.js +++ b/src/store/actions/user.js @@ -8,8 +8,6 @@ import { withCurrentUserId, selectUserById } from '../selectors' import { frApiRequest } from './services' - - export const getNickname = (nickId) => { return frApiRequest( actionTypes.nicknames.read, @@ -78,3 +76,16 @@ export const updateUser = (data, password) => { return dispatch(frApiRequest(actionTypes.users.update, request)) } } + +export const updateAvatar = (user, datamime, data) => { + return (dispatch, getState) => { + const request = { + url: `/users/${user}/image`, + method: 'post', + contenttype: datamime, + data: data + } + + return dispatch(frApiRequest(actionTypes.users.avatar.update, request)) + } +} diff --git a/yarn.lock b/yarn.lock index 7e8f3bb81..3bf72cf2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1801,21 +1801,21 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.8.4": - version: 7.12.1 - resolution: "@babel/runtime@npm:7.12.1" +"@babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.6": + version: 7.14.6 + resolution: "@babel/runtime@npm:7.14.6" dependencies: regenerator-runtime: ^0.13.4 - checksum: fb4b4c8f704a338d3500ff75bfd28a35927444e0c48254d60ce87a9402d7e149e2189e5f55fa3bd2927d4c10fa25fe34c239ae0be68df77af040b01561c5bcc8 + checksum: 927ffed7871f2ed29f967a8dad7a72aa10662f93b6735a89d664a161fa4dc2074b8947ca159a8a0a49cec9a71c8de473d7c2b22d3de0ee4d7dd06d24a7f98018 languageName: node linkType: hard -"@babel/runtime@npm:^7.14.6": - version: 7.14.6 - resolution: "@babel/runtime@npm:7.14.6" +"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.8.4": + version: 7.12.1 + resolution: "@babel/runtime@npm:7.12.1" dependencies: regenerator-runtime: ^0.13.4 - checksum: 927ffed7871f2ed29f967a8dad7a72aa10662f93b6735a89d664a161fa4dc2074b8947ca159a8a0a49cec9a71c8de473d7c2b22d3de0ee4d7dd06d24a7f98018 + checksum: fb4b4c8f704a338d3500ff75bfd28a35927444e0c48254d60ce87a9402d7e149e2189e5f55fa3bd2927d4c10fa25fe34c239ae0be68df77af040b01561c5bcc8 languageName: node linkType: hard @@ -4135,6 +4135,13 @@ __metadata: languageName: node linkType: hard +"classnames@npm:2.x, classnames@npm:^2.2.1, classnames@npm:^2.2.6": + version: 2.3.1 + resolution: "classnames@npm:2.3.1" + checksum: 14db8889d56c267a591f08b0834989fe542d47fac659af5a539e110cc4266694e8de86e4e3bbd271157dbd831361310a8293e0167141e80b0f03a0f175c80960 + languageName: node + linkType: hard + "clone-regexp@npm:^2.1.0": version: 2.2.0 resolution: "clone-regexp@npm:2.2.0" @@ -4939,6 +4946,13 @@ __metadata: languageName: node linkType: hard +"dom-align@npm:^1.7.0": + version: 1.12.2 + resolution: "dom-align@npm:1.12.2" + checksum: 0523f4d7c84c7a4e92b0f1d088e7e110f6bd109fc8b6f1f89e14d33bba63d7b54de26d311652e1527ead2c0700f671593af55f216cb8a67a80d9fc5ed7a23b95 + languageName: node + linkType: hard + "dom-serializer@npm:0": version: 0.2.2 resolution: "dom-serializer@npm:0.2.2" @@ -6091,10 +6105,12 @@ __metadata: prop-types: ^15.7.2 pure-uuid: ^1.6.2 qs: ^6.10.1 + rc-slider: ^9.7.2 re-reselect: ^4.0.0 react: ^17.0.2 react-copy-to-clipboard: ^5.0.3 react-dom: ^17.0.2 + react-easy-crop: ^3.5.2 react-redux: ^7.2.4 react-table-6: ^6.11.0 redux: ^4.1.0 @@ -8375,6 +8391,13 @@ __metadata: languageName: node linkType: hard +"normalize-wheel@npm:^1.0.1": + version: 1.0.1 + resolution: "normalize-wheel@npm:1.0.1" + checksum: 00b32efa040bad9438e732385a4ca27f8532fa2c8c06b54be43b9f75b2da6642bf41a0b4f81e542639dc8d682cde8b059b0a02ae0723fb8ebc3c8f036c8e51d8 + languageName: node + linkType: hard + "npmlog@npm:^4.0.1, npmlog@npm:^4.1.2": version: 4.1.2 resolution: "npmlog@npm:4.1.2" @@ -9720,6 +9743,95 @@ __metadata: languageName: node linkType: hard +"rc-align@npm:^4.0.0": + version: 4.0.9 + resolution: "rc-align@npm:4.0.9" + dependencies: + "@babel/runtime": ^7.10.1 + classnames: 2.x + dom-align: ^1.7.0 + rc-util: ^5.3.0 + resize-observer-polyfill: ^1.5.1 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 2cb7078c3b2fea5a332ed71eca4136d5cbb5f3a2ebb7427b8e68562b64d7b3e3386b4daeefb50e713c6e2c219d78f7544ca178ea8b48e49c1e12b98f1cc274b9 + languageName: node + linkType: hard + +"rc-motion@npm:^2.0.0": + version: 2.4.4 + resolution: "rc-motion@npm:2.4.4" + dependencies: + "@babel/runtime": ^7.11.1 + classnames: ^2.2.1 + rc-util: ^5.2.1 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: efbb27be05af062aac82c4b5b2a12067d5822f48ebfa813d3c861f9ae5983ea199a6bd9c4d7140f8963ff5f15ebf4c59546f426682f6576a34003aceb1170cfd + languageName: node + linkType: hard + +"rc-slider@npm:^9.7.2": + version: 9.7.2 + resolution: "rc-slider@npm:9.7.2" + dependencies: + "@babel/runtime": ^7.10.1 + classnames: ^2.2.5 + rc-tooltip: ^5.0.1 + rc-util: ^5.0.0 + shallowequal: ^1.1.0 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 4121af117e79630cf915c928505111760756bea0f3d62612f19ed22ac4b2c611892878464622055c70967c9911c387257cf257d7e187c079b2c1ac9a8af50bf3 + languageName: node + linkType: hard + +"rc-tooltip@npm:^5.0.1": + version: 5.1.1 + resolution: "rc-tooltip@npm:5.1.1" + dependencies: + "@babel/runtime": ^7.11.2 + rc-trigger: ^5.0.0 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: e65b175c28356cee101db56217d02a1eb1d96e727620bb1f6551f98e3ab49d3ec4381f1d408d19054b46349cba0e89056a4b4f09eeebbe70a1013733ad0e1fc9 + languageName: node + linkType: hard + +"rc-trigger@npm:^5.0.0": + version: 5.2.9 + resolution: "rc-trigger@npm:5.2.9" + dependencies: + "@babel/runtime": ^7.11.2 + classnames: ^2.2.6 + rc-align: ^4.0.0 + rc-motion: ^2.0.0 + rc-util: ^5.5.0 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 77a988fcf4d158d4ecee90707dfc9bb8bba9abc09db305dc18fe39b3e163de71eae4123c80b3bb08395fd03baa34349aa13a9de63be04f7ca3035fb4ee267486 + languageName: node + linkType: hard + +"rc-util@npm:^5.0.0, rc-util@npm:^5.2.1, rc-util@npm:^5.3.0, rc-util@npm:^5.5.0": + version: 5.13.2 + resolution: "rc-util@npm:5.13.2" + dependencies: + "@babel/runtime": ^7.12.5 + react-is: ^16.12.0 + shallowequal: ^1.1.0 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 42e03bff64eed87239004382855e0db025544d7f0f625ea0c9058e3fa195872387b85664695cb30e37ea0c4d3b997ce9037cb7553bf68d5cd0c6280941046898 + languageName: node + linkType: hard + "rc@npm:^1.2.7": version: 1.2.8 resolution: "rc@npm:1.2.8" @@ -9768,6 +9880,19 @@ __metadata: languageName: node linkType: hard +"react-easy-crop@npm:^3.5.2": + version: 3.5.2 + resolution: "react-easy-crop@npm:3.5.2" + dependencies: + normalize-wheel: ^1.0.1 + tslib: 2.0.1 + peerDependencies: + react: ">=16.4.0" + react-dom: ">=16.4.0" + checksum: 46b5aae6aa3d32acf4655643929f1047d0f50170a7822b4fac675abf8383f132c36433ed99ff07a0b3d9d188414312327c9fc08b6a7c2ee3167bc47bf8a76107 + languageName: node + linkType: hard + "react-is@npm:17.0.2": version: 17.0.2 resolution: "react-is@npm:17.0.2" @@ -9775,7 +9900,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.1": +"react-is@npm:^16.12.0, react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f @@ -10196,6 +10321,13 @@ __metadata: languageName: node linkType: hard +"resize-observer-polyfill@npm:^1.5.1": + version: 1.5.1 + resolution: "resize-observer-polyfill@npm:1.5.1" + checksum: 57e7f79489867b00ba43c9c051524a5c8f162a61d5547e99333549afc23e15c44fd43f2f318ea0261ea98c0eb3158cca261e6f48d66e1ed1cd1f340a43977094 + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -10537,6 +10669,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"shallowequal@npm:^1.1.0": + version: 1.1.0 + resolution: "shallowequal@npm:1.1.0" + checksum: f4c1de0837f106d2dbbfd5d0720a5d059d1c66b42b580965c8f06bb1db684be8783538b684092648c981294bf817869f743a066538771dbecb293df78f765e00 + languageName: node + linkType: hard + "sharp@npm:^0.27.0": version: 0.27.2 resolution: "sharp@npm:0.27.2" @@ -11545,6 +11684,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"tslib@npm:2.0.1": + version: 2.0.1 + resolution: "tslib@npm:2.0.1" + checksum: 507f32fc24a614c5097d414b622373b6cbb99e305413517e7fd49bef1e63570c0dd15b417ae68152088c3496218e82a5d8c7cd6b48c7a32dcee1a3f7191fff74 + languageName: node + linkType: hard + "tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" From 1862f7b35f02fac94efe68db173aa9c82464cdaf Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 9 Jul 2021 19:05:37 +0000 Subject: [PATCH 137/300] docs(CHANGELOG.md): add changes for #330 --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a69aa5f0..fe2e841f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,12 +20,14 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Moved raw version information to an API route (`/api/version`), and reworked version page to draw information from that route. - [#328][] * Moved all custom server functions into suitable replacements provided by our site framework. - [#329][] * This move has let us drop our entire custom backend. -* Other smaller changes to sreamline development. - [#328][] +* Updated `` with an improved loading state animation. - [#330][] +* Other smaller changes to sreamline development. - [#328][], [#329][] ### 🐛 Fixed * Resolved form submitting issues that occured when password evaluation fails to load. - [#328][] * Fixed authorization page displaying an `Invalid Authorize Request` error when redirecting users after login. - [#328][] +* Fixed `Using Odyssey` switch not properly entering loading state while waiting on a response from the API. - [#330][] ### ⚙ Tasks * Update lint configs @@ -34,6 +36,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#328]: https://github.com/fuelRats/fuelrats.com/pull/328 [#329]: https://github.com/fuelRats/fuelrats.com/pull/329 +[#330]: https://github.com/fuelRats/fuelrats.com/pull/330 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From 5684b7436c6979d4ec4aca18ccd230ab6be51a22 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 9 Jul 2021 19:47:37 +0000 Subject: [PATCH 138/300] chore: add react-is --- package.json | 2 ++ yarn.lock | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2ed6dd4c3..d23e576bc 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "react": "^17.0.2", "react-copy-to-clipboard": "^5.0.3", "react-dom": "^17.0.2", + "react-is": "^17.0.2", "react-redux": "^7.2.4", "react-table-6": "^6.11.0", "redux": "^4.1.0", @@ -95,6 +96,7 @@ "@types/qs": "^6.9.6", "@types/react": "^17.0.13", "@types/react-dom": "^17.0.8", + "@types/react-is": "^17.0.1", "@types/react-redux": "^7.1.16", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", diff --git a/yarn.lock b/yarn.lock index 00ad2cfd1..aed712e24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2571,6 +2571,15 @@ __metadata: languageName: node linkType: hard +"@types/react-is@npm:^17.0.1": + version: 17.0.1 + resolution: "@types/react-is@npm:17.0.1" + dependencies: + "@types/react": "*" + checksum: 81437cb5f7696c175fffef2e18360e0a878d1a5edeec5c9832c2075583c6cacaea074e468859d7e3de06f401fb1289c9b07dd7de21d46d4f71490b55bb111d6a + languageName: node + linkType: hard + "@types/react-redux@npm:^7.1.16": version: 7.1.16 resolution: "@types/react-redux@npm:7.1.16" @@ -5509,6 +5518,7 @@ fsevents@~2.3.1: "@types/qs": ^6.9.6 "@types/react": ^17.0.13 "@types/react-dom": ^17.0.8 + "@types/react-is": ^17.0.1 "@types/react-redux": ^7.1.16 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 @@ -5555,6 +5565,7 @@ fsevents@~2.3.1: react: ^17.0.2 react-copy-to-clipboard: ^5.0.3 react-dom: ^17.0.2 + react-is: ^17.0.2 react-redux: ^7.2.4 react-table-6: ^6.11.0 redux: ^4.1.0 @@ -8972,7 +8983,7 @@ fsevents@~2.3.1: languageName: node linkType: hard -"react-is@npm:17.0.2": +"react-is@npm:17.0.2, react-is@npm:^17.0.2": version: 17.0.2 resolution: "react-is@npm:17.0.2" checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 From bc88b20950428d04351d6ca483e8e0dc7db697f1 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 9 Jul 2021 20:02:04 +0000 Subject: [PATCH 139/300] feat(ApiErrorBox): improve control renderError func has over displaying errors --- src/components/MessageBox/ApiErrorBox.js | 45 ++++++++++++++++++++---- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/src/components/MessageBox/ApiErrorBox.js b/src/components/MessageBox/ApiErrorBox.js index 7c95f4123..bb9fe2bed 100644 --- a/src/components/MessageBox/ApiErrorBox.js +++ b/src/components/MessageBox/ApiErrorBox.js @@ -1,4 +1,6 @@ import PropTypes from 'prop-types' +import { useMemo } from 'react' +import { isValidElementType } from 'react-is' import MessageBox from './MessageBox' @@ -8,30 +10,59 @@ import MessageBox from './MessageBox' function ApiErrorBox (props) { const { - error, + error: rawError, renderError, ...messageProps } = props - if (!error) { + const error = useMemo( + () => { + if (!rawError) { + return undefined + } + + const renderedError = renderError?.(rawError) + + if (isValidElementType(renderedError)) { + // If rendered error is a valid renderable element, use it as the error detail with the base error's title. + // This includes all strings, functions, class components, and other react-specific objects. + // If a function is encountered here we also need to call it as a component. + return { + title: rawError.title, + detail: typeof renderedError === 'function' + ? () + : renderedError, + } + } + + // Ensure return is never null here so we render the error box itself, even if the render function returned null. + return renderedError ?? { title: rawError.title } + }, + [ + renderError, + rawError, + ], + ) + + if (!error || error.ignore) { return null } return ( { - renderError?.(error) ?? ( + error.detail ?? ( <> {'An unknown error occurred while processing your request. \n Please contact us at '} {'support@fuelrats.com'} { - error.id && ( + rawError.id && ( <> {', and include this error information in your email: \n'}
    -                    {`"id": "${error.id}",\n`}
    -                    {`"error": "${error.status}",\n`}
    -                    {`"source": ${JSON.stringify(error.source, undefined, 2)}`}
    +                    {`"id": "${rawError.id}",\n`}
    +                    {`"error": "${rawError.status}",\n`}
    +                    {`"source": ${JSON.stringify(rawError.source, undefined, 2)}`}
                       
    ) From a5640aab5dfb90732ac7ff4dfc2457dd641d4fb8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 9 Jul 2021 20:04:50 +0000 Subject: [PATCH 140/300] feat(LoginModalErrorBox): add titles to login errors --- src/components/LoginModal/LoginModalErrorBox.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/LoginModal/LoginModalErrorBox.js b/src/components/LoginModal/LoginModalErrorBox.js index 6a9565573..390dc844c 100644 --- a/src/components/LoginModal/LoginModalErrorBox.js +++ b/src/components/LoginModal/LoginModalErrorBox.js @@ -5,12 +5,18 @@ import ApiErrorBox from '~/components/MessageBox/ApiErrorBox' function getErrorText (error) { // Bad verification tokens are returned as oauth errors, which is weird but okay. if (error.error_description === 'verify') { - return 'That verification token was incorrect. Please try again.' + return { + title: 'Invalid Token', + detail: 'That verification token was incorrect. Please try again.', + } } switch (error.status) { case 'verification_required': - return 'It appears you\'re logging in from a new device.\nA verification code has been sent to your email.' + return { + title: 'Verification Required', + detail: 'It appears you\'re logging in from a new device.\nA verification code has been sent to your email.', + } case 'unauthorized': return 'Invalid Username or Password' From 5c56082cefa45d226dabb62ab2e76e04f98b7f0c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 03:17:28 +0000 Subject: [PATCH 141/300] refactor: move env object to .config and bundle into app via centralized util module --- .config/ciEnv.js | 17 +++++++++++ .config/env.js | 40 ++++++++++++++++++++++++++ .config/getCIEnv.js | 21 -------------- .config/webpack.config.js | 4 +-- next.config.js | 7 ++--- src/util/server/getEnv.js | 59 +++++++-------------------------------- 6 files changed, 70 insertions(+), 78 deletions(-) create mode 100644 .config/ciEnv.js create mode 100644 .config/env.js delete mode 100644 .config/getCIEnv.js diff --git a/.config/ciEnv.js b/.config/ciEnv.js new file mode 100644 index 000000000..538920494 --- /dev/null +++ b/.config/ciEnv.js @@ -0,0 +1,17 @@ +const COMMIT_HASH_LENGTH = 10 + +const ciEnv = Object.freeze({ + isCi: process.env.CI, + ciId: process.env.GITHUB_RUN_ID, + server: process.env.GITHUB_SERVER_URL ?? 'https://github.com', + repository: process.env.GITHUB_REPOSITORY ?? 'fuelrats/fuelrats.com', + branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? 'develop', + commit: process.env.GITHUB_SHA?.toLowerCase(), + commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase(), +}) + + + + + +module.exports = ciEnv diff --git a/.config/env.js b/.config/env.js new file mode 100644 index 000000000..2c9f5f75f --- /dev/null +++ b/.config/env.js @@ -0,0 +1,40 @@ +const DEFAULT_PORT = 3000 + +const env = Object.freeze({ + appUrl: process.env.APP_URL, + proxied: process.env.APP_PROXIED, + isDev: process.env.NODE_ENV !== 'production', + port: process.env.PORT ?? DEFAULT_PORT, + fallbackUrl: process.env.FR_FALLBACK_URL ?? 'https://fallback.fuelrats.com/', + frapi: { + url: process.env.FR_API_URL ?? 'https://dev.api.fuelrats.com', + proxy: `${process.env.APP_URL}/api/fr`, + socket: process.env.FR_SOCKET_URL ?? 'wss://dev.api.fuelrats.com', + clientId: process.env.FR_API_KEY, + clientSecret: process.env.FR_API_SECRET, + }, + edsm: { + url: process.env.FR_EDSM_API_URL ?? 'https://www.edsm.net', + proxy: `${process.env.APP_URL}/api/edsm`, + }, + wordpress: { + url: process.env.FR_WORDPRESS_URL ?? 'https://wordpress.fuelrats.com', + proxy: `${process.env.APP_URL}/api/wp`, + }, + stripe: { + url: `${process.env.APP_URL}/api/stripe`, + public: process.env.FR_STRIPE_API_PK, + secret: process.env.FR_STRIPE_API_SK, + bansFile: process.env.FR_STRIPE_BANS_FILE, + }, + qms: { + url: process.env.QMS_API_URL ?? 'https://api.qms.fuelrats.dev', + token: process.env.QMS_API_TOKEN, + }, + irc: { + client: process.env.FR_CLIENT_IRC_URL ?? 'https://qms.fuelrats.dev', + rat: process.env.FR_RAT_IRC_URL ?? 'https://kiwi.fuelrats.com', + }, +}) + +module.exports = env diff --git a/.config/getCIEnv.js b/.config/getCIEnv.js deleted file mode 100644 index 598d35214..000000000 --- a/.config/getCIEnv.js +++ /dev/null @@ -1,21 +0,0 @@ -let ciEnv = null -const COMMIT_HASH_LENGTH = 10 - -function getCIEnv () { - if (!ciEnv) { - ciEnv = { - isCi: process.env.CI, - ciId: process.env.GITHUB_RUN_ID, - server: process.env.GITHUB_SERVER_URL ?? 'https://github.com', - repository: process.env.GITHUB_REPOSITORY ?? 'fuelrats/fuelrats.com', - branch: process.env.GITHUB_REF?.replace(/^refs\/heads\//u, '')?.replace(/\//gu, '-') ?? 'develop', - commit: process.env.GITHUB_SHA?.toLowerCase(), - commitShort: process.env.GITHUB_SHA?.slice(0, COMMIT_HASH_LENGTH)?.toLowerCase(), - } - } - - return ciEnv -} - - -module.exports = getCIEnv diff --git a/.config/webpack.config.js b/.config/webpack.config.js index bcba98cc0..8808157a7 100644 --- a/.config/webpack.config.js +++ b/.config/webpack.config.js @@ -1,9 +1,8 @@ /* eslint-disable import/no-extraneous-dependencies -- required dev dependencies are only loaded in development context */ /* eslint-disable no-param-reassign -- reassign is intended for changing configs */ -/* eslint-env node */ const { DefinePlugin } = require('webpack') -const getCIEnv = require('./getCIEnv') +const ciEnv = require('./ciEnv') @@ -11,7 +10,6 @@ const getCIEnv = require('./getCIEnv') module.exports = () => { return (config, opt) => { - const ciEnv = getCIEnv() /* Define Plugin */ config.plugins.push(new DefinePlugin({ '$$BUILD.isDev': JSON.stringify(opt.dev), diff --git a/next.config.js b/next.config.js index 44ca9bccb..b773f14a2 100644 --- a/next.config.js +++ b/next.config.js @@ -1,13 +1,13 @@ /* eslint-env node */ const crypto = require('crypto') -const getCIEnv = require('./.config/getCIEnv') +const ciEnv = require('./.config/ciEnv') +const env = require('./.config/env') const headersConfig = require('./.config/headers.config') const publicRuntimeConfig = require('./.config/publicRuntime.config') const redirectsConfig = require('./.config/redirects.config') const rewritesConfig = require('./.config/rewrites.config') const webpackConfig = require('./.config/webpack.config') -const getEnv = require('./src/util/server/getEnv') // Constants @@ -18,8 +18,6 @@ const DEV_BUILD_ID_LENGTH = 16 module.exports = () => { - const env = getEnv() - return { distDir: 'dist', @@ -43,7 +41,6 @@ module.exports = () => { webpack: webpackConfig(env), generateBuildId: () => { - const ciEnv = getCIEnv() const buildId = ciEnv.isCi ? ciEnv.commit : crypto.randomBytes(DEV_BUILD_ID_LENGTH).toString('hex').toLowerCase() diff --git a/src/util/server/getEnv.js b/src/util/server/getEnv.js index a014ec47e..2faa63f66 100644 --- a/src/util/server/getEnv.js +++ b/src/util/server/getEnv.js @@ -1,62 +1,23 @@ +import env from '../../../.config/env' + const { info } = require('next/dist/build/output/log') -const DEFAULT_PORT = 3000 -let env = null +let envRef = null -function getEnv () { - if (!env) { - if (typeof process === 'undefined') { - return null - } - info('Reading from process.env') - env = { - appUrl: process.env.APP_URL, - proxied: process.env.APP_PROXIED, - isDev: process.env.NODE_ENV !== 'production', - port: process.env.PORT ?? DEFAULT_PORT, - fallbackUrl: process.env.FR_FALLBACK_URL ?? 'https://fallback.fuelrats.com/', - frapi: { - url: process.env.FR_API_URL ?? 'https://dev.api.fuelrats.com', - proxy: `${process.env.APP_URL}/api/fr`, - socket: process.env.FR_SOCKET_URL ?? 'wss://dev.api.fuelrats.com', - clientId: process.env.FR_API_KEY, - clientSecret: process.env.FR_API_SECRET, - }, - edsm: { - url: process.env.FR_EDSM_API_URL ?? 'https://www.edsm.net', - proxy: `${process.env.APP_URL}/api/edsm`, - }, - wordpress: { - url: process.env.FR_WORDPRESS_URL ?? 'https://wordpress.fuelrats.com', - proxy: `${process.env.APP_URL}/api/wp`, - }, - stripe: { - url: `${process.env.APP_URL}/api/stripe`, - public: process.env.FR_STRIPE_API_PK, - secret: process.env.FR_STRIPE_API_SK, - bansFile: process.env.FR_STRIPE_BANS_FILE, - }, - qms: { - url: process.env.QMS_API_URL ?? 'https://api.qms.fuelrats.dev', - token: process.env.QMS_API_TOKEN, - }, - irc: { - client: process.env.FR_CLIENT_IRC_URL ?? 'https://qms.fuelrats.dev', - rat: process.env.FR_RAT_IRC_URL ?? 'https://kiwi.fuelrats.com', - }, - } + +export default function getEnv () { + if (!envRef) { + // While not strictly neccessary, we're going to keep this generator here for future expansion. + info('Reading from process.env') + envRef = env } - return env + return envRef } - - - -module.exports = getEnv From 925aca984ddc83a277a9fd328a6ebcc3e03906e0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 03:20:05 +0000 Subject: [PATCH 142/300] chore: remove old class component templates since we are avoiding them, rename function component templates --- .../__pascalCase_name__.js | 94 ------------------- .../__pascalCase_name__.js | 93 ------------------ .../__pascalCase_name__.js | 0 .../__pascalCase_name__.module.scss | 0 .../__pascalCase_name__/index.js | 0 .../__pascalCase_name__.js | 0 .../__pascalCase_name__.module.scss | 3 - .../__pascalCase_name__/index.js | 1 - 8 files changed, 191 deletions(-) delete mode 100644 .vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.js delete mode 100644 .vscode/blueprints/Class Component File/__pascalCase_name__.js rename .vscode/blueprints/{Function Component Directory => Component Directory}/__pascalCase_name__/__pascalCase_name__.js (100%) rename .vscode/blueprints/{Class Component Directory => Component Directory}/__pascalCase_name__/__pascalCase_name__.module.scss (100%) rename .vscode/blueprints/{Class Component Directory => Component Directory}/__pascalCase_name__/index.js (100%) rename .vscode/blueprints/{Function Component File => Component File}/__pascalCase_name__.js (100%) delete mode 100644 .vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss delete mode 100644 .vscode/blueprints/Function Component Directory/__pascalCase_name__/index.js diff --git a/.vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.js b/.vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.js deleted file mode 100644 index 1e3816f60..000000000 --- a/.vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.js +++ /dev/null @@ -1,94 +0,0 @@ -import PropTypes from 'prop-types' -import React from 'react' - -import { connect } from '~/store' - -import styles from './{{pascalCase name}}.module.scss' - - - - -// Component Constants - - - - - -@connect -class {{pascalCase name}} extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = {} - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - className, - } = this.props - - return ( -
    - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = [] - - static mapStateToProps = () => { - return {} - } - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - className: undefined, - } - - static propTypes = { - className: PropTypes.string, - } -} - - - - - -export default {{pascalCase name}} diff --git a/.vscode/blueprints/Class Component File/__pascalCase_name__.js b/.vscode/blueprints/Class Component File/__pascalCase_name__.js deleted file mode 100644 index 1c88b9a27..000000000 --- a/.vscode/blueprints/Class Component File/__pascalCase_name__.js +++ /dev/null @@ -1,93 +0,0 @@ -import PropTypes from 'prop-types' -import React from 'react' - -import { connect } from '~/store' - - - - - -// Component Constants - - - - - -@connect -class {{pascalCase name}} extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = {} - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - className, - } = this.props - - return ( -
    - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = [] - - static mapStateToProps = () => { - return {} - } - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - className: undefined, - } - - static propTypes = { - className: PropTypes.string, - } -} - - - - - -export default {{pascalCase name}} diff --git a/.vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.js b/.vscode/blueprints/Component Directory/__pascalCase_name__/__pascalCase_name__.js similarity index 100% rename from .vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.js rename to .vscode/blueprints/Component Directory/__pascalCase_name__/__pascalCase_name__.js diff --git a/.vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss b/.vscode/blueprints/Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss similarity index 100% rename from .vscode/blueprints/Class Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss rename to .vscode/blueprints/Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss diff --git a/.vscode/blueprints/Class Component Directory/__pascalCase_name__/index.js b/.vscode/blueprints/Component Directory/__pascalCase_name__/index.js similarity index 100% rename from .vscode/blueprints/Class Component Directory/__pascalCase_name__/index.js rename to .vscode/blueprints/Component Directory/__pascalCase_name__/index.js diff --git a/.vscode/blueprints/Function Component File/__pascalCase_name__.js b/.vscode/blueprints/Component File/__pascalCase_name__.js similarity index 100% rename from .vscode/blueprints/Function Component File/__pascalCase_name__.js rename to .vscode/blueprints/Component File/__pascalCase_name__.js diff --git a/.vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss b/.vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss deleted file mode 100644 index f835f9ead..000000000 --- a/.vscode/blueprints/Function Component Directory/__pascalCase_name__/__pascalCase_name__.module.scss +++ /dev/null @@ -1,3 +0,0 @@ -.{{camelCase name}} { - -} diff --git a/.vscode/blueprints/Function Component Directory/__pascalCase_name__/index.js b/.vscode/blueprints/Function Component Directory/__pascalCase_name__/index.js deleted file mode 100644 index ad6a9259d..000000000 --- a/.vscode/blueprints/Function Component Directory/__pascalCase_name__/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from './{{pascalCase name}}' From f531019f4ae8e3cb8327f95602b48315b35c88f9 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 03:48:20 +0000 Subject: [PATCH 143/300] feat(errors-util): add bad_request error --- src/util/server/errors.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/util/server/errors.js b/src/util/server/errors.js index 41169919b..29009bbe8 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -61,7 +61,11 @@ export class APIError extends Error { } } - +export class BadRequestAPIError extends APIError { + get status () { + return 'bad_request' + } +} export class UnauthorizedAPIError extends APIError { get status () { From 7240c0f28fb1ca9bb1656a6dcc80be7decb10df4 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Sat, 10 Jul 2021 09:54:55 +0000 Subject: [PATCH 144/300] Added rotation control, fixed layout, fixed upload formdata --- .../UploadAvatarMessageBox.js | 2 +- .../UploadAvatarModal/UploadAvatarModal.js | 115 +++++++++++------- src/helpers/faIconLibrary.js | 3 + src/scss/_components.scss | 1 + src/scss/components/_upload-avatar-modal.scss | 29 +++++ src/store/actions/user.js | 4 +- src/store/selectors/users.js | 2 +- 7 files changed, 112 insertions(+), 44 deletions(-) create mode 100644 src/scss/components/_upload-avatar-modal.scss diff --git a/src/components/UploadAvatarModal/UploadAvatarMessageBox.js b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js index 6738bd8b5..0128496ad 100644 --- a/src/components/UploadAvatarModal/UploadAvatarMessageBox.js +++ b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js @@ -10,7 +10,7 @@ function getErrorText (error) { case 'unauthorized': return 'Invalid User' case 'toobig': - return 'Avatar is too large' + return 'Avatar is too large; please try on a reduced size image' case 'internal': return 'An internal error occured' default: diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index e02a8f078..31c276837 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -1,16 +1,16 @@ import PropTypes from 'prop-types' import { useCallback, useMemo, useState, useEffect } from 'react' import { useDispatch, useSelector } from 'react-redux' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Cropper from 'react-easy-crop' -import Slider from 'rc-slider'; +import Slider from 'rc-slider' import asModal, { ModalContent, ModalFooter } from '~/components/asModal' import getResponseError from '~/helpers/getResponseError' import { selectCurrentUserId } from '~/store/selectors' import { updateAvatar } from '~/store/actions/user' import UploadAvatarMessageBox from './UploadAvatarMessageBox' - // Component Constants const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 @@ -23,28 +23,28 @@ function UploadAvatarModal (props) { const [result, setResult] = useState({}) - const [upImg, setUpImg] = useState(); + const [upImg, setUpImg] = useState() const [crop, setCrop] = useState({ x: 0, y: 0 }) const [zoom, setZoom] = useState(1) const [rotation, setRotation] = useState(0) // Future enhancement, in case we want to add rotation as an option const [croppedAreaPixels, setCroppedAreaPixels] = useState(null) const [croppedImage, setCroppedImage] = useState(null) - const [previewImg, setPreviewImg] = useState(); - const [submitReady, setSubmitReady] = useState(false); - const [submitting, setSubmitting] = useState(false); +// const [previewImg, setPreviewImg] = useState() + const [submitReady, setSubmitReady] = useState(false) + const [submitting, setSubmitting] = useState(false) const onCropComplete = (croppedArea, cap) => { setCroppedAreaPixels(cap) - setSubmitReady(true); - }; + setSubmitReady(true) + } const onSelectFile = (e) => { if (e.target.files && e.target.files.length > 0) { - const reader = new FileReader(); - reader.addEventListener('load', () => setUpImg(reader.result)); - reader.readAsDataURL(e.target.files[0]); + const reader = new FileReader() + reader.addEventListener('load', () => setUpImg(reader.result)) + reader.readAsDataURL(e.target.files[0]) } - }; + } const dispatch = useDispatch() @@ -97,25 +97,25 @@ function UploadAvatarModal (props) { mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, - u8arr = new Uint8Array(n); + u8arr = new Uint8Array(n) while(n--){ - u8arr[n] = bstr.charCodeAt(n); + u8arr[n] = bstr.charCodeAt(n) } console.log(u8arr) - let croppedImage = new File([u8arr], 'avatar.png', {type:mime}); + let croppedImage = new File([u8arr], 'avatar.png', {type:mime}) - if (croppedImage.size > 20*1024*1000) { + console.log(croppedImage.size) + if (croppedImage.size > 25*1024*1024) { setResult({ error: { status: 'toobig' }, success: false, submitted: false, }) } else { - submit(mime, croppedImage); + submit(mime, croppedImage) } -/* console.log(croppedImage.size) - // This is only here for debug +/* // This is only here for debug console.log("Loading preview") const reader2 = new FileReader() reader2.addEventListener('load', () => setPreviewImg(reader.result)) @@ -137,7 +137,7 @@ function UploadAvatarModal (props) { } const submit = async (mime, img) => { - setSubmitting(true); + setSubmitting(true) const response = await dispatch(updateAvatar(userId, mime, img)) const error = getResponseError(response) @@ -154,7 +154,7 @@ function UploadAvatarModal (props) { } }, SUBMIT_AUTO_CLOSE_DELAY_TIME) } else { - setSubmitting(false); + setSubmitting(false) } } @@ -164,28 +164,61 @@ function UploadAvatarModal (props) {
    +
    -
    - -
    -
    - { setZoom(zoom); }} - /> +
    +
    +
    + +
    +
    + { setZoom(zoom) }} + /> +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + { setRotation(rotation) }} + /> +
    +
    + +
    +
    +
    diff --git a/src/helpers/faIconLibrary.js b/src/helpers/faIconLibrary.js index a4941b521..c191500b3 100644 --- a/src/helpers/faIconLibrary.js +++ b/src/helpers/faIconLibrary.js @@ -45,6 +45,9 @@ export { faUser, faUserSecret, faUpload, + faSearchPlus, + faSearchMinus, + faRedo } from '@fortawesome/free-solid-svg-icons' diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 8cc5da37e..847cc357a 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -47,3 +47,4 @@ @import 'components/user-stats-overview'; @import 'components/validated-form-input'; @import 'components/easy-crop'; +@import 'components/upload-avatar-modal' diff --git a/src/scss/components/_upload-avatar-modal.scss b/src/scss/components/_upload-avatar-modal.scss new file mode 100644 index 000000000..1ff27fd64 --- /dev/null +++ b/src/scss/components/_upload-avatar-modal.scss @@ -0,0 +1,29 @@ +.zoomandcrop { + display: flex; +} +.zoomsliderbox { + width: 30px; + margin-bottom: 30px; + display: flex; + flex-direction: column; +} +.zoomslidericon { + height: 30px; + padding: 5px 0px; +} +.slidercontrol { + flex-grow: 1; +} +.rotatesliderbox { + display: flex; +} +.rotatesliderbox .slidercontrol { + padding-top: 5px; +} +.rotateslidericon { + width: 30px; + padding: 0px 5px; +} +.rotateandcrop { + flex-grow: 1; +} diff --git a/src/store/actions/user.js b/src/store/actions/user.js index c27113b74..ee3ff3e41 100644 --- a/src/store/actions/user.js +++ b/src/store/actions/user.js @@ -79,11 +79,13 @@ export const updateUser = (data, password) => { export const updateAvatar = (user, datamime, data) => { return (dispatch, getState) => { + const formData = new FormData(); + formData.append('image', data) const request = { url: `/users/${user}/image`, method: 'post', contenttype: datamime, - data: data + data: formData } return dispatch(frApiRequest(actionTypes.users.avatar.update, request)) diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index 995097a8f..1d57c59d0 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -46,7 +46,7 @@ export const selectAvatarByUserId = (state, props) => { } return user.attributes.image - ? `/api/users/${user.id}/avatar` + ? `/api/fr/users/${user.id}/image` : `/api/avatars/${props.size ?? AVATAR_DEFAULT_SIZE}/${user.id}` } From 3840071e10270f65098183d8d401b81490c36fa0 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 12:46:34 +0000 Subject: [PATCH 145/300] docs(using_jsonApiRoute.md): continue fleshing out documentation on context --- docs/using_jsonApiRoute.md | 245 +++++++++++++++++++++++++++++++------ 1 file changed, 208 insertions(+), 37 deletions(-) diff --git a/docs/using_jsonApiRoute.md b/docs/using_jsonApiRoute.md index 523dd7d0c..7c17e9658 100644 --- a/docs/using_jsonApiRoute.md +++ b/docs/using_jsonApiRoute.md @@ -1,6 +1,6 @@ # Using jsonApiRoute framework -[`jsonApiRoute()`][json-api-route] is an abstraction layer for [Next.js API Routes][njs-api-route] that is both a middleware framework, and [JSON:API][json-api] document builder. +[`jsonApiRoute()`][json-api-route] is an abstraction layer for [Next.js API Routes][njs-api-route] that is both a middleware framework, and [JSON:API][] document builder. @@ -8,6 +8,8 @@ - [Basic Usage](#basic-usage) - [Middleware](#middleware) +- [Error Handling](#error-handling) + - [APIError](#apierror) - [Context](#context) - [`context.req`](#contextreq) - [`context.res`](#contextres) @@ -16,13 +18,35 @@ - [`context.included`](#contextincluded) - [`context.errors`](#contexterrors) - [`context.meta`](#contextmeta) - - [`context.send`](#contextsend) - - [`context.error`](#contexterror) - - [`context.include`](#contextinclude) + - [`context.status(code)`](#contextstatuscode) + - [`context.send(data)`](#contextsenddata) + - [`context.include(data)`](#contextincludedata) + - [`context.error(error[, first])`](#contexterrorerror-first) + - [`context.createResource(data)`](#contextcreateresourcedata) +- [Request](#request) + - [`request.query`](#requestquery) + - [`request.cookies`](#requestcookies) + - [`request.body`](#requestbody) + - [`request.preview`](#requestpreview) + - [`request.previewData`](#requestpreviewdata) + - [`request.ips`](#requestips) + - [`request.ip`](#requestip) + - [`request.fingerprint`](#requestfingerprint) + - [`request.getHeader(name)`](#requestgetheadername) +- [Response](#response) + - [`response.send(body)`](#responsesendbody) + - [`response.json(body)`](#responsejsonbody) + - [`response.status(code)`](#responsestatuscode) + - [`response.setPreviewData(data[, options])`](#responsesetpreviewdatadata-options) + - [`response.clearPreviewData()`](#responseclearpreviewdata) + - [`response.redirect([status,] path)`](#responseredirectstatus-path) + + + ## Basic Usage ``` js @@ -57,6 +81,9 @@ export default jsonApiRoute((ctx) => { ``` + + + ## Middleware Middleware follow Koa.js' model of async middleware. Since this framework is built on top of `koa-compose`, the same basic concepts of control flow apply. More information can be found [here][koa-cascading]. @@ -73,7 +100,7 @@ import { UnauthorizedAPIError } from '~/util/server/errors' // This way all middleware are consistent, and adding configuration in the future does not have to be a breaking change. async function requireUser () { return (ctx, next) => { - const user = await getUser(ctx.req.getHeader('Authorization')) // Gets the user matching the given auth token. + const user = await getUser(Request.getHeader('Authorization')) // Gets the user matching the given auth token. if (!user) { // We throw here to immediately break the chain and have the route framework respond with the error. @@ -106,111 +133,255 @@ export default jsonApiRoute( +## Error Handling + +There are two methods of responding with an error. +The primary method, `throw new Error()`, will immediately halt execution of the endpoint and will be caught by the top level middleware. +Calling `ctx.error(new Error())` is a secondary option which will **NOT** halt execution, but the error will be included when another error is thrown or the endpoint is resolved. + +Both methods treat errors in the same way. +**Any** error which does not extend `APIError` will be wrapped by `InternalServerAPIError`, with the original error assigned to the `internalError` property of the `meta` field. +Errors which _do_ extend `APIError` will be appended to the response as-is. + + +### APIError + +`APIError` is an extension of `Error` which is serialized to a [JSON:API][] compliant [error object](https://jsonapi.org/format/#error-objects). +There are a number of standard errors available in the main `errors.js` util module which **SHOULD** be used when possible. + + + + + ## Context The context object is a single object which contains: -* The Next.js API Route `req` and `res` objects, -* The top level elements of a [JSON:API][json-api] response document, +* The request's `req` and `res` objects, +* The top level elements of a [JSON:API][] response document, * and helper functions to simplify forming a response. ### `context.req` -The instance of [`http.IncomingMessage`][http-incoming-message] sent by Next.js, which also includes some [additional functions](#jsonapirouterequest) +A modified instance of [`http.IncomingMessage`][http-incoming-message]. This has been extended with various utilities by both Next.js and this framework. +Read more about the Request object [below](#request) ### `context.res` -the instance of [`http.ServerResponse`][http-server-response] provided by Next.js. +A modified instance of [`http.ServerResponse`][http-server-response] provided by Next.js. -Manually sending the response with this framework is **NOT** supported. This should normally be used as a read-only reference. +Since the response of a request is handled by `jsonApiRoute()`, there is usually no need for endpoints to interface with `ctx.res` directly. +Nevertheless it is available here for reference. +Read more about the Response object [below](#response) ### `context.state` -A namespace provided for passing information though middleware and your routes. +* {object} +A namespace provided for passing information though middleware and your routes. ### `context.data` -`READ-ONLY` +* {Resource|Resource[]} read-only resource or collection of resources. The response document's `data` field. -Use [`context.send`](#contextsend) to modify this field - +Use [`context.send(data)`](#contextsenddata) to modify this field ### `context.included` -`READ-ONLY` +* {`Resource[]`} read-only collection of JSON:API compliant resource objects. The response document's `included` field. -Use [`context.include`](#contextinclude) to append to includes. - +Use [`context.include(data)`](#contextincludedata) to append to includes. ### `context.errors` -`READ-ONLY` - -A collection of errors attached to the response, but not not neccessarily thrown. +* {APIError[]} -Use [`context.error`](#contexterror) to append to errors. - -Use [`context.error`] to append errors. +A read-only collection of errors attached to the response, but not not neccessarily thrown. +Use [`context.error(error[], first])`](#contexterrorerror-first) to append to errors. ### `context.meta` +* {object} + The response document's `meta` field. This field is freely editable. +### `context.status(code)` +* `code` {number} Numerical HTTP status code +* **Returns:** {Context} + +Alias for [`Response.status(code)`][#responsestatuscode]. Manually sets the response status code. +`status()` cannot override an error code. To force a specific error, use [`context.error(error, true)`](#contexterrorerror-first), or throw an instance of `APIError`. + + +### `context.send(data)` +* `data` {object} + * **MUST** be JSON:API compliant resource object. + * All unknown top-level properties will be made a property of `attributes`. + * An array of resources **MUST** share the same `type` value. +* **Returns:** {Context} + +Sets a resource or collection of resources to the response document's primary `data` field. + + +### `context.include(data)` +* `data` {object|object[]} + * **MUST** be JSON:API compliant resource object. + * All unknown top-level properties will be made a property of `attributes`. +* **Returns:** {Context} + +Appends a resource or collection of resources to the response document's `included` field. + + +### `context.error(error[, first])` +* `error` {APIError|Error} Any instance of `Error`. + * Preferably an error extending `APIError` + * Errors not extending `APIError` will be wrapped by `InternalServerAPIError` with the message of the error included in it's `meta` property. +* `first` {boolean} Optional boolean to determine if the error should be forcefully added to the top of the error stack. +* **Returns:** {Context} + +Appends an error to the response document's `errors` field. Adding an error will also prevent `data` and `included` from being sent as per [JSON:API][] spec. +Useful for including additional errors before throwing the primary error preventing a successful response. Calling this method will **NOT** halt endpoint execution. + +### `context.createResource(data)` +* `data` {object} **Any** object containing at least an `id` and `type` property. +* **Returns:** {Resource} + +Convenience function to transform an object into a valid [JSON:API][] Resource object. +This function is used by [`context.send(data)`](#contextsenddata) and [`context.include(data)`](#contextincludedata) to process data and ensure spec compliance. + +All unknown top-level properties of the provided object will be made a property of `attributes`. + +Known top-level properties include `id`, `type`, `attributes`, `relationships`, `links`, and `meta`. + + + + + +## Request + +The request object (`context.req`) is an extension of the [`http.IncomingMessage`][http-incoming-message] object. The following additional properties are available: + +### `request.query` +* {object} + +Object of parsed `query` values from URL. Values may be `string` or `string[]`. + +### `request.cookies` +* {object} + +Object of parsed cookies from headers. Values will be `string`. + +### `request.body` +* {any} + +Parsed body data of the request + +### `request.preview` +* {Boolean} + +Boolean representing if Next.js [preview mode](https://nextjs.org/docs/advanced-features/preview-mode) is enabled or not + +### `request.previewData` +* {Object} + +Preview mode data for the request. + +### `request.ips` +* {string[]} + +Parsed list of `X-Forwarded-For` entries. Only populated if `process.env.APP_PROXIED` is `true` + +### `request.ip` +* {string} + +Public IP of the remote client making the request. + +### `request.fingerprint` +* {string} + +Fingerprint value sent with the request via the `X-Fingerprint` header. + +### `request.getHeader(name)` +* `name` {string} case-insensitive name of a request header. +* **Returns:** {string|undefined} + +Convenience function to retrieve a request header. + + + + + +## Response +The response object (`context.res`) is an extension of the [`http.ServerResponse`][http-server-response] object. The following additional properties are available: -### `context.send` -Sets a resource or array of resources to the response document's primary `data` field. +### `response.send(body)` +> DISCOURAGED. Use [`context.send(data)`](#contextsenddata) instead. -TODO +* `body` {string|object|Buffer} -### `context.error` +Sends the HTTP response. Infers `Content-Type` from body. -Adds an error to the response document's `errors` field. Adding an error will also prevent `data` and `included` from being sent as per JSON:API spec. -TODO +### `response.json(body)` +> DISCOURAGED. Use [`context.send(data)`](#contextsenddata) instead. -### `context.include` +* `body` {object} Serializable JSON data -Adds a resource object to the response document's `included` field. +Sends a JSON Response. Automatically sets `Content-Type` header to `application/json`. -TODO +### `response.status(code)` +> DISCOURAGED. Use [`context.status(code)`](#contextstatuscode) instead. -## `jsonApiRoute()` Request +* `code` {number} Numerical HTTP status code +**Returns:** {Response} -TODO +Sets [`response.statusCode`](https://nodejs.org/dist/latest/docs/api/http.html#http_response_statuscode) to the provided status code. -## `jsonApiRoute()` Response -TODO +### `response.setPreviewData(data[, options])` +* `data` {object|string} +* `options` {object} +* **Returns:** {Response} +See [Next.js Docs][njs-preview-mode] +### `response.clearPreviewData()` +* **Returns:** {Response} +See [Next.js Docs][njs-clear-preview-data] +### `response.redirect([status,] path)` +* `status` {number} a valid HTTP status code. (**Default:** `307`) +* `path` {string} Path or URL to redirect to. +* **Returns:** {Response} +Redirects to a specified path or URL. -[json-api]: https://jsonapi.org/format/ +[JSON:API]: https://jsonapi.org/format/ [json-api-route]: ../src/util/server/middleware/jsonApiRoute.js [njs-api-route]: https://nextjs.org/docs/api-routes/introduction [njs-req-helpers]: https://nextjs.org/docs/api-routes/api-middlewares +[njs-preview-mode]: https://nextjs.org/docs/advanced-features/preview-mode +[njs-clear-preview-data]: https://nextjs.org/docs/advanced-features/preview-mode#clear-the-preview-mode-cookies [koa-cascading]: https://koajs.com/#cascading [http-incoming-message]: https://nodejs.org/api/http.html#http_class_http_incomingmessage [http-server-response]: https://nodejs.org/api/http.html#http_class_http_serverresponse From f0435298bb8493ac4671d07515f85511215890f6 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 12:47:09 +0000 Subject: [PATCH 146/300] chore: define proper url allow-lists for each CSP src type --- .config/headers.config.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index e44e1c53d..3f0947229 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -4,16 +4,6 @@ const nextSafe = require('next-safe') -const domainWhitelist = [ - '*.fuelrats.com', - '*.stripe.com', - 'www.google.com', -] - - - - - module.exports = (env) => { return () => { return [ @@ -22,12 +12,14 @@ module.exports = (env) => { headers: nextSafe({ isDev: env.isDev, contentSecurityPolicy: { - 'default-src': ["'self'", ...domainWhitelist, 'blob:'], + 'default-src': ["'self'", '*.fuelrats.com', 'blob:'], + 'script-src': ["'self'", '*.stripe.com'], 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], 'object-src': ["'self'"], 'font-src': ["'self'", 'fonts.gstatic.com'], - 'style-src': ["'self'", "'unsafe-inline'", ...domainWhitelist, 'fonts.googleapis.com'], - 'img-src': ["'self'", ...domainWhitelist, '*.wp.com', 'blob:', 'data:'], + 'style-src': ["'self'", 'fonts.googleapis.com'], + 'img-src': ["'self'", '*.wp.com', 'blob:', 'data:'], + 'frame-src': ['https://js.stripe.com'], }, }), }, From a2ac1ad7262607e30f53f4268e9ef79dcd6dcc6e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 12:47:45 +0000 Subject: [PATCH 147/300] feat(requireFingerprint-middleware): add middleware which forces requirement of fingerprint --- src/pages/api/stripe/checkout/donate.js | 2 ++ src/util/server/middleware/requireFingerprint.js | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 src/util/server/middleware/requireFingerprint.js diff --git a/src/pages/api/stripe/checkout/donate.js b/src/pages/api/stripe/checkout/donate.js index 2119a58d4..17afe75df 100644 --- a/src/pages/api/stripe/checkout/donate.js +++ b/src/pages/api/stripe/checkout/donate.js @@ -6,6 +6,7 @@ import getEnv from '~/util/server/getEnv' import acceptMethod from '~/util/server/middleware/acceptMethod' import ipFilter from '~/util/server/middleware/ipFilter' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' +import requireFingerprint from '~/util/server/middleware/requireFingerprint' import trafficController from '~/util/server/middleware/trafficController' @@ -54,6 +55,7 @@ const getDonationItemInfo = (amount) => { export default jsonApiRoute( ipFilter(), + requireFingerprint(), trafficController(), acceptMethod.POST(), async (ctx) => { diff --git a/src/util/server/middleware/requireFingerprint.js b/src/util/server/middleware/requireFingerprint.js new file mode 100644 index 000000000..ed802bdc2 --- /dev/null +++ b/src/util/server/middleware/requireFingerprint.js @@ -0,0 +1,11 @@ +import { BadRequestAPIError } from '../errors' + +export default function requireFingerprint () { + return (ctx, next) => { + if (!ctx.req.fingerprint) { + throw new BadRequestAPIError({ parameter: 'X-Fingerprint' }) + } + + return next() + } +} From b6edb1a5d03c0396d18ac90c5fd7a97066356122 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 13:04:22 +0000 Subject: [PATCH 148/300] feat(jsonApiRoute-middleware): add more helpers for request object, move request obj modification to context class. --- .../middleware/jsonApiRoute/JsonApiContext.js | 43 +++++++++++++++++-- .../middleware/jsonApiRoute/jsonApiRoute.js | 28 +++--------- 2 files changed, 45 insertions(+), 26 deletions(-) diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 07e7e0c82..bc24f6923 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -3,6 +3,44 @@ import { NextApiRequest, NextApiResponse } from 'next' import bindMethod from '~/util/decorators/bindMethod' import createResource from '~/util/jsonapi/createResource' import { InternalServerAPIError, APIError } from '~/util/server/errors' +import getEnv from '~/util/server/getEnv' + + + +const env = getEnv() + + +function modRequest (req) { + // Add IP handlers + Reflect.defineProperty(req, 'ips', { + get: () => { + const fwdForIps = req.headers['x-forwarded-for'] + return env.proxied && fwdForIps + ? fwdForIps.split(/\s*,\s*/u) + : [] + }, + }) + + Reflect.defineProperty(req, 'ip', { + get: () => { + return req.ips[0] ?? req.socket.remoteAddress ?? '' + }, + }) + + Reflect.defineProperty(req, 'fingerprint', { + get: () => { + return req.headers['x-fingerprint'] + }, + }) + + Reflect.defineProperty(req, 'getHeader', { + value: (headerName) => { + return req.headers[headerName.toLowerCase()] + }, + }) + + return req +} /** * Context object for JsonApiRoute endpoints @@ -23,9 +61,8 @@ export default class JsonApiContext { * @param {NextApiResponse} res */ constructor (req, res) { - this.req = req + this.req = modRequest(req) this.res = res - this.createResource = createResource.bind(null, null) } @@ -84,7 +121,7 @@ export default class JsonApiContext { @bindMethod include (data) { if (Array.isArray(data)) { - this.#resIncluded.append(data.map(createResource.bind(null, null))) + this.#resIncluded.push(...data.map(this.createResource)) } else { this.#resIncluded.push(createResource(null, data)) } diff --git a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js index 8528c5c76..2fe9264f3 100644 --- a/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js +++ b/src/util/server/middleware/jsonApiRoute/jsonApiRoute.js @@ -1,12 +1,14 @@ import { HttpStatus } from '@fuelrats/web-util/http' import compose from 'koa-compose' -import getEnv from '../../getEnv' import JsonApiContext from './JsonApiContext' const jsonApiContentType = 'application/vnd.api+json' -const env = getEnv() + + + + function checkSent ({ res, __suppressWarnings }) { const sent = res.finished || res.headersSent || res.writableEnded @@ -17,28 +19,8 @@ function checkSent ({ res, __suppressWarnings }) { return sent } -function getIps ({ req }) { - const ips = req.headers['X-Forwarded-For'] - return env.proxied && ips - ? ips.split(/\s*,\s*/u) - : [] -} - - -function modRequest (ctx, next) { - // Add IP handlers - ctx.req.ips = getIps(ctx) - ctx.req.ip = ctx.req.ips[0] ?? ctx.req.socket.remoteAddress ?? '' - - return next() -} - - export default function jsonApiRoute (...middleware) { - const handler = compose([ - modRequest, - ...middleware, - ]) + const handler = compose(middleware) return async (req, res) => { const ctx = new JsonApiContext(req, res) From e567bc0b4c5ac68e50510b1b8a370fccd0142b21 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 13:05:20 +0000 Subject: [PATCH 149/300] fix(trafficController-middleware): point to proper ip and fingerprint properties to get the user making the request --- .../server/middleware/trafficController.js | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/util/server/middleware/trafficController.js b/src/util/server/middleware/trafficController.js index 20019d684..d5a4f0a60 100644 --- a/src/util/server/middleware/trafficController.js +++ b/src/util/server/middleware/trafficController.js @@ -29,16 +29,10 @@ class TrafficControl { * and the total requests */ validateRateLimit ({ ctx, increase = true }) { - const fingerprint = ctx.req.headers['X-Fingerprint'] - let entity = null - let valid = false - - if (fingerprint) { - entity = this.retrieveUnauthenticatedEntity({ remoteAddress: ctx.req.ip, fingerprint }) - valid = entity.remainingRequests > 0 - if (valid && increase) { - entity.count += 1 - } + const entity = this.retrieveRateLimitedEntity(ctx.req) + const valid = entity.remainingRequests > 0 + if (valid && increase) { + entity.count += 1 } return { @@ -51,16 +45,23 @@ class TrafficControl { /** * Retrieve an unauthenticated entity with the number of requests made by this IP address, or create one - * @param {string} remoteAddress - The remote address associated with this request + * @param {object} arg Function argument object + * @param {string} arg.ip The remote address associated with this request + * @param {string} arg.fingerprint The client fingerprint associated with this request * @returns {object} an instance of RemoteAddressEntity */ - retrieveUnauthenticatedEntity ({ remoteAddress, fingerprint }) { - let entity = this.unauthenticatedRequests[remoteAddress] || this.unauthenticatedRequests[fingerprint] + retrieveRateLimitedEntity ({ ip, fingerprint }) { + let entity = (fingerprint && this.unauthenticatedRequests[fingerprint]) ?? this.unauthenticatedRequests[ip] + if (!entity) { - entity = new RemoteAddressEntity({ remoteAddress, fingerprint }) - this.unauthenticatedRequests[remoteAddress] = entity - this.unauthenticatedRequests[fingerprint] = entity + entity = new RemoteAddressEntity({ ip, fingerprint }) + this.unauthenticatedRequests[ip] = entity + + if (fingerprint) { + this.unauthenticatedRequests[fingerprint] = entity + } } + return entity } @@ -101,12 +102,12 @@ class RemoteAddressEntity { /** * Create an entity representing the traffic made by a specific unauthenticated remote address * @param {object} arg function arguments object - * @param {string} arg.remoteAddress The remote address this traffic belongs to - * @param {string} arg.fingerprint The fingerprint provided by the + * @param {string} arg.ip The remote address this entity belongs to + * @param {string} arg.fingerprint The browser fingerprint this entity belongs to * @param {number} [arg.initialCount] Optional parameter containing the number of requests this entity should start */ - constructor ({ remoteAddress, fingerprint, initialCount = 0 }) { - this.#remoteAddress = remoteAddress + constructor ({ ip, fingerprint, initialCount = 0 }) { + this.#remoteAddress = ip this.#fingerprint = fingerprint this.requestCount = initialCount } From f528b1de7d83e97666c9256e1d476e74893d60c0 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Sat, 10 Jul 2021 14:01:05 +0000 Subject: [PATCH 150/300] Fix to non-avatar location --- src/store/selectors/users.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index 47de3d3e8..d4445f6a8 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -48,7 +48,7 @@ export const selectAvatarByUserId = (state, props) => { return user.attributes.image ? `/api/fr/users/${user.id}/image` - : `/api/avatars/${props.size ?? AVATAR_DEFAULT_SIZE}/${user.id}` + : `/api/avatars/${user.id}/${props.size ?? AVATAR_DEFAULT_SIZE}` } export const selectCurrentUserScopes = (state) => { From 13600e3a9cf0441d68a1349b05da332211614402 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 14:19:36 +0000 Subject: [PATCH 151/300] chore: add semver to dev deps for yarn plugin --- package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/package.json b/package.json index 2ed6dd4c3..9d460e36f 100644 --- a/package.json +++ b/package.json @@ -111,6 +111,7 @@ "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", "sass": "^1.35.1", + "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", diff --git a/yarn.lock b/yarn.lock index 00ad2cfd1..41ab67a8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5563,6 +5563,7 @@ fsevents@~2.3.1: redux-thunk: ^2.3.0 reselect: ^4.0.0 sass: ^1.35.1 + semver: ^7.3.5 stripe: ^8.160.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 From e866ff75fabc2ade8dcc049ca7e781b0ab093c4f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 14:19:54 +0000 Subject: [PATCH 152/300] chore: add yarn plugin to enforce node version --- .yarn/plugins/plugin-requirements.check.cjs | 25 +++++++++++++++++++++ .yarnrc.yml | 1 + 2 files changed, 26 insertions(+) create mode 100644 .yarn/plugins/plugin-requirements.check.cjs diff --git a/.yarn/plugins/plugin-requirements.check.cjs b/.yarn/plugins/plugin-requirements.check.cjs new file mode 100644 index 000000000..218e1d751 --- /dev/null +++ b/.yarn/plugins/plugin-requirements.check.cjs @@ -0,0 +1,25 @@ +// © nedkelly +// https://github.com/yarnpkg/berry/issues/1177#issuecomment-869269413 +module.exports = { + name: `plugin-requirements-check`, + factory: require => { + const semver = require('semver'); + const { readFileSync } = require('fs'); + const data = readFileSync('package.json'); + const { engines } = JSON.parse(data.toString()); + const { node } = engines; + return { + default: { + hooks: { + validateProject() { + if (!semver.satisfies(process.version, node)) { + throw new Error( + `The current node version ${process.version} does not satisfy the required version ${node}.`, + ); + } + }, + }, + }, + }; + }, +}; diff --git a/.yarnrc.yml b/.yarnrc.yml index e26322334..e623cbd67 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -3,5 +3,6 @@ nodeLinker: node-modules plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" + - .yarn/plugins/plugin-requirements.check.cjs yarnPath: .yarn/releases/yarn-sources.cjs From 9a40b85b9b6c98ad666c8d91f66feca85f82076a Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 14:21:30 +0000 Subject: [PATCH 153/300] fix(rat-actions): accept user in deleteRat action to ensure user relationship is always defined properly --- src/components/RatCard/RatCard.js | 3 ++- src/store/actions/rats.js | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index dd96d6bf1..10a98306e 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -80,6 +80,7 @@ class RatCard extends React.Component { updateRat, deleteRat, rat, + user, } = this.props if (deleteConfirm) { @@ -88,7 +89,7 @@ class RatCard extends React.Component { submitting: 'delete', }) - deleteRat(rat) + deleteRat(user, rat) return } diff --git a/src/store/actions/rats.js b/src/store/actions/rats.js index b32d07ff2..851a29f25 100644 --- a/src/store/actions/rats.js +++ b/src/store/actions/rats.js @@ -52,7 +52,7 @@ export const createRat = (data) => { } -export const deleteRat = (rat) => { +export const deleteRat = (user, rat) => { return frApiRequest( actionTypes.rats.delete, { @@ -61,7 +61,10 @@ export const deleteRat = (rat) => { }, deletesResource(rat), deletesRelationship( - defineRelationship(rat.relationships?.user?.data?.id, { rats: [rat] }), + defineRelationship( + { type: 'users', id: user.id }, + { rats: [{ type: 'rats', id: rat.id }] }, + ), ), ) } From 69fa34bbbe989235aded87bd8689c824901cd9f5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sat, 10 Jul 2021 22:52:37 +0000 Subject: [PATCH 154/300] chore: remove unused flag in package file --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 9d460e36f..fc67f7ccf 100644 --- a/package.json +++ b/package.json @@ -120,6 +120,5 @@ }, "engines": { "node": "^14.0.0" - }, - "engineStrict": true + } } From 52d335832c56f2b9237e42bfe9e939d2669ff42e Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Sun, 11 Jul 2021 13:59:31 +0000 Subject: [PATCH 155/300] Comments from Clapton fixed --- .../ProfileUserAvatar/ProfileUserAvatar.js | 112 +++++------------- .../UploadAvatarModal/UploadAvatarModal.js | 58 +++++---- .../UploadAvatarModal.module.scss | 37 ++++++ .../UploadAvatarModal}/easy-crop.scss | 0 src/scss/_components.scss | 2 - src/scss/components/_upload-avatar-modal.scss | 29 ----- src/store/actions/user.js | 3 +- 7 files changed, 96 insertions(+), 145 deletions(-) create mode 100644 src/components/UploadAvatarModal/UploadAvatarModal.module.scss rename src/{scss/components => components/UploadAvatarModal}/easy-crop.scss (100%) delete mode 100644 src/scss/components/_upload-avatar-modal.scss diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 7719f84f8..23bd39685 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -1,100 +1,48 @@ import getConfig from 'next/config' import Image from 'next/image' -import React from 'react' +import { useState } from 'react' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { connect } from '~/store' -import { - selectGroupsByUserId, - selectUserById, - selectDisplayRatByUserId, - selectAvatarByUserId, - withCurrentUserId, - selectCurrentUserHasScope, -} from '~/store/selectors' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { selectAvatarByUserId, withCurrentUserId } from '~/store/selectors' import UploadAvatarModal from '../UploadAvatarModal' -const { publicRuntimeConfig } = getConfig() -const { appUrl } = publicRuntimeConfig -@connect -class ProfileHeader extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ +function ProfileUserAvatar () { + const userAvatar = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarByUserId)) - state = { - showUploadAvatar: false - } - - /***************************************************************************\ - Private Methods - \***************************************************************************/ + const [ showUploadAvatar, setShowUploadAvatar ] = useState(false); - _handleToggleUploadAvatar = () => { - this.setState((state) => { - return { showUploadAvatar: !state.showUploadAvatar } - }) + const handleToggleUploadAvatar = () => { + setShowUploadAvatar(!showUploadAvatar); } - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - showUploadAvatar - } = this.state - const { - userAvatar, - } = this.props - - - return ( - <> -
    -
    - User's avatar + return ( + <> +
    +
    + User's avatar +
    +
    +
    -
    -
    -
    -
    - -
    +
    +
    - - - ) - } - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapStateToProps = (state) => { - return { - userAvatar: withCurrentUserId(selectAvatarByUserId)(state, { size: 170 }) - } - } +
    + + + ) } - - - - -export default ProfileHeader +export default ProfileUserAvatar diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index fa82af57e..7831eda89 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -11,7 +11,11 @@ import getResponseError from '~/util/getResponseError' import { selectCurrentUserId } from '~/store/selectors' import { updateAvatar } from '~/store/actions/user' import UploadAvatarMessageBox from './UploadAvatarMessageBox' + +import styles from './UploadAvatarModal.module.scss' + // Component Constants +const MAX_FILE_SIZE = 20971520 const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 @@ -29,7 +33,6 @@ function UploadAvatarModal (props) { const [rotation, setRotation] = useState(0) // Future enhancement, in case we want to add rotation as an option const [croppedAreaPixels, setCroppedAreaPixels] = useState(null) const [croppedImage, setCroppedImage] = useState(null) -// const [previewImg, setPreviewImg] = useState() const [submitReady, setSubmitReady] = useState(false) const [submitting, setSubmitting] = useState(false) @@ -106,7 +109,7 @@ function UploadAvatarModal (props) { let croppedImage = new File([u8arr], 'avatar.png', {type:mime}) console.log(croppedImage.size) - if (croppedImage.size > 25*1024*1024) { + if (croppedImage.size > MAX_FILE_SIZE) { setResult({ error: { status: 'toobig' }, success: false, @@ -115,12 +118,6 @@ function UploadAvatarModal (props) { } else { submit(mime, croppedImage) } -/* // This is only here for debug - console.log("Loading preview") - const reader2 = new FileReader() - reader2.addEventListener('load', () => setPreviewImg(reader.result)) - reader2.readAsDataURL(croppedImage) -*/ } }) }) @@ -138,7 +135,7 @@ function UploadAvatarModal (props) { const submit = async (mime, img) => { setSubmitting(true) - const response = await dispatch(updateAvatar(userId, mime, img)) + const response = await dispatch(updateAvatar(userId, img)) const error = getResponseError(response) setResult({ @@ -167,12 +164,12 @@ function UploadAvatarModal (props) {
    -
    -
    -
    +
    +
    +
    -
    +
    { setZoom(zoom) }} />
    -
    +
    -
    -
    - +
    +
    +
    -
    -
    +
    +
    -
    +
    { setRotation(rotation) }} />
    -
    +
    diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.module.scss b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss new file mode 100644 index 000000000..cc63bb351 --- /dev/null +++ b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss @@ -0,0 +1,37 @@ + .zoomAndCrop { + display: flex; + .zoomSliderBox { + width: 30px; + margin-bottom: 30px; + display: flex; + flex-direction: column; + .zoomSliderIcon { + height: 30px; + padding: 5px 0px; + } + } + .sliderControl { + flex-grow: 1; + } + + .cropContainer { + width: 100%; + padding-top: 100%; + position: relative; + } + + .rotateSliderBox { + display: flex; + .sliderControl { + padding-top: 5px; + } + .rotateSliderIcon { + width: 30px; + padding: 0px 5px; + } + } + .rotateAndCrop { + flex-grow: 1; + } + + } diff --git a/src/scss/components/easy-crop.scss b/src/components/UploadAvatarModal/easy-crop.scss similarity index 100% rename from src/scss/components/easy-crop.scss rename to src/components/UploadAvatarModal/easy-crop.scss diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 847cc357a..597b1bb9e 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -46,5 +46,3 @@ @import 'components/user-rats-tab'; @import 'components/user-stats-overview'; @import 'components/validated-form-input'; -@import 'components/easy-crop'; -@import 'components/upload-avatar-modal' diff --git a/src/scss/components/_upload-avatar-modal.scss b/src/scss/components/_upload-avatar-modal.scss deleted file mode 100644 index 1ff27fd64..000000000 --- a/src/scss/components/_upload-avatar-modal.scss +++ /dev/null @@ -1,29 +0,0 @@ -.zoomandcrop { - display: flex; -} -.zoomsliderbox { - width: 30px; - margin-bottom: 30px; - display: flex; - flex-direction: column; -} -.zoomslidericon { - height: 30px; - padding: 5px 0px; -} -.slidercontrol { - flex-grow: 1; -} -.rotatesliderbox { - display: flex; -} -.rotatesliderbox .slidercontrol { - padding-top: 5px; -} -.rotateslidericon { - width: 30px; - padding: 0px 5px; -} -.rotateandcrop { - flex-grow: 1; -} diff --git a/src/store/actions/user.js b/src/store/actions/user.js index d48fe3345..66b53b5eb 100644 --- a/src/store/actions/user.js +++ b/src/store/actions/user.js @@ -79,14 +79,13 @@ export const updateUser = (data, password) => { } } -export const updateAvatar = (user, datamime, data) => { +export const updateAvatar = (user, data) => { return (dispatch, getState) => { const formData = new FormData(); formData.append('image', data) const request = { url: `/users/${user}/image`, method: 'post', - contenttype: datamime, data: formData } From ab22f3843e337a0779446d1eca868da0302e5edb Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 11 Jul 2021 16:28:12 +0000 Subject: [PATCH 156/300] chore: add typescript yarn plugin, update node require to also run on script execution --- .yarn/plugins/@yarnpkg/plugin-typescript.cjs | 9 +++++++++ .yarn/plugins/plugin-requirements.check.cjs | 16 +++++++++------- .yarnrc.yml | 2 ++ 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 .yarn/plugins/@yarnpkg/plugin-typescript.cjs diff --git a/.yarn/plugins/@yarnpkg/plugin-typescript.cjs b/.yarn/plugins/@yarnpkg/plugin-typescript.cjs new file mode 100644 index 000000000..5c1859e0b --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-typescript.cjs @@ -0,0 +1,9 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-typescript", +factory: function (require) { +var plugin=(()=>{var Ft=Object.create,H=Object.defineProperty,Bt=Object.defineProperties,Kt=Object.getOwnPropertyDescriptor,zt=Object.getOwnPropertyDescriptors,Gt=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,$t=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty,De=Object.prototype.propertyIsEnumerable;var Re=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,u=(e,t)=>{for(var r in t||(t={}))ne.call(t,r)&&Re(e,r,t[r]);if(Q)for(var r of Q(t))De.call(t,r)&&Re(e,r,t[r]);return e},g=(e,t)=>Bt(e,zt(t)),Lt=e=>H(e,"__esModule",{value:!0});var R=(e,t)=>{var r={};for(var s in e)ne.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&Q)for(var s of Q(e))t.indexOf(s)<0&&De.call(e,s)&&(r[s]=e[s]);return r};var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vt=(e,t)=>{for(var r in t)H(e,r,{get:t[r],enumerable:!0})},Qt=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Gt(t))!ne.call(e,s)&&s!=="default"&&H(e,s,{get:()=>t[s],enumerable:!(r=Kt(t,s))||r.enumerable});return e},C=e=>Qt(Lt(H(e!=null?Ft($t(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var xe=I(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});function _(e){let t=[...e.caches],r=t.shift();return r===void 0?ve():{get(s,n,a={miss:()=>Promise.resolve()}){return r.get(s,n,a).catch(()=>_({caches:t}).get(s,n,a))},set(s,n){return r.set(s,n).catch(()=>_({caches:t}).set(s,n))},delete(s){return r.delete(s).catch(()=>_({caches:t}).delete(s))},clear(){return r.clear().catch(()=>_({caches:t}).clear())}}}function ve(){return{get(e,t,r={miss:()=>Promise.resolve()}){return t().then(n=>Promise.all([n,r.miss(n)])).then(([n])=>n)},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}J.createFallbackableCache=_;J.createNullCache=ve});var Ee=I(($s,qe)=>{qe.exports=xe()});var Te=I(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});function Jt(e={serializable:!0}){let t={};return{get(r,s,n={miss:()=>Promise.resolve()}){let a=JSON.stringify(r);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);let o=s(),d=n&&n.miss||(()=>Promise.resolve());return o.then(y=>d(y)).then(()=>o)},set(r,s){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(r){return delete t[JSON.stringify(r)],Promise.resolve()},clear(){return t={},Promise.resolve()}}}ae.createInMemoryCache=Jt});var we=I((Vs,Me)=>{Me.exports=Te()});var Ce=I(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});function Xt(e,t,r){let s={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers(){return e===oe.WithinHeaders?s:{}},queryParameters(){return e===oe.WithinQueryParameters?s:{}}}}function Yt(e){let t=0,r=()=>(t++,new Promise(s=>{setTimeout(()=>{s(e(r))},Math.min(100*t,1e3))}));return e(r)}function ke(e,t=(r,s)=>Promise.resolve()){return Object.assign(e,{wait(r){return ke(e.then(s=>Promise.all([t(s,r),s])).then(s=>s[1]))}})}function Zt(e){let t=e.length-1;for(t;t>0;t--){let r=Math.floor(Math.random()*(t+1)),s=e[t];e[t]=e[r],e[r]=s}return e}function er(e,t){return Object.keys(t!==void 0?t:{}).forEach(r=>{e[r]=t[r](e)}),e}function tr(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}var rr="4.2.0",sr=e=>()=>e.transporter.requester.destroy(),oe={WithinQueryParameters:0,WithinHeaders:1};M.AuthMode=oe;M.addMethods=er;M.createAuth=Xt;M.createRetryablePromise=Yt;M.createWaitablePromise=ke;M.destroy=sr;M.encode=tr;M.shuffle=Zt;M.version=rr});var F=I((Js,Ue)=>{Ue.exports=Ce()});var Ne=I(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});var nr={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};ie.MethodEnum=nr});var B=I((Ys,We)=>{We.exports=Ne()});var Ze=I(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});var He=B();function ce(e,t){let r=e||{},s=r.data||{};return Object.keys(r).forEach(n=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(n)===-1&&(s[n]=r[n])}),{data:Object.entries(s).length>0?s:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var X={Read:1,Write:2,Any:3},U={Up:1,Down:2,Timeouted:3},_e=2*60*1e3;function ue(e,t=U.Up){return g(u({},e),{status:t,lastUpdate:Date.now()})}function Fe(e){return e.status===U.Up||Date.now()-e.lastUpdate>_e}function Be(e){return e.status===U.Timeouted&&Date.now()-e.lastUpdate<=_e}function le(e){return{protocol:e.protocol||"https",url:e.url,accept:e.accept||X.Any}}function ar(e,t){return Promise.all(t.map(r=>e.get(r,()=>Promise.resolve(ue(r))))).then(r=>{let s=r.filter(d=>Fe(d)),n=r.filter(d=>Be(d)),a=[...s,...n],o=a.length>0?a.map(d=>le(d)):t;return{getTimeout(d,y){return(n.length===0&&d===0?1:n.length+3+d)*y},statelessHosts:o}})}var or=({isTimedOut:e,status:t})=>!e&&~~t==0,ir=e=>{let t=e.status;return e.isTimedOut||or(e)||~~(t/100)!=2&&~~(t/100)!=4},cr=({status:e})=>~~(e/100)==2,ur=(e,t)=>ir(e)?t.onRetry(e):cr(e)?t.onSucess(e):t.onFail(e);function Qe(e,t,r,s){let n=[],a=$e(r,s),o=Le(e,s),d=r.method,y=r.method!==He.MethodEnum.Get?{}:u(u({},r.data),s.data),b=u(u(u({"x-algolia-agent":e.userAgent.value},e.queryParameters),y),s.queryParameters),f=0,p=(h,S)=>{let O=h.pop();if(O===void 0)throw Ve(de(n));let P={data:a,headers:o,method:d,url:Ge(O,r.path,b),connectTimeout:S(f,e.timeouts.connect),responseTimeout:S(f,s.timeout)},x=j=>{let T={request:P,response:j,host:O,triesLeft:h.length};return n.push(T),T},v={onSucess:j=>Ke(j),onRetry(j){let T=x(j);return j.isTimedOut&&f++,Promise.all([e.logger.info("Retryable failure",pe(T)),e.hostsCache.set(O,ue(O,j.isTimedOut?U.Timeouted:U.Down))]).then(()=>p(h,S))},onFail(j){throw x(j),ze(j,de(n))}};return e.requester.send(P).then(j=>ur(j,v))};return ar(e.hostsCache,t).then(h=>p([...h.statelessHosts].reverse(),h.getTimeout))}function lr(e){let{hostsCache:t,logger:r,requester:s,requestsCache:n,responsesCache:a,timeouts:o,userAgent:d,hosts:y,queryParameters:b,headers:f}=e,p={hostsCache:t,logger:r,requester:s,requestsCache:n,responsesCache:a,timeouts:o,userAgent:d,headers:f,queryParameters:b,hosts:y.map(h=>le(h)),read(h,S){let O=ce(S,p.timeouts.read),P=()=>Qe(p,p.hosts.filter(j=>(j.accept&X.Read)!=0),h,O);if((O.cacheable!==void 0?O.cacheable:h.cacheable)!==!0)return P();let v={request:h,mappedRequestOptions:O,transporter:{queryParameters:p.queryParameters,headers:p.headers}};return p.responsesCache.get(v,()=>p.requestsCache.get(v,()=>p.requestsCache.set(v,P()).then(j=>Promise.all([p.requestsCache.delete(v),j]),j=>Promise.all([p.requestsCache.delete(v),Promise.reject(j)])).then(([j,T])=>T)),{miss:j=>p.responsesCache.set(v,j)})},write(h,S){return Qe(p,p.hosts.filter(O=>(O.accept&X.Write)!=0),h,ce(S,p.timeouts.write))}};return p}function dr(e){let t={value:`Algolia for JavaScript (${e})`,add(r){let s=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return t.value.indexOf(s)===-1&&(t.value=`${t.value}${s}`),t}};return t}function Ke(e){try{return JSON.parse(e.content)}catch(t){throw Je(t.message,e)}}function ze({content:e,status:t},r){let s=e;try{s=JSON.parse(e).message}catch(n){}return Xe(s,t,r)}function pr(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}function Ge(e,t,r){let s=Ye(r),n=`${e.protocol}://${e.url}/${t.charAt(0)==="/"?t.substr(1):t}`;return s.length&&(n+=`?${s}`),n}function Ye(e){let t=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(e).map(r=>pr("%s=%s",r,t(e[r])?JSON.stringify(e[r]):e[r])).join("&")}function $e(e,t){if(e.method===He.MethodEnum.Get||e.data===void 0&&t.data===void 0)return;let r=Array.isArray(e.data)?e.data:u(u({},e.data),t.data);return JSON.stringify(r)}function Le(e,t){let r=u(u({},e.headers),t.headers),s={};return Object.keys(r).forEach(n=>{let a=r[n];s[n.toLowerCase()]=a}),s}function de(e){return e.map(t=>pe(t))}function pe(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return g(u({},e),{request:g(u({},e.request),{headers:u(u({},e.request.headers),t)})})}function Xe(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}function Je(e,t){return{name:"DeserializationError",message:e,response:t}}function Ve(e){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:e}}A.CallEnum=X;A.HostStatusEnum=U;A.createApiError=Xe;A.createDeserializationError=Je;A.createMappedRequestOptions=ce;A.createRetryError=Ve;A.createStatefulHost=ue;A.createStatelessHost=le;A.createTransporter=lr;A.createUserAgent=dr;A.deserializeFailure=ze;A.deserializeSuccess=Ke;A.isStatefulHostTimeouted=Be;A.isStatefulHostUp=Fe;A.serializeData=$e;A.serializeHeaders=Le;A.serializeQueryParameters=Ye;A.serializeUrl=Ge;A.stackFrameWithoutCredentials=pe;A.stackTraceWithoutCredentials=de});var K=I((en,et)=>{et.exports=Ze()});var tt=I(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});var N=F(),mr=K(),z=B(),hr=e=>{let t=e.region||"us",r=N.createAuth(N.AuthMode.WithinHeaders,e.appId,e.apiKey),s=mr.createTransporter(g(u({hosts:[{url:`analytics.${t}.algolia.com`}]},e),{headers:u(g(u({},r.headers()),{"content-type":"application/json"}),e.headers),queryParameters:u(u({},r.queryParameters()),e.queryParameters)})),n=e.appId;return N.addMethods({appId:n,transporter:s},e.methods)},yr=e=>(t,r)=>e.transporter.write({method:z.MethodEnum.Post,path:"2/abtests",data:t},r),gr=e=>(t,r)=>e.transporter.write({method:z.MethodEnum.Delete,path:N.encode("2/abtests/%s",t)},r),fr=e=>(t,r)=>e.transporter.read({method:z.MethodEnum.Get,path:N.encode("2/abtests/%s",t)},r),br=e=>t=>e.transporter.read({method:z.MethodEnum.Get,path:"2/abtests"},t),Pr=e=>(t,r)=>e.transporter.write({method:z.MethodEnum.Post,path:N.encode("2/abtests/%s/stop",t)},r);w.addABTest=yr;w.createAnalyticsClient=hr;w.deleteABTest=gr;w.getABTest=fr;w.getABTests=br;w.stopABTest=Pr});var st=I((rn,rt)=>{rt.exports=tt()});var at=I(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});var me=F(),jr=K(),nt=B(),Or=e=>{let t=e.region||"us",r=me.createAuth(me.AuthMode.WithinHeaders,e.appId,e.apiKey),s=jr.createTransporter(g(u({hosts:[{url:`recommendation.${t}.algolia.com`}]},e),{headers:u(g(u({},r.headers()),{"content-type":"application/json"}),e.headers),queryParameters:u(u({},r.queryParameters()),e.queryParameters)}));return me.addMethods({appId:e.appId,transporter:s},e.methods)},Ir=e=>t=>e.transporter.read({method:nt.MethodEnum.Get,path:"1/strategies/personalization"},t),Ar=e=>(t,r)=>e.transporter.write({method:nt.MethodEnum.Post,path:"1/strategies/personalization",data:t},r);G.createRecommendationClient=Or;G.getPersonalizationStrategy=Ir;G.setPersonalizationStrategy=Ar});var it=I((nn,ot)=>{ot.exports=at()});var jt=I(i=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var l=F(),q=K(),m=B(),Sr=require("crypto");function Y(e){let t=r=>e.request(r).then(s=>{if(e.batch!==void 0&&e.batch(s.hits),!e.shouldStop(s))return s.cursor?t({cursor:s.cursor}):t({page:(r.page||0)+1})});return t({})}var Dr=e=>{let t=e.appId,r=l.createAuth(e.authMode!==void 0?e.authMode:l.AuthMode.WithinHeaders,t,e.apiKey),s=q.createTransporter(g(u({hosts:[{url:`${t}-dsn.algolia.net`,accept:q.CallEnum.Read},{url:`${t}.algolia.net`,accept:q.CallEnum.Write}].concat(l.shuffle([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}]))},e),{headers:u(g(u({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:u(u({},r.queryParameters()),e.queryParameters)})),n={transporter:s,appId:t,addAlgoliaAgent(a,o){s.userAgent.add({segment:a,version:o})},clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})}};return l.addMethods(n,e.methods)};function ct(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function ut(){return{name:"ObjectNotFoundError",message:"Object not found."}}function lt(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Rr=e=>(t,r)=>{let d=r||{},{queryParameters:s}=d,n=R(d,["queryParameters"]),a=u({acl:t},s!==void 0?{queryParameters:s}:{}),o=(y,b)=>l.createRetryablePromise(f=>$(e)(y.key,b).catch(p=>{if(p.status!==404)throw p;return f()}));return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:"1/keys",data:a},n),o)},vr=e=>(t,r,s)=>{let n=q.createMappedRequestOptions(s);return n.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:m.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},n)},xr=e=>(t,r,s)=>e.transporter.write({method:m.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:t,cluster:r}},s),Z=e=>(t,r,s)=>{let n=(a,o)=>L(e)(t,{methods:{waitTask:D}}).waitTask(a.taskID,o);return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/operation",t),data:{operation:"copy",destination:r}},s),n)},qr=e=>(t,r,s)=>Z(e)(t,r,g(u({},s),{scope:[ee.Rules]})),Er=e=>(t,r,s)=>Z(e)(t,r,g(u({},s),{scope:[ee.Settings]})),Tr=e=>(t,r,s)=>Z(e)(t,r,g(u({},s),{scope:[ee.Synonyms]})),Mr=e=>(t,r)=>{let s=(n,a)=>l.createRetryablePromise(o=>$(e)(t,a).then(o).catch(d=>{if(d.status!==404)throw d}));return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Delete,path:l.encode("1/keys/%s",t)},r),s)},wr=()=>(e,t)=>{let r=q.serializeQueryParameters(t),s=Sr.createHmac("sha256",e).update(r).digest("hex");return Buffer.from(s+r).toString("base64")},$=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/keys/%s",t)},r),kr=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/logs"},t),Cr=()=>e=>{let t=Buffer.from(e,"base64").toString("ascii"),r=/validUntil=(\d+)/,s=t.match(r);if(s===null)throw lt();return parseInt(s[1],10)-Math.round(new Date().getTime()/1e3)},Ur=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/clusters/mapping/top"},t),Nr=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/clusters/mapping/%s",t)},r),Wr=e=>t=>{let n=t||{},{retrieveMappings:r}=n,s=R(n,["retrieveMappings"]);return r===!0&&(s.getClusters=!0),e.transporter.read({method:m.MethodEnum.Get,path:"1/clusters/mapping/pending"},s)},L=e=>(t,r={})=>{let s={transporter:e.transporter,appId:e.appId,indexName:t};return l.addMethods(s,r.methods)},Hr=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/keys"},t),_r=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/clusters"},t),Fr=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/indexes"},t),Br=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:"1/clusters/mapping"},t),Kr=e=>(t,r,s)=>{let n=(a,o)=>L(e)(t,{methods:{waitTask:D}}).waitTask(a.taskID,o);return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/operation",t),data:{operation:"move",destination:r}},s),n)},zr=e=>(t,r)=>{let s=(n,a)=>Promise.all(Object.keys(n.taskID).map(o=>L(e)(o,{methods:{waitTask:D}}).waitTask(n.taskID[o],a)));return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:t}},r),s)},Gr=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},r),$r=e=>(t,r)=>{let s=t.map(n=>g(u({},n),{params:q.serializeQueryParameters(n.params||{})}));return e.transporter.read({method:m.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:s},cacheable:!0},r)},Lr=e=>(t,r)=>Promise.all(t.map(s=>{let d=s.params,{facetName:n,facetQuery:a}=d,o=R(d,["facetName","facetQuery"]);return L(e)(s.indexName,{methods:{searchForFacetValues:dt}}).searchForFacetValues(n,a,u(u({},r),o))})),Vr=e=>(t,r)=>{let s=q.createMappedRequestOptions(r);return s.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:m.MethodEnum.Delete,path:"1/clusters/mapping"},s)},Qr=e=>(t,r)=>{let s=(n,a)=>l.createRetryablePromise(o=>$(e)(t,a).catch(d=>{if(d.status!==404)throw d;return o()}));return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/keys/%s/restore",t)},r),s)},Jr=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:t}},r),Xr=e=>(t,r)=>{let s=Object.assign({},r),f=r||{},{queryParameters:n}=f,a=R(f,["queryParameters"]),o=n?{queryParameters:n}:{},d=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],y=p=>Object.keys(s).filter(h=>d.indexOf(h)!==-1).every(h=>p[h]===s[h]),b=(p,h)=>l.createRetryablePromise(S=>$(e)(t,h).then(O=>y(O)?Promise.resolve():S()));return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Put,path:l.encode("1/keys/%s",t),data:o},a),b)},pt=e=>(t,r)=>{let s=(n,a)=>D(e)(n.taskID,a);return l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/batch",e.indexName),data:{requests:t}},r),s)},Yr=e=>t=>Y(g(u({},t),{shouldStop:r=>r.cursor===void 0,request:r=>e.transporter.read({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/browse",e.indexName),data:r},t)})),Zr=e=>t=>{let r=u({hitsPerPage:1e3},t);return Y(g(u({},r),{shouldStop:s=>s.hits.lengthg(u({},n),{hits:n.hits.map(a=>(delete a._highlightResult,a))}))}}))},es=e=>t=>{let r=u({hitsPerPage:1e3},t);return Y(g(u({},r),{shouldStop:s=>s.hits.lengthg(u({},n),{hits:n.hits.map(a=>(delete a._highlightResult,a))}))}}))},te=e=>(t,r,s)=>{let y=s||{},{batchSize:n}=y,a=R(y,["batchSize"]),o={taskIDs:[],objectIDs:[]},d=(b=0)=>{let f=[],p;for(p=b;p({action:r,body:h})),a).then(h=>(o.objectIDs=o.objectIDs.concat(h.objectIDs),o.taskIDs.push(h.taskID),p++,d(p)))};return l.createWaitablePromise(d(),(b,f)=>Promise.all(b.taskIDs.map(p=>D(e)(p,f))))},ts=e=>t=>l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/clear",e.indexName)},t),(r,s)=>D(e)(r.taskID,s)),rs=e=>t=>{let a=t||{},{forwardToReplicas:r}=a,s=R(a,["forwardToReplicas"]),n=q.createMappedRequestOptions(s);return r&&(n.queryParameters.forwardToReplicas=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/rules/clear",e.indexName)},n),(o,d)=>D(e)(o.taskID,d))},ss=e=>t=>{let a=t||{},{forwardToReplicas:r}=a,s=R(a,["forwardToReplicas"]),n=q.createMappedRequestOptions(s);return r&&(n.queryParameters.forwardToReplicas=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/synonyms/clear",e.indexName)},n),(o,d)=>D(e)(o.taskID,d))},ns=e=>(t,r)=>l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/deleteByQuery",e.indexName),data:t},r),(s,n)=>D(e)(s.taskID,n)),as=e=>t=>l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Delete,path:l.encode("1/indexes/%s",e.indexName)},t),(r,s)=>D(e)(r.taskID,s)),os=e=>(t,r)=>l.createWaitablePromise(yt(e)([t],r).then(s=>({taskID:s.taskIDs[0]})),(s,n)=>D(e)(s.taskID,n)),yt=e=>(t,r)=>{let s=t.map(n=>({objectID:n}));return te(e)(s,k.DeleteObject,r)},is=e=>(t,r)=>{let o=r||{},{forwardToReplicas:s}=o,n=R(o,["forwardToReplicas"]),a=q.createMappedRequestOptions(n);return s&&(a.queryParameters.forwardToReplicas=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Delete,path:l.encode("1/indexes/%s/rules/%s",e.indexName,t)},a),(d,y)=>D(e)(d.taskID,y))},cs=e=>(t,r)=>{let o=r||{},{forwardToReplicas:s}=o,n=R(o,["forwardToReplicas"]),a=q.createMappedRequestOptions(n);return s&&(a.queryParameters.forwardToReplicas=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Delete,path:l.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},a),(d,y)=>D(e)(d.taskID,y))},us=e=>t=>gt(e)(t).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),ls=e=>(t,r)=>{let y=r||{},{query:s,paginate:n}=y,a=R(y,["query","paginate"]),o=0,d=()=>ft(e)(s||"",g(u({},a),{page:o})).then(b=>{for(let[f,p]of Object.entries(b.hits))if(t(p))return{object:p,position:parseInt(f,10),page:o};if(o++,n===!1||o>=b.nbPages)throw ut();return d()});return d()},ds=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/indexes/%s/%s",e.indexName,t)},r),ps=()=>(e,t)=>{for(let[r,s]of Object.entries(e.hits))if(s.objectID===t)return parseInt(r,10);return-1},ms=e=>(t,r)=>{let o=r||{},{attributesToRetrieve:s}=o,n=R(o,["attributesToRetrieve"]),a=t.map(d=>u({indexName:e.indexName,objectID:d},s?{attributesToRetrieve:s}:{}));return e.transporter.read({method:m.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:a}},n)},hs=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/indexes/%s/rules/%s",e.indexName,t)},r),gt=e=>t=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t),ys=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},r),bt=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Get,path:l.encode("1/indexes/%s/task/%s",e.indexName,t.toString())},r),gs=e=>(t,r)=>l.createWaitablePromise(Pt(e)([t],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,n)=>D(e)(s.taskID,n)),Pt=e=>(t,r)=>{let o=r||{},{createIfNotExists:s}=o,n=R(o,["createIfNotExists"]),a=s?k.PartialUpdateObject:k.PartialUpdateObjectNoCreate;return te(e)(t,a,n)},fs=e=>(t,r)=>{let O=r||{},{safe:s,autoGenerateObjectIDIfNotExist:n,batchSize:a}=O,o=R(O,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),d=(P,x,v,j)=>l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/operation",P),data:{operation:v,destination:x}},j),(T,V)=>D(e)(T.taskID,V)),y=Math.random().toString(36).substring(7),b=`${e.indexName}_tmp_${y}`,f=he({appId:e.appId,transporter:e.transporter,indexName:b}),p=[],h=d(e.indexName,b,"copy",g(u({},o),{scope:["settings","synonyms","rules"]}));p.push(h);let S=(s?h.wait(o):h).then(()=>{let P=f(t,g(u({},o),{autoGenerateObjectIDIfNotExist:n,batchSize:a}));return p.push(P),s?P.wait(o):P}).then(()=>{let P=d(b,e.indexName,"move",o);return p.push(P),s?P.wait(o):P}).then(()=>Promise.all(p)).then(([P,x,v])=>({objectIDs:x.objectIDs,taskIDs:[P.taskID,...x.taskIDs,v.taskID]}));return l.createWaitablePromise(S,(P,x)=>Promise.all(p.map(v=>v.wait(x))))},bs=e=>(t,r)=>ye(e)(t,g(u({},r),{clearExistingRules:!0})),Ps=e=>(t,r)=>ge(e)(t,g(u({},r),{replaceExistingSynonyms:!0})),js=e=>(t,r)=>l.createWaitablePromise(he(e)([t],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,n)=>D(e)(s.taskID,n)),he=e=>(t,r)=>{let o=r||{},{autoGenerateObjectIDIfNotExist:s}=o,n=R(o,["autoGenerateObjectIDIfNotExist"]),a=s?k.AddObject:k.UpdateObject;if(a===k.UpdateObject){for(let d of t)if(d.objectID===void 0)return l.createWaitablePromise(Promise.reject(ct()))}return te(e)(t,a,n)},Os=e=>(t,r)=>ye(e)([t],r),ye=e=>(t,r)=>{let d=r||{},{forwardToReplicas:s,clearExistingRules:n}=d,a=R(d,["forwardToReplicas","clearExistingRules"]),o=q.createMappedRequestOptions(a);return s&&(o.queryParameters.forwardToReplicas=1),n&&(o.queryParameters.clearExistingRules=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/rules/batch",e.indexName),data:t},o),(y,b)=>D(e)(y.taskID,b))},Is=e=>(t,r)=>ge(e)([t],r),ge=e=>(t,r)=>{let d=r||{},{forwardToReplicas:s,replaceExistingSynonyms:n}=d,a=R(d,["forwardToReplicas","replaceExistingSynonyms"]),o=q.createMappedRequestOptions(a);return s&&(o.queryParameters.forwardToReplicas=1),n&&(o.queryParameters.replaceExistingSynonyms=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/synonyms/batch",e.indexName),data:t},o),(y,b)=>D(e)(y.taskID,b))},ft=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),dt=e=>(t,r,s)=>e.transporter.read({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},s),mt=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/rules/search",e.indexName),data:{query:t}},r),ht=e=>(t,r)=>e.transporter.read({method:m.MethodEnum.Post,path:l.encode("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},r),As=e=>(t,r)=>{let o=r||{},{forwardToReplicas:s}=o,n=R(o,["forwardToReplicas"]),a=q.createMappedRequestOptions(n);return s&&(a.queryParameters.forwardToReplicas=1),l.createWaitablePromise(e.transporter.write({method:m.MethodEnum.Put,path:l.encode("1/indexes/%s/settings",e.indexName),data:t},a),(d,y)=>D(e)(d.taskID,y))},D=e=>(t,r)=>l.createRetryablePromise(s=>bt(e)(t,r).then(n=>n.status!=="published"?s():void 0)),Ss={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},k={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},ee={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Ds={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Rs={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};i.ApiKeyACLEnum=Ss;i.BatchActionEnum=k;i.ScopeEnum=ee;i.StrategyEnum=Ds;i.SynonymEnum=Rs;i.addApiKey=Rr;i.assignUserID=vr;i.assignUserIDs=xr;i.batch=pt;i.browseObjects=Yr;i.browseRules=Zr;i.browseSynonyms=es;i.chunkedBatch=te;i.clearObjects=ts;i.clearRules=rs;i.clearSynonyms=ss;i.copyIndex=Z;i.copyRules=qr;i.copySettings=Er;i.copySynonyms=Tr;i.createBrowsablePromise=Y;i.createMissingObjectIDError=ct;i.createObjectNotFoundError=ut;i.createSearchClient=Dr;i.createValidUntilNotFoundError=lt;i.deleteApiKey=Mr;i.deleteBy=ns;i.deleteIndex=as;i.deleteObject=os;i.deleteObjects=yt;i.deleteRule=is;i.deleteSynonym=cs;i.exists=us;i.findObject=ls;i.generateSecuredApiKey=wr;i.getApiKey=$;i.getLogs=kr;i.getObject=ds;i.getObjectPosition=ps;i.getObjects=ms;i.getRule=hs;i.getSecuredApiKeyRemainingValidity=Cr;i.getSettings=gt;i.getSynonym=ys;i.getTask=bt;i.getTopUserIDs=Ur;i.getUserID=Nr;i.hasPendingMappings=Wr;i.initIndex=L;i.listApiKeys=Hr;i.listClusters=_r;i.listIndices=Fr;i.listUserIDs=Br;i.moveIndex=Kr;i.multipleBatch=zr;i.multipleGetObjects=Gr;i.multipleQueries=$r;i.multipleSearchForFacetValues=Lr;i.partialUpdateObject=gs;i.partialUpdateObjects=Pt;i.removeUserID=Vr;i.replaceAllObjects=fs;i.replaceAllRules=bs;i.replaceAllSynonyms=Ps;i.restoreApiKey=Qr;i.saveObject=js;i.saveObjects=he;i.saveRule=Os;i.saveRules=ye;i.saveSynonym=Is;i.saveSynonyms=ge;i.search=ft;i.searchForFacetValues=dt;i.searchRules=mt;i.searchSynonyms=ht;i.searchUserIDs=Jr;i.setSettings=As;i.updateApiKey=Xr;i.waitTask=D});var It=I((on,Ot)=>{Ot.exports=jt()});var At=I(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});function vs(){return{debug(e,t){return Promise.resolve()},info(e,t){return Promise.resolve()},error(e,t){return Promise.resolve()}}}var xs={Debug:1,Info:2,Error:3};re.LogLevelEnum=xs;re.createNullLogger=vs});var Dt=I((un,St)=>{St.exports=At()});var xt=I(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});var Rt=require("http"),vt=require("https"),qs=require("url");function Es(){let e={keepAlive:!0},t=new Rt.Agent(e),r=new vt.Agent(e);return{send(s){return new Promise(n=>{let a=qs.parse(s.url),o=a.query===null?a.pathname:`${a.pathname}?${a.query}`,d=u({agent:a.protocol==="https:"?r:t,hostname:a.hostname,path:o,method:s.method,headers:s.headers},a.port!==void 0?{port:a.port||""}:{}),y=(a.protocol==="https:"?vt:Rt).request(d,h=>{let S="";h.on("data",O=>S+=O),h.on("end",()=>{clearTimeout(f),clearTimeout(p),n({status:h.statusCode||0,content:S,isTimedOut:!1})})}),b=(h,S)=>setTimeout(()=>{y.abort(),n({status:0,content:S,isTimedOut:!0})},h*1e3),f=b(s.connectTimeout,"Connection timeout"),p;y.on("error",h=>{clearTimeout(f),clearTimeout(p),n({status:0,content:h.message,isTimedOut:!1})}),y.once("response",()=>{clearTimeout(f),p=b(s.responseTimeout,"Socket timeout")}),s.data!==void 0&&y.write(s.data),y.end()})},destroy(){return t.destroy(),r.destroy(),Promise.resolve()}}}fe.createNodeHttpRequester=Es});var Et=I((dn,qt)=>{qt.exports=xt()});var kt=I((pn,Tt)=>{"use strict";var Mt=Ee(),Ts=we(),W=st(),be=F(),Pe=it(),c=It(),Ms=Dt(),ws=Et(),ks=K();function wt(e,t,r){let s={appId:e,apiKey:t,timeouts:{connect:2,read:5,write:30},requester:ws.createNodeHttpRequester(),logger:Ms.createNullLogger(),responsesCache:Mt.createNullCache(),requestsCache:Mt.createNullCache(),hostsCache:Ts.createInMemoryCache(),userAgent:ks.createUserAgent(be.version).add({segment:"Node.js",version:process.versions.node})};return c.createSearchClient(g(u(u({},s),r),{methods:{search:c.multipleQueries,searchForFacetValues:c.multipleSearchForFacetValues,multipleBatch:c.multipleBatch,multipleGetObjects:c.multipleGetObjects,multipleQueries:c.multipleQueries,copyIndex:c.copyIndex,copySettings:c.copySettings,copyRules:c.copyRules,copySynonyms:c.copySynonyms,moveIndex:c.moveIndex,listIndices:c.listIndices,getLogs:c.getLogs,listClusters:c.listClusters,multipleSearchForFacetValues:c.multipleSearchForFacetValues,getApiKey:c.getApiKey,addApiKey:c.addApiKey,listApiKeys:c.listApiKeys,updateApiKey:c.updateApiKey,deleteApiKey:c.deleteApiKey,restoreApiKey:c.restoreApiKey,assignUserID:c.assignUserID,assignUserIDs:c.assignUserIDs,getUserID:c.getUserID,searchUserIDs:c.searchUserIDs,listUserIDs:c.listUserIDs,getTopUserIDs:c.getTopUserIDs,removeUserID:c.removeUserID,hasPendingMappings:c.hasPendingMappings,generateSecuredApiKey:c.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:c.getSecuredApiKeyRemainingValidity,destroy:be.destroy,initIndex:n=>a=>c.initIndex(n)(a,{methods:{batch:c.batch,delete:c.deleteIndex,getObject:c.getObject,getObjects:c.getObjects,saveObject:c.saveObject,saveObjects:c.saveObjects,search:c.search,searchForFacetValues:c.searchForFacetValues,waitTask:c.waitTask,setSettings:c.setSettings,getSettings:c.getSettings,partialUpdateObject:c.partialUpdateObject,partialUpdateObjects:c.partialUpdateObjects,deleteObject:c.deleteObject,deleteObjects:c.deleteObjects,deleteBy:c.deleteBy,clearObjects:c.clearObjects,browseObjects:c.browseObjects,getObjectPosition:c.getObjectPosition,findObject:c.findObject,exists:c.exists,saveSynonym:c.saveSynonym,saveSynonyms:c.saveSynonyms,getSynonym:c.getSynonym,searchSynonyms:c.searchSynonyms,browseSynonyms:c.browseSynonyms,deleteSynonym:c.deleteSynonym,clearSynonyms:c.clearSynonyms,replaceAllObjects:c.replaceAllObjects,replaceAllSynonyms:c.replaceAllSynonyms,searchRules:c.searchRules,getRule:c.getRule,deleteRule:c.deleteRule,saveRule:c.saveRule,saveRules:c.saveRules,replaceAllRules:c.replaceAllRules,browseRules:c.browseRules,clearRules:c.clearRules}}),initAnalytics:()=>n=>W.createAnalyticsClient(g(u(u({},s),n),{methods:{addABTest:W.addABTest,getABTest:W.getABTest,getABTests:W.getABTests,stopABTest:W.stopABTest,deleteABTest:W.deleteABTest}})),initRecommendation:()=>n=>Pe.createRecommendationClient(g(u(u({},s),n),{methods:{getPersonalizationStrategy:Pe.getPersonalizationStrategy,setPersonalizationStrategy:Pe.setPersonalizationStrategy}}))}}))}wt.version=be.version;Tt.exports=wt});var Ut=I((mn,je)=>{var Ct=kt();je.exports=Ct;je.exports.default=Ct});var Ws={};Vt(Ws,{default:()=>Ks});var Oe=C(require("@yarnpkg/core")),E=C(require("@yarnpkg/core")),Ie=C(require("@yarnpkg/plugin-essentials")),Ht=C(require("semver"));var se=C(require("@yarnpkg/core")),Nt=C(Ut()),Cs="e8e1bd300d860104bb8c58453ffa1eb4",Us="OFCNCOG2CU",Wt=async(e,t)=>{var a;let r=se.structUtils.stringifyIdent(e),n=Ns(t).initIndex("npm-search");try{return((a=(await n.getObject(r,{attributesToRetrieve:["types"]})).types)==null?void 0:a.ts)==="definitely-typed"}catch(o){return!1}},Ns=e=>(0,Nt.default)(Us,Cs,{requester:{async send(r){try{let s=await se.httpUtils.request(r.url,r.data||null,{configuration:e,headers:r.headers});return{content:s.body,isTimedOut:!1,status:s.statusCode}}catch(s){return{content:s.response.body,isTimedOut:!1,status:s.response.statusCode}}}}});var _t=e=>e.scope?`${e.scope}__${e.name}`:`${e.name}`,Hs=async(e,t,r,s)=>{if(r.scope==="types")return;let{project:n}=e,{configuration:a}=n,o=a.makeResolver(),d={project:n,resolver:o,report:new E.ThrowReport};if(!await Wt(r,a))return;let b=_t(r),f=E.structUtils.parseRange(r.range).selector;if(!E.semverUtils.validRange(f)){let P=await o.getCandidates(r,new Map,d);f=E.structUtils.parseRange(P[0].reference).selector}let p=Ht.default.coerce(f);if(p===null)return;let h=`${Ie.suggestUtils.Modifier.CARET}${p.major}`,S=E.structUtils.makeDescriptor(E.structUtils.makeIdent("types",b),h),O=E.miscUtils.mapAndFind(n.workspaces,P=>{var T,V;let x=(T=P.manifest.dependencies.get(r.identHash))==null?void 0:T.descriptorHash,v=(V=P.manifest.devDependencies.get(r.identHash))==null?void 0:V.descriptorHash;if(x!==r.descriptorHash&&v!==r.descriptorHash)return E.miscUtils.mapAndFind.skip;let j=[];for(let Ae of Oe.Manifest.allDependencies){let Se=P.manifest[Ae].get(S.identHash);typeof Se!="undefined"&&j.push([Ae,Se])}return j.length===0?E.miscUtils.mapAndFind.skip:j});if(typeof O!="undefined")for(let[P,x]of O)e.manifest[P].set(x.identHash,x);else{try{if((await o.getCandidates(S,new Map,d)).length===0)return}catch{return}e.manifest[Ie.suggestUtils.Target.DEVELOPMENT].set(S.identHash,S)}},_s=async(e,t,r)=>{if(r.scope==="types")return;let s=_t(r),n=E.structUtils.makeIdent("types",s);for(let a of Oe.Manifest.allDependencies)typeof e.manifest[a].get(n.identHash)!="undefined"&&e.manifest[a].delete(n.identHash)},Fs=(e,t)=>{t.publishConfig&&t.publishConfig.typings&&(t.typings=t.publishConfig.typings),t.publishConfig&&t.publishConfig.types&&(t.types=t.publishConfig.types)},Bs={hooks:{afterWorkspaceDependencyAddition:Hs,afterWorkspaceDependencyRemoval:_s,beforeWorkspacePacking:Fs}},Ks=Bs;return Ws;})(); +return plugin; +} +}; diff --git a/.yarn/plugins/plugin-requirements.check.cjs b/.yarn/plugins/plugin-requirements.check.cjs index 218e1d751..4e008071c 100644 --- a/.yarn/plugins/plugin-requirements.check.cjs +++ b/.yarn/plugins/plugin-requirements.check.cjs @@ -8,16 +8,18 @@ module.exports = { const data = readFileSync('package.json'); const { engines } = JSON.parse(data.toString()); const { node } = engines; + function validateNodeVer () { + if (!semver.satisfies(process.version, node)) { + throw new Error( + `The current node version ${process.version} does not satisfy the required version ${node}.`, + ); + } + } return { default: { hooks: { - validateProject() { - if (!semver.satisfies(process.version, node)) { - throw new Error( - `The current node version ${process.version} does not satisfy the required version ${node}.`, - ); - } - }, + setupScriptEnvironment: validateNodeVer, + validateProject: validateNodeVer, }, }, }; diff --git a/.yarnrc.yml b/.yarnrc.yml index e623cbd67..638fa3f34 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,5 +4,7 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" - .yarn/plugins/plugin-requirements.check.cjs + - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs + spec: "@yarnpkg/plugin-typescript" yarnPath: .yarn/releases/yarn-sources.cjs From 02e7f862a8ba95d2b318a121d49f8a743dc6ab99 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Sun, 11 Jul 2021 16:28:29 +0000 Subject: [PATCH 157/300] docs(CHANGELOG.md): update links, rewrite some entries --- CHANGELOG.md | 136 ++++++++++++++++++++++++++------------------------- 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe2e841f6..f29936196 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,18 +25,20 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) ### 🐛 Fixed -* Resolved form submitting issues that occured when password evaluation fails to load. - [#328][] -* Fixed authorization page displaying an `Invalid Authorize Request` error when redirecting users after login. - [#328][] -* Fixed `Using Odyssey` switch not properly entering loading state while waiting on a response from the API. - [#330][] +* Failure to load password evaluation will no longer prevent forms that use it from being submitted. - [#328][] +* Authorization page no longer displays an `Invalid Authorize Request` error when redirecting users after login. - [#328][] +* `Using Odyssey` switch now properly enters a loading state while waiting on it's event handler to resolve. - [#330][] +* Profile page will no longer crash when deleting a rat. - [#333][] ### ⚙ Tasks * Update lint configs * Add `@next/eslint-plugin-next` into linting config. -[#328]: https://github.com/fuelRats/fuelrats.com/pull/328 -[#329]: https://github.com/fuelRats/fuelrats.com/pull/329 -[#330]: https://github.com/fuelRats/fuelrats.com/pull/330 +[#328]: https://github.com/FuelRats/fuelrats.com/pull/328 +[#329]: https://github.com/FuelRats/fuelrats.com/pull/329 +[#330]: https://github.com/FuelRats/fuelrats.com/pull/330 +[#333]: https://github.com/FuelRats/fuelrats.com/pull/333 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD @@ -54,7 +56,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Improved queue information endpoint response times via better routing and caching. - [#326][] -[#326]: https://github.com/fuelRats/fuelrats.com/pull/326 +[#326]: https://github.com/FuelRats/fuelrats.com/pull/326 [2.13.1]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...v2.13.1 @@ -81,11 +83,11 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Add @Delota as a contributor! 🥳 - [#317][] -[#316]: https://github.com/fuelRats/fuelrats.com/pull/316 -[#317]: https://github.com/fuelRats/fuelrats.com/pull/317 -[#320]: https://github.com/fuelRats/fuelrats.com/pull/320 -[#323]: https://github.com/fuelRats/fuelrats.com/pull/323 -[#324]: https://github.com/fuelRats/fuelrats.com/pull/324 +[#316]: https://github.com/FuelRats/fuelrats.com/pull/316 +[#317]: https://github.com/FuelRats/fuelrats.com/pull/317 +[#320]: https://github.com/FuelRats/fuelrats.com/pull/320 +[#323]: https://github.com/FuelRats/fuelrats.com/pull/323 +[#324]: https://github.com/FuelRats/fuelrats.com/pull/324 [2.13.0]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.10...v2.13.0 @@ -106,8 +108,8 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Resolved a crash on the paperwork page which would occur when changing the platform in certain situations. - [#315][] -[#314]: https://github.com/fuelRats/fuelrats.com/pull/314 -[#315]: https://github.com/fuelRats/fuelrats.com/pull/315 +[#314]: https://github.com/FuelRats/fuelrats.com/pull/314 +[#315]: https://github.com/FuelRats/fuelrats.com/pull/315 [2.12.10]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.9...v2.12.10 @@ -122,7 +124,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Move fuelrats API routes to `/api/fr` to free up the api directory for other things. - [#312][] -[#312]: https://github.com/fuelRats/fuelrats.com/pull/312 +[#312]: https://github.com/FuelRats/fuelrats.com/pull/312 [2.12.9]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.8...v2.12.9 @@ -135,7 +137,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Fix multiple issues with redeeming decals - [#309][] -[#309]: https://github.com/fuelRats/fuelrats.com/pull/309 +[#309]: https://github.com/FuelRats/fuelrats.com/pull/309 [2.12.8]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.7...v2.12.8 @@ -167,11 +169,11 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Add @Master-Guy as a contributor! 🥳 - [#304][] -[#302]: https://github.com/fuelRats/fuelrats.com/pull/302 -[#304]: https://github.com/fuelRats/fuelrats.com/pull/304 -[#305]: https://github.com/fuelRats/fuelrats.com/pull/305 -[#306]: https://github.com/fuelRats/fuelrats.com/pull/306 -[#307]: https://github.com/fuelRats/fuelrats.com/pull/307 +[#302]: https://github.com/FuelRats/fuelrats.com/pull/302 +[#304]: https://github.com/FuelRats/fuelrats.com/pull/304 +[#305]: https://github.com/FuelRats/fuelrats.com/pull/305 +[#306]: https://github.com/FuelRats/fuelrats.com/pull/306 +[#307]: https://github.com/FuelRats/fuelrats.com/pull/307 [2.12.7]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.6...v2.12.7 @@ -192,9 +194,9 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Add @diraven as a contributor! 🎊 - [#299][] -[#297]: https://github.com/fuelrats/fuelrats.com/pull/297 -[#298]: https://github.com/fuelRats/fuelrats.com/pull/298 -[#299]: https://github.com/fuelRats/fuelrats.com/pull/299] +[#297]: https://github.com/FuelRats/fuelrats.com/pull/297 +[#298]: https://github.com/FuelRats/fuelrats.com/pull/298 +[#299]: https://github.com/FuelRats/fuelrats.com/pull/299] [2.12.6]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.5...v2.12.6 @@ -212,7 +214,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Fix race condition that would allow certain requests to be made as someone other than the user making the request. - [#295][] -[#295]: https://github.com/fuelrats/fuelrats.com/pull/295 +[#295]: https://github.com/FuelRats/fuelrats.com/pull/295 [2.12.5]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.4...v2.12.5 @@ -241,10 +243,10 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Upgrade to React 17. - [#293][] -[#290]: https://github.com/fuelrats/fuelrats.com/pull/290 -[#291]: https://github.com/fuelrats/fuelrats.com/pull/291 -[#292]: https://github.com/fuelrats/fuelrats.com/pull/292 -[#293]: https://github.com/fuelrats/fuelrats.com/pull/293 +[#290]: https://github.com/FuelRats/fuelrats.com/pull/290 +[#291]: https://github.com/FuelRats/fuelrats.com/pull/291 +[#292]: https://github.com/FuelRats/fuelrats.com/pull/292 +[#293]: https://github.com/FuelRats/fuelrats.com/pull/293 [2.12.4]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.3...v2.12.4 @@ -270,9 +272,9 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Remove unused React imports and clean up import formatting. - [#287][] -[#286]: https://github.com/fuelrats/fuelrats.com/pull/286 -[#287]: https://github.com/fuelrats/fuelrats.com/pull/287 -[#288]: https://github.com/fuelrats/fuelrats.com/pull/288 +[#286]: https://github.com/FuelRats/fuelrats.com/pull/286 +[#287]: https://github.com/FuelRats/fuelrats.com/pull/287 +[#288]: https://github.com/FuelRats/fuelrats.com/pull/288 [2.12.3]: https://github.com/FuelRats/fuelrats.com/compare/v2.12.2...v2.12.3 @@ -364,32 +366,32 @@ This is the first recovery patch from APIv3 release. Changes were committed dire [2.12.0]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.5...v2.12.0 -[#191]: https://github.com/fuelrats/fuelrats.com/pull/191 -[#220]: https://github.com/fuelrats/fuelrats.com/pull/220 -[#238]: https://github.com/fuelrats/fuelrats.com/pull/238 -[#240]: https://github.com/fuelrats/fuelrats.com/pull/240 -[#241]: https://github.com/fuelrats/fuelrats.com/pull/241 -[#243]: https://github.com/fuelrats/fuelrats.com/pull/243 -[#245]: https://github.com/fuelrats/fuelrats.com/pull/245 -[#247]: https://github.com/fuelrats/fuelrats.com/pull/247 -[#248]: https://github.com/fuelrats/fuelrats.com/pull/248 -[#251]: https://github.com/fuelrats/fuelrats.com/pull/251 -[#253]: https://github.com/fuelrats/fuelrats.com/pull/253 -[#254]: https://github.com/fuelrats/fuelrats.com/pull/254 -[#255]: https://github.com/fuelrats/fuelrats.com/pull/255 -[#256]: https://github.com/fuelrats/fuelrats.com/pull/256 -[#258]: https://github.com/fuelrats/fuelrats.com/pull/258 -[#260]: https://github.com/fuelrats/fuelrats.com/pull/260 -[#262]: https://github.com/fuelrats/fuelrats.com/pull/262 -[#263]: https://github.com/fuelrats/fuelrats.com/pull/263 -[#264]: https://github.com/fuelrats/fuelrats.com/pull/264 -[#265]: https://github.com/fuelrats/fuelrats.com/pull/265 -[#266]: https://github.com/fuelrats/fuelrats.com/pull/266 -[#267]: https://github.com/fuelrats/fuelrats.com/pull/267 -[#268]: https://github.com/fuelrats/fuelrats.com/pull/268 -[#269]: https://github.com/fuelrats/fuelrats.com/pull/269 -[#270]: https://github.com/fuelrats/fuelrats.com/pull/270 -[#271]: https://github.com/fuelrats/fuelrats.com/pull/271 +[#191]: https://github.com/FuelRats/fuelrats.com/pull/191 +[#220]: https://github.com/FuelRats/fuelrats.com/pull/220 +[#238]: https://github.com/FuelRats/fuelrats.com/pull/238 +[#240]: https://github.com/FuelRats/fuelrats.com/pull/240 +[#241]: https://github.com/FuelRats/fuelrats.com/pull/241 +[#243]: https://github.com/FuelRats/fuelrats.com/pull/243 +[#245]: https://github.com/FuelRats/fuelrats.com/pull/245 +[#247]: https://github.com/FuelRats/fuelrats.com/pull/247 +[#248]: https://github.com/FuelRats/fuelrats.com/pull/248 +[#251]: https://github.com/FuelRats/fuelrats.com/pull/251 +[#253]: https://github.com/FuelRats/fuelrats.com/pull/253 +[#254]: https://github.com/FuelRats/fuelrats.com/pull/254 +[#255]: https://github.com/FuelRats/fuelrats.com/pull/255 +[#256]: https://github.com/FuelRats/fuelrats.com/pull/256 +[#258]: https://github.com/FuelRats/fuelrats.com/pull/258 +[#260]: https://github.com/FuelRats/fuelrats.com/pull/260 +[#262]: https://github.com/FuelRats/fuelrats.com/pull/262 +[#263]: https://github.com/FuelRats/fuelrats.com/pull/263 +[#264]: https://github.com/FuelRats/fuelrats.com/pull/264 +[#265]: https://github.com/FuelRats/fuelrats.com/pull/265 +[#266]: https://github.com/FuelRats/fuelrats.com/pull/266 +[#267]: https://github.com/FuelRats/fuelrats.com/pull/267 +[#268]: https://github.com/FuelRats/fuelrats.com/pull/268 +[#269]: https://github.com/FuelRats/fuelrats.com/pull/269 +[#270]: https://github.com/FuelRats/fuelrats.com/pull/270 +[#271]: https://github.com/FuelRats/fuelrats.com/pull/271 @@ -401,7 +403,7 @@ This is the first recovery patch from APIv3 release. Changes were committed dire * Resolved issues with our CSS processing config. - [#242][] [2.11.5]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.4...v2.11.5 -[#242]: https://github.com/fuelrats/fuelrats.com/pull/242 +[#242]: https://github.com/FuelRats/fuelrats.com/pull/242 @@ -424,7 +426,7 @@ This is the first recovery patch from APIv3 release. Changes were committed dire * Switch to new SVG implementation. - [#249][] [2.11.4]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.3...v2.11.4 -[#249]: https://github.com/fuelrats/fuelrats.com/pull/249 +[#249]: https://github.com/FuelRats/fuelrats.com/pull/249 @@ -437,7 +439,7 @@ This is the first recovery patch from APIv3 release. Changes were committed dire [2.11.3]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.2...v2.11.3 -[#242]: https://github.com/fuelrats/fuelrats.com/pull/242 +[#242]: https://github.com/FuelRats/fuelrats.com/pull/242 @@ -450,7 +452,7 @@ This is the first recovery patch from APIv3 release. Changes were committed dire [2.11.2]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.1...v2.11.2 -[#236]: https://github.com/fuelrats/fuelrats.com/pull/236 +[#236]: https://github.com/FuelRats/fuelrats.com/pull/236 @@ -465,7 +467,7 @@ This is the first recovery patch from APIv3 release. Changes were committed dire [2.11.1]: https://github.com/FuelRats/fuelrats.com/compare/v2.11.0...v2.11.1 -[#233]: https://github.com/fuelRats/fuelrats.com/pull/233 +[#233]: https://github.com/FuelRats/fuelrats.com/pull/233 @@ -514,10 +516,10 @@ This is the first recovery patch from APIv3 release. Changes were committed dire [#223]: https://github.com/FuelRats/fuelrats.com/pull/223 [#224]: https://github.com/FuelRats/fuelrats.com/pull/224 [#226]: https://github.com/FuelRats/fuelrats.com/pull/226 -[#228]: https://github.com/fuelRats/fuelrats.com/pull/228 -[#230]: https://github.com/fuelRats/fuelrats.com/pull/230 -[#231]: https://github.com/fuelRats/fuelrats.com/pull/231 -[#232]: https://github.com/fuelRats/fuelrats.com/pull/232 +[#228]: https://github.com/FuelRats/fuelrats.com/pull/228 +[#230]: https://github.com/FuelRats/fuelrats.com/pull/230 +[#231]: https://github.com/FuelRats/fuelrats.com/pull/231 +[#232]: https://github.com/FuelRats/fuelrats.com/pull/232 From a795ed8051a714e8e94d445f9ba7eb39e7dbae09 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Wed, 14 Jul 2021 07:55:27 +0000 Subject: [PATCH 158/300] De-linting fixes --- src/components/ProfileHeader/ProfileHeader.js | 3 +- .../ProfileUserAvatar/ProfileUserAvatar.js | 29 ++- .../ProfileUserAvatar.module.scss | 41 ++++ .../UploadAvatarModal/UploadAvatarModal.js | 211 +++++++++--------- src/scss/_components.scss | 1 - src/scss/components/_user-avatar-edit.scss | 29 --- 6 files changed, 163 insertions(+), 151 deletions(-) create mode 100644 src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss delete mode 100644 src/scss/components/_user-avatar-edit.scss diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index 35398378f..a5038900e 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -1,4 +1,3 @@ -import Image from 'next/image' import React from 'react' import { connect } from '~/store' @@ -11,9 +10,9 @@ import { } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' -import ProfileUserAvatar from '../ProfileUserAvatar' import ChangePasswordModal from '../ChangePasswordModal' import DisableProfileModal from '../DisableProfileModal' +import ProfileUserAvatar from '../ProfileUserAvatar' import UnverifiedUserBanner from './UnverifiedUserBanner' diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 23bd39685..0ff6e44c6 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -1,41 +1,38 @@ -import getConfig from 'next/config' -import Image from 'next/image' -import { useState } from 'react' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import Image from 'next/image' +import { useState, useCallback } from 'react' -import { connect } from '~/store' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectAvatarByUserId, withCurrentUserId } from '~/store/selectors' import UploadAvatarModal from '../UploadAvatarModal' - +import styles from './ProfileUserAvatar.module.scss' function ProfileUserAvatar () { const userAvatar = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarByUserId)) - const [ showUploadAvatar, setShowUploadAvatar ] = useState(false); + const [showUploadAvatar, setShowUploadAvatar] = useState(false) - const handleToggleUploadAvatar = () => { - setShowUploadAvatar(!showUploadAvatar); - } + const handleToggleUploadAvatar = useCallback(() => { + setShowUploadAvatar(!showUploadAvatar) + }, [showUploadAvatar]) return ( <> -
    +
    User's avatar
    -
    -
    -
    -
    +
    +
    +
    +
    { + const userId = useSelector(selectCurrentUserId) + + // Linting note: Cannot use arrow function in onevent, need to wrap + const handleSetCrop = useCallback((newCrop) => { + setCrop(newCrop) + }, []) + const handleSetZoom = useCallback((newZoom) => { + setZoom(newZoom) + }, []) + const handleSetRotation = useCallback((newRotation) => { + setRotation(newRotation) + }, []) + + const onCropComplete = useCallback((croppedArea, cap) => { setCroppedAreaPixels(cap) setSubmitReady(true) - } + }, []) - const onSelectFile = (e) => { - if (e.target.files && e.target.files.length > 0) { + const onSelectFile = useCallback((event) => { + if (event.target.files && event.target.files.length > 0) { const reader = new FileReader() - reader.addEventListener('load', () => setUpImg(reader.result)) - reader.readAsDataURL(e.target.files[0]) + reader.addEventListener('load', () => { + return setUpImg(reader.result) + }) + reader.readAsDataURL(event.target.files[0]) } - } + }, []) const dispatch = useDispatch() - const onSubmit = () => { + const submit = useCallback(async (mime, img) => { + setSubmitting(true) + const response = await dispatch(updateAvatar(userId, img)) + const error = getResponseError(response) + + setResult({ + error, + success: !error, + submitted: true, + }) + + if (error) { + setSubmitting(false) + } else { + setTimeout(() => { + if (isOpen) { + onClose() + } + }, SUBMIT_AUTO_CLOSE_DELAY_TIME) + } + }, [dispatch, isOpen, onClose, userId]) + + const onSubmit = useCallback(() => { try { const image = new Image() image.addEventListener('load', () => { @@ -68,14 +104,14 @@ function UploadAvatarModal (props) { // translate canvas context to a central location on image to allow rotating around the center. ctx.translate(safeArea / 2, safeArea / 2) - ctx.rotate((rotation * Math.PI) / 180) + ctx.rotate((rotation * Math.PI) / HALF_CIRCLE) ctx.translate(-safeArea / 2, -safeArea / 2) // draw rotated image and store data. ctx.drawImage( image, - safeArea / 2 - image.width * 0.5, - safeArea / 2 - image.height * 0.5 + safeArea / 2 - image.width / 2, + safeArea / 2 - image.height / 2, ) const data = ctx.getImageData(0, 0, safeArea, safeArea) @@ -86,29 +122,26 @@ function UploadAvatarModal (props) { // paste generated rotate image with correct offsets for x,y crop values. ctx.putImageData( data, - Math.round(0 - safeArea / 2 + image.width * 0.5 - croppedAreaPixels.x), - Math.round(0 - safeArea / 2 + image.height * 0.5 - croppedAreaPixels.y) + Math.round(0 - safeArea / 2 + image.width / 2 - croppedAreaPixels.x), + Math.round(0 - safeArea / 2 + image.height / 2 - croppedAreaPixels.y), ) // Convert the contents of the canvas blob to an image const reader = new FileReader() - canvas.toBlob(blob => { + canvas.toBlob((blob) => { reader.readAsDataURL(blob) reader.onloadend = () => { - console.log(reader.result) - let arr = reader.result.split(','), - mime = arr[0].match(/:(.*?);/)[1], - bstr = atob(arr[1]), - n = bstr.length, - u8arr = new Uint8Array(n) - - while(n--){ - u8arr[n] = bstr.charCodeAt(n) + const [, mime, b64data] = reader.result.match(/:([^;]+);[^,]+,(.*)$/u) + const bstr = atob(b64data) + let datalength = bstr.length + const u8arr = new Uint8Array(datalength) + + while (datalength > 0) { + datalength -= 1 + u8arr[datalength] = bstr.charCodeAt(datalength) } - console.log(u8arr) - let croppedImage = new File([u8arr], 'avatar.png', {type:mime}) + const croppedImage = new File([u8arr], 'avatar.png', { type: mime }) - console.log(croppedImage.size) if (croppedImage.size > MAX_FILE_SIZE) { setResult({ error: { status: 'toobig' }, @@ -122,97 +155,69 @@ function UploadAvatarModal (props) { }) }) image.src = upImg - - } catch (e) { - console.error(e) + } catch (exception) { + console.error(exception) setResult({ error: { status: 'internal' }, success: false, submitted: false, }) } - } - - const submit = async (mime, img) => { - setSubmitting(true) - const response = await dispatch(updateAvatar(userId, img)) - const error = getResponseError(response) - - setResult({ - error, - success: !error, - submitted: true, - }) - - if (!error) { - setTimeout(() => { - if (isOpen) { - onClose() - } - }, SUBMIT_AUTO_CLOSE_DELAY_TIME) - } else { - setSubmitting(false) - } - } - - const userId = useSelector(selectCurrentUserId) + }, [croppedAreaPixels, rotation, submit, upImg]) return (
    - - + +
    -
    -
    -
    +
    +
    +
    -
    +
    { setZoom(zoom) }} - /> + value={zoom} + onChange={handleSetZoom} />
    -
    +
    -
    -
    - +
    +
    +
    -
    +
    -
    +
    { setRotation(rotation) }} - /> + aria-labelledby="Rotation" + max={180} + min={-180} + step={1} + value={rotation} + onChange={handleSetRotation} />
    -
    +
    @@ -226,7 +231,7 @@ function UploadAvatarModal (props) { disabled={!submitReady} type="submit" onClick={onSubmit}> - { submitting ? 'Uploading' : 'Upload' } + {submitting ? 'Uploading' : 'Upload'}
    diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 597b1bb9e..7658f25b6 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -2,7 +2,6 @@ @import 'components/add-rat-form'; @import 'components/article-list'; @import 'components/avatar'; -@import 'components/user-avatar-edit'; @import 'components/badge'; @import 'components/brand'; @import 'components/card-controls'; diff --git a/src/scss/components/_user-avatar-edit.scss b/src/scss/components/_user-avatar-edit.scss deleted file mode 100644 index 78903cd97..000000000 --- a/src/scss/components/_user-avatar-edit.scss +++ /dev/null @@ -1,29 +0,0 @@ -.user-avatar-edit { - position: absolute; - left: 0px; - right: 0px; - top: 0px; - bottom: 0px; - opacity: 0; - cursor: pointer; - transition: opacity 0.2s; - &:hover { - opacity: 1; - } -} -.edit-back { - border-radius: 50%; - background: white; - opacity: 0.8; -} -.edit-face { -} -.edit-face svg { - position: absolute; - right: 0px; - bottom: 0px; -} -.edit-border { - border: 0.2rem solid $red; - border-radius: 50%; -} From ed2a37b9fa821b98b7aa18df8d1076d7a87b3cff Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Wed, 14 Jul 2021 08:08:58 +0000 Subject: [PATCH 159/300] Further delinting, moving user ID selection into users.js UpdateAvatar --- src/components/UploadAvatarModal/UploadAvatarModal.js | 9 +++------ src/components/UploadAvatarModal/easy-crop.scss | 4 ---- src/store/actionTypes.js | 5 ++--- src/store/actions/user.js | 9 +++++---- src/util/fontawesome/library.js | 2 +- 5 files changed, 11 insertions(+), 18 deletions(-) delete mode 100644 src/components/UploadAvatarModal/easy-crop.scss diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index c7bec16e2..a0101137a 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -3,11 +3,10 @@ import PropTypes from 'prop-types' import Slider from 'rc-slider' import { useState, useCallback } from 'react' import Cropper from 'react-easy-crop' -import { useDispatch, useSelector } from 'react-redux' +import { useDispatch } from 'react-redux' import asModal, { ModalContent, ModalFooter } from '~/components/asModal' import { updateAvatar } from '~/store/actions/user' -import { selectCurrentUserId } from '~/store/selectors' import getResponseError from '~/util/getResponseError' import UploadAvatarMessageBox from './UploadAvatarMessageBox' @@ -35,8 +34,6 @@ function UploadAvatarModal (props) { const [submitReady, setSubmitReady] = useState(false) const [submitting, setSubmitting] = useState(false) - const userId = useSelector(selectCurrentUserId) - // Linting note: Cannot use arrow function in onevent, need to wrap const handleSetCrop = useCallback((newCrop) => { setCrop(newCrop) @@ -67,7 +64,7 @@ function UploadAvatarModal (props) { const submit = useCallback(async (mime, img) => { setSubmitting(true) - const response = await dispatch(updateAvatar(userId, img)) + const response = await dispatch(updateAvatar(img)) const error = getResponseError(response) setResult({ @@ -85,7 +82,7 @@ function UploadAvatarModal (props) { } }, SUBMIT_AUTO_CLOSE_DELAY_TIME) } - }, [dispatch, isOpen, onClose, userId]) + }, [dispatch, isOpen, onClose]) const onSubmit = useCallback(() => { try { diff --git a/src/components/UploadAvatarModal/easy-crop.scss b/src/components/UploadAvatarModal/easy-crop.scss deleted file mode 100644 index c66d1cb26..000000000 --- a/src/components/UploadAvatarModal/easy-crop.scss +++ /dev/null @@ -1,4 +0,0 @@ -.crop-container { - position: relative; - height: 200px; -} diff --git a/src/store/actionTypes.js b/src/store/actionTypes.js index 1f79b0fdb..ead0ed145 100644 --- a/src/store/actionTypes.js +++ b/src/store/actionTypes.js @@ -1,4 +1,3 @@ - const clients = { create: 'clients/create', search: 'clients/search', @@ -69,8 +68,8 @@ const users = { read: 'users/statistics/read', }, avatar: { - update: 'users/avatar/update' - } + update: 'users/avatar/update', + }, } diff --git a/src/store/actions/user.js b/src/store/actions/user.js index 66b53b5eb..be5470590 100644 --- a/src/store/actions/user.js +++ b/src/store/actions/user.js @@ -6,7 +6,7 @@ import createRequestBody from '~/util/jsonapi/createRequestBody' import actionTypes from '../actionTypes' import { deletesResource, deletesRelationship, createsRelationship, RESOURCE } from '../reducers/frAPIResources' -import { withCurrentUserId, selectUserById } from '../selectors' +import { withCurrentUserId, selectUserById, selectCurrentUserId } from '../selectors' import { frApiRequest } from './services' @@ -79,14 +79,15 @@ export const updateUser = (data, password) => { } } -export const updateAvatar = (user, data) => { +export const updateAvatar = (data) => { return (dispatch, getState) => { - const formData = new FormData(); + const user = selectCurrentUserId(getState()) + const formData = new FormData() formData.append('image', data) const request = { url: `/users/${user}/image`, method: 'post', - data: formData + data: formData, } return dispatch(frApiRequest(actionTypes.users.avatar.update, request)) diff --git a/src/util/fontawesome/library.js b/src/util/fontawesome/library.js index 60d88ae0a..21ac33c64 100644 --- a/src/util/fontawesome/library.js +++ b/src/util/fontawesome/library.js @@ -47,7 +47,7 @@ export { faUpload, faSearchPlus, faSearchMinus, - faRedo + faRedo, } from '@fortawesome/free-solid-svg-icons' export { From 9ec1dbbe8ce0226696bd449d4afa71424343e4cc Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Thu, 15 Jul 2021 12:37:44 +0000 Subject: [PATCH 160/300] Linting fixes --- .../ProfileUserAvatar/ProfileUserAvatar.js | 6 +- .../ProfileUserAvatar.module.scss | 36 ++++++---- .../UploadAvatarModal/UploadAvatarModal.js | 18 ++--- .../UploadAvatarModal.module.scss | 66 +++++++++++-------- 4 files changed, 68 insertions(+), 58 deletions(-) diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 0ff6e44c6..1747799fe 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -14,8 +14,10 @@ function ProfileUserAvatar () { const [showUploadAvatar, setShowUploadAvatar] = useState(false) const handleToggleUploadAvatar = useCallback(() => { - setShowUploadAvatar(!showUploadAvatar) - }, [showUploadAvatar]) + setShowUploadAvatar((prevState) => { + return !prevState + }) + }, []) return ( <> diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss index f25bb0c37..2d5127d43 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss @@ -1,41 +1,51 @@ @import '../../scss/colors'; -.profilePictureButton { -} .userAvatar { - grid-area: avatar; position: relative; + + grid-area: avatar; } + .userAvatarEdit { position: absolute; + top: 0; + left: 0; + width: 170px; height: 170px; - left: 0px; - top: 0px; + opacity: 0; - cursor: pointer; transition: opacity 0.2s; + + cursor: pointer; + &:hover { opacity: 1; } } + .editBack { border: 0.2rem solid $red; border-radius: 50%; - background: white; + + background: $white; opacity: 0.8; } + .editFace { + margin: 0; + padding: 0; + border: none; - color: black; + + color: $black; background: none; - padding: 0px; - margin: 0px; } .editFace svg { position: absolute; - color: black; - right: 0px; - bottom: 0px; + right: 0; + bottom: 0; + + color: $black; } diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index a0101137a..25fc731c3 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -27,24 +27,14 @@ function UploadAvatarModal (props) { const [result, setResult] = useState({}) const [upImg, setUpImg] = useState() - const [crop, setCrop] = useState({ x: 0, y: 0 }) // Lint comment on "Identifier name is too short" - this is required by the Cropper. Cannot change. - const [zoom, setZoom] = useState(1) - const [rotation, setRotation] = useState(0) + // eslint-disable-next-line id-length -- Required by react-easy-crop + const [crop, handleSetCrop] = useState({ x: 0, y: 0 }) + const [zoom, handleSetZoom] = useState(1) + const [rotation, handleSetRotation] = useState(0) const [croppedAreaPixels, setCroppedAreaPixels] = useState(null) const [submitReady, setSubmitReady] = useState(false) const [submitting, setSubmitting] = useState(false) - // Linting note: Cannot use arrow function in onevent, need to wrap - const handleSetCrop = useCallback((newCrop) => { - setCrop(newCrop) - }, []) - const handleSetZoom = useCallback((newZoom) => { - setZoom(newZoom) - }, []) - const handleSetRotation = useCallback((newRotation) => { - setRotation(newRotation) - }, []) - const onCropComplete = useCallback((croppedArea, cap) => { setCroppedAreaPixels(cap) setSubmitReady(true) diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.module.scss b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss index cc63bb351..3ac4897b5 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.module.scss +++ b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss @@ -1,37 +1,45 @@ - .zoomAndCrop { +.zoomAndCrop { + display: flex; + + .zoomSliderBox { display: flex; - .zoomSliderBox { - width: 30px; - margin-bottom: 30px; - display: flex; - flex-direction: column; - .zoomSliderIcon { - height: 30px; - padding: 5px 0px; - } - } - .sliderControl { - flex-grow: 1; - } - .cropContainer { - width: 100%; - padding-top: 100%; - position: relative; + flex-direction: column; + + width: 30px; + margin-bottom: 30px; + + .zoomSliderIcon { + height: 30px; + padding: 5px none; } + } + + .sliderControl { + flex-grow: 1; + } - .rotateSliderBox { - display: flex; - .sliderControl { - padding-top: 5px; - } - .rotateSliderIcon { - width: 30px; - padding: 0px 5px; - } + .cropContainer { + position: relative; + + width: 100%; + padding-top: 100%; + } + + .rotateSliderBox { + display: flex; + + .sliderControl { + padding-top: 5px; } - .rotateAndCrop { - flex-grow: 1; + + .rotateSliderIcon { + width: 30px; + padding: none 5px; } + } + .rotateAndCrop { + flex-grow: 1; } +} From 833bf358ef25fd3ea29ec7c2f153419bac6cca82 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Thu, 15 Jul 2021 13:05:18 +0000 Subject: [PATCH 161/300] Fix heap overflow using regexp to slice data string up --- .../UploadAvatarModal/UploadAvatarModal.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index 25fc731c3..f27380b33 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -16,6 +16,7 @@ import styles from './UploadAvatarModal.module.scss' const MAX_FILE_SIZE = 26214400 // Server upload max is 25M const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 const HALF_CIRCLE = 180 // Conversion of rat to deg +const TRIM_DATA = 5 function UploadAvatarModal (props) { @@ -118,7 +119,16 @@ function UploadAvatarModal (props) { canvas.toBlob((blob) => { reader.readAsDataURL(blob) reader.onloadend = () => { - const [, mime, b64data] = reader.result.match(/:([^;]+);[^,]+,(.*)$/u) + let start = 0 + let mimeend = 0 + let datastart = 0 + if (reader.result.indexOf('data:') === 0) { + start = TRIM_DATA + } + mimeend = reader.result.indexOf(';', start) + datastart = reader.result.indexOf(',', mimeend) + const mime = reader.result.substring(start, mimeend) + const b64data = reader.result.substr(datastart + 1) const bstr = atob(b64data) let datalength = bstr.length const u8arr = new Uint8Array(datalength) From 6c4c5b200e98ff35d46aa6f832664bb4b946d475 Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Fri, 16 Jul 2021 06:55:44 +0000 Subject: [PATCH 162/300] Removal of mime-stripping. Not required, per dom canvas spec it'll always be png --- .../UploadAvatarModal/UploadAvatarModal.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index f27380b33..9d133f226 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -16,7 +16,6 @@ import styles from './UploadAvatarModal.module.scss' const MAX_FILE_SIZE = 26214400 // Server upload max is 25M const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 const HALF_CIRCLE = 180 // Conversion of rat to deg -const TRIM_DATA = 5 function UploadAvatarModal (props) { @@ -53,7 +52,7 @@ function UploadAvatarModal (props) { const dispatch = useDispatch() - const submit = useCallback(async (mime, img) => { + const submit = useCallback(async (img) => { setSubmitting(true) const response = await dispatch(updateAvatar(img)) const error = getResponseError(response) @@ -119,16 +118,7 @@ function UploadAvatarModal (props) { canvas.toBlob((blob) => { reader.readAsDataURL(blob) reader.onloadend = () => { - let start = 0 - let mimeend = 0 - let datastart = 0 - if (reader.result.indexOf('data:') === 0) { - start = TRIM_DATA - } - mimeend = reader.result.indexOf(';', start) - datastart = reader.result.indexOf(',', mimeend) - const mime = reader.result.substring(start, mimeend) - const b64data = reader.result.substr(datastart + 1) + const [, b64data] = reader.result.split(',') const bstr = atob(b64data) let datalength = bstr.length const u8arr = new Uint8Array(datalength) @@ -137,7 +127,7 @@ function UploadAvatarModal (props) { datalength -= 1 u8arr[datalength] = bstr.charCodeAt(datalength) } - const croppedImage = new File([u8arr], 'avatar.png', { type: mime }) + const croppedImage = new File([u8arr], 'avatar.png', { type: 'image/png' }) if (croppedImage.size > MAX_FILE_SIZE) { setResult({ @@ -146,7 +136,7 @@ function UploadAvatarModal (props) { submitted: false, }) } else { - submit(mime, croppedImage) + submit(croppedImage) } } }) From 1e4961cdf0fc1e7b6364c3b18e9cb26c414ed9ba Mon Sep 17 00:00:00 2001 From: Pero Moretti Date: Fri, 16 Jul 2021 07:07:38 +0000 Subject: [PATCH 163/300] Restricting input accept to prevent animated gifs from being used. It works, but not in the way the end user will expect. --- src/components/UploadAvatarModal/UploadAvatarModal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index 9d133f226..c0055e18c 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -157,7 +157,7 @@ function UploadAvatarModal (props) {
    - +
    From f1fdb521a5d405fdf1bfb4757f657b5fd4fa154f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Fri, 16 Jul 2021 15:16:14 +0000 Subject: [PATCH 164/300] style: fix minor lint errors --- src/scss/_lib.scss | 1 - src/scss/components/_profile-header.scss | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scss/_lib.scss b/src/scss/_lib.scss index 22ea633d9..1a568489c 100644 --- a/src/scss/_lib.scss +++ b/src/scss/_lib.scss @@ -45,7 +45,6 @@ - /****************************************************************************** \ RC-Slider \ ******************************************************************************/ diff --git a/src/scss/components/_profile-header.scss b/src/scss/components/_profile-header.scss index 65fbe392c..e495ed50c 100644 --- a/src/scss/components/_profile-header.scss +++ b/src/scss/components/_profile-header.scss @@ -34,8 +34,9 @@ } .user-avatar { - grid-area: avatar; position: relative; + + grid-area: avatar; } .profile-basic-info { From 60c72b76d854b2798e8995387ef8718db015163d Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 16 Jul 2021 14:26:10 -0400 Subject: [PATCH 165/300] chore: update deps to resolve lint issues --- package.json | 34 ++++++++++++------------ yarn.lock | 74 ++++++++++++++++++++++++++-------------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 7c78147f0..68174791e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "framer-motion": "^4.1.17", "hoist-non-react-statics": "^3.3.2", "http-proxy-middleware": "^2.0.1", - "immer": "^9.0.3", + "immer": "^9.0.5", "ip6addr": "^0.2.3", "js-cookie": "^2.2.1", "jsonfile": "^6.1.0", @@ -74,7 +74,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.160.0", + "stripe": "^8.163.0", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, @@ -85,21 +85,21 @@ "@babel/plugin-proposal-decorators": "^7.14.5", "@babel/plugin-proposal-export-default-from": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.4.0-canary.6", - "@fuelrats/eslint-config-react": "^2.4.0-canary.6", - "@fuelrats/eslint-plugin": "^2.4.0-canary.8", + "@fuelrats/eslint-config": "^2.4.0-canary.13", + "@fuelrats/eslint-config-react": "^2.4.0-canary.11", + "@fuelrats/eslint-plugin": "^2.4.0-canary.11", "@fuelrats/stylelint-config": "^1.2.3", "@svgr/webpack": "^5.5.0", "@types/hoist-non-react-statics": "^3.3.1", - "@types/ip6addr": "^0.2.2", - "@types/js-cookie": "^2.2.6", - "@types/jsonfile": "^6.0.0", - "@types/lodash": "^4.14.170", - "@types/qs": "^6.9.6", - "@types/react": "^17.0.13", - "@types/react-dom": "^17.0.8", - "@types/react-is": "^17.0.1", - "@types/react-redux": "^7.1.16", + "@types/ip6addr": "^0.2.3", + "@types/js-cookie": "^2.2.7", + "@types/jsonfile": "^6.0.1", + "@types/lodash": "^4.14.171", + "@types/qs": "^6.9.7", + "@types/react": "^17.0.14", + "@types/react-dom": "^17.0.9", + "@types/react-is": "^17.0.2", + "@types/react-redux": "^7.1.18", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", "@types/zxcvbn": "^4.4.1", @@ -110,16 +110,16 @@ "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.4.1", + "eslint-plugin-jsdoc": "^35.4.3", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", - "sass": "^1.35.1", + "sass": "^1.35.2", "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.19.0", - "webpack": "^5.42.0", + "webpack": "^5.45.0", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index e20547014..f49f31d06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1517,7 +1517,7 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:^2.4.0-canary.6": +"@fuelrats/eslint-config-react@npm:^2.4.0-canary.11": version: 2.4.0-canary.11 resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.11" peerDependencies: @@ -1543,9 +1543,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.4.0-canary.6": - version: 2.4.0-canary.12 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.12" +"@fuelrats/eslint-config@npm:^2.4.0-canary.13": + version: 2.4.0-canary.13 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.13" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: @@ -1571,11 +1571,11 @@ __metadata: optional: true typescript: optional: true - checksum: b15eace00b9df3394d2e2206ca3ecc2bed3ded2056967d3fc0af8c37c620b7fb06b60210a9b5ecb05beaaf0a118b4dbdf03ee7669a574f69fe7ae0fc8840608e + checksum: 1d6ccc72e516b611bbdcbcf16762389edb48dce6787a71ad9df94bd7567339e7b2e4ea715cfc8feab7672f9cc5ec73dcf8c5a489cedc8f4b85f1c6ad27dd3fb4 languageName: node linkType: hard -"@fuelrats/eslint-plugin@npm:^2.4.0-canary.8": +"@fuelrats/eslint-plugin@npm:^2.4.0-canary.11": version: 2.4.0-canary.11 resolution: "@fuelrats/eslint-plugin@npm:2.4.0-canary.11" dependencies: @@ -2011,14 +2011,14 @@ __metadata: languageName: node linkType: hard -"@types/ip6addr@npm:^0.2.2": +"@types/ip6addr@npm:^0.2.3": version: 0.2.3 resolution: "@types/ip6addr@npm:0.2.3" checksum: ef19779ed25761450d2741a011ae702f82c3d032ddc68670adada3a0c74b629be6b7483ba2accd37cd7a5e768f3cb75c1524a91bbb7fe8572015e6f630818bf5 languageName: node linkType: hard -"@types/js-cookie@npm:^2.2.6": +"@types/js-cookie@npm:^2.2.7": version: 2.2.7 resolution: "@types/js-cookie@npm:2.2.7" checksum: 851f47e94ca1fc43661d8f51614d67a613e7810c91b876d0a3b311ce72f7df800107fd02a08cb6948184e12c120b4f058edca2f50424d8798bdcffd6627281e3 @@ -2032,7 +2032,7 @@ __metadata: languageName: node linkType: hard -"@types/jsonfile@npm:^6.0.0": +"@types/jsonfile@npm:^6.0.1": version: 6.0.1 resolution: "@types/jsonfile@npm:6.0.1" dependencies: @@ -2041,7 +2041,7 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.170": +"@types/lodash@npm:^4.14.171": version: 4.14.171 resolution: "@types/lodash@npm:4.14.171" checksum: d093d8ff8b31d7829ab5f2625d824bb1f903fb07d4beca50812c99c3d6c6b63155c56eb0ecf14b97f0d4ba5fcb3b13f8259cca6d4313345326f3c48bed6f4b9f @@ -2099,14 +2099,14 @@ __metadata: languageName: node linkType: hard -"@types/qs@npm:^6.9.6": +"@types/qs@npm:^6.9.7": version: 6.9.7 resolution: "@types/qs@npm:6.9.7" checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba languageName: node linkType: hard -"@types/react-dom@npm:^17.0.8": +"@types/react-dom@npm:^17.0.9": version: 17.0.9 resolution: "@types/react-dom@npm:17.0.9" dependencies: @@ -2115,7 +2115,7 @@ __metadata: languageName: node linkType: hard -"@types/react-is@npm:^17.0.1": +"@types/react-is@npm:^17.0.2": version: 17.0.2 resolution: "@types/react-is@npm:17.0.2" dependencies: @@ -2124,7 +2124,7 @@ __metadata: languageName: node linkType: hard -"@types/react-redux@npm:^7.1.16": +"@types/react-redux@npm:^7.1.16, @types/react-redux@npm:^7.1.18": version: 7.1.18 resolution: "@types/react-redux@npm:7.1.18" dependencies: @@ -2136,7 +2136,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^17.0.13": +"@types/react@npm:*, @types/react@npm:^17.0.14": version: 17.0.14 resolution: "@types/react@npm:17.0.14" dependencies: @@ -4304,7 +4304,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.4.1": +"eslint-plugin-jsdoc@npm:^35.4.3": version: 35.4.3 resolution: "eslint-plugin-jsdoc@npm:35.4.3" dependencies: @@ -4843,9 +4843,9 @@ __metadata: "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.4.0-canary.6 - "@fuelrats/eslint-config-react": ^2.4.0-canary.6 - "@fuelrats/eslint-plugin": ^2.4.0-canary.8 + "@fuelrats/eslint-config": ^2.4.0-canary.13 + "@fuelrats/eslint-config-react": ^2.4.0-canary.11 + "@fuelrats/eslint-plugin": ^2.4.0-canary.11 "@fuelrats/next-adorable-avatars": ^0.3.0 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 @@ -4853,15 +4853,15 @@ __metadata: "@next/eslint-plugin-next": ^11.0.1 "@svgr/webpack": ^5.5.0 "@types/hoist-non-react-statics": ^3.3.1 - "@types/ip6addr": ^0.2.2 - "@types/js-cookie": ^2.2.6 - "@types/jsonfile": ^6.0.0 - "@types/lodash": ^4.14.170 - "@types/qs": ^6.9.6 - "@types/react": ^17.0.13 - "@types/react-dom": ^17.0.8 - "@types/react-is": ^17.0.1 - "@types/react-redux": ^7.1.16 + "@types/ip6addr": ^0.2.3 + "@types/js-cookie": ^2.2.7 + "@types/jsonfile": ^6.0.1 + "@types/lodash": ^4.14.171 + "@types/qs": ^6.9.7 + "@types/react": ^17.0.14 + "@types/react-dom": ^17.0.9 + "@types/react-is": ^17.0.2 + "@types/react-redux": ^7.1.18 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 "@types/zxcvbn": ^4.4.1 @@ -4877,7 +4877,7 @@ __metadata: eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.4.1 + eslint-plugin-jsdoc: ^35.4.3 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -4885,7 +4885,7 @@ __metadata: framer-motion: ^4.1.17 hoist-non-react-statics: ^3.3.2 http-proxy-middleware: ^2.0.1 - immer: ^9.0.3 + immer: ^9.0.5 ip6addr: ^0.2.3 js-cookie: ^2.2.1 jsonfile: ^6.1.0 @@ -4917,14 +4917,14 @@ __metadata: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - sass: ^1.35.1 + sass: ^1.35.2 semver: ^7.3.5 - stripe: ^8.160.0 + stripe: ^8.163.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.19.0 use-immer: ^0.6.0 - webpack: ^5.42.0 + webpack: ^5.45.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -5414,7 +5414,7 @@ __metadata: languageName: node linkType: hard -"immer@npm:^9.0.3": +"immer@npm:^9.0.5": version: 9.0.5 resolution: "immer@npm:9.0.5" checksum: 8199c092bb2d12de00a2264ee0f5170cd7356427aee6e5e012628057c8d063bf8ac9c318c7b3b41a0228b0ceefdef340f76caf4d95b4e4ca3ec27b4bb42de371 @@ -8835,7 +8835,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.35.1": +"sass@npm:^1.35.2": version: 1.35.2 resolution: "sass@npm:1.35.2" dependencies: @@ -9450,7 +9450,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.160.0": +"stripe@npm:^8.163.0": version: 8.163.0 resolution: "stripe@npm:8.163.0" dependencies: @@ -10438,7 +10438,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5, webpack@npm:^5.42.0": +"webpack@npm:^5, webpack@npm:^5.45.0": version: 5.45.0 resolution: "webpack@npm:5.45.0" dependencies: From d56a34ed1e15c53619484435973f275b508e8f76 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 16 Jul 2021 14:26:28 -0400 Subject: [PATCH 166/300] chore: remove unused disable directive --- .eslintrc.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index b22792394..440b3c088 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ const importRules = require('@fuelrats/eslint-config/core/plugin-import') const importExtensions = require('@fuelrats/eslint-config/util/importExtensions') From 3a1736a2eeb381800ac108bb1e31dd8b1c764406 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 16 Jul 2021 14:42:55 -0400 Subject: [PATCH 167/300] chore: update eslint config again --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 68174791e..4ac17e300 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "@babel/plugin-proposal-decorators": "^7.14.5", "@babel/plugin-proposal-export-default-from": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.4.0-canary.13", + "@fuelrats/eslint-config": "^2.4.0-canary.14", "@fuelrats/eslint-config-react": "^2.4.0-canary.11", "@fuelrats/eslint-plugin": "^2.4.0-canary.11", "@fuelrats/stylelint-config": "^1.2.3", diff --git a/yarn.lock b/yarn.lock index f49f31d06..95e1bb857 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1543,9 +1543,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.4.0-canary.13": - version: 2.4.0-canary.13 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.13" +"@fuelrats/eslint-config@npm:^2.4.0-canary.14": + version: 2.4.0-canary.14 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.14" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: @@ -1571,7 +1571,7 @@ __metadata: optional: true typescript: optional: true - checksum: 1d6ccc72e516b611bbdcbcf16762389edb48dce6787a71ad9df94bd7567339e7b2e4ea715cfc8feab7672f9cc5ec73dcf8c5a489cedc8f4b85f1c6ad27dd3fb4 + checksum: 3e778a813472651c98e9a5570bcba7715652e612af39ad68cca83528be2a3419ab3415b50b40ac8420b21cf4cf787a021d537f99afbedd418a1613984d7adbd9 languageName: node linkType: hard @@ -4843,7 +4843,7 @@ __metadata: "@fortawesome/free-solid-svg-icons": ^5.15.3 "@fortawesome/react-fontawesome": ^0.1.14 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.4.0-canary.13 + "@fuelrats/eslint-config": ^2.4.0-canary.14 "@fuelrats/eslint-config-react": ^2.4.0-canary.11 "@fuelrats/eslint-plugin": ^2.4.0-canary.11 "@fuelrats/next-adorable-avatars": ^0.3.0 From 03f0f0144e25ddcc0824c34acca42b9e1741310a Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 18 Jul 2021 07:26:33 -0400 Subject: [PATCH 168/300] chore: remove old unused components --- src/components/Alert.js | 44 ------------------------------------- src/components/Reminders.js | 9 -------- 2 files changed, 53 deletions(-) delete mode 100644 src/components/Alert.js delete mode 100644 src/components/Reminders.js diff --git a/src/components/Alert.js b/src/components/Alert.js deleted file mode 100644 index fbc9f3c84..000000000 --- a/src/components/Alert.js +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react' -import ReactDOM from 'react-dom' - - - - - -// Component constants -const canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement) - - - - - -class Alert extends React.Component { - constructor (props) { - super(props) - - this.canUseDOM = canUseDOM - - if (this.canUseDOM) { - this.el = document.querySelector('#alert-container') - } - } - - render () { - const { - children, - open, - } = this.props - - if (this.canUseDOM && open) { - return ReactDOM.createPortal(children, this.el) - } - - return null - } -} - - - - - -export default Alert diff --git a/src/components/Reminders.js b/src/components/Reminders.js deleted file mode 100644 index 448de3228..000000000 --- a/src/components/Reminders.js +++ /dev/null @@ -1,9 +0,0 @@ -function Reminders () { - return
    -} - - - - - -export default Reminders From 7eb6b0ccb53b00127983f1b379a9c9bb857e6c44 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 18 Jul 2021 07:27:19 -0400 Subject: [PATCH 169/300] refactor(Carousel): Rewrite into functional hook component --- src/components/Carousel.js | 256 +++++++++++++++---------------------- 1 file changed, 102 insertions(+), 154 deletions(-) diff --git a/src/components/Carousel.js b/src/components/Carousel.js index 80b4cd79f..370d111f4 100644 --- a/src/components/Carousel.js +++ b/src/components/Carousel.js @@ -1,10 +1,13 @@ import { AnimatePresence, m } from 'framer-motion' import getConfig from 'next/config' import PropTypes from 'prop-types' -import React from 'react' -import { createSelector, createStructuredSelector } from 'reselect' +import { useCallback, useEffect, useRef, useState } from 'react' +import { useDispatch } from 'react-redux' +import { createSelector } from 'reselect' -import { connect } from '~/store' + +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { getImage } from '~/store/actions/images' import { selectImages } from '~/store/selectors' @@ -33,7 +36,7 @@ const selectConnectedSlides = createSelector( [slideId]: { ...slide, id: slideId, - url: `${appUrl}/static/images/${slide.filename || `slide_${key}.jpg`}`, + url: `${appUrl}/static/images/${slide.filename ?? `slide_${key}.jpg`}`, image: images[slideId], }, } @@ -62,173 +65,118 @@ const slideTextMotionConfig = { +function Carousel (props) { + const { + id, + className, + interval = 10000, + } = props + const imageSlides = useSelectorWithProps(props, selectConnectedSlides) + const [curSlideId, setCurSlide] = useState(Object.keys(imageSlides)[0]) -@connect -class Carousel extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = { - curSlide: Object.keys(this.props.slides)[0], - } - - timer = null - - + const timerRef = useRef(null) + const dispatch = useDispatch() - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleSlideButtonClick = (event) => { - this._setSlide(event.target.name) - } - - _setSlide = (slideId) => { - clearTimeout(this.timer) - this.timer = setTimeout(this._setSlide, this.props.interval) + const setSlide = useCallback((nextSlide) => { + timerRef.current = window.setTimeout(setSlide, interval) if (document.visibilityState === 'hidden') { return } - const slideKeys = Object.keys(this.props.slides) + const slideKeys = Object.keys(imageSlides) - this.setState((state) => { - return { - curSlide: typeof slideId === 'undefined' - ? slideKeys[(slideKeys.indexOf(state.curSlide) + 1) % slideKeys.length] - : slideId, - } + setCurSlide((slideId) => { + return typeof nextSlide === 'undefined' + ? slideKeys[(slideKeys.indexOf(slideId) + 1) % slideKeys.length] + : nextSlide }) - } - - - - + }, [imageSlides, interval]) - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - componentDidMount () { - this.timer = setTimeout(this._setSlide, this.props.interval) - - Object.values(this.props.slides).forEach((slide) => { + useEffect(() => { + Object.values(imageSlides).forEach((slide) => { if (!slide.image) { - this.props.getImage(slide) + dispatch(getImage(slide)) } }) - } - - componentWillUnmount () { - clearTimeout(this.timer) - } - - render () { - const { - className, - slides, - id, - } = this.props - - const { - curSlide, - } = this.state - - const slide = this.props.slides[curSlide] - - return ( -
    - - { - Boolean(slide.image) && ( - - ) - } - { - Boolean(slide.image && slide.text) && ( - - {slide.text} - - ) - } - -
    - { - Object.keys(slides).map((slideId) => { - return ( -
    -
    - ) - } - + }, [dispatch, imageSlides]) + useEffect(() => { + setSlide() + return () => { + window.clearTimeout(timerRef.current) + } + }, [setSlide]) + + const handleSlideButtonClick = useCallback((event) => { + window.clearTimeout(timerRef.current) + setCurSlide(event.target.name) + }, []) + + + const curSlide = imageSlides[curSlideId] + + return ( +
    + + { + Boolean(curSlide.image) && ( + + ) + } + { + Boolean(curSlide.image && curSlide.text) && ( + + {curSlide.text} + + ) + } + +
    + { + Object.keys(imageSlides).map((slideId) => { + return ( +
    +
    + ) +} - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['getImage'] - - static mapStateToProps = createStructuredSelector({ - slides: selectConnectedSlides, - }) - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - className: '', - interval: 10000, - } - - static propTypes = { - className: PropTypes.string, - getImage: PropTypes.func, - id: PropTypes.string.isRequired, - interval: PropTypes.number, - slides: PropTypes.objectOf(PropTypes.shape({ - filename: PropTypes.string, - image: PropTypes.string, - position: PropTypes.string, - text: PropTypes.any, - })).isRequired, - } +Carousel.propTypes = { + className: PropTypes.string, + getImage: PropTypes.func, + id: PropTypes.string.isRequired, + interval: PropTypes.number, + slides: PropTypes.objectOf(PropTypes.shape({ + filename: PropTypes.string, + image: PropTypes.string, + position: PropTypes.string, + text: PropTypes.any, + })).isRequired, } From b096da01b7058b766c27b202928a8a25fe2a0448 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 18 Jul 2021 07:28:24 -0400 Subject: [PATCH 170/300] refactor(UserRatsPanel): remove use of connect HoC --- src/components/UserRatsPanel.js | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/components/UserRatsPanel.js b/src/components/UserRatsPanel.js index e56d4f068..1e9593e71 100644 --- a/src/components/UserRatsPanel.js +++ b/src/components/UserRatsPanel.js @@ -1,8 +1,7 @@ import { useEffect } from 'react' -import { useDispatch } from 'react-redux' +import { useDispatch, useSelector } from 'react-redux' import useSelectorWithProps from '~/hooks/useSelectorWithProps' -import { connect } from '~/store' import { getUserStatistics } from '~/store/actions/statistics' import { selectUserById, @@ -17,7 +16,8 @@ import RatCard from './RatCard' -function UserRatsPanel ({ user }) { +function UserRatsPanel () { + const user = useSelector(withCurrentUserId(selectUserById)) const { rats } = user.relationships const dispatch = useDispatch() @@ -27,7 +27,7 @@ function UserRatsPanel ({ user }) { if (!ratStatistics) { dispatch(getUserStatistics(user.id)) } - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps }, []) return ( @@ -54,14 +54,4 @@ function UserRatsPanel ({ user }) { -UserRatsPanel.mapStateToProps = (state) => { - return { - user: withCurrentUserId(selectUserById)(state), - } -} - - - - - -export default connect(UserRatsPanel) +export default UserRatsPanel From 8b0b2f4b9e5056bef68b28caf0bdfa756513dec6 Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 18 Jul 2021 07:28:58 -0400 Subject: [PATCH 171/300] refactor(ArticleCard): Remove use of connect HoC --- src/components/Blog/ArticleCard.js | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/src/components/Blog/ArticleCard.js b/src/components/Blog/ArticleCard.js index 1fd4eea65..daa38b7ac 100644 --- a/src/components/Blog/ArticleCard.js +++ b/src/components/Blog/ArticleCard.js @@ -1,7 +1,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Link from 'next/link' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectAuthorByBlogId, selectBlogById, selectCategoriesByBlogId } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' import makeBlogRoute from '~/util/router/makeBlogRoute' @@ -13,13 +13,11 @@ import TextPlaceholder from '../TextPlaceholder' function ArticleCard (props) { - const { - author, - blog, - categories, - className, - renderMode = 'excerpt', - } = props + const { className, renderMode = 'excerpt' } = props + + const author = useSelectorWithProps(props, selectAuthorByBlogId) + const blog = useSelectorWithProps(props, selectBlogById) + const categories = useSelectorWithProps(props, selectCategoriesByBlogId) if (!blog) { if (renderMode === 'article') { @@ -110,16 +108,4 @@ function ArticleCard (props) { -ArticleCard.mapStateToProps = (state, ownProps) => { - return { - author: selectAuthorByBlogId(state, ownProps), - blog: selectBlogById(state, ownProps), - categories: selectCategoriesByBlogId(state, ownProps), - } -} - - - - - -export default connect(ArticleCard) +export default ArticleCard From b3704f3e63b912988c463fd23b052ee5bb2fe312 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 03:50:38 +0000 Subject: [PATCH 172/300] chore: add better jsconfig defaults --- jsconfig.json | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/jsconfig.json b/jsconfig.json index ef3317cbc..58d5fb625 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,15 +1,23 @@ { "compilerOptions": { - "baseUrl": ".", - "paths": { - "~/*": ["src/*"] - }, - "experimentalDecorators": true, + // based on with-typescript example https://github.com/vercel/next.js/blob/canary/examples/with-typescript/tsconfig.json + "target": "es6", + "lib": ["dom", "dom.iterable", "esnext"], + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, "module": "esnext", - "target": "esnext", "moduleResolution": "node", "resolveJsonModule": true, - "jsx": "react" + "isolatedModules": true, + "jsx": "preserve", + "experimentalDecorators": true, + "baseUrl": ".", + "paths": { + "~/*": ["src/*"] + } }, "include": [ "src/**/*", From 03f36a5103eb5d3a075692c5e3fb60922b78307b Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 03:51:28 +0000 Subject: [PATCH 173/300] chore: add type def for prop-types to help auto-import feature --- typings/prop-types.d.ts | 54 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 typings/prop-types.d.ts diff --git a/typings/prop-types.d.ts b/typings/prop-types.d.ts new file mode 100644 index 000000000..7b57ce109 --- /dev/null +++ b/typings/prop-types.d.ts @@ -0,0 +1,54 @@ +// Types listed in the PropTypes pseudo-class are derived from @types/prop-types +// https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/prop-types +// +// MIT License +// +// Copyright (c) Microsoft Corporation. +// +// 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 + + +import "prop-types"; + +declare module "prop-types" { + export default class PropTypes { + static any: Requireable; + static array: Requireable; + static bool: Requireable; + static func: Requireable<(...args: any[]) => any>; + static number: Requireable; + static object: Requireable; + static string: Requireable; + static node: Requireable; + static element: Requireable; + static symbol: Requireable; + static elementType: Requireable; + static instanceOf(expectedClass: new (...args: any[]) => T): Requireable; + static oneOf(types: ReadonlyArray): Requireable; + static oneOfType>(types: T[]): Requireable>>; + static arrayOf(type: Validator): Requireable; + static objectOf(type: Validator): Requireable<{ [K in keyof any]: T; }>; + static shape

    >(type: P): Requireable>; + static exact

    >(type: P): Requireable>>; + + static checkPropTypes(typeSpecs: any, values: any, location: string, componentName: string, getStack?: () => any): void; + + static resetWarningCache(): void; + } +} From 0079fb6c45a26558f81efa1987561868f4ca7f5c Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 03:51:40 +0000 Subject: [PATCH 174/300] chore: update deps --- package.json | 8 +++--- yarn.lock | 80 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 62 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 4ac17e300..47cd96976 100644 --- a/package.json +++ b/package.json @@ -106,11 +106,11 @@ "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", "doctoc": "^2.0.1", - "eslint": "^7.30.0", + "eslint": "^7.31.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.4.3", + "eslint-plugin-jsdoc": "^35.4.5", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", @@ -118,8 +118,8 @@ "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", - "stylelint-scss": "^3.19.0", - "webpack": "^5.45.0", + "stylelint-scss": "^3.20.0", + "webpack": "^5.45.1", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 95e1bb857..217165744 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1438,9 +1438,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.2": - version: 0.4.2 - resolution: "@eslint/eslintrc@npm:0.4.2" +"@eslint/eslintrc@npm:^0.4.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" dependencies: ajv: ^6.12.4 debug: ^4.1.1 @@ -1451,7 +1451,7 @@ __metadata: js-yaml: ^3.13.1 minimatch: ^3.0.4 strip-json-comments: ^3.1.1 - checksum: 17f90cf07988dd2a5e4f510687c81334141977b8e0fa1b63ef0318b0578466e368fc988c101ddc7df55b6124dff8ecd1be67292c27901265761758ad22608e12 + checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 languageName: node linkType: hard @@ -4304,9 +4304,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.4.3": - version: 35.4.3 - resolution: "eslint-plugin-jsdoc@npm:35.4.3" +"eslint-plugin-jsdoc@npm:^35.4.5": + version: 35.4.5 + resolution: "eslint-plugin-jsdoc@npm:35.4.5" dependencies: "@es-joy/jsdoccomment": ^0.9.0-alpha.1 comment-parser: 1.1.6-beta.0 @@ -4319,7 +4319,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 60940878e6833c476302e6c27d54ed1ed96e8a035cd36ee0b47389074ffc60563303d8fda2a46efffdcde41e7a90f5913305c38cdecc84de07f5f73f47e07c8e + checksum: 6a984903c90e56c94b867318070bfbb7521c2f5be4740b8cef3cffda942a93325f04a9108335eb8040d31f1847d4f501fea4288a0a599cc371e794ae5deef7b4 languageName: node linkType: hard @@ -4415,12 +4415,12 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.30.0": - version: 7.30.0 - resolution: "eslint@npm:7.30.0" +"eslint@npm:^7.31.0": + version: 7.31.0 + resolution: "eslint@npm:7.31.0" dependencies: "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.2 + "@eslint/eslintrc": ^0.4.3 "@humanwhocodes/config-array": ^0.5.0 ajv: ^6.10.0 chalk: ^4.0.0 @@ -4461,7 +4461,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: 872f90844b164dd61ec1bb949d2e33e7fbd189e0652fabe2cbbd0bdce1e4cd7ed08e72fa213795a453ae39fe24460771800608e765febb9e778deb28b9db3cc1 + checksum: fd73d07ce0b73e5ea950b295a6eaf8d45914b4e56cba4ef49e55a36dc7e965a4865f63f618c0a096a01d089752d9e44180b80ba8657039b8e631dd40e0af1663 languageName: node linkType: hard @@ -4873,11 +4873,11 @@ __metadata: date-fns-tz: ^1.1.4 doctoc: ^2.0.1 dotenv: ^10.0.0 - eslint: ^7.30.0 + eslint: ^7.31.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.4.3 + eslint-plugin-jsdoc: ^35.4.5 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -4922,9 +4922,9 @@ __metadata: stripe: ^8.163.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 - stylelint-scss: ^3.19.0 + stylelint-scss: ^3.20.0 use-immer: ^0.6.0 - webpack: ^5.45.0 + webpack: ^5.45.1 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -9517,9 +9517,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stylelint-scss@npm:^3.19.0": - version: 3.19.0 - resolution: "stylelint-scss@npm:3.19.0" +"stylelint-scss@npm:^3.20.0": + version: 3.20.0 + resolution: "stylelint-scss@npm:3.20.0" dependencies: lodash: ^4.17.15 postcss-media-query-parser: ^0.2.3 @@ -9528,7 +9528,7 @@ resolve@^2.0.0-next.3: postcss-value-parser: ^4.1.0 peerDependencies: stylelint: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 - checksum: 5ce72106f5a99800ce463715d9ff7c59eb2169c8c046b5f5ff0dcf8cdfadc7c6f67a02a2a9f2c2be376cebdae5dcfc467f07c7a71a2a919444226705cea9fc44 + checksum: 61b7448fd110b166edb8b4cfa1a42624dd94e35154ab5db5ef51b6c578c00c4f3ff9d1be1cee8a16f19aef81e755289fb3e013c4316ee4718001beaf2cdf05cd languageName: node linkType: hard @@ -10438,7 +10438,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5, webpack@npm:^5.45.0": +"webpack@npm:^5": version: 5.45.0 resolution: "webpack@npm:5.45.0" dependencies: @@ -10475,6 +10475,42 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack@npm:^5.45.1": + version: 5.45.1 + resolution: "webpack@npm:5.45.1" + dependencies: + "@types/eslint-scope": ^3.7.0 + "@types/estree": ^0.0.50 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/wasm-edit": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + acorn: ^8.4.1 + browserslist: ^4.14.5 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.8.0 + es-module-lexer: ^0.7.1 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.4 + json-parse-better-errors: ^1.0.2 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.1.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.1.3 + watchpack: ^2.2.0 + webpack-sources: ^2.3.0 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 7aca5a40bf95d83c89b30b7c58da70e6aba672fc97b8f8ddea18516ce026706982b3b6b5c9509a6295b87de889df64f9a08e125ba9a36a128cb84cbce742225c + languageName: node + linkType: hard + "whatwg-url@npm:^7.0.0": version: 7.1.0 resolution: "whatwg-url@npm:7.1.0" From 14d5b054662d77ad3dcde4871598500db4c94fe5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 03:53:27 +0000 Subject: [PATCH 175/300] refactor(ScopeView): rewrite to hooks-based implementation --- src/components/ScopeView/NamespaceDetails.js | 59 +++++---- src/components/ScopeView/ScopeView.js | 132 +++++-------------- 2 files changed, 70 insertions(+), 121 deletions(-) diff --git a/src/components/ScopeView/NamespaceDetails.js b/src/components/ScopeView/NamespaceDetails.js index 8a052aa3d..dbe2ebd1d 100644 --- a/src/components/ScopeView/NamespaceDetails.js +++ b/src/components/ScopeView/NamespaceDetails.js @@ -1,4 +1,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import PropTypes from 'prop-types' +import { useMemo } from 'react' + import permissionNamespaces from '~/data/permissionNamespaces' @@ -10,36 +13,41 @@ import styles from './ScopeView.module.scss' function NamespaceDetails (props) { const namespace = permissionNamespaces[props.namespace] - const { actions = {} } = props - - if (!namespace || !Object.keys(actions).length) { + const { actions } = props + + const actionElements = useMemo(() => { + if (!namespace || !actions || !Object.keys(actions).length) { + return null + } + + return Object.entries(actions).map(([actionName, action]) => { + const accessible = action.all || action.self + const isSelf = action.self && (!action.all || (!action.all && action.self)) + return ( +

  • + + {namespace.actionText[actionName]?.[isSelf ? 'self' : 'all'] ?? 'Read'} + {' '} + {isSelf ? 'your own' : ({'ALL'})} + {' '} + {namespace.text} + {!isSelf && namespace.selfSingular && 's'} + {'.'} + +
  • + ) + }) + }, [actions, namespace]) + + if (!actionElements) { return null } - const actionElements = Object.entries(actions).map(([actionName, action]) => { - const accessible = action.all?.accessible || action.self?.accessible - const isSelf = action.self && (!action.all || (!action.all.accessible && action.self.accessible)) - - return ( -
  • - - {namespace.actionText[actionName]?.[isSelf ? 'self' : 'all'] ?? 'Read'} - {' '} - {isSelf ? 'your own' : ({'ALL'})} - {' '} - {namespace.text} - {!isSelf && namespace.selfSingular && 's'} - {'.'} - -
  • - ) - }) - return (
    - {namespace.text} + {namespace.text}
      {actionElements} @@ -48,7 +56,10 @@ function NamespaceDetails (props) { ) } - +NamespaceDetails.propTypes = { + actions: PropTypes.object.isRequired, + namespace: PropTypes.string.isRequired, +} diff --git a/src/components/ScopeView/ScopeView.js b/src/components/ScopeView/ScopeView.js index 36473d3e4..a7e351ab3 100644 --- a/src/components/ScopeView/ScopeView.js +++ b/src/components/ScopeView/ScopeView.js @@ -1,8 +1,7 @@ import PropTypes from 'prop-types' -import React from 'react' -import { createStructuredSelector } from 'reselect' +import { createSelector } from 'reselect' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectCurrentUserScopes } from '~/store/selectors' import NamespaceDetails from './NamespaceDetails' @@ -12,68 +11,43 @@ import styles from './ScopeView.module.scss' -// Component Constants - -const groupScopes = (scopes, accessibleScopes = []) => { - return scopes.reduce((acc, scopeStr) => { - const [namespace, action, isSelf] = scopeStr.split('.') - - if (!acc[namespace]) { - acc[namespace] = { [action]: {} } - } else if (!acc[namespace][action]) { - acc[namespace][action] = {} - } - - acc[namespace][action][isSelf ? 'self' : 'all'] = { - accessible: accessibleScopes.includes(scopeStr) - || (isSelf && accessibleScopes.includes(`${namespace}.${action}`)) - || accessibleScopes.includes('*'), - } - - return acc - }, {}) +const selectScopesProp = (_, props = {}) => { + return props.scopes } +const selectGroupedScopes = createSelector( + [selectScopesProp, selectCurrentUserScopes], + (scopes = [], accessibleScopes = []) => { + return scopes.reduce((acc, scopeStr) => { + const [namespace, action, isSelf] = scopeStr.split('.') + if (!acc[namespace]) { + acc[namespace] = { [action]: {} } + } else if (!acc[namespace][action]) { + acc[namespace][action] = {} + } + acc[namespace][action][isSelf ? 'self' : 'all'] = Boolean( + accessibleScopes.includes(scopeStr) + || (isSelf && accessibleScopes.includes(`${namespace}.${action}`)) + || accessibleScopes.includes('*') + || accessibleScopes.includes(`${namespace}.*`), + ) - -@connect -class ScopeView extends React.PureComponent { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = {} - - - + return acc + }, {}) + }, +) - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - accessibleScopes, - className, - scopes, - } = this.props - - const groupedScopes = groupScopes(scopes, accessibleScopes) - - return ( -
      - { +function ScopeView ({ className }) { + const groupedScopes = useSelectorWithProps(className, selectGroupedScopes) + return ( +
      + { Object.entries(groupedScopes).map( ([namespace, actions]) => { return ( @@ -85,50 +59,14 @@ class ScopeView extends React.PureComponent { }, ) } -
      - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapStateToProps = createStructuredSelector({ - accessibleScopes: selectCurrentUserScopes, - }) - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = { - className: undefined, - } - - static propTypes = { - accessibleScopes: PropTypes.arrayOf(PropTypes.string).isRequired, - className: PropTypes.string, - scopes: PropTypes.arrayOf(PropTypes.string).isRequired, - } +
      + ) } - +ScopeView.propTypes = { + className: PropTypes.string, + scopes: PropTypes.arrayOf(PropTypes.string).isRequired, +} From e6e0f730d45dfbfe08677f2ed74903306711c39f Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 04:12:48 +0000 Subject: [PATCH 176/300] chore: update yarn --- .yarn/releases/yarn-sources.cjs | 515 +++++++++++++++++--------------- .yarnrc.yml | 2 + 2 files changed, 268 insertions(+), 249 deletions(-) diff --git a/.yarn/releases/yarn-sources.cjs b/.yarn/releases/yarn-sources.cjs index fde682803..45cf109b7 100755 --- a/.yarn/releases/yarn-sources.cjs +++ b/.yarn/releases/yarn-sources.cjs @@ -1,102 +1,102 @@ #!/usr/bin/env node /* eslint-disable */ //prettier-ignore -(()=>{var Toe=Object.create,fg=Object.defineProperty,Uoe=Object.defineProperties,Hoe=Object.getOwnPropertyDescriptor,Yoe=Object.getOwnPropertyDescriptors,qoe=Object.getOwnPropertyNames,uC=Object.getOwnPropertySymbols,Goe=Object.getPrototypeOf,gw=Object.prototype.hasOwnProperty,wL=Object.prototype.propertyIsEnumerable;var QL=(t,e,r)=>e in t?fg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))gw.call(e,r)&&QL(t,r,e[r]);if(uC)for(var r of uC(e))wL.call(e,r)&&QL(t,r,e[r]);return t},V=(t,e)=>Uoe(t,Yoe(e)),joe=t=>fg(t,"__esModule",{value:!0});var vr=(t,e)=>{var r={};for(var i in t)gw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&uC)for(var i of uC(t))e.indexOf(i)<0&&wL.call(t,i)&&(r[i]=t[i]);return r},Joe=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$e=(t,e)=>{for(var r in e)fg(t,r,{get:e[r],enumerable:!0})},Woe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qoe(e))!gw.call(t,i)&&i!=="default"&&fg(t,i,{get:()=>e[i],enumerable:!(r=Hoe(e,i))||r.enumerable});return t},te=t=>Woe(joe(fg(t!=null?Toe(Goe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var tN=C((z4e,ZL)=>{ZL.exports=_L;_L.sync=aae;var $L=require("fs");function Aae(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{rN.exports=iN;iN.sync=lae;var nN=require("fs");function iN(t,e,r){nN.stat(t,function(i,n){r(i,i?!1:sN(n,e))})}function lae(t,e){return sN(nN.statSync(t),e)}function sN(t,e){return t.isFile()&&cae(t,e)}function cae(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var AN=C((Z4e,aN)=>{var X4e=require("fs"),wC;process.platform==="win32"||global.TESTING_WINDOWS?wC=tN():wC=oN();aN.exports=Sw;Sw.sync=uae;function Sw(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Sw(t,e||{},function(s,o){s?n(s):i(o)})})}wC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function uae(t,e){try{return wC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var pN=C((_4e,lN)=>{var Ll=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",cN=require("path"),gae=Ll?";":":",uN=AN(),gN=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),hN=(t,e)=>{let r=e.colon||gae,i=t.match(/\//)||Ll&&t.match(/\\/)?[""]:[...Ll?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Ll?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ll?n.split(r):[""];return Ll&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},fN=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=hN(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(gN(t));let h=i[c],f=/^".*"$/.test(h)?h.slice(1,-1):h,p=cN.join(f,t),m=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((h,f)=>{if(g===n.length)return h(a(u+1));let p=n[g];uN(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return h(c+p);return h(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=hN(t,e),s=[];for(let o=0;o{"use strict";var dN=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Dw.exports=dN;Dw.exports.default=dN});var yN=C((e8e,mN)=>{"use strict";var IN=require("path"),fae=pN(),pae=CN();function EN(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=fae.sync(t.command,{path:r[pae({env:r})],pathExt:e?IN.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=IN.resolve(n?t.options.cwd:"",o)),o}function dae(t){return EN(t)||EN(t,!0)}mN.exports=dae});var BN=C((t8e,xw)=>{"use strict";var Pw=/([()\][%!^"`<>&|;, *?])/g;function Cae(t){return t=t.replace(Pw,"^$1"),t}function mae(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Pw,"^$1"),e&&(t=t.replace(Pw,"^$1")),t}xw.exports.command=Cae;xw.exports.argument=mae});var QN=C((r8e,wN)=>{"use strict";wN.exports=/^#!(.*)/});var SN=C((i8e,bN)=>{"use strict";var Iae=QN();bN.exports=(t="")=>{let e=t.match(Iae);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var xN=C((n8e,DN)=>{"use strict";var kw=require("fs"),Eae=SN();function yae(t){let e=150,r=Buffer.alloc(e),i;try{i=kw.openSync(t,"r"),kw.readSync(i,r,0,e,0),kw.closeSync(i)}catch(n){}return Eae(r.toString())}DN.exports=yae});var FN=C((s8e,PN)=>{"use strict";var Bae=require("path"),kN=yN(),vN=BN(),wae=xN(),Qae=process.platform==="win32",bae=/\.(?:com|exe)$/i,Sae=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Dae(t){t.file=kN(t);let e=t.file&&wae(t.file);return e?(t.args.unshift(t.file),t.command=e,kN(t)):t.file}function xae(t){if(!Qae)return t;let e=Dae(t),r=!bae.test(e);if(t.options.forceShell||r){let i=Sae.test(e);t.command=Bae.normalize(t.command),t.command=vN.command(t.command),t.args=t.args.map(s=>vN.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Pae(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:xae(i)}PN.exports=Pae});var NN=C((o8e,RN)=>{"use strict";var vw=process.platform==="win32";function Fw(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function kae(t,e){if(!vw)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=LN(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function LN(t,e){return vw&&t===1&&!e.file?Fw(e.original,"spawn"):null}function vae(t,e){return vw&&t===1&&!e.file?Fw(e.original,"spawnSync"):null}RN.exports={hookChildProcess:kae,verifyENOENT:LN,verifyENOENTSync:vae,notFoundError:Fw}});var Nw=C((a8e,Nl)=>{"use strict";var MN=require("child_process"),Rw=FN(),Lw=NN();function ON(t,e,r){let i=Rw(t,e,r),n=MN.spawn(i.command,i.args,i.options);return Lw.hookChildProcess(n,i),n}function Fae(t,e,r){let i=Rw(t,e,r),n=MN.spawnSync(i.command,i.args,i.options);return n.error=n.error||Lw.verifyENOENTSync(n.status,i),n}Nl.exports=ON;Nl.exports.spawn=ON;Nl.exports.sync=Fae;Nl.exports._parse=Rw;Nl.exports._enoent=Lw});var TN=C((g8e,KN)=>{"use strict";KN.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Gw=C((h8e,UN)=>{var vg=TN(),HN={};for(let t of Object.keys(vg))HN[vg[t]]=t;var qe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};UN.exports=qe;for(let t of Object.keys(qe)){if(!("channels"in qe[t]))throw new Error("missing channels property: "+t);if(!("labels"in qe[t]))throw new Error("missing channel labels property: "+t);if(qe[t].labels.length!==qe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=qe[t];delete qe[t].channels,delete qe[t].labels,Object.defineProperty(qe[t],"channels",{value:e}),Object.defineProperty(qe[t],"labels",{value:r})}qe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};qe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(h){return(c-h)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};qe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=qe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};qe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Nae(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}qe.rgb.keyword=function(t){let e=HN[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(vg)){let s=vg[n],o=Nae(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};qe.rgb.lab=function(t){let e=qe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};qe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};qe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};qe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};qe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};qe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};qe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};qe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};qe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};qe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};qe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};qe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};qe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?qe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};qe.hsv.ansi16=function(t){return qe.rgb.ansi16(qe.hsv.rgb(t),t[2])};qe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};qe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};qe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};qe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};qe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};qe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};qe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};qe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};qe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};qe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};qe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};qe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};qe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};qe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};qe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};qe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};qe.gray.hsl=function(t){return[0,0,t[0]]};qe.gray.hsv=qe.gray.hsl;qe.gray.hwb=function(t){return[0,100,t[0]]};qe.gray.cmyk=function(t){return[0,0,0,t[0]]};qe.gray.lab=function(t){return[t[0],0,0]};qe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};qe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var qN=C((f8e,YN)=>{var QC=Gw();function Mae(){let t={},e=Object.keys(QC);for(let r=e.length,i=0;i{var jw=Gw(),Uae=qN(),Ml={},Hae=Object.keys(jw);function Yae(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function qae(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{Ml[t]={},Object.defineProperty(Ml[t],"channels",{value:jw[t].channels}),Object.defineProperty(Ml[t],"labels",{value:jw[t].labels});let e=Uae(t);Object.keys(e).forEach(i=>{let n=e[i];Ml[t][i]=qae(n),Ml[t][i].raw=Yae(n)})});GN.exports=Ml});var ZN=C((d8e,JN)=>{"use strict";var WN=(t,e)=>(...r)=>`[${t(...r)+e}m`,zN=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},VN=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},bC=t=>t,XN=(t,e,r)=>[t,e,r],Ol=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Jw,Kl=(t,e,r,i)=>{Jw===void 0&&(Jw=jN());let n=i?10:0,s={};for(let[o,a]of Object.entries(Jw)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function Gae(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Ol(e.color,"ansi",()=>Kl(WN,"ansi16",bC,!1)),Ol(e.color,"ansi256",()=>Kl(zN,"ansi256",bC,!1)),Ol(e.color,"ansi16m",()=>Kl(VN,"rgb",XN,!1)),Ol(e.bgColor,"ansi",()=>Kl(WN,"ansi16",bC,!0)),Ol(e.bgColor,"ansi256",()=>Kl(zN,"ansi256",bC,!0)),Ol(e.bgColor,"ansi16m",()=>Kl(VN,"rgb",XN,!0)),e}Object.defineProperty(JN,"exports",{enumerable:!0,get:Gae})});var $N=C((C8e,_N)=>{"use strict";_N.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var jae=require("os"),tM=require("tty"),tn=$N(),{env:dr}=process,Lo;tn("no-color")||tn("no-colors")||tn("color=false")||tn("color=never")?Lo=0:(tn("color")||tn("colors")||tn("color=true")||tn("color=always"))&&(Lo=1);"FORCE_COLOR"in dr&&(dr.FORCE_COLOR==="true"?Lo=1:dr.FORCE_COLOR==="false"?Lo=0:Lo=dr.FORCE_COLOR.length===0?1:Math.min(parseInt(dr.FORCE_COLOR,10),3));function Ww(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function zw(t,e){if(Lo===0)return 0;if(tn("color=16m")||tn("color=full")||tn("color=truecolor"))return 3;if(tn("color=256"))return 2;if(t&&!e&&Lo===void 0)return 0;let r=Lo||0;if(dr.TERM==="dumb")return r;if(process.platform==="win32"){let i=jae.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in dr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in dr)||dr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in dr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(dr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in dr)return 1;if(dr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in dr){let i=parseInt((dr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(dr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(dr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(dr.TERM)||"COLORTERM"in dr?1:r}function Jae(t){let e=zw(t,t&&t.isTTY);return Ww(e)}eM.exports={supportsColor:Jae,stdout:Ww(zw(!0,tM.isatty(1))),stderr:Ww(zw(!0,tM.isatty(2)))}});var nM=C((I8e,iM)=>{"use strict";var Wae=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},zae=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +(()=>{var zoe=Object.create,Ig=Object.defineProperty,Voe=Object.defineProperties,Xoe=Object.getOwnPropertyDescriptor,Zoe=Object.getOwnPropertyDescriptors,_oe=Object.getOwnPropertyNames,dC=Object.getOwnPropertySymbols,$oe=Object.getPrototypeOf,fw=Object.prototype.hasOwnProperty,SL=Object.prototype.propertyIsEnumerable;var xL=(t,e,r)=>e in t?Ig(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,k=(t,e)=>{for(var r in e||(e={}))fw.call(e,r)&&xL(t,r,e[r]);if(dC)for(var r of dC(e))SL.call(e,r)&&xL(t,r,e[r]);return t},V=(t,e)=>Voe(t,Zoe(e)),eae=t=>Ig(t,"__esModule",{value:!0});var Lr=(t,e)=>{var r={};for(var i in t)fw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&dC)for(var i of dC(t))e.indexOf(i)<0&&SL.call(t,i)&&(r[i]=t[i]);return r},tae=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$e=(t,e)=>{for(var r in e)Ig(t,r,{get:e[r],enumerable:!0})},rae=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _oe(e))!fw.call(t,i)&&i!=="default"&&Ig(t,i,{get:()=>e[i],enumerable:!(r=Xoe(e,i))||r.enumerable});return t},te=t=>rae(eae(Ig(t!=null?zoe($oe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var nN=C((o4e,eN)=>{eN.exports=tN;tN.sync=dae;var rN=require("fs");function Cae(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{sN.exports=oN;oN.sync=mae;var aN=require("fs");function oN(t,e,r){aN.stat(t,function(i,n){r(i,i?!1:AN(n,e))})}function mae(t,e){return AN(aN.statSync(t),e)}function AN(t,e){return t.isFile()&&Iae(t,e)}function Iae(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var uN=C((l4e,cN)=>{var A4e=require("fs"),xC;process.platform==="win32"||global.TESTING_WINDOWS?xC=nN():xC=lN();cN.exports=Pw;Pw.sync=Eae;function Pw(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Pw(t,e||{},function(s,o){s?n(s):i(o)})})}xC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Eae(t,e){try{return xC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var mN=C((c4e,gN)=>{var Fl=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",hN=require("path"),yae=Fl?";":":",fN=uN(),pN=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),dN=(t,e)=>{let r=e.colon||yae,i=t.match(/\//)||Fl&&t.match(/\\/)?[""]:[...Fl?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Fl?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Fl?n.split(r):[""];return Fl&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},CN=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=dN(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(pN(t));let h=i[c],f=/^".*"$/.test(h)?h.slice(1,-1):h,p=hN.join(f,t),m=!f&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((h,f)=>{if(g===n.length)return h(a(u+1));let p=n[g];fN(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return h(c+p);return h(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Bae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=dN(t,e),s=[];for(let o=0;o{"use strict";var IN=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};kw.exports=IN;kw.exports.default=IN});var QN=C((g4e,yN)=>{"use strict";var BN=require("path"),wae=mN(),Qae=EN();function wN(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=wae.sync(t.command,{path:r[Qae({env:r})],pathExt:e?BN.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=BN.resolve(n?t.options.cwd:"",o)),o}function bae(t){return wN(t)||wN(t,!0)}yN.exports=bae});var bN=C((h4e,vw)=>{"use strict";var Fw=/([()\][%!^"`<>&|;, *?])/g;function Dae(t){return t=t.replace(Fw,"^$1"),t}function Sae(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Fw,"^$1"),e&&(t=t.replace(Fw,"^$1")),t}vw.exports.command=Dae;vw.exports.argument=Sae});var SN=C((f4e,DN)=>{"use strict";DN.exports=/^#!(.*)/});var PN=C((p4e,xN)=>{"use strict";var xae=SN();xN.exports=(t="")=>{let e=t.match(xae);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var vN=C((d4e,kN)=>{"use strict";var Rw=require("fs"),Pae=PN();function kae(t){let e=150,r=Buffer.alloc(e),i;try{i=Rw.openSync(t,"r"),Rw.readSync(i,r,0,e,0),Rw.closeSync(i)}catch(n){}return Pae(r.toString())}kN.exports=kae});var NN=C((C4e,FN)=>{"use strict";var vae=require("path"),RN=QN(),LN=bN(),Fae=vN(),Rae=process.platform==="win32",Lae=/\.(?:com|exe)$/i,Nae=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Mae(t){t.file=RN(t);let e=t.file&&Fae(t.file);return e?(t.args.unshift(t.file),t.command=e,RN(t)):t.file}function Oae(t){if(!Rae)return t;let e=Mae(t),r=!Lae.test(e);if(t.options.forceShell||r){let i=Nae.test(e);t.command=vae.normalize(t.command),t.command=LN.command(t.command),t.args=t.args.map(s=>LN.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Kae(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:Oae(i)}FN.exports=Kae});var KN=C((m4e,MN)=>{"use strict";var Lw=process.platform==="win32";function Nw(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Tae(t,e){if(!Lw)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=ON(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function ON(t,e){return Lw&&t===1&&!e.file?Nw(e.original,"spawn"):null}function Uae(t,e){return Lw&&t===1&&!e.file?Nw(e.original,"spawnSync"):null}MN.exports={hookChildProcess:Tae,verifyENOENT:ON,verifyENOENTSync:Uae,notFoundError:Nw}});var Kw=C((I4e,Rl)=>{"use strict";var TN=require("child_process"),Mw=NN(),Ow=KN();function UN(t,e,r){let i=Mw(t,e,r),n=TN.spawn(i.command,i.args,i.options);return Ow.hookChildProcess(n,i),n}function Hae(t,e,r){let i=Mw(t,e,r),n=TN.spawnSync(i.command,i.args,i.options);return n.error=n.error||Ow.verifyENOENTSync(n.status,i),n}Rl.exports=UN;Rl.exports.spawn=UN;Rl.exports.sync=Hae;Rl.exports._parse=Mw;Rl.exports._enoent=Ow});var YN=C((Q4e,HN)=>{"use strict";HN.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Ww=C((b4e,GN)=>{var Mg=YN(),jN={};for(let t of Object.keys(Mg))jN[Mg[t]]=t;var Ge={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};GN.exports=Ge;for(let t of Object.keys(Ge)){if(!("channels"in Ge[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ge[t]))throw new Error("missing channel labels property: "+t);if(Ge[t].labels.length!==Ge[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ge[t];delete Ge[t].channels,delete Ge[t].labels,Object.defineProperty(Ge[t],"channels",{value:e}),Object.defineProperty(Ge[t],"labels",{value:r})}Ge.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Ge.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(h){return(c-h)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Ge.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Ge.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Ge.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function jae(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ge.rgb.keyword=function(t){let e=jN[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Mg)){let s=Mg[n],o=jae(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Ge.rgb.lab=function(t){let e=Ge.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Ge.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Ge.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Ge.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Ge.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Ge.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Ge.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Ge.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Ge.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Ge.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Ge.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Ge.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Ge.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Ge.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Ge.hsv.ansi16=function(t){return Ge.rgb.ansi16(Ge.hsv.rgb(t),t[2])};Ge.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Ge.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Ge.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Ge.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Ge.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Ge.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Ge.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Ge.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Ge.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Ge.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Ge.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Ge.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Ge.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Ge.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ge.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ge.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ge.gray.hsl=function(t){return[0,0,t[0]]};Ge.gray.hsv=Ge.gray.hsl;Ge.gray.hwb=function(t){return[0,100,t[0]]};Ge.gray.cmyk=function(t){return[0,0,0,t[0]]};Ge.gray.lab=function(t){return[t[0],0,0]};Ge.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Ge.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var JN=C((D4e,qN)=>{var PC=Ww();function qae(){let t={},e=Object.keys(PC);for(let r=e.length,i=0;i{var zw=Ww(),Vae=JN(),Ll={},Xae=Object.keys(zw);function Zae(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function _ae(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{Ll[t]={},Object.defineProperty(Ll[t],"channels",{value:zw[t].channels}),Object.defineProperty(Ll[t],"labels",{value:zw[t].labels});let e=Vae(t);Object.keys(e).forEach(i=>{let n=e[i];Ll[t][i]=_ae(n),Ll[t][i].raw=Zae(n)})});WN.exports=Ll});var eM=C((x4e,VN)=>{"use strict";var XN=(t,e)=>(...r)=>`[${t(...r)+e}m`,ZN=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},_N=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},kC=t=>t,$N=(t,e,r)=>[t,e,r],Nl=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Vw,Ml=(t,e,r,i)=>{Vw===void 0&&(Vw=zN());let n=i?10:0,s={};for(let[o,a]of Object.entries(Vw)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function $ae(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Nl(e.color,"ansi",()=>Ml(XN,"ansi16",kC,!1)),Nl(e.color,"ansi256",()=>Ml(ZN,"ansi256",kC,!1)),Nl(e.color,"ansi16m",()=>Ml(_N,"rgb",$N,!1)),Nl(e.bgColor,"ansi",()=>Ml(XN,"ansi16",kC,!0)),Nl(e.bgColor,"ansi256",()=>Ml(ZN,"ansi256",kC,!0)),Nl(e.bgColor,"ansi16m",()=>Ml(_N,"rgb",$N,!0)),e}Object.defineProperty(VN,"exports",{enumerable:!0,get:$ae})});var rM=C((P4e,tM)=>{"use strict";tM.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var eAe=require("os"),nM=require("tty"),on=rM(),{env:dr}=process,No;on("no-color")||on("no-colors")||on("color=false")||on("color=never")?No=0:(on("color")||on("colors")||on("color=true")||on("color=always"))&&(No=1);"FORCE_COLOR"in dr&&(dr.FORCE_COLOR==="true"?No=1:dr.FORCE_COLOR==="false"?No=0:No=dr.FORCE_COLOR.length===0?1:Math.min(parseInt(dr.FORCE_COLOR,10),3));function Xw(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Zw(t,e){if(No===0)return 0;if(on("color=16m")||on("color=full")||on("color=truecolor"))return 3;if(on("color=256"))return 2;if(t&&!e&&No===void 0)return 0;let r=No||0;if(dr.TERM==="dumb")return r;if(process.platform==="win32"){let i=eAe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in dr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in dr)||dr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in dr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(dr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in dr)return 1;if(dr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in dr){let i=parseInt((dr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(dr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(dr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(dr.TERM)||"COLORTERM"in dr?1:r}function tAe(t){let e=Zw(t,t&&t.isTTY);return Xw(e)}iM.exports={supportsColor:tAe,stdout:Xw(Zw(!0,nM.isatty(1))),stderr:Xw(Zw(!0,nM.isatty(2)))}});var aM=C((v4e,oM)=>{"use strict";var rAe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},iAe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r `:` `)+r,n=i+1,i=t.indexOf(` -`,n)}while(i!==-1);return s+=t.substr(n),s};iM.exports={stringReplaceAll:Wae,stringEncaseCRLFWithFirstIndex:zae}});var lM=C((E8e,sM)=>{"use strict";var Vae=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,oM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xae=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zae=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,_ae=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function aM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):_ae.get(t)||t}function $ae(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xae))r.push(n[2].replace(Zae,(a,l,c)=>l?aM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function eAe(t){oM.lastIndex=0;let e=[],r;for(;(r=oM.exec(t))!==null;){let i=r[1];if(r[2]){let n=$ae(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function AM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}sM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(Vae,(s,o,a,l,c,u)=>{if(o)n.push(aM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:AM(t,r)(g)),r.push({inverse:a,styles:eAe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(AM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var $w=C((y8e,cM)=>{"use strict";var Fg=ZN(),{stdout:Vw,stderr:Xw}=rM(),{stringReplaceAll:tAe,stringEncaseCRLFWithFirstIndex:rAe}=nM(),uM=["ansi","ansi","ansi256","ansi16m"],Tl=Object.create(null),iAe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Vw?Vw.level:0;t.level=e.level===void 0?r:e.level},gM=class{constructor(e){return hM(e)}},hM=t=>{let e={};return iAe(e,t),e.template=(...r)=>nAe(e.template,...r),Object.setPrototypeOf(e,SC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=gM,e.template};function SC(t){return hM(t)}for(let[t,e]of Object.entries(Fg))Tl[t]={get(){let r=DC(this,Zw(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Tl.visible={get(){let t=DC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var fM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of fM)Tl[t]={get(){let{level:e}=this;return function(...r){let i=Zw(Fg.color[uM[e]][t](...r),Fg.color.close,this._styler);return DC(this,i,this._isEmpty)}}};for(let t of fM){let e="bg"+t[0].toUpperCase()+t.slice(1);Tl[e]={get(){let{level:r}=this;return function(...i){let n=Zw(Fg.bgColor[uM[r]][t](...i),Fg.bgColor.close,this._styler);return DC(this,n,this._isEmpty)}}}}var sAe=Object.defineProperties(()=>{},V(P({},Tl),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Zw=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},DC=(t,e,r)=>{let i=(...n)=>oAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=sAe,i._generator=t,i._styler=e,i._isEmpty=r,i},oAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=tAe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` -`);return s!==-1&&(e=rAe(e,n,i,s)),i+e+n},_w,nAe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{pM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var Lg=C(Oi=>{"use strict";var CM=dM(),Xn=process.env;Object.defineProperty(Oi,"_vendors",{value:CM.map(function(t){return t.constant})});Oi.name=null;Oi.isPR=null;CM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return mM(i)});if(Oi[t.constant]=r,r)switch(Oi.name=t.name,typeof t.pr){case"string":Oi.isPR=!!Xn[t.pr];break;case"object":"env"in t.pr?Oi.isPR=t.pr.env in Xn&&Xn[t.pr.env]!==t.pr.ne:"any"in t.pr?Oi.isPR=t.pr.any.some(function(i){return!!Xn[i]}):Oi.isPR=mM(t.pr);break;default:Oi.isPR=null}});Oi.isCI=!!(Xn.CI||Xn.CONTINUOUS_INTEGRATION||Xn.BUILD_NUMBER||Xn.RUN_ID||Oi.name);function mM(t){return typeof t=="string"?!!Xn[t]:Object.keys(t).every(function(e){return Xn[e]===t[e]})}});var EM=C((Q8e,IM)=>{"use strict";IM.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var BM=C((b8e,yM)=>{"use strict";var aAe=EM();yM.exports=t=>typeof t=="string"?t.replace(aAe(),""):t});var Hl={};$e(Hl,{KeyRelationship:()=>tA,applyCascade:()=>aQ,base64RegExp:()=>xM,colorStringAlphaRegExp:()=>DM,colorStringRegExp:()=>SM,computeKey:()=>No,getPrintable:()=>Ar,hasExactLength:()=>RM,hasForbiddenKeys:()=>TAe,hasKeyRelationship:()=>lQ,hasMaxLength:()=>BAe,hasMinLength:()=>yAe,hasMutuallyExclusiveKeys:()=>UAe,hasRequiredKeys:()=>KAe,hasUniqueItems:()=>wAe,isArray:()=>hAe,isAtLeast:()=>SAe,isAtMost:()=>DAe,isBase64:()=>MAe,isBoolean:()=>cAe,isDate:()=>gAe,isDict:()=>pAe,isEnum:()=>Yl,isHexColor:()=>NAe,isISO8601:()=>LAe,isInExclusiveRange:()=>PAe,isInInclusiveRange:()=>xAe,isInstanceOf:()=>CAe,isInteger:()=>kAe,isJSON:()=>OAe,isLiteral:()=>AAe,isLowerCase:()=>vAe,isNegative:()=>QAe,isNullable:()=>EAe,isNumber:()=>uAe,isObject:()=>dAe,isOneOf:()=>mAe,isOptional:()=>IAe,isPositive:()=>bAe,isString:()=>oQ,isTuple:()=>fAe,isUUID4:()=>RAe,isUnknown:()=>FM,isUpperCase:()=>FAe,iso8601RegExp:()=>sQ,makeCoercionFn:()=>eA,makeSetter:()=>vM,makeTrait:()=>kM,makeValidator:()=>ot,matchesRegExp:()=>AQ,plural:()=>FC,pushError:()=>et,simpleKeyRegExp:()=>bM,uuid4RegExp:()=>PM});function ot({test:t}){return kM(t)()}function Ar(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function No(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:bM.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function eA(t,e){return r=>{let i=t[e];return t[e]=r,eA(t,e).bind(null,i)}}function vM(t,e){return r=>{t[e]=r}}function FC(t,e,r){return t===1?e:r}function et({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function AAe(t){return ot({test:(e,r)=>e!==t?et(r,`Expected a literal (got ${Ar(t)})`):!0})}function Yl(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return ot({test:(i,n)=>r.has(i)?!0:et(n,`Expected a valid enumeration value (got ${Ar(i)})`)})}var bM,SM,DM,xM,PM,sQ,kM,FM,oQ,lAe,cAe,uAe,gAe,hAe,fAe,pAe,dAe,CAe,mAe,aQ,IAe,EAe,yAe,BAe,RM,wAe,QAe,bAe,SAe,DAe,xAe,PAe,kAe,AQ,vAe,FAe,RAe,LAe,NAe,MAe,OAe,KAe,TAe,UAe,tA,HAe,lQ,Mo=Joe(()=>{bM=/^[a-zA-Z_][a-zA-Z0-9_]*$/,SM=/^#[0-9a-f]{6}$/i,DM=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,xM=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,PM=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,sQ=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,kM=t=>()=>t;FM=()=>ot({test:(t,e)=>!0});oQ=()=>ot({test:(t,e)=>typeof t!="string"?et(e,`Expected a string (got ${Ar(t)})`):!0});lAe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),cAe=()=>ot({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i=lAe.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a boolean (got ${Ar(t)})`)}return!0}}),uAe=()=>ot({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return et(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a number (got ${Ar(t)})`)}return!0}}),gAe=()=>ot({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"&&sQ.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return et(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a date (got ${Ar(t)})`)}return!0}}),hAe=(t,{delimiter:e}={})=>ot({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return et(i,`Expected an array (got ${Ar(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=RM(t.length);return ot({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return et(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return et(n,`Expected a tuple (got ${Ar(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aot({test:(r,i)=>{if(typeof r!="object"||r===null)return et(i,`Expected an object (got ${Ar(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length&&(s||(i==null?void 0:i.errors)!=null);o{let r=Object.keys(t);return ot({test:(i,n)=>{if(typeof i!="object"||i===null)return et(n,`Expected an object (got ${Ar(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=et(Object.assign(Object.assign({},n),{p:No(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:No(n,l),coercion:eA(i,l)}))&&a:e===null?a=et(Object.assign(Object.assign({},n),{p:No(n,l)}),`Extraneous property (got ${Ar(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:vM(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},CAe=t=>ot({test:(e,r)=>e instanceof t?!0:et(r,`Expected an instance of ${t.name} (got ${Ar(e)})`)}),mAe=(t,{exclusive:e=!1}={})=>ot({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?et(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),aQ=(t,e)=>ot({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?eA(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),IAe=t=>ot({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),EAe=t=>ot({test:(e,r)=>e===null?!0:t(e,r)}),yAe=t=>ot({test:(e,r)=>e.length>=t?!0:et(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),BAe=t=>ot({test:(e,r)=>e.length<=t?!0:et(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),RM=t=>ot({test:(e,r)=>e.length!==t?et(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),wAe=({map:t}={})=>ot({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sot({test:(t,e)=>t<=0?!0:et(e,`Expected to be negative (got ${t})`)}),bAe=()=>ot({test:(t,e)=>t>=0?!0:et(e,`Expected to be positive (got ${t})`)}),SAe=t=>ot({test:(e,r)=>e>=t?!0:et(r,`Expected to be at least ${t} (got ${e})`)}),DAe=t=>ot({test:(e,r)=>e<=t?!0:et(r,`Expected to be at most ${t} (got ${e})`)}),xAe=(t,e)=>ot({test:(r,i)=>r>=t&&r<=e?!0:et(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),PAe=(t,e)=>ot({test:(r,i)=>r>=t&&rot({test:(e,r)=>e!==Math.round(e)?et(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:et(r,`Expected to be a safe integer (got ${e})`)}),AQ=t=>ot({test:(e,r)=>t.test(e)?!0:et(r,`Expected to match the pattern ${t.toString()} (got ${Ar(e)})`)}),vAe=()=>ot({test:(t,e)=>t!==t.toLowerCase()?et(e,`Expected to be all-lowercase (got ${t})`):!0}),FAe=()=>ot({test:(t,e)=>t!==t.toUpperCase()?et(e,`Expected to be all-uppercase (got ${t})`):!0}),RAe=()=>ot({test:(t,e)=>PM.test(t)?!0:et(e,`Expected to be a valid UUID v4 (got ${Ar(t)})`)}),LAe=()=>ot({test:(t,e)=>sQ.test(t)?!1:et(e,`Expected to be a valid ISO 8601 date string (got ${Ar(t)})`)}),NAe=({alpha:t=!1})=>ot({test:(e,r)=>(t?SM.test(e):DM.test(e))?!0:et(r,`Expected to be a valid hexadecimal color string (got ${Ar(e)})`)}),MAe=()=>ot({test:(t,e)=>xM.test(t)?!0:et(e,`Expected to be a valid base 64 string (got ${Ar(t)})`)}),OAe=(t=FM())=>ot({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return et(r,`Expected to be a valid JSON string (got ${Ar(e)})`)}return t(i,r)}}),KAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?et(i,`Missing required ${FC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},TAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?et(i,`Forbidden ${FC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},UAe=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?et(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(tA||(tA={}));HAe={[tA.Forbids]:{expect:!1,message:"forbids using"},[tA.Requires]:{expect:!0,message:"requires using"}},lQ=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=HAe[e];return ot({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?et(l,`Property "${t}" ${o.message} ${FC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var KC=C(nn=>{"use strict";nn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;nn.find=(t,e)=>t.nodes.find(r=>r.type===e);nn.exceedsLimit=(t,e,r=1,i)=>i===!1||!nn.isInteger(t)||!nn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;nn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};nn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;nn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;nn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;nn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);nn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var XM=KC();VM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&XM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&XM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var _M=C((Dze,ZM)=>{"use strict";ZM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var aO=C((xze,$M)=>{"use strict";var eO=_M(),rA=(t,e,r)=>{if(eO(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(eO(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(rA.cache.hasOwnProperty(l))return rA.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=rO(t)||rO(e),h={min:t,max:e,a:c,b:u},f=[],p=[];if(g&&(h.isPadded=g,h.maxLen=String(h.max).length),c<0){let m=u<0?Math.abs(u):1;p=tO(m,Math.abs(c),h,i),c=h.a=0}return u>=0&&(f=tO(c,u,h,i)),h.negatives=p,h.positives=f,h.result=rle(p,f,i),i.capture===!0?h.result=`(${h.result})`:i.wrap!==!1&&f.length+p.length>1&&(h.result=`(?:${h.result})`),rA.cache[l]=h,h.result};function rle(t,e,r){let i=pQ(t,e,"-",!1,r)||[],n=pQ(e,t,"",!1,r)||[],s=pQ(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function nle(t,e){let r=1,i=1,n=iO(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=iO(t,r);for(n=nO(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+sO(a.count),o=c+1;continue}r.isPadded&&(g=Ale(c,r,i)),u.string=g+u.pattern+sO(u.count),s.push(u),o=c+1,a=u}return s}function pQ(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!oO(e,"string",a)&&s.push(r+a),i&&oO(e,"string",a)&&s.push(r+a)}return s}function sle(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function oO(t,e,r){return t.some(i=>i[e]===r)}function iO(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function nO(t,e){return t-t%Math.pow(10,e)}function sO(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function ole(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function rO(t){return/^-?(0+)\d/.test(t)}function Ale(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}rA.cache={};rA.clearCache=()=>rA.cache={};$M.exports=rA});var mQ=C((Pze,AO)=>{"use strict";var lle=require("util"),lO=aO(),cO=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),cle=t=>e=>t===!0?Number(e):String(e),dQ=t=>typeof t=="number"||typeof t=="string"&&t!=="",Yg=t=>Number.isInteger(+t),CQ=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},ule=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,gle=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},uO=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},gO=(t,e,r,i)=>{if(r)return lO(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},hO=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return lO(t,e,r)},fO=(...t)=>new RangeError("Invalid range arguments: "+lle.inspect(...t)),pO=(t,e,r)=>{if(r.strictRanges===!0)throw fO([t,e]);return[]},fle=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ple=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw fO([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=CQ(a)||CQ(l)||CQ(c),g=u?Math.max(a.length,l.length,c.length):0,h=u===!1&&ule(t,e,i)===!1,f=i.transform||cle(h);if(i.toRegex&&r===1)return gO(uO(t,g),uO(e,g),!0,i);let p={negatives:[],positives:[]},m=b=>p[b<0?"negatives":"positives"].push(Math.abs(b)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(gle(f(n,y),g,h)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?hle(p,i):hO(I,null,P({wrap:!1},i)):I},dle=(t,e,r=1,i={})=>{if(!Yg(t)&&t.length>1||!Yg(e)&&e.length>1)return pO(t,e,i);let n=i.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return gO(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?hO(u,null,{wrap:!1,options:i}):u},UC=(t,e,r,i={})=>{if(e==null&&dQ(t))return[t];if(!dQ(t)||!dQ(e))return pO(t,e,i);if(typeof r=="function")return UC(t,e,1,{transform:r});if(cO(r))return UC(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Yg(r)?Yg(t)&&Yg(e)?ple(t,e,r,n):dle(t,e,Math.max(Math.abs(r),1),n):r!=null&&!cO(r)?fle(r,n):UC(t,e,1,r)};AO.exports=UC});var mO=C((kze,dO)=>{"use strict";var Cle=mQ(),CO=KC(),mle=(t,e={})=>{let r=(i,n={})=>{let s=CO.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=CO.reduce(i.nodes),g=Cle(...u,V(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};dO.exports=mle});var yO=C((vze,IO)=>{"use strict";var Ile=mQ(),EO=TC(),Gl=KC(),iA=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Gl.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(iA(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?iA(n,s,r):n+s);return Gl.flatten(i)},Ele=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(iA(a.pop(),EO(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(iA(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Gl.reduce(n.nodes);if(Gl.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=Ile(...g,e);h.length===0&&(h=EO(n,e)),a.push(iA(a.pop(),h)),n.nodes=[];return}let l=Gl.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";BO.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var xO=C((Rze,QO)=>{"use strict";var yle=TC(),{MAX_LENGTH:bO,CHAR_BACKSLASH:IQ,CHAR_BACKTICK:Ble,CHAR_COMMA:wle,CHAR_DOT:Qle,CHAR_LEFT_PARENTHESES:ble,CHAR_RIGHT_PARENTHESES:Sle,CHAR_LEFT_CURLY_BRACE:Dle,CHAR_RIGHT_CURLY_BRACE:xle,CHAR_LEFT_SQUARE_BRACKET:SO,CHAR_RIGHT_SQUARE_BRACKET:DO,CHAR_DOUBLE_QUOTE:Ple,CHAR_SINGLE_QUOTE:kle,CHAR_NO_BREAK_SPACE:vle,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Fle}=wO(),Rle=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(bO,r.maxLength):bO;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,h,f={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:yle(o)}]}m({type:"comma",value:h}),o.commas++;continue}if(h===Qle&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:h});continue}if(a.type==="dot"){if(o.range=[],a.value+=h,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+h,a=y,o.ranges--;continue}m({type:"dot",value:h});continue}m({type:"text",value:h})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(b=>{b.nodes||(b.type==="open"&&(b.isOpen=!0),b.type==="close"&&(b.isClose=!0),b.nodes||(b.type="text"),b.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};QO.exports=Rle});var vO=C((Lze,PO)=>{"use strict";var kO=TC(),Lle=mO(),Nle=yO(),Mle=xO(),Ti=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ti.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ti.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ti.parse=(t,e={})=>Mle(t,e);Ti.stringify=(t,e={})=>typeof t=="string"?kO(Ti.parse(t,e),e):kO(t,e);Ti.compile=(t,e={})=>(typeof t=="string"&&(t=Ti.parse(t,e)),Lle(t,e));Ti.expand=(t,e={})=>{typeof t=="string"&&(t=Ti.parse(t,e));let r=Nle(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ti.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ti.compile(t,e):Ti.expand(t,e);PO.exports=Ti});var qg=C((Nze,FO)=>{"use strict";var Ole=require("path"),$n="\\\\/",RO=`[^${$n}]`,Ns="\\.",Kle="\\+",Tle="\\?",HC="\\/",Ule="(?=.)",LO="[^/]",EQ=`(?:${HC}|$)`,NO=`(?:^|${HC})`,yQ=`${Ns}{1,2}${EQ}`,Hle=`(?!${Ns})`,Yle=`(?!${NO}${yQ})`,qle=`(?!${Ns}{0,1}${EQ})`,Gle=`(?!${yQ})`,jle=`[^.${HC}]`,Jle=`${LO}*?`,MO={DOT_LITERAL:Ns,PLUS_LITERAL:Kle,QMARK_LITERAL:Tle,SLASH_LITERAL:HC,ONE_CHAR:Ule,QMARK:LO,END_ANCHOR:EQ,DOTS_SLASH:yQ,NO_DOT:Hle,NO_DOTS:Yle,NO_DOT_SLASH:qle,NO_DOTS_SLASH:Gle,QMARK_NO_DOT:jle,STAR:Jle,START_ANCHOR:NO},Wle=V(P({},MO),{SLASH_LITERAL:`[${$n}]`,QMARK:RO,STAR:`${RO}*?`,DOTS_SLASH:`${Ns}{1,2}(?:[${$n}]|$)`,NO_DOT:`(?!${Ns})`,NO_DOTS:`(?!(?:^|[${$n}])${Ns}{1,2}(?:[${$n}]|$))`,NO_DOT_SLASH:`(?!${Ns}{0,1}(?:[${$n}]|$))`,NO_DOTS_SLASH:`(?!${Ns}{1,2}(?:[${$n}]|$))`,QMARK_NO_DOT:`[^.${$n}]`,START_ANCHOR:`(?:^|[${$n}])`,END_ANCHOR:`(?:[${$n}]|$)`}),zle={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"};FO.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:zle,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Ole.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?Wle:MO}}});var Gg=C(yi=>{"use strict";var Vle=require("path"),Xle=process.platform==="win32",{REGEX_BACKSLASH:Zle,REGEX_REMOVE_BACKSLASH:_le,REGEX_SPECIAL_CHARS:$le,REGEX_SPECIAL_CHARS_GLOBAL:ece}=qg();yi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);yi.hasRegexChars=t=>$le.test(t);yi.isRegexChar=t=>t.length===1&&yi.hasRegexChars(t);yi.escapeRegex=t=>t.replace(ece,"\\$1");yi.toPosixSlashes=t=>t.replace(Zle,"/");yi.removeBackslashes=t=>t.replace(_le,e=>e==="\\"?"":e);yi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};yi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:Xle===!0||Vle.sep==="\\";yi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?yi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};yi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};yi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var jO=C((Oze,OO)=>{"use strict";var KO=Gg(),{CHAR_ASTERISK:BQ,CHAR_AT:tce,CHAR_BACKWARD_SLASH:jg,CHAR_COMMA:rce,CHAR_DOT:wQ,CHAR_EXCLAMATION_MARK:TO,CHAR_FORWARD_SLASH:UO,CHAR_LEFT_CURLY_BRACE:QQ,CHAR_LEFT_PARENTHESES:bQ,CHAR_LEFT_SQUARE_BRACKET:ice,CHAR_PLUS:nce,CHAR_QUESTION_MARK:HO,CHAR_RIGHT_CURLY_BRACE:sce,CHAR_RIGHT_PARENTHESES:YO,CHAR_RIGHT_SQUARE_BRACKET:oce}=qg(),qO=t=>t===UO||t===jg,GO=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},ace=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,h=!1,f=!1,p=!1,m=!1,I=!1,y=!1,b=!1,x=!1,F=!1,N=0,U,v,J={value:"",depth:0,isGlob:!1},oe=()=>c>=i,K=()=>l.charCodeAt(c+1),A=()=>(U=v,l.charCodeAt(++c));for(;c0&&($=l.slice(0,u),l=l.slice(u),g-=u),W&&p===!0&&g>0?(W=l.slice(0,g),re=l.slice(g)):p===!0?(W="",re=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&qO(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===!0&&(re&&(re=KO.removeBackslashes(re)),W&&b===!0&&(W=KO.removeBackslashes(W)));let H={prefix:$,input:t,start:u,base:W,glob:re,isBrace:h,isBracket:f,isGlob:p,isExtglob:m,isGlobstar:I,negated:x};if(r.tokens===!0&&(H.maxDepth=0,qO(v)||o.push(J),H.tokens=o),r.parts===!0||r.tokens===!0){let R;for(let Pe=0;Pe{"use strict";var YC=qg(),Ui=Gg(),{MAX_LENGTH:qC,POSIX_REGEX_SOURCE:Ace,REGEX_NON_SPECIAL_CHARS:lce,REGEX_SPECIAL_CHARS_BACKREF:cce,REPLACEMENTS:WO}=YC,uce=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Ui.escapeRegex(n)).join("..")}return r},jl=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,zO=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=WO[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(qC,r.maxLength):qC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Ui.isWindows(e),c=YC.globChars(l),u=YC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:h,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:b,QMARK:x,QMARK_NO_DOT:F,STAR:N,START_ANCHOR:U}=c,v=X=>`(${a}(?:(?!${U}${X.dot?m:g}).)*?)`,J=r.dot?"":I,oe=r.dot?x:F,K=r.bash===!0?v(r):N;r.capture&&(K=`(${K})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Ui.removePrefix(t,A),n=t.length;let W=[],$=[],re=[],H=s,R,Pe=()=>A.index===n-1,Le=A.peek=(X=1)=>t[A.index+X],Ge=A.advance=()=>t[++A.index],Ke=()=>t.slice(A.index+1),ie=(X="",ae=0)=>{A.consumed+=X,A.index+=ae},le=X=>{A.output+=X.output!=null?X.output:X.value,ie(X.value)},be=()=>{let X=1;for(;Le()==="!"&&(Le(2)!=="("||Le(3)==="?");)Ge(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},he=X=>{A[X]++,re.push(X)},Ie=X=>{A[X]--,re.pop()},pe=X=>{if(H.type==="globstar"){let ae=A.braces>0&&(X.type==="comma"||X.type==="brace"),ue=X.extglob===!0||W.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!ae&&!ue&&(A.output=A.output.slice(0,-H.output.length),H.type="star",H.value="*",H.output=K,A.output+=H.output)}if(W.length&&X.type!=="paren"&&!u[X.value]&&(W[W.length-1].inner+=X.value),(X.value||X.output)&&le(X),H&&H.type==="text"&&X.type==="text"){H.value+=X.value,H.output=(H.output||"")+X.value;return}X.prev=H,o.push(X),H=X},ve=(X,ae)=>{let ue=V(P({},u[ae]),{conditions:1,inner:""});ue.prev=H,ue.parens=A.parens,ue.output=A.output;let we=(r.capture?"(":"")+ue.open;he("parens"),pe({type:X,value:ae,output:A.output?"":p}),pe({type:"paren",extglob:!0,value:Ge(),output:we}),W.push(ue)},Z=X=>{let ae=X.close+(r.capture?")":"");if(X.type==="negate"){let ue=K;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(ue=v(r)),(ue!==K||Pe()||/^\)+$/.test(Ke()))&&(ae=X.close=`)$))${ue}`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}pe({type:"paren",extglob:!0,value:R,output:ae}),Ie("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,ae=t.replace(cce,(ue,we,lt,ft,xt,Sn)=>ft==="\\"?(X=!0,ue):ft==="?"?we?we+ft+(xt?x.repeat(xt.length):""):Sn===0?oe+(xt?x.repeat(xt.length):""):x.repeat(lt.length):ft==="."?g.repeat(lt.length):ft==="*"?we?we+ft+(xt?K:""):K:we?ue:`\\${ue}`);return X===!0&&(r.unescape===!0?ae=ae.replace(/\\/g,""):ae=ae.replace(/\\+/g,ue=>ue.length%2==0?"\\\\":ue?"\\":"")),ae===t&&r.contains===!0?(A.output=t,A):(A.output=Ui.wrapOutput(ae,A,e),A)}for(;!Pe();){if(R=Ge(),R==="\0")continue;if(R==="\\"){let ue=Le();if(ue==="/"&&r.bash!==!0||ue==="."||ue===";")continue;if(!ue){R+="\\",pe({type:"text",value:R});continue}let we=/^\\+/.exec(Ke()),lt=0;if(we&&we[0].length>2&&(lt=we[0].length,A.index+=lt,lt%2!=0&&(R+="\\")),r.unescape===!0?R=Ge()||"":R+=Ge()||"",A.brackets===0){pe({type:"text",value:R});continue}}if(A.brackets>0&&(R!=="]"||H.value==="["||H.value==="[^")){if(r.posix!==!1&&R===":"){let ue=H.value.slice(1);if(ue.includes("[")&&(H.posix=!0,ue.includes(":"))){let we=H.value.lastIndexOf("["),lt=H.value.slice(0,we),ft=H.value.slice(we+2),xt=Ace[ft];if(xt){H.value=lt+xt,A.backtrack=!0,Ge(),!s.output&&o.indexOf(H)===1&&(s.output=p);continue}}}(R==="["&&Le()!==":"||R==="-"&&Le()==="]")&&(R=`\\${R}`),R==="]"&&(H.value==="["||H.value==="[^")&&(R=`\\${R}`),r.posix===!0&&R==="!"&&H.value==="["&&(R="^"),H.value+=R,le({value:R});continue}if(A.quotes===1&&R!=='"'){R=Ui.escapeRegex(R),H.value+=R,le({value:R});continue}if(R==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&pe({type:"text",value:R});continue}if(R==="("){he("parens"),pe({type:"paren",value:R});continue}if(R===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(jl("opening","("));let ue=W[W.length-1];if(ue&&A.parens===ue.parens+1){Z(W.pop());continue}pe({type:"paren",value:R,output:A.parens?")":"\\)"}),Ie("parens");continue}if(R==="["){if(r.nobracket===!0||!Ke().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(jl("closing","]"));R=`\\${R}`}else he("brackets");pe({type:"bracket",value:R});continue}if(R==="]"){if(r.nobracket===!0||H&&H.type==="bracket"&&H.value.length===1){pe({type:"text",value:R,output:`\\${R}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(jl("opening","["));pe({type:"text",value:R,output:`\\${R}`});continue}Ie("brackets");let ue=H.value.slice(1);if(H.posix!==!0&&ue[0]==="^"&&!ue.includes("/")&&(R=`/${R}`),H.value+=R,le({value:R}),r.literalBrackets===!1||Ui.hasRegexChars(ue))continue;let we=Ui.escapeRegex(H.value);if(A.output=A.output.slice(0,-H.value.length),r.literalBrackets===!0){A.output+=we,H.value=we;continue}H.value=`(${a}${we}|${H.value})`,A.output+=H.value;continue}if(R==="{"&&r.nobrace!==!0){he("braces");let ue={type:"brace",value:R,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};$.push(ue),pe(ue);continue}if(R==="}"){let ue=$[$.length-1];if(r.nobrace===!0||!ue){pe({type:"text",value:R,output:R});continue}let we=")";if(ue.dots===!0){let lt=o.slice(),ft=[];for(let xt=lt.length-1;xt>=0&&(o.pop(),lt[xt].type!=="brace");xt--)lt[xt].type!=="dots"&&ft.unshift(lt[xt].value);we=uce(ft,r),A.backtrack=!0}if(ue.comma!==!0&&ue.dots!==!0){let lt=A.output.slice(0,ue.outputIndex),ft=A.tokens.slice(ue.tokensIndex);ue.value=ue.output="\\{",R=we="\\}",A.output=lt;for(let xt of ft)A.output+=xt.output||xt.value}pe({type:"brace",value:R,output:we}),Ie("braces"),$.pop();continue}if(R==="|"){W.length>0&&W[W.length-1].conditions++,pe({type:"text",value:R});continue}if(R===","){let ue=R,we=$[$.length-1];we&&re[re.length-1]==="braces"&&(we.comma=!0,ue="|"),pe({type:"comma",value:R,output:ue});continue}if(R==="/"){if(H.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),H=s;continue}pe({type:"slash",value:R,output:f});continue}if(R==="."){if(A.braces>0&&H.type==="dot"){H.value==="."&&(H.output=g);let ue=$[$.length-1];H.type="dots",H.output+=R,H.value+=R,ue.dots=!0;continue}if(A.braces+A.parens===0&&H.type!=="bos"&&H.type!=="slash"){pe({type:"text",value:R,output:g});continue}pe({type:"dot",value:R,output:g});continue}if(R==="?"){if(!(H&&H.value==="(")&&r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){ve("qmark",R);continue}if(H&&H.type==="paren"){let we=Le(),lt=R;if(we==="<"&&!Ui.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(H.value==="("&&!/[!=<:]/.test(we)||we==="<"&&!/<([!=]|\w+>)/.test(Ke()))&&(lt=`\\${R}`),pe({type:"text",value:R,output:lt});continue}if(r.dot!==!0&&(H.type==="slash"||H.type==="bos")){pe({type:"qmark",value:R,output:F});continue}pe({type:"qmark",value:R,output:x});continue}if(R==="!"){if(r.noextglob!==!0&&Le()==="("&&(Le(2)!=="?"||!/[!=<:]/.test(Le(3)))){ve("negate",R);continue}if(r.nonegate!==!0&&A.index===0){be();continue}}if(R==="+"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){ve("plus",R);continue}if(H&&H.value==="("||r.regex===!1){pe({type:"plus",value:R,output:h});continue}if(H&&(H.type==="bracket"||H.type==="paren"||H.type==="brace")||A.parens>0){pe({type:"plus",value:R});continue}pe({type:"plus",value:h});continue}if(R==="@"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){pe({type:"at",extglob:!0,value:R,output:""});continue}pe({type:"text",value:R});continue}if(R!=="*"){(R==="$"||R==="^")&&(R=`\\${R}`);let ue=lce.exec(Ke());ue&&(R+=ue[0],A.index+=ue[0].length),pe({type:"text",value:R});continue}if(H&&(H.type==="globstar"||H.star===!0)){H.type="star",H.star=!0,H.value+=R,H.output=K,A.backtrack=!0,A.globstar=!0,ie(R);continue}let X=Ke();if(r.noextglob!==!0&&/^\([^?]/.test(X)){ve("star",R);continue}if(H.type==="star"){if(r.noglobstar===!0){ie(R);continue}let ue=H.prev,we=ue.prev,lt=ue.type==="slash"||ue.type==="bos",ft=we&&(we.type==="star"||we.type==="globstar");if(r.bash===!0&&(!lt||X[0]&&X[0]!=="/")){pe({type:"star",value:R,output:""});continue}let xt=A.braces>0&&(ue.type==="comma"||ue.type==="brace"),Sn=W.length&&(ue.type==="pipe"||ue.type==="paren");if(!lt&&ue.type!=="paren"&&!xt&&!Sn){pe({type:"star",value:R,output:""});continue}for(;X.slice(0,3)==="/**";){let di=t[A.index+4];if(di&&di!=="/")break;X=X.slice(3),ie("/**",3)}if(ue.type==="bos"&&Pe()){H.type="globstar",H.value+=R,H.output=v(r),A.output=H.output,A.globstar=!0,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&!ft&&Pe()){A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=v(r)+(r.strictSlashes?")":"|$)"),H.value+=R,A.globstar=!0,A.output+=ue.output+H.output,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&X[0]==="/"){let di=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=`${v(r)}${f}|${f}${di})`,H.value+=R,A.output+=ue.output+H.output,A.globstar=!0,ie(R+Ge()),pe({type:"slash",value:"/",output:""});continue}if(ue.type==="bos"&&X[0]==="/"){H.type="globstar",H.value+=R,H.output=`(?:^|${f}|${v(r)}${f})`,A.output=H.output,A.globstar=!0,ie(R+Ge()),pe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-H.output.length),H.type="globstar",H.output=v(r),H.value+=R,A.output+=H.output,A.globstar=!0,ie(R);continue}let ae={type:"star",value:R,output:K};if(r.bash===!0){ae.output=".*?",(H.type==="bos"||H.type==="slash")&&(ae.output=J+ae.output),pe(ae);continue}if(H&&(H.type==="bracket"||H.type==="paren")&&r.regex===!0){ae.output=R,pe(ae);continue}(A.index===A.start||H.type==="slash"||H.type==="dot")&&(H.type==="dot"?(A.output+=y,H.output+=y):r.dot===!0?(A.output+=b,H.output+=b):(A.output+=J,H.output+=J),Le()!=="*"&&(A.output+=p,H.output+=p)),pe(ae)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing","]"));A.output=Ui.escapeLast(A.output,"["),Ie("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing",")"));A.output=Ui.escapeLast(A.output,"("),Ie("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(jl("closing","}"));A.output=Ui.escapeLast(A.output,"{"),Ie("braces")}if(r.strictSlashes!==!0&&(H.type==="star"||H.type==="bracket")&&pe({type:"maybe_slash",value:"",output:`${f}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};zO.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(qC,r.maxLength):qC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=WO[t]||t;let s=Ui.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:h,STAR:f,START_ANCHOR:p}=YC.globChars(s),m=r.dot?g:u,I=r.dot?h:u,y=r.capture?"":"?:",b={negated:!1,prefix:""},x=r.bash===!0?".*?":f;r.capture&&(x=`(${x})`);let F=J=>J.noglobstar===!0?x:`(${y}(?:(?!${p}${J.dot?c:o}).)*?)`,N=J=>{switch(J){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${I}${x}`;case"**":return m+F(r);case"**/*":return`(?:${m}${F(r)}${a})?${I}${l}${x}`;case"**/*.*":return`(?:${m}${F(r)}${a})?${I}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${F(r)}${a})?${o}${l}${x}`;default:{let oe=/^(.*?)\.(\w+)$/.exec(J);if(!oe)return;let K=N(oe[1]);return K?K+o+oe[2]:void 0}}},U=Ui.removePrefix(t,b),v=N(U);return v&&r.strictSlashes!==!0&&(v+=`${a}?`),v};JO.exports=zO});var ZO=C((Tze,XO)=>{"use strict";var gce=require("path"),hce=jO(),SQ=VO(),DQ=Gg(),fce=qg(),pce=t=>t&&typeof t=="object"&&!Array.isArray(t),ir=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>ir(h,e,r));return h=>{for(let f of u){let p=f(h);if(p)return p}return!1}}let i=pce(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=DQ.isWindows(e),o=i?ir.compileRe(t,e):ir.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=V(P({},e),{ignore:null,onMatch:null,onResult:null});l=ir(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:h,match:f,output:p}=ir.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:f,isMatch:h};return typeof n.onResult=="function"&&n.onResult(m),h===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};ir.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?DQ.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=ir.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};ir.matchBase=(t,e,r,i=DQ.isWindows(r))=>(e instanceof RegExp?e:ir.makeRe(e,r)).test(gce.basename(t));ir.isMatch=(t,e,r)=>ir(e,r)(t);ir.parse=(t,e)=>Array.isArray(t)?t.map(r=>ir.parse(r,e)):SQ(t,V(P({},e),{fastpaths:!1}));ir.scan=(t,e)=>hce(t,e);ir.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=ir.toRegex(a,e);return i===!0&&(l.state=t),l};ir.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=SQ.fastpaths(t,e)),a===void 0?(s=SQ(t,e),s.prefix=o+(s.prefix||"")):s.output=a,ir.compileRe(s,e,r,i)};ir.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};ir.constants=fce;XO.exports=ir});var xQ=C((Uze,_O)=>{"use strict";_O.exports=ZO()});var sn=C((Hze,$O)=>{"use strict";var eK=require("util"),tK=vO(),es=xQ(),PQ=Gg(),rK=t=>typeof t=="string"&&(t===""||t==="./"),Jt=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Jt.match=Jt;Jt.matcher=(t,e)=>es(t,e);Jt.isMatch=(t,e,r)=>es(e,r)(t);Jt.any=Jt.isMatch;Jt.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Jt(t,e,V(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Jt.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${eK.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Jt.contains(t,i,r));if(typeof e=="string"){if(rK(t)||rK(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Jt.isMatch(t,e,V(P({},r),{contains:!0}))};Jt.matchKeys=(t,e,r)=>{if(!PQ.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Jt(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Jt.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Jt.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Jt.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${eK.inspect(t)}"`);return[].concat(e).every(i=>es(i,r)(t))};Jt.capture=(t,e,r)=>{let i=PQ.isWindows(r),s=es.makeRe(String(t),V(P({},r),{capture:!0})).exec(i?PQ.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Jt.makeRe=(...t)=>es.makeRe(...t);Jt.scan=(...t)=>es.scan(...t);Jt.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of tK(String(i),e))r.push(es.parse(n,e));return r};Jt.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:tK(t,e)};Jt.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Jt.braces(t,V(P({},e),{expand:!0}))};$O.exports=Jt});var Vg=C((Jze,cK)=>{var Bce="2.0.0",wce=256,Qce=Number.MAX_SAFE_INTEGER||9007199254740991,bce=16;cK.exports={SEMVER_SPEC_VERSION:Bce,MAX_LENGTH:wce,MAX_SAFE_INTEGER:Qce,MAX_SAFE_COMPONENT_LENGTH:bce}});var Xg=C((Wze,uK)=>{var Sce=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};uK.exports=Sce});var oA=C((Oo,gK)=>{var{MAX_SAFE_COMPONENT_LENGTH:MQ}=Vg(),Dce=Xg();Oo=gK.exports={};var xce=Oo.re=[],Te=Oo.src=[],Ue=Oo.t={},Pce=0,at=(t,e,r)=>{let i=Pce++;Dce(i,e),Ue[t]=i,Te[i]=e,xce[i]=new RegExp(e,r?"g":void 0)};at("NUMERICIDENTIFIER","0|[1-9]\\d*");at("NUMERICIDENTIFIERLOOSE","[0-9]+");at("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");at("MAINVERSION",`(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})`);at("MAINVERSIONLOOSE",`(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})`);at("PRERELEASEIDENTIFIER",`(?:${Te[Ue.NUMERICIDENTIFIER]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASEIDENTIFIERLOOSE",`(?:${Te[Ue.NUMERICIDENTIFIERLOOSE]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASE",`(?:-(${Te[Ue.PRERELEASEIDENTIFIER]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIER]})*))`);at("PRERELEASELOOSE",`(?:-?(${Te[Ue.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIERLOOSE]})*))`);at("BUILDIDENTIFIER","[0-9A-Za-z-]+");at("BUILD",`(?:\\+(${Te[Ue.BUILDIDENTIFIER]}(?:\\.${Te[Ue.BUILDIDENTIFIER]})*))`);at("FULLPLAIN",`v?${Te[Ue.MAINVERSION]}${Te[Ue.PRERELEASE]}?${Te[Ue.BUILD]}?`);at("FULL",`^${Te[Ue.FULLPLAIN]}$`);at("LOOSEPLAIN",`[v=\\s]*${Te[Ue.MAINVERSIONLOOSE]}${Te[Ue.PRERELEASELOOSE]}?${Te[Ue.BUILD]}?`);at("LOOSE",`^${Te[Ue.LOOSEPLAIN]}$`);at("GTLT","((?:<|>)?=?)");at("XRANGEIDENTIFIERLOOSE",`${Te[Ue.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);at("XRANGEIDENTIFIER",`${Te[Ue.NUMERICIDENTIFIER]}|x|X|\\*`);at("XRANGEPLAIN",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:${Te[Ue.PRERELEASE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGEPLAINLOOSE",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:${Te[Ue.PRERELEASELOOSE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAIN]}$`);at("XRANGELOOSE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COERCE",`(^|[^\\d])(\\d{1,${MQ}})(?:\\.(\\d{1,${MQ}}))?(?:\\.(\\d{1,${MQ}}))?(?:$|[^\\d])`);at("COERCERTL",Te[Ue.COERCE],!0);at("LONETILDE","(?:~>?)");at("TILDETRIM",`(\\s*)${Te[Ue.LONETILDE]}\\s+`,!0);Oo.tildeTrimReplace="$1~";at("TILDE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAIN]}$`);at("TILDELOOSE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("LONECARET","(?:\\^)");at("CARETTRIM",`(\\s*)${Te[Ue.LONECARET]}\\s+`,!0);Oo.caretTrimReplace="$1^";at("CARET",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAIN]}$`);at("CARETLOOSE",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COMPARATORLOOSE",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]})$|^$`);at("COMPARATOR",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.FULLPLAIN]})$|^$`);at("COMPARATORTRIM",`(\\s*)${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]}|${Te[Ue.XRANGEPLAIN]})`,!0);Oo.comparatorTrimReplace="$1$2$3";at("HYPHENRANGE",`^\\s*(${Te[Ue.XRANGEPLAIN]})\\s+-\\s+(${Te[Ue.XRANGEPLAIN]})\\s*$`);at("HYPHENRANGELOOSE",`^\\s*(${Te[Ue.XRANGEPLAINLOOSE]})\\s+-\\s+(${Te[Ue.XRANGEPLAINLOOSE]})\\s*$`);at("STAR","(<|>)?=?\\s*\\*");at("GTE0","^\\s*>=\\s*0.0.0\\s*$");at("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Zg=C((zze,hK)=>{var kce=["includePrerelease","loose","rtl"],vce=t=>t?typeof t!="object"?{loose:!0}:kce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};hK.exports=vce});var JC=C((Vze,fK)=>{var pK=/^[0-9]+$/,dK=(t,e)=>{let r=pK.test(t),i=pK.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tdK(e,t);fK.exports={compareIdentifiers:dK,rcompareIdentifiers:Fce}});var Ur=C((Xze,CK)=>{var WC=Xg(),{MAX_LENGTH:mK,MAX_SAFE_INTEGER:zC}=Vg(),{re:IK,t:EK}=oA(),Rce=Zg(),{compareIdentifiers:_g}=JC(),on=class{constructor(e,r){if(r=Rce(r),e instanceof on){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>mK)throw new TypeError(`version is longer than ${mK} characters`);WC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?IK[EK.LOOSE]:IK[EK.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>zC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>zC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>zC||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};CK.exports=on});var aA=C((Zze,yK)=>{var{MAX_LENGTH:Lce}=Vg(),{re:BK,t:wK}=oA(),QK=Ur(),Nce=Zg(),Mce=(t,e)=>{if(e=Nce(e),t instanceof QK)return t;if(typeof t!="string"||t.length>Lce||!(e.loose?BK[wK.LOOSE]:BK[wK.FULL]).test(t))return null;try{return new QK(t,e)}catch(i){return null}};yK.exports=Mce});var SK=C((_ze,bK)=>{var Oce=aA(),Kce=(t,e)=>{let r=Oce(t,e);return r?r.version:null};bK.exports=Kce});var xK=C(($ze,DK)=>{var Tce=aA(),Uce=(t,e)=>{let r=Tce(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};DK.exports=Uce});var kK=C((e5e,PK)=>{var Hce=Ur(),Yce=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new Hce(t,r).inc(e,i).version}catch(n){return null}};PK.exports=Yce});var an=C((t5e,vK)=>{var FK=Ur(),qce=(t,e,r)=>new FK(t,r).compare(new FK(e,r));vK.exports=qce});var VC=C((r5e,RK)=>{var Gce=an(),jce=(t,e,r)=>Gce(t,e,r)===0;RK.exports=jce});var MK=C((i5e,LK)=>{var NK=aA(),Jce=VC(),Wce=(t,e)=>{if(Jce(t,e))return null;{let r=NK(t),i=NK(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};LK.exports=Wce});var KK=C((n5e,OK)=>{var zce=Ur(),Vce=(t,e)=>new zce(t,e).major;OK.exports=Vce});var UK=C((s5e,TK)=>{var Xce=Ur(),Zce=(t,e)=>new Xce(t,e).minor;TK.exports=Zce});var YK=C((o5e,HK)=>{var _ce=Ur(),$ce=(t,e)=>new _ce(t,e).patch;HK.exports=$ce});var GK=C((a5e,qK)=>{var eue=aA(),tue=(t,e)=>{let r=eue(t,e);return r&&r.prerelease.length?r.prerelease:null};qK.exports=tue});var JK=C((A5e,jK)=>{var rue=an(),iue=(t,e,r)=>rue(e,t,r);jK.exports=iue});var zK=C((l5e,WK)=>{var nue=an(),sue=(t,e)=>nue(t,e,!0);WK.exports=sue});var XC=C((c5e,VK)=>{var XK=Ur(),oue=(t,e,r)=>{let i=new XK(t,r),n=new XK(e,r);return i.compare(n)||i.compareBuild(n)};VK.exports=oue});var _K=C((u5e,ZK)=>{var aue=XC(),Aue=(t,e)=>t.sort((r,i)=>aue(r,i,e));ZK.exports=Aue});var eT=C((g5e,$K)=>{var lue=XC(),cue=(t,e)=>t.sort((r,i)=>lue(i,r,e));$K.exports=cue});var $g=C((h5e,tT)=>{var uue=an(),gue=(t,e,r)=>uue(t,e,r)>0;tT.exports=gue});var ZC=C((f5e,rT)=>{var hue=an(),fue=(t,e,r)=>hue(t,e,r)<0;rT.exports=fue});var OQ=C((p5e,iT)=>{var pue=an(),due=(t,e,r)=>pue(t,e,r)!==0;iT.exports=due});var _C=C((d5e,nT)=>{var Cue=an(),mue=(t,e,r)=>Cue(t,e,r)>=0;nT.exports=mue});var $C=C((C5e,sT)=>{var Iue=an(),Eue=(t,e,r)=>Iue(t,e,r)<=0;sT.exports=Eue});var KQ=C((m5e,oT)=>{var yue=VC(),Bue=OQ(),wue=$g(),Que=_C(),bue=ZC(),Sue=$C(),Due=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return yue(t,r,i);case"!=":return Bue(t,r,i);case">":return wue(t,r,i);case">=":return Que(t,r,i);case"<":return bue(t,r,i);case"<=":return Sue(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};oT.exports=Due});var AT=C((I5e,aT)=>{var xue=Ur(),Pue=aA(),{re:em,t:tm}=oA(),kue=(t,e)=>{if(t instanceof xue)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(em[tm.COERCE]);else{let i;for(;(i=em[tm.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),em[tm.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;em[tm.COERCERTL].lastIndex=-1}return r===null?null:Pue(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};aT.exports=kue});var cT=C((E5e,lT)=>{"use strict";lT.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var eh=C((y5e,uT)=>{"use strict";uT.exports=It;It.Node=AA;It.create=It;function It(t){var e=this;if(e instanceof It||(e=new It),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};It.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};It.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};It.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};It.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new It;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};It.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Lue=eh(),lA=Symbol("max"),Os=Symbol("length"),zl=Symbol("lengthCalculator"),th=Symbol("allowStale"),cA=Symbol("maxAge"),Ks=Symbol("dispose"),hT=Symbol("noDisposeOnSet"),br=Symbol("lruList"),Fn=Symbol("cache"),fT=Symbol("updateAgeOnGet"),TQ=()=>1,pT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[lA]=e.max||Infinity,i=e.length||TQ;if(this[zl]=typeof i!="function"?TQ:i,this[th]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[cA]=e.maxAge||0,this[Ks]=e.dispose,this[hT]=e.noDisposeOnSet||!1,this[fT]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[lA]=e||Infinity,rh(this)}get max(){return this[lA]}set allowStale(e){this[th]=!!e}get allowStale(){return this[th]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[cA]=e,rh(this)}get maxAge(){return this[cA]}set lengthCalculator(e){typeof e!="function"&&(e=TQ),e!==this[zl]&&(this[zl]=e,this[Os]=0,this[br].forEach(r=>{r.length=this[zl](r.value,r.key),this[Os]+=r.length})),rh(this)}get lengthCalculator(){return this[zl]}get length(){return this[Os]}get itemCount(){return this[br].length}rforEach(e,r){r=r||this;for(let i=this[br].tail;i!==null;){let n=i.prev;CT(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[br].head;i!==null;){let n=i.next;CT(this,e,i,r),i=n}}keys(){return this[br].toArray().map(e=>e.key)}values(){return this[br].toArray().map(e=>e.value)}reset(){this[Ks]&&this[br]&&this[br].length&&this[br].forEach(e=>this[Ks](e.key,e.value)),this[Fn]=new Map,this[br]=new Lue,this[Os]=0}dump(){return this[br].map(e=>rm(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[br]}set(e,r,i){if(i=i||this[cA],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[zl](r,e);if(this[Fn].has(e)){if(s>this[lA])return Vl(this,this[Fn].get(e)),!1;let l=this[Fn].get(e).value;return this[Ks]&&(this[hT]||this[Ks](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Os]+=s-l.length,l.length=s,this.get(e),rh(this),!0}let o=new dT(e,r,s,n,i);return o.length>this[lA]?(this[Ks]&&this[Ks](e,r),!1):(this[Os]+=o.length,this[br].unshift(o),this[Fn].set(e,this[br].head),rh(this),!0)}has(e){if(!this[Fn].has(e))return!1;let r=this[Fn].get(e).value;return!rm(this,r)}get(e){return UQ(this,e,!0)}peek(e){return UQ(this,e,!1)}pop(){let e=this[br].tail;return e?(Vl(this,e),e.value):null}del(e){Vl(this,this[Fn].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Fn].forEach((e,r)=>UQ(this,r,!1))}},UQ=(t,e,r)=>{let i=t[Fn].get(e);if(i){let n=i.value;if(rm(t,n)){if(Vl(t,i),!t[th])return}else r&&(t[fT]&&(i.value.now=Date.now()),t[br].unshiftNode(i));return n.value}},rm=(t,e)=>{if(!e||!e.maxAge&&!t[cA])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[cA]&&r>t[cA]},rh=t=>{if(t[Os]>t[lA])for(let e=t[br].tail;t[Os]>t[lA]&&e!==null;){let r=e.prev;Vl(t,e),e=r}},Vl=(t,e)=>{if(e){let r=e.value;t[Ks]&&t[Ks](r.key,r.value),t[Os]-=r.length,t[Fn].delete(r.key),t[br].removeNode(e)}},dT=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},CT=(t,e,r,i)=>{let n=r.value;rm(t,n)&&(Vl(t,r),t[th]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};gT.exports=pT});var An=C((w5e,IT)=>{var Xl=class{constructor(e,r){if(r=Nue(r),e instanceof Xl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new Xl(e.raw,r);if(e instanceof HQ)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!yT(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Uue(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=ET.get(i);if(n)return n;let s=this.options.loose,o=s?Hr[Lr.HYPHENRANGELOOSE]:Hr[Lr.HYPHENRANGE];e=e.replace(o,que(this.options.includePrerelease)),nr("hyphen replace",e),e=e.replace(Hr[Lr.COMPARATORTRIM],Oue),nr("comparator trim",e,Hr[Lr.COMPARATORTRIM]),e=e.replace(Hr[Lr.TILDETRIM],Kue),e=e.replace(Hr[Lr.CARETTRIM],Tue),e=e.split(/\s+/).join(" ");let a=s?Hr[Lr.COMPARATORLOOSE]:Hr[Lr.COMPARATOR],l=e.split(" ").map(h=>Hue(h,this.options)).join(" ").split(/\s+/).map(h=>Yue(h,this.options)).filter(this.options.loose?h=>!!h.match(a):()=>!0).map(h=>new HQ(h,this.options)),c=l.length,u=new Map;for(let h of l){if(yT(h))return[h];u.set(h.value,h)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return ET.set(i,g),g}intersects(e,r){if(!(e instanceof Xl))throw new TypeError("a Range is required");return this.set.some(i=>BT(i,r)&&e.set.some(n=>BT(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Mue(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Uue=t=>t.value==="",BT=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Hue=(t,e)=>(nr("comp",t,e),t=Wue(t,e),nr("caret",t),t=Jue(t,e),nr("tildes",t),t=zue(t,e),nr("xrange",t),t=Vue(t,e),nr("stars",t),t),ii=t=>!t||t.toLowerCase()==="x"||t==="*",Jue=(t,e)=>t.trim().split(/\s+/).map(r=>Xue(r,e)).join(" "),Xue=(t,e)=>{let r=e.loose?Hr[Lr.TILDELOOSE]:Hr[Lr.TILDE];return t.replace(r,(i,n,s,o,a)=>{nr("tilde",t,i,n,s,o,a);let l;return ii(n)?l="":ii(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:ii(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(nr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,nr("tilde return",l),l})},Wue=(t,e)=>t.trim().split(/\s+/).map(r=>Zue(r,e)).join(" "),Zue=(t,e)=>{nr("caret",t,e);let r=e.loose?Hr[Lr.CARETLOOSE]:Hr[Lr.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{nr("caret",t,n,s,o,a,l);let c;return ii(s)?c="":ii(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:ii(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(nr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(nr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),nr("caret return",c),c})},zue=(t,e)=>(nr("replaceXRanges",t,e),t.split(/\s+/).map(r=>_ue(r,e)).join(" ")),_ue=(t,e)=>{t=t.trim();let r=e.loose?Hr[Lr.XRANGELOOSE]:Hr[Lr.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{nr("xRange",t,i,n,s,o,a,l);let c=ii(s),u=c||ii(o),g=u||ii(a),h=g;return n==="="&&h&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&h?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),nr("xRange return",i),i})},Vue=(t,e)=>(nr("replaceStars",t,e),t.trim().replace(Hr[Lr.STAR],"")),Yue=(t,e)=>(nr("replaceGTE0",t,e),t.trim().replace(Hr[e.includePrerelease?Lr.GTE0PRE:Lr.GTE0],"")),que=t=>(e,r,i,n,s,o,a,l,c,u,g,h,f)=>(ii(i)?r="":ii(n)?r=`>=${i}.0.0${t?"-0":""}`:ii(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,ii(c)?l="":ii(u)?l=`<${+c+1}.0.0-0`:ii(g)?l=`<${c}.${+u+1}.0-0`:h?l=`<=${c}.${u}.${g}-${h}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Gue=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var ih=C((Q5e,wT)=>{var nh=Symbol("SemVer ANY"),sh=class{static get ANY(){return nh}constructor(e,r){if(r=$ue(r),e instanceof sh){if(e.loose===!!r.loose)return e;e=e.value}qQ("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===nh?this.value="":this.value=this.operator+this.semver.version,qQ("comp",this)}parse(e){let r=this.options.loose?QT[bT.COMPARATORLOOSE]:QT[bT.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new ST(i[2],this.options.loose):this.semver=nh}toString(){return this.value}test(e){if(qQ("Comparator.test",e,this.options.loose),this.semver===nh||e===nh)return!0;if(typeof e=="string")try{e=new ST(e,this.options)}catch(r){return!1}return YQ(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof sh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new DT(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new DT(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=YQ(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=YQ(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};wT.exports=sh;var $ue=Zg(),{re:QT,t:bT}=oA(),YQ=KQ(),qQ=Xg(),ST=Ur(),DT=An()});var oh=C((b5e,xT)=>{var ege=An(),tge=(t,e,r)=>{try{e=new ege(e,r)}catch(i){return!1}return e.test(t)};xT.exports=tge});var kT=C((S5e,PT)=>{var rge=An(),ige=(t,e)=>new rge(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));PT.exports=ige});var FT=C((D5e,vT)=>{var nge=Ur(),sge=An(),oge=(t,e,r)=>{let i=null,n=null,s=null;try{s=new sge(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new nge(i,r))}),i};vT.exports=oge});var LT=C((x5e,RT)=>{var age=Ur(),Age=An(),lge=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Age(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new age(i,r))}),i};RT.exports=lge});var OT=C((P5e,NT)=>{var GQ=Ur(),cge=An(),MT=$g(),uge=(t,e)=>{t=new cge(t,e);let r=new GQ("0.0.0");if(t.test(r)||(r=new GQ("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new GQ(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||MT(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||MT(r,s))&&(r=s)}return r&&t.test(r)?r:null};NT.exports=uge});var TT=C((k5e,KT)=>{var gge=An(),hge=(t,e)=>{try{return new gge(t,e).range||"*"}catch(r){return null}};KT.exports=hge});var im=C((v5e,UT)=>{var fge=Ur(),HT=ih(),{ANY:pge}=HT,dge=An(),Cge=oh(),YT=$g(),qT=ZC(),mge=$C(),Ige=_C(),Ege=(t,e,r,i)=>{t=new fge(t,i),e=new dge(e,i);let n,s,o,a,l;switch(r){case">":n=YT,s=mge,o=qT,a=">",l=">=";break;case"<":n=qT,s=Ige,o=YT,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Cge(t,e,i))return!1;for(let c=0;c{f.semver===pge&&(f=new HT(">=0.0.0")),g=g||f,h=h||f,n(f.semver,g.semver,i)?g=f:o(f.semver,h.semver,i)&&(h=f)}),g.operator===a||g.operator===l||(!h.operator||h.operator===a)&&s(t,h.semver))return!1;if(h.operator===l&&o(t,h.semver))return!1}return!0};UT.exports=Ege});var jT=C((F5e,GT)=>{var yge=im(),Bge=(t,e,r)=>yge(t,e,">",r);GT.exports=Bge});var WT=C((R5e,JT)=>{var wge=im(),Qge=(t,e,r)=>wge(t,e,"<",r);JT.exports=Qge});var XT=C((L5e,zT)=>{var VT=An(),bge=(t,e,r)=>(t=new VT(t,r),e=new VT(e,r),t.intersects(e));zT.exports=bge});var _T=C((N5e,ZT)=>{var Sge=oh(),Dge=an();ZT.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>Dge(u,g,r));for(let u of o)Sge(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var eU=An(),nm=ih(),{ANY:jQ}=nm,ah=oh(),JQ=an(),Pge=(t,e,r={})=>{if(t===e)return!0;t=new eU(t,r),e=new eU(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=xge(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},xge=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===jQ){if(e.length===1&&e[0].semver===jQ)return!0;r.includePrerelease?t=[new nm(">=0.0.0-0")]:t=[new nm(">=0.0.0")]}if(e.length===1&&e[0].semver===jQ){if(r.includePrerelease)return!0;e=[new nm(">=0.0.0")]}let i=new Set,n,s;for(let f of t)f.operator===">"||f.operator===">="?n=tU(n,f,r):f.operator==="<"||f.operator==="<="?s=rU(s,f,r):i.add(f.semver);if(i.size>1)return null;let o;if(n&&s){if(o=JQ(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let f of i){if(n&&!ah(f,String(n),r)||s&&!ah(f,String(s),r))return null;for(let p of e)if(!ah(f,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,h=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let f of e){if(u=u||f.operator===">"||f.operator===">=",c=c||f.operator==="<"||f.operator==="<=",n){if(h&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===h.major&&f.semver.minor===h.minor&&f.semver.patch===h.patch&&(h=!1),f.operator===">"||f.operator===">="){if(a=tU(n,f,r),a===f&&a!==n)return!1}else if(n.operator===">="&&!ah(n.semver,String(f),r))return!1}if(s){if(g&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===g.major&&f.semver.minor===g.minor&&f.semver.patch===g.patch&&(g=!1),f.operator==="<"||f.operator==="<="){if(l=rU(s,f,r),l===f&&l!==s)return!1}else if(s.operator==="<="&&!ah(s.semver,String(f),r))return!1}if(!f.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||h||g)},tU=(t,e,r)=>{if(!t)return e;let i=JQ(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},rU=(t,e,r)=>{if(!t)return e;let i=JQ(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};$T.exports=Pge});var Cr=C((O5e,nU)=>{var WQ=oA();nU.exports={re:WQ.re,src:WQ.src,tokens:WQ.t,SEMVER_SPEC_VERSION:Vg().SEMVER_SPEC_VERSION,SemVer:Ur(),compareIdentifiers:JC().compareIdentifiers,rcompareIdentifiers:JC().rcompareIdentifiers,parse:aA(),valid:SK(),clean:xK(),inc:kK(),diff:MK(),major:KK(),minor:UK(),patch:YK(),prerelease:GK(),compare:an(),rcompare:JK(),compareLoose:zK(),compareBuild:XC(),sort:_K(),rsort:eT(),gt:$g(),lt:ZC(),eq:VC(),neq:OQ(),gte:_C(),lte:$C(),cmp:KQ(),coerce:AT(),Comparator:ih(),Range:An(),satisfies:oh(),toComparators:kT(),maxSatisfying:FT(),minSatisfying:LT(),minVersion:OT(),validRange:TT(),outside:im(),gtr:jT(),ltr:WT(),intersects:XT(),simplifyRange:_T(),subset:iU()}});var oU=C((K5e,sU)=>{"use strict";sU.exports=(...t)=>[...new Set([].concat(...t))]});var zQ=C((T5e,aU)=>{"use strict";var kge=require("stream"),AU=kge.PassThrough,vge=Array.prototype.slice;aU.exports=Fge;function Fge(){let t=[],e=!1,r=vge.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=AU(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function h(f){function p(){f.removeListener("merge2UnpipeEnd",p),f.removeListener("end",p),g()}if(f._readableState.endEmitted)return g();f.on("merge2UnpipeEnd",p),f.on("end",p),f.pipe(s,{end:!1}),f.resume()}for(let f=0;f{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});function Rge(t){return t.reduce((e,r)=>[].concat(e,r),[])}sm.flatten=Rge;function Lge(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}sm.splitWhen=Lge});var uU=C(VQ=>{"use strict";Object.defineProperty(VQ,"__esModule",{value:!0});function Nge(t){return t.code==="ENOENT"}VQ.isEnoentCodeError=Nge});var hU=C(XQ=>{"use strict";Object.defineProperty(XQ,"__esModule",{value:!0});var gU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Mge(t,e){return new gU(t,e)}XQ.createDirentFromStats=Mge});var fU=C(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Oge=require("path"),Kge=2,Tge=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Uge(t){return t.replace(/\\/g,"/")}Zl.unixify=Uge;function Hge(t,e){return Oge.resolve(t,e)}Zl.makeAbsolute=Hge;function Yge(t){return t.replace(Tge,"\\$2")}Zl.escape=Yge;function qge(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Kge)}return t}Zl.removeLeadingDotSegment=qge});var dU=C((G5e,pU)=>{pU.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var mU=C((j5e,CU)=>{var Gge=dU(),jge={"{":"}","(":")","[":"]"},Jge=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Wge=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;CU.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Gge(e))return!0;var i=Jge,n;for(r&&r.strict===!1&&(i=Wge);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?jge[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var EU=C((J5e,IU)=>{"use strict";var zge=mU(),Vge=require("path").posix.dirname,Xge=require("os").platform()==="win32",ZQ="/",Zge=/\\/g,_ge=/[\{\[].*[\}\]]$/,$ge=/(^|[^\\])([\{\[]|\([^\)]+$)/,ehe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;IU.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Xge&&e.indexOf(ZQ)<0&&(e=e.replace(Zge,ZQ)),_ge.test(e)&&(e+=ZQ),e+="a";do e=Vge(e);while(zge(e)||$ge.test(e));return e.replace(ehe,"$1")}});var PU=C(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});var the=require("path"),rhe=EU(),yU=sn(),ihe=xQ(),BU="**",nhe="\\",she=/[*?]|^!/,ohe=/\[.*]/,ahe=/(?:^|[^!*+?@])\(.*\|.*\)/,Ahe=/[!*+?@]\(.*\)/,lhe=/{.*(?:,|\.\.).*}/;function QU(t,e={}){return!wU(t,e)}lr.isStaticPattern=QU;function wU(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(nhe)||she.test(t)||ohe.test(t)||ahe.test(t)||e.extglob!==!1&&Ahe.test(t)||e.braceExpansion!==!1&&lhe.test(t))}lr.isDynamicPattern=wU;function che(t){return om(t)?t.slice(1):t}lr.convertToPositivePattern=che;function uhe(t){return"!"+t}lr.convertToNegativePattern=uhe;function om(t){return t.startsWith("!")&&t[1]!=="("}lr.isNegativePattern=om;function bU(t){return!om(t)}lr.isPositivePattern=bU;function ghe(t){return t.filter(om)}lr.getNegativePatterns=ghe;function hhe(t){return t.filter(bU)}lr.getPositivePatterns=hhe;function fhe(t){return rhe(t,{flipBackslashes:!1})}lr.getBaseDirectory=fhe;function phe(t){return t.includes(BU)}lr.hasGlobStar=phe;function SU(t){return t.endsWith("/"+BU)}lr.endsWithSlashGlobStar=SU;function dhe(t){let e=the.basename(t);return SU(t)||QU(e)}lr.isAffectDepthOfReadingPattern=dhe;function Che(t){return t.reduce((e,r)=>e.concat(DU(r)),[])}lr.expandPatternsWithBraceExpansion=Che;function DU(t){return yU.braces(t,{expand:!0,nodupes:!0})}lr.expandBraceExpansion=DU;function mhe(t,e){let r=ihe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}lr.getPatternParts=mhe;function xU(t,e){return yU.makeRe(t,e)}lr.makeRe=xU;function Ihe(t,e){return t.map(r=>xU(r,e))}lr.convertPatternsToRe=Ihe;function Ehe(t,e){return e.some(r=>r.test(t))}lr.matchAny=Ehe});var vU=C(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});var yhe=zQ();function Bhe(t){let e=yhe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>kU(t)),e.once("end",()=>kU(t)),e}_Q.merge=Bhe;function kU(t){t.forEach(e=>e.emit("close"))}});var FU=C(am=>{"use strict";Object.defineProperty(am,"__esModule",{value:!0});function whe(t){return typeof t=="string"}am.isString=whe;function Qhe(t){return t===""}am.isEmpty=Qhe});var Us=C(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var bhe=cU();Ts.array=bhe;var She=uU();Ts.errno=She;var Dhe=hU();Ts.fs=Dhe;var xhe=fU();Ts.path=xhe;var Phe=PU();Ts.pattern=Phe;var khe=vU();Ts.stream=khe;var vhe=FU();Ts.string=vhe});var OU=C(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var uA=Us();function Fhe(t,e){let r=RU(t),i=LU(t,e.ignore),n=r.filter(l=>uA.pattern.isStaticPattern(l,e)),s=r.filter(l=>uA.pattern.isDynamicPattern(l,e)),o=$Q(n,i,!1),a=$Q(s,i,!0);return o.concat(a)}Hs.generate=Fhe;function $Q(t,e,r){let i=NU(t);return"."in i?[e0(".",t,e,r)]:MU(i,e,r)}Hs.convertPatternsToTasks=$Q;function RU(t){return uA.pattern.getPositivePatterns(t)}Hs.getPositivePatterns=RU;function LU(t,e){return uA.pattern.getNegativePatterns(t).concat(e).map(uA.pattern.convertToPositivePattern)}Hs.getNegativePatternsAsPositive=LU;function NU(t){let e={};return t.reduce((r,i)=>{let n=uA.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}Hs.groupPatternsByBaseDirectory=NU;function MU(t,e,r){return Object.keys(t).map(i=>e0(i,t[i],e,r))}Hs.convertPatternGroupsToTasks=MU;function e0(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(uA.pattern.convertToNegativePattern))}}Hs.convertPatternGroupToTask=e0});var TU=C(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.read=void 0;function Rhe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){KU(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){t0(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){KU(r,s);return}t0(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),t0(r,o)})})}Am.read=Rhe;function KU(t,e){t(e)}function t0(t,e){t(null,e)}});var UU=C(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.read=void 0;function Lhe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}lm.read=Lhe});var HU=C(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.createFileSystemAdapter=Ko.FILE_SYSTEM_ADAPTER=void 0;var cm=require("fs");Ko.FILE_SYSTEM_ADAPTER={lstat:cm.lstat,stat:cm.stat,lstatSync:cm.lstatSync,statSync:cm.statSync};function Nhe(t){return t===void 0?Ko.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Ko.FILE_SYSTEM_ADAPTER),t)}Ko.createFileSystemAdapter=Nhe});var qU=C(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});var Mhe=HU(),YU=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Mhe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};r0.default=YU});var gA=C(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.statSync=To.stat=To.Settings=void 0;var GU=TU(),Ohe=UU(),i0=qU();To.Settings=i0.default;function Khe(t,e,r){if(typeof e=="function"){GU.read(t,n0(),e);return}GU.read(t,n0(e),r)}To.stat=Khe;function The(t,e){let r=n0(e);return Ohe.read(t,r)}To.statSync=The;function n0(t={}){return t instanceof i0.default?t:new i0.default(t)}});var JU=C((i6e,jU)=>{jU.exports=Uhe;function Uhe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var s0=C(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var gm=process.versions.node.split(".");if(gm[0]===void 0||gm[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var WU=Number.parseInt(gm[0],10),Hhe=Number.parseInt(gm[1],10),zU=10,Yhe=10,qhe=WU>zU,Ghe=WU===zU&&Hhe>=Yhe;um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=qhe||Ghe});var XU=C(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.createDirentFromStats=void 0;var VU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function jhe(t,e){return new VU(t,e)}hm.createDirentFromStats=jhe});var o0=C(fm=>{"use strict";Object.defineProperty(fm,"__esModule",{value:!0});fm.fs=void 0;var Jhe=XU();fm.fs=Jhe});var a0=C(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});pm.joinPathSegments=void 0;function Whe(t,e,r){return t.endsWith(r)?t+e:t+r+e}pm.joinPathSegments=Whe});var r1=C(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.readdir=Uo.readdirWithFileTypes=Uo.read=void 0;var zhe=gA(),ZU=JU(),Vhe=s0(),_U=o0(),$U=a0();function Xhe(t,e,r){if(!e.stats&&Vhe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){e1(t,e,r);return}t1(t,e,r)}Uo.read=Xhe;function e1(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:$U.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){A0(r,s);return}let o=s.map(a=>Zhe(a,e));ZU(o,(a,l)=>{if(a!==null){dm(r,a);return}A0(r,l)})})}Uo.readdirWithFileTypes=e1;function Zhe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=_U.fs.createDirentFromStats(t.name,n),r(null,t)})}}function t1(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(o=>{let a=$U.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{zhe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:_U.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});ZU(s,(o,a)=>{if(o!==null){dm(r,o);return}A0(r,a)})})}Uo.readdir=t1;function dm(t,e){t(e)}function A0(t,e){t(null,e)}});var a1=C(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.readdir=Ho.readdirWithFileTypes=Ho.read=void 0;var _he=gA(),$he=s0(),i1=o0(),n1=a0();function efe(t,e){return!e.stats&&$he.IS_SUPPORT_READDIR_WITH_FILE_TYPES?s1(t,e):o1(t,e)}Ho.read=efe;function s1(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:n1.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=i1.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}Ho.readdirWithFileTypes=s1;function o1(t,e){return e.fs.readdirSync(t).map(i=>{let n=n1.joinPathSegments(t,i,e.pathSegmentSeparator),s=_he.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:i1.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}Ho.readdir=o1});var A1=C(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.createFileSystemAdapter=Yo.FILE_SYSTEM_ADAPTER=void 0;var _l=require("fs");Yo.FILE_SYSTEM_ADAPTER={lstat:_l.lstat,stat:_l.stat,lstatSync:_l.lstatSync,statSync:_l.statSync,readdir:_l.readdir,readdirSync:_l.readdirSync};function tfe(t){return t===void 0?Yo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Yo.FILE_SYSTEM_ADAPTER),t)}Yo.createFileSystemAdapter=tfe});var c1=C(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});var rfe=require("path"),ife=gA(),nfe=A1(),l1=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=nfe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,rfe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new ife.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};l0.default=l1});var Cm=C(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.Settings=qo.scandirSync=qo.scandir=void 0;var u1=r1(),sfe=a1(),c0=c1();qo.Settings=c0.default;function ofe(t,e,r){if(typeof e=="function"){u1.read(t,u0(),e);return}u1.read(t,u0(e),r)}qo.scandir=ofe;function afe(t,e){let r=u0(e);return sfe.read(t,r)}qo.scandirSync=afe;function u0(t={}){return t instanceof c0.default?t:new c0.default(t)}});var h1=C((h6e,g1)=>{"use strict";function Afe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}g1.exports=Afe});var p1=C((f6e,g0)=>{"use strict";var lfe=h1();function f1(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=lfe(cfe),n=null,s=null,o=0,a=null,l={push:m,drain:ts,saturated:ts,pause:u,paused:!1,concurrency:r,running:c,resume:f,idle:p,length:g,getQueue:h,unshift:I,empty:ts,kill:b,killAndDrain:x,error:F};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var N=n,U=0;N;)N=N.next,U++;return U}function h(){for(var N=n,U=[];N;)U.push(N.value),N=N.next;return U}function f(){if(!!l.paused){l.paused=!1;for(var N=0;N{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.joinPathSegments=rs.replacePathSegmentSeparator=rs.isAppliedFilter=rs.isFatalError=void 0;function gfe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}rs.isFatalError=gfe;function hfe(t,e){return t===null||t(e)}rs.isAppliedFilter=hfe;function ffe(t,e){return t.split(/[/\\]/).join(e)}rs.replacePathSegmentSeparator=ffe;function pfe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}rs.joinPathSegments=pfe});var f0=C(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});var dfe=mm(),d1=class{constructor(e,r){this._root=e,this._settings=r,this._root=dfe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};h0.default=d1});var d0=C(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});var Cfe=require("events"),mfe=Cm(),Ife=p1(),Im=mm(),Efe=f0(),C1=class extends Efe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=mfe.scandir,this._emitter=new Cfe.EventEmitter,this._queue=Ife(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Im.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Im.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Im.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Im.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};p0.default=C1});var I1=C(C0=>{"use strict";Object.defineProperty(C0,"__esModule",{value:!0});var yfe=d0(),m1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new yfe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Bfe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{wfe(e,[...this._storage])}),this._reader.read()}};C0.default=m1;function Bfe(t,e){t(e)}function wfe(t,e){t(null,e)}});var y1=C(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var Qfe=require("stream"),bfe=d0(),E1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new bfe.default(this._root,this._settings),this._stream=new Qfe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};m0.default=E1});var w1=C(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});var Sfe=Cm(),Em=mm(),Dfe=f0(),B1=class extends Dfe.default{constructor(){super(...arguments);this._scandir=Sfe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Em.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Em.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Em.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Em.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};I0.default=B1});var b1=C(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var xfe=w1(),Q1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new xfe.default(this._root,this._settings)}read(){return this._reader.read()}};E0.default=Q1});var D1=C(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var Pfe=require("path"),kfe=Cm(),S1=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Pfe.sep),this.fsScandirSettings=new kfe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};y0.default=S1});var w0=C(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.Settings=is.walkStream=is.walkSync=is.walk=void 0;var x1=I1(),vfe=y1(),Ffe=b1(),B0=D1();is.Settings=B0.default;function Rfe(t,e,r){if(typeof e=="function"){new x1.default(t,ym()).read(e);return}new x1.default(t,ym(e)).read(r)}is.walk=Rfe;function Lfe(t,e){let r=ym(e);return new Ffe.default(t,r).read()}is.walkSync=Lfe;function Nfe(t,e){let r=ym(e);return new vfe.default(t,r).read()}is.walkStream=Nfe;function ym(t={}){return t instanceof B0.default?t:new B0.default(t)}});var b0=C(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});var Mfe=require("path"),Ofe=gA(),P1=Us(),k1=class{constructor(e){this._settings=e,this._fsStatSettings=new Ofe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Mfe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:P1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!P1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Q0.default=k1});var D0=C(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});var Kfe=require("stream"),Tfe=gA(),Ufe=w0(),Hfe=b0(),v1=class extends Hfe.default{constructor(){super(...arguments);this._walkStream=Ufe.walkStream,this._stat=Tfe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Kfe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};S0.default=v1});var R1=C(x0=>{"use strict";Object.defineProperty(x0,"__esModule",{value:!0});var $l=Us(),F1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=$l.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return $l.pattern.getPatternParts(e,this._micromatchOptions).map(i=>$l.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:$l.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return $l.array.splitWhen(e,r=>r.dynamic&&$l.pattern.hasGlobStar(r.pattern))}};x0.default=F1});var N1=C(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var Yfe=R1(),L1=class extends Yfe.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};P0.default=L1});var O1=C(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});var Bm=Us(),qfe=N1(),M1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new qfe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(Bm.pattern.isAffectDepthOfReadingPattern);return Bm.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=Bm.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!Bm.pattern.matchAny(e,r)}};k0.default=M1});var T1=C(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var Ah=Us(),K1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=Ah.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Ah.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=Ah.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=Ah.path.removeLeadingDotSegment(e);return Ah.pattern.matchAny(i,r)}};v0.default=K1});var H1=C(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});var Gfe=Us(),U1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return Gfe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};F0.default=U1});var G1=C(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var Y1=Us(),q1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Y1.path.makeAbsolute(this._settings.cwd,r),r=Y1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};R0.default=q1});var wm=C(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});var jfe=require("path"),Jfe=O1(),Wfe=T1(),zfe=H1(),Vfe=G1(),j1=class{constructor(e){this._settings=e,this.errorFilter=new zfe.default(this._settings),this.entryFilter=new Wfe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Jfe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Vfe.default(this._settings)}_getRootDirectory(e){return jfe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};L0.default=j1});var W1=C(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var Xfe=D0(),Zfe=wm(),J1=class extends Zfe.default{constructor(){super(...arguments);this._reader=new Xfe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};N0.default=J1});var V1=C(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var _fe=require("stream"),$fe=D0(),epe=wm(),z1=class extends epe.default{constructor(){super(...arguments);this._reader=new $fe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new _fe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};M0.default=z1});var Z1=C(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});var tpe=gA(),rpe=w0(),ipe=b0(),X1=class extends ipe.default{constructor(){super(...arguments);this._walkSync=rpe.walkSync,this._statSync=tpe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};O0.default=X1});var $1=C(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var npe=Z1(),spe=wm(),_1=class extends spe.default{constructor(){super(...arguments);this._reader=new npe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};K0.default=_1});var t2=C(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});var ec=require("fs"),ope=require("os"),ape=ope.cpus().length;lh.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:ec.lstat,lstatSync:ec.lstatSync,stat:ec.stat,statSync:ec.statSync,readdir:ec.readdir,readdirSync:ec.readdirSync};var e2=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,ape),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},lh.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};lh.default=e2});var Qm=C((K6e,r2)=>{"use strict";var i2=OU(),Ape=W1(),lpe=V1(),cpe=$1(),T0=t2(),hA=Us();async function H0(t,e){tc(t);let r=U0(t,Ape.default,e),i=await Promise.all(r);return hA.array.flatten(i)}(function(t){function e(o,a){tc(o);let l=U0(o,cpe.default,a);return hA.array.flatten(l)}t.sync=e;function r(o,a){tc(o);let l=U0(o,lpe.default,a);return hA.stream.merge(l)}t.stream=r;function i(o,a){tc(o);let l=[].concat(o),c=new T0.default(a);return i2.generate(l,c)}t.generateTasks=i;function n(o,a){tc(o);let l=new T0.default(a);return hA.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return tc(o),hA.path.escape(o)}t.escapePath=s})(H0||(H0={}));function U0(t,e,r){let i=[].concat(t),n=new T0.default(r),s=i2.generate(i,n),o=new e(n);return s.map(o.read,o)}function tc(t){if(![].concat(t).every(i=>hA.string.isString(i)&&!hA.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}r2.exports=H0});var s2=C(fA=>{"use strict";var{promisify:upe}=require("util"),n2=require("fs");async function Y0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await upe(n2[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function q0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return n2[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}fA.isFile=Y0.bind(null,"stat","isFile");fA.isDirectory=Y0.bind(null,"stat","isDirectory");fA.isSymlink=Y0.bind(null,"lstat","isSymbolicLink");fA.isFileSync=q0.bind(null,"statSync","isFile");fA.isDirectorySync=q0.bind(null,"statSync","isDirectory");fA.isSymlinkSync=q0.bind(null,"lstatSync","isSymbolicLink")});var c2=C((U6e,G0)=>{"use strict";var pA=require("path"),o2=s2(),a2=t=>t.length>1?`{${t.join(",")}}`:t[0],A2=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return pA.isAbsolute(r)?r:pA.join(e,r)},gpe=(t,e)=>pA.extname(t)?`**/${t}`:`**/${t}.${a2(e)}`,l2=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>pA.posix.join(t,gpe(r,e.extensions))):e.files?e.files.map(r=>pA.posix.join(t,`**/${r}`)):e.extensions?[pA.posix.join(t,`**/*.${a2(e.extensions)}`)]:[pA.posix.join(t,"**")]};G0.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await o2.isDirectory(A2(i,e.cwd))?l2(i,e):i));return[].concat.apply([],r)};G0.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>o2.isDirectorySync(A2(i,e.cwd))?l2(i,e):i);return[].concat.apply([],r)}});var m2=C((H6e,u2)=>{function g2(t){return Array.isArray(t)?t:[t]}var hpe=/^\s+$/,fpe=/^\\!/,ppe=/^\\#/,dpe=/\r?\n/g,Cpe=/^\.*\/|^\.+$/,j0="/",h2=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",mpe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Ipe=/([0-z])-([0-z])/g,Epe=t=>t.replace(Ipe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),ype=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${Epe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],f2=Object.create(null),Bpe=(t,e,r)=>{let i=f2[t];if(i)return i;let n=ype.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return f2[t]=r?new RegExp(n,"i"):new RegExp(n)},J0=t=>typeof t=="string",wpe=t=>t&&J0(t)&&!hpe.test(t)&&t.indexOf("#")!==0,Qpe=t=>t.split(dpe),p2=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},bpe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fpe,"!").replace(ppe,"#");let n=Bpe(t,i,e);return new p2(r,t,i,n)},Spe=(t,e)=>{throw new e(t)},Ys=(t,e,r)=>J0(t)?t?Ys.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),d2=t=>Cpe.test(t);Ys.isNotRelative=d2;Ys.convert=t=>t;var C2=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,mpe(this,h2,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[h2]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wpe(e)){let r=bpe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,g2(J0(e)?Qpe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Ys.convert(e);return Ys(s,e,Spe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(j0)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(j0)+j0,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return g2(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},bm=t=>new C2(t),Dpe=()=>!1,xpe=t=>Ys(t&&Ys.convert(t),t,Dpe);bm.isPathValid=xpe;bm.default=bm;u2.exports=bm;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Ys.convert=t;let e=/^[a-z]:\//i;Ys.isNotRelative=r=>e.test(r)||d2(r)}});var E2=C((Y6e,I2)=>{"use strict";I2.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var D2=C((q6e,W0)=>{"use strict";var{promisify:Ppe}=require("util"),y2=require("fs"),qs=require("path"),B2=Qm(),kpe=m2(),ch=E2(),w2=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],vpe=Ppe(y2.readFile),Fpe=t=>e=>e.startsWith("!")?"!"+qs.posix.join(t,e.slice(1)):qs.posix.join(t,e),Rpe=(t,e)=>{let r=ch(qs.relative(e.cwd,qs.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(Fpe(r))},Q2=t=>{let e=kpe();for(let r of t)e.add(Rpe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Lpe=(t,e)=>{if(t=ch(t),qs.isAbsolute(e)){if(ch(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return qs.join(t,e)},b2=(t,e)=>r=>t.ignores(ch(qs.relative(e,Lpe(e,r.path||r)))),Npe=async(t,e)=>{let r=qs.join(e,t),i=await vpe(r,"utf8");return{cwd:e,filePath:r,content:i}},Mpe=(t,e)=>{let r=qs.join(e,t),i=y2.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},S2=({ignore:t=[],cwd:e=ch(process.cwd())}={})=>({ignore:t,cwd:e});W0.exports=async t=>{t=S2(t);let e=await B2("**/.gitignore",{ignore:w2.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Npe(n,t.cwd))),i=Q2(r);return b2(i,t.cwd)};W0.exports.sync=t=>{t=S2(t);let r=B2.sync("**/.gitignore",{ignore:w2.concat(t.ignore),cwd:t.cwd}).map(n=>Mpe(n,t.cwd)),i=Q2(r);return b2(i,t.cwd)}});var v2=C((G6e,x2)=>{"use strict";var{Transform:Ope}=require("stream"),z0=class extends Ope{constructor(){super({objectMode:!0})}},P2=class extends z0{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},k2=class extends z0{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};x2.exports={FilterStream:P2,UniqueStream:k2}});var _0=C((j6e,dA)=>{"use strict";var F2=require("fs"),Sm=oU(),Kpe=zQ(),Dm=Qm(),xm=c2(),V0=D2(),{FilterStream:Tpe,UniqueStream:Upe}=v2(),R2=()=>!1,L2=t=>t[0]==="!",Hpe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Ype=(t={})=>{if(!t.cwd)return;let e;try{e=F2.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},qpe=t=>t.stats instanceof F2.Stats?t.path:t,Pm=(t,e)=>{t=Sm([].concat(t)),Hpe(t),Ype(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(L2(n))continue;let s=t.slice(i).filter(a=>L2(a)).map(a=>a.slice(1)),o=V(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},Gpe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=V(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},X0=(t,e)=>t.options.expandDirectories?Gpe(t,e):[t.pattern],N2=t=>t&&t.gitignore?V0.sync({cwd:t.cwd,ignore:t.ignore}):R2,Z0=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=xm.sync(r.ignore)),{pattern:e,options:r}};dA.exports=async(t,e)=>{let r=Pm(t,e),i=async()=>e&&e.gitignore?V0({cwd:e.cwd,ignore:e.ignore}):R2,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await X0(c,xm);return Promise.all(u.map(Z0(c)))}));return Sm(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Dm(l.pattern,l.options)));return Sm(...a).filter(l=>!s(qpe(l)))};dA.exports.sync=(t,e)=>{let r=Pm(t,e),i=[];for(let o of r){let a=X0(o,xm.sync).map(Z0(o));i.push(...a)}let n=N2(e),s=[];for(let o of i)s=Sm(s,Dm.sync(o.pattern,o.options));return s.filter(o=>!n(o))};dA.exports.stream=(t,e)=>{let r=Pm(t,e),i=[];for(let a of r){let l=X0(a,xm.sync).map(Z0(a));i.push(...l)}let n=N2(e),s=new Tpe(a=>!n(a)),o=new Upe;return Kpe(i.map(a=>Dm.stream(a.pattern,a.options))).pipe(s).pipe(o)};dA.exports.generateGlobTasks=Pm;dA.exports.hasMagic=(t,e)=>[].concat(t).some(r=>Dm.isDynamicPattern(r,e));dA.exports.gitignore=V0});var js=C((Gs,Ym)=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var q2=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ide(t){return q2.includes(t)}var nde=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...q2];function sde(t){return nde.includes(t)}var ode=["null","undefined","string","number","bigint","boolean","symbol"];function ade(t){return ode.includes(t)}function Ac(t){return e=>typeof e===t}var{toString:G2}=Object.prototype,yh=t=>{let e=G2.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&G.domElement(t))return"HTMLElement";if(sde(e))return e},zt=t=>e=>yh(e)===t;function G(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(G.observable(t))return"Observable";if(G.array(t))return"Array";if(G.buffer(t))return"Buffer";let e=yh(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}G.undefined=Ac("undefined");G.string=Ac("string");var Ade=Ac("number");G.number=t=>Ade(t)&&!G.nan(t);G.bigint=Ac("bigint");G.function_=Ac("function");G.null_=t=>t===null;G.class_=t=>G.function_(t)&&t.toString().startsWith("class ");G.boolean=t=>t===!0||t===!1;G.symbol=Ac("symbol");G.numericString=t=>G.string(t)&&!G.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));G.array=(t,e)=>Array.isArray(t)?G.function_(e)?t.every(e):!0:!1;G.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};G.nullOrUndefined=t=>G.null_(t)||G.undefined(t);G.object=t=>!G.null_(t)&&(typeof t=="object"||G.function_(t));G.iterable=t=>{var e;return G.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};G.asyncIterable=t=>{var e;return G.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};G.generator=t=>G.iterable(t)&&G.function_(t.next)&&G.function_(t.throw);G.asyncGenerator=t=>G.asyncIterable(t)&&G.function_(t.next)&&G.function_(t.throw);G.nativePromise=t=>zt("Promise")(t);var lde=t=>{var e,r;return G.function_((e=t)===null||e===void 0?void 0:e.then)&&G.function_((r=t)===null||r===void 0?void 0:r.catch)};G.promise=t=>G.nativePromise(t)||lde(t);G.generatorFunction=zt("GeneratorFunction");G.asyncGeneratorFunction=t=>yh(t)==="AsyncGeneratorFunction";G.asyncFunction=t=>yh(t)==="AsyncFunction";G.boundFunction=t=>G.function_(t)&&!t.hasOwnProperty("prototype");G.regExp=zt("RegExp");G.date=zt("Date");G.error=zt("Error");G.map=t=>zt("Map")(t);G.set=t=>zt("Set")(t);G.weakMap=t=>zt("WeakMap")(t);G.weakSet=t=>zt("WeakSet")(t);G.int8Array=zt("Int8Array");G.uint8Array=zt("Uint8Array");G.uint8ClampedArray=zt("Uint8ClampedArray");G.int16Array=zt("Int16Array");G.uint16Array=zt("Uint16Array");G.int32Array=zt("Int32Array");G.uint32Array=zt("Uint32Array");G.float32Array=zt("Float32Array");G.float64Array=zt("Float64Array");G.bigInt64Array=zt("BigInt64Array");G.bigUint64Array=zt("BigUint64Array");G.arrayBuffer=zt("ArrayBuffer");G.sharedArrayBuffer=zt("SharedArrayBuffer");G.dataView=zt("DataView");G.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;G.urlInstance=t=>zt("URL")(t);G.urlString=t=>{if(!G.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};G.truthy=t=>Boolean(t);G.falsy=t=>!t;G.nan=t=>Number.isNaN(t);G.primitive=t=>G.null_(t)||ade(typeof t);G.integer=t=>Number.isInteger(t);G.safeInteger=t=>Number.isSafeInteger(t);G.plainObject=t=>{if(G2.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};G.typedArray=t=>ide(yh(t));var cde=t=>G.safeInteger(t)&&t>=0;G.arrayLike=t=>!G.nullOrUndefined(t)&&!G.function_(t)&&cde(t.length);G.inRange=(t,e)=>{if(G.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(G.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ude=1,gde=["innerHTML","ownerDocument","style","attributes","nodeValue"];G.domElement=t=>G.object(t)&&t.nodeType===ude&&G.string(t.nodeName)&&!G.plainObject(t)&&gde.every(e=>e in t);G.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};G.nodeStream=t=>G.object(t)&&G.function_(t.pipe)&&!G.observable(t);G.infinite=t=>t===Infinity||t===-Infinity;var j2=t=>e=>G.integer(e)&&Math.abs(e%2)===t;G.evenInteger=j2(0);G.oddInteger=j2(1);G.emptyArray=t=>G.array(t)&&t.length===0;G.nonEmptyArray=t=>G.array(t)&&t.length>0;G.emptyString=t=>G.string(t)&&t.length===0;G.nonEmptyString=t=>G.string(t)&&t.length>0;var hde=t=>G.string(t)&&!/\S/.test(t);G.emptyStringOrWhitespace=t=>G.emptyString(t)||hde(t);G.emptyObject=t=>G.object(t)&&!G.map(t)&&!G.set(t)&&Object.keys(t).length===0;G.nonEmptyObject=t=>G.object(t)&&!G.map(t)&&!G.set(t)&&Object.keys(t).length>0;G.emptySet=t=>G.set(t)&&t.size===0;G.nonEmptySet=t=>G.set(t)&&t.size>0;G.emptyMap=t=>G.map(t)&&t.size===0;G.nonEmptyMap=t=>G.map(t)&&t.size>0;var J2=(t,e,r)=>{if(!G.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};G.any=(t,...e)=>(G.array(t)?t:[t]).some(i=>J2(Array.prototype.some,i,e));G.all=(t,...e)=>J2(Array.prototype.every,t,e);var Re=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${G(r)}\`.`)};Gs.assert={undefined:t=>Re(G.undefined(t),"undefined",t),string:t=>Re(G.string(t),"string",t),number:t=>Re(G.number(t),"number",t),bigint:t=>Re(G.bigint(t),"bigint",t),function_:t=>Re(G.function_(t),"Function",t),null_:t=>Re(G.null_(t),"null",t),class_:t=>Re(G.class_(t),"Class",t),boolean:t=>Re(G.boolean(t),"boolean",t),symbol:t=>Re(G.symbol(t),"symbol",t),numericString:t=>Re(G.numericString(t),"string with a number",t),array:(t,e)=>{Re(G.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Re(G.buffer(t),"Buffer",t),nullOrUndefined:t=>Re(G.nullOrUndefined(t),"null or undefined",t),object:t=>Re(G.object(t),"Object",t),iterable:t=>Re(G.iterable(t),"Iterable",t),asyncIterable:t=>Re(G.asyncIterable(t),"AsyncIterable",t),generator:t=>Re(G.generator(t),"Generator",t),asyncGenerator:t=>Re(G.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Re(G.nativePromise(t),"native Promise",t),promise:t=>Re(G.promise(t),"Promise",t),generatorFunction:t=>Re(G.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Re(G.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Re(G.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Re(G.boundFunction(t),"Function",t),regExp:t=>Re(G.regExp(t),"RegExp",t),date:t=>Re(G.date(t),"Date",t),error:t=>Re(G.error(t),"Error",t),map:t=>Re(G.map(t),"Map",t),set:t=>Re(G.set(t),"Set",t),weakMap:t=>Re(G.weakMap(t),"WeakMap",t),weakSet:t=>Re(G.weakSet(t),"WeakSet",t),int8Array:t=>Re(G.int8Array(t),"Int8Array",t),uint8Array:t=>Re(G.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Re(G.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Re(G.int16Array(t),"Int16Array",t),uint16Array:t=>Re(G.uint16Array(t),"Uint16Array",t),int32Array:t=>Re(G.int32Array(t),"Int32Array",t),uint32Array:t=>Re(G.uint32Array(t),"Uint32Array",t),float32Array:t=>Re(G.float32Array(t),"Float32Array",t),float64Array:t=>Re(G.float64Array(t),"Float64Array",t),bigInt64Array:t=>Re(G.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Re(G.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Re(G.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Re(G.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Re(G.dataView(t),"DataView",t),urlInstance:t=>Re(G.urlInstance(t),"URL",t),urlString:t=>Re(G.urlString(t),"string with a URL",t),truthy:t=>Re(G.truthy(t),"truthy",t),falsy:t=>Re(G.falsy(t),"falsy",t),nan:t=>Re(G.nan(t),"NaN",t),primitive:t=>Re(G.primitive(t),"primitive",t),integer:t=>Re(G.integer(t),"integer",t),safeInteger:t=>Re(G.safeInteger(t),"integer",t),plainObject:t=>Re(G.plainObject(t),"plain object",t),typedArray:t=>Re(G.typedArray(t),"TypedArray",t),arrayLike:t=>Re(G.arrayLike(t),"array-like",t),domElement:t=>Re(G.domElement(t),"HTMLElement",t),observable:t=>Re(G.observable(t),"Observable",t),nodeStream:t=>Re(G.nodeStream(t),"Node.js Stream",t),infinite:t=>Re(G.infinite(t),"infinite number",t),emptyArray:t=>Re(G.emptyArray(t),"empty array",t),nonEmptyArray:t=>Re(G.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Re(G.emptyString(t),"empty string",t),nonEmptyString:t=>Re(G.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Re(G.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Re(G.emptyObject(t),"empty object",t),nonEmptyObject:t=>Re(G.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Re(G.emptySet(t),"empty set",t),nonEmptySet:t=>Re(G.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Re(G.emptyMap(t),"empty map",t),nonEmptyMap:t=>Re(G.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Re(G.evenInteger(t),"even integer",t),oddInteger:t=>Re(G.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Re(G.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Re(G.inRange(t,e),"in range",t),any:(t,...e)=>Re(G.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Re(G.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(G,{class:{value:G.class_},function:{value:G.function_},null:{value:G.null_}});Object.defineProperties(Gs.assert,{class:{value:Gs.assert.class_},function:{value:Gs.assert.function_},null:{value:Gs.assert.null_}});Gs.default=G;Ym.exports=G;Ym.exports.default=G;Ym.exports.assert=Gs.assert});var W2=C((g9e,gb)=>{"use strict";var hb=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Bh=class{static fn(e){return(...r)=>new Bh((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new hb(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Bh.prototype,Promise.prototype);gb.exports=Bh;gb.exports.CancelError=hb});var z2=C((fb,pb)=>{"use strict";Object.defineProperty(fb,"__esModule",{value:!0});var fde=require("tls"),db=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof fde.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};fb.default=db;pb.exports=db;pb.exports.default=db});var V2=C((Cb,mb)=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var pde=z2(),dde=Number(process.versions.node.split(".")[0]),Ib=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dde>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pde.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Cb.default=Ib;mb.exports=Ib;mb.exports.default=Ib});var rH=C((h9e,Eb)=>{"use strict";var{V4MAPPED:Cde,ADDRCONFIG:mde,ALL:X2,promises:{Resolver:Z2},lookup:Ide}=require("dns"),{promisify:yb}=require("util"),Ede=require("os"),lc=Symbol("cacheableLookupCreateConnection"),Bb=Symbol("cacheableLookupInstance"),_2=Symbol("expires"),yde=typeof X2=="number",$2=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Bde=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},eH=()=>{let t=!1,e=!1;for(let r of Object.values(Ede.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},wde=t=>Symbol.iterator in t,tH={ttl:!0},Qde={all:!0},wb=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new Z2,lookup:o=Ide}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=yb(o),this._resolver instanceof Z2?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=yb(this._resolver.resolve4.bind(this._resolver)),this._resolve6=yb(this._resolver.resolve6.bind(this._resolver))),this._iface=eH(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cde&&(yde&&r.hints&X2||n.length===0)?Bde(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mde){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,tH),this._resolve6(e,tH)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[_2]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}wde(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qde);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[_2];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[lc](r,i))}uninstall(e){if($2(e),e[lc]){if(e[Bb]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[lc],delete e[lc],delete e[Bb]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=eH(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Eb.exports=wb;Eb.exports.default=wb});var sH=C((f9e,Qb)=>{"use strict";var bde=typeof URL=="undefined"?require("url").URL:URL,Sde="text/plain",Dde="us-ascii",iH=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xde=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,h=""]=u.split("=").map(f=>f.trim());return g==="charset"&&(h=h.toLowerCase(),h===Dde)?"":`${g}${h?`=${h}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Sde)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},nH=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xde(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bde(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];iH(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])iH(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Qb.exports=nH;Qb.exports.default=nH});var AH=C((p9e,oH)=>{oH.exports=aH;function aH(t,e){if(t&&e)return aH(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var lH=AH();bb.exports=lH(qm);bb.exports.strict=lH(cH);qm.proto=qm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return qm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return cH(this)},configurable:!0})});function qm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function cH(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Db=C((C9e,uH)=>{var Pde=Sb(),kde=function(){},vde=function(t){return t.setHeader&&typeof t.abort=="function"},Fde=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},gH=function(t,e,r){if(typeof e=="function")return gH(t,null,e);e||(e={}),r=Pde(r||kde);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},h=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},f=function(){t.req.on("finish",l)};return vde(t)?(t.on("complete",l),t.on("abort",h),t.req?f():t.on("request",f)):o&&!i&&(t.on("end",a),t.on("close",a)),Fde(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",h),function(){t.removeListener("complete",l),t.removeListener("abort",h),t.removeListener("request",f),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",h)}};uH.exports=gH});var pH=C((m9e,hH)=>{var Rde=Sb(),Lde=Db(),xb=require("fs"),wh=function(){},Nde=/^v?\.0/.test(process.version),Gm=function(t){return typeof t=="function"},Mde=function(t){return!Nde||!xb?!1:(t instanceof(xb.ReadStream||wh)||t instanceof(xb.WriteStream||wh))&&Gm(t.close)},Ode=function(t){return t.setHeader&&Gm(t.abort)},Kde=function(t,e,r,i){i=Rde(i);var n=!1;t.on("close",function(){n=!0}),Lde(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Mde(t))return t.close(wh);if(Ode(t))return t.abort();if(Gm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},fH=function(t){t()},Tde=function(t,e){return t.pipe(e)},Ude=function(){var t=Array.prototype.slice.call(arguments),e=Gm(t[t.length-1]||wh)&&t.pop()||wh;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Kde(n,o,a,function(l){r||(r=l),l&&i.forEach(fH),!o&&(i.forEach(fH),e(r))})});return t.reduce(Tde)};hH.exports=Ude});var CH=C((I9e,dH)=>{"use strict";var{PassThrough:Hde}=require("stream");dH.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hde({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var mH=C((E9e,cc)=>{"use strict";var Yde=pH(),qde=CH(),Pb=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function jm(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Yde(t,qde(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Pb)})}),i.getBufferedValue()}cc.exports=jm;cc.exports.default=jm;cc.exports.buffer=(t,e)=>jm(t,V(P({},e),{encoding:"buffer"}));cc.exports.array=(t,e)=>jm(t,V(P({},e),{array:!0}));cc.exports.MaxBufferError=Pb});var EH=C((B9e,IH)=>{"use strict";var Gde=[200,203,204,206,300,301,404,405,410,414,501],jde=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jde={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wde={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function kb(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zde(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}IH.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=kb(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=kb(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zde(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&jde.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Gde.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=kb(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jde[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wde[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Jm=C((w9e,yH)=>{"use strict";yH.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var QH=C((Q9e,BH)=>{"use strict";var Vde=require("stream").Readable,Xde=Jm(),wH=class extends Vde{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=Xde(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};BH.exports=wH});var SH=C((b9e,bH)=>{"use strict";var Zde=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];bH.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Zde));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var xH=C((S9e,DH)=>{"use strict";var _de=require("stream").PassThrough,$de=SH(),eCe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new _de;return $de(t,e),t.pipe(e)};DH.exports=eCe});var PH=C(vb=>{vb.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};vb.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var RH=C((x9e,kH)=>{"use strict";var tCe=require("events"),vH=PH(),rCe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},FH=class extends tCe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:vH.stringify,deserialize:vH.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rCe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};kH.exports=FH});var MH=C((P9e,LH)=>{"use strict";var iCe=require("events"),Wm=require("url"),nCe=sH(),sCe=mH(),Fb=EH(),NH=QH(),oCe=Jm(),aCe=xH(),ACe=RH(),ss=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new ACe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=Rb(Wm.parse(r)),r={};else if(r instanceof Wm.URL)n=Rb(Wm.parse(r.toString())),r={};else{let[g,...h]=(r.path||"").split("?"),f=h.length>0?`?${h.join("?")}`:"";n=Rb(V(P({},r),{pathname:g,search:f}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lCe(n)),r.headers=oCe(r.headers);let s=new iCe,o=nCe(Wm.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let h=!1,f,p=new Promise(I=>{f=()=>{h||(h=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let b=Fb.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!b.modified){let x=b.policy.responseHeaders();I=new NH(l.statusCode,x,l.body,l.url),I.cachePolicy=b.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new Fb(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=aCe(I),(async()=>{try{let b=sCe.buffer(I);if(await Promise.race([p,new Promise(U=>I.once("end",U))]),h)return;let x=await b,F={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:x},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,F,N)}catch(b){s.emit("error",new ss.CacheError(b))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(b){s.emit("error",new ss.CacheError(b))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",f),I.once("abort",f),s.emit("request",I)}catch(I){s.emit("error",new ss.RequestError(I))}};return(async()=>{let g=async f=>{await Promise.resolve();let p=f.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(f);let m=Fb.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(f)&&!f.forceRefresh){let I=m.responseHeaders(),y=new NH(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,f.headers=m.revalidationHeaders(f),u(f)},h=f=>s.emit("error",new ss.CacheError(f));this.cache.once("error",h),s.on("response",()=>this.cache.removeListener("error",h));try{await g(r)}catch(f){r.automaticFailover&&!c&&u(r),s.emit("error",new ss.CacheError(f))}})(),s}}};function lCe(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function Rb(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ss.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ss.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};LH.exports=ss});var KH=C((k9e,OH)=>{"use strict";var cCe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];OH.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cCe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var UH=C((v9e,TH)=>{"use strict";var{Transform:uCe,PassThrough:gCe}=require("stream"),Lb=require("zlib"),hCe=KH();TH.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Lb.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uCe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gCe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Lb.createBrotliDecompress():Lb.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),hCe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var Nb=C((F9e,HH)=>{"use strict";var YH=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};HH.exports=YH});var Ob=C((R9e,qH)=>{"use strict";var fCe=require("events"),pCe=require("tls"),dCe=require("http2"),CCe=Nb(),oi=Symbol("currentStreamsCount"),GH=Symbol("request"),cn=Symbol("cachedOriginSet"),uc=Symbol("gracefullyClosing"),mCe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],ICe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},ECe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Mb=(t,e)=>{for(let r of t)r[cn].lengthe[cn].includes(i))&&r[oi]+e[oi]<=e.remoteSettings.maxConcurrentStreams&&jH(r)},yCe=(t,e)=>{for(let r of t)e[cn].lengthr[cn].includes(i))&&e[oi]+r[oi]<=r.remoteSettings.maxConcurrentStreams&&jH(e)},JH=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Js.kCurrentStreamsCount]{t[uc]=!0,t[oi]===0&&t.close()},Js=class extends fCe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new CCe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mCe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=Js.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,h=-1,f;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[uc]||p.destroyed)continue;f||(g=m),I>h&&(f=p,h=I)}}if(f){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(f);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let h=dCe.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));h[oi]=0,h[uc]=!1;let f=()=>h[oi]{this.tlsSessionCache.set(u,I)}),h.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),h.setTimeout(this.timeout,()=>{h.destroy()}),h.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(h),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!f())){for(let I of h[cn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&f();)y.shift().resolve(h);let b=this.queue[o];if(b[I].listeners.length===0&&(delete b[I],Object.keys(b).length===0)){delete this.queue[o];break}if(!f())break}}};h.on("origin",()=>{h[cn]=h.originSet,!!f()&&(m(),Mb(this.sessions[o],h))}),h.once("remoteSettings",()=>{if(h.ref(),h.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);h.destroy();return}h[cn]=h.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(ICe(y,h,ECe),0,h)}else I[o]=[h]}this._freeSessionsCount+=1,g=!0,this.emit("session",h),m(),l(),h[oi]===0&&this._freeSessionsCount>this.maxFreeSessions&&h.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),h.on("remoteSettings",()=>{m(),Mb(this.sessions[o],h)})}),h[GH]=h.request,h.request=(I,y)=>{if(h[uc])throw new Error("The session is gracefully closing. No new streams are allowed.");let b=h[GH](I,y);return h.ref(),++h[oi],h[oi]===h.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,b.once("close",()=>{if(p=f(),--h[oi],!h.destroyed&&!h.closed&&(yCe(this.sessions[o],h),f()&&!h.closed)){p||(this._freeSessionsCount++,p=!0);let x=h[oi]===0;x&&h.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||h[uc])?h.close():(Mb(this.sessions[o],h),m())}}),b}}catch(h){for(let f of i)f.reject(h);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Js.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[oi]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return JH({agent:this,isFree:!0})}get busySessions(){return JH({agent:this,isFree:!1})}};Js.kCurrentStreamsCount=oi;Js.kGracefullyClosing=uc;qH.exports={Agent:Js,globalAgent:new Js}});var Kb=C((L9e,WH)=>{"use strict";var{Readable:BCe}=require("stream"),zH=class extends BCe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};WH.exports=zH});var Tb=C((N9e,VH)=>{"use strict";VH.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var ZH=C((M9e,XH)=>{"use strict";XH.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var $H=C((O9e,_H)=>{"use strict";_H.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var tY=C((T9e,eY)=>{"use strict";var gc=(t,e,r)=>{eY.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};gc(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});gc(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);gc(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);gc(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);gc(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);gc(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var qb=C((U9e,rY)=>{"use strict";var wCe=require("http2"),{Writable:QCe}=require("stream"),{Agent:iY,globalAgent:bCe}=Ob(),SCe=Kb(),DCe=Tb(),xCe=ZH(),PCe=$H(),{ERR_INVALID_ARG_TYPE:Ub,ERR_INVALID_PROTOCOL:kCe,ERR_HTTP_HEADERS_SENT:nY,ERR_INVALID_HTTP_TOKEN:vCe,ERR_HTTP_INVALID_HEADER_VALUE:FCe,ERR_INVALID_CHAR:RCe}=tY(),{HTTP2_HEADER_STATUS:sY,HTTP2_HEADER_METHOD:oY,HTTP2_HEADER_PATH:aY,HTTP2_METHOD_CONNECT:LCe}=wCe.constants,qr=Symbol("headers"),Hb=Symbol("origin"),Yb=Symbol("session"),AY=Symbol("options"),zm=Symbol("flushedHeaders"),Qh=Symbol("jobs"),NCe=/^[\^`\-\w!#$%&*+.|~]+$/,MCe=/[^\t\u0020-\u007E\u0080-\u00FF]/,lY=class extends QCe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=DCe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[Yb]=r.h2session;else if(r.agent===!1)this.agent=new iY({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new iY({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bCe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new Ub("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new kCe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[qr]=Object.create(null),this[Qh]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[qr])&&(this[qr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[AY]=r,s===443?(this[Hb]=`https://${o}`,":authority"in this[qr]||(this[qr][":authority"]=o)):(this[Hb]=`https://${o}:${s}`,":authority"in this[qr]||(this[qr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[zm]=!1}get method(){return this[qr][oY]}set method(e){e&&(this[qr][oY]=e.toUpperCase())}get path(){return this[qr][aY]}set path(e){e&&(this[qr][aY]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Qh].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Qh].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[zm]||this.destroyed)return;this[zm]=!0;let e=this.method===LCe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xCe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new SCe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[sY],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[sY]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Qh])o();this.emit("socket",this.socket)};if(this[Yb])try{r(this[Yb].request(this[qr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[Hb],this[AY],this[qr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new Ub("name","string",e);return this[qr][e.toLowerCase()]}get headersSent(){return this[zm]}removeHeader(e){if(typeof e!="string")throw new Ub("name","string",e);if(this.headersSent)throw new nY("remove");delete this[qr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new nY("set");if(typeof e!="string"||!NCe.test(e)&&!PCe(e))throw new vCe("Header name",e);if(typeof r=="undefined")throw new FCe(r,e);if(MCe.test(r))throw new RCe("header content",e);this[qr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Qh].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};rY.exports=lY});var uY=C((H9e,cY)=>{"use strict";var OCe=require("tls");cY.exports=(t={})=>new Promise((e,r)=>{let i=OCe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var hY=C((Y9e,gY)=>{"use strict";var KCe=require("net");gY.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),KCe.isIP(e)?"":e}});var dY=C((q9e,Gb)=>{"use strict";var fY=require("http"),jb=require("https"),TCe=uY(),UCe=Nb(),HCe=qb(),YCe=hY(),qCe=Tb(),Vm=new UCe({maxSize:100}),bh=new Map,pY=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},GCe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Vm.has(e)){if(bh.has(e))return(await bh.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=TCe(t);bh.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Vm.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=jb,l=jb.Agent.prototype.createConnection;i?i.createConnection===l?pY(i,s,t):s.destroy():a.createConnection===l?pY(a,s,t):s.destroy()}return bh.delete(e),o}catch(s){throw bh.delete(e),s}}return Vm.get(e)};Gb.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=qCe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=V(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||YCe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?jb.globalAgent:fY.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await GCe(e)==="h2"?(n&&(e.agent=n.http2),new HCe(e,r)):fY.request(e,r)};Gb.exports.protocolCache=Vm});var mY=C((G9e,CY)=>{"use strict";var jCe=require("http2"),JCe=Ob(),Jb=qb(),WCe=Kb(),zCe=dY(),VCe=(t,e,r)=>new Jb(t,e,r),XCe=(t,e,r)=>{let i=new Jb(t,e,r);return i.end(),i};CY.exports=V(P(V(P({},jCe),{ClientRequest:Jb,IncomingMessage:WCe}),JCe),{request:VCe,get:XCe,auto:zCe})});var zb=C(Wb=>{"use strict";Object.defineProperty(Wb,"__esModule",{value:!0});var IY=js();Wb.default=t=>IY.default.nodeStream(t)&&IY.default.function_(t.getBoundary)});var wY=C(Vb=>{"use strict";Object.defineProperty(Vb,"__esModule",{value:!0});var EY=require("fs"),yY=require("util"),BY=js(),ZCe=zb(),_Ce=yY.promisify(EY.stat);Vb.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(BY.default.string(t))return Buffer.byteLength(t);if(BY.default.buffer(t))return t.length;if(ZCe.default(t))return yY.promisify(t.getLength.bind(t))();if(t instanceof EY.ReadStream){let{size:r}=await _Ce(t.path);return r}}});var Zb=C(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});function $Ce(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Xb.default=$Ce});var QY=C(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});_b.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var SY=C(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.TimeoutError=void 0;var eme=require("net"),tme=QY(),bY=Symbol("reentry"),rme=()=>{},$b=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Sh.TimeoutError=$b;Sh.default=(t,e,r)=>{if(bY in t)return rme;t[bY]=!0;let i=[],{once:n,unhandleAll:s}=tme.default(),o=(g,h,f)=>{var p;let m=setTimeout(h,g,g,f);(p=m.unref)===null||p===void 0||p.call(m);let I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,h)=>{t.destroy(new $b(g,h))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var h;let{socketPath:f}=t;if(g.connecting){let p=Boolean(f!=null?f:eme.isIP((h=l!=null?l:a)!==null&&h!==void 0?h:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",I=>{I===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var xY=C(eS=>{"use strict";Object.defineProperty(eS,"__esModule",{value:!0});var DY=js();eS.default=t=>{t=t;let e={protocol:t.protocol,hostname:DY.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return DY.default.string(t.port)&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var PY=C(tS=>{"use strict";Object.defineProperty(tS,"__esModule",{value:!0});var ime=require("url"),nme=["protocol","host","hostname","port","pathname","search"];tS.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new ime.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nme)e[s]&&(n[s]=e[s].toString());return n}});var vY=C(rS=>{"use strict";Object.defineProperty(rS,"__esModule",{value:!0});var kY=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};rS.default=kY});var nS=C(iS=>{"use strict";Object.defineProperty(iS,"__esModule",{value:!0});var sme=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};iS.default=sme});var RY=C(yA=>{"use strict";Object.defineProperty(yA,"__esModule",{value:!0});yA.dnsLookupIpVersionToFamily=yA.isDnsLookupIpVersion=void 0;var FY={auto:0,ipv4:4,ipv6:6};yA.isDnsLookupIpVersion=t=>t in FY;yA.dnsLookupIpVersionToFamily=t=>{if(yA.isDnsLookupIpVersion(t))return FY[t];throw new Error("Invalid DNS lookup IP version")}});var sS=C(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});Xm.isResponseOk=void 0;Xm.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var NY=C(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0});var LY=new Set;oS.default=t=>{LY.has(t)||(LY.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var MY=C(aS=>{"use strict";Object.defineProperty(aS,"__esModule",{value:!0});var Tt=js(),ome=(t,e)=>{if(Tt.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Tt.assert.any([Tt.default.string,Tt.default.undefined],t.encoding),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.resolveBodyOnly),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.methodRewriting),Tt.assert.any([Tt.default.boolean,Tt.default.undefined],t.isStream),Tt.assert.any([Tt.default.string,Tt.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Tt.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Tt.default.number(r)&&(t.retry.limit=r),Tt.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Tt.default.number))),Tt.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!Tt.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Tt.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Tt.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Tt.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};aS.default=ome});var OY=C(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.retryAfterStatusCodes=void 0;Dh.retryAfterStatusCodes=new Set([413,429,503]);var ame=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Dh.default=ame});var Ph=C(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.UnsupportedProtocolError=Et.ReadError=Et.TimeoutError=Et.UploadError=Et.CacheError=Et.HTTPError=Et.MaxRedirectsError=Et.RequestError=Et.setNonEnumerableProperties=Et.knownHookEvents=Et.withoutBody=Et.kIsNormalizedAlready=void 0;var KY=require("util"),TY=require("stream"),Ame=require("fs"),Wo=require("url"),UY=require("http"),AS=require("http"),lme=require("https"),cme=V2(),ume=rH(),HY=MH(),gme=UH(),hme=mY(),fme=Jm(),se=js(),pme=wY(),YY=zb(),dme=Zb(),qY=SY(),Cme=xY(),GY=PY(),mme=vY(),Ime=nS(),jY=RY(),Eme=sS(),zo=NY(),yme=MY(),Bme=OY(),wme=new ume.default,Dr=Symbol("request"),Zm=Symbol("response"),hc=Symbol("responseSize"),fc=Symbol("downloadedSize"),pc=Symbol("bodySize"),dc=Symbol("uploadedSize"),_m=Symbol("serverResponsesPiped"),JY=Symbol("unproxyEvents"),WY=Symbol("isFromCache"),lS=Symbol("cancelTimeouts"),zY=Symbol("startedReading"),Cc=Symbol("stopReading"),$m=Symbol("triggerRead"),Vo=Symbol("body"),xh=Symbol("jobs"),VY=Symbol("originalResponse"),XY=Symbol("retryTimeout");Et.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Qme=se.default.string(process.versions.brotli);Et.withoutBody=new Set(["GET","HEAD"]);Et.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function bme(t){for(let e in t){let r=t[e];if(!se.default.string(r)&&!se.default.number(r)&&!se.default.boolean(r)&&!se.default.null_(r)&&!se.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Sme(t){return se.default.object(t)&&!("statusCode"in t)}var cS=new mme.default,Dme=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),xme=new Set([300,301,302,303,304,307,308]),Pme=["context","body","json","form"];Et.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Pme)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var Ir=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof uS?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Zm]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,!se.default.undefined(r.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`,n)}while(i!==-1);return s+=t.substr(n),s};oM.exports={stringReplaceAll:rAe,stringEncaseCRLFWithFirstIndex:iAe}});var gM=C((F4e,AM)=>{"use strict";var nAe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,lM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,sAe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,oAe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,aAe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function cM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):aAe.get(t)||t}function AAe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(sAe))r.push(n[2].replace(oAe,(a,l,c)=>l?cM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function lAe(t){lM.lastIndex=0;let e=[],r;for(;(r=lM.exec(t))!==null;){let i=r[1];if(r[2]){let n=AAe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function uM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}AM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(nAe,(s,o,a,l,c,u)=>{if(o)n.push(cM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:uM(t,r)(g)),r.push({inverse:a,styles:lAe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(uM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var rQ=C((R4e,hM)=>{"use strict";var Og=eM(),{stdout:_w,stderr:$w}=sM(),{stringReplaceAll:cAe,stringEncaseCRLFWithFirstIndex:uAe}=aM(),fM=["ansi","ansi","ansi256","ansi16m"],Ol=Object.create(null),gAe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=_w?_w.level:0;t.level=e.level===void 0?r:e.level},pM=class{constructor(e){return dM(e)}},dM=t=>{let e={};return gAe(e,t),e.template=(...r)=>hAe(e.template,...r),Object.setPrototypeOf(e,vC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=pM,e.template};function vC(t){return dM(t)}for(let[t,e]of Object.entries(Og))Ol[t]={get(){let r=FC(this,eQ(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Ol.visible={get(){let t=FC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var CM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of CM)Ol[t]={get(){let{level:e}=this;return function(...r){let i=eQ(Og.color[fM[e]][t](...r),Og.color.close,this._styler);return FC(this,i,this._isEmpty)}}};for(let t of CM){let e="bg"+t[0].toUpperCase()+t.slice(1);Ol[e]={get(){let{level:r}=this;return function(...i){let n=eQ(Og.bgColor[fM[r]][t](...i),Og.bgColor.close,this._styler);return FC(this,n,this._isEmpty)}}}}var fAe=Object.defineProperties(()=>{},V(k({},Ol),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),eQ=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},FC=(t,e,r)=>{let i=(...n)=>pAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=fAe,i._generator=t,i._styler=e,i._isEmpty=r,i},pAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=cAe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=uAe(e,n,i,s)),i+e+n},tQ,hAe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{mM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var Tg=C(Ti=>{"use strict";var EM=IM(),_n=process.env;Object.defineProperty(Ti,"_vendors",{value:EM.map(function(t){return t.constant})});Ti.name=null;Ti.isPR=null;EM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return yM(i)});if(Ti[t.constant]=r,r)switch(Ti.name=t.name,typeof t.pr){case"string":Ti.isPR=!!_n[t.pr];break;case"object":"env"in t.pr?Ti.isPR=t.pr.env in _n&&_n[t.pr.env]!==t.pr.ne:"any"in t.pr?Ti.isPR=t.pr.any.some(function(i){return!!_n[i]}):Ti.isPR=yM(t.pr);break;default:Ti.isPR=null}});Ti.isCI=!!(_n.CI||_n.CONTINUOUS_INTEGRATION||_n.BUILD_NUMBER||_n.RUN_ID||Ti.name);function yM(t){return typeof t=="string"?!!_n[t]:Object.keys(t).every(function(e){return _n[e]===t[e]})}});var RC=C(an=>{"use strict";an.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;an.find=(t,e)=>t.nodes.find(r=>r.type===e);an.exceedsLimit=(t,e,r=1,i)=>i===!1||!an.isInteger(t)||!an.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;an.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};an.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;an.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;an.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;an.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);an.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var wM=RC();BM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&wM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&wM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var bM=C((K4e,QM)=>{"use strict";QM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var LM=C((T4e,DM)=>{"use strict";var SM=bM(),Za=(t,e,r)=>{if(SM(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(SM(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=k({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(Za.cache.hasOwnProperty(l))return Za.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=PM(t)||PM(e),h={min:t,max:e,a:c,b:u},f=[],p=[];if(g&&(h.isPadded=g,h.maxLen=String(h.max).length),c<0){let m=u<0?Math.abs(u):1;p=xM(m,Math.abs(c),h,i),c=h.a=0}return u>=0&&(f=xM(c,u,h,i)),h.negatives=p,h.positives=f,h.result=dAe(p,f,i),i.capture===!0?h.result=`(${h.result})`:i.wrap!==!1&&f.length+p.length>1&&(h.result=`(?:${h.result})`),Za.cache[l]=h,h.result};function dAe(t,e,r){let i=iQ(t,e,"-",!1,r)||[],n=iQ(e,t,"",!1,r)||[],s=iQ(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function mAe(t,e){let r=1,i=1,n=kM(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=kM(t,r);for(n=vM(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+FM(a.count),o=c+1;continue}r.isPadded&&(g=BAe(c,r,i)),u.string=g+u.pattern+FM(u.count),s.push(u),o=c+1,a=u}return s}function iQ(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!RM(e,"string",a)&&s.push(r+a),i&&RM(e,"string",a)&&s.push(r+a)}return s}function IAe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function RM(t,e,r){return t.some(i=>i[e]===r)}function kM(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function vM(t,e){return t-t%Math.pow(10,e)}function FM(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function EAe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function PM(t){return/^-?(0+)\d/.test(t)}function BAe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Za.cache={};Za.clearCache=()=>Za.cache={};DM.exports=Za});var oQ=C((U4e,NM)=>{"use strict";var wAe=require("util"),MM=LM(),OM=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),QAe=t=>e=>t===!0?Number(e):String(e),nQ=t=>typeof t=="number"||typeof t=="string"&&t!=="",Ug=t=>Number.isInteger(+t),sQ=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},bAe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,DAe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},KM=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},TM=(t,e,r,i)=>{if(r)return MM(t,e,k({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},UM=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return MM(t,e,r)},HM=(...t)=>new RangeError("Invalid range arguments: "+wAe.inspect(...t)),YM=(t,e,r)=>{if(r.strictRanges===!0)throw HM([t,e]);return[]},xAe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},PAe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw HM([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=sQ(a)||sQ(l)||sQ(c),g=u?Math.max(a.length,l.length,c.length):0,h=u===!1&&bAe(t,e,i)===!1,f=i.transform||QAe(h);if(i.toRegex&&r===1)return TM(KM(t,g),KM(e,g),!0,i);let p={negatives:[],positives:[]},m=w=>p[w<0?"negatives":"positives"].push(Math.abs(w)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(DAe(f(n,y),g,h)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?SAe(p,i):UM(I,null,k({wrap:!1},i)):I},kAe=(t,e,r=1,i={})=>{if(!Ug(t)&&t.length>1||!Ug(e)&&e.length>1)return YM(t,e,i);let n=i.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return TM(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?UM(u,null,{wrap:!1,options:i}):u},NC=(t,e,r,i={})=>{if(e==null&&nQ(t))return[t];if(!nQ(t)||!nQ(e))return YM(t,e,i);if(typeof r=="function")return NC(t,e,1,{transform:r});if(OM(r))return NC(t,e,0,r);let n=k({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Ug(r)?Ug(t)&&Ug(e)?PAe(t,e,r,n):kAe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!OM(r)?xAe(r,n):NC(t,e,1,r)};NM.exports=NC});var qM=C((H4e,GM)=>{"use strict";var vAe=oQ(),jM=RC(),FAe=(t,e={})=>{let r=(i,n={})=>{let s=jM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=jM.reduce(i.nodes),g=vAe(...u,V(k({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};GM.exports=FAe});var zM=C((Y4e,JM)=>{"use strict";var RAe=oQ(),WM=LC(),Kl=RC(),_a=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Kl.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(_a(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?_a(n,s,r):n+s);return Kl.flatten(i)},LAe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(_a(a.pop(),WM(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(_a(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Kl.reduce(n.nodes);if(Kl.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=RAe(...g,e);h.length===0&&(h=WM(n,e)),a.push(_a(a.pop(),h)),n.nodes=[];return}let l=Kl.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";VM.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var tO=C((j4e,ZM)=>{"use strict";var NAe=LC(),{MAX_LENGTH:_M,CHAR_BACKSLASH:aQ,CHAR_BACKTICK:MAe,CHAR_COMMA:OAe,CHAR_DOT:KAe,CHAR_LEFT_PARENTHESES:TAe,CHAR_RIGHT_PARENTHESES:UAe,CHAR_LEFT_CURLY_BRACE:HAe,CHAR_RIGHT_CURLY_BRACE:YAe,CHAR_LEFT_SQUARE_BRACKET:$M,CHAR_RIGHT_SQUARE_BRACKET:eO,CHAR_DOUBLE_QUOTE:GAe,CHAR_SINGLE_QUOTE:jAe,CHAR_NO_BREAK_SPACE:qAe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:JAe}=XM(),WAe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(_M,r.maxLength):_M;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,h,f={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:NAe(o)}]}m({type:"comma",value:h}),o.commas++;continue}if(h===KAe&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:h});continue}if(a.type==="dot"){if(o.range=[],a.value+=h,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+h,a=y,o.ranges--;continue}m({type:"dot",value:h});continue}m({type:"text",value:h})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(w=>{w.nodes||(w.type==="open"&&(w.isOpen=!0),w.type==="close"&&(w.isClose=!0),w.nodes||(w.type="text"),w.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};ZM.exports=WAe});var nO=C((q4e,rO)=>{"use strict";var iO=LC(),zAe=qM(),VAe=zM(),XAe=tO(),Ui=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ui.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ui.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.parse=(t,e={})=>XAe(t,e);Ui.stringify=(t,e={})=>typeof t=="string"?iO(Ui.parse(t,e),e):iO(t,e);Ui.compile=(t,e={})=>(typeof t=="string"&&(t=Ui.parse(t,e)),zAe(t,e));Ui.expand=(t,e={})=>{typeof t=="string"&&(t=Ui.parse(t,e));let r=VAe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ui.compile(t,e):Ui.expand(t,e);rO.exports=Ui});var Hg=C((J4e,sO)=>{"use strict";var ZAe=require("path"),$n="\\\\/",oO=`[^${$n}]`,Ks="\\.",_Ae="\\+",$Ae="\\?",MC="\\/",ele="(?=.)",aO="[^/]",AQ=`(?:${MC}|$)`,AO=`(?:^|${MC})`,lQ=`${Ks}{1,2}${AQ}`,tle=`(?!${Ks})`,rle=`(?!${AO}${lQ})`,ile=`(?!${Ks}{0,1}${AQ})`,nle=`(?!${lQ})`,sle=`[^.${MC}]`,ole=`${aO}*?`,lO={DOT_LITERAL:Ks,PLUS_LITERAL:_Ae,QMARK_LITERAL:$Ae,SLASH_LITERAL:MC,ONE_CHAR:ele,QMARK:aO,END_ANCHOR:AQ,DOTS_SLASH:lQ,NO_DOT:tle,NO_DOTS:rle,NO_DOT_SLASH:ile,NO_DOTS_SLASH:nle,QMARK_NO_DOT:sle,STAR:ole,START_ANCHOR:AO},ale=V(k({},lO),{SLASH_LITERAL:`[${$n}]`,QMARK:oO,STAR:`${oO}*?`,DOTS_SLASH:`${Ks}{1,2}(?:[${$n}]|$)`,NO_DOT:`(?!${Ks})`,NO_DOTS:`(?!(?:^|[${$n}])${Ks}{1,2}(?:[${$n}]|$))`,NO_DOT_SLASH:`(?!${Ks}{0,1}(?:[${$n}]|$))`,NO_DOTS_SLASH:`(?!${Ks}{1,2}(?:[${$n}]|$))`,QMARK_NO_DOT:`[^.${$n}]`,START_ANCHOR:`(?:^|[${$n}])`,END_ANCHOR:`(?:[${$n}]|$)`}),Ale={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"};sO.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Ale,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:ZAe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?ale:lO}}});var Yg=C(wi=>{"use strict";var lle=require("path"),cle=process.platform==="win32",{REGEX_BACKSLASH:ule,REGEX_REMOVE_BACKSLASH:gle,REGEX_SPECIAL_CHARS:hle,REGEX_SPECIAL_CHARS_GLOBAL:fle}=Hg();wi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);wi.hasRegexChars=t=>hle.test(t);wi.isRegexChar=t=>t.length===1&&wi.hasRegexChars(t);wi.escapeRegex=t=>t.replace(fle,"\\$1");wi.toPosixSlashes=t=>t.replace(ule,"/");wi.removeBackslashes=t=>t.replace(gle,e=>e==="\\"?"":e);wi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};wi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:cle===!0||lle.sep==="\\";wi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?wi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};wi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};wi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var mO=C((z4e,cO)=>{"use strict";var uO=Yg(),{CHAR_ASTERISK:cQ,CHAR_AT:ple,CHAR_BACKWARD_SLASH:Gg,CHAR_COMMA:dle,CHAR_DOT:uQ,CHAR_EXCLAMATION_MARK:gO,CHAR_FORWARD_SLASH:hO,CHAR_LEFT_CURLY_BRACE:gQ,CHAR_LEFT_PARENTHESES:hQ,CHAR_LEFT_SQUARE_BRACKET:Cle,CHAR_PLUS:mle,CHAR_QUESTION_MARK:fO,CHAR_RIGHT_CURLY_BRACE:Ile,CHAR_RIGHT_PARENTHESES:pO,CHAR_RIGHT_SQUARE_BRACKET:Ele}=Hg(),dO=t=>t===hO||t===Gg,CO=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},yle=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,h=!1,f=!1,p=!1,m=!1,I=!1,y=!1,w=!1,x=!1,F=!1,N=0,K,v,J={value:"",depth:0,isGlob:!1},oe=()=>c>=i,T=()=>l.charCodeAt(c+1),A=()=>(K=v,l.charCodeAt(++c));for(;c0&&(ee=l.slice(0,u),l=l.slice(u),g-=u),W&&p===!0&&g>0?(W=l.slice(0,g),re=l.slice(g)):p===!0?(W="",re=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&dO(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===!0&&(re&&(re=uO.removeBackslashes(re)),W&&w===!0&&(W=uO.removeBackslashes(W)));let H={prefix:ee,input:t,start:u,base:W,glob:re,isBrace:h,isBracket:f,isGlob:p,isExtglob:m,isGlobstar:I,negated:x};if(r.tokens===!0&&(H.maxDepth=0,dO(v)||o.push(J),H.tokens=o),r.parts===!0||r.tokens===!0){let R;for(let ke=0;ke{"use strict";var OC=Hg(),Hi=Yg(),{MAX_LENGTH:KC,POSIX_REGEX_SOURCE:Ble,REGEX_NON_SPECIAL_CHARS:wle,REGEX_SPECIAL_CHARS_BACKREF:Qle,REPLACEMENTS:EO}=OC,ble=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Hi.escapeRegex(n)).join("..")}return r},Tl=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,yO=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=EO[t]||t;let r=k({},e),i=typeof r.maxLength=="number"?Math.min(KC,r.maxLength):KC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Hi.isWindows(e),c=OC.globChars(l),u=OC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:h,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:w,QMARK:x,QMARK_NO_DOT:F,STAR:N,START_ANCHOR:K}=c,v=X=>`(${a}(?:(?!${K}${X.dot?m:g}).)*?)`,J=r.dot?"":I,oe=r.dot?x:F,T=r.bash===!0?v(r):N;r.capture&&(T=`(${T})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Hi.removePrefix(t,A),n=t.length;let W=[],ee=[],re=[],H=s,R,ke=()=>A.index===n-1,Le=A.peek=(X=1)=>t[A.index+X],qe=A.advance=()=>t[++A.index],Ke=()=>t.slice(A.index+1),ie=(X="",ae=0)=>{A.consumed+=X,A.index+=ae},ce=X=>{A.output+=X.output!=null?X.output:X.value,ie(X.value)},Se=()=>{let X=1;for(;Le()==="!"&&(Le(2)!=="("||Le(3)==="?");)qe(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},he=X=>{A[X]++,re.push(X)},Ie=X=>{A[X]--,re.pop()},pe=X=>{if(H.type==="globstar"){let ae=A.braces>0&&(X.type==="comma"||X.type==="brace"),ue=X.extglob===!0||W.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!ae&&!ue&&(A.output=A.output.slice(0,-H.output.length),H.type="star",H.value="*",H.output=T,A.output+=H.output)}if(W.length&&X.type!=="paren"&&!u[X.value]&&(W[W.length-1].inner+=X.value),(X.value||X.output)&&ce(X),H&&H.type==="text"&&X.type==="text"){H.value+=X.value,H.output=(H.output||"")+X.value;return}X.prev=H,o.push(X),H=X},Qe=(X,ae)=>{let ue=V(k({},u[ae]),{conditions:1,inner:""});ue.prev=H,ue.parens=A.parens,ue.output=A.output;let we=(r.capture?"(":"")+ue.open;he("parens"),pe({type:X,value:ae,output:A.output?"":p}),pe({type:"paren",extglob:!0,value:qe(),output:we}),W.push(ue)},Z=X=>{let ae=X.close+(r.capture?")":"");if(X.type==="negate"){let ue=T;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(ue=v(r)),(ue!==T||ke()||/^\)+$/.test(Ke()))&&(ae=X.close=`)$))${ue}`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}pe({type:"paren",extglob:!0,value:R,output:ae}),Ie("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,ae=t.replace(Qle,(ue,we,lt,Ct,xt,xn)=>Ct==="\\"?(X=!0,ue):Ct==="?"?we?we+Ct+(xt?x.repeat(xt.length):""):xn===0?oe+(xt?x.repeat(xt.length):""):x.repeat(lt.length):Ct==="."?g.repeat(lt.length):Ct==="*"?we?we+Ct+(xt?T:""):T:we?ue:`\\${ue}`);return X===!0&&(r.unescape===!0?ae=ae.replace(/\\/g,""):ae=ae.replace(/\\+/g,ue=>ue.length%2==0?"\\\\":ue?"\\":"")),ae===t&&r.contains===!0?(A.output=t,A):(A.output=Hi.wrapOutput(ae,A,e),A)}for(;!ke();){if(R=qe(),R==="\0")continue;if(R==="\\"){let ue=Le();if(ue==="/"&&r.bash!==!0||ue==="."||ue===";")continue;if(!ue){R+="\\",pe({type:"text",value:R});continue}let we=/^\\+/.exec(Ke()),lt=0;if(we&&we[0].length>2&&(lt=we[0].length,A.index+=lt,lt%2!=0&&(R+="\\")),r.unescape===!0?R=qe()||"":R+=qe()||"",A.brackets===0){pe({type:"text",value:R});continue}}if(A.brackets>0&&(R!=="]"||H.value==="["||H.value==="[^")){if(r.posix!==!1&&R===":"){let ue=H.value.slice(1);if(ue.includes("[")&&(H.posix=!0,ue.includes(":"))){let we=H.value.lastIndexOf("["),lt=H.value.slice(0,we),Ct=H.value.slice(we+2),xt=Ble[Ct];if(xt){H.value=lt+xt,A.backtrack=!0,qe(),!s.output&&o.indexOf(H)===1&&(s.output=p);continue}}}(R==="["&&Le()!==":"||R==="-"&&Le()==="]")&&(R=`\\${R}`),R==="]"&&(H.value==="["||H.value==="[^")&&(R=`\\${R}`),r.posix===!0&&R==="!"&&H.value==="["&&(R="^"),H.value+=R,ce({value:R});continue}if(A.quotes===1&&R!=='"'){R=Hi.escapeRegex(R),H.value+=R,ce({value:R});continue}if(R==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&pe({type:"text",value:R});continue}if(R==="("){he("parens"),pe({type:"paren",value:R});continue}if(R===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Tl("opening","("));let ue=W[W.length-1];if(ue&&A.parens===ue.parens+1){Z(W.pop());continue}pe({type:"paren",value:R,output:A.parens?")":"\\)"}),Ie("parens");continue}if(R==="["){if(r.nobracket===!0||!Ke().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Tl("closing","]"));R=`\\${R}`}else he("brackets");pe({type:"bracket",value:R});continue}if(R==="]"){if(r.nobracket===!0||H&&H.type==="bracket"&&H.value.length===1){pe({type:"text",value:R,output:`\\${R}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Tl("opening","["));pe({type:"text",value:R,output:`\\${R}`});continue}Ie("brackets");let ue=H.value.slice(1);if(H.posix!==!0&&ue[0]==="^"&&!ue.includes("/")&&(R=`/${R}`),H.value+=R,ce({value:R}),r.literalBrackets===!1||Hi.hasRegexChars(ue))continue;let we=Hi.escapeRegex(H.value);if(A.output=A.output.slice(0,-H.value.length),r.literalBrackets===!0){A.output+=we,H.value=we;continue}H.value=`(${a}${we}|${H.value})`,A.output+=H.value;continue}if(R==="{"&&r.nobrace!==!0){he("braces");let ue={type:"brace",value:R,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ee.push(ue),pe(ue);continue}if(R==="}"){let ue=ee[ee.length-1];if(r.nobrace===!0||!ue){pe({type:"text",value:R,output:R});continue}let we=")";if(ue.dots===!0){let lt=o.slice(),Ct=[];for(let xt=lt.length-1;xt>=0&&(o.pop(),lt[xt].type!=="brace");xt--)lt[xt].type!=="dots"&&Ct.unshift(lt[xt].value);we=ble(Ct,r),A.backtrack=!0}if(ue.comma!==!0&&ue.dots!==!0){let lt=A.output.slice(0,ue.outputIndex),Ct=A.tokens.slice(ue.tokensIndex);ue.value=ue.output="\\{",R=we="\\}",A.output=lt;for(let xt of Ct)A.output+=xt.output||xt.value}pe({type:"brace",value:R,output:we}),Ie("braces"),ee.pop();continue}if(R==="|"){W.length>0&&W[W.length-1].conditions++,pe({type:"text",value:R});continue}if(R===","){let ue=R,we=ee[ee.length-1];we&&re[re.length-1]==="braces"&&(we.comma=!0,ue="|"),pe({type:"comma",value:R,output:ue});continue}if(R==="/"){if(H.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),H=s;continue}pe({type:"slash",value:R,output:f});continue}if(R==="."){if(A.braces>0&&H.type==="dot"){H.value==="."&&(H.output=g);let ue=ee[ee.length-1];H.type="dots",H.output+=R,H.value+=R,ue.dots=!0;continue}if(A.braces+A.parens===0&&H.type!=="bos"&&H.type!=="slash"){pe({type:"text",value:R,output:g});continue}pe({type:"dot",value:R,output:g});continue}if(R==="?"){if(!(H&&H.value==="(")&&r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){Qe("qmark",R);continue}if(H&&H.type==="paren"){let we=Le(),lt=R;if(we==="<"&&!Hi.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(H.value==="("&&!/[!=<:]/.test(we)||we==="<"&&!/<([!=]|\w+>)/.test(Ke()))&&(lt=`\\${R}`),pe({type:"text",value:R,output:lt});continue}if(r.dot!==!0&&(H.type==="slash"||H.type==="bos")){pe({type:"qmark",value:R,output:F});continue}pe({type:"qmark",value:R,output:x});continue}if(R==="!"){if(r.noextglob!==!0&&Le()==="("&&(Le(2)!=="?"||!/[!=<:]/.test(Le(3)))){Qe("negate",R);continue}if(r.nonegate!==!0&&A.index===0){Se();continue}}if(R==="+"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){Qe("plus",R);continue}if(H&&H.value==="("||r.regex===!1){pe({type:"plus",value:R,output:h});continue}if(H&&(H.type==="bracket"||H.type==="paren"||H.type==="brace")||A.parens>0){pe({type:"plus",value:R});continue}pe({type:"plus",value:h});continue}if(R==="@"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){pe({type:"at",extglob:!0,value:R,output:""});continue}pe({type:"text",value:R});continue}if(R!=="*"){(R==="$"||R==="^")&&(R=`\\${R}`);let ue=wle.exec(Ke());ue&&(R+=ue[0],A.index+=ue[0].length),pe({type:"text",value:R});continue}if(H&&(H.type==="globstar"||H.star===!0)){H.type="star",H.star=!0,H.value+=R,H.output=T,A.backtrack=!0,A.globstar=!0,ie(R);continue}let X=Ke();if(r.noextglob!==!0&&/^\([^?]/.test(X)){Qe("star",R);continue}if(H.type==="star"){if(r.noglobstar===!0){ie(R);continue}let ue=H.prev,we=ue.prev,lt=ue.type==="slash"||ue.type==="bos",Ct=we&&(we.type==="star"||we.type==="globstar");if(r.bash===!0&&(!lt||X[0]&&X[0]!=="/")){pe({type:"star",value:R,output:""});continue}let xt=A.braces>0&&(ue.type==="comma"||ue.type==="brace"),xn=W.length&&(ue.type==="pipe"||ue.type==="paren");if(!lt&&ue.type!=="paren"&&!xt&&!xn){pe({type:"star",value:R,output:""});continue}for(;X.slice(0,3)==="/**";){let Ii=t[A.index+4];if(Ii&&Ii!=="/")break;X=X.slice(3),ie("/**",3)}if(ue.type==="bos"&&ke()){H.type="globstar",H.value+=R,H.output=v(r),A.output=H.output,A.globstar=!0,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&!Ct&&ke()){A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=v(r)+(r.strictSlashes?")":"|$)"),H.value+=R,A.globstar=!0,A.output+=ue.output+H.output,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&X[0]==="/"){let Ii=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=`${v(r)}${f}|${f}${Ii})`,H.value+=R,A.output+=ue.output+H.output,A.globstar=!0,ie(R+qe()),pe({type:"slash",value:"/",output:""});continue}if(ue.type==="bos"&&X[0]==="/"){H.type="globstar",H.value+=R,H.output=`(?:^|${f}|${v(r)}${f})`,A.output=H.output,A.globstar=!0,ie(R+qe()),pe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-H.output.length),H.type="globstar",H.output=v(r),H.value+=R,A.output+=H.output,A.globstar=!0,ie(R);continue}let ae={type:"star",value:R,output:T};if(r.bash===!0){ae.output=".*?",(H.type==="bos"||H.type==="slash")&&(ae.output=J+ae.output),pe(ae);continue}if(H&&(H.type==="bracket"||H.type==="paren")&&r.regex===!0){ae.output=R,pe(ae);continue}(A.index===A.start||H.type==="slash"||H.type==="dot")&&(H.type==="dot"?(A.output+=y,H.output+=y):r.dot===!0?(A.output+=w,H.output+=w):(A.output+=J,H.output+=J),Le()!=="*"&&(A.output+=p,H.output+=p)),pe(ae)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Tl("closing","]"));A.output=Hi.escapeLast(A.output,"["),Ie("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Tl("closing",")"));A.output=Hi.escapeLast(A.output,"("),Ie("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Tl("closing","}"));A.output=Hi.escapeLast(A.output,"{"),Ie("braces")}if(r.strictSlashes!==!0&&(H.type==="star"||H.type==="bracket")&&pe({type:"maybe_slash",value:"",output:`${f}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};yO.fastpaths=(t,e)=>{let r=k({},e),i=typeof r.maxLength=="number"?Math.min(KC,r.maxLength):KC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=EO[t]||t;let s=Hi.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:h,STAR:f,START_ANCHOR:p}=OC.globChars(s),m=r.dot?g:u,I=r.dot?h:u,y=r.capture?"":"?:",w={negated:!1,prefix:""},x=r.bash===!0?".*?":f;r.capture&&(x=`(${x})`);let F=J=>J.noglobstar===!0?x:`(${y}(?:(?!${p}${J.dot?c:o}).)*?)`,N=J=>{switch(J){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${I}${x}`;case"**":return m+F(r);case"**/*":return`(?:${m}${F(r)}${a})?${I}${l}${x}`;case"**/*.*":return`(?:${m}${F(r)}${a})?${I}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${F(r)}${a})?${o}${l}${x}`;default:{let oe=/^(.*?)\.(\w+)$/.exec(J);if(!oe)return;let T=N(oe[1]);return T?T+o+oe[2]:void 0}}},K=Hi.removePrefix(t,w),v=N(K);return v&&r.strictSlashes!==!0&&(v+=`${a}?`),v};IO.exports=yO});var QO=C((X4e,wO)=>{"use strict";var Dle=require("path"),Sle=mO(),fQ=BO(),pQ=Yg(),xle=Hg(),Ple=t=>t&&typeof t=="object"&&!Array.isArray(t),ir=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>ir(h,e,r));return h=>{for(let f of u){let p=f(h);if(p)return p}return!1}}let i=Ple(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=pQ.isWindows(e),o=i?ir.compileRe(t,e):ir.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=V(k({},e),{ignore:null,onMatch:null,onResult:null});l=ir(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:h,match:f,output:p}=ir.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:f,isMatch:h};return typeof n.onResult=="function"&&n.onResult(m),h===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};ir.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?pQ.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=ir.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};ir.matchBase=(t,e,r,i=pQ.isWindows(r))=>(e instanceof RegExp?e:ir.makeRe(e,r)).test(Dle.basename(t));ir.isMatch=(t,e,r)=>ir(e,r)(t);ir.parse=(t,e)=>Array.isArray(t)?t.map(r=>ir.parse(r,e)):fQ(t,V(k({},e),{fastpaths:!1}));ir.scan=(t,e)=>Sle(t,e);ir.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=ir.toRegex(a,e);return i===!0&&(l.state=t),l};ir.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=fQ.fastpaths(t,e)),a===void 0?(s=fQ(t,e),s.prefix=o+(s.prefix||"")):s.output=a,ir.compileRe(s,e,r,i)};ir.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};ir.constants=xle;wO.exports=ir});var dQ=C((Z4e,bO)=>{"use strict";bO.exports=QO()});var Yi=C((_4e,DO)=>{"use strict";var SO=require("util"),xO=nO(),es=dQ(),CQ=Yg(),PO=t=>typeof t=="string"&&(t===""||t==="./"),Wt=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Wt.match=Wt;Wt.matcher=(t,e)=>es(t,e);Wt.isMatch=(t,e,r)=>es(e,r)(t);Wt.any=Wt.isMatch;Wt.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Wt(t,e,V(k({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Wt.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${SO.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Wt.contains(t,i,r));if(typeof e=="string"){if(PO(t)||PO(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Wt.isMatch(t,e,V(k({},r),{contains:!0}))};Wt.matchKeys=(t,e,r)=>{if(!CQ.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Wt(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Wt.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Wt.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=es(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Wt.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${SO.inspect(t)}"`);return[].concat(e).every(i=>es(i,r)(t))};Wt.capture=(t,e,r)=>{let i=CQ.isWindows(r),s=es.makeRe(String(t),V(k({},r),{capture:!0})).exec(i?CQ.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Wt.makeRe=(...t)=>es.makeRe(...t);Wt.scan=(...t)=>es.scan(...t);Wt.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of xO(String(i),e))r.push(es.parse(n,e));return r};Wt.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:xO(t,e)};Wt.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Wt.braces(t,V(k({},e),{expand:!0}))};DO.exports=Wt});var vO=C(($4e,kO)=>{"use strict";kO.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var RO=C((eze,FO)=>{"use strict";var kle=vO();FO.exports=t=>typeof t=="string"?t.replace(kle(),""):t});var Hl={};$e(Hl,{KeyRelationship:()=>tA,applyCascade:()=>DQ,base64RegExp:()=>KO,colorStringAlphaRegExp:()=>OO,colorStringRegExp:()=>MO,computeKey:()=>Mo,getPrintable:()=>lr,hasExactLength:()=>GO,hasForbiddenKeys:()=>Ace,hasKeyRelationship:()=>xQ,hasMaxLength:()=>qle,hasMinLength:()=>jle,hasMutuallyExclusiveKeys:()=>lce,hasRequiredKeys:()=>ace,hasUniqueItems:()=>Jle,isArray:()=>Mle,isAtLeast:()=>Vle,isAtMost:()=>Xle,isBase64:()=>sce,isBoolean:()=>Rle,isDate:()=>Nle,isDict:()=>Kle,isEnum:()=>ni,isHexColor:()=>nce,isISO8601:()=>ice,isInExclusiveRange:()=>_le,isInInclusiveRange:()=>Zle,isInstanceOf:()=>Ule,isInteger:()=>$le,isJSON:()=>oce,isLiteral:()=>vle,isLowerCase:()=>ece,isNegative:()=>Wle,isNullable:()=>Gle,isNumber:()=>Lle,isObject:()=>Tle,isOneOf:()=>Hle,isOptional:()=>Yle,isPositive:()=>zle,isString:()=>bQ,isTuple:()=>Ole,isUUID4:()=>rce,isUnknown:()=>YO,isUpperCase:()=>tce,iso8601RegExp:()=>QQ,makeCoercionFn:()=>eA,makeSetter:()=>HO,makeTrait:()=>UO,makeValidator:()=>ot,matchesRegExp:()=>SQ,plural:()=>YC,pushError:()=>et,simpleKeyRegExp:()=>NO,uuid4RegExp:()=>TO});function ot({test:t}){return UO(t)()}function lr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function Mo(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:NO.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function eA(t,e){return r=>{let i=t[e];return t[e]=r,eA(t,e).bind(null,i)}}function HO(t,e){return r=>{t[e]=r}}function YC(t,e,r){return t===1?e:r}function et({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function vle(t){return ot({test:(e,r)=>e!==t?et(r,`Expected a literal (got ${lr(t)})`):!0})}function ni(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return ot({test:(i,n)=>r.has(i)?!0:et(n,`Expected a valid enumeration value (got ${lr(i)})`)})}var NO,MO,OO,KO,TO,QQ,UO,YO,bQ,Fle,Rle,Lle,Nle,Mle,Ole,Kle,Tle,Ule,Hle,DQ,Yle,Gle,jle,qle,GO,Jle,Wle,zle,Vle,Xle,Zle,_le,$le,SQ,ece,tce,rce,ice,nce,sce,oce,ace,Ace,lce,tA,cce,xQ,Fn=tae(()=>{NO=/^[a-zA-Z_][a-zA-Z0-9_]*$/,MO=/^#[0-9a-f]{6}$/i,OO=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,KO=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,TO=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,QQ=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,UO=t=>()=>t;YO=()=>ot({test:(t,e)=>!0});bQ=()=>ot({test:(t,e)=>typeof t!="string"?et(e,`Expected a string (got ${lr(t)})`):!0});Fle=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Rle=()=>ot({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i=Fle.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a boolean (got ${lr(t)})`)}return!0}}),Lle=()=>ot({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return et(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a number (got ${lr(t)})`)}return!0}}),Nle=()=>ot({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return et(e,"Unbound coercion result");let i;if(typeof t=="string"&&QQ.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return et(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return et(e,`Expected a date (got ${lr(t)})`)}return!0}}),Mle=(t,{delimiter:e}={})=>ot({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return et(i,`Expected an array (got ${lr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=GO(t.length);return ot({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return et(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return et(n,`Expected a tuple (got ${lr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aot({test:(r,i)=>{if(typeof r!="object"||r===null)return et(i,`Expected an object (got ${lr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return ot({test:(i,n)=>{if(typeof i!="object"||i===null)return et(n,`Expected an object (got ${lr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=et(Object.assign(Object.assign({},n),{p:Mo(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:Mo(n,l),coercion:eA(i,l)}))&&a:e===null?a=et(Object.assign(Object.assign({},n),{p:Mo(n,l)}),`Extraneous property (got ${lr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:HO(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Ule=t=>ot({test:(e,r)=>e instanceof t?!0:et(r,`Expected an instance of ${t.name} (got ${lr(e)})`)}),Hle=(t,{exclusive:e=!1}={})=>ot({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?et(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),DQ=(t,e)=>ot({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?eA(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return et(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Yle=t=>ot({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Gle=t=>ot({test:(e,r)=>e===null?!0:t(e,r)}),jle=t=>ot({test:(e,r)=>e.length>=t?!0:et(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),qle=t=>ot({test:(e,r)=>e.length<=t?!0:et(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),GO=t=>ot({test:(e,r)=>e.length!==t?et(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Jle=({map:t}={})=>ot({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sot({test:(t,e)=>t<=0?!0:et(e,`Expected to be negative (got ${t})`)}),zle=()=>ot({test:(t,e)=>t>=0?!0:et(e,`Expected to be positive (got ${t})`)}),Vle=t=>ot({test:(e,r)=>e>=t?!0:et(r,`Expected to be at least ${t} (got ${e})`)}),Xle=t=>ot({test:(e,r)=>e<=t?!0:et(r,`Expected to be at most ${t} (got ${e})`)}),Zle=(t,e)=>ot({test:(r,i)=>r>=t&&r<=e?!0:et(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),_le=(t,e)=>ot({test:(r,i)=>r>=t&&rot({test:(e,r)=>e!==Math.round(e)?et(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:et(r,`Expected to be a safe integer (got ${e})`)}),SQ=t=>ot({test:(e,r)=>t.test(e)?!0:et(r,`Expected to match the pattern ${t.toString()} (got ${lr(e)})`)}),ece=()=>ot({test:(t,e)=>t!==t.toLowerCase()?et(e,`Expected to be all-lowercase (got ${t})`):!0}),tce=()=>ot({test:(t,e)=>t!==t.toUpperCase()?et(e,`Expected to be all-uppercase (got ${t})`):!0}),rce=()=>ot({test:(t,e)=>TO.test(t)?!0:et(e,`Expected to be a valid UUID v4 (got ${lr(t)})`)}),ice=()=>ot({test:(t,e)=>QQ.test(t)?!1:et(e,`Expected to be a valid ISO 8601 date string (got ${lr(t)})`)}),nce=({alpha:t=!1})=>ot({test:(e,r)=>(t?MO.test(e):OO.test(e))?!0:et(r,`Expected to be a valid hexadecimal color string (got ${lr(e)})`)}),sce=()=>ot({test:(t,e)=>KO.test(t)?!0:et(e,`Expected to be a valid base 64 string (got ${lr(t)})`)}),oce=(t=YO())=>ot({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return et(r,`Expected to be a valid JSON string (got ${lr(e)})`)}return t(i,r)}}),ace=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?et(i,`Missing required ${YC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Ace=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?et(i,`Forbidden ${YC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},lce=t=>{let e=new Set(t);return ot({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?et(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(tA||(tA={}));cce={[tA.Forbids]:{expect:!1,message:"forbids using"},[tA.Requires]:{expect:!0,message:"requires using"}},xQ=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=cce[e];return ot({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?et(l,`Property "${t}" ${o.message} ${YC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var th=C((n5e,pK)=>{var Rce="2.0.0",Lce=256,Nce=Number.MAX_SAFE_INTEGER||9007199254740991,Mce=16;pK.exports={SEMVER_SPEC_VERSION:Rce,MAX_LENGTH:Lce,MAX_SAFE_INTEGER:Nce,MAX_SAFE_COMPONENT_LENGTH:Mce}});var rh=C((s5e,dK)=>{var Oce=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};dK.exports=Oce});var sA=C((Oo,CK)=>{var{MAX_SAFE_COMPONENT_LENGTH:HQ}=th(),Kce=rh();Oo=CK.exports={};var Tce=Oo.re=[],Te=Oo.src=[],Ue=Oo.t={},Uce=0,at=(t,e,r)=>{let i=Uce++;Kce(i,e),Ue[t]=i,Te[i]=e,Tce[i]=new RegExp(e,r?"g":void 0)};at("NUMERICIDENTIFIER","0|[1-9]\\d*");at("NUMERICIDENTIFIERLOOSE","[0-9]+");at("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");at("MAINVERSION",`(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})\\.(${Te[Ue.NUMERICIDENTIFIER]})`);at("MAINVERSIONLOOSE",`(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})\\.(${Te[Ue.NUMERICIDENTIFIERLOOSE]})`);at("PRERELEASEIDENTIFIER",`(?:${Te[Ue.NUMERICIDENTIFIER]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASEIDENTIFIERLOOSE",`(?:${Te[Ue.NUMERICIDENTIFIERLOOSE]}|${Te[Ue.NONNUMERICIDENTIFIER]})`);at("PRERELEASE",`(?:-(${Te[Ue.PRERELEASEIDENTIFIER]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIER]})*))`);at("PRERELEASELOOSE",`(?:-?(${Te[Ue.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Te[Ue.PRERELEASEIDENTIFIERLOOSE]})*))`);at("BUILDIDENTIFIER","[0-9A-Za-z-]+");at("BUILD",`(?:\\+(${Te[Ue.BUILDIDENTIFIER]}(?:\\.${Te[Ue.BUILDIDENTIFIER]})*))`);at("FULLPLAIN",`v?${Te[Ue.MAINVERSION]}${Te[Ue.PRERELEASE]}?${Te[Ue.BUILD]}?`);at("FULL",`^${Te[Ue.FULLPLAIN]}$`);at("LOOSEPLAIN",`[v=\\s]*${Te[Ue.MAINVERSIONLOOSE]}${Te[Ue.PRERELEASELOOSE]}?${Te[Ue.BUILD]}?`);at("LOOSE",`^${Te[Ue.LOOSEPLAIN]}$`);at("GTLT","((?:<|>)?=?)");at("XRANGEIDENTIFIERLOOSE",`${Te[Ue.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);at("XRANGEIDENTIFIER",`${Te[Ue.NUMERICIDENTIFIER]}|x|X|\\*`);at("XRANGEPLAIN",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:\\.(${Te[Ue.XRANGEIDENTIFIER]})(?:${Te[Ue.PRERELEASE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGEPLAINLOOSE",`[v=\\s]*(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Te[Ue.XRANGEIDENTIFIERLOOSE]})(?:${Te[Ue.PRERELEASELOOSE]})?${Te[Ue.BUILD]}?)?)?`);at("XRANGE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAIN]}$`);at("XRANGELOOSE",`^${Te[Ue.GTLT]}\\s*${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COERCE",`(^|[^\\d])(\\d{1,${HQ}})(?:\\.(\\d{1,${HQ}}))?(?:\\.(\\d{1,${HQ}}))?(?:$|[^\\d])`);at("COERCERTL",Te[Ue.COERCE],!0);at("LONETILDE","(?:~>?)");at("TILDETRIM",`(\\s*)${Te[Ue.LONETILDE]}\\s+`,!0);Oo.tildeTrimReplace="$1~";at("TILDE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAIN]}$`);at("TILDELOOSE",`^${Te[Ue.LONETILDE]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("LONECARET","(?:\\^)");at("CARETTRIM",`(\\s*)${Te[Ue.LONECARET]}\\s+`,!0);Oo.caretTrimReplace="$1^";at("CARET",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAIN]}$`);at("CARETLOOSE",`^${Te[Ue.LONECARET]}${Te[Ue.XRANGEPLAINLOOSE]}$`);at("COMPARATORLOOSE",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]})$|^$`);at("COMPARATOR",`^${Te[Ue.GTLT]}\\s*(${Te[Ue.FULLPLAIN]})$|^$`);at("COMPARATORTRIM",`(\\s*)${Te[Ue.GTLT]}\\s*(${Te[Ue.LOOSEPLAIN]}|${Te[Ue.XRANGEPLAIN]})`,!0);Oo.comparatorTrimReplace="$1$2$3";at("HYPHENRANGE",`^\\s*(${Te[Ue.XRANGEPLAIN]})\\s+-\\s+(${Te[Ue.XRANGEPLAIN]})\\s*$`);at("HYPHENRANGELOOSE",`^\\s*(${Te[Ue.XRANGEPLAINLOOSE]})\\s+-\\s+(${Te[Ue.XRANGEPLAINLOOSE]})\\s*$`);at("STAR","(<|>)?=?\\s*\\*");at("GTE0","^\\s*>=\\s*0.0.0\\s*$");at("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var ih=C((o5e,mK)=>{var Hce=["includePrerelease","loose","rtl"],Yce=t=>t?typeof t!="object"?{loose:!0}:Hce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};mK.exports=Yce});var VC=C((a5e,IK)=>{var EK=/^[0-9]+$/,yK=(t,e)=>{let r=EK.test(t),i=EK.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tyK(e,t);IK.exports={compareIdentifiers:yK,rcompareIdentifiers:Gce}});var Gr=C((A5e,BK)=>{var XC=rh(),{MAX_LENGTH:wK,MAX_SAFE_INTEGER:ZC}=th(),{re:QK,t:bK}=sA(),jce=ih(),{compareIdentifiers:nh}=VC(),ln=class{constructor(e,r){if(r=jce(r),e instanceof ln){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>wK)throw new TypeError(`version is longer than ${wK} characters`);XC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?QK[bK.LOOSE]:QK[bK.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>ZC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ZC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ZC||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};BK.exports=ln});var oA=C((l5e,DK)=>{var{MAX_LENGTH:qce}=th(),{re:SK,t:xK}=sA(),PK=Gr(),Jce=ih(),Wce=(t,e)=>{if(e=Jce(e),t instanceof PK)return t;if(typeof t!="string"||t.length>qce||!(e.loose?SK[xK.LOOSE]:SK[xK.FULL]).test(t))return null;try{return new PK(t,e)}catch(i){return null}};DK.exports=Wce});var vK=C((c5e,kK)=>{var zce=oA(),Vce=(t,e)=>{let r=zce(t,e);return r?r.version:null};kK.exports=Vce});var RK=C((u5e,FK)=>{var Xce=oA(),Zce=(t,e)=>{let r=Xce(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};FK.exports=Zce});var NK=C((g5e,LK)=>{var _ce=Gr(),$ce=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new _ce(t,r).inc(e,i).version}catch(n){return null}};LK.exports=$ce});var cn=C((h5e,MK)=>{var OK=Gr(),eue=(t,e,r)=>new OK(t,r).compare(new OK(e,r));MK.exports=eue});var _C=C((f5e,KK)=>{var tue=cn(),rue=(t,e,r)=>tue(t,e,r)===0;KK.exports=rue});var HK=C((p5e,TK)=>{var UK=oA(),iue=_C(),nue=(t,e)=>{if(iue(t,e))return null;{let r=UK(t),i=UK(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};TK.exports=nue});var GK=C((d5e,YK)=>{var sue=Gr(),oue=(t,e)=>new sue(t,e).major;YK.exports=oue});var qK=C((C5e,jK)=>{var aue=Gr(),Aue=(t,e)=>new aue(t,e).minor;jK.exports=Aue});var WK=C((m5e,JK)=>{var lue=Gr(),cue=(t,e)=>new lue(t,e).patch;JK.exports=cue});var VK=C((I5e,zK)=>{var uue=oA(),gue=(t,e)=>{let r=uue(t,e);return r&&r.prerelease.length?r.prerelease:null};zK.exports=gue});var ZK=C((E5e,XK)=>{var hue=cn(),fue=(t,e,r)=>hue(e,t,r);XK.exports=fue});var $K=C((y5e,_K)=>{var pue=cn(),due=(t,e)=>pue(t,e,!0);_K.exports=due});var $C=C((B5e,eT)=>{var tT=Gr(),Cue=(t,e,r)=>{let i=new tT(t,r),n=new tT(e,r);return i.compare(n)||i.compareBuild(n)};eT.exports=Cue});var iT=C((w5e,rT)=>{var mue=$C(),Iue=(t,e)=>t.sort((r,i)=>mue(r,i,e));rT.exports=Iue});var sT=C((Q5e,nT)=>{var Eue=$C(),yue=(t,e)=>t.sort((r,i)=>Eue(i,r,e));nT.exports=yue});var sh=C((b5e,oT)=>{var Bue=cn(),wue=(t,e,r)=>Bue(t,e,r)>0;oT.exports=wue});var em=C((D5e,aT)=>{var Que=cn(),bue=(t,e,r)=>Que(t,e,r)<0;aT.exports=bue});var YQ=C((S5e,AT)=>{var Due=cn(),Sue=(t,e,r)=>Due(t,e,r)!==0;AT.exports=Sue});var tm=C((x5e,lT)=>{var xue=cn(),Pue=(t,e,r)=>xue(t,e,r)>=0;lT.exports=Pue});var rm=C((P5e,cT)=>{var kue=cn(),vue=(t,e,r)=>kue(t,e,r)<=0;cT.exports=vue});var GQ=C((k5e,uT)=>{var Fue=_C(),Rue=YQ(),Lue=sh(),Nue=tm(),Mue=em(),Oue=rm(),Kue=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Fue(t,r,i);case"!=":return Rue(t,r,i);case">":return Lue(t,r,i);case">=":return Nue(t,r,i);case"<":return Mue(t,r,i);case"<=":return Oue(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};uT.exports=Kue});var hT=C((v5e,gT)=>{var Tue=Gr(),Uue=oA(),{re:im,t:nm}=sA(),Hue=(t,e)=>{if(t instanceof Tue)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(im[nm.COERCE]);else{let i;for(;(i=im[nm.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),im[nm.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;im[nm.COERCERTL].lastIndex=-1}return r===null?null:Uue(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};gT.exports=Hue});var pT=C((F5e,fT)=>{"use strict";fT.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var oh=C((R5e,dT)=>{"use strict";dT.exports=It;It.Node=aA;It.create=It;function It(t){var e=this;if(e instanceof It||(e=new It),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};It.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};It.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};It.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};It.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new It;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};It.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var que=oh(),AA=Symbol("max"),Hs=Symbol("length"),Wl=Symbol("lengthCalculator"),ah=Symbol("allowStale"),lA=Symbol("maxAge"),Ys=Symbol("dispose"),mT=Symbol("noDisposeOnSet"),Dr=Symbol("lruList"),Ln=Symbol("cache"),IT=Symbol("updateAgeOnGet"),jQ=()=>1,ET=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[AA]=e.max||Infinity,i=e.length||jQ;if(this[Wl]=typeof i!="function"?jQ:i,this[ah]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[lA]=e.maxAge||0,this[Ys]=e.dispose,this[mT]=e.noDisposeOnSet||!1,this[IT]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[AA]=e||Infinity,Ah(this)}get max(){return this[AA]}set allowStale(e){this[ah]=!!e}get allowStale(){return this[ah]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[lA]=e,Ah(this)}get maxAge(){return this[lA]}set lengthCalculator(e){typeof e!="function"&&(e=jQ),e!==this[Wl]&&(this[Wl]=e,this[Hs]=0,this[Dr].forEach(r=>{r.length=this[Wl](r.value,r.key),this[Hs]+=r.length})),Ah(this)}get lengthCalculator(){return this[Wl]}get length(){return this[Hs]}get itemCount(){return this[Dr].length}rforEach(e,r){r=r||this;for(let i=this[Dr].tail;i!==null;){let n=i.prev;BT(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[Dr].head;i!==null;){let n=i.next;BT(this,e,i,r),i=n}}keys(){return this[Dr].toArray().map(e=>e.key)}values(){return this[Dr].toArray().map(e=>e.value)}reset(){this[Ys]&&this[Dr]&&this[Dr].length&&this[Dr].forEach(e=>this[Ys](e.key,e.value)),this[Ln]=new Map,this[Dr]=new que,this[Hs]=0}dump(){return this[Dr].map(e=>sm(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Dr]}set(e,r,i){if(i=i||this[lA],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wl](r,e);if(this[Ln].has(e)){if(s>this[AA])return zl(this,this[Ln].get(e)),!1;let l=this[Ln].get(e).value;return this[Ys]&&(this[mT]||this[Ys](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Hs]+=s-l.length,l.length=s,this.get(e),Ah(this),!0}let o=new yT(e,r,s,n,i);return o.length>this[AA]?(this[Ys]&&this[Ys](e,r),!1):(this[Hs]+=o.length,this[Dr].unshift(o),this[Ln].set(e,this[Dr].head),Ah(this),!0)}has(e){if(!this[Ln].has(e))return!1;let r=this[Ln].get(e).value;return!sm(this,r)}get(e){return qQ(this,e,!0)}peek(e){return qQ(this,e,!1)}pop(){let e=this[Dr].tail;return e?(zl(this,e),e.value):null}del(e){zl(this,this[Ln].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Ln].forEach((e,r)=>qQ(this,r,!1))}},qQ=(t,e,r)=>{let i=t[Ln].get(e);if(i){let n=i.value;if(sm(t,n)){if(zl(t,i),!t[ah])return}else r&&(t[IT]&&(i.value.now=Date.now()),t[Dr].unshiftNode(i));return n.value}},sm=(t,e)=>{if(!e||!e.maxAge&&!t[lA])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[lA]&&r>t[lA]},Ah=t=>{if(t[Hs]>t[AA])for(let e=t[Dr].tail;t[Hs]>t[AA]&&e!==null;){let r=e.prev;zl(t,e),e=r}},zl=(t,e)=>{if(e){let r=e.value;t[Ys]&&t[Ys](r.key,r.value),t[Hs]-=r.length,t[Ln].delete(r.key),t[Dr].removeNode(e)}},yT=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},BT=(t,e,r,i)=>{let n=r.value;sm(t,n)&&(zl(t,r),t[ah]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};CT.exports=ET});var un=C((N5e,QT)=>{var Vl=class{constructor(e,r){if(r=Jue(r),e instanceof Vl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new Vl(e.raw,r);if(e instanceof JQ)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!DT(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Zue(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=bT.get(i);if(n)return n;let s=this.options.loose,o=s?jr[Kr.HYPHENRANGELOOSE]:jr[Kr.HYPHENRANGE];e=e.replace(o,ege(this.options.includePrerelease)),nr("hyphen replace",e),e=e.replace(jr[Kr.COMPARATORTRIM],zue),nr("comparator trim",e,jr[Kr.COMPARATORTRIM]),e=e.replace(jr[Kr.TILDETRIM],Vue),e=e.replace(jr[Kr.CARETTRIM],Xue),e=e.split(/\s+/).join(" ");let a=s?jr[Kr.COMPARATORLOOSE]:jr[Kr.COMPARATOR],l=e.split(" ").map(h=>_ue(h,this.options)).join(" ").split(/\s+/).map(h=>$ue(h,this.options)).filter(this.options.loose?h=>!!h.match(a):()=>!0).map(h=>new JQ(h,this.options)),c=l.length,u=new Map;for(let h of l){if(DT(h))return[h];u.set(h.value,h)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return bT.set(i,g),g}intersects(e,r){if(!(e instanceof Vl))throw new TypeError("a Range is required");return this.set.some(i=>ST(i,r)&&e.set.some(n=>ST(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Wue(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Zue=t=>t.value==="",ST=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},_ue=(t,e)=>(nr("comp",t,e),t=nge(t,e),nr("caret",t),t=ige(t,e),nr("tildes",t),t=sge(t,e),nr("xrange",t),t=oge(t,e),nr("stars",t),t),oi=t=>!t||t.toLowerCase()==="x"||t==="*",ige=(t,e)=>t.trim().split(/\s+/).map(r=>age(r,e)).join(" "),age=(t,e)=>{let r=e.loose?jr[Kr.TILDELOOSE]:jr[Kr.TILDE];return t.replace(r,(i,n,s,o,a)=>{nr("tilde",t,i,n,s,o,a);let l;return oi(n)?l="":oi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:oi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(nr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,nr("tilde return",l),l})},nge=(t,e)=>t.trim().split(/\s+/).map(r=>Age(r,e)).join(" "),Age=(t,e)=>{nr("caret",t,e);let r=e.loose?jr[Kr.CARETLOOSE]:jr[Kr.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{nr("caret",t,n,s,o,a,l);let c;return oi(s)?c="":oi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:oi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(nr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(nr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),nr("caret return",c),c})},sge=(t,e)=>(nr("replaceXRanges",t,e),t.split(/\s+/).map(r=>lge(r,e)).join(" ")),lge=(t,e)=>{t=t.trim();let r=e.loose?jr[Kr.XRANGELOOSE]:jr[Kr.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{nr("xRange",t,i,n,s,o,a,l);let c=oi(s),u=c||oi(o),g=u||oi(a),h=g;return n==="="&&h&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&h?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),nr("xRange return",i),i})},oge=(t,e)=>(nr("replaceStars",t,e),t.trim().replace(jr[Kr.STAR],"")),$ue=(t,e)=>(nr("replaceGTE0",t,e),t.trim().replace(jr[e.includePrerelease?Kr.GTE0PRE:Kr.GTE0],"")),ege=t=>(e,r,i,n,s,o,a,l,c,u,g,h,f)=>(oi(i)?r="":oi(n)?r=`>=${i}.0.0${t?"-0":""}`:oi(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,oi(c)?l="":oi(u)?l=`<${+c+1}.0.0-0`:oi(g)?l=`<${c}.${+u+1}.0-0`:h?l=`<=${c}.${u}.${g}-${h}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),tge=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var lh=C((M5e,xT)=>{var ch=Symbol("SemVer ANY"),uh=class{static get ANY(){return ch}constructor(e,r){if(r=cge(r),e instanceof uh){if(e.loose===!!r.loose)return e;e=e.value}zQ("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===ch?this.value="":this.value=this.operator+this.semver.version,zQ("comp",this)}parse(e){let r=this.options.loose?PT[kT.COMPARATORLOOSE]:PT[kT.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new vT(i[2],this.options.loose):this.semver=ch}toString(){return this.value}test(e){if(zQ("Comparator.test",e,this.options.loose),this.semver===ch||e===ch)return!0;if(typeof e=="string")try{e=new vT(e,this.options)}catch(r){return!1}return WQ(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof uh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new FT(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new FT(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=WQ(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=WQ(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};xT.exports=uh;var cge=ih(),{re:PT,t:kT}=sA(),WQ=GQ(),zQ=rh(),vT=Gr(),FT=un()});var gh=C((O5e,RT)=>{var uge=un(),gge=(t,e,r)=>{try{e=new uge(e,r)}catch(i){return!1}return e.test(t)};RT.exports=gge});var NT=C((K5e,LT)=>{var hge=un(),fge=(t,e)=>new hge(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));LT.exports=fge});var OT=C((T5e,MT)=>{var pge=Gr(),dge=un(),Cge=(t,e,r)=>{let i=null,n=null,s=null;try{s=new dge(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new pge(i,r))}),i};MT.exports=Cge});var TT=C((U5e,KT)=>{var mge=Gr(),Ige=un(),Ege=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Ige(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new mge(i,r))}),i};KT.exports=Ege});var YT=C((H5e,UT)=>{var VQ=Gr(),yge=un(),HT=sh(),Bge=(t,e)=>{t=new yge(t,e);let r=new VQ("0.0.0");if(t.test(r)||(r=new VQ("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new VQ(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||HT(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||HT(r,s))&&(r=s)}return r&&t.test(r)?r:null};UT.exports=Bge});var jT=C((Y5e,GT)=>{var wge=un(),Qge=(t,e)=>{try{return new wge(t,e).range||"*"}catch(r){return null}};GT.exports=Qge});var om=C((G5e,qT)=>{var bge=Gr(),JT=lh(),{ANY:Dge}=JT,Sge=un(),xge=gh(),WT=sh(),zT=em(),Pge=rm(),kge=tm(),vge=(t,e,r,i)=>{t=new bge(t,i),e=new Sge(e,i);let n,s,o,a,l;switch(r){case">":n=WT,s=Pge,o=zT,a=">",l=">=";break;case"<":n=zT,s=kge,o=WT,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(xge(t,e,i))return!1;for(let c=0;c{f.semver===Dge&&(f=new JT(">=0.0.0")),g=g||f,h=h||f,n(f.semver,g.semver,i)?g=f:o(f.semver,h.semver,i)&&(h=f)}),g.operator===a||g.operator===l||(!h.operator||h.operator===a)&&s(t,h.semver))return!1;if(h.operator===l&&o(t,h.semver))return!1}return!0};qT.exports=vge});var XT=C((j5e,VT)=>{var Fge=om(),Rge=(t,e,r)=>Fge(t,e,">",r);VT.exports=Rge});var _T=C((q5e,ZT)=>{var Lge=om(),Nge=(t,e,r)=>Lge(t,e,"<",r);ZT.exports=Nge});var tU=C((J5e,$T)=>{var eU=un(),Mge=(t,e,r)=>(t=new eU(t,r),e=new eU(e,r),t.intersects(e));$T.exports=Mge});var iU=C((W5e,rU)=>{var Oge=gh(),Kge=cn();rU.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>Kge(u,g,r));for(let u of o)Oge(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var sU=un(),am=lh(),{ANY:XQ}=am,hh=gh(),ZQ=cn(),Uge=(t,e,r={})=>{if(t===e)return!0;t=new sU(t,r),e=new sU(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=Tge(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Tge=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===XQ){if(e.length===1&&e[0].semver===XQ)return!0;r.includePrerelease?t=[new am(">=0.0.0-0")]:t=[new am(">=0.0.0")]}if(e.length===1&&e[0].semver===XQ){if(r.includePrerelease)return!0;e=[new am(">=0.0.0")]}let i=new Set,n,s;for(let f of t)f.operator===">"||f.operator===">="?n=oU(n,f,r):f.operator==="<"||f.operator==="<="?s=aU(s,f,r):i.add(f.semver);if(i.size>1)return null;let o;if(n&&s){if(o=ZQ(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let f of i){if(n&&!hh(f,String(n),r)||s&&!hh(f,String(s),r))return null;for(let p of e)if(!hh(f,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,h=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let f of e){if(u=u||f.operator===">"||f.operator===">=",c=c||f.operator==="<"||f.operator==="<=",n){if(h&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===h.major&&f.semver.minor===h.minor&&f.semver.patch===h.patch&&(h=!1),f.operator===">"||f.operator===">="){if(a=oU(n,f,r),a===f&&a!==n)return!1}else if(n.operator===">="&&!hh(n.semver,String(f),r))return!1}if(s){if(g&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===g.major&&f.semver.minor===g.minor&&f.semver.patch===g.patch&&(g=!1),f.operator==="<"||f.operator==="<="){if(l=aU(s,f,r),l===f&&l!==s)return!1}else if(s.operator==="<="&&!hh(s.semver,String(f),r))return!1}if(!f.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||h||g)},oU=(t,e,r)=>{if(!t)return e;let i=ZQ(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},aU=(t,e,r)=>{if(!t)return e;let i=ZQ(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};nU.exports=Uge});var Cr=C((V5e,lU)=>{var _Q=sA();lU.exports={re:_Q.re,src:_Q.src,tokens:_Q.t,SEMVER_SPEC_VERSION:th().SEMVER_SPEC_VERSION,SemVer:Gr(),compareIdentifiers:VC().compareIdentifiers,rcompareIdentifiers:VC().rcompareIdentifiers,parse:oA(),valid:vK(),clean:RK(),inc:NK(),diff:HK(),major:GK(),minor:qK(),patch:WK(),prerelease:VK(),compare:cn(),rcompare:ZK(),compareLoose:$K(),compareBuild:$C(),sort:iT(),rsort:sT(),gt:sh(),lt:em(),eq:_C(),neq:YQ(),gte:tm(),lte:rm(),cmp:GQ(),coerce:hT(),Comparator:lh(),Range:un(),satisfies:gh(),toComparators:NT(),maxSatisfying:OT(),minSatisfying:TT(),minVersion:YT(),validRange:jT(),outside:om(),gtr:XT(),ltr:_T(),intersects:tU(),simplifyRange:iU(),subset:AU()}});var uU=C((X5e,cU)=>{"use strict";cU.exports=(...t)=>[...new Set([].concat(...t))]});var $Q=C((Z5e,gU)=>{"use strict";var Hge=require("stream"),hU=Hge.PassThrough,Yge=Array.prototype.slice;gU.exports=Gge;function Gge(){let t=[],e=!1,r=Yge.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=hU(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function h(f){function p(){f.removeListener("merge2UnpipeEnd",p),f.removeListener("end",p),g()}if(f._readableState.endEmitted)return g();f.on("merge2UnpipeEnd",p),f.on("end",p),f.pipe(s,{end:!1}),f.resume()}for(let f=0;f{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});function jge(t){return t.reduce((e,r)=>[].concat(e,r),[])}Am.flatten=jge;function qge(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}Am.splitWhen=qge});var dU=C(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});function Jge(t){return t.code==="ENOENT"}e0.isEnoentCodeError=Jge});var mU=C(t0=>{"use strict";Object.defineProperty(t0,"__esModule",{value:!0});var CU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Wge(t,e){return new CU(t,e)}t0.createDirentFromStats=Wge});var IU=C(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var zge=require("path"),Vge=2,Xge=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Zge(t){return t.replace(/\\/g,"/")}Xl.unixify=Zge;function _ge(t,e){return zge.resolve(t,e)}Xl.makeAbsolute=_ge;function $ge(t){return t.replace(Xge,"\\$2")}Xl.escape=$ge;function ehe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Vge)}return t}Xl.removeLeadingDotSegment=ehe});var yU=C((r6e,EU)=>{EU.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var wU=C((i6e,BU)=>{var the=yU(),rhe={"{":"}","(":")","[":"]"},ihe=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,nhe=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;BU.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(the(e))return!0;var i=ihe,n;for(r&&r.strict===!1&&(i=nhe);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?rhe[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var bU=C((n6e,QU)=>{"use strict";var she=wU(),ohe=require("path").posix.dirname,ahe=require("os").platform()==="win32",r0="/",Ahe=/\\/g,lhe=/[\{\[].*[\}\]]$/,che=/(^|[^\\])([\{\[]|\([^\)]+$)/,uhe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;QU.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&ahe&&e.indexOf(r0)<0&&(e=e.replace(Ahe,r0)),lhe.test(e)&&(e+=r0),e+="a";do e=ohe(e);while(she(e)||che.test(e));return e.replace(uhe,"$1")}});var LU=C(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});var ghe=require("path"),hhe=bU(),DU=Yi(),fhe=dQ(),SU="**",phe="\\",dhe=/[*?]|^!/,Che=/\[.*]/,mhe=/(?:^|[^!*+?@])\(.*\|.*\)/,Ihe=/[!*+?@]\(.*\)/,Ehe=/{.*(?:,|\.\.).*}/;function PU(t,e={}){return!xU(t,e)}cr.isStaticPattern=PU;function xU(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(phe)||dhe.test(t)||Che.test(t)||mhe.test(t)||e.extglob!==!1&&Ihe.test(t)||e.braceExpansion!==!1&&Ehe.test(t))}cr.isDynamicPattern=xU;function yhe(t){return lm(t)?t.slice(1):t}cr.convertToPositivePattern=yhe;function Bhe(t){return"!"+t}cr.convertToNegativePattern=Bhe;function lm(t){return t.startsWith("!")&&t[1]!=="("}cr.isNegativePattern=lm;function kU(t){return!lm(t)}cr.isPositivePattern=kU;function whe(t){return t.filter(lm)}cr.getNegativePatterns=whe;function Qhe(t){return t.filter(kU)}cr.getPositivePatterns=Qhe;function bhe(t){return hhe(t,{flipBackslashes:!1})}cr.getBaseDirectory=bhe;function Dhe(t){return t.includes(SU)}cr.hasGlobStar=Dhe;function vU(t){return t.endsWith("/"+SU)}cr.endsWithSlashGlobStar=vU;function She(t){let e=ghe.basename(t);return vU(t)||PU(e)}cr.isAffectDepthOfReadingPattern=She;function xhe(t){return t.reduce((e,r)=>e.concat(FU(r)),[])}cr.expandPatternsWithBraceExpansion=xhe;function FU(t){return DU.braces(t,{expand:!0,nodupes:!0})}cr.expandBraceExpansion=FU;function Phe(t,e){let r=fhe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}cr.getPatternParts=Phe;function RU(t,e){return DU.makeRe(t,e)}cr.makeRe=RU;function khe(t,e){return t.map(r=>RU(r,e))}cr.convertPatternsToRe=khe;function vhe(t,e){return e.some(r=>r.test(t))}cr.matchAny=vhe});var MU=C(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});var Fhe=$Q();function Rhe(t){let e=Fhe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>NU(t)),e.once("end",()=>NU(t)),e}i0.merge=Rhe;function NU(t){t.forEach(e=>e.emit("close"))}});var OU=C(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});function Lhe(t){return typeof t=="string"}cm.isString=Lhe;function Nhe(t){return t===""}cm.isEmpty=Nhe});var js=C(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var Mhe=pU();Gs.array=Mhe;var Ohe=dU();Gs.errno=Ohe;var Khe=mU();Gs.fs=Khe;var The=IU();Gs.path=The;var Uhe=LU();Gs.pattern=Uhe;var Hhe=MU();Gs.stream=Hhe;var Yhe=OU();Gs.string=Yhe});var YU=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var cA=js();function Ghe(t,e){let r=KU(t),i=TU(t,e.ignore),n=r.filter(l=>cA.pattern.isStaticPattern(l,e)),s=r.filter(l=>cA.pattern.isDynamicPattern(l,e)),o=n0(n,i,!1),a=n0(s,i,!0);return o.concat(a)}qs.generate=Ghe;function n0(t,e,r){let i=UU(t);return"."in i?[s0(".",t,e,r)]:HU(i,e,r)}qs.convertPatternsToTasks=n0;function KU(t){return cA.pattern.getPositivePatterns(t)}qs.getPositivePatterns=KU;function TU(t,e){return cA.pattern.getNegativePatterns(t).concat(e).map(cA.pattern.convertToPositivePattern)}qs.getNegativePatternsAsPositive=TU;function UU(t){let e={};return t.reduce((r,i)=>{let n=cA.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}qs.groupPatternsByBaseDirectory=UU;function HU(t,e,r){return Object.keys(t).map(i=>s0(i,t[i],e,r))}qs.convertPatternGroupsToTasks=HU;function s0(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(cA.pattern.convertToNegativePattern))}}qs.convertPatternGroupToTask=s0});var jU=C(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.read=void 0;function jhe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){GU(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){o0(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){GU(r,s);return}o0(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o0(r,o)})})}um.read=jhe;function GU(t,e){t(e)}function o0(t,e){t(null,e)}});var qU=C(gm=>{"use strict";Object.defineProperty(gm,"__esModule",{value:!0});gm.read=void 0;function qhe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}gm.read=qhe});var JU=C(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.createFileSystemAdapter=Ko.FILE_SYSTEM_ADAPTER=void 0;var hm=require("fs");Ko.FILE_SYSTEM_ADAPTER={lstat:hm.lstat,stat:hm.stat,lstatSync:hm.lstatSync,statSync:hm.statSync};function Jhe(t){return t===void 0?Ko.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Ko.FILE_SYSTEM_ADAPTER),t)}Ko.createFileSystemAdapter=Jhe});var zU=C(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});var Whe=JU(),WU=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Whe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};a0.default=WU});var uA=C(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.statSync=To.stat=To.Settings=void 0;var VU=jU(),zhe=qU(),A0=zU();To.Settings=A0.default;function Vhe(t,e,r){if(typeof e=="function"){VU.read(t,l0(),e);return}VU.read(t,l0(e),r)}To.stat=Vhe;function Xhe(t,e){let r=l0(e);return zhe.read(t,r)}To.statSync=Xhe;function l0(t={}){return t instanceof A0.default?t:new A0.default(t)}});var ZU=C((p6e,XU)=>{XU.exports=Zhe;function Zhe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var c0=C(fm=>{"use strict";Object.defineProperty(fm,"__esModule",{value:!0});fm.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var pm=process.versions.node.split(".");if(pm[0]===void 0||pm[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var _U=Number.parseInt(pm[0],10),_he=Number.parseInt(pm[1],10),$U=10,$he=10,efe=_U>$U,tfe=_U===$U&&_he>=$he;fm.IS_SUPPORT_READDIR_WITH_FILE_TYPES=efe||tfe});var t1=C(dm=>{"use strict";Object.defineProperty(dm,"__esModule",{value:!0});dm.createDirentFromStats=void 0;var e1=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function rfe(t,e){return new e1(t,e)}dm.createDirentFromStats=rfe});var u0=C(Cm=>{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.fs=void 0;var ife=t1();Cm.fs=ife});var g0=C(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.joinPathSegments=void 0;function nfe(t,e,r){return t.endsWith(r)?t+e:t+r+e}mm.joinPathSegments=nfe});var a1=C(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.readdir=Uo.readdirWithFileTypes=Uo.read=void 0;var sfe=uA(),r1=ZU(),ofe=c0(),i1=u0(),n1=g0();function afe(t,e,r){if(!e.stats&&ofe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){s1(t,e,r);return}o1(t,e,r)}Uo.read=afe;function s1(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){Im(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:n1.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){h0(r,s);return}let o=s.map(a=>Afe(a,e));r1(o,(a,l)=>{if(a!==null){Im(r,a);return}h0(r,l)})})}Uo.readdirWithFileTypes=s1;function Afe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=i1.fs.createDirentFromStats(t.name,n),r(null,t)})}}function o1(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){Im(r,i);return}let s=n.map(o=>{let a=n1.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{sfe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:i1.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});r1(s,(o,a)=>{if(o!==null){Im(r,o);return}h0(r,a)})})}Uo.readdir=o1;function Im(t,e){t(e)}function h0(t,e){t(null,e)}});var g1=C(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.readdir=Ho.readdirWithFileTypes=Ho.read=void 0;var lfe=uA(),cfe=c0(),A1=u0(),l1=g0();function ufe(t,e){return!e.stats&&cfe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?c1(t,e):u1(t,e)}Ho.read=ufe;function c1(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:l1.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=A1.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}Ho.readdirWithFileTypes=c1;function u1(t,e){return e.fs.readdirSync(t).map(i=>{let n=l1.joinPathSegments(t,i,e.pathSegmentSeparator),s=lfe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:A1.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}Ho.readdir=u1});var h1=C(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.createFileSystemAdapter=Yo.FILE_SYSTEM_ADAPTER=void 0;var Zl=require("fs");Yo.FILE_SYSTEM_ADAPTER={lstat:Zl.lstat,stat:Zl.stat,lstatSync:Zl.lstatSync,statSync:Zl.statSync,readdir:Zl.readdir,readdirSync:Zl.readdirSync};function gfe(t){return t===void 0?Yo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Yo.FILE_SYSTEM_ADAPTER),t)}Yo.createFileSystemAdapter=gfe});var p1=C(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});var hfe=require("path"),ffe=uA(),pfe=h1(),f1=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=pfe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,hfe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new ffe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};f0.default=f1});var Em=C(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.Settings=Go.scandirSync=Go.scandir=void 0;var d1=a1(),dfe=g1(),p0=p1();Go.Settings=p0.default;function Cfe(t,e,r){if(typeof e=="function"){d1.read(t,d0(),e);return}d1.read(t,d0(e),r)}Go.scandir=Cfe;function mfe(t,e){let r=d0(e);return dfe.read(t,r)}Go.scandirSync=mfe;function d0(t={}){return t instanceof p0.default?t:new p0.default(t)}});var m1=C((b6e,C1)=>{"use strict";function Ife(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}C1.exports=Ife});var E1=C((D6e,C0)=>{"use strict";var Efe=m1();function I1(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=Efe(yfe),n=null,s=null,o=0,a=null,l={push:m,drain:is,saturated:is,pause:u,paused:!1,concurrency:r,running:c,resume:f,idle:p,length:g,getQueue:h,unshift:I,empty:is,kill:w,killAndDrain:x,error:F};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var N=n,K=0;N;)N=N.next,K++;return K}function h(){for(var N=n,K=[];N;)K.push(N.value),N=N.next;return K}function f(){if(!!l.paused){l.paused=!1;for(var N=0;N{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.joinPathSegments=ns.replacePathSegmentSeparator=ns.isAppliedFilter=ns.isFatalError=void 0;function wfe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}ns.isFatalError=wfe;function Qfe(t,e){return t===null||t(e)}ns.isAppliedFilter=Qfe;function bfe(t,e){return t.split(/[/\\]/).join(e)}ns.replacePathSegmentSeparator=bfe;function Dfe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}ns.joinPathSegments=Dfe});var I0=C(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var Sfe=ym(),y1=class{constructor(e,r){this._root=e,this._settings=r,this._root=Sfe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};m0.default=y1});var y0=C(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var xfe=require("events"),Pfe=Em(),kfe=E1(),Bm=ym(),vfe=I0(),B1=class extends vfe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=Pfe.scandir,this._emitter=new xfe.EventEmitter,this._queue=kfe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Bm.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Bm.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Bm.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Bm.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};E0.default=B1});var Q1=C(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});var Ffe=y0(),w1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Ffe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Rfe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{Lfe(e,[...this._storage])}),this._reader.read()}};B0.default=w1;function Rfe(t,e){t(e)}function Lfe(t,e){t(null,e)}});var D1=C(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});var Nfe=require("stream"),Mfe=y0(),b1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Mfe.default(this._root,this._settings),this._stream=new Nfe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};w0.default=b1});var x1=C(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});var Ofe=Em(),wm=ym(),Kfe=I0(),S1=class extends Kfe.default{constructor(){super(...arguments);this._scandir=Ofe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!wm.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=wm.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),wm.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&wm.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};Q0.default=S1});var k1=C(b0=>{"use strict";Object.defineProperty(b0,"__esModule",{value:!0});var Tfe=x1(),P1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Tfe.default(this._root,this._settings)}read(){return this._reader.read()}};b0.default=P1});var F1=C(D0=>{"use strict";Object.defineProperty(D0,"__esModule",{value:!0});var Ufe=require("path"),Hfe=Em(),v1=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Ufe.sep),this.fsScandirSettings=new Hfe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};D0.default=v1});var x0=C(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.Settings=ss.walkStream=ss.walkSync=ss.walk=void 0;var R1=Q1(),Yfe=D1(),Gfe=k1(),S0=F1();ss.Settings=S0.default;function jfe(t,e,r){if(typeof e=="function"){new R1.default(t,Qm()).read(e);return}new R1.default(t,Qm(e)).read(r)}ss.walk=jfe;function qfe(t,e){let r=Qm(e);return new Gfe.default(t,r).read()}ss.walkSync=qfe;function Jfe(t,e){let r=Qm(e);return new Yfe.default(t,r).read()}ss.walkStream=Jfe;function Qm(t={}){return t instanceof S0.default?t:new S0.default(t)}});var k0=C(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var Wfe=require("path"),zfe=uA(),L1=js(),N1=class{constructor(e){this._settings=e,this._fsStatSettings=new zfe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Wfe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:L1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!L1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};P0.default=N1});var F0=C(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var Vfe=require("stream"),Xfe=uA(),Zfe=x0(),_fe=k0(),M1=class extends _fe.default{constructor(){super(...arguments);this._walkStream=Zfe.walkStream,this._stat=Xfe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Vfe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};v0.default=M1});var K1=C(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var _l=js(),O1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=_l.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return _l.pattern.getPatternParts(e,this._micromatchOptions).map(i=>_l.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:_l.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return _l.array.splitWhen(e,r=>r.dynamic&&_l.pattern.hasGlobStar(r.pattern))}};R0.default=O1});var U1=C(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});var $fe=K1(),T1=class extends $fe.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};L0.default=T1});var Y1=C(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var bm=js(),epe=U1(),H1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new epe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(bm.pattern.isAffectDepthOfReadingPattern);return bm.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=bm.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!bm.pattern.matchAny(e,r)}};N0.default=H1});var j1=C(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var fh=js(),G1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=fh.pattern.convertPatternsToRe(e,this._micromatchOptions),n=fh.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=fh.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=fh.path.removeLeadingDotSegment(e);return fh.pattern.matchAny(i,r)}};M0.default=G1});var J1=C(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});var tpe=js(),q1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return tpe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};O0.default=q1});var V1=C(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var W1=js(),z1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=W1.path.makeAbsolute(this._settings.cwd,r),r=W1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};K0.default=z1});var Dm=C(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});var rpe=require("path"),ipe=Y1(),npe=j1(),spe=J1(),ope=V1(),X1=class{constructor(e){this._settings=e,this.errorFilter=new spe.default(this._settings),this.entryFilter=new npe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ipe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ope.default(this._settings)}_getRootDirectory(e){return rpe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};T0.default=X1});var _1=C(U0=>{"use strict";Object.defineProperty(U0,"__esModule",{value:!0});var ape=F0(),Ape=Dm(),Z1=class extends Ape.default{constructor(){super(...arguments);this._reader=new ape.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};U0.default=Z1});var e2=C(H0=>{"use strict";Object.defineProperty(H0,"__esModule",{value:!0});var lpe=require("stream"),cpe=F0(),upe=Dm(),$1=class extends upe.default{constructor(){super(...arguments);this._reader=new cpe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new lpe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};H0.default=$1});var r2=C(Y0=>{"use strict";Object.defineProperty(Y0,"__esModule",{value:!0});var gpe=uA(),hpe=x0(),fpe=k0(),t2=class extends fpe.default{constructor(){super(...arguments);this._walkSync=hpe.walkSync,this._statSync=gpe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};Y0.default=t2});var n2=C(G0=>{"use strict";Object.defineProperty(G0,"__esModule",{value:!0});var ppe=r2(),dpe=Dm(),i2=class extends dpe.default{constructor(){super(...arguments);this._reader=new ppe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};G0.default=i2});var o2=C(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});var $l=require("fs"),Cpe=require("os"),mpe=Cpe.cpus().length;ph.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:$l.lstat,lstatSync:$l.lstatSync,stat:$l.stat,statSync:$l.statSync,readdir:$l.readdir,readdirSync:$l.readdirSync};var s2=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,mpe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},ph.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};ph.default=s2});var Sm=C((X6e,a2)=>{"use strict";var A2=YU(),Ipe=_1(),Epe=e2(),ype=n2(),j0=o2(),gA=js();async function J0(t,e){ec(t);let r=q0(t,Ipe.default,e),i=await Promise.all(r);return gA.array.flatten(i)}(function(t){function e(o,a){ec(o);let l=q0(o,ype.default,a);return gA.array.flatten(l)}t.sync=e;function r(o,a){ec(o);let l=q0(o,Epe.default,a);return gA.stream.merge(l)}t.stream=r;function i(o,a){ec(o);let l=[].concat(o),c=new j0.default(a);return A2.generate(l,c)}t.generateTasks=i;function n(o,a){ec(o);let l=new j0.default(a);return gA.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return ec(o),gA.path.escape(o)}t.escapePath=s})(J0||(J0={}));function q0(t,e,r){let i=[].concat(t),n=new j0.default(r),s=A2.generate(i,n),o=new e(n);return s.map(o.read,o)}function ec(t){if(![].concat(t).every(i=>gA.string.isString(i)&&!gA.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}a2.exports=J0});var c2=C(hA=>{"use strict";var{promisify:Bpe}=require("util"),l2=require("fs");async function W0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await Bpe(l2[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function z0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return l2[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}hA.isFile=W0.bind(null,"stat","isFile");hA.isDirectory=W0.bind(null,"stat","isDirectory");hA.isSymlink=W0.bind(null,"lstat","isSymbolicLink");hA.isFileSync=z0.bind(null,"statSync","isFile");hA.isDirectorySync=z0.bind(null,"statSync","isDirectory");hA.isSymlinkSync=z0.bind(null,"lstatSync","isSymbolicLink")});var p2=C((_6e,V0)=>{"use strict";var fA=require("path"),u2=c2(),g2=t=>t.length>1?`{${t.join(",")}}`:t[0],h2=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return fA.isAbsolute(r)?r:fA.join(e,r)},wpe=(t,e)=>fA.extname(t)?`**/${t}`:`**/${t}.${g2(e)}`,f2=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>fA.posix.join(t,wpe(r,e.extensions))):e.files?e.files.map(r=>fA.posix.join(t,`**/${r}`)):e.extensions?[fA.posix.join(t,`**/*.${g2(e.extensions)}`)]:[fA.posix.join(t,"**")]};V0.exports=async(t,e)=>{if(e=k({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await u2.isDirectory(h2(i,e.cwd))?f2(i,e):i));return[].concat.apply([],r)};V0.exports.sync=(t,e)=>{if(e=k({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>u2.isDirectorySync(h2(i,e.cwd))?f2(i,e):i);return[].concat.apply([],r)}});var w2=C(($6e,d2)=>{function C2(t){return Array.isArray(t)?t:[t]}var Qpe=/^\s+$/,bpe=/^\\!/,Dpe=/^\\#/,Spe=/\r?\n/g,xpe=/^\.*\/|^\.+$/,X0="/",m2=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",Ppe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),kpe=/([0-z])-([0-z])/g,vpe=t=>t.replace(kpe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),Fpe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${vpe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],I2=Object.create(null),Rpe=(t,e,r)=>{let i=I2[t];if(i)return i;let n=Fpe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return I2[t]=r?new RegExp(n,"i"):new RegExp(n)},Z0=t=>typeof t=="string",Lpe=t=>t&&Z0(t)&&!Qpe.test(t)&&t.indexOf("#")!==0,Npe=t=>t.split(Spe),E2=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Mpe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(bpe,"!").replace(Dpe,"#");let n=Rpe(t,i,e);return new E2(r,t,i,n)},Ope=(t,e)=>{throw new e(t)},Js=(t,e,r)=>Z0(t)?t?Js.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),y2=t=>xpe.test(t);Js.isNotRelative=y2;Js.convert=t=>t;var B2=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,Ppe(this,m2,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[m2]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Lpe(e)){let r=Mpe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,C2(Z0(e)?Npe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Js.convert(e);return Js(s,e,Ope),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(X0)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(X0)+X0,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return C2(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},xm=t=>new B2(t),Kpe=()=>!1,Tpe=t=>Js(t&&Js.convert(t),t,Kpe);xm.isPathValid=Tpe;xm.default=xm;d2.exports=xm;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Js.convert=t;let e=/^[a-z]:\//i;Js.isNotRelative=r=>e.test(r)||y2(r)}});var b2=C((eVe,Q2)=>{"use strict";Q2.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var F2=C((tVe,_0)=>{"use strict";var{promisify:Upe}=require("util"),D2=require("fs"),Ws=require("path"),S2=Sm(),Hpe=w2(),dh=b2(),x2=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Ype=Upe(D2.readFile),Gpe=t=>e=>e.startsWith("!")?"!"+Ws.posix.join(t,e.slice(1)):Ws.posix.join(t,e),jpe=(t,e)=>{let r=dh(Ws.relative(e.cwd,Ws.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(Gpe(r))},P2=t=>{let e=Hpe();for(let r of t)e.add(jpe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},qpe=(t,e)=>{if(t=dh(t),Ws.isAbsolute(e)){if(dh(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Ws.join(t,e)},k2=(t,e)=>r=>t.ignores(dh(Ws.relative(e,qpe(e,r.path||r)))),Jpe=async(t,e)=>{let r=Ws.join(e,t),i=await Ype(r,"utf8");return{cwd:e,filePath:r,content:i}},Wpe=(t,e)=>{let r=Ws.join(e,t),i=D2.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},v2=({ignore:t=[],cwd:e=dh(process.cwd())}={})=>({ignore:t,cwd:e});_0.exports=async t=>{t=v2(t);let e=await S2("**/.gitignore",{ignore:x2.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Jpe(n,t.cwd))),i=P2(r);return k2(i,t.cwd)};_0.exports.sync=t=>{t=v2(t);let r=S2.sync("**/.gitignore",{ignore:x2.concat(t.ignore),cwd:t.cwd}).map(n=>Wpe(n,t.cwd)),i=P2(r);return k2(i,t.cwd)}});var M2=C((rVe,R2)=>{"use strict";var{Transform:zpe}=require("stream"),$0=class extends zpe{constructor(){super({objectMode:!0})}},L2=class extends $0{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},N2=class extends $0{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};R2.exports={FilterStream:L2,UniqueStream:N2}});var ib=C((iVe,pA)=>{"use strict";var O2=require("fs"),Pm=uU(),Vpe=$Q(),km=Sm(),vm=p2(),eb=F2(),{FilterStream:Xpe,UniqueStream:Zpe}=M2(),K2=()=>!1,T2=t=>t[0]==="!",_pe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},$pe=(t={})=>{if(!t.cwd)return;let e;try{e=O2.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},ede=t=>t.stats instanceof O2.Stats?t.path:t,Fm=(t,e)=>{t=Pm([].concat(t)),_pe(t),$pe(e);let r=[];e=k({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(T2(n))continue;let s=t.slice(i).filter(a=>T2(a)).map(a=>a.slice(1)),o=V(k({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},tde=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=V(k({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=k(k({},r),t.options.expandDirectories)),e(t.pattern,r)},tb=(t,e)=>t.options.expandDirectories?tde(t,e):[t.pattern],U2=t=>t&&t.gitignore?eb.sync({cwd:t.cwd,ignore:t.ignore}):K2,rb=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=vm.sync(r.ignore)),{pattern:e,options:r}};pA.exports=async(t,e)=>{let r=Fm(t,e),i=async()=>e&&e.gitignore?eb({cwd:e.cwd,ignore:e.ignore}):K2,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await tb(c,vm);return Promise.all(u.map(rb(c)))}));return Pm(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>km(l.pattern,l.options)));return Pm(...a).filter(l=>!s(ede(l)))};pA.exports.sync=(t,e)=>{let r=Fm(t,e),i=[];for(let o of r){let a=tb(o,vm.sync).map(rb(o));i.push(...a)}let n=U2(e),s=[];for(let o of i)s=Pm(s,km.sync(o.pattern,o.options));return s.filter(o=>!n(o))};pA.exports.stream=(t,e)=>{let r=Fm(t,e),i=[];for(let a of r){let l=tb(a,vm.sync).map(rb(a));i.push(...l)}let n=U2(e),s=new Xpe(a=>!n(a)),o=new Zpe;return Vpe(i.map(a=>km.stream(a.pattern,a.options))).pipe(s).pipe(o)};pA.exports.generateGlobTasks=Fm;pA.exports.hasMagic=(t,e)=>[].concat(t).some(r=>km.isDynamicPattern(r,e));pA.exports.gitignore=eb});var Vs=C((zs,qm)=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var V2=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function fde(t){return V2.includes(t)}var pde=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...V2];function dde(t){return pde.includes(t)}var Cde=["null","undefined","string","number","bigint","boolean","symbol"];function mde(t){return Cde.includes(t)}function ac(t){return e=>typeof e===t}var{toString:X2}=Object.prototype,Sh=t=>{let e=X2.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&q.domElement(t))return"HTMLElement";if(dde(e))return e},Vt=t=>e=>Sh(e)===t;function q(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(q.observable(t))return"Observable";if(q.array(t))return"Array";if(q.buffer(t))return"Buffer";let e=Sh(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}q.undefined=ac("undefined");q.string=ac("string");var Ide=ac("number");q.number=t=>Ide(t)&&!q.nan(t);q.bigint=ac("bigint");q.function_=ac("function");q.null_=t=>t===null;q.class_=t=>q.function_(t)&&t.toString().startsWith("class ");q.boolean=t=>t===!0||t===!1;q.symbol=ac("symbol");q.numericString=t=>q.string(t)&&!q.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));q.array=(t,e)=>Array.isArray(t)?q.function_(e)?t.every(e):!0:!1;q.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};q.nullOrUndefined=t=>q.null_(t)||q.undefined(t);q.object=t=>!q.null_(t)&&(typeof t=="object"||q.function_(t));q.iterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};q.asyncIterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};q.generator=t=>q.iterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.asyncGenerator=t=>q.asyncIterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.nativePromise=t=>Vt("Promise")(t);var Ede=t=>{var e,r;return q.function_((e=t)===null||e===void 0?void 0:e.then)&&q.function_((r=t)===null||r===void 0?void 0:r.catch)};q.promise=t=>q.nativePromise(t)||Ede(t);q.generatorFunction=Vt("GeneratorFunction");q.asyncGeneratorFunction=t=>Sh(t)==="AsyncGeneratorFunction";q.asyncFunction=t=>Sh(t)==="AsyncFunction";q.boundFunction=t=>q.function_(t)&&!t.hasOwnProperty("prototype");q.regExp=Vt("RegExp");q.date=Vt("Date");q.error=Vt("Error");q.map=t=>Vt("Map")(t);q.set=t=>Vt("Set")(t);q.weakMap=t=>Vt("WeakMap")(t);q.weakSet=t=>Vt("WeakSet")(t);q.int8Array=Vt("Int8Array");q.uint8Array=Vt("Uint8Array");q.uint8ClampedArray=Vt("Uint8ClampedArray");q.int16Array=Vt("Int16Array");q.uint16Array=Vt("Uint16Array");q.int32Array=Vt("Int32Array");q.uint32Array=Vt("Uint32Array");q.float32Array=Vt("Float32Array");q.float64Array=Vt("Float64Array");q.bigInt64Array=Vt("BigInt64Array");q.bigUint64Array=Vt("BigUint64Array");q.arrayBuffer=Vt("ArrayBuffer");q.sharedArrayBuffer=Vt("SharedArrayBuffer");q.dataView=Vt("DataView");q.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;q.urlInstance=t=>Vt("URL")(t);q.urlString=t=>{if(!q.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};q.truthy=t=>Boolean(t);q.falsy=t=>!t;q.nan=t=>Number.isNaN(t);q.primitive=t=>q.null_(t)||mde(typeof t);q.integer=t=>Number.isInteger(t);q.safeInteger=t=>Number.isSafeInteger(t);q.plainObject=t=>{if(X2.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};q.typedArray=t=>fde(Sh(t));var yde=t=>q.safeInteger(t)&&t>=0;q.arrayLike=t=>!q.nullOrUndefined(t)&&!q.function_(t)&&yde(t.length);q.inRange=(t,e)=>{if(q.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(q.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Bde=1,wde=["innerHTML","ownerDocument","style","attributes","nodeValue"];q.domElement=t=>q.object(t)&&t.nodeType===Bde&&q.string(t.nodeName)&&!q.plainObject(t)&&wde.every(e=>e in t);q.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};q.nodeStream=t=>q.object(t)&&q.function_(t.pipe)&&!q.observable(t);q.infinite=t=>t===Infinity||t===-Infinity;var Z2=t=>e=>q.integer(e)&&Math.abs(e%2)===t;q.evenInteger=Z2(0);q.oddInteger=Z2(1);q.emptyArray=t=>q.array(t)&&t.length===0;q.nonEmptyArray=t=>q.array(t)&&t.length>0;q.emptyString=t=>q.string(t)&&t.length===0;q.nonEmptyString=t=>q.string(t)&&t.length>0;var Qde=t=>q.string(t)&&!/\S/.test(t);q.emptyStringOrWhitespace=t=>q.emptyString(t)||Qde(t);q.emptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length===0;q.nonEmptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length>0;q.emptySet=t=>q.set(t)&&t.size===0;q.nonEmptySet=t=>q.set(t)&&t.size>0;q.emptyMap=t=>q.map(t)&&t.size===0;q.nonEmptyMap=t=>q.map(t)&&t.size>0;var _2=(t,e,r)=>{if(!q.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};q.any=(t,...e)=>(q.array(t)?t:[t]).some(i=>_2(Array.prototype.some,i,e));q.all=(t,...e)=>_2(Array.prototype.every,t,e);var Re=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${q(r)}\`.`)};zs.assert={undefined:t=>Re(q.undefined(t),"undefined",t),string:t=>Re(q.string(t),"string",t),number:t=>Re(q.number(t),"number",t),bigint:t=>Re(q.bigint(t),"bigint",t),function_:t=>Re(q.function_(t),"Function",t),null_:t=>Re(q.null_(t),"null",t),class_:t=>Re(q.class_(t),"Class",t),boolean:t=>Re(q.boolean(t),"boolean",t),symbol:t=>Re(q.symbol(t),"symbol",t),numericString:t=>Re(q.numericString(t),"string with a number",t),array:(t,e)=>{Re(q.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Re(q.buffer(t),"Buffer",t),nullOrUndefined:t=>Re(q.nullOrUndefined(t),"null or undefined",t),object:t=>Re(q.object(t),"Object",t),iterable:t=>Re(q.iterable(t),"Iterable",t),asyncIterable:t=>Re(q.asyncIterable(t),"AsyncIterable",t),generator:t=>Re(q.generator(t),"Generator",t),asyncGenerator:t=>Re(q.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Re(q.nativePromise(t),"native Promise",t),promise:t=>Re(q.promise(t),"Promise",t),generatorFunction:t=>Re(q.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Re(q.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Re(q.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Re(q.boundFunction(t),"Function",t),regExp:t=>Re(q.regExp(t),"RegExp",t),date:t=>Re(q.date(t),"Date",t),error:t=>Re(q.error(t),"Error",t),map:t=>Re(q.map(t),"Map",t),set:t=>Re(q.set(t),"Set",t),weakMap:t=>Re(q.weakMap(t),"WeakMap",t),weakSet:t=>Re(q.weakSet(t),"WeakSet",t),int8Array:t=>Re(q.int8Array(t),"Int8Array",t),uint8Array:t=>Re(q.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Re(q.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Re(q.int16Array(t),"Int16Array",t),uint16Array:t=>Re(q.uint16Array(t),"Uint16Array",t),int32Array:t=>Re(q.int32Array(t),"Int32Array",t),uint32Array:t=>Re(q.uint32Array(t),"Uint32Array",t),float32Array:t=>Re(q.float32Array(t),"Float32Array",t),float64Array:t=>Re(q.float64Array(t),"Float64Array",t),bigInt64Array:t=>Re(q.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Re(q.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Re(q.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Re(q.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Re(q.dataView(t),"DataView",t),urlInstance:t=>Re(q.urlInstance(t),"URL",t),urlString:t=>Re(q.urlString(t),"string with a URL",t),truthy:t=>Re(q.truthy(t),"truthy",t),falsy:t=>Re(q.falsy(t),"falsy",t),nan:t=>Re(q.nan(t),"NaN",t),primitive:t=>Re(q.primitive(t),"primitive",t),integer:t=>Re(q.integer(t),"integer",t),safeInteger:t=>Re(q.safeInteger(t),"integer",t),plainObject:t=>Re(q.plainObject(t),"plain object",t),typedArray:t=>Re(q.typedArray(t),"TypedArray",t),arrayLike:t=>Re(q.arrayLike(t),"array-like",t),domElement:t=>Re(q.domElement(t),"HTMLElement",t),observable:t=>Re(q.observable(t),"Observable",t),nodeStream:t=>Re(q.nodeStream(t),"Node.js Stream",t),infinite:t=>Re(q.infinite(t),"infinite number",t),emptyArray:t=>Re(q.emptyArray(t),"empty array",t),nonEmptyArray:t=>Re(q.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Re(q.emptyString(t),"empty string",t),nonEmptyString:t=>Re(q.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Re(q.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Re(q.emptyObject(t),"empty object",t),nonEmptyObject:t=>Re(q.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Re(q.emptySet(t),"empty set",t),nonEmptySet:t=>Re(q.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Re(q.emptyMap(t),"empty map",t),nonEmptyMap:t=>Re(q.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Re(q.evenInteger(t),"even integer",t),oddInteger:t=>Re(q.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Re(q.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Re(q.inRange(t,e),"in range",t),any:(t,...e)=>Re(q.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Re(q.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(q,{class:{value:q.class_},function:{value:q.function_},null:{value:q.null_}});Object.defineProperties(zs.assert,{class:{value:zs.assert.class_},function:{value:zs.assert.function_},null:{value:zs.assert.null_}});zs.default=q;qm.exports=q;qm.exports.default=q;qm.exports.assert=zs.assert});var $2=C((QVe,Cb)=>{"use strict";var mb=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},xh=class{static fn(e){return(...r)=>new xh((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new mb(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(xh.prototype,Promise.prototype);Cb.exports=xh;Cb.exports.CancelError=mb});var eH=C((Ib,Eb)=>{"use strict";Object.defineProperty(Ib,"__esModule",{value:!0});var bde=require("tls"),yb=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof bde.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Ib.default=yb;Eb.exports=yb;Eb.exports.default=yb});var tH=C((Bb,wb)=>{"use strict";Object.defineProperty(Bb,"__esModule",{value:!0});var Dde=eH(),Sde=Number(process.versions.node.split(".")[0]),Qb=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Sde>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Dde.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Bb.default=Qb;wb.exports=Qb;wb.exports.default=Qb});var AH=C((bVe,bb)=>{"use strict";var{V4MAPPED:xde,ADDRCONFIG:Pde,ALL:rH,promises:{Resolver:iH},lookup:kde}=require("dns"),{promisify:Db}=require("util"),vde=require("os"),Ac=Symbol("cacheableLookupCreateConnection"),Sb=Symbol("cacheableLookupInstance"),nH=Symbol("expires"),Fde=typeof rH=="number",sH=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Rde=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},oH=()=>{let t=!1,e=!1;for(let r of Object.values(vde.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Lde=t=>Symbol.iterator in t,aH={ttl:!0},Nde={all:!0},xb=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new iH,lookup:o=kde}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Db(o),this._resolver instanceof iH?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Db(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Db(this._resolver.resolve6.bind(this._resolver))),this._iface=oH(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&xde&&(Fde&&r.hints&rH||n.length===0)?Rde(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&Pde){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>k({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,aH),this._resolve6(e,aH)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[nH]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Lde(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Nde);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[nH];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Ac](r,i))}uninstall(e){if(sH(e),e[Ac]){if(e[Sb]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Ac],delete e[Ac],delete e[Sb]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=oH(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};bb.exports=xb;bb.exports.default=xb});var uH=C((DVe,Pb)=>{"use strict";var Mde=typeof URL=="undefined"?require("url").URL:URL,Ode="text/plain",Kde="us-ascii",lH=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Tde=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,h=""]=u.split("=").map(f=>f.trim());return g==="charset"&&(h=h.toLowerCase(),h===Kde)?"":`${g}${h?`=${h}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Ode)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},cH=(t,e)=>{if(e=k({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Tde(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Mde(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];lH(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])lH(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Pb.exports=cH;Pb.exports.default=cH});var fH=C((SVe,gH)=>{gH.exports=hH;function hH(t,e){if(t&&e)return hH(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var pH=fH();kb.exports=pH(Jm);kb.exports.strict=pH(dH);Jm.proto=Jm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Jm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return dH(this)},configurable:!0})});function Jm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function dH(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Fb=C((PVe,CH)=>{var Ude=vb(),Hde=function(){},Yde=function(t){return t.setHeader&&typeof t.abort=="function"},Gde=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},mH=function(t,e,r){if(typeof e=="function")return mH(t,null,e);e||(e={}),r=Ude(r||Hde);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},h=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},f=function(){t.req.on("finish",l)};return Yde(t)?(t.on("complete",l),t.on("abort",h),t.req?f():t.on("request",f)):o&&!i&&(t.on("end",a),t.on("close",a)),Gde(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",h),function(){t.removeListener("complete",l),t.removeListener("abort",h),t.removeListener("request",f),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",h)}};CH.exports=mH});var yH=C((kVe,IH)=>{var jde=vb(),qde=Fb(),Rb=require("fs"),Ph=function(){},Jde=/^v?\.0/.test(process.version),Wm=function(t){return typeof t=="function"},Wde=function(t){return!Jde||!Rb?!1:(t instanceof(Rb.ReadStream||Ph)||t instanceof(Rb.WriteStream||Ph))&&Wm(t.close)},zde=function(t){return t.setHeader&&Wm(t.abort)},Vde=function(t,e,r,i){i=jde(i);var n=!1;t.on("close",function(){n=!0}),qde(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Wde(t))return t.close(Ph);if(zde(t))return t.abort();if(Wm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},EH=function(t){t()},Xde=function(t,e){return t.pipe(e)},Zde=function(){var t=Array.prototype.slice.call(arguments),e=Wm(t[t.length-1]||Ph)&&t.pop()||Ph;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Vde(n,o,a,function(l){r||(r=l),l&&i.forEach(EH),!o&&(i.forEach(EH),e(r))})});return t.reduce(Xde)};IH.exports=Zde});var wH=C((vVe,BH)=>{"use strict";var{PassThrough:_de}=require("stream");BH.exports=t=>{t=k({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new _de({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var QH=C((FVe,lc)=>{"use strict";var $de=yH(),eCe=wH(),Lb=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function zm(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=k({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=$de(t,eCe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Lb)})}),i.getBufferedValue()}lc.exports=zm;lc.exports.default=zm;lc.exports.buffer=(t,e)=>zm(t,V(k({},e),{encoding:"buffer"}));lc.exports.array=(t,e)=>zm(t,V(k({},e),{array:!0}));lc.exports.MaxBufferError=Lb});var DH=C((LVe,bH)=>{"use strict";var tCe=[200,203,204,206,300,301,404,405,410,414,501],rCe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],iCe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},nCe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Nb(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function sCe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}bH.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=Nb(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=Nb(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":sCe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&rCe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||tCe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=Nb(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)iCe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!nCe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Vm=C((NVe,SH)=>{"use strict";SH.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var kH=C((MVe,xH)=>{"use strict";var oCe=require("stream").Readable,aCe=Vm(),PH=class extends oCe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=aCe(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};xH.exports=PH});var FH=C((OVe,vH)=>{"use strict";var ACe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];vH.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(ACe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var LH=C((KVe,RH)=>{"use strict";var lCe=require("stream").PassThrough,cCe=FH(),uCe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new lCe;return cCe(t,e),t.pipe(e)};RH.exports=uCe});var NH=C(Mb=>{Mb.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};Mb.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var TH=C((UVe,MH)=>{"use strict";var gCe=require("events"),OH=NH(),hCe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},KH=class extends gCe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:OH.stringify,deserialize:OH.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=hCe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};MH.exports=KH});var YH=C((HVe,UH)=>{"use strict";var fCe=require("events"),Xm=require("url"),pCe=uH(),dCe=QH(),Ob=DH(),HH=kH(),CCe=Vm(),mCe=LH(),ICe=TH(),as=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new ICe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=Kb(Xm.parse(r)),r={};else if(r instanceof Xm.URL)n=Kb(Xm.parse(r.toString())),r={};else{let[g,...h]=(r.path||"").split("?"),f=h.length>0?`?${h.join("?")}`:"";n=Kb(V(k({},r),{pathname:g,search:f}))}r=k(k({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),ECe(n)),r.headers=CCe(r.headers);let s=new fCe,o=pCe(Xm.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let h=!1,f,p=new Promise(I=>{f=()=>{h||(h=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let w=Ob.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!w.modified){let x=w.policy.responseHeaders();I=new HH(l.statusCode,x,l.body,l.url),I.cachePolicy=w.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new Ob(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=mCe(I),(async()=>{try{let w=dCe.buffer(I);if(await Promise.race([p,new Promise(K=>I.once("end",K))]),h)return;let x=await w,F={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:x},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,F,N)}catch(w){s.emit("error",new as.CacheError(w))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(w){s.emit("error",new as.CacheError(w))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",f),I.once("abort",f),s.emit("request",I)}catch(I){s.emit("error",new as.RequestError(I))}};return(async()=>{let g=async f=>{await Promise.resolve();let p=f.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(f);let m=Ob.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(f)&&!f.forceRefresh){let I=m.responseHeaders(),y=new HH(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,f.headers=m.revalidationHeaders(f),u(f)},h=f=>s.emit("error",new as.CacheError(f));this.cache.once("error",h),s.on("response",()=>this.cache.removeListener("error",h));try{await g(r)}catch(f){r.automaticFailover&&!c&&u(r),s.emit("error",new as.CacheError(f))}})(),s}}};function ECe(t){let e=k({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function Kb(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}as.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};as.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};UH.exports=as});var jH=C((YVe,GH)=>{"use strict";var yCe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];GH.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(yCe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var JH=C((GVe,qH)=>{"use strict";var{Transform:BCe,PassThrough:wCe}=require("stream"),Tb=require("zlib"),QCe=jH();qH.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Tb.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new BCe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new wCe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Tb.createBrotliDecompress():Tb.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),QCe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var Ub=C((jVe,WH)=>{"use strict";var zH=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};WH.exports=zH});var Yb=C((qVe,VH)=>{"use strict";var bCe=require("events"),DCe=require("tls"),SCe=require("http2"),xCe=Ub(),li=Symbol("currentStreamsCount"),XH=Symbol("request"),hn=Symbol("cachedOriginSet"),cc=Symbol("gracefullyClosing"),PCe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],kCe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},vCe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Hb=(t,e)=>{for(let r of t)r[hn].lengthe[hn].includes(i))&&r[li]+e[li]<=e.remoteSettings.maxConcurrentStreams&&ZH(r)},FCe=(t,e)=>{for(let r of t)e[hn].lengthr[hn].includes(i))&&e[li]+r[li]<=r.remoteSettings.maxConcurrentStreams&&ZH(e)},_H=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Xs.kCurrentStreamsCount]{t[cc]=!0,t[li]===0&&t.close()},Xs=class extends bCe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new xCe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of PCe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=Xs.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,h=-1,f;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[cc]||p.destroyed)continue;f||(g=m),I>h&&(f=p,h=I)}}if(f){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(f);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let h=SCe.connect(e,k({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));h[li]=0,h[cc]=!1;let f=()=>h[li]{this.tlsSessionCache.set(u,I)}),h.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),h.setTimeout(this.timeout,()=>{h.destroy()}),h.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(h),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!f())){for(let I of h[hn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&f();)y.shift().resolve(h);let w=this.queue[o];if(w[I].listeners.length===0&&(delete w[I],Object.keys(w).length===0)){delete this.queue[o];break}if(!f())break}}};h.on("origin",()=>{h[hn]=h.originSet,!!f()&&(m(),Hb(this.sessions[o],h))}),h.once("remoteSettings",()=>{if(h.ref(),h.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);h.destroy();return}h[hn]=h.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(kCe(y,h,vCe),0,h)}else I[o]=[h]}this._freeSessionsCount+=1,g=!0,this.emit("session",h),m(),l(),h[li]===0&&this._freeSessionsCount>this.maxFreeSessions&&h.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),h.on("remoteSettings",()=>{m(),Hb(this.sessions[o],h)})}),h[XH]=h.request,h.request=(I,y)=>{if(h[cc])throw new Error("The session is gracefully closing. No new streams are allowed.");let w=h[XH](I,y);return h.ref(),++h[li],h[li]===h.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,w.once("close",()=>{if(p=f(),--h[li],!h.destroyed&&!h.closed&&(FCe(this.sessions[o],h),f()&&!h.closed)){p||(this._freeSessionsCount++,p=!0);let x=h[li]===0;x&&h.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||h[cc])?h.close():(Hb(this.sessions[o],h),m())}}),w}}catch(h){for(let f of i)f.reject(h);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Xs.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),DCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[li]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return _H({agent:this,isFree:!0})}get busySessions(){return _H({agent:this,isFree:!1})}};Xs.kCurrentStreamsCount=li;Xs.kGracefullyClosing=cc;VH.exports={Agent:Xs,globalAgent:new Xs}});var Gb=C((JVe,$H)=>{"use strict";var{Readable:RCe}=require("stream"),eY=class extends RCe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};$H.exports=eY});var jb=C((WVe,tY)=>{"use strict";tY.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var iY=C((zVe,rY)=>{"use strict";rY.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var sY=C((VVe,nY)=>{"use strict";nY.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var aY=C((ZVe,oY)=>{"use strict";var uc=(t,e,r)=>{oY.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};uc(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});uc(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);uc(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);uc(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);uc(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);uc(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var zb=C((_Ve,AY)=>{"use strict";var LCe=require("http2"),{Writable:NCe}=require("stream"),{Agent:lY,globalAgent:MCe}=Yb(),OCe=Gb(),KCe=jb(),TCe=iY(),UCe=sY(),{ERR_INVALID_ARG_TYPE:qb,ERR_INVALID_PROTOCOL:HCe,ERR_HTTP_HEADERS_SENT:cY,ERR_INVALID_HTTP_TOKEN:YCe,ERR_HTTP_INVALID_HEADER_VALUE:GCe,ERR_INVALID_CHAR:jCe}=aY(),{HTTP2_HEADER_STATUS:uY,HTTP2_HEADER_METHOD:gY,HTTP2_HEADER_PATH:hY,HTTP2_METHOD_CONNECT:qCe}=LCe.constants,Jr=Symbol("headers"),Jb=Symbol("origin"),Wb=Symbol("session"),fY=Symbol("options"),Zm=Symbol("flushedHeaders"),kh=Symbol("jobs"),JCe=/^[\^`\-\w!#$%&*+.|~]+$/,WCe=/[^\t\u0020-\u007E\u0080-\u00FF]/,pY=class extends NCe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=KCe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:k({},e)):r=k(k({},e),r),r.h2session)this[Wb]=r.h2session;else if(r.agent===!1)this.agent=new lY({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new lY({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=MCe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new qb("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new HCe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Jr]=Object.create(null),this[kh]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Jr])&&(this[Jr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[fY]=r,s===443?(this[Jb]=`https://${o}`,":authority"in this[Jr]||(this[Jr][":authority"]=o)):(this[Jb]=`https://${o}:${s}`,":authority"in this[Jr]||(this[Jr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Zm]=!1}get method(){return this[Jr][gY]}set method(e){e&&(this[Jr][gY]=e.toUpperCase())}get path(){return this[Jr][hY]}set path(e){e&&(this[Jr][hY]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[kh].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[kh].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Zm]||this.destroyed)return;this[Zm]=!0;let e=this.method===qCe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||TCe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new OCe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[uY],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[uY]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[kh])o();this.emit("socket",this.socket)};if(this[Wb])try{r(this[Wb].request(this[Jr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[Jb],this[fY],this[Jr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qb("name","string",e);return this[Jr][e.toLowerCase()]}get headersSent(){return this[Zm]}removeHeader(e){if(typeof e!="string")throw new qb("name","string",e);if(this.headersSent)throw new cY("remove");delete this[Jr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new cY("set");if(typeof e!="string"||!JCe.test(e)&&!UCe(e))throw new YCe("Header name",e);if(typeof r=="undefined")throw new GCe(r,e);if(WCe.test(r))throw new jCe("header content",e);this[Jr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[kh].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};AY.exports=pY});var CY=C(($Ve,dY)=>{"use strict";var zCe=require("tls");dY.exports=(t={})=>new Promise((e,r)=>{let i=zCe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var IY=C((e9e,mY)=>{"use strict";var VCe=require("net");mY.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),VCe.isIP(e)?"":e}});var BY=C((t9e,Vb)=>{"use strict";var EY=require("http"),Xb=require("https"),XCe=CY(),ZCe=Ub(),_Ce=zb(),$Ce=IY(),eme=jb(),_m=new ZCe({maxSize:100}),vh=new Map,yY=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},tme=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!_m.has(e)){if(vh.has(e))return(await vh.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=XCe(t);vh.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(_m.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Xb,l=Xb.Agent.prototype.createConnection;i?i.createConnection===l?yY(i,s,t):s.destroy():a.createConnection===l?yY(a,s,t):s.destroy()}return vh.delete(e),o}catch(s){throw vh.delete(e),s}}return _m.get(e)};Vb.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=eme(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=V(k(k({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||$Ce(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xb.globalAgent:EY.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await tme(e)==="h2"?(n&&(e.agent=n.http2),new _Ce(e,r)):EY.request(e,r)};Vb.exports.protocolCache=_m});var QY=C((r9e,wY)=>{"use strict";var rme=require("http2"),ime=Yb(),Zb=zb(),nme=Gb(),sme=BY(),ome=(t,e,r)=>new Zb(t,e,r),ame=(t,e,r)=>{let i=new Zb(t,e,r);return i.end(),i};wY.exports=V(k(V(k({},rme),{ClientRequest:Zb,IncomingMessage:nme}),ime),{request:ome,get:ame,auto:sme})});var $b=C(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});var bY=Vs();_b.default=t=>bY.default.nodeStream(t)&&bY.default.function_(t.getBoundary)});var PY=C(eD=>{"use strict";Object.defineProperty(eD,"__esModule",{value:!0});var DY=require("fs"),SY=require("util"),xY=Vs(),Ame=$b(),lme=SY.promisify(DY.stat);eD.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(xY.default.string(t))return Buffer.byteLength(t);if(xY.default.buffer(t))return t.length;if(Ame.default(t))return SY.promisify(t.getLength.bind(t))();if(t instanceof DY.ReadStream){let{size:r}=await lme(t.path);return r}}});var rD=C(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});function cme(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}tD.default=cme});var kY=C(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});iD.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var FY=C(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});Fh.TimeoutError=void 0;var ume=require("net"),gme=kY(),vY=Symbol("reentry"),hme=()=>{},nD=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Fh.TimeoutError=nD;Fh.default=(t,e,r)=>{if(vY in t)return hme;t[vY]=!0;let i=[],{once:n,unhandleAll:s}=gme.default(),o=(g,h,f)=>{var p;let m=setTimeout(h,g,g,f);(p=m.unref)===null||p===void 0||p.call(m);let I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,h)=>{t.destroy(new nD(g,h))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var h;let{socketPath:f}=t;if(g.connecting){let p=Boolean(f!=null?f:ume.isIP((h=l!=null?l:a)!==null&&h!==void 0?h:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",I=>{I===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var LY=C(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var RY=Vs();sD.default=t=>{t=t;let e={protocol:t.protocol,hostname:RY.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return RY.default.string(t.port)&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var NY=C(oD=>{"use strict";Object.defineProperty(oD,"__esModule",{value:!0});var fme=require("url"),pme=["protocol","host","hostname","port","pathname","search"];oD.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new fme.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of pme)e[s]&&(n[s]=e[s].toString());return n}});var OY=C(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var MY=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};aD.default=MY});var lD=C(AD=>{"use strict";Object.defineProperty(AD,"__esModule",{value:!0});var dme=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};AD.default=dme});var TY=C(EA=>{"use strict";Object.defineProperty(EA,"__esModule",{value:!0});EA.dnsLookupIpVersionToFamily=EA.isDnsLookupIpVersion=void 0;var KY={auto:0,ipv4:4,ipv6:6};EA.isDnsLookupIpVersion=t=>t in KY;EA.dnsLookupIpVersionToFamily=t=>{if(EA.isDnsLookupIpVersion(t))return KY[t];throw new Error("Invalid DNS lookup IP version")}});var cD=C($m=>{"use strict";Object.defineProperty($m,"__esModule",{value:!0});$m.isResponseOk=void 0;$m.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var HY=C(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var UY=new Set;uD.default=t=>{UY.has(t)||(UY.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var YY=C(gD=>{"use strict";Object.defineProperty(gD,"__esModule",{value:!0});var Ut=Vs(),Cme=(t,e)=>{if(Ut.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ut.assert.any([Ut.default.string,Ut.default.undefined],t.encoding),Ut.assert.any([Ut.default.boolean,Ut.default.undefined],t.resolveBodyOnly),Ut.assert.any([Ut.default.boolean,Ut.default.undefined],t.methodRewriting),Ut.assert.any([Ut.default.boolean,Ut.default.undefined],t.isStream),Ut.assert.any([Ut.default.string,Ut.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=k({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ut.default.object(r)?(t.retry=k(k({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ut.default.number(r)&&(t.retry.limit=r),Ut.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ut.default.number))),Ut.default.object(t.pagination)){e&&(t.pagination=k(k({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ut.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ut.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ut.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ut.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};gD.default=Cme});var GY=C(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.retryAfterStatusCodes=void 0;Rh.retryAfterStatusCodes=new Set([413,429,503]);var mme=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Rh.default=mme});var Nh=C(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.UnsupportedProtocolError=Et.ReadError=Et.TimeoutError=Et.UploadError=Et.CacheError=Et.HTTPError=Et.MaxRedirectsError=Et.RequestError=Et.setNonEnumerableProperties=Et.knownHookEvents=Et.withoutBody=Et.kIsNormalizedAlready=void 0;var jY=require("util"),qY=require("stream"),Ime=require("fs"),Wo=require("url"),JY=require("http"),hD=require("http"),Eme=require("https"),yme=tH(),Bme=AH(),WY=YH(),wme=JH(),Qme=QY(),bme=Vm(),se=Vs(),Dme=PY(),zY=$b(),Sme=rD(),VY=FY(),xme=LY(),XY=NY(),Pme=OY(),kme=lD(),ZY=TY(),vme=cD(),zo=HY(),Fme=YY(),Rme=GY(),Lme=new Bme.default,xr=Symbol("request"),eI=Symbol("response"),gc=Symbol("responseSize"),hc=Symbol("downloadedSize"),fc=Symbol("bodySize"),pc=Symbol("uploadedSize"),tI=Symbol("serverResponsesPiped"),_Y=Symbol("unproxyEvents"),$Y=Symbol("isFromCache"),fD=Symbol("cancelTimeouts"),eG=Symbol("startedReading"),dc=Symbol("stopReading"),rI=Symbol("triggerRead"),Vo=Symbol("body"),Lh=Symbol("jobs"),tG=Symbol("originalResponse"),rG=Symbol("retryTimeout");Et.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Nme=se.default.string(process.versions.brotli);Et.withoutBody=new Set(["GET","HEAD"]);Et.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Mme(t){for(let e in t){let r=t[e];if(!se.default.string(r)&&!se.default.number(r)&&!se.default.boolean(r)&&!se.default.null_(r)&&!se.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Ome(t){return se.default.object(t)&&!("statusCode"in t)}var pD=new Pme.default,Kme=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),Tme=new Set([300,301,302,303,304,307,308]),Ume=["context","body","json","form"];Et.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Ume)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var Ir=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof dD?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[eI]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,!se.default.undefined(r.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` `).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` `).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` `)}${a.reverse().join(` -`)}`}}};Et.RequestError=Ir;var gS=class extends Ir{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=gS;var hS=class extends Ir{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=hS;var fS=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=fS;var pS=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=pS;var dS=class extends Ir{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=dS;var eI=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=eI;var CS=class extends Ir{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=CS;var kme=["socket","connect","continue","information","upgrade","timeout"],uS=class extends TY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[fc]=0,this[dc]=0,this.requestInitialized=!1,this[_m]=new Set,this.redirects=[],this[Cc]=!1,this[$m]=!1,this[xh]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof AS.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof Ame.ReadStream&&await Dme(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Dr])===null||c===void 0||c.destroy();return}for(let g of this[xh])g();this[xh].length=0,this.requestInitialized=!0}catch(u){if(u instanceof Ir){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([jY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.https.pfx)),se.assert.any([se.default.object,se.default.undefined],r.cacheOptions),se.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=fme(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let f;if(se.default.string(r.searchParams)||r.searchParams instanceof Wo.URLSearchParams)f=new Wo.URLSearchParams(r.searchParams);else{bme(r.searchParams),f=new Wo.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?f.append(p,""):m!==void 0&&f.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{f.has(m)||f.append(m,p)}),r.searchParams=f}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",se.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),se.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=GY.default(r.prefixUrl+r.url,r)}else(se.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=GY.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:f}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${f} to ${m}: ${I.href}`);r.url=new Wo.URL(m+I.href.slice(f.length)),f=m},get:()=>f});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Wo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new CS(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:f,getCookieString:p}=u;se.assert.function_(f),se.assert.function_(p),f.length===4&&p.length===0&&(f=KY.promisify(f.bind(r.cookieJar)),p=KY.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:f,getCookieString:p})}let{cache:g}=r;if(g&&(cS.has(g)||cS.set(g,new HY((f,p)=>{let m=f[Dr](f,p);return se.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(b){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)r.dnsCache=wme;else if(!se.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${se.default(r.dnsCache)}`);se.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let h=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let f of Et.knownHookEvents)if(f in r.hooks)if(se.default.array(r.hooks[f]))r.hooks[f]=[...r.hooks[f]];else throw new TypeError(`Parameter \`${f}\` must be an Array, got ${se.default(r.hooks[f])}`);else r.hooks[f]=[];if(i&&!h)for(let f of Et.knownHookEvents)i.hooks[f].length!==0&&(r.hooks[f]=[...i.hooks[f],...r.hooks[f]]);if("family"in r&&zo.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&zo.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&zo.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&zo.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&zo.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&zo.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&zo.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&zo.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let f in r.agent)if(f!=="http"&&f!=="https"&&f!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${f}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Et.setNonEnumerableProperties([i,c],r),yme.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!se.default.undefined(e.form),n=!se.default.undefined(e.json),s=!se.default.undefined(e.body),o=i||n||s,a=Et.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof TY.Readable)&&!se.default.string(e.body)&&!se.default.buffer(e.body)&&!YY.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!se.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!se.default.string(r["content-type"]);s?(YY.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[Vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[Vo]=new Wo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[Vo]=e.stringifyJson(e.json));let c=await pme.default(this[Vo],e.headers);se.default.undefined(r["content-length"])&&se.default.undefined(r["transfer-encoding"])&&!a&&!se.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[pc]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[VY]=e,r.decompress&&(e=gme(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:UY.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[WY]=s.isFromCache,this[hc]=Number(e.headers["content-length"])||void 0,this[Zm]=e,e.once("end",()=>{this[hc]=this[fc],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new eI(a,this))}),e.once("aborted",()=>{this._beforeError(new eI({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(se.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&xme.has(n)){if(e.resume(),this[Dr]&&(this[lS](),delete this[Dr],this[JY]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[Vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new gS(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Wo.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!Eme.isResponseOk(s)){this._beforeError(new hS(s));return}e.on("readable",()=>{this[$m]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[_m])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cme.default(e),this[lS]=qY.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l instanceof qY.TimeoutError?l=new dS(l,this.timings,this):l=new Ir(l.message,l,this),this._beforeError(l)}),this[JY]=dme.default(e,this,kme),this[Dr]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[Vo],a=this.redirects.length===0?this:e;se.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new pS(l,this))})):(this._unlockWrite(),se.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,Cme.default(e)),delete r.url;let s,o=cS.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let y in a)if(se.default.undefined(a[y]))delete a[y];else if(se.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&se.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Qme?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());se.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let b=await y(o);if(!se.default.undefined(b)){o.request=()=>b;break}}o.body&&this[Vo]!==o.body&&(this[Vo]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:b,path:x}=y.groups;Object.assign(o,{socketPath:b,path:x,host:""})}}let h=g.protocol==="https:",f;o.http2?f=hme.auto:f=h?lme.request:UY.request;let p=(e=o.request)!==null&&e!==void 0?e:f,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[h?"https":"http"]),o[Dr]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=jY.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);se.default.undefined(y)&&(y=f(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Sme(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof HY.CacheError?new fS(y,this):new Ir(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ir(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[Cc])return;let{options:r}=this,i=this.retryCount+1;this[Cc]=!0,e instanceof Ir||(e=new Ir(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Ime.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:Bme.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new Ir(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new Ir(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[XY]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[$m]=!0;let e=this[Zm];if(e&&!this[Cc]){e.readableLength&&(this[$m]=!1);let r;for(;(r=e.read())!==null;){this[fc]+=r.length,this[zY]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[xh].push(n)}_writeRequest(e,r,i){this[Dr].destroyed||(this._progressCallbacks.push(()=>{this[dc]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Dr].write(e,r,n=>{!n&&this._progressCallbacks.length!==0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Dr in this)){e();return}if(this[Dr].destroyed){e();return}this[Dr].end(i=>{i||(this[pc]=this[dc],this.emit("uploadProgress",this.uploadProgress),this[Dr].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[xh].push(r)}_destroy(e,r){var i;this[Cc]=!0,clearTimeout(this[XY]),Dr in this&&(this[lS](),((i=this[Zm])===null||i===void 0?void 0:i.complete)||this[Dr].destroy()),e!==null&&!se.default.undefined(e)&&!(e instanceof Ir)&&(e=new Ir(e.message,e,this)),r(e)}get _isAboutToError(){return this[Cc]}get ip(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Dr])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[VY])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[hc]?e=this[fc]/this[hc]:this[hc]===this[fc]?e=1:e=0,{percent:e,transferred:this[fc],total:this[hc]}}get uploadProgress(){let e;return this[pc]?e=this[dc]/this[pc]:this[pc]===this[dc]?e=1:e=0,{percent:e,transferred:this[dc],total:this[pc]}}get timings(){var e;return(e=this[Dr])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[WY]}pipe(e,r){if(this[zY])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof AS.ServerResponse&&this[_m].add(e),super.pipe(e,r)}unpipe(e){return e instanceof AS.ServerResponse&&this[_m].delete(e),super.unpipe(e),this}};Et.default=uS});var kh=C(Nn=>{"use strict";var vme=Nn&&Nn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Fme=Nn&&Nn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vme(e,t,r)};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.CancelError=Nn.ParseError=void 0;var ZY=Ph(),_Y=class extends ZY.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Nn.ParseError=_Y;var $Y=class extends ZY.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Nn.CancelError=$Y;Fme(Ph(),Nn)});var tq=C(mS=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var eq=kh(),Rme=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new eq.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new eq.ParseError(s,t)}};mS.default=Rme});var IS=C(Xo=>{"use strict";var Lme=Xo&&Xo.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Nme=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Lme(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});var Mme=require("events"),Ome=js(),Kme=W2(),tI=kh(),rq=tq(),iq=Ph(),Tme=Zb(),Ume=nS(),nq=sS(),Hme=["request","response","redirect","uploadProgress","downloadProgress"];function sq(t){let e,r,i=new Mme.EventEmitter,n=new Kme((o,a,l)=>{let c=u=>{let g=new iq.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new tI.CancelError(g))),e=g,g.once("response",async f=>{var p;if(f.retryCount=u,f.request.aborted)return;let m;try{m=await Ume.default(g),f.rawBody=m}catch(x){return}if(g._isAboutToError)return;let I=((p=f.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:b}=g;if(y&&!b.decompress)f.body=m;else try{f.body=rq.default(f,b.responseType,b.parseJson,b.encoding)}catch(x){if(f.body=m.toString(),nq.isResponseOk(f)){g._beforeError(x);return}}try{for(let[x,F]of b.hooks.afterResponse.entries())f=await F(f,async N=>{let U=iq.default.normalizeArguments(void 0,V(P({},N),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);U.hooks.afterResponse=U.hooks.afterResponse.slice(0,x);for(let J of U.hooks.beforeRetry)await J(U);let v=sq(U);return l(()=>{v.catch(()=>{}),v.cancel()}),v})}catch(x){g._beforeError(new tI.RequestError(x.message,x,g));return}if(!nq.isResponseOk(f)){g._beforeError(new tI.HTTPError(f));return}r=f,o(g.options.resolveBodyOnly?f.body:f)});let h=f=>{if(n.isCanceled)return;let{options:p}=g;if(f instanceof tI.HTTPError&&!p.throwHttpErrors){let{response:m}=f;o(g.options.resolveBodyOnly?m.body:m);return}a(f)};g.once("error",h),g.once("retry",(f,p)=>{var m;if(Ome.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){h(p);return}c(f)}),Tme.default(g,i,Hme)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return rq.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}Xo.default=sq;Nme(kh(),Xo)});var oq=C(ES=>{"use strict";Object.defineProperty(ES,"__esModule",{value:!0});var Yme=kh();function qme(t,...e){let r=(async()=>{if(t instanceof Yme.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}ES.default=qme});var lq=C(yS=>{"use strict";Object.defineProperty(yS,"__esModule",{value:!0});var aq=js();function Aq(t){for(let e of Object.values(t))(aq.default.plainObject(e)||aq.default.array(e))&&Aq(e);return Object.freeze(t)}yS.default=Aq});var uq=C(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0})});var BS=C(un=>{"use strict";var Gme=un&&un.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),jme=un&&un.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gme(e,t,r)};Object.defineProperty(un,"__esModule",{value:!0});un.defaultHandler=void 0;var gq=js(),gn=IS(),Jme=oq(),rI=Ph(),Wme=lq(),zme={RequestError:gn.RequestError,CacheError:gn.CacheError,ReadError:gn.ReadError,HTTPError:gn.HTTPError,MaxRedirectsError:gn.MaxRedirectsError,TimeoutError:gn.TimeoutError,ParseError:gn.ParseError,CancelError:gn.CancelError,UnsupportedProtocolError:gn.UnsupportedProtocolError,UploadError:gn.UploadError},Vme=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:iI}=rI.default,hq=(...t)=>{let e;for(let r of t)e=iI(void 0,r,e);return e},Xme=t=>t.isStream?new rI.default(void 0,t):gn.default(t),Zme=t=>"defaults"in t&&"options"in t.defaults,_me=["get","post","put","patch","head","delete"];un.defaultHandler=(t,e)=>e(t);var fq=(t,e)=>{if(t)for(let r of t)r(e)},pq=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n,s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?Xme:c);if(gq.default.plainObject(i)){let u=P(P({},i),n);rI.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{fq(t.options.hooks.init,n),fq((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(h){u=h}let g=iI(i,n,s!=null?s:t.options);if(g[rI.kIsNormalizedAlready]=!0,u)throw new gn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return Jme.default(u,t.options.hooks.beforeError,(a=n==null?void 0:n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)Zme(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==un.defaultHandler),s.length===0&&s.push(un.defaultHandler),pq({options:hq(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=iI(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!gq.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,V(P({},n),{isStream:!0}));for(let i of _me)e[i]=(n,s)=>e(n,V(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,V(P({},s),{method:i,isStream:!0}));return Object.assign(e,zme),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Wme.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=hq,e};un.default=pq;jme(uq(),un)});var sI=C((Ws,nI)=>{"use strict";var $me=Ws&&Ws.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),dq=Ws&&Ws.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&$me(e,t,r)};Object.defineProperty(Ws,"__esModule",{value:!0});var eIe=require("url"),Cq=BS(),tIe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new eIe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[Cq.defaultHandler],mutableDefaults:!1},wS=Cq.default(tIe);Ws.default=wS;nI.exports=wS;nI.exports.default=wS;nI.exports.__esModule=!0;dq(BS(),Ws);dq(IS(),Ws)});var yq=C(mc=>{"use strict";var hVe=require("net"),rIe=require("tls"),QS=require("http"),mq=require("https"),iIe=require("events"),fVe=require("assert"),nIe=require("util");mc.httpOverHttp=sIe;mc.httpsOverHttp=oIe;mc.httpOverHttps=aIe;mc.httpsOverHttps=AIe;function sIe(t){var e=new zs(t);return e.request=QS.request,e}function oIe(t){var e=new zs(t);return e.request=QS.request,e.createSocket=Iq,e.defaultPort=443,e}function aIe(t){var e=new zs(t);return e.request=mq.request,e}function AIe(t){var e=new zs(t);return e.request=mq.request,e.createSocket=Iq,e.defaultPort=443,e}function zs(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||QS.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Eq(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};zs.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=bS({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Zo("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,h,f){process.nextTick(function(){c(g,h,f)})}function c(g,h,f){if(o.removeAllListeners(),h.removeAllListeners(),g.statusCode!==200){Zo("tunneling socket could not be established, statusCode=%d",g.statusCode),h.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(f.length>0){Zo("got illegal response body from proxy"),h.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return Zo("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=h,r(h)}function u(g){o.removeAllListeners(),Zo(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var h=new Error("tunneling socket could not be established, cause="+g.message);h.code="ECONNRESET",e.request.emit("error",h),i.removeSocket(n)}};zs.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function Iq(t,e){var r=this;zs.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=bS({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=rIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function Eq(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function bS(t){for(var e=1,r=arguments.length;e{Bq.exports=yq()});var oG=C((xXe,kS)=>{var Nq=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Fh={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Fh[$o]=ne[$o]);var vS=[],Mq="./this.program",Oq=function(t,e){throw e},Kq=!1,wA=!0,Rh="";function CIe(t){return ne.locateFile?ne.locateFile(t,Rh):Rh+t}var AI,FS,lI,RS;wA&&(Kq?Rh=require("path").dirname(Rh)+"/":Rh=__dirname+"/",AI=function(e,r){var i=Uq(e);return i?r?i:i.toString():(lI||(lI=Nq),RS||(RS=require("path")),e=RS.normalize(e),lI.readFileSync(e,r?null:"utf8"))},FS=function(e){var r=AI(e,!0);return r.buffer||(r=new Uint8Array(r)),Tq(r.buffer),r},process.argv.length>1&&(Mq=process.argv[1].replace(/\\/g,"/")),vS=process.argv.slice(2),typeof kS!="undefined"&&(kS.exports=ne),Oq=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var cI=ne.print||console.log.bind(console),Gr=ne.printErr||console.warn.bind(console);for($o in Fh)Fh.hasOwnProperty($o)&&(ne[$o]=Fh[$o]);Fh=null;ne.arguments&&(vS=ne.arguments);ne.thisProgram&&(Mq=ne.thisProgram);ne.quit&&(Oq=ne.quit);var mIe=16;function IIe(t,e){return e||(e=mIe),Math.ceil(t/e)*e}var EIe=0,yIe=function(t){EIe=t},LS;ne.wasmBinary&&(LS=ne.wasmBinary);var kVe=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&cr("no native wasm support detected");function BIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Ai[t>>0];case"i8":return Ai[t>>0];case"i16":return NS[t>>1];case"i32":return Ye[t>>2];case"i64":return Ye[t>>2];case"float":return Hq[t>>2];case"double":return Yq[t>>3];default:cr("invalid type for getValue: "+e)}return null}var uI,qq=!1,wIe;function Tq(t,e){t||cr("Assertion failed: "+e)}function Gq(t){var e=ne["_"+t];return Tq(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function DIe(t,e,r,i,n){var s={string:function(f){var p=0;if(f!=null&&f!==0){var m=(f.length<<2)+1;p=Wq(m),Jq(f,p,m)}return p},array:function(f){var p=Wq(f.length);return QIe(f,p),p}};function o(f){return e==="string"?jq(f):e==="boolean"?Boolean(f):f}var a=Gq(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&zq)return zq.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function jq(t,e){return t?Ic(Ec,t,e):""}function gI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function Jq(t,e,r){return gI(t,Ec,e,r)}function hI(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function MS(t){var e=hI(t)+1,r=Vq(e);return r&&gI(t,Ai,r,e),r}function QIe(t,e){Ai.set(t,e)}function PIe(t,e){return t%e>0&&(t+=e-t%e),t}var OS,Ai,Ec,NS,kIe,Ye,vIe,Hq,Yq;function Xq(t){OS=t,ne.HEAP8=Ai=new Int8Array(t),ne.HEAP16=NS=new Int16Array(t),ne.HEAP32=Ye=new Int32Array(t),ne.HEAPU8=Ec=new Uint8Array(t),ne.HEAPU16=kIe=new Uint16Array(t),ne.HEAPU32=vIe=new Uint32Array(t),ne.HEAPF32=Hq=new Float32Array(t),ne.HEAPF64=Yq=new Float64Array(t)}var vVe=ne.INITIAL_MEMORY||16777216,KS,Zq=[],_q=[],$q=[],FIe=!1;function LIe(){if(ne.preRun)for(typeof ne.preRun=="function"&&(ne.preRun=[ne.preRun]);ne.preRun.length;)RIe(ne.preRun.shift());TS(Zq)}function NIe(){FIe=!0,!ne.noFSInit&&!E.init.initialized&&E.init(),ea.init(),TS(_q)}function OIe(){if(ne.postRun)for(typeof ne.postRun=="function"&&(ne.postRun=[ne.postRun]);ne.postRun.length;)MIe(ne.postRun.shift());TS($q)}function RIe(t){Zq.unshift(t)}function KIe(t){_q.unshift(t)}function MIe(t){$q.unshift(t)}var QA=0,US=null,Lh=null;function TIe(t){return t}function eG(t){QA++,ne.monitorRunDependencies&&ne.monitorRunDependencies(QA)}function HS(t){if(QA--,ne.monitorRunDependencies&&ne.monitorRunDependencies(QA),QA==0&&(US!==null&&(clearInterval(US),US=null),Lh)){var e=Lh;Lh=null,e()}}ne.preloadedImages={};ne.preloadedAudios={};function cr(t){ne.onAbort&&ne.onAbort(t),t+="",Gr(t),qq=!0,wIe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var tG="data:application/octet-stream;base64,";function rG(t){return t.startsWith(tG)}var Nh="data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gAnx/AXxgAn9+AX5gBX9/f39/AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAMBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAEBYQF0AAADggKAAgcCAgQAAQECAgANBAQOBwICAhwLEw0AAA0dFAwMAAcCDBAeAgMCAwIAAgEABwgUBBUIBgADAAwABAgIAgEGBgABAB8XAQEDAhMCAwUFEQICIA8GAgMYAQgCAQAABwUBGAAaAxIBAAcEAyERCCIHAQsVAQMABQMDAwAFBAACIwYAAQEAGw0bFw0BBAALCwMDDAwAAwAHJAMBBAgaAQECBQMBAwMABwcHAgICAiURCwgICwEmCQkAAAAKAAIABQAGBgUFBQEDBgYGBRISBgQBAQEAAAIJBgABAA4AAQEPCQABBBkJCQkAAAADCgoBAQIQAAAAAgEDAwkEAQoABQ4AAAkEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADxAQF5AM8BAXoAzQEBQQDLAQFCAMoBAUMAyQEBRADIAQFFAMcBAUYAkgIBRwCRAgFIAI4CAUkA6QEBSgDiAQFLAOEBAUwAPQFNAOABAU4A+gEBTwD5AQFQAPIBAVEA+wEBUgDfAQFTAN4BAVQA3QEBVQDcAQFWAOMBAVcA2wEBWADaAQFZANkBAVoA2AEBXwDXAQEkAOoBAmFhAJwBAmJhANYBAmNhANUBAmRhANQBAmVhADECZmEA6wECZ2EAGwJoYQDOAQJpYQBJAmphANMBAmthANIBAmxhAGgCbWEA0QECbmEA6AECb2EA0AECcGEA5AECcWEAigICcmEA+AECc2EA9wECdGEA9gECdWEA5wECdmEA5gECd2EA5QECeGEAGAJ5YQAVAnphAQAJQQEAQQELHswBkAKNAo8CjAKLArYBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH8AVr1AfQB8wHwAe8B7gHtAewBCq2RCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNByJsBKAIASQ0BIAAgAWohACADQcybASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB4JsBakYaIAIgAygCDCIBRgRAQbibAUG4mwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQcCbASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHQmwEoAgBGBEBB0JsBIAM2AgBBxJsBQcSbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQcybASgCAEcNA0HAmwFBADYCAEHMmwFBADYCAA8LIAVBzJsBKAIARgRAQcybASADNgIAQcCbAUHAmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QeCbAWpGGiACIAUoAgwiAUYEQEG4mwFBuJsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcibASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANBzJsBKAIARw0BQcCbASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QeCbAWohAAJ/QbibASgCACICQQEgAXQiAXFFBEBBuJsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHonQFqIQECQAJAAkBBvJsBKAIAIgRBASACdCIHcUUEQEG8mwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdibAUHYmwEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBDIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQbibASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUHomwFqKAIAIgRBCGohAAJAIAQoAggiAiABQeCbAWoiAUYEQEG4mwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQcCbASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQeibAWooAgAiBCgCCCIBIABB4JsBaiIARgRAQbibASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RB4JsBaiEHQcybASgCACEEAn8gBUEBIAF0IgFxRQRAQbibASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQcybASACNgIAQcCbASADNgIADA0LQbybASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEHonQFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBByJsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhBvJsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QeidAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB6J0BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HAmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEHImwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQcCbASgCACICTQRAQcybASgCACEDAkAgAiAIayIBQRBPBEBBwJsBIAE2AgBBzJsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0HMmwFBADYCAEHAmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQcSbASgCACIGSQRAQcSbASAGIAhrIgE2AgBB0JsBQdCbASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QZCfASgCAARAQZifASgCAAwBC0GcnwFCfzcCAEGUnwFCgKCAgICABDcCAEGQnwEgDEEMakFwcUHYqtWqBXM2AgBBpJ8BQQA2AgBB9J4BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpB8J4BKAIAIgQEQEHongEoAgAiAyACaiIBIANNDQsgASAESw0LC0H0ngEtAABBBHENBQJAAkBB0JsBKAIAIgMEQEH4ngEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAEDwiAUF/Rg0GIAIhBUGUnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkHwngEoAgAiBARAQeieASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPCIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPCIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBmJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA8QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrEDwaDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQfSeAUH0ngEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA8IQFBABA8IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQeieAUHongEoAgAgBWoiADYCAEHsngEoAgAgAEkEQEHsngEgADYCAAsCQAJAAkBB0JsBKAIAIgcEQEH4ngEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQcibASgCACIAQQAgACABTRtFBEBByJsBIAE2AgALQQAhAEH8ngEgBTYCAEH4ngEgATYCAEHYmwFBfzYCAEHcmwFBkJ8BKAIANgIAQYSfAUEANgIAA0AgAEEDdCIDQeibAWogA0HgmwFqIgI2AgAgA0HsmwFqIAI2AgAgAEEBaiIAQSBHDQALQcSbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB0JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQdSbAUGgnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQdCbASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQcSbAUHEmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRB1JsBQaCfASgCADYCAAwBC0HImwEoAgAgAUsEQEHImwEgATYCAAsgASAFaiECQfieASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0H4ngEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEHQmwEgBjYCAEHEmwFBxJsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVBzJsBKAIARgRAQcybASAGNgIAQcCbAUHAmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEHgmwFqRhogAyAFKAIMIgFGBEBBuJsBQbibASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRB6J0BaiIAKAIARgRAIAAgATYCACABDQFBvJsBQbybASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QeCbAWohAgJ/QbibASgCACIBQQEgAHQiAHFFBEBBuJsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB6J0BaiEEAkBBvJsBKAIAIgNBASAAdCIBcUUEQEG8mwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HEmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQdCbASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHUmwFBoJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBgJ8BKQIANwIQIAJB+J4BKQIANwIIQYCfASACQQhqNgIAQfyeASAFNgIAQfieASABNgIAQYSfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEHonQFqIQMCQEG8mwEoAgAiAkEBIAB0IgFxRQRAQbybASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtBxJsBKAIAIgAgCE0NAEHEmwEgACAIayIBNgIAQdCbAUHQmwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRB6J0BaiIAKAIAIARGBEAgACABNgIAIAENAUG8mwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEHonQFqIQICQAJAIAlBASAAdCIBcUUEQEG8mwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRB6J0BaiIAKAIAIAFGBEAgACAENgIAIAQNAUG8mwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RB4JsBaiEEQcybASgCACECAn9BASAAdCIAIAVxRQRAQbibASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQcybASAJNgIAQcCbASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQEhogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAu4GAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZAVaigCACAAKAIQQRB2Qf8BcUECdEGQHWooAgAgACgCEEH/AXFBAnRBkC1qKAIAIAAoAhBBCHZB/wFxQQJ0QZAlaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGQNWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCFEEgazYCFAwBCwsDQCAAKAIUQQRPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QZA1aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQMRoLIAEoAgwoAiRBAUYEQCABKAIMEGcLAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIRogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQuwEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAu2AgEBfyMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjcDGCAEIAM2AhQCQCAEKAIkKQMYQgEgBCgCFK2Gg1AEQCAEKAIkQQxqQRxBABAUIARCfzcDKAwBCwJAIAQoAiQoAgBFBEAgBCAEKAIkKAIIIAQoAiAgBCkDGCAEKAIUIAQoAiQoAgQRDgA3AwgMAQsgBCAEKAIkKAIAIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEKADcDCAsgBCkDCEIAUwRAAkAgBCgCFEEERg0AIAQoAhRBDkYNAAJAIAQoAiQgBEIIQQQQIUIAUwRAIAQoAiRBDGpBFEEAEBQMAQsgBCgCJEEMaiAEKAIAIAQoAgQQFAsLCyAEIAQpAwg3AygLIAQpAyghAiAEQTBqJAAgAgsXACAALQAAQSBxRQRAIAEgAiAAEHIaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJSABKAIMEBULIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAyIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIUIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHsgBCgCLCAEKAIsQaQWahB7IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC5ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELkBIAAoAgwgACgCDEGwFmoQeyAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXAwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQugEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC4ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuAEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQugELCyAEKAIsEL0BIAQoAiAEQCAEKAIsELwBCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";rG(Nh)||(Nh=CIe(Nh));function UIe(t){try{if(t==Nh&&LS)return new Uint8Array(LS);var e=Uq(t);if(e)return e;if(FS)return FS(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){cr(r)}}function HIe(t,e){var r,i,n;try{n=UIe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Gr("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Gr("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function qIe(){var t={a:YIe};function e(n,s){var o=n.exports;ne.asm=o,uI=ne.asm.u,Xq(uI.buffer),KS=ne.asm.za,KIe(ne.asm.v),HS("wasm-instantiate")}if(eG("wasm-instantiate"),ne.instantiateWasm)try{var r=ne.instantiateWasm(t,e);return r}catch(n){return Gr("Module.instantiateWasm callback failed with error: "+n),!1}var i=HIe(Nh,t);return e(i[0]),ne.asm}var xr,Vs;function TS(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(ne);continue}var r=e.func;typeof r=="number"?e.arg===void 0?KS.get(r)():KS.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function fI(t,e){var r=new Date(Ye[t>>2]*1e3);Ye[e>>2]=r.getUTCSeconds(),Ye[e+4>>2]=r.getUTCMinutes(),Ye[e+8>>2]=r.getUTCHours(),Ye[e+12>>2]=r.getUTCDate(),Ye[e+16>>2]=r.getUTCMonth(),Ye[e+20>>2]=r.getUTCFullYear()-1900,Ye[e+24>>2]=r.getUTCDay(),Ye[e+36>>2]=0,Ye[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[e+28>>2]=n,fI.GMTString||(fI.GMTString=MS("GMT")),Ye[e+40>>2]=fI.GMTString,e}function GIe(t,e){return fI(t,e)}var ut={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=ut.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=ut.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=ut.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return ut.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return ut.normalize(t.join("/"))},join2:function(t,e){return ut.normalize(t+"/"+e)}};function jIe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(wA)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){cr("randomDevice")}}var Xs={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=ut.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=Xs.resolve(t).substr(1),e=Xs.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)}`}}};Et.RequestError=Ir;var CD=class extends Ir{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=CD;var mD=class extends Ir{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=mD;var ID=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=ID;var ED=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=ED;var yD=class extends Ir{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=yD;var iI=class extends Ir{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=iI;var BD=class extends Ir{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=BD;var Hme=["socket","connect","continue","information","upgrade","timeout"],dD=class extends qY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[hc]=0,this[pc]=0,this.requestInitialized=!1,this[tI]=new Set,this.redirects=[],this[dc]=!1,this[rI]=!1,this[Lh]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hD.IncomingMessage&&(this.options.headers=k(k({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof Ime.ReadStream&&await Kme(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[xr])===null||c===void 0||c.destroy();return}for(let g of this[Lh])g();this[Lh].length=0,this.requestInitialized=!0}catch(u){if(u instanceof Ir){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=k(k(k({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=k(k({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([ZY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.https.pfx)),se.assert.any([se.default.object,se.default.undefined],r.cacheOptions),se.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=k({},r.headers):r.headers=bme(k(k({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let f;if(se.default.string(r.searchParams)||r.searchParams instanceof Wo.URLSearchParams)f=new Wo.URLSearchParams(r.searchParams);else{Mme(r.searchParams),f=new Wo.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?f.append(p,""):m!==void 0&&f.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{f.has(m)||f.append(m,p)}),r.searchParams=f}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",se.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),se.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=XY.default(r.prefixUrl+r.url,r)}else(se.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=XY.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:f}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${f} to ${m}: ${I.href}`);r.url=new Wo.URL(m+I.href.slice(f.length)),f=m},get:()=>f});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Wo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new BD(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:f,getCookieString:p}=u;se.assert.function_(f),se.assert.function_(p),f.length===4&&p.length===0&&(f=jY.promisify(f.bind(r.cookieJar)),p=jY.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:f,getCookieString:p})}let{cache:g}=r;if(g&&(pD.has(g)||pD.set(g,new WY((f,p)=>{let m=f[xr](f,p);return se.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(w){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions=k({},r.cacheOptions),r.dnsCache===!0)r.dnsCache=Lme;else if(!se.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${se.default(r.dnsCache)}`);se.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=k(k({},i.timeout),r.timeout):r.timeout=k({},r.timeout),r.context||(r.context={});let h=r.hooks===(i==null?void 0:i.hooks);r.hooks=k({},r.hooks);for(let f of Et.knownHookEvents)if(f in r.hooks)if(se.default.array(r.hooks[f]))r.hooks[f]=[...r.hooks[f]];else throw new TypeError(`Parameter \`${f}\` must be an Array, got ${se.default(r.hooks[f])}`);else r.hooks[f]=[];if(i&&!h)for(let f of Et.knownHookEvents)i.hooks[f].length!==0&&(r.hooks[f]=[...i.hooks[f],...r.hooks[f]]);if("family"in r&&zo.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=k(k({},i.https),r.https)),"rejectUnauthorized"in r&&zo.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&zo.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&zo.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&zo.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&zo.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&zo.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&zo.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let f in r.agent)if(f!=="http"&&f!=="https"&&f!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${f}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Et.setNonEnumerableProperties([i,c],r),Fme.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!se.default.undefined(e.form),n=!se.default.undefined(e.json),s=!se.default.undefined(e.body),o=i||n||s,a=Et.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof qY.Readable)&&!se.default.string(e.body)&&!se.default.buffer(e.body)&&!zY.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!se.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!se.default.string(r["content-type"]);s?(zY.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[Vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[Vo]=new Wo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[Vo]=e.stringifyJson(e.json));let c=await Dme.default(this[Vo],e.headers);se.default.undefined(r["content-length"])&&se.default.undefined(r["transfer-encoding"])&&!a&&!se.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[fc]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[tG]=e,r.decompress&&(e=wme(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:JY.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[$Y]=s.isFromCache,this[gc]=Number(e.headers["content-length"])||void 0,this[eI]=e,e.once("end",()=>{this[gc]=this[hc],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new iI(a,this))}),e.once("aborted",()=>{this._beforeError(new iI({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(se.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&Tme.has(n)){if(e.resume(),this[xr]&&(this[fD](),delete this[xr],this[_Y]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[Vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new CD(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Wo.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!vme.isResponseOk(s)){this._beforeError(new mD(s));return}e.on("readable",()=>{this[rI]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[tI])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;yme.default(e),this[fD]=VY.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l instanceof VY.TimeoutError?l=new yD(l,this.timings,this):l=new Ir(l.message,l,this),this._beforeError(l)}),this[_Y]=Sme.default(e,this,Hme),this[xr]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[Vo],a=this.redirects.length===0?this:e;se.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new ED(l,this))})):(this._unlockWrite(),se.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,xme.default(e)),delete r.url;let s,o=pD.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let y in a)if(se.default.undefined(a[y]))delete a[y];else if(se.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&se.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Nme?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());se.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let w=await y(o);if(!se.default.undefined(w)){o.request=()=>w;break}}o.body&&this[Vo]!==o.body&&(this[Vo]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:w,path:x}=y.groups;Object.assign(o,{socketPath:w,path:x,host:""})}}let h=g.protocol==="https:",f;o.http2?f=Qme.auto:f=h?Eme.request:JY.request;let p=(e=o.request)!==null&&e!==void 0?e:f,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[h?"https":"http"]),o[xr]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=ZY.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);se.default.undefined(y)&&(y=f(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Ome(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof WY.CacheError?new ID(y,this):new Ir(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ir(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[dc])return;let{options:r}=this,i=this.retryCount+1;this[dc]=!0,e instanceof Ir||(e=new Ir(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await kme.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:Rme.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new Ir(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new Ir(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[rG]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[rI]=!0;let e=this[eI];if(e&&!this[dc]){e.readableLength&&(this[rI]=!1);let r;for(;(r=e.read())!==null;){this[hc]+=r.length,this[eG]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Lh].push(n)}_writeRequest(e,r,i){this[xr].destroyed||(this._progressCallbacks.push(()=>{this[pc]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[xr].write(e,r,n=>{!n&&this._progressCallbacks.length!==0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(xr in this)){e();return}if(this[xr].destroyed){e();return}this[xr].end(i=>{i||(this[fc]=this[pc],this.emit("uploadProgress",this.uploadProgress),this[xr].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Lh].push(r)}_destroy(e,r){var i;this[dc]=!0,clearTimeout(this[rG]),xr in this&&(this[fD](),((i=this[eI])===null||i===void 0?void 0:i.complete)||this[xr].destroy()),e!==null&&!se.default.undefined(e)&&!(e instanceof Ir)&&(e=new Ir(e.message,e,this)),r(e)}get _isAboutToError(){return this[dc]}get ip(){var e;return(e=this[xr])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[xr])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[tG])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[xr])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[gc]?e=this[hc]/this[gc]:this[gc]===this[hc]?e=1:e=0,{percent:e,transferred:this[hc],total:this[gc]}}get uploadProgress(){let e;return this[fc]?e=this[pc]/this[fc]:this[fc]===this[pc]?e=1:e=0,{percent:e,transferred:this[pc],total:this[fc]}}get timings(){var e;return(e=this[xr])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[$Y]}pipe(e,r){if(this[eG])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hD.ServerResponse&&this[tI].add(e),super.pipe(e,r)}unpipe(e){return e instanceof hD.ServerResponse&&this[tI].delete(e),super.unpipe(e),this}};Et.default=dD});var Mh=C(On=>{"use strict";var Yme=On&&On.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Gme=On&&On.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yme(e,t,r)};Object.defineProperty(On,"__esModule",{value:!0});On.CancelError=On.ParseError=void 0;var iG=Nh(),nG=class extends iG.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};On.ParseError=nG;var sG=class extends iG.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};On.CancelError=sG;Gme(Nh(),On)});var aG=C(wD=>{"use strict";Object.defineProperty(wD,"__esModule",{value:!0});var oG=Mh(),jme=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new oG.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new oG.ParseError(s,t)}};wD.default=jme});var QD=C(Xo=>{"use strict";var qme=Xo&&Xo.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Jme=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&qme(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});var Wme=require("events"),zme=Vs(),Vme=$2(),nI=Mh(),AG=aG(),lG=Nh(),Xme=rD(),Zme=lD(),cG=cD(),_me=["request","response","redirect","uploadProgress","downloadProgress"];function uG(t){let e,r,i=new Wme.EventEmitter,n=new Vme((o,a,l)=>{let c=u=>{let g=new lG.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new nI.CancelError(g))),e=g,g.once("response",async f=>{var p;if(f.retryCount=u,f.request.aborted)return;let m;try{m=await Zme.default(g),f.rawBody=m}catch(x){return}if(g._isAboutToError)return;let I=((p=f.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:w}=g;if(y&&!w.decompress)f.body=m;else try{f.body=AG.default(f,w.responseType,w.parseJson,w.encoding)}catch(x){if(f.body=m.toString(),cG.isResponseOk(f)){g._beforeError(x);return}}try{for(let[x,F]of w.hooks.afterResponse.entries())f=await F(f,async N=>{let K=lG.default.normalizeArguments(void 0,V(k({},N),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),w);K.hooks.afterResponse=K.hooks.afterResponse.slice(0,x);for(let J of K.hooks.beforeRetry)await J(K);let v=uG(K);return l(()=>{v.catch(()=>{}),v.cancel()}),v})}catch(x){g._beforeError(new nI.RequestError(x.message,x,g));return}if(!cG.isResponseOk(f)){g._beforeError(new nI.HTTPError(f));return}r=f,o(g.options.resolveBodyOnly?f.body:f)});let h=f=>{if(n.isCanceled)return;let{options:p}=g;if(f instanceof nI.HTTPError&&!p.throwHttpErrors){let{response:m}=f;o(g.options.resolveBodyOnly?m.body:m);return}a(f)};g.once("error",h),g.once("retry",(f,p)=>{var m;if(zme.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){h(p);return}c(f)}),Xme.default(g,i,_me)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return AG.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}Xo.default=uG;Jme(Mh(),Xo)});var gG=C(bD=>{"use strict";Object.defineProperty(bD,"__esModule",{value:!0});var $me=Mh();function eIe(t,...e){let r=(async()=>{if(t instanceof $me.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}bD.default=eIe});var pG=C(DD=>{"use strict";Object.defineProperty(DD,"__esModule",{value:!0});var hG=Vs();function fG(t){for(let e of Object.values(t))(hG.default.plainObject(e)||hG.default.array(e))&&fG(e);return Object.freeze(t)}DD.default=fG});var CG=C(dG=>{"use strict";Object.defineProperty(dG,"__esModule",{value:!0})});var SD=C(fn=>{"use strict";var tIe=fn&&fn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),rIe=fn&&fn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&tIe(e,t,r)};Object.defineProperty(fn,"__esModule",{value:!0});fn.defaultHandler=void 0;var mG=Vs(),pn=QD(),iIe=gG(),sI=Nh(),nIe=pG(),sIe={RequestError:pn.RequestError,CacheError:pn.CacheError,ReadError:pn.ReadError,HTTPError:pn.HTTPError,MaxRedirectsError:pn.MaxRedirectsError,TimeoutError:pn.TimeoutError,ParseError:pn.ParseError,CancelError:pn.CancelError,UnsupportedProtocolError:pn.UnsupportedProtocolError,UploadError:pn.UploadError},oIe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:oI}=sI.default,IG=(...t)=>{let e;for(let r of t)e=oI(void 0,r,e);return e},aIe=t=>t.isStream?new sI.default(void 0,t):pn.default(t),AIe=t=>"defaults"in t&&"options"in t.defaults,lIe=["get","post","put","patch","head","delete"];fn.defaultHandler=(t,e)=>e(t);var EG=(t,e)=>{if(t)for(let r of t)r(e)},yG=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n,s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?aIe:c);if(mG.default.plainObject(i)){let u=k(k({},i),n);sI.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{EG(t.options.hooks.init,n),EG((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(h){u=h}let g=oI(i,n,s!=null?s:t.options);if(g[sI.kIsNormalizedAlready]=!0,u)throw new pn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return iIe.default(u,t.options.hooks.beforeError,(a=n==null?void 0:n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)AIe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==fn.defaultHandler),s.length===0&&s.push(fn.defaultHandler),yG({options:IG(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=oI(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!mG.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,V(k({},n),{isStream:!0}));for(let i of lIe)e[i]=(n,s)=>e(n,V(k({},s),{method:i})),e.stream[i]=(n,s)=>e(n,V(k({},s),{method:i,isStream:!0}));return Object.assign(e,sIe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:nIe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=IG,e};fn.default=yG;rIe(CG(),fn)});var AI=C((Zs,aI)=>{"use strict";var cIe=Zs&&Zs.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),BG=Zs&&Zs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&cIe(e,t,r)};Object.defineProperty(Zs,"__esModule",{value:!0});var uIe=require("url"),wG=SD(),gIe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new uIe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[wG.defaultHandler],mutableDefaults:!1},xD=wG.default(gIe);Zs.default=xD;aI.exports=xD;aI.exports.default=xD;aI.exports.__esModule=!0;BG(SD(),Zs);BG(QD(),Zs)});var SG=C(Cc=>{"use strict";var b9e=require("net"),hIe=require("tls"),PD=require("http"),QG=require("https"),fIe=require("events"),D9e=require("assert"),pIe=require("util");Cc.httpOverHttp=dIe;Cc.httpsOverHttp=CIe;Cc.httpOverHttps=mIe;Cc.httpsOverHttps=IIe;function dIe(t){var e=new _s(t);return e.request=PD.request,e}function CIe(t){var e=new _s(t);return e.request=PD.request,e.createSocket=bG,e.defaultPort=443,e}function mIe(t){var e=new _s(t);return e.request=QG.request,e}function IIe(t){var e=new _s(t);return e.request=QG.request,e.createSocket=bG,e.defaultPort=443,e}function _s(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||PD.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=DG(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};_s.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=kD({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Zo("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,h,f){process.nextTick(function(){c(g,h,f)})}function c(g,h,f){if(o.removeAllListeners(),h.removeAllListeners(),g.statusCode!==200){Zo("tunneling socket could not be established, statusCode=%d",g.statusCode),h.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(f.length>0){Zo("got illegal response body from proxy"),h.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return Zo("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=h,r(h)}function u(g){o.removeAllListeners(),Zo(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var h=new Error("tunneling socket could not be established, cause="+g.message);h.code="ECONNRESET",e.request.emit("error",h),i.removeSocket(n)}};_s.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function bG(t,e){var r=this;_s.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=kD({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=hIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function DG(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function kD(t){for(var e=1,r=arguments.length;e{xG.exports=SG()});var gj=C((U7e,ND)=>{var HG=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Kh={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Kh[$o]=ne[$o]);var MD=[],YG="./this.program",GG=function(t,e){throw e},jG=!1,BA=!0,Th="";function xIe(t){return ne.locateFile?ne.locateFile(t,Th):Th+t}var uI,OD,gI,KD;BA&&(jG?Th=require("path").dirname(Th)+"/":Th=__dirname+"/",uI=function(e,r){var i=JG(e);return i?r?i:i.toString():(gI||(gI=HG),KD||(KD=require("path")),e=KD.normalize(e),gI.readFileSync(e,r?null:"utf8"))},OD=function(e){var r=uI(e,!0);return r.buffer||(r=new Uint8Array(r)),qG(r.buffer),r},process.argv.length>1&&(YG=process.argv[1].replace(/\\/g,"/")),MD=process.argv.slice(2),typeof ND!="undefined"&&(ND.exports=ne),GG=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var hI=ne.print||console.log.bind(console),Wr=ne.printErr||console.warn.bind(console);for($o in Kh)Kh.hasOwnProperty($o)&&(ne[$o]=Kh[$o]);Kh=null;ne.arguments&&(MD=ne.arguments);ne.thisProgram&&(YG=ne.thisProgram);ne.quit&&(GG=ne.quit);var PIe=16;function kIe(t,e){return e||(e=PIe),Math.ceil(t/e)*e}var vIe=0,FIe=function(t){vIe=t},TD;ne.wasmBinary&&(TD=ne.wasmBinary);var Y9e=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&ur("no native wasm support detected");function RIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return ui[t>>0];case"i8":return ui[t>>0];case"i16":return UD[t>>1];case"i32":return Ye[t>>2];case"i64":return Ye[t>>2];case"float":return WG[t>>2];case"double":return zG[t>>3];default:ur("invalid type for getValue: "+e)}return null}var fI,VG=!1,LIe;function qG(t,e){t||ur("Assertion failed: "+e)}function XG(t){var e=ne["_"+t];return qG(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function KIe(t,e,r,i,n){var s={string:function(f){var p=0;if(f!=null&&f!==0){var m=(f.length<<2)+1;p=$G(m),_G(f,p,m)}return p},array:function(f){var p=$G(f.length);return NIe(f,p),p}};function o(f){return e==="string"?ZG(f):e==="boolean"?Boolean(f):f}var a=XG(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&ej)return ej.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function ZG(t,e){return t?mc(Ic,t,e):""}function pI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function _G(t,e,r){return pI(t,Ic,e,r)}function dI(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function HD(t){var e=dI(t)+1,r=tj(e);return r&&pI(t,ui,r,e),r}function NIe(t,e){ui.set(t,e)}function UIe(t,e){return t%e>0&&(t+=e-t%e),t}var YD,ui,Ic,UD,HIe,Ye,YIe,WG,zG;function rj(t){YD=t,ne.HEAP8=ui=new Int8Array(t),ne.HEAP16=UD=new Int16Array(t),ne.HEAP32=Ye=new Int32Array(t),ne.HEAPU8=Ic=new Uint8Array(t),ne.HEAPU16=HIe=new Uint16Array(t),ne.HEAPU32=YIe=new Uint32Array(t),ne.HEAPF32=WG=new Float32Array(t),ne.HEAPF64=zG=new Float64Array(t)}var G9e=ne.INITIAL_MEMORY||16777216,GD,ij=[],nj=[],sj=[],GIe=!1;function qIe(){if(ne.preRun)for(typeof ne.preRun=="function"&&(ne.preRun=[ne.preRun]);ne.preRun.length;)jIe(ne.preRun.shift());jD(ij)}function JIe(){GIe=!0,!ne.noFSInit&&!E.init.initialized&&E.init(),ea.init(),jD(nj)}function zIe(){if(ne.postRun)for(typeof ne.postRun=="function"&&(ne.postRun=[ne.postRun]);ne.postRun.length;)WIe(ne.postRun.shift());jD(sj)}function jIe(t){ij.unshift(t)}function VIe(t){nj.unshift(t)}function WIe(t){sj.unshift(t)}var wA=0,qD=null,Uh=null;function XIe(t){return t}function oj(t){wA++,ne.monitorRunDependencies&&ne.monitorRunDependencies(wA)}function JD(t){if(wA--,ne.monitorRunDependencies&&ne.monitorRunDependencies(wA),wA==0&&(qD!==null&&(clearInterval(qD),qD=null),Uh)){var e=Uh;Uh=null,e()}}ne.preloadedImages={};ne.preloadedAudios={};function ur(t){ne.onAbort&&ne.onAbort(t),t+="",Wr(t),VG=!0,LIe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var aj="data:application/octet-stream;base64,";function Aj(t){return t.startsWith(aj)}var Hh="data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gAnx/AXxgAn9+AX5gBX9/f39/AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAMBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAEBYQF0AAADggKAAgcCAgQAAQECAgANBAQOBwICAhwLEw0AAA0dFAwMAAcCDBAeAgMCAwIAAgEABwgUBBUIBgADAAwABAgIAgEGBgABAB8XAQEDAhMCAwUFEQICIA8GAgMYAQgCAQAABwUBGAAaAxIBAAcEAyERCCIHAQsVAQMABQMDAwAFBAACIwYAAQEAGw0bFw0BBAALCwMDDAwAAwAHJAMBBAgaAQECBQMBAwMABwcHAgICAiURCwgICwEmCQkAAAAKAAIABQAGBgUFBQEDBgYGBRISBgQBAQEAAAIJBgABAA4AAQEPCQABBBkJCQkAAAADCgoBAQIQAAAAAgEDAwkEAQoABQ4AAAkEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADxAQF5AM8BAXoAzQEBQQDLAQFCAMoBAUMAyQEBRADIAQFFAMcBAUYAkgIBRwCRAgFIAI4CAUkA6QEBSgDiAQFLAOEBAUwAPQFNAOABAU4A+gEBTwD5AQFQAPIBAVEA+wEBUgDfAQFTAN4BAVQA3QEBVQDcAQFWAOMBAVcA2wEBWADaAQFZANkBAVoA2AEBXwDXAQEkAOoBAmFhAJwBAmJhANYBAmNhANUBAmRhANQBAmVhADECZmEA6wECZ2EAGwJoYQDOAQJpYQBJAmphANMBAmthANIBAmxhAGgCbWEA0QECbmEA6AECb2EA0AECcGEA5AECcWEAigICcmEA+AECc2EA9wECdGEA9gECdWEA5wECdmEA5gECd2EA5QECeGEAGAJ5YQAVAnphAQAJQQEAQQELHswBkAKNAo8CjAKLArYBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH8AVr1AfQB8wHwAe8B7gHtAewBCq2RCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNByJsBKAIASQ0BIAAgAWohACADQcybASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB4JsBakYaIAIgAygCDCIBRgRAQbibAUG4mwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQcCbASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHQmwEoAgBGBEBB0JsBIAM2AgBBxJsBQcSbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQcybASgCAEcNA0HAmwFBADYCAEHMmwFBADYCAA8LIAVBzJsBKAIARgRAQcybASADNgIAQcCbAUHAmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QeCbAWpGGiACIAUoAgwiAUYEQEG4mwFBuJsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcibASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANBzJsBKAIARw0BQcCbASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QeCbAWohAAJ/QbibASgCACICQQEgAXQiAXFFBEBBuJsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHonQFqIQECQAJAAkBBvJsBKAIAIgRBASACdCIHcUUEQEG8mwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdibAUHYmwEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBDIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQbibASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUHomwFqKAIAIgRBCGohAAJAIAQoAggiAiABQeCbAWoiAUYEQEG4mwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQcCbASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQeibAWooAgAiBCgCCCIBIABB4JsBaiIARgRAQbibASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RB4JsBaiEHQcybASgCACEEAn8gBUEBIAF0IgFxRQRAQbibASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQcybASACNgIAQcCbASADNgIADA0LQbybASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEHonQFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBByJsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhBvJsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QeidAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB6J0BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HAmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEHImwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQcCbASgCACICTQRAQcybASgCACEDAkAgAiAIayIBQRBPBEBBwJsBIAE2AgBBzJsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0HMmwFBADYCAEHAmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQcSbASgCACIGSQRAQcSbASAGIAhrIgE2AgBB0JsBQdCbASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QZCfASgCAARAQZifASgCAAwBC0GcnwFCfzcCAEGUnwFCgKCAgICABDcCAEGQnwEgDEEMakFwcUHYqtWqBXM2AgBBpJ8BQQA2AgBB9J4BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpB8J4BKAIAIgQEQEHongEoAgAiAyACaiIBIANNDQsgASAESw0LC0H0ngEtAABBBHENBQJAAkBB0JsBKAIAIgMEQEH4ngEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAEDwiAUF/Rg0GIAIhBUGUnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkHwngEoAgAiBARAQeieASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPCIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPCIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBmJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA8QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrEDwaDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQfSeAUH0ngEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA8IQFBABA8IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQeieAUHongEoAgAgBWoiADYCAEHsngEoAgAgAEkEQEHsngEgADYCAAsCQAJAAkBB0JsBKAIAIgcEQEH4ngEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQcibASgCACIAQQAgACABTRtFBEBByJsBIAE2AgALQQAhAEH8ngEgBTYCAEH4ngEgATYCAEHYmwFBfzYCAEHcmwFBkJ8BKAIANgIAQYSfAUEANgIAA0AgAEEDdCIDQeibAWogA0HgmwFqIgI2AgAgA0HsmwFqIAI2AgAgAEEBaiIAQSBHDQALQcSbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB0JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQdSbAUGgnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQdCbASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQcSbAUHEmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRB1JsBQaCfASgCADYCAAwBC0HImwEoAgAgAUsEQEHImwEgATYCAAsgASAFaiECQfieASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0H4ngEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEHQmwEgBjYCAEHEmwFBxJsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVBzJsBKAIARgRAQcybASAGNgIAQcCbAUHAmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEHgmwFqRhogAyAFKAIMIgFGBEBBuJsBQbibASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRB6J0BaiIAKAIARgRAIAAgATYCACABDQFBvJsBQbybASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QeCbAWohAgJ/QbibASgCACIBQQEgAHQiAHFFBEBBuJsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB6J0BaiEEAkBBvJsBKAIAIgNBASAAdCIBcUUEQEG8mwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HEmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQdCbASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHUmwFBoJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBgJ8BKQIANwIQIAJB+J4BKQIANwIIQYCfASACQQhqNgIAQfyeASAFNgIAQfieASABNgIAQYSfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEHonQFqIQMCQEG8mwEoAgAiAkEBIAB0IgFxRQRAQbybASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtBxJsBKAIAIgAgCE0NAEHEmwEgACAIayIBNgIAQdCbAUHQmwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRB6J0BaiIAKAIAIARGBEAgACABNgIAIAENAUG8mwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEHonQFqIQICQAJAIAlBASAAdCIBcUUEQEG8mwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRB6J0BaiIAKAIAIAFGBEAgACAENgIAIAQNAUG8mwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RB4JsBaiEEQcybASgCACECAn9BASAAdCIAIAVxRQRAQbibASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQcybASAJNgIAQcCbASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQEhogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAu4GAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZAVaigCACAAKAIQQRB2Qf8BcUECdEGQHWooAgAgACgCEEH/AXFBAnRBkC1qKAIAIAAoAhBBCHZB/wFxQQJ0QZAlaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGQNWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCFEEgazYCFAwBCwsDQCAAKAIUQQRPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QZA1aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQMRoLIAEoAgwoAiRBAUYEQCABKAIMEGcLAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIRogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQuwEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAu2AgEBfyMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjcDGCAEIAM2AhQCQCAEKAIkKQMYQgEgBCgCFK2Gg1AEQCAEKAIkQQxqQRxBABAUIARCfzcDKAwBCwJAIAQoAiQoAgBFBEAgBCAEKAIkKAIIIAQoAiAgBCkDGCAEKAIUIAQoAiQoAgQRDgA3AwgMAQsgBCAEKAIkKAIAIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEKADcDCAsgBCkDCEIAUwRAAkAgBCgCFEEERg0AIAQoAhRBDkYNAAJAIAQoAiQgBEIIQQQQIUIAUwRAIAQoAiRBDGpBFEEAEBQMAQsgBCgCJEEMaiAEKAIAIAQoAgQQFAsLCyAEIAQpAwg3AygLIAQpAyghAiAEQTBqJAAgAgsXACAALQAAQSBxRQRAIAEgAiAAEHIaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJSABKAIMEBULIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAyIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIUIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHsgBCgCLCAEKAIsQaQWahB7IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC5ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELkBIAAoAgwgACgCDEGwFmoQeyAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXAwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQugEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC4ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuAEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQugELCyAEKAIsEL0BIAQoAiAEQCAEKAIsELwBCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxCHnw3A1ggAykDWCADKQNgVgRAIAMgAykDWDcDYAsgAykDYCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAygChAEoAgAgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNIQQAQJ0EASARAIAMoAnwgAygChAEoAgAQFyADQn83A4gBDAMLIAMgAygChAEoAgBBAEEBIAMoAnwQxgFCf1EEQCADEF0gA0J/NwOIAQwDCwJ/IAMoAoABKAIAIAMpA3CnQQR0aigCACEBIwBBEGsiACQAIAAgATYCCCAAIAM2AgQCQAJAAkAgACgCCC8BCiAAKAIELwEKSA0AIAAoAggoAhAgACgCBCgCEEcNACAAKAIIKAIUIAAoAgQoAhRHDQAgACgCCCgCMCAAKAIEKAIwEIsBDQELIABBfzYCDAwBCwJAAkAgACgCCCgCGCAAKAIEKAIYRw0AIAAoAggpAyAgACgCBCkDIFINACAAKAIIKQMoIAAoAgQpAyhRDQELAkACQCAAKAIELwEMQQhxRQ0AIAAoAgQoAhgNACAAKAIEKQMgQgBSDQAgACgCBCkDKFANAQsgAEF/NgIMDAILCyAAQQA2AgwLIAAoAgwhASAAQRBqJAAgAQsEQCADKAJ8QRVBABAUIAMQXSADQn83A4gBDAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EIkBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQXSADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQL1AQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAygCECEBIwBBEGsiACQAIAAgATYCCCAAQdgAEBg2AgQCQCAAKAIERQRAIAAoAghBDkEAEBQgAEEANgIMDAELIAAoAgghAiMAQRBrIgEkACABIAI2AgggAUEYEBgiAjYCBAJAIAJFBEAgASgCCEEOQQAQFCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRCADcDCCABKAIEQQA2AhAgASABKAIENgIMCyABKAIMIQIgAUEQaiQAIAAoAgQgAjYCUCACRQRAIAAoAgQQFSAAQQA2AgwMAQsgACgCBEEANgIAIAAoAgRBADYCBCMAQRBrIgEgACgCBEEIajYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIEQQA2AhggACgCBEEANgIUIAAoAgRBADYCHCAAKAIEQQA2AiQgACgCBEEANgIgIAAoAgRBADoAKCAAKAIEQgA3AzggACgCBEIANwMwIAAoAgRBADYCQCAAKAIEQQA2AkggACgCBEEANgJEIAAoAgRBADYCTCAAKAIEQQA2AlQgACAAKAIENgIMCyAAKAIMIQEgAEEQaiQAIAMgASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFCAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEKABDAELIAIgASAAEKABC0EASARAIAQoAghBBEG0mwEoAgAQFCAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJABBACAAEAUiACAAQRtGGyIABH9BtJsBIAA2AgBBAAVBAAsaC3ABAX8jAEEQayIDJAAgAwJ/IAFBwABxRQRAQQAgAUGAgIQCcUGAgIQCRw0BGgsgAyACQQRqNgIMIAIoAgALNgIAIAAgAUGAgAJyIAMQECIAQYFgTwRAQbSbAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALMwEBfwJ/IAAQByIBQWFGBEAgABARIQELIAFBgWBPCwR/QbSbAUEAIAFrNgIAQX8FIAELC2kBAn8CQCAAKAIUIAAoAhxNDQAgAEEAQQAgACgCJBEBABogACgCFA0AQX8PCyAAKAIEIgEgACgCCCICSQRAIAAgASACa6xBASAAKAIoEQ8AGgsgAEEANgIcIABCADcDECAAQgA3AgRBAAvaAwEGfyMAQRBrIgUkACAFIAI2AgwjAEGgAWsiBCQAIARBCGpBkIcBQZABEBkaIAQgADYCNCAEIAA2AhwgBEF+IABrIgNB/////wcgA0H/////B0kbIgY2AjggBCAAIAZqIgA2AiQgBCAANgIYIARBCGohACMAQdABayIDJAAgAyACNgLMASADQaABakEAQSgQMiADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBxQQBIDQAgACgCTEEATiEHIAAoAgAhAiAALABKQQBMBEAgACACQV9xNgIACyACQSBxIQgCfyAAKAIwBEAgACABIANByAFqIANB0ABqIANBoAFqEHEMAQsgAEHQADYCMCAAIANB0ABqNgIQIAAgAzYCHCAAIAM2AhQgACgCLCECIAAgAzYCLCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcSACRQ0AGiAAQQBBACAAKAIkEQEAGiAAQQA2AjAgACACNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgCHI2AgAgB0UNAAsgA0HQAWokACAGBEAgBCgCHCIAIAAgBCgCGEZrQQA6AAALIARBoAFqJAAgBUEQaiQAC4wSAg9/AX4jAEHQAGsiBSQAIAUgATYCTCAFQTdqIRMgBUE4aiEQQQAhAQNAAkAgDUEASA0AQf////8HIA1rIAFIBEBBtJsBQT02AgBBfyENDAELIAEgDWohDQsgBSgCTCIHIQECQAJAAkACQAJAAkACQAJAIAUCfwJAIActAAAiBgRAA0ACQAJAIAZB/wFxIgZFBEAgASEGDAELIAZBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgg2AkwgBkEBaiEGIAEtAAIhDiAIIQEgDkElRg0ACwsgBiAHayEBIAAEQCAAIAcgARAiCyABDQ0gBSgCTCEBIAUoAkwsAAFBMGtBCk8NAyABLQACQSRHDQMgASwAAUEwayEPQQEhESABQQNqDAQLIAUgAUEBaiIINgJMIAEtAAEhBiAIIQEMAAsACyANIQsgAA0IIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQqAFBASELIAFBAWoiAUEKRw0BDAoLC0EBIQsgAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgxBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgxBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgDEEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQpBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQogAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCgsgBSgCTEEBagsiATYCTCAKQX9KDQFBACAKayEKIAhBgMAAciEIDAELIAVBzABqEKcBIgpBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQpwEhCSAFKAJMIQELQQAhBgNAIAYhEkF/IQsgASwAAEHBAGtBOUsNByAFIAFBAWoiDDYCTCABLAAAIQYgDCEBIAYgEkE6bGpB74IBai0AACIGQQFrQQhJDQALIAZBE0YNAiAGRQ0GIA9BAE4EQCAEIA9BAnRqIAY2AgAgBSADIA9BA3RqKQMANwNADAQLIAANAQtBACELDAULIAVBQGsgBiACEKgBIAUoAkwhDAwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDiAIIAhBgMAAcRshBkEAIQtBpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCANNgIADBYLIAUoAkAgDTYCAAwVCyAFKAJAIA2sNwMADBQLIAUoAkAgDTsBAAwTCyAFKAJAIA06AAAMEgsgBSgCQCANNgIADBELIAUoAkAgDaw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQ4gBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGAhwFqLQAAIA5yOgAAIBRCD1YhDCAUQgSIIRQgDA0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiELDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQtBpAgMAQsgBkGAEHEEQEEBIQtBpQgMAQtBpghBpAggBkEBcSILGwshDyAUIBAQRCEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQdgSIAEbIgdBACAJEKsBIgEgByAJaiABGyEIIA4hBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIApBACAGECYMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQqgEiB0EASCIODQAgByAJIAFrSw0AIAhBBGohCCAJIAEgB2oiAUsNAQwCCwtBfyELIA4NBQsgAEEgIAogASAGECYgAUUEQEEAIQEMAQtBACEIIAUoAkAhDANAIAwoAgAiB0UNASAFQQRqIAcQqgEiByAIaiIIIAFKDQEgACAFQQRqIAcQIiAMQQRqIQwgASAISw0ACwsgAEEgIAogASAGQYDAAHMQJiAKIAEgASAKSBshAQwFCyAAIAUrA0AgCiAJIAYgAUEXERkAIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDiEGDAILQX8hCwsgBUHQAGokACALDwsgAEEgIAsgCCAHayIOIAkgCSAOSBsiDGoiCCAKIAggCkobIgEgCCAGECYgACAPIAsQIiAAQTAgASAIIAZBgIAEcxAmIABBMCAMIA5BABAmIAAgByAOECIgAEEgIAEgCCAGQYDAAHMQJgwACwALkAIBA38CQCABIAIoAhAiBAR/IAQFQQAhBAJ/IAIgAi0ASiIDQQFrIANyOgBKIAIoAgAiA0EIcQRAIAIgA0EgcjYCAEF/DAELIAJCADcCBCACIAIoAiwiAzYCHCACIAM2AhQgAiADIAIoAjBqNgIQQQALDQEgAigCEAsgAigCFCIFa0sEQCACIAAgASACKAIkEQEADwsCfyACLABLQX9KBEAgASEEA0AgASAEIgNFDQIaIAAgA0EBayIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQgA0kNAiAAIANqIQAgAigCFCEFIAEgA2sMAQsgAQshBCAFIAAgBBAZGiACIAIoAhQgBGo2AhQgASEECyAEC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFchBCADQRBqJAAgBAt3AQF/IwBBEGsiASAANgIIIAFChSo3AwACQCABKAIIRQRAIAFBADYCDAwBCwNAIAEoAggtAAAEQCABIAEoAggtAACtIAEpAwBCIX58Qv////8PgzcDACABIAEoAghBAWo2AggMAQsLIAEgASkDAD4CDAsgASgCDAuHBQEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjcDGCAFIAM2AhQgBSAENgIQAkACQAJAIAUoAihFDQAgBSgCJEUNACAFKQMYQv///////////wBYDQELIAUoAhBBEkEAEBQgBUEAOgAvDAELIAUoAigoAgBFBEAgBSgCKEGAAiAFKAIQEFlBAXFFBEAgBUEAOgAvDAILCyAFIAUoAiQQdDYCDCAFIAUoAgwgBSgCKCgCAHA2AgggBSAFKAIoKAIQIAUoAghBAnRqKAIANgIEA0ACQCAFKAIERQ0AAkAgBSgCBCgCHCAFKAIMRw0AIAUoAiQgBSgCBCgCABBaDQACQAJAIAUoAhRBCHEEQCAFKAIEKQMIQn9SDQELIAUoAgQpAxBCf1ENAQsgBSgCEEEKQQAQFCAFQQA6AC8MBAsMAQsgBSAFKAIEKAIYNgIEDAELCyAFKAIERQRAIAVBIBAYIgA2AgQgAEUEQCAFKAIQQQ5BABAUIAVBADoALwwCCyAFKAIEIAUoAiQ2AgAgBSgCBCAFKAIoKAIQIAUoAghBAnRqKAIANgIYIAUoAigoAhAgBSgCCEECdGogBSgCBDYCACAFKAIEIAUoAgw2AhwgBSgCBEJ/NwMIIAUoAigiACAAKQMIQgF8NwMIAkAgBSgCKCIAKQMIuiAAKAIAuEQAAAAAAADoP6JkRQ0AIAUoAigoAgBBgICAgHhPDQAgBSgCKCAFKAIoKAIAQQF0IAUoAhAQWUEBcUUEQCAFQQA6AC8MAwsLCyAFKAIUQQhxBEAgBSgCBCAFKQMYNwMICyAFKAIEIAUpAxg3AxAgBUEBOgAvCyAFLQAvQQFxIQAgBUEwaiQAIAALWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEBgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEDILIAAL1BEBAX8jAEGwAWsiBiQAIAYgADYCqAEgBiABNgKkASAGIAI2AqABIAYgAzYCnAEgBiAENgKYASAGIAU2ApQBIAZBADYCkAEDQCAGKAKQAUEPS0UEQCAGQSBqIAYoApABQQF0akEAOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFPRQRAIAZBIGogBigCpAEgBigCjAFBAXRqLwEAQQF0aiIAIAAvAQBBAWo7AQAgBiAGKAKMAUEBajYCjAEMAQsLIAYgBigCmAEoAgA2AoABIAZBDzYChAEDQAJAIAYoAoQBQQFJDQAgBkEgaiAGKAKEAUEBdGovAQANACAGIAYoAoQBQQFrNgKEAQwBCwsgBigCgAEgBigChAFLBEAgBiAGKAKEATYCgAELAkAgBigChAFFBEAgBkHAADoAWCAGQQE6AFkgBkEAOwFaIAYoApwBIgEoAgAhACABIABBBGo2AgAgACAGQdgAaigBADYBACAGKAKcASIBKAIAIQAgASAAQQRqNgIAIAAgBkHYAGooAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQYDwADYCUCAGQcDwADYCTCAGQYECNgJIDAELIAZBgPEANgJQIAZBwPEANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoAkggBigClAEgBigCjAFBAXRqLwEAQQFqSwRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQQFrIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigChAEgBigCfCAGKAJ4ak0NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGRoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPiEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGiEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+0BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Aj(Hh)||(Hh=xIe(Hh));function ZIe(t){try{if(t==Hh&&TD)return new Uint8Array(TD);var e=JG(t);if(e)return e;if(OD)return OD(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){ur(r)}}function _Ie(t,e){var r,i,n;try{n=ZIe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Wr("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Wr("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function eEe(){var t={a:$Ie};function e(n,s){var o=n.exports;ne.asm=o,fI=ne.asm.u,rj(fI.buffer),GD=ne.asm.za,VIe(ne.asm.v),JD("wasm-instantiate")}if(oj("wasm-instantiate"),ne.instantiateWasm)try{var r=ne.instantiateWasm(t,e);return r}catch(n){return Wr("Module.instantiateWasm callback failed with error: "+n),!1}var i=_Ie(Hh,t);return e(i[0]),ne.asm}var Pr,$s;function jD(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(ne);continue}var r=e.func;typeof r=="number"?e.arg===void 0?GD.get(r)():GD.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function CI(t,e){var r=new Date(Ye[t>>2]*1e3);Ye[e>>2]=r.getUTCSeconds(),Ye[e+4>>2]=r.getUTCMinutes(),Ye[e+8>>2]=r.getUTCHours(),Ye[e+12>>2]=r.getUTCDate(),Ye[e+16>>2]=r.getUTCMonth(),Ye[e+20>>2]=r.getUTCFullYear()-1900,Ye[e+24>>2]=r.getUTCDay(),Ye[e+36>>2]=0,Ye[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[e+28>>2]=n,CI.GMTString||(CI.GMTString=HD("GMT")),Ye[e+40>>2]=CI.GMTString,e}function tEe(t,e){return CI(t,e)}var ut={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=ut.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=ut.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=ut.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return ut.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return ut.normalize(t.join("/"))},join2:function(t,e){return ut.normalize(t+"/"+e)}};function rEe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(BA)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){ur("randomDevice")}}var eo={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=ut.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=eo.resolve(t).substr(1),e=eo.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` `)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` -`));if(!e)return null;t.input=YS(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(cI(Ic(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cI(Ic(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Gr(Ic(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Gr(Ic(t.output,0)),t.output=[])}}};function qS(t){for(var e=IIe(t,65536),r=Vq(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&st.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return st.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=st.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),ut.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Ve.flagsForNodeMap)t&r&&(e|=Ve.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Ve.realPath(t),r;try{r=nt.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}return Ve.isWindows&&!r.blksize&&(r.blksize=4096),Ve.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Ve.realPath(t);try{if(e.mode!==void 0&&(nt.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);nt.utimesSync(r,i,i)}e.size!==void 0&&nt.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},lookup:function(t,e){var r=ut.join2(Ve.realPath(t),e),i=Ve.getMode(r);return Ve.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Ve.createNode(t,e,r,i),s=Ve.realPath(n);try{E.isDir(n.mode)?nt.mkdirSync(s,n.mode):nt.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Ve.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Ve.realPath(t),n=ut.join2(Ve.realPath(e),r);try{nt.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Ve.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},rmdir:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},readdir:function(t){var e=Ve.realPath(t);try{return nt.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=ut.join2(Ve.realPath(t),e);try{nt.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},readlink:function(t){var e=Ve.realPath(t);try{return e=nt.readlinkSync(e),e=GS.relative(GS.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Ve.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=nt.openSync(e,Ve.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&nt.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Ve.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=nt.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new E.ErrnoError(28);if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);var o=qS(r);return Ve.stream_ops.read(t,Ai,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);if(n&2)return 0;var s=Ve.stream_ops.write(t,e,0,i,r,!1);return 0}}},iG={lookupPath:function(t){return{path:t,node:{mode:Ve.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?nt.mkdirSync(t,e):nt.writeFileSync(t,"",{mode:e})},mkdir:function(){nt.mkdirSync.apply(void 0,arguments)},symlink:function(){nt.symlinkSync.apply(void 0,arguments)},rename:function(){nt.renameSync.apply(void 0,arguments)},rmdir:function(){nt.rmdirSync.apply(void 0,arguments)},readdir:function(){nt.readdirSync.apply(void 0,arguments)},unlink:function(){nt.unlinkSync.apply(void 0,arguments)},readlink:function(){return nt.readlinkSync.apply(void 0,arguments)},stat:function(){return nt.statSync.apply(void 0,arguments)},lstat:function(){return nt.lstatSync.apply(void 0,arguments)},chmod:function(){nt.chmodSync.apply(void 0,arguments)},fchmod:function(){nt.fchmodSync.apply(void 0,arguments)},chown:function(){nt.chownSync.apply(void 0,arguments)},fchown:function(){nt.fchownSync.apply(void 0,arguments)},truncate:function(){nt.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new E.ErrnoError(28);nt.ftruncateSync.apply(void 0,arguments)},utime:function(){nt.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=bA.modeStringToFlags(e));var n=nt.openSync(t,Ve.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||nt.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return bA.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=nt.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(yc.EINVAL);if(i<0)throw new E.ErrnoError(yc.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return bA.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return bA.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(yc.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return bA.mmap(t,e,r,i,n,s);if(e!==0)throw new E.ErrnoError(28);var o=qS(r);return E.read(t,Ai,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?bA.msync(t,e,r,i,n):(n&2||E.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(yc.ENOTTY)}},E={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=Xs.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=ut.normalizeArray(t.split("/").filter(function(h){return!!h}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){var n=new E.FSNode(t,e,r,i);return E.hashAddNode(n),n},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&Gr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=ut.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||h<0)){var f=h%this.chunkSize,p=h/this.chunkSize|0;return this.getter(p)[f]}},s.prototype.setDataGetter=function(h){this.getter=h},s.prototype.cacheLength=function(){var h=new XMLHttpRequest;if(h.open("HEAD",r,!1),h.send(null),!(h.status>=200&&h.status<300||h.status===304))throw new Error("Couldn't load "+r+". Status: "+h.status);var f=Number(h.getResponseHeader("Content-length")),p,m=(p=h.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=h.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=f);var b=function(F,N){if(F>N)throw new Error("invalid range ("+F+", "+N+") or no bytes requested!");if(N>f-1)throw new Error("only "+f+" bytes available! programmer error!");var U=new XMLHttpRequest;if(U.open("GET",r,!1),f!==y&&U.setRequestHeader("Range","bytes="+F+"-"+N),typeof Uint8Array!="undefined"&&(U.responseType="arraybuffer"),U.overrideMimeType&&U.overrideMimeType("text/plain; charset=x-user-defined"),U.send(null),!(U.status>=200&&U.status<300||U.status===304))throw new Error("Couldn't load "+r+". Status: "+U.status);return U.response!==void 0?new Uint8Array(U.response||[]):YS(U.responseText||"",!0)},x=this;x.setDataGetter(function(F){var N=F*y,U=(F+1)*y-1;if(U=Math.min(U,f-1),typeof x.chunks[F]=="undefined"&&(x.chunks[F]=b(N,U)),typeof x.chunks[F]=="undefined")throw new Error("doXHR failed!");return x.chunks[F]}),(I||!f)&&(y=f=1,f=this.getter(0).length,y=f,cI("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=f,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!Kq)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var h=l.stream_ops[g];c[g]=function(){return E.forceLoadFile(l),h.apply(null,arguments)}}),c.read=function(h,f,p,m,I){E.forceLoadFile(l);var y=h.node.contents;if(I>=y.length)return 0;var b=Math.min(y.length-I,m);if(y.slice)for(var x=0;x>2]=i.dev,Ye[r+4>>2]=0,Ye[r+8>>2]=i.ino,Ye[r+12>>2]=i.mode,Ye[r+16>>2]=i.nlink,Ye[r+20>>2]=i.uid,Ye[r+24>>2]=i.gid,Ye[r+28>>2]=i.rdev,Ye[r+32>>2]=0,Vs=[i.size>>>0,(xr=i.size,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[r+40>>2]=Vs[0],Ye[r+44>>2]=Vs[1],Ye[r+48>>2]=4096,Ye[r+52>>2]=i.blocks,Ye[r+56>>2]=i.atime.getTime()/1e3|0,Ye[r+60>>2]=0,Ye[r+64>>2]=i.mtime.getTime()/1e3|0,Ye[r+68>>2]=0,Ye[r+72>>2]=i.ctime.getTime()/1e3|0,Ye[r+76>>2]=0,Vs=[i.ino>>>0,(xr=i.ino,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[r+80>>2]=Vs[0],Ye[r+84>>2]=Vs[1],0},doMsync:function(t,e,r,i,n){var s=Ec.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=ut.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,hI(i)),s=Ai[e+n];return Jq(i,e,r+1),Ai[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=Ye[e+(s*8+4)>>2],l=E.read(t,Ai,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=Ye[e+(s*8+4)>>2],l=E.write(t,Ai,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Qt.varargs+=4;var t=Ye[Qt.varargs-4>>2];return t},getStr:function(t){var e=jq(t);return e},getStreamFromFD:function(t){var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(t,e){return t}};function JIe(t,e){try{return t=Qt.getStr(t),E.chmod(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function zIe(t){return Ye[WIe()>>2]=t,t}function VIe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 0:{var n=Qt.get();if(n<0)return-28;var s;return s=E.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Qt.get();return i.flags|=n,0}case 12:{var n=Qt.get(),o=0;return NS[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return zIe(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&cr(a),-a.errno}}function XIe(t,e){try{var r=Qt.getStreamFromFD(t);return Qt.doStat(E.stat,r.path,e)}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&cr(i),-i.errno}}function ZIe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Qt.get();return Ye[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Qt.get();return E.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:cr("bad ioctl syscall "+e)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&cr(s),-s.errno}}function _Ie(t,e,r){Qt.varargs=r;try{var i=Qt.getStr(t),n=r?Qt.get():0,s=E.open(i,e,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),-o.errno}}function $Ie(t,e){try{return t=Qt.getStr(t),e=Qt.getStr(e),E.rename(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function eEe(t){try{return t=Qt.getStr(t),E.rmdir(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&cr(e),-e.errno}}function tEe(t,e){try{return t=Qt.getStr(t),Qt.doStat(E.stat,t,e)}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),-r.errno}}function rEe(t){try{return t=Qt.getStr(t),E.unlink(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&cr(e),-e.errno}}function iEe(t,e,r){Ec.copyWithin(t,e,e+r)}function nEe(t){try{return uI.grow(t-OS.byteLength+65535>>>16),Xq(uI.buffer),1}catch(e){}}function sEe(t){var e=Ec.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,PIe(Math.max(t,n),65536)),o=nEe(s);if(o)return!0}return!1}function oEe(t){try{var e=Qt.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&cr(r),r.errno}}function aEe(t,e){try{var r=Qt.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return Ai[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&cr(n),n.errno}}function AEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doReadv(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),o.errno}}function lEe(t,e,r,i,n){try{var s=Qt.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),Vs=[s.position>>>0,(xr=s.position,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],Ye[n>>2]=Vs[0],Ye[n+4>>2]=Vs[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&cr(c),c.errno}}function cEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doWritev(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&cr(o),o.errno}}function uEe(t){yIe(t)}function gEe(t){var e=Date.now()/1e3|0;return t&&(Ye[t>>2]=e),e}function jS(){if(jS.called)return;jS.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);Ye[fEe()>>2]=s*60,Ye[hEe()>>2]=Number(i!=n);function o(g){var h=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return h?h[1]:"GMT"}var a=o(e),l=o(r),c=MS(a),u=MS(l);n>2]=c,Ye[pI()+4>>2]=u):(Ye[pI()>>2]=u,Ye[pI()+4>>2]=c)}function pEe(t){jS();var e=Date.UTC(Ye[t+20>>2]+1900,Ye[t+16>>2],Ye[t+12>>2],Ye[t+8>>2],Ye[t+4>>2],Ye[t>>2],0),r=new Date(e);Ye[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[t+28>>2]=n,r.getTime()/1e3|0}var nG=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=E.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},dI=292|73,CI=146;Object.defineProperties(nG.prototype,{read:{get:function(){return(this.mode&dI)===dI},set:function(t){t?this.mode|=dI:this.mode&=~dI}},write:{get:function(){return(this.mode&CI)===CI},set:function(t){t?this.mode|=CI:this.mode&=~CI}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}});E.FSNode=nG;E.staticInit();wA&&(nt=Nq,GS=require("path"),Ve.staticInit());var nt,GS;if(wA){sG=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(yc[e.code]):e}}},bA=Object.assign({},E);for(JS in iG)E[JS]=sG(iG[JS])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var sG,bA,JS;function YS(t,e,r){var i=r>0?r:hI(t)+1,n=new Array(i),s=gI(t,n,0,n.length);return e&&(n.length=s),n}var dEe=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(LIe(),QA>0))return;function e(){mI||(mI=!0,ne.calledRun=!0,!qq&&(NIe(),ne.onRuntimeInitialized&&ne.onRuntimeInitialized(),OIe()))}ne.setStatus?(ne.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ne.setStatus("")},1),e()},1)):e()}ne.run=WS;if(ne.preInit)for(typeof ne.preInit=="function"&&(ne.preInit=[ne.preInit]);ne.preInit.length>0;)ne.preInit.pop()();WS()});var lG=C((vXe,AG)=>{"use strict";function mEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function SA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,SA)}mEe(SA,Error);SA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g>",X=pt(">>",!1),ae=">&",ue=pt(">&",!1),we=">",lt=pt(">",!1),ft="<<<",xt=pt("<<<",!1),Sn="<&",di=pt("<&",!1),Zt="<",Vi=pt("<",!1),Wn=function(d){return{type:"argument",segments:[].concat(...d)}},Ka=function(d){return d},rg="'",wo=pt("'",!1),Md=function(d){return[{type:"text",text:d}]},Od='"',Kd=pt('"',!1),ig=function(d){return d},GB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},jB=function(d){return{type:"shell",shell:d,quoted:!0}},Td=function(d){return V(P({type:"variable"},d),{quoted:!0})},Ud=function(d){return{type:"text",text:d}},JB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},Hd=function(d){return{type:"shell",shell:d,quoted:!1}},WB=function(d){return V(P({type:"variable"},d),{quoted:!1})},zB=function(d){return{type:"glob",pattern:d}},Ss="\\",_=pt("\\",!1),Xi=xs(),Ni=function(d){return d},Yd=/^[^']/,qd=Kr(["'"],!0,!1),Ta=function(d){return d.join("")},Gd=/^[^$"]/,jd=Kr(["$",'"'],!0,!1),Sl="-",ng=pt("-",!1),sg="+",Dl=pt("+",!1),Qo=/^[0-9]/,bo=Kr([["0","9"]],!1,!1),VB=".",XB=pt(".",!1),ZB=function(d,Q,k){return{type:"number",value:(d==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},Jd=function(d,Q){return{type:"number",value:(d==="-"?-1:1)*parseInt(Q.join(""))}},Wd=function(d){return P({type:"variable"},d)},_B=function(d){return{type:"variable",name:d}},zd=function(d){return d},Vd="*",Xd=pt("*",!1),$B=function(d,Q){return{type:"multiplication",left:d,right:Q}},ew="/",tw=pt("/",!1),rw=function(d,Q){return{type:"division",left:d,right:Q}},iw=function(d,Q){return{type:"addition",left:d,right:Q}},O=function(d,Q){return{type:"subtraction",left:d,right:Q}},rt="$((",xl=pt("$((",!1),Mi="))",og=pt("))",!1),Oe=function(d){return d},Ua="$(",Zd=pt("$(",!1),uL=function(d){return d},Ha="${",_d=pt("${",!1),Mt=":-",zn=pt(":-",!1),nw=function(d,Q){return{name:d,defaultValue:Q}},$d=":-}",So=pt(":-}",!1),eC=function(d){return{name:d,defaultValue:[]}},Do=function(d){return{name:d}},We="$",sw=pt("$",!1),tC=function(d){return e.isGlobPattern(d)},rC=function(d){return d},iC=/^[a-zA-Z0-9_]/,ag=Kr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Ag=function(){return aw()},lg=/^[$@*?#a-zA-Z0-9_\-]/,Ya=Kr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),qa=/^[(){}<>$|&; \t"']/,ow=Kr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),nC=/^[<>&; \t"']/,sC=Kr(["<",">","&",";"," "," ",'"',"'"],!1,!1),oC=/^[ \t]/,xo=Kr([" "," "],!1,!1),S=0,Ne=0,Ga=[{line:1,column:1}],Ci=0,Pl=[],Se=0,Ds;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function aw(){return t.substring(Ne,S)}function Aw(){return T(Ne,S)}function cg(d,Q){throw Q=Q!==void 0?Q:T(Ne,S),Ce([kl(d)],t.substring(Ne,S),Q)}function hr(d,Q){throw Q=Q!==void 0?Q:T(Ne,S),ye(d,Q)}function pt(d,Q){return{type:"literal",text:d,ignoreCase:Q}}function Kr(d,Q,k){return{type:"class",parts:d,inverted:Q,ignoreCase:k}}function xs(){return{type:"any"}}function aC(){return{type:"end"}}function kl(d){return{type:"other",description:d}}function D(d){var Q=Ga[d],k;if(Q)return Q;for(k=d-1;!Ga[k];)k--;for(Q=Ga[k],Q={line:Q.line,column:Q.column};kCi&&(Ci=S,Pl=[]),Pl.push(d))}function ye(d,Q){return new SA(d,null,null,Q)}function Ce(d,Q,k){return new SA(SA.buildMessage(d,Q),d,Q,k)}function Me(){var d,Q;return d=S,Q=tt(),Q===r&&(Q=null),Q!==r&&(Ne=d,Q=s(Q)),d=Q,d}function tt(){var d,Q,k,Y,ee;if(d=S,Q=lw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();k!==r?(Y=Ps(),Y!==r?(ee=Ot(),ee===r&&(ee=null),ee!==r?(Ne=d,Q=o(Q,Y,ee),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;if(d===r)if(d=S,Q=lw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();k!==r?(Y=Ps(),Y===r&&(Y=null),Y!==r?(Ne=d,Q=a(Q,Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;return d}function Ot(){var d,Q,k,Y,ee;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=tt(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=l(k),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;return d}function Ps(){var d;return t.charCodeAt(S)===59?(d=c,S++):(d=r,Se===0&&q(u)),d===r&&(t.charCodeAt(S)===38?(d=g,S++):(d=r,Se===0&&q(h))),d}function lw(){var d,Q,k;return d=S,Q=gL(),Q!==r?(k=Qoe(),k===r&&(k=null),k!==r?(Ne=d,Q=f(Q,k),d=Q):(S=d,d=r)):(S=d,d=r),d}function Qoe(){var d,Q,k,Y,ee,xe,Pt;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=boe(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=lw(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=p(k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;return d}function boe(){var d;return t.substr(S,2)===m?(d=m,S+=2):(d=r,Se===0&&q(I)),d===r&&(t.substr(S,2)===y?(d=y,S+=2):(d=r,Se===0&&q(b))),d}function gL(){var d,Q,k;return d=S,Q=xoe(),Q!==r?(k=Soe(),k===r&&(k=null),k!==r?(Ne=d,Q=x(Q,k),d=Q):(S=d,d=r)):(S=d,d=r),d}function Soe(){var d,Q,k,Y,ee,xe,Pt;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(k=Doe(),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=gL(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=F(k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;return d}function Doe(){var d;return t.substr(S,2)===N?(d=N,S+=2):(d=r,Se===0&&q(U)),d===r&&(t.charCodeAt(S)===124?(d=v,S++):(d=r,Se===0&&q(J))),d}function AC(){var d,Q,k,Y,ee,xe;if(d=S,Q=EL(),Q!==r)if(t.charCodeAt(S)===61?(k=oe,S++):(k=r,Se===0&&q(K)),k!==r)if(Y=fL(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(Ne=d,Q=A(Q,Y),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;else S=d,d=r;if(d===r)if(d=S,Q=EL(),Q!==r)if(t.charCodeAt(S)===61?(k=oe,S++):(k=r,Se===0&&q(K)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=W(Q),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r;return d}function xoe(){var d,Q,k,Y,ee,xe,Pt,vl,Tr,mi,Po;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(t.charCodeAt(S)===40?(k=$,S++):(k=r,Se===0&&q(re)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=tt(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();if(xe!==r)if(t.charCodeAt(S)===41?(Pt=H,S++):(Pt=r,Se===0&&q(R)),Pt!==r){for(vl=[],Tr=Qe();Tr!==r;)vl.push(Tr),Tr=Qe();if(vl!==r){for(Tr=[],mi=ug();mi!==r;)Tr.push(mi),mi=ug();if(Tr!==r){for(mi=[],Po=Qe();Po!==r;)mi.push(Po),Po=Qe();mi!==r?(Ne=d,Q=Pe(ee,Tr),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r)if(t.charCodeAt(S)===123?(k=Le,S++):(k=r,Se===0&&q(Ge)),k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r)if(ee=tt(),ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();if(xe!==r)if(t.charCodeAt(S)===125?(Pt=Ke,S++):(Pt=r,Se===0&&q(ie)),Pt!==r){for(vl=[],Tr=Qe();Tr!==r;)vl.push(Tr),Tr=Qe();if(vl!==r){for(Tr=[],mi=ug();mi!==r;)Tr.push(mi),mi=ug();if(Tr!==r){for(mi=[],Po=Qe();Po!==r;)mi.push(Po),Po=Qe();mi!==r?(Ne=d,Q=le(ee,Tr),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r}else S=d,d=r;else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){for(k=[],Y=AC();Y!==r;)k.push(Y),Y=AC();if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();if(Y!==r){if(ee=[],xe=hL(),xe!==r)for(;xe!==r;)ee.push(xe),xe=hL();else ee=r;if(ee!==r){for(xe=[],Pt=Qe();Pt!==r;)xe.push(Pt),Pt=Qe();xe!==r?(Ne=d,Q=be(k,ee),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}else S=d,d=r}else S=d,d=r;if(d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){if(k=[],Y=AC(),Y!==r)for(;Y!==r;)k.push(Y),Y=AC();else k=r;if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=he(k),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r}}}return d}function Poe(){var d,Q,k,Y,ee;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r){if(k=[],Y=lC(),Y!==r)for(;Y!==r;)k.push(Y),Y=lC();else k=r;if(k!==r){for(Y=[],ee=Qe();ee!==r;)Y.push(ee),ee=Qe();Y!==r?(Ne=d,Q=Ie(k),d=Q):(S=d,d=r)}else S=d,d=r}else S=d,d=r;return d}function hL(){var d,Q,k;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();if(Q!==r?(k=ug(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r),d===r){for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();Q!==r?(k=lC(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r)}return d}function ug(){var d,Q,k,Y;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();return Q!==r?(k=koe(),k!==r?(Y=lC(),Y!==r?(Ne=d,Q=ve(k,Y),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function koe(){var d;return t.substr(S,2)===Z?(d=Z,S+=2):(d=r,Se===0&&q(X)),d===r&&(t.substr(S,2)===ae?(d=ae,S+=2):(d=r,Se===0&&q(ue)),d===r&&(t.charCodeAt(S)===62?(d=we,S++):(d=r,Se===0&&q(lt)),d===r&&(t.substr(S,3)===ft?(d=ft,S+=3):(d=r,Se===0&&q(xt)),d===r&&(t.substr(S,2)===Sn?(d=Sn,S+=2):(d=r,Se===0&&q(di)),d===r&&(t.charCodeAt(S)===60?(d=Zt,S++):(d=r,Se===0&&q(Vi))))))),d}function lC(){var d,Q,k;for(d=S,Q=[],k=Qe();k!==r;)Q.push(k),k=Qe();return Q!==r?(k=fL(),k!==r?(Ne=d,Q=pe(k),d=Q):(S=d,d=r)):(S=d,d=r),d}function fL(){var d,Q,k;if(d=S,Q=[],k=pL(),k!==r)for(;k!==r;)Q.push(k),k=pL();else Q=r;return Q!==r&&(Ne=d,Q=Wn(Q)),d=Q,d}function pL(){var d,Q;return d=S,Q=voe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q,d===r&&(d=S,Q=Foe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q,d===r&&(d=S,Q=Roe(),Q!==r&&(Ne=d,Q=Ka(Q)),d=Q)),d}function voe(){var d,Q,k,Y;return d=S,t.charCodeAt(S)===39?(Q=rg,S++):(Q=r,Se===0&&q(wo)),Q!==r?(k=Loe(),k!==r?(t.charCodeAt(S)===39?(Y=rg,S++):(Y=r,Se===0&&q(wo)),Y!==r?(Ne=d,Q=Md(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function Foe(){var d,Q,k,Y;if(d=S,t.charCodeAt(S)===34?(Q=Od,S++):(Q=r,Se===0&&q(Kd)),Q!==r){for(k=[],Y=dL();Y!==r;)k.push(Y),Y=dL();k!==r?(t.charCodeAt(S)===34?(Y=Od,S++):(Y=r,Se===0&&q(Kd)),Y!==r?(Ne=d,Q=ig(k),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;return d}function Roe(){var d,Q,k;if(d=S,Q=[],k=CL(),k!==r)for(;k!==r;)Q.push(k),k=CL();else Q=r;return Q!==r&&(Ne=d,Q=ig(Q)),d=Q,d}function dL(){var d,Q;return d=S,Q=mL(),Q!==r&&(Ne=d,Q=GB(Q)),d=Q,d===r&&(d=S,Q=IL(),Q!==r&&(Ne=d,Q=jB(Q)),d=Q,d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=Td(Q)),d=Q,d===r&&(d=S,Q=Noe(),Q!==r&&(Ne=d,Q=Ud(Q)),d=Q))),d}function CL(){var d,Q;return d=S,Q=mL(),Q!==r&&(Ne=d,Q=JB(Q)),d=Q,d===r&&(d=S,Q=IL(),Q!==r&&(Ne=d,Q=Hd(Q)),d=Q,d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=WB(Q)),d=Q,d===r&&(d=S,Q=Ooe(),Q!==r&&(Ne=d,Q=zB(Q)),d=Q,d===r&&(d=S,Q=Moe(),Q!==r&&(Ne=d,Q=Ud(Q)),d=Q)))),d}function Loe(){var d,Q,k,Y,ee;for(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Yd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(qd)));k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Yd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(qd)));return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function Noe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Gd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(jd))),k!==r)for(;k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(Gd.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(jd)));else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function Moe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(k=S,Y=S,Se++,ee=yL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=S,t.charCodeAt(S)===92?(Y=Ss,S++):(Y=r,Se===0&&q(_)),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k===r&&(k=S,Y=S,Se++,ee=yL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r));else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function cw(){var d,Q,k,Y,ee,xe;if(d=S,t.charCodeAt(S)===45?(Q=Sl,S++):(Q=r,Se===0&&q(ng)),Q===r&&(t.charCodeAt(S)===43?(Q=sg,S++):(Q=r,Se===0&&q(Dl))),Q===r&&(Q=null),Q!==r){if(k=[],Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo)),Y!==r)for(;Y!==r;)k.push(Y),Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo));else k=r;if(k!==r)if(t.charCodeAt(S)===46?(Y=VB,S++):(Y=r,Se===0&&q(XB)),Y!==r){if(ee=[],Qo.test(t.charAt(S))?(xe=t.charAt(S),S++):(xe=r,Se===0&&q(bo)),xe!==r)for(;xe!==r;)ee.push(xe),Qo.test(t.charAt(S))?(xe=t.charAt(S),S++):(xe=r,Se===0&&q(bo));else ee=r;ee!==r?(Ne=d,Q=ZB(Q,k,ee),d=Q):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,t.charCodeAt(S)===45?(Q=Sl,S++):(Q=r,Se===0&&q(ng)),Q===r&&(t.charCodeAt(S)===43?(Q=sg,S++):(Q=r,Se===0&&q(Dl))),Q===r&&(Q=null),Q!==r){if(k=[],Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo)),Y!==r)for(;Y!==r;)k.push(Y),Qo.test(t.charAt(S))?(Y=t.charAt(S),S++):(Y=r,Se===0&&q(bo));else k=r;k!==r?(Ne=d,Q=Jd(Q,k),d=Q):(S=d,d=r)}else S=d,d=r;if(d===r&&(d=S,Q=uw(),Q!==r&&(Ne=d,Q=Wd(Q)),d=Q,d===r&&(d=S,Q=hg(),Q!==r&&(Ne=d,Q=_B(Q)),d=Q,d===r)))if(d=S,t.charCodeAt(S)===40?(Q=$,S++):(Q=r,Se===0&&q(re)),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(Y=cC(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(t.charCodeAt(S)===41?(xe=H,S++):(xe=r,Se===0&&q(R)),xe!==r?(Ne=d,Q=zd(Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r}return d}function gg(){var d,Q,k,Y,ee,xe;if(d=S,Q=cw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===42?(Y=Vd,S++):(Y=r,Se===0&&q(Xd)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=gg(),xe!==r?(Ne=d,Q=$B(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,Q=cw(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===47?(Y=ew,S++):(Y=r,Se===0&&q(tw)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=gg(),xe!==r?(Ne=d,Q=rw(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;d===r&&(d=cw())}return d}function cC(){var d,Q,k,Y,ee,xe;if(d=S,Q=gg(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===43?(Y=sg,S++):(Y=r,Se===0&&q(Dl)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=cC(),xe!==r?(Ne=d,Q=iw(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;if(d===r){if(d=S,Q=gg(),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(t.charCodeAt(S)===45?(Y=Sl,S++):(Y=r,Se===0&&q(ng)),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(xe=cC(),xe!==r?(Ne=d,Q=O(Q,xe),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;d===r&&(d=gg())}return d}function mL(){var d,Q,k,Y,ee,xe;if(d=S,t.substr(S,3)===rt?(Q=rt,S+=3):(Q=r,Se===0&&q(xl)),Q!==r){for(k=[],Y=Qe();Y!==r;)k.push(Y),Y=Qe();if(k!==r)if(Y=cC(),Y!==r){for(ee=[],xe=Qe();xe!==r;)ee.push(xe),xe=Qe();ee!==r?(t.substr(S,2)===Mi?(xe=Mi,S+=2):(xe=r,Se===0&&q(og)),xe!==r?(Ne=d,Q=Oe(Y),d=Q):(S=d,d=r)):(S=d,d=r)}else S=d,d=r;else S=d,d=r}else S=d,d=r;return d}function IL(){var d,Q,k,Y;return d=S,t.substr(S,2)===Ua?(Q=Ua,S+=2):(Q=r,Se===0&&q(Zd)),Q!==r?(k=tt(),k!==r?(t.charCodeAt(S)===41?(Y=H,S++):(Y=r,Se===0&&q(R)),Y!==r?(Ne=d,Q=uL(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d}function uw(){var d,Q,k,Y,ee,xe;return d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.substr(S,2)===Mt?(Y=Mt,S+=2):(Y=r,Se===0&&q(zn)),Y!==r?(ee=Poe(),ee!==r?(t.charCodeAt(S)===125?(xe=Ke,S++):(xe=r,Se===0&&q(ie)),xe!==r?(Ne=d,Q=nw(k,ee),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.substr(S,3)===$d?(Y=$d,S+=3):(Y=r,Se===0&&q(So)),Y!==r?(Ne=d,Q=eC(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.substr(S,2)===Ha?(Q=Ha,S+=2):(Q=r,Se===0&&q(_d)),Q!==r?(k=hg(),k!==r?(t.charCodeAt(S)===125?(Y=Ke,S++):(Y=r,Se===0&&q(ie)),Y!==r?(Ne=d,Q=Do(k),d=Q):(S=d,d=r)):(S=d,d=r)):(S=d,d=r),d===r&&(d=S,t.charCodeAt(S)===36?(Q=We,S++):(Q=r,Se===0&&q(sw)),Q!==r?(k=hg(),k!==r?(Ne=d,Q=Do(k),d=Q):(S=d,d=r)):(S=d,d=r)))),d}function Ooe(){var d,Q,k;return d=S,Q=Koe(),Q!==r?(Ne=S,k=tC(Q),k?k=void 0:k=r,k!==r?(Ne=d,Q=rC(Q),d=Q):(S=d,d=r)):(S=d,d=r),d}function Koe(){var d,Q,k,Y,ee;if(d=S,Q=[],k=S,Y=S,Se++,ee=BL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=S,Y=S,Se++,ee=BL(),Se--,ee===r?Y=void 0:(S=Y,Y=r),Y!==r?(t.length>S?(ee=t.charAt(S),S++):(ee=r,Se===0&&q(Xi)),ee!==r?(Ne=k,Y=Ni(ee),k=Y):(S=k,k=r)):(S=k,k=r);else Q=r;return Q!==r&&(Ne=d,Q=Ta(Q)),d=Q,d}function EL(){var d,Q,k;if(d=S,Q=[],iC.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(ag)),k!==r)for(;k!==r;)Q.push(k),iC.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(ag));else Q=r;return Q!==r&&(Ne=d,Q=Ag()),d=Q,d}function hg(){var d,Q,k;if(d=S,Q=[],lg.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(Ya)),k!==r)for(;k!==r;)Q.push(k),lg.test(t.charAt(S))?(k=t.charAt(S),S++):(k=r,Se===0&&q(Ya));else Q=r;return Q!==r&&(Ne=d,Q=Ag()),d=Q,d}function yL(){var d;return qa.test(t.charAt(S))?(d=t.charAt(S),S++):(d=r,Se===0&&q(ow)),d}function BL(){var d;return nC.test(t.charAt(S))?(d=t.charAt(S),S++):(d=r,Se===0&&q(sC)),d}function Qe(){var d,Q;if(d=[],oC.test(t.charAt(S))?(Q=t.charAt(S),S++):(Q=r,Se===0&&q(xo)),Q!==r)for(;Q!==r;)d.push(Q),oC.test(t.charAt(S))?(Q=t.charAt(S),S++):(Q=r,Se===0&&q(xo));else d=r;return d}if(Ds=n(),Ds!==r&&S===t.length)return Ds;throw Ds!==r&&S{"use strict";function EEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function DA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,DA)}EEe(DA,Error);DA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;gN&&(N=b,U=[]),U.push(Z))}function ie(Z,X){return new DA(Z,null,null,X)}function le(Z,X,ae){return new DA(DA.buildMessage(Z,X),Z,X,ae)}function be(){var Z,X,ae,ue;return Z=b,X=he(),X!==r?(t.charCodeAt(b)===47?(ae=s,b++):(ae=r,v===0&&Ke(o)),ae!==r?(ue=he(),ue!==r?(x=Z,X=a(X,ue),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=he(),X!==r&&(x=Z,X=l(X)),Z=X),Z}function he(){var Z,X,ae,ue;return Z=b,X=Ie(),X!==r?(t.charCodeAt(b)===64?(ae=c,b++):(ae=r,v===0&&Ke(u)),ae!==r?(ue=ve(),ue!==r?(x=Z,X=g(X,ue),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=Ie(),X!==r&&(x=Z,X=h(X)),Z=X),Z}function Ie(){var Z,X,ae,ue,we;return Z=b,t.charCodeAt(b)===64?(X=c,b++):(X=r,v===0&&Ke(u)),X!==r?(ae=pe(),ae!==r?(t.charCodeAt(b)===47?(ue=s,b++):(ue=r,v===0&&Ke(o)),ue!==r?(we=pe(),we!==r?(x=Z,X=f(),Z=X):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r)):(b=Z,Z=r),Z===r&&(Z=b,X=pe(),X!==r&&(x=Z,X=f()),Z=X),Z}function pe(){var Z,X,ae;if(Z=b,X=[],p.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(m)),ae!==r)for(;ae!==r;)X.push(ae),p.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(m));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}function ve(){var Z,X,ae;if(Z=b,X=[],I.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(y)),ae!==r)for(;ae!==r;)X.push(ae),I.test(t.charAt(b))?(ae=t.charAt(b),b++):(ae=r,v===0&&Ke(y));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}if(J=n(),J!==r&&b===t.length)return J;throw J!==r&&b{"use strict";function fG(t){return typeof t=="undefined"||t===null}function BEe(t){return typeof t=="object"&&t!==null}function wEe(t){return Array.isArray(t)?t:fG(t)?[]:[t]}function QEe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Kh(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Kh.prototype=Object.create(Error.prototype);Kh.prototype.constructor=Kh;Kh.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};pG.exports=Kh});var mG=C((VXe,dG)=>{"use strict";var CG=PA();function eD(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}eD.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +`));if(!e)return null;t.input=WD(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(hI(mc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(hI(mc(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Wr(mc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Wr(mc(t.output,0)),t.output=[])}}};function zD(t){for(var e=kIe(t,65536),r=tj(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&st.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return st.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=st.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),ut.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Ve.flagsForNodeMap)t&r&&(e|=Ve.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Ve.realPath(t),r;try{r=nt.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}return Ve.isWindows&&!r.blksize&&(r.blksize=4096),Ve.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Ve.realPath(t);try{if(e.mode!==void 0&&(nt.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);nt.utimesSync(r,i,i)}e.size!==void 0&&nt.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},lookup:function(t,e){var r=ut.join2(Ve.realPath(t),e),i=Ve.getMode(r);return Ve.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Ve.createNode(t,e,r,i),s=Ve.realPath(n);try{E.isDir(n.mode)?nt.mkdirSync(s,n.mode):nt.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Ve.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Ve.realPath(t),n=ut.join2(Ve.realPath(e),r);try{nt.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Ve.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},rmdir:function(t,e){var r=ut.join2(Ve.realPath(t),e);try{nt.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Ve.convertNodeCode(i)):i}},readdir:function(t){var e=Ve.realPath(t);try{return nt.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=ut.join2(Ve.realPath(t),e);try{nt.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Ve.convertNodeCode(n)):n}},readlink:function(t){var e=Ve.realPath(t);try{return e=nt.readlinkSync(e),e=VD.relative(VD.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Ve.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=nt.openSync(e,Ve.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Ve.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&nt.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Ve.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=nt.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Ve.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new E.ErrnoError(28);if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);var o=zD(r);return Ve.stream_ops.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);if(n&2)return 0;var s=Ve.stream_ops.write(t,e,0,i,r,!1);return 0}}},lj={lookupPath:function(t){return{path:t,node:{mode:Ve.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?nt.mkdirSync(t,e):nt.writeFileSync(t,"",{mode:e})},mkdir:function(){nt.mkdirSync.apply(void 0,arguments)},symlink:function(){nt.symlinkSync.apply(void 0,arguments)},rename:function(){nt.renameSync.apply(void 0,arguments)},rmdir:function(){nt.rmdirSync.apply(void 0,arguments)},readdir:function(){nt.readdirSync.apply(void 0,arguments)},unlink:function(){nt.unlinkSync.apply(void 0,arguments)},readlink:function(){return nt.readlinkSync.apply(void 0,arguments)},stat:function(){return nt.statSync.apply(void 0,arguments)},lstat:function(){return nt.lstatSync.apply(void 0,arguments)},chmod:function(){nt.chmodSync.apply(void 0,arguments)},fchmod:function(){nt.fchmodSync.apply(void 0,arguments)},chown:function(){nt.chownSync.apply(void 0,arguments)},fchown:function(){nt.fchownSync.apply(void 0,arguments)},truncate:function(){nt.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new E.ErrnoError(28);nt.ftruncateSync.apply(void 0,arguments)},utime:function(){nt.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=QA.modeStringToFlags(e));var n=nt.openSync(t,Ve.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||nt.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return QA.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=nt.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(Ec.EINVAL);if(i<0)throw new E.ErrnoError(Ec.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return QA.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.readSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return QA.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=nt.writeSync(t.nfd,Ve.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(Ec.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return QA.mmap(t,e,r,i,n,s);if(e!==0)throw new E.ErrnoError(28);var o=zD(r);return E.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?QA.msync(t,e,r,i,n):(n&2||E.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(Ec.ENOTTY)}},E={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=eo.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=ut.normalizeArray(t.split("/").filter(function(h){return!!h}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){var n=new E.FSNode(t,e,r,i);return E.hashAddNode(n),n},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&Wr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=ut.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||h<0)){var f=h%this.chunkSize,p=h/this.chunkSize|0;return this.getter(p)[f]}},s.prototype.setDataGetter=function(h){this.getter=h},s.prototype.cacheLength=function(){var h=new XMLHttpRequest;if(h.open("HEAD",r,!1),h.send(null),!(h.status>=200&&h.status<300||h.status===304))throw new Error("Couldn't load "+r+". Status: "+h.status);var f=Number(h.getResponseHeader("Content-length")),p,m=(p=h.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=h.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=f);var w=function(F,N){if(F>N)throw new Error("invalid range ("+F+", "+N+") or no bytes requested!");if(N>f-1)throw new Error("only "+f+" bytes available! programmer error!");var K=new XMLHttpRequest;if(K.open("GET",r,!1),f!==y&&K.setRequestHeader("Range","bytes="+F+"-"+N),typeof Uint8Array!="undefined"&&(K.responseType="arraybuffer"),K.overrideMimeType&&K.overrideMimeType("text/plain; charset=x-user-defined"),K.send(null),!(K.status>=200&&K.status<300||K.status===304))throw new Error("Couldn't load "+r+". Status: "+K.status);return K.response!==void 0?new Uint8Array(K.response||[]):WD(K.responseText||"",!0)},x=this;x.setDataGetter(function(F){var N=F*y,K=(F+1)*y-1;if(K=Math.min(K,f-1),typeof x.chunks[F]=="undefined"&&(x.chunks[F]=w(N,K)),typeof x.chunks[F]=="undefined")throw new Error("doXHR failed!");return x.chunks[F]}),(I||!f)&&(y=f=1,f=this.getter(0).length,y=f,hI("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=f,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!jG)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var h=l.stream_ops[g];c[g]=function(){return E.forceLoadFile(l),h.apply(null,arguments)}}),c.read=function(h,f,p,m,I){E.forceLoadFile(l);var y=h.node.contents;if(I>=y.length)return 0;var w=Math.min(y.length-I,m);if(y.slice)for(var x=0;x>2]=i.dev,Ye[r+4>>2]=0,Ye[r+8>>2]=i.ino,Ye[r+12>>2]=i.mode,Ye[r+16>>2]=i.nlink,Ye[r+20>>2]=i.uid,Ye[r+24>>2]=i.gid,Ye[r+28>>2]=i.rdev,Ye[r+32>>2]=0,$s=[i.size>>>0,(Pr=i.size,+Math.abs(Pr)>=1?Pr>0?(Math.min(+Math.floor(Pr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Pr-+(~~Pr>>>0))/4294967296)>>>0:0)],Ye[r+40>>2]=$s[0],Ye[r+44>>2]=$s[1],Ye[r+48>>2]=4096,Ye[r+52>>2]=i.blocks,Ye[r+56>>2]=i.atime.getTime()/1e3|0,Ye[r+60>>2]=0,Ye[r+64>>2]=i.mtime.getTime()/1e3|0,Ye[r+68>>2]=0,Ye[r+72>>2]=i.ctime.getTime()/1e3|0,Ye[r+76>>2]=0,$s=[i.ino>>>0,(Pr=i.ino,+Math.abs(Pr)>=1?Pr>0?(Math.min(+Math.floor(Pr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Pr-+(~~Pr>>>0))/4294967296)>>>0:0)],Ye[r+80>>2]=$s[0],Ye[r+84>>2]=$s[1],0},doMsync:function(t,e,r,i,n){var s=Ic.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=ut.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,dI(i)),s=ui[e+n];return _G(i,e,r+1),ui[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=Ye[e+(s*8+4)>>2],l=E.read(t,ui,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=Ye[e+(s*8+4)>>2],l=E.write(t,ui,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Qt.varargs+=4;var t=Ye[Qt.varargs-4>>2];return t},getStr:function(t){var e=ZG(t);return e},getStreamFromFD:function(t){var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(t,e){return t}};function iEe(t,e){try{return t=Qt.getStr(t),E.chmod(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&ur(r),-r.errno}}function sEe(t){return Ye[nEe()>>2]=t,t}function oEe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 0:{var n=Qt.get();if(n<0)return-28;var s;return s=E.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Qt.get();return i.flags|=n,0}case 12:{var n=Qt.get(),o=0;return UD[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return sEe(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&ur(a),-a.errno}}function aEe(t,e){try{var r=Qt.getStreamFromFD(t);return Qt.doStat(E.stat,r.path,e)}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&ur(i),-i.errno}}function AEe(t,e,r){Qt.varargs=r;try{var i=Qt.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Qt.get();return Ye[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Qt.get();return E.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:ur("bad ioctl syscall "+e)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&ur(s),-s.errno}}function lEe(t,e,r){Qt.varargs=r;try{var i=Qt.getStr(t),n=r?Qt.get():0,s=E.open(i,e,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&ur(o),-o.errno}}function cEe(t,e){try{return t=Qt.getStr(t),e=Qt.getStr(e),E.rename(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&ur(r),-r.errno}}function uEe(t){try{return t=Qt.getStr(t),E.rmdir(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&ur(e),-e.errno}}function gEe(t,e){try{return t=Qt.getStr(t),Qt.doStat(E.stat,t,e)}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&ur(r),-r.errno}}function hEe(t){try{return t=Qt.getStr(t),E.unlink(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&ur(e),-e.errno}}function fEe(t,e,r){Ic.copyWithin(t,e,e+r)}function pEe(t){try{return fI.grow(t-YD.byteLength+65535>>>16),rj(fI.buffer),1}catch(e){}}function dEe(t){var e=Ic.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,UIe(Math.max(t,n),65536)),o=pEe(s);if(o)return!0}return!1}function CEe(t){try{var e=Qt.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&ur(r),r.errno}}function mEe(t,e){try{var r=Qt.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return ui[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&ur(n),n.errno}}function IEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doReadv(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&ur(o),o.errno}}function EEe(t,e,r,i,n){try{var s=Qt.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),$s=[s.position>>>0,(Pr=s.position,+Math.abs(Pr)>=1?Pr>0?(Math.min(+Math.floor(Pr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Pr-+(~~Pr>>>0))/4294967296)>>>0:0)],Ye[n>>2]=$s[0],Ye[n+4>>2]=$s[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&ur(c),c.errno}}function yEe(t,e,r,i){try{var n=Qt.getStreamFromFD(t),s=Qt.doWritev(n,e,r);return Ye[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&ur(o),o.errno}}function BEe(t){FIe(t)}function wEe(t){var e=Date.now()/1e3|0;return t&&(Ye[t>>2]=e),e}function XD(){if(XD.called)return;XD.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);Ye[bEe()>>2]=s*60,Ye[QEe()>>2]=Number(i!=n);function o(g){var h=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return h?h[1]:"GMT"}var a=o(e),l=o(r),c=HD(a),u=HD(l);n>2]=c,Ye[mI()+4>>2]=u):(Ye[mI()>>2]=u,Ye[mI()+4>>2]=c)}function DEe(t){XD();var e=Date.UTC(Ye[t+20>>2]+1900,Ye[t+16>>2],Ye[t+12>>2],Ye[t+8>>2],Ye[t+4>>2],Ye[t>>2],0),r=new Date(e);Ye[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return Ye[t+28>>2]=n,r.getTime()/1e3|0}var cj=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=E.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},II=292|73,EI=146;Object.defineProperties(cj.prototype,{read:{get:function(){return(this.mode&II)===II},set:function(t){t?this.mode|=II:this.mode&=~II}},write:{get:function(){return(this.mode&EI)===EI},set:function(t){t?this.mode|=EI:this.mode&=~EI}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}});E.FSNode=cj;E.staticInit();BA&&(nt=HG,VD=require("path"),Ve.staticInit());var nt,VD;if(BA){uj=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(Ec[e.code]):e}}},QA=Object.assign({},E);for(ZD in lj)E[ZD]=uj(lj[ZD])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var uj,QA,ZD;function WD(t,e,r){var i=r>0?r:dI(t)+1,n=new Array(i),s=pI(t,n,0,n.length);return e&&(n.length=s),n}var SEe=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(qIe(),wA>0))return;function e(){yI||(yI=!0,ne.calledRun=!0,!VG&&(JIe(),ne.onRuntimeInitialized&&ne.onRuntimeInitialized(),zIe()))}ne.setStatus?(ne.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ne.setStatus("")},1),e()},1)):e()}ne.run=_D;if(ne.preInit)for(typeof ne.preInit=="function"&&(ne.preInit=[ne.preInit]);ne.preInit.length>0;)ne.preInit.pop()();_D()});var pj=C((G7e,fj)=>{"use strict";function PEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function bA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,bA)}PEe(bA,Error);bA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g>",ue=ft(">>",!1),we=">&",lt=ft(">&",!1),Ct=">",xt=ft(">",!1),xn="<<<",Ii=ft("<<<",!1),Xt="<&",_i=ft("<&",!1),Vn="<",rg=ft("<",!1),Gd=function(d){return{type:"argument",segments:[].concat(...d)}},Ps=function(d){return d},ig="'",jd=ft("'",!1),qB=function(d){return[{type:"text",text:d}]},ng='"',qd=ft('"',!1),Jd=function(d){return d},Wd=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},JB=function(d){return{type:"shell",shell:d,quoted:!0}},WB=function(d){return V(k({type:"variable"},d),{quoted:!0})},sg=function(d){return{type:"text",text:d}},zB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},VB=function(d){return{type:"shell",shell:d,quoted:!1}},zd=function(d){return V(k({type:"variable"},d),{quoted:!1})},XB=function(d){return{type:"glob",pattern:d}},_="\\",ks=ft("\\",!1),$i=Fs(),en=function(d){return d},og=/^[^']/,Vd=Hr(["'"],!0,!1),Ql=function(d){return d.join("")},ag=/^[^$"]/,Xd=Hr(["$",'"'],!0,!1),Ag="-",bl=ft("-",!1),lg="+",cg=ft("+",!1),ZB=".",_B=ft(".",!1),$B=function(d,D,P){return{type:"number",value:(d==="-"?-1:1)*parseFloat(D.join("")+"."+P.join(""))}},Zd=function(d,D){return{type:"number",value:(d==="-"?-1:1)*parseInt(D.join(""))}},_d=function(d){return k({type:"variable"},d)},ew=function(d){return{type:"variable",name:d}},$d=function(d){return d},eC="*",tC=ft("*",!1),tw=function(d,D){return{type:"multiplication",left:d,right:D}},rw="/",iw=ft("/",!1),nw=function(d,D){return{type:"division",left:d,right:D}},sw=function(d,D){return{type:"addition",left:d,right:D}},O=function(d,D){return{type:"subtraction",left:d,right:D}},rt="$((",Dl=ft("$((",!1),Ki="))",ug=ft("))",!1),Oe=function(d){return d},Ka="$(",rC=ft("$(",!1),pL=function(d){return d},Ta="${",iC=ft("${",!1),Ot=":-",Xn=ft(":-",!1),ow=function(d,D){return{name:d,defaultValue:D}},nC=":-}",So=ft(":-}",!1),sC=function(d){return{name:d,defaultValue:[]}},xo=function(d){return{name:d}},ze="$",aw=ft("$",!1),oC=function(d){return e.isGlobPattern(d)},aC=function(d){return d},AC=/^[a-zA-Z0-9_]/,gg=Hr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),hg=function(){return lw()},fg=/^[$@*?#a-zA-Z0-9_\-]/,Ua=Hr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Ha=/^[(){}<>$|&; \t"']/,Aw=Hr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),lC=/^[<>&; \t"']/,cC=Hr(["<",">","&",";"," "," ",'"',"'"],!1,!1),uC=/^[ \t]/,Po=Hr([" "," "],!1,!1),b=0,Ne=0,Ya=[{line:1,column:1}],Ei=0,Sl=[],be=0,vs;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function lw(){return t.substring(Ne,b)}function cw(){return U(Ne,b)}function pg(d,D){throw D=D!==void 0?D:U(Ne,b),Ce([xl(d)],t.substring(Ne,b),D)}function fr(d,D){throw D=D!==void 0?D:U(Ne,b),ye(d,D)}function ft(d,D){return{type:"literal",text:d,ignoreCase:D}}function Hr(d,D,P){return{type:"class",parts:d,inverted:D,ignoreCase:P}}function Fs(){return{type:"any"}}function gC(){return{type:"end"}}function xl(d){return{type:"other",description:d}}function S(d){var D=Ya[d],P;if(D)return D;for(P=d-1;!Ya[P];)P--;for(D=Ya[P],D={line:D.line,column:D.column};PEi&&(Ei=b,Sl=[]),Sl.push(d))}function ye(d,D){return new bA(d,null,null,D)}function Ce(d,D,P){return new bA(bA.buildMessage(d,D),d,D,P)}function Me(){var d,D;return d=b,D=tt(),D===r&&(D=null),D!==r&&(Ne=d,D=s(D)),d=D,d}function tt(){var d,D,P,Y,$;if(d=b,D=uw(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();P!==r?(Y=Rs(),Y!==r?($=Kt(),$===r&&($=null),$!==r?(Ne=d,D=o(D,Y,$),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;if(d===r)if(d=b,D=uw(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();P!==r?(Y=Rs(),Y===r&&(Y=null),Y!==r?(Ne=d,D=a(D,Y),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;return d}function Kt(){var d,D,P,Y,$;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r)if(P=tt(),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Ne=d,D=l(P),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r;return d}function Rs(){var d;return t.charCodeAt(b)===59?(d=c,b++):(d=r,be===0&&j(u)),d===r&&(t.charCodeAt(b)===38?(d=g,b++):(d=r,be===0&&j(h))),d}function uw(){var d,D,P;return d=b,D=dL(),D!==r?(P=Roe(),P===r&&(P=null),P!==r?(Ne=d,D=f(D,P),d=D):(b=d,d=r)):(b=d,d=r),d}function Roe(){var d,D,P,Y,$,Pe,Pt;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r)if(P=Loe(),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=uw(),$!==r){for(Pe=[],Pt=De();Pt!==r;)Pe.push(Pt),Pt=De();Pe!==r?(Ne=d,D=p(P,$),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r;return d}function Loe(){var d;return t.substr(b,2)===m?(d=m,b+=2):(d=r,be===0&&j(I)),d===r&&(t.substr(b,2)===y?(d=y,b+=2):(d=r,be===0&&j(w))),d}function dL(){var d,D,P;return d=b,D=Ooe(),D!==r?(P=Noe(),P===r&&(P=null),P!==r?(Ne=d,D=x(D,P),d=D):(b=d,d=r)):(b=d,d=r),d}function Noe(){var d,D,P,Y,$,Pe,Pt;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r)if(P=Moe(),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=dL(),$!==r){for(Pe=[],Pt=De();Pt!==r;)Pe.push(Pt),Pt=De();Pe!==r?(Ne=d,D=F(P,$),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r;return d}function Moe(){var d;return t.substr(b,2)===N?(d=N,b+=2):(d=r,be===0&&j(K)),d===r&&(t.charCodeAt(b)===124?(d=v,b++):(d=r,be===0&&j(J))),d}function hC(){var d,D,P,Y,$,Pe;if(d=b,D=QL(),D!==r)if(t.charCodeAt(b)===61?(P=oe,b++):(P=r,be===0&&j(T)),P!==r)if(Y=mL(),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(Ne=d,D=A(D,Y),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r;else b=d,d=r;if(d===r)if(d=b,D=QL(),D!==r)if(t.charCodeAt(b)===61?(P=oe,b++):(P=r,be===0&&j(T)),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Ne=d,D=W(D),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r;return d}function Ooe(){var d,D,P,Y,$,Pe,Pt,Pl,Yr,yi,ko;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r)if(t.charCodeAt(b)===40?(P=ee,b++):(P=r,be===0&&j(re)),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=tt(),$!==r){for(Pe=[],Pt=De();Pt!==r;)Pe.push(Pt),Pt=De();if(Pe!==r)if(t.charCodeAt(b)===41?(Pt=H,b++):(Pt=r,be===0&&j(R)),Pt!==r){for(Pl=[],Yr=De();Yr!==r;)Pl.push(Yr),Yr=De();if(Pl!==r){for(Yr=[],yi=dg();yi!==r;)Yr.push(yi),yi=dg();if(Yr!==r){for(yi=[],ko=De();ko!==r;)yi.push(ko),ko=De();yi!==r?(Ne=d,D=ke($,Yr),d=D):(b=d,d=r)}else b=d,d=r}else b=d,d=r}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r;if(d===r){for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r)if(t.charCodeAt(b)===123?(P=Le,b++):(P=r,be===0&&j(qe)),P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=tt(),$!==r){for(Pe=[],Pt=De();Pt!==r;)Pe.push(Pt),Pt=De();if(Pe!==r)if(t.charCodeAt(b)===125?(Pt=Ke,b++):(Pt=r,be===0&&j(ie)),Pt!==r){for(Pl=[],Yr=De();Yr!==r;)Pl.push(Yr),Yr=De();if(Pl!==r){for(Yr=[],yi=dg();yi!==r;)Yr.push(yi),yi=dg();if(Yr!==r){for(yi=[],ko=De();ko!==r;)yi.push(ko),ko=De();yi!==r?(Ne=d,D=ce($,Yr),d=D):(b=d,d=r)}else b=d,d=r}else b=d,d=r}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r}else b=d,d=r;else b=d,d=r;if(d===r){for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r){for(P=[],Y=hC();Y!==r;)P.push(Y),Y=hC();if(P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r){if($=[],Pe=CL(),Pe!==r)for(;Pe!==r;)$.push(Pe),Pe=CL();else $=r;if($!==r){for(Pe=[],Pt=De();Pt!==r;)Pe.push(Pt),Pt=De();Pe!==r?(Ne=d,D=Se(P,$),d=D):(b=d,d=r)}else b=d,d=r}else b=d,d=r}else b=d,d=r}else b=d,d=r;if(d===r){for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r){if(P=[],Y=hC(),Y!==r)for(;Y!==r;)P.push(Y),Y=hC();else P=r;if(P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Ne=d,D=he(P),d=D):(b=d,d=r)}else b=d,d=r}else b=d,d=r}}}return d}function Koe(){var d,D,P,Y,$;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r){if(P=[],Y=fC(),Y!==r)for(;Y!==r;)P.push(Y),Y=fC();else P=r;if(P!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Ne=d,D=Ie(P),d=D):(b=d,d=r)}else b=d,d=r}else b=d,d=r;return d}function CL(){var d,D,P;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();if(D!==r?(P=dg(),P!==r?(Ne=d,D=pe(P),d=D):(b=d,d=r)):(b=d,d=r),d===r){for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();D!==r?(P=fC(),P!==r?(Ne=d,D=pe(P),d=D):(b=d,d=r)):(b=d,d=r)}return d}function dg(){var d,D,P,Y,$;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();return D!==r?(Qe.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Z)),P===r&&(P=null),P!==r?(Y=Toe(),Y!==r?($=fC(),$!==r?(Ne=d,D=X(P,Y,$),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d}function Toe(){var d;return t.substr(b,2)===ae?(d=ae,b+=2):(d=r,be===0&&j(ue)),d===r&&(t.substr(b,2)===we?(d=we,b+=2):(d=r,be===0&&j(lt)),d===r&&(t.charCodeAt(b)===62?(d=Ct,b++):(d=r,be===0&&j(xt)),d===r&&(t.substr(b,3)===xn?(d=xn,b+=3):(d=r,be===0&&j(Ii)),d===r&&(t.substr(b,2)===Xt?(d=Xt,b+=2):(d=r,be===0&&j(_i)),d===r&&(t.charCodeAt(b)===60?(d=Vn,b++):(d=r,be===0&&j(rg))))))),d}function fC(){var d,D,P;for(d=b,D=[],P=De();P!==r;)D.push(P),P=De();return D!==r?(P=mL(),P!==r?(Ne=d,D=pe(P),d=D):(b=d,d=r)):(b=d,d=r),d}function mL(){var d,D,P;if(d=b,D=[],P=IL(),P!==r)for(;P!==r;)D.push(P),P=IL();else D=r;return D!==r&&(Ne=d,D=Gd(D)),d=D,d}function IL(){var d,D;return d=b,D=Uoe(),D!==r&&(Ne=d,D=Ps(D)),d=D,d===r&&(d=b,D=Hoe(),D!==r&&(Ne=d,D=Ps(D)),d=D,d===r&&(d=b,D=Yoe(),D!==r&&(Ne=d,D=Ps(D)),d=D)),d}function Uoe(){var d,D,P,Y;return d=b,t.charCodeAt(b)===39?(D=ig,b++):(D=r,be===0&&j(jd)),D!==r?(P=Goe(),P!==r?(t.charCodeAt(b)===39?(Y=ig,b++):(Y=r,be===0&&j(jd)),Y!==r?(Ne=d,D=qB(P),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d}function Hoe(){var d,D,P,Y;if(d=b,t.charCodeAt(b)===34?(D=ng,b++):(D=r,be===0&&j(qd)),D!==r){for(P=[],Y=EL();Y!==r;)P.push(Y),Y=EL();P!==r?(t.charCodeAt(b)===34?(Y=ng,b++):(Y=r,be===0&&j(qd)),Y!==r?(Ne=d,D=Jd(P),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;return d}function Yoe(){var d,D,P;if(d=b,D=[],P=yL(),P!==r)for(;P!==r;)D.push(P),P=yL();else D=r;return D!==r&&(Ne=d,D=Jd(D)),d=D,d}function EL(){var d,D;return d=b,D=BL(),D!==r&&(Ne=d,D=Wd(D)),d=D,d===r&&(d=b,D=wL(),D!==r&&(Ne=d,D=JB(D)),d=D,d===r&&(d=b,D=hw(),D!==r&&(Ne=d,D=WB(D)),d=D,d===r&&(d=b,D=joe(),D!==r&&(Ne=d,D=sg(D)),d=D))),d}function yL(){var d,D;return d=b,D=BL(),D!==r&&(Ne=d,D=zB(D)),d=D,d===r&&(d=b,D=wL(),D!==r&&(Ne=d,D=VB(D)),d=D,d===r&&(d=b,D=hw(),D!==r&&(Ne=d,D=zd(D)),d=D,d===r&&(d=b,D=Joe(),D!==r&&(Ne=d,D=XB(D)),d=D,d===r&&(d=b,D=qoe(),D!==r&&(Ne=d,D=sg(D)),d=D)))),d}function Goe(){var d,D,P,Y,$;for(d=b,D=[],P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(og.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Vd)));P!==r;)D.push(P),P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(og.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Vd)));return D!==r&&(Ne=d,D=Ql(D)),d=D,d}function joe(){var d,D,P,Y,$;if(d=b,D=[],P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(ag.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Xd))),P!==r)for(;P!==r;)D.push(P),P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(ag.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Xd)));else D=r;return D!==r&&(Ne=d,D=Ql(D)),d=D,d}function qoe(){var d,D,P,Y,$;if(d=b,D=[],P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(P=b,Y=b,be++,$=bL(),be--,$===r?Y=void 0:(b=Y,Y=r),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r)),P!==r)for(;P!==r;)D.push(P),P=b,t.charCodeAt(b)===92?(Y=_,b++):(Y=r,be===0&&j(ks)),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P===r&&(P=b,Y=b,be++,$=bL(),be--,$===r?Y=void 0:(b=Y,Y=r),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r));else D=r;return D!==r&&(Ne=d,D=Ql(D)),d=D,d}function gw(){var d,D,P,Y,$,Pe;if(d=b,t.charCodeAt(b)===45?(D=Ag,b++):(D=r,be===0&&j(bl)),D===r&&(t.charCodeAt(b)===43?(D=lg,b++):(D=r,be===0&&j(cg))),D===r&&(D=null),D!==r){if(P=[],Qe.test(t.charAt(b))?(Y=t.charAt(b),b++):(Y=r,be===0&&j(Z)),Y!==r)for(;Y!==r;)P.push(Y),Qe.test(t.charAt(b))?(Y=t.charAt(b),b++):(Y=r,be===0&&j(Z));else P=r;if(P!==r)if(t.charCodeAt(b)===46?(Y=ZB,b++):(Y=r,be===0&&j(_B)),Y!==r){if($=[],Qe.test(t.charAt(b))?(Pe=t.charAt(b),b++):(Pe=r,be===0&&j(Z)),Pe!==r)for(;Pe!==r;)$.push(Pe),Qe.test(t.charAt(b))?(Pe=t.charAt(b),b++):(Pe=r,be===0&&j(Z));else $=r;$!==r?(Ne=d,D=$B(D,P,$),d=D):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;if(d===r){if(d=b,t.charCodeAt(b)===45?(D=Ag,b++):(D=r,be===0&&j(bl)),D===r&&(t.charCodeAt(b)===43?(D=lg,b++):(D=r,be===0&&j(cg))),D===r&&(D=null),D!==r){if(P=[],Qe.test(t.charAt(b))?(Y=t.charAt(b),b++):(Y=r,be===0&&j(Z)),Y!==r)for(;Y!==r;)P.push(Y),Qe.test(t.charAt(b))?(Y=t.charAt(b),b++):(Y=r,be===0&&j(Z));else P=r;P!==r?(Ne=d,D=Zd(D,P),d=D):(b=d,d=r)}else b=d,d=r;if(d===r&&(d=b,D=hw(),D!==r&&(Ne=d,D=_d(D)),d=D,d===r&&(d=b,D=mg(),D!==r&&(Ne=d,D=ew(D)),d=D,d===r)))if(d=b,t.charCodeAt(b)===40?(D=ee,b++):(D=r,be===0&&j(re)),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(Y=pC(),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(t.charCodeAt(b)===41?(Pe=H,b++):(Pe=r,be===0&&j(R)),Pe!==r?(Ne=d,D=$d(Y),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r}return d}function Cg(){var d,D,P,Y,$,Pe;if(d=b,D=gw(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(t.charCodeAt(b)===42?(Y=eC,b++):(Y=r,be===0&&j(tC)),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(Pe=Cg(),Pe!==r?(Ne=d,D=tw(D,Pe),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;if(d===r){if(d=b,D=gw(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(t.charCodeAt(b)===47?(Y=rw,b++):(Y=r,be===0&&j(iw)),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(Pe=Cg(),Pe!==r?(Ne=d,D=nw(D,Pe),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;d===r&&(d=gw())}return d}function pC(){var d,D,P,Y,$,Pe;if(d=b,D=Cg(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(t.charCodeAt(b)===43?(Y=lg,b++):(Y=r,be===0&&j(cg)),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(Pe=pC(),Pe!==r?(Ne=d,D=sw(D,Pe),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;if(d===r){if(d=b,D=Cg(),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(t.charCodeAt(b)===45?(Y=Ag,b++):(Y=r,be===0&&j(bl)),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(Pe=pC(),Pe!==r?(Ne=d,D=O(D,Pe),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;d===r&&(d=Cg())}return d}function BL(){var d,D,P,Y,$,Pe;if(d=b,t.substr(b,3)===rt?(D=rt,b+=3):(D=r,be===0&&j(Dl)),D!==r){for(P=[],Y=De();Y!==r;)P.push(Y),Y=De();if(P!==r)if(Y=pC(),Y!==r){for($=[],Pe=De();Pe!==r;)$.push(Pe),Pe=De();$!==r?(t.substr(b,2)===Ki?(Pe=Ki,b+=2):(Pe=r,be===0&&j(ug)),Pe!==r?(Ne=d,D=Oe(Y),d=D):(b=d,d=r)):(b=d,d=r)}else b=d,d=r;else b=d,d=r}else b=d,d=r;return d}function wL(){var d,D,P,Y;return d=b,t.substr(b,2)===Ka?(D=Ka,b+=2):(D=r,be===0&&j(rC)),D!==r?(P=tt(),P!==r?(t.charCodeAt(b)===41?(Y=H,b++):(Y=r,be===0&&j(R)),Y!==r?(Ne=d,D=pL(P),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d}function hw(){var d,D,P,Y,$,Pe;return d=b,t.substr(b,2)===Ta?(D=Ta,b+=2):(D=r,be===0&&j(iC)),D!==r?(P=mg(),P!==r?(t.substr(b,2)===Ot?(Y=Ot,b+=2):(Y=r,be===0&&j(Xn)),Y!==r?($=Koe(),$!==r?(t.charCodeAt(b)===125?(Pe=Ke,b++):(Pe=r,be===0&&j(ie)),Pe!==r?(Ne=d,D=ow(P,$),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d===r&&(d=b,t.substr(b,2)===Ta?(D=Ta,b+=2):(D=r,be===0&&j(iC)),D!==r?(P=mg(),P!==r?(t.substr(b,3)===nC?(Y=nC,b+=3):(Y=r,be===0&&j(So)),Y!==r?(Ne=d,D=sC(P),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d===r&&(d=b,t.substr(b,2)===Ta?(D=Ta,b+=2):(D=r,be===0&&j(iC)),D!==r?(P=mg(),P!==r?(t.charCodeAt(b)===125?(Y=Ke,b++):(Y=r,be===0&&j(ie)),Y!==r?(Ne=d,D=xo(P),d=D):(b=d,d=r)):(b=d,d=r)):(b=d,d=r),d===r&&(d=b,t.charCodeAt(b)===36?(D=ze,b++):(D=r,be===0&&j(aw)),D!==r?(P=mg(),P!==r?(Ne=d,D=xo(P),d=D):(b=d,d=r)):(b=d,d=r)))),d}function Joe(){var d,D,P;return d=b,D=Woe(),D!==r?(Ne=b,P=oC(D),P?P=void 0:P=r,P!==r?(Ne=d,D=aC(D),d=D):(b=d,d=r)):(b=d,d=r),d}function Woe(){var d,D,P,Y,$;if(d=b,D=[],P=b,Y=b,be++,$=DL(),be--,$===r?Y=void 0:(b=Y,Y=r),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r),P!==r)for(;P!==r;)D.push(P),P=b,Y=b,be++,$=DL(),be--,$===r?Y=void 0:(b=Y,Y=r),Y!==r?(t.length>b?($=t.charAt(b),b++):($=r,be===0&&j($i)),$!==r?(Ne=P,Y=en($),P=Y):(b=P,P=r)):(b=P,P=r);else D=r;return D!==r&&(Ne=d,D=Ql(D)),d=D,d}function QL(){var d,D,P;if(d=b,D=[],AC.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(gg)),P!==r)for(;P!==r;)D.push(P),AC.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(gg));else D=r;return D!==r&&(Ne=d,D=hg()),d=D,d}function mg(){var d,D,P;if(d=b,D=[],fg.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Ua)),P!==r)for(;P!==r;)D.push(P),fg.test(t.charAt(b))?(P=t.charAt(b),b++):(P=r,be===0&&j(Ua));else D=r;return D!==r&&(Ne=d,D=hg()),d=D,d}function bL(){var d;return Ha.test(t.charAt(b))?(d=t.charAt(b),b++):(d=r,be===0&&j(Aw)),d}function DL(){var d;return lC.test(t.charAt(b))?(d=t.charAt(b),b++):(d=r,be===0&&j(cC)),d}function De(){var d,D;if(d=[],uC.test(t.charAt(b))?(D=t.charAt(b),b++):(D=r,be===0&&j(Po)),D!==r)for(;D!==r;)d.push(D),uC.test(t.charAt(b))?(D=t.charAt(b),b++):(D=r,be===0&&j(Po));else d=r;return d}if(vs=n(),vs!==r&&b===t.length)return vs;throw vs!==r&&b{"use strict";function vEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function DA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,DA)}vEe(DA,Error);DA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;gN&&(N=w,K=[]),K.push(Z))}function ie(Z,X){return new DA(Z,null,null,X)}function ce(Z,X,ae){return new DA(DA.buildMessage(Z,X),Z,X,ae)}function Se(){var Z,X,ae,ue;return Z=w,X=he(),X!==r?(t.charCodeAt(w)===47?(ae=s,w++):(ae=r,v===0&&Ke(o)),ae!==r?(ue=he(),ue!==r?(x=Z,X=a(X,ue),Z=X):(w=Z,Z=r)):(w=Z,Z=r)):(w=Z,Z=r),Z===r&&(Z=w,X=he(),X!==r&&(x=Z,X=l(X)),Z=X),Z}function he(){var Z,X,ae,ue;return Z=w,X=Ie(),X!==r?(t.charCodeAt(w)===64?(ae=c,w++):(ae=r,v===0&&Ke(u)),ae!==r?(ue=Qe(),ue!==r?(x=Z,X=g(X,ue),Z=X):(w=Z,Z=r)):(w=Z,Z=r)):(w=Z,Z=r),Z===r&&(Z=w,X=Ie(),X!==r&&(x=Z,X=h(X)),Z=X),Z}function Ie(){var Z,X,ae,ue,we;return Z=w,t.charCodeAt(w)===64?(X=c,w++):(X=r,v===0&&Ke(u)),X!==r?(ae=pe(),ae!==r?(t.charCodeAt(w)===47?(ue=s,w++):(ue=r,v===0&&Ke(o)),ue!==r?(we=pe(),we!==r?(x=Z,X=f(),Z=X):(w=Z,Z=r)):(w=Z,Z=r)):(w=Z,Z=r)):(w=Z,Z=r),Z===r&&(Z=w,X=pe(),X!==r&&(x=Z,X=f()),Z=X),Z}function pe(){var Z,X,ae;if(Z=w,X=[],p.test(t.charAt(w))?(ae=t.charAt(w),w++):(ae=r,v===0&&Ke(m)),ae!==r)for(;ae!==r;)X.push(ae),p.test(t.charAt(w))?(ae=t.charAt(w),w++):(ae=r,v===0&&Ke(m));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}function Qe(){var Z,X,ae;if(Z=w,X=[],I.test(t.charAt(w))?(ae=t.charAt(w),w++):(ae=r,v===0&&Ke(y)),ae!==r)for(;ae!==r;)X.push(ae),I.test(t.charAt(w))?(ae=t.charAt(w),w++):(ae=r,v===0&&Ke(y));else X=r;return X!==r&&(x=Z,X=f()),Z=X,Z}if(J=n(),J!==r&&w===t.length)return J;throw J!==r&&w{"use strict";function Ej(t){return typeof t=="undefined"||t===null}function REe(t){return typeof t=="object"&&t!==null}function LEe(t){return Array.isArray(t)?t:Ej(t)?[]:[t]}function NEe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function jh(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}jh.prototype=Object.create(Error.prototype);jh.prototype.constructor=jh;jh.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};yj.exports=jh});var Qj=C((aXe,Bj)=>{"use strict";var wj=xA();function sS(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}sS.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r \x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),CG.repeat(" ",e)+i+a+s+` -`+CG.repeat(" ",e+this.position-n+i.length)+"^"};eD.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: -`+r)),i};dG.exports=eD});var Er=C((XXe,IG)=>{"use strict";var EG=bc(),DEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],xEe=["scalar","sequence","mapping"];function PEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(DEe.indexOf(r)===-1)throw new EG('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=PEe(e.styleAliases||null),xEe.indexOf(this.kind)===-1)throw new EG('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}IG.exports=kEe});var kA=C((ZXe,yG)=>{"use strict";var BG=PA(),bI=bc(),vEe=Er();function tD(t,e,r){var i=[];return t.include.forEach(function(n){r=tD(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function FEe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var REe=Er();wG.exports=new REe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var SG=C(($Xe,bG)=>{"use strict";var LEe=Er();bG.exports=new LEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var xG=C((e7e,DG)=>{"use strict";var NEe=Er();DG.exports=new NEe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var SI=C((t7e,PG)=>{"use strict";var MEe=kA();PG.exports=new MEe({explicit:[QG(),SG(),xG()]})});var vG=C((r7e,kG)=>{"use strict";var OEe=Er();function KEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function TEe(){return null}function UEe(t){return t===null}kG.exports=new OEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:KEe,construct:TEe,predicate:UEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var RG=C((i7e,FG)=>{"use strict";var HEe=Er();function YEe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function qEe(t){return t==="true"||t==="True"||t==="TRUE"}function GEe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}FG.exports=new HEe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:YEe,construct:qEe,predicate:GEe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var NG=C((n7e,LG)=>{"use strict";var jEe=PA(),JEe=Er();function WEe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function zEe(t){return 48<=t&&t<=55}function VEe(t){return 48<=t&&t<=57}function XEe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var KG=C((s7e,MG)=>{"use strict";var OG=PA(),$Ee=Er(),eye=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function tye(t){return!(t===null||!eye.test(t)||t[t.length-1]==="_")}function rye(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var iye=/^[-+]?[0-9]+e/;function nye(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(OG.isNegativeZero(t))return"-0.0";return r=t.toString(10),iye.test(r)?r.replace("e",".e"):r}function sye(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||OG.isNegativeZero(t))}MG.exports=new $Ee("tag:yaml.org,2002:float",{kind:"scalar",resolve:tye,construct:rye,predicate:sye,represent:nye,defaultStyle:"lowercase"})});var rD=C((o7e,TG)=>{"use strict";var oye=kA();TG.exports=new oye({include:[SI()],implicit:[vG(),RG(),NG(),KG()]})});var iD=C((a7e,UG)=>{"use strict";var aye=kA();UG.exports=new aye({include:[rD()]})});var GG=C((A7e,HG)=>{"use strict";var Aye=Er(),YG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),qG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function lye(t){return t===null?!1:YG.exec(t)!==null||qG.exec(t)!==null}function cye(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,h;if(e=YG.exec(t),e===null&&(e=qG.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),h=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&h.setTime(h.getTime()-c),h}function uye(t){return t.toISOString()}HG.exports=new Aye("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:lye,construct:cye,instanceOf:Date,represent:uye})});var JG=C((l7e,jG)=>{"use strict";var gye=Er();function hye(t){return t==="<<"||t===null}jG.exports=new gye("tag:yaml.org,2002:merge",{kind:"scalar",resolve:hye})});var VG=C((c7e,WG)=>{"use strict";var vA;try{zG=require,vA=zG("buffer").Buffer}catch(t){}var zG,fye=Er(),nD=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function pye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=nD;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function dye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=nD,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),vA?vA.from?vA.from(a):new vA(a):a}function Cye(t){var e="",r=0,i,n,s=t.length,o=nD;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function mye(t){return vA&&vA.isBuffer(t)}WG.exports=new fye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:pye,construct:dye,predicate:mye,represent:Cye})});var ZG=C((u7e,XG)=>{"use strict";var Iye=Er(),Eye=Object.prototype.hasOwnProperty,yye=Object.prototype.toString;function Bye(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var Qye=Er(),bye=Object.prototype.toString;function Sye(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var xye=Er(),Pye=Object.prototype.hasOwnProperty;function kye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Pye.call(r,e)&&r[e]!==null)return!1;return!0}function vye(t){return t!==null?t:{}}ej.exports=new xye("tag:yaml.org,2002:set",{kind:"mapping",resolve:kye,construct:vye})});var Dc=C((f7e,rj)=>{"use strict";var Fye=kA();rj.exports=new Fye({include:[iD()],implicit:[GG(),JG()],explicit:[VG(),ZG(),$G(),tj()]})});var nj=C((p7e,ij)=>{"use strict";var Rye=Er();function Lye(){return!0}function Nye(){}function Mye(){return""}function Oye(t){return typeof t=="undefined"}ij.exports=new Rye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Lye,construct:Nye,predicate:Oye,represent:Mye})});var oj=C((d7e,sj)=>{"use strict";var Kye=Er();function Tye(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Uye(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Hye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Yye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}sj.exports=new Kye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Tye,construct:Uye,predicate:Yye,represent:Hye})});var lj=C((C7e,aj)=>{"use strict";var DI;try{Aj=require,DI=Aj("esprima")}catch(t){typeof window!="undefined"&&(DI=window.esprima)}var Aj,qye=Er();function Gye(t){if(t===null)return!1;try{var e="("+t+")",r=DI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function jye(t){var e="("+t+")",r=DI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Jye(t){return t.toString()}function Wye(t){return Object.prototype.toString.call(t)==="[object Function]"}aj.exports=new qye("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Gye,construct:jye,predicate:Wye,represent:Jye})});var Th=C((m7e,cj)=>{"use strict";var uj=kA();cj.exports=uj.DEFAULT=new uj({include:[Dc()],explicit:[nj(),oj(),lj()]})});var kj=C((I7e,Uh)=>{"use strict";var Zs=PA(),gj=bc(),zye=mG(),hj=Dc(),Vye=Th(),ta=Object.prototype.hasOwnProperty,xI=1,fj=2,pj=3,PI=4,sD=1,Xye=2,dj=3,Zye=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,_ye=/[\x85\u2028\u2029]/,$ye=/[,\[\]\{\}]/,Cj=/^(?:!|!!|![a-z\-]+!)$/i,mj=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ij(t){return Object.prototype.toString.call(t)}function os(t){return t===10||t===13}function FA(t){return t===9||t===32}function Si(t){return t===9||t===32||t===10||t===13}function xc(t){return t===44||t===91||t===93||t===123||t===125}function eBe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function tBe(t){return t===120?2:t===117?4:t===85?8:0}function rBe(t){return 48<=t&&t<=57?t-48:-1}function Ej(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` -`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function iBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var yj=new Array(256),Bj=new Array(256);for(var Pc=0;Pc<256;Pc++)yj[Pc]=Ej(Pc)?1:0,Bj[Pc]=Ej(Pc);function nBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Vye,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function wj(t,e){return new gj(e,new zye(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function _e(t,e){throw wj(t,e)}function kI(t,e){t.onWarning&&t.onWarning.call(null,wj(t,e))}var Qj={YAML:function(e,r,i){var n,s,o;e.version!==null&&_e(e,"duplication of %YAML directive"),i.length!==1&&_e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&_e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&_e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&kI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&_e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Cj.test(n)||_e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&_e(e,'there is a previously declared suffix for "'+n+'" tag handle'),mj.test(s)||_e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Zs.repeat(` -`,e-1))}function sBe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,h=t.result,f;if(f=t.input.charCodeAt(t.position),Si(f)||xc(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(n=t.input.charCodeAt(t.position+1),Si(n)||r&&xc(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;f!==0;){if(f===58){if(n=t.input.charCodeAt(t.position+1),Si(n)||r&&xc(n))break}else if(f===35){if(i=t.input.charCodeAt(t.position-1),Si(i))break}else{if(t.position===t.lineStart&&vI(t)||r&&xc(f))break;if(os(f))if(l=t.line,c=t.lineStart,u=t.lineIndent,ur(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(ra(t,s,o,!1),aD(t,t.line-l),s=o=t.position,a=!1),FA(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=h,!1)}function oBe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(ra(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else os(r)?(ra(t,i,n,!0),aD(t,ur(t,!1,e)),i=n=t.position):t.position===t.lineStart&&vI(t)?_e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);_e(t,"unexpected end of the stream within a single quoted scalar")}function aBe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),os(a))ur(t,!1,e);else if(a<256&&yj[a])t.result+=Bj[a],t.position++;else if((o=tBe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=eBe(a))>=0?s=(s<<4)+o:_e(t,"expected hexadecimal character");t.result+=iBe(s),t.position++}else _e(t,"unknown escape sequence");r=i=t.position}else os(a)?(ra(t,r,i,!0),aD(t,ur(t,!1,e)),r=i=t.position):t.position===t.lineStart&&vI(t)?_e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}_e(t,"unexpected end of the stream within a double quoted scalar")}function ABe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,h={},f,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(ur(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||_e(t,"missed comma between flow collection entries"),p=f=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),Si(a)&&(c=u=!0,t.position++,ur(t,!0,e))),i=t.line,vc(t,e,xI,!1,!0),p=t.tag,f=t.result,ur(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),ur(t,!0,e),vc(t,e,xI,!1,!0),m=t.result),g?kc(t,s,h,p,f,m):c?s.push(kc(t,null,h,p,f,m)):s.push(f),ur(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}_e(t,"unexpected end of the stream within a flow collection")}function lBe(t,e){var r,i,n=sD,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)sD===n?n=g===43?dj:Xye:_e(t,"repeat of a chomping mode identifier");else if((u=rBe(g))>=0)u===0?_e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?_e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(FA(g)){do g=t.input.charCodeAt(++t.position);while(FA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!os(g)&&g!==0)}for(;g!==0;){for(oD(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),os(g)){l++;continue}if(t.lineIndente)&&l!==0)_e(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(vc(t,e,PI,!0,n)&&(p?h=t.result:f=t.result),p||(kc(t,c,u,g,h,f,s,o),g=h=f=null),ur(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)_e(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,h=t.implicitTypes.length;g tag; it should be "'+f.kind+'", not "'+t.kind+'"'),f.resolve(t.result)?(t.result=f.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):_e(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):_e(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fBe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(ur(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Si(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&_e(t,"directive name must not be less than one character in length");o!==0;){for(;FA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!os(o));break}if(os(o))break;for(r=t.position;o!==0&&!Si(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&oD(t),ta.call(Qj,i)?Qj[i](t,i,n):kI(t,'unknown document directive "'+i+'"')}if(ur(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,ur(t,!0,-1)):s&&_e(t,"directives end mark is expected"),vc(t,t.lineIndent-1,PI,!1,!0),ur(t,!0,-1),t.checkLineBreaks&&_ye.test(t.input.slice(e,t.position))&&kI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&vI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,ur(t,!0,-1));return}if(t.position{"use strict";var Hh=PA(),Yh=bc(),CBe=Th(),mBe=Dc(),vj=Object.prototype.toString,Fj=Object.prototype.hasOwnProperty,IBe=9,qh=10,EBe=13,yBe=32,BBe=33,wBe=34,Rj=35,QBe=37,bBe=38,SBe=39,DBe=42,Lj=44,xBe=45,Nj=58,PBe=61,kBe=62,vBe=63,FBe=64,Mj=91,Oj=93,RBe=96,Kj=123,LBe=124,Tj=125,jr={};jr[0]="\\0";jr[7]="\\a";jr[8]="\\b";jr[9]="\\t";jr[10]="\\n";jr[11]="\\v";jr[12]="\\f";jr[13]="\\r";jr[27]="\\e";jr[34]='\\"';jr[92]="\\\\";jr[133]="\\N";jr[160]="\\_";jr[8232]="\\L";jr[8233]="\\P";var NBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function MBe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;nr/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),wj.repeat(" ",e)+i+a+s+` +`+wj.repeat(" ",e+this.position-n+i.length)+"^"};sS.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};Bj.exports=sS});var Er=C((AXe,bj)=>{"use strict";var Dj=Qc(),KEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],TEe=["scalar","sequence","mapping"];function UEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function HEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(KEe.indexOf(r)===-1)throw new Dj('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=UEe(e.styleAliases||null),TEe.indexOf(this.kind)===-1)throw new Dj('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}bj.exports=HEe});var PA=C((lXe,Sj)=>{"use strict";var xj=xA(),xI=Qc(),YEe=Er();function oS(t,e,r){var i=[];return t.include.forEach(function(n){r=oS(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function GEe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var jEe=Er();Pj.exports=new jEe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var Fj=C((uXe,vj)=>{"use strict";var qEe=Er();vj.exports=new qEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var Lj=C((gXe,Rj)=>{"use strict";var JEe=Er();Rj.exports=new JEe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var PI=C((hXe,Nj)=>{"use strict";var WEe=PA();Nj.exports=new WEe({explicit:[kj(),Fj(),Lj()]})});var Oj=C((fXe,Mj)=>{"use strict";var zEe=Er();function VEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function XEe(){return null}function ZEe(t){return t===null}Mj.exports=new zEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:VEe,construct:XEe,predicate:ZEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Tj=C((pXe,Kj)=>{"use strict";var _Ee=Er();function $Ee(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function eye(t){return t==="true"||t==="True"||t==="TRUE"}function tye(t){return Object.prototype.toString.call(t)==="[object Boolean]"}Kj.exports=new _Ee("tag:yaml.org,2002:bool",{kind:"scalar",resolve:$Ee,construct:eye,predicate:tye,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var Hj=C((dXe,Uj)=>{"use strict";var rye=xA(),iye=Er();function nye(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function sye(t){return 48<=t&&t<=55}function oye(t){return 48<=t&&t<=57}function aye(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var jj=C((CXe,Yj)=>{"use strict";var Gj=xA(),cye=Er(),uye=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function gye(t){return!(t===null||!uye.test(t)||t[t.length-1]==="_")}function hye(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var fye=/^[-+]?[0-9]+e/;function pye(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Gj.isNegativeZero(t))return"-0.0";return r=t.toString(10),fye.test(r)?r.replace("e",".e"):r}function dye(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||Gj.isNegativeZero(t))}Yj.exports=new cye("tag:yaml.org,2002:float",{kind:"scalar",resolve:gye,construct:hye,predicate:dye,represent:pye,defaultStyle:"lowercase"})});var aS=C((mXe,qj)=>{"use strict";var Cye=PA();qj.exports=new Cye({include:[PI()],implicit:[Oj(),Tj(),Hj(),jj()]})});var AS=C((IXe,Jj)=>{"use strict";var mye=PA();Jj.exports=new mye({include:[aS()]})});var Xj=C((EXe,Wj)=>{"use strict";var Iye=Er(),zj=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Vj=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Eye(t){return t===null?!1:zj.exec(t)!==null||Vj.exec(t)!==null}function yye(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,h;if(e=zj.exec(t),e===null&&(e=Vj.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),h=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&h.setTime(h.getTime()-c),h}function Bye(t){return t.toISOString()}Wj.exports=new Iye("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Eye,construct:yye,instanceOf:Date,represent:Bye})});var _j=C((yXe,Zj)=>{"use strict";var wye=Er();function Qye(t){return t==="<<"||t===null}Zj.exports=new wye("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Qye})});var tq=C((BXe,$j)=>{"use strict";var kA;try{eq=require,kA=eq("buffer").Buffer}catch(t){}var eq,bye=Er(),lS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Dye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=lS;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function Sye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=lS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),kA?kA.from?kA.from(a):new kA(a):a}function xye(t){var e="",r=0,i,n,s=t.length,o=lS;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function Pye(t){return kA&&kA.isBuffer(t)}$j.exports=new bye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Dye,construct:Sye,predicate:Pye,represent:xye})});var iq=C((wXe,rq)=>{"use strict";var kye=Er(),vye=Object.prototype.hasOwnProperty,Fye=Object.prototype.toString;function Rye(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var Nye=Er(),Mye=Object.prototype.toString;function Oye(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var Tye=Er(),Uye=Object.prototype.hasOwnProperty;function Hye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Uye.call(r,e)&&r[e]!==null)return!1;return!0}function Yye(t){return t!==null?t:{}}oq.exports=new Tye("tag:yaml.org,2002:set",{kind:"mapping",resolve:Hye,construct:Yye})});var Dc=C((DXe,Aq)=>{"use strict";var Gye=PA();Aq.exports=new Gye({include:[AS()],implicit:[Xj(),_j()],explicit:[tq(),iq(),sq(),aq()]})});var cq=C((SXe,lq)=>{"use strict";var jye=Er();function qye(){return!0}function Jye(){}function Wye(){return""}function zye(t){return typeof t=="undefined"}lq.exports=new jye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:qye,construct:Jye,predicate:zye,represent:Wye})});var gq=C((xXe,uq)=>{"use strict";var Vye=Er();function Xye(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Zye(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function _ye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function $ye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}uq.exports=new Vye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Xye,construct:Zye,predicate:$ye,represent:_ye})});var pq=C((PXe,hq)=>{"use strict";var kI;try{fq=require,kI=fq("esprima")}catch(t){typeof window!="undefined"&&(kI=window.esprima)}var fq,eBe=Er();function tBe(t){if(t===null)return!1;try{var e="("+t+")",r=kI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function rBe(t){var e="("+t+")",r=kI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function iBe(t){return t.toString()}function nBe(t){return Object.prototype.toString.call(t)==="[object Function]"}hq.exports=new eBe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:tBe,construct:rBe,predicate:nBe,represent:iBe})});var qh=C((kXe,dq)=>{"use strict";var Cq=PA();dq.exports=Cq.DEFAULT=new Cq({include:[Dc()],explicit:[cq(),gq(),pq()]})});var Mq=C((vXe,Jh)=>{"use strict";var to=xA(),mq=Qc(),sBe=Qj(),Iq=Dc(),oBe=qh(),ta=Object.prototype.hasOwnProperty,vI=1,Eq=2,yq=3,FI=4,cS=1,aBe=2,Bq=3,ABe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,lBe=/[\x85\u2028\u2029]/,cBe=/[,\[\]\{\}]/,wq=/^(?:!|!!|![a-z\-]+!)$/i,Qq=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function bq(t){return Object.prototype.toString.call(t)}function As(t){return t===10||t===13}function vA(t){return t===9||t===32}function Pi(t){return t===9||t===32||t===10||t===13}function Sc(t){return t===44||t===91||t===93||t===123||t===125}function uBe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function gBe(t){return t===120?2:t===117?4:t===85?8:0}function hBe(t){return 48<=t&&t<=57?t-48:-1}function Dq(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function fBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Sq=new Array(256),xq=new Array(256);for(var xc=0;xc<256;xc++)Sq[xc]=Dq(xc)?1:0,xq[xc]=Dq(xc);function pBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||oBe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Pq(t,e){return new mq(e,new sBe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function _e(t,e){throw Pq(t,e)}function RI(t,e){t.onWarning&&t.onWarning.call(null,Pq(t,e))}var kq={YAML:function(e,r,i){var n,s,o;e.version!==null&&_e(e,"duplication of %YAML directive"),i.length!==1&&_e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&_e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&_e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&RI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&_e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],wq.test(n)||_e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&_e(e,'there is a previously declared suffix for "'+n+'" tag handle'),Qq.test(s)||_e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=to.repeat(` +`,e-1))}function dBe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,h=t.result,f;if(f=t.input.charCodeAt(t.position),Pi(f)||Sc(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(n=t.input.charCodeAt(t.position+1),Pi(n)||r&&Sc(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;f!==0;){if(f===58){if(n=t.input.charCodeAt(t.position+1),Pi(n)||r&&Sc(n))break}else if(f===35){if(i=t.input.charCodeAt(t.position-1),Pi(i))break}else{if(t.position===t.lineStart&&LI(t)||r&&Sc(f))break;if(As(f))if(l=t.line,c=t.lineStart,u=t.lineIndent,gr(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(ra(t,s,o,!1),gS(t,t.line-l),s=o=t.position,a=!1),vA(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=h,!1)}function CBe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(ra(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else As(r)?(ra(t,i,n,!0),gS(t,gr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&LI(t)?_e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);_e(t,"unexpected end of the stream within a single quoted scalar")}function mBe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),As(a))gr(t,!1,e);else if(a<256&&Sq[a])t.result+=xq[a],t.position++;else if((o=gBe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=uBe(a))>=0?s=(s<<4)+o:_e(t,"expected hexadecimal character");t.result+=fBe(s),t.position++}else _e(t,"unknown escape sequence");r=i=t.position}else As(a)?(ra(t,r,i,!0),gS(t,gr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&LI(t)?_e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}_e(t,"unexpected end of the stream within a double quoted scalar")}function IBe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,h={},f,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(gr(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||_e(t,"missed comma between flow collection entries"),p=f=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),Pi(a)&&(c=u=!0,t.position++,gr(t,!0,e))),i=t.line,kc(t,e,vI,!1,!0),p=t.tag,f=t.result,gr(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),gr(t,!0,e),kc(t,e,vI,!1,!0),m=t.result),g?Pc(t,s,h,p,f,m):c?s.push(Pc(t,null,h,p,f,m)):s.push(f),gr(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}_e(t,"unexpected end of the stream within a flow collection")}function EBe(t,e){var r,i,n=cS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)cS===n?n=g===43?Bq:aBe:_e(t,"repeat of a chomping mode identifier");else if((u=hBe(g))>=0)u===0?_e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?_e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(vA(g)){do g=t.input.charCodeAt(++t.position);while(vA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!As(g)&&g!==0)}for(;g!==0;){for(uS(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),As(g)){l++;continue}if(t.lineIndente)&&l!==0)_e(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(kc(t,e,FI,!0,n)&&(p?h=t.result:f=t.result),p||(Pc(t,c,u,g,h,f,s,o),g=h=f=null),gr(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)_e(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,h=t.implicitTypes.length;g tag; it should be "'+f.kind+'", not "'+t.kind+'"'),f.resolve(t.result)?(t.result=f.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):_e(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):_e(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function bBe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(gr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Pi(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&_e(t,"directive name must not be less than one character in length");o!==0;){for(;vA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!As(o));break}if(As(o))break;for(r=t.position;o!==0&&!Pi(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&uS(t),ta.call(kq,i)?kq[i](t,i,n):RI(t,'unknown document directive "'+i+'"')}if(gr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,gr(t,!0,-1)):s&&_e(t,"directives end mark is expected"),kc(t,t.lineIndent-1,FI,!1,!0),gr(t,!0,-1),t.checkLineBreaks&&lBe.test(t.input.slice(e,t.position))&&RI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&LI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,gr(t,!0,-1));return}if(t.position{"use strict";var Wh=xA(),zh=Qc(),xBe=qh(),PBe=Dc(),Oq=Object.prototype.toString,Kq=Object.prototype.hasOwnProperty,kBe=9,Vh=10,vBe=13,FBe=32,RBe=33,LBe=34,Tq=35,NBe=37,MBe=38,OBe=39,KBe=42,Uq=44,TBe=45,Hq=58,UBe=61,HBe=62,YBe=63,GBe=64,Yq=91,Gq=93,jBe=96,jq=123,qBe=124,qq=125,zr={};zr[0]="\\0";zr[7]="\\a";zr[8]="\\b";zr[9]="\\t";zr[10]="\\n";zr[11]="\\v";zr[12]="\\f";zr[13]="\\r";zr[27]="\\e";zr[34]='\\"';zr[92]="\\\\";zr[133]="\\N";zr[160]="\\_";zr[8232]="\\L";zr[8233]="\\P";var JBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function WBe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,h=h&&Yj(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!Fc(o))return FI;a=s>0?t.charCodeAt(s-1):null,h=h&&Yj(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?h&&!n(t)?Gj:jj:r>9&&qj(t)?FI:c?Wj:Jj}function GBe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NBe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return KBe(t,l)}switch(HBe(e,o,t.indent,s,a)){case Gj:return e;case jj:return"'"+e.replace(/'/g,"''")+"'";case Jj:return"|"+zj(e,t.indent)+Vj(Hj(e,n));case Wj:return">"+zj(e,t.indent)+Vj(Hj(YBe(e,s),n));case FI:return'"'+qBe(e,s)+'"';default:throw new Yh("impossible error: invalid scalar style")}}()}function zj(t,e){var r=qj(t)?String(e):"",i=t[t.length-1]===` +`&&(s+=r),s+=o;return s}function fS(t,e){return` +`+Wh.repeat(" ",t.indent*e)}function VBe(t,e){var r,i,n;for(r=0,i=t.implicitTypes.length;r0?t.charCodeAt(s-1):null,h=h&&zq(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!vc(o))return NI;a=s>0?t.charCodeAt(s-1):null,h=h&&zq(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?h&&!n(t)?Xq:Zq:r>9&&Vq(t)?NI:c?$q:_q}function twe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&JBe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return VBe(t,l)}switch(_Be(e,o,t.indent,s,a)){case Xq:return e;case Zq:return"'"+e.replace(/'/g,"''")+"'";case _q:return"|"+eJ(e,t.indent)+tJ(Wq(e,n));case $q:return">"+eJ(e,t.indent)+tJ(Wq($Be(e,s),n));case NI:return'"'+ewe(e,s)+'"';default:throw new zh("impossible error: invalid scalar style")}}()}function eJ(t,e){var r=Vq(t)?String(e):"",i=t[t.length-1]===` `,n=i&&(t[t.length-2]===` `||t===` `),s=n?"+":i?"":"-";return r+s+` -`}function Vj(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function YBe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` -`);return c=c!==-1?c:t.length,r.lastIndex=c,Xj(t.slice(0,c),e)}(),n=t[0]===` +`}function tJ(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function $Be(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,rJ(t.slice(0,c),e)}(),n=t[0]===` `||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+Xj(l,e),n=s}return i}function Xj(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`:"")+rJ(l,e),n=s}return i}function rJ(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` `+t.slice(n,s),n=s+1),o=a;return l+=` `,t.length-n>e&&o>n?l+=t.slice(n,o)+` -`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function qBe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Uj((r-55296)*1024+i-56320+65536),s++;continue}n=jr[r],e+=!n&&Fc(r)?t[s]:n||Uj(r)}return e}function jBe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!RA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function zBe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,h;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Yh("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&qh===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,g&&(h+=lD(t,e)),!!RA(t,e+1,u,!0,g)&&(t.dump&&qh===t.dump.charCodeAt(0)?h+=":":h+=": ",h+=t.dump,n+=h));t.tag=s,t.dump=n||"{}"}function Zj(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function RA(t,e,r,i,n,s){t.tag=null,t.dump=r,Zj(t,r,!1)||Zj(t,r,!0);var o=vj.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(zBe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(WBe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(JBe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(jBe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&GBe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Yh("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function VBe(t,e){var r=[],i=[],n,s;for(uD(t,r,i),n=0,s=i.length;n{"use strict";var RI=kj(),eJ=$j();function LI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Er();_t.exports.Schema=kA();_t.exports.FAILSAFE_SCHEMA=SI();_t.exports.JSON_SCHEMA=rD();_t.exports.CORE_SCHEMA=iD();_t.exports.DEFAULT_SAFE_SCHEMA=Dc();_t.exports.DEFAULT_FULL_SCHEMA=Th();_t.exports.load=RI.load;_t.exports.loadAll=RI.loadAll;_t.exports.safeLoad=RI.safeLoad;_t.exports.safeLoadAll=RI.safeLoadAll;_t.exports.dump=eJ.dump;_t.exports.safeDump=eJ.safeDump;_t.exports.YAMLException=bc();_t.exports.MINIMAL_SCHEMA=SI();_t.exports.SAFE_SCHEMA=Dc();_t.exports.DEFAULT_SCHEMA=Th();_t.exports.scan=LI("scan");_t.exports.parse=LI("parse");_t.exports.compose=LI("compose");_t.exports.addConstructor=LI("addConstructor")});var iJ=C((B7e,rJ)=>{"use strict";var ZBe=tJ();rJ.exports=ZBe});var sJ=C((w7e,nJ)=>{"use strict";function _Be(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function LA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,LA)}_Be(LA,Error);LA.buildMessage=function(t,e){var r={literal:function(c){return`"${n(c.text)}"`},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g({[ye]:q})))},N=function(D){return D},U=function(D){return D},v=So("correct indentation"),J=" ",oe=Mt(" ",!1),K=function(D){return D.length===kl*aC},A=function(D){return D.length===(kl+1)*aC},W=function(){return kl++,!0},$=function(){return kl--,!0},re=function(){return Zd()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Pe=zn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Le=/^[^\r\n\t ,\][{}:#"']/,Ge=zn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return Zd().replace(/^ *| *$/g,"")},ie="--",le=Mt("--",!1),be=/^[a-zA-Z\/0-9]/,he=zn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=zn(["\r",` -`," "," ",":",","],!0,!1),ve="null",Z=Mt("null",!1),X=function(){return null},ae="true",ue=Mt("true",!1),we=function(){return!0},lt="false",ft=Mt("false",!1),xt=function(){return!1},Sn=So("string"),di='"',Zt=Mt('"',!1),Vi=function(){return""},Wn=function(D){return D},Ka=function(D){return D.join("")},rg=/^[^"\\\0-\x1F\x7F]/,wo=zn(['"',"\\",["\0",""],"\x7F"],!0,!1),Md='\\"',Od=Mt('\\"',!1),Kd=function(){return'"'},ig="\\\\",GB=Mt("\\\\",!1),jB=function(){return"\\"},Td="\\/",Ud=Mt("\\/",!1),JB=function(){return"/"},Hd="\\b",WB=Mt("\\b",!1),zB=function(){return"\b"},Ss="\\f",_=Mt("\\f",!1),Xi=function(){return"\f"},Ni="\\n",Yd=Mt("\\n",!1),qd=function(){return` -`},Ta="\\r",Gd=Mt("\\r",!1),jd=function(){return"\r"},Sl="\\t",ng=Mt("\\t",!1),sg=function(){return" "},Dl="\\u",Qo=Mt("\\u",!1),bo=function(D,T,q,ye){return String.fromCharCode(parseInt(`0x${D}${T}${q}${ye}`))},VB=/^[0-9a-fA-F]/,XB=zn([["0","9"],["a","f"],["A","F"]],!1,!1),ZB=So("blank space"),Jd=/^[ \t]/,Wd=zn([" "," "],!1,!1),_B=So("white space"),zd=/^[ \t\n\r]/,Vd=zn([" "," ",` -`,"\r"],!1,!1),Xd=`\r -`,$B=Mt(`\r -`,!1),ew=` -`,tw=Mt(` -`,!1),rw="\r",iw=Mt("\r",!1),O=0,rt=0,xl=[{line:1,column:1}],Mi=0,og=[],Oe=0,Ua;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "${e.startRule}".`);n=i[e.startRule]}function Zd(){return t.substring(rt,O)}function uL(){return Do(rt,O)}function Ha(D,T){throw T=T!==void 0?T:Do(rt,O),tC([So(D)],t.substring(rt,O),T)}function _d(D,T){throw T=T!==void 0?T:Do(rt,O),sw(D,T)}function Mt(D,T){return{type:"literal",text:D,ignoreCase:T}}function zn(D,T,q){return{type:"class",parts:D,inverted:T,ignoreCase:q}}function nw(){return{type:"any"}}function $d(){return{type:"end"}}function So(D){return{type:"other",description:D}}function eC(D){var T=xl[D],q;if(T)return T;for(q=D-1;!xl[q];)q--;for(T=xl[q],T={line:T.line,column:T.column};qMi&&(Mi=O,og=[]),og.push(D))}function sw(D,T){return new LA(D,null,null,T)}function tC(D,T,q){return new LA(LA.buildMessage(D,T),D,T,q)}function rC(){var D;return D=Ag(),D}function iC(){var D,T,q;for(D=O,T=[],q=ag();q!==r;)T.push(q),q=ag();return T!==r&&(rt=D,T=s(T)),D=T,D}function ag(){var D,T,q,ye,Ce;return D=O,T=qa(),T!==r?(t.charCodeAt(O)===45?(q=o,O++):(q=r,Oe===0&&We(a)),q!==r?(ye=hr(),ye!==r?(Ce=Ya(),Ce!==r?(rt=D,T=l(Ce),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D}function Ag(){var D,T,q;for(D=O,T=[],q=lg();q!==r;)T.push(q),q=lg();return T!==r&&(rt=D,T=c(T)),D=T,D}function lg(){var D,T,q,ye,Ce,Me,tt,Ot,Ps;if(D=O,T=hr(),T===r&&(T=null),T!==r){if(q=O,t.charCodeAt(O)===35?(ye=u,O++):(ye=r,Oe===0&&We(g)),ye!==r){if(Ce=[],Me=O,tt=O,Oe++,Ot=xs(),Oe--,Ot===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Ot=t.charAt(O),O++):(Ot=r,Oe===0&&We(h)),Ot!==r?(tt=[tt,Ot],Me=tt):(O=Me,Me=r)):(O=Me,Me=r),Me!==r)for(;Me!==r;)Ce.push(Me),Me=O,tt=O,Oe++,Ot=xs(),Oe--,Ot===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Ot=t.charAt(O),O++):(Ot=r,Oe===0&&We(h)),Ot!==r?(tt=[tt,Ot],Me=tt):(O=Me,Me=r)):(O=Me,Me=r);else Ce=r;Ce!==r?(ye=[ye,Ce],q=ye):(O=q,q=r)}else O=q,q=r;if(q===r&&(q=null),q!==r){if(ye=[],Ce=Kr(),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=Kr();else ye=r;ye!==r?(rt=D,T=f(),D=T):(O=D,D=r)}else O=D,D=r}else O=D,D=r;if(D===r&&(D=O,T=qa(),T!==r?(q=oC(),q!==r?(ye=hr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&We(m)),Ce!==r?(Me=hr(),Me===r&&(Me=null),Me!==r?(tt=Ya(),tt!==r?(rt=D,T=I(q,tt),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,T=qa(),T!==r?(q=xo(),q!==r?(ye=hr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&We(m)),Ce!==r?(Me=hr(),Me===r&&(Me=null),Me!==r?(tt=Ya(),tt!==r?(rt=D,T=I(q,tt),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r))){if(D=O,T=qa(),T!==r)if(q=xo(),q!==r)if(ye=hr(),ye!==r)if(Ce=Ne(),Ce!==r){if(Me=[],tt=Kr(),tt!==r)for(;tt!==r;)Me.push(tt),tt=Kr();else Me=r;Me!==r?(rt=D,T=I(q,Ce),D=T):(O=D,D=r)}else O=D,D=r;else O=D,D=r;else O=D,D=r;else O=D,D=r;if(D===r)if(D=O,T=qa(),T!==r)if(q=xo(),q!==r){if(ye=[],Ce=O,Me=hr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&We(b)),tt!==r?(Ot=hr(),Ot===r&&(Ot=null),Ot!==r?(Ps=xo(),Ps!==r?(rt=Ce,Me=x(q,Ps),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=O,Me=hr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&We(b)),tt!==r?(Ot=hr(),Ot===r&&(Ot=null),Ot!==r?(Ps=xo(),Ps!==r?(rt=Ce,Me=x(q,Ps),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r);else ye=r;ye!==r?(Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(O)===58?(Me=p,O++):(Me=r,Oe===0&&We(m)),Me!==r?(tt=hr(),tt===r&&(tt=null),tt!==r?(Ot=Ya(),Ot!==r?(rt=D,T=F(q,ye,Ot),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)}else O=D,D=r;else O=D,D=r}return D}function Ya(){var D,T,q,ye,Ce,Me,tt;if(D=O,T=O,Oe++,q=O,ye=xs(),ye!==r?(Ce=ow(),Ce!==r?(t.charCodeAt(O)===45?(Me=o,O++):(Me=r,Oe===0&&We(a)),Me!==r?(tt=hr(),tt!==r?(ye=[ye,Ce,Me,tt],q=ye):(O=q,q=r)):(O=q,q=r)):(O=q,q=r)):(O=q,q=r),Oe--,q!==r?(O=T,T=void 0):T=r,T!==r?(q=Kr(),q!==r?(ye=nC(),ye!==r?(Ce=iC(),Ce!==r?(Me=sC(),Me!==r?(rt=D,T=N(Ce),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,T=xs(),T!==r?(q=nC(),q!==r?(ye=Ag(),ye!==r?(Ce=sC(),Ce!==r?(rt=D,T=N(ye),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r),D===r))if(D=O,T=S(),T!==r){if(q=[],ye=Kr(),ye!==r)for(;ye!==r;)q.push(ye),ye=Kr();else q=r;q!==r?(rt=D,T=U(T),D=T):(O=D,D=r)}else O=D,D=r;return D}function qa(){var D,T,q;for(Oe++,D=O,T=[],t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));q!==r;)T.push(q),t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));return T!==r?(rt=O,q=K(T),q?q=void 0:q=r,q!==r?(T=[T,q],D=T):(O=D,D=r)):(O=D,D=r),Oe--,D===r&&(T=r,Oe===0&&We(v)),D}function ow(){var D,T,q;for(D=O,T=[],t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));q!==r;)T.push(q),t.charCodeAt(O)===32?(q=J,O++):(q=r,Oe===0&&We(oe));return T!==r?(rt=O,q=A(T),q?q=void 0:q=r,q!==r?(T=[T,q],D=T):(O=D,D=r)):(O=D,D=r),D}function nC(){var D;return rt=O,D=W(),D?D=void 0:D=r,D}function sC(){var D;return rt=O,D=$(),D?D=void 0:D=r,D}function oC(){var D;return D=Ds(),D===r&&(D=Ga()),D}function xo(){var D,T,q;if(D=Ds(),D===r){if(D=O,T=[],q=Ci(),q!==r)for(;q!==r;)T.push(q),q=Ci();else T=r;T!==r&&(rt=D,T=re()),D=T}return D}function S(){var D;return D=Pl(),D===r&&(D=Se(),D===r&&(D=Ds(),D===r&&(D=Ga()))),D}function Ne(){var D;return D=Pl(),D===r&&(D=Ds(),D===r&&(D=Ci())),D}function Ga(){var D,T,q,ye,Ce,Me;if(Oe++,D=O,R.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Pe)),T!==r){for(q=[],ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&We(Ge)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)q.push(ye),ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&We(Ge)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);q!==r?(rt=D,T=Ke(),D=T):(O=D,D=r)}else O=D,D=r;return Oe--,D===r&&(T=r,Oe===0&&We(H)),D}function Ci(){var D,T,q,ye,Ce;if(D=O,t.substr(O,2)===ie?(T=ie,O+=2):(T=r,Oe===0&&We(le)),T===r&&(T=null),T!==r)if(be.test(t.charAt(O))?(q=t.charAt(O),O++):(q=r,Oe===0&&We(he)),q!==r){for(ye=[],Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&We(pe));Ce!==r;)ye.push(Ce),Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&We(pe));ye!==r?(rt=D,T=Ke(),D=T):(O=D,D=r)}else O=D,D=r;else O=D,D=r;return D}function Pl(){var D,T;return D=O,t.substr(O,4)===ve?(T=ve,O+=4):(T=r,Oe===0&&We(Z)),T!==r&&(rt=D,T=X()),D=T,D}function Se(){var D,T;return D=O,t.substr(O,4)===ae?(T=ae,O+=4):(T=r,Oe===0&&We(ue)),T!==r&&(rt=D,T=we()),D=T,D===r&&(D=O,t.substr(O,5)===lt?(T=lt,O+=5):(T=r,Oe===0&&We(ft)),T!==r&&(rt=D,T=xt()),D=T),D}function Ds(){var D,T,q,ye;return Oe++,D=O,t.charCodeAt(O)===34?(T=di,O++):(T=r,Oe===0&&We(Zt)),T!==r?(t.charCodeAt(O)===34?(q=di,O++):(q=r,Oe===0&&We(Zt)),q!==r?(rt=D,T=Vi(),D=T):(O=D,D=r)):(O=D,D=r),D===r&&(D=O,t.charCodeAt(O)===34?(T=di,O++):(T=r,Oe===0&&We(Zt)),T!==r?(q=aw(),q!==r?(t.charCodeAt(O)===34?(ye=di,O++):(ye=r,Oe===0&&We(Zt)),ye!==r?(rt=D,T=Wn(q),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)),Oe--,D===r&&(T=r,Oe===0&&We(Sn)),D}function aw(){var D,T,q;if(D=O,T=[],q=Aw(),q!==r)for(;q!==r;)T.push(q),q=Aw();else T=r;return T!==r&&(rt=D,T=Ka(T)),D=T,D}function Aw(){var D,T,q,ye,Ce,Me;return rg.test(t.charAt(O))?(D=t.charAt(O),O++):(D=r,Oe===0&&We(wo)),D===r&&(D=O,t.substr(O,2)===Md?(T=Md,O+=2):(T=r,Oe===0&&We(Od)),T!==r&&(rt=D,T=Kd()),D=T,D===r&&(D=O,t.substr(O,2)===ig?(T=ig,O+=2):(T=r,Oe===0&&We(GB)),T!==r&&(rt=D,T=jB()),D=T,D===r&&(D=O,t.substr(O,2)===Td?(T=Td,O+=2):(T=r,Oe===0&&We(Ud)),T!==r&&(rt=D,T=JB()),D=T,D===r&&(D=O,t.substr(O,2)===Hd?(T=Hd,O+=2):(T=r,Oe===0&&We(WB)),T!==r&&(rt=D,T=zB()),D=T,D===r&&(D=O,t.substr(O,2)===Ss?(T=Ss,O+=2):(T=r,Oe===0&&We(_)),T!==r&&(rt=D,T=Xi()),D=T,D===r&&(D=O,t.substr(O,2)===Ni?(T=Ni,O+=2):(T=r,Oe===0&&We(Yd)),T!==r&&(rt=D,T=qd()),D=T,D===r&&(D=O,t.substr(O,2)===Ta?(T=Ta,O+=2):(T=r,Oe===0&&We(Gd)),T!==r&&(rt=D,T=jd()),D=T,D===r&&(D=O,t.substr(O,2)===Sl?(T=Sl,O+=2):(T=r,Oe===0&&We(ng)),T!==r&&(rt=D,T=sg()),D=T,D===r&&(D=O,t.substr(O,2)===Dl?(T=Dl,O+=2):(T=r,Oe===0&&We(Qo)),T!==r?(q=cg(),q!==r?(ye=cg(),ye!==r?(Ce=cg(),Ce!==r?(Me=cg(),Me!==r?(rt=D,T=bo(q,ye,Ce,Me),D=T):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)):(O=D,D=r)))))))))),D}function cg(){var D;return VB.test(t.charAt(O))?(D=t.charAt(O),O++):(D=r,Oe===0&&We(XB)),D}function hr(){var D,T;if(Oe++,D=[],Jd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Wd)),T!==r)for(;T!==r;)D.push(T),Jd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Wd));else D=r;return Oe--,D===r&&(T=r,Oe===0&&We(ZB)),D}function pt(){var D,T;if(Oe++,D=[],zd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Vd)),T!==r)for(;T!==r;)D.push(T),zd.test(t.charAt(O))?(T=t.charAt(O),O++):(T=r,Oe===0&&We(Vd));else D=r;return Oe--,D===r&&(T=r,Oe===0&&We(_B)),D}function Kr(){var D,T,q,ye,Ce,Me;if(D=O,T=xs(),T!==r){for(q=[],ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Me=xs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)q.push(ye),ye=O,Ce=hr(),Ce===r&&(Ce=null),Ce!==r?(Me=xs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);q!==r?(T=[T,q],D=T):(O=D,D=r)}else O=D,D=r;return D}function xs(){var D;return t.substr(O,2)===Xd?(D=Xd,O+=2):(D=r,Oe===0&&We($B)),D===r&&(t.charCodeAt(O)===10?(D=ew,O++):(D=r,Oe===0&&We(tw)),D===r&&(t.charCodeAt(O)===13?(D=rw,O++):(D=r,Oe===0&&We(iw)))),D}let aC=2,kl=0;if(Ua=n(),Ua!==r&&O===t.length)return Ua;throw Ua!==r&&O{var fwe=typeof global=="object"&&global&&global.Object===Object&&global;kJ.exports=fwe});var On=C((_7e,vJ)=>{var pwe=ID(),dwe=typeof self=="object"&&self&&self.Object===Object&&self,Cwe=pwe||dwe||Function("return this")();vJ.exports=Cwe});var OA=C(($7e,FJ)=>{var mwe=On(),Iwe=mwe.Symbol;FJ.exports=Iwe});var LJ=C((eZe,RJ)=>{function Ewe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var ywe=Array.isArray;NJ.exports=ywe});var TJ=C((rZe,MJ)=>{var OJ=OA(),KJ=Object.prototype,Bwe=KJ.hasOwnProperty,wwe=KJ.toString,Vh=OJ?OJ.toStringTag:void 0;function Qwe(t){var e=Bwe.call(t,Vh),r=t[Vh];try{t[Vh]=void 0;var i=!0}catch(s){}var n=wwe.call(t);return i&&(e?t[Vh]=r:delete t[Vh]),n}MJ.exports=Qwe});var HJ=C((iZe,UJ)=>{var bwe=Object.prototype,Swe=bwe.toString;function Dwe(t){return Swe.call(t)}UJ.exports=Dwe});var KA=C((nZe,YJ)=>{var qJ=OA(),xwe=TJ(),Pwe=HJ(),kwe="[object Null]",vwe="[object Undefined]",GJ=qJ?qJ.toStringTag:void 0;function Fwe(t){return t==null?t===void 0?vwe:kwe:GJ&&GJ in Object(t)?xwe(t):Pwe(t)}YJ.exports=Fwe});var As=C((sZe,jJ)=>{function Rwe(t){return t!=null&&typeof t=="object"}jJ.exports=Rwe});var GI=C((oZe,JJ)=>{var Lwe=KA(),Nwe=As(),Mwe="[object Symbol]";function Owe(t){return typeof t=="symbol"||Nwe(t)&&Lwe(t)==Mwe}JJ.exports=Owe});var _J=C((aZe,WJ)=>{var zJ=OA(),Kwe=LJ(),Twe=fn(),Uwe=GI(),Hwe=1/0,VJ=zJ?zJ.prototype:void 0,XJ=VJ?VJ.toString:void 0;function ZJ(t){if(typeof t=="string")return t;if(Twe(t))return Kwe(t,ZJ)+"";if(Uwe(t))return XJ?XJ.call(t):"";var e=t+"";return e=="0"&&1/t==-Hwe?"-0":e}WJ.exports=ZJ});var Rc=C((AZe,$J)=>{var Ywe=_J();function qwe(t){return t==null?"":Ywe(t)}$J.exports=qwe});var ED=C((lZe,eW)=>{function Gwe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var jwe=ED();function Jwe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:jwe(t,e,r)}tW.exports=Jwe});var yD=C((uZe,iW)=>{var Wwe="\\ud800-\\udfff",zwe="\\u0300-\\u036f",Vwe="\\ufe20-\\ufe2f",Xwe="\\u20d0-\\u20ff",Zwe=zwe+Vwe+Xwe,_we="\\ufe0e\\ufe0f",$we="\\u200d",eQe=RegExp("["+$we+Wwe+Zwe+_we+"]");function tQe(t){return eQe.test(t)}iW.exports=tQe});var sW=C((gZe,nW)=>{function rQe(t){return t.split("")}nW.exports=rQe});var hW=C((hZe,oW)=>{var aW="\\ud800-\\udfff",iQe="\\u0300-\\u036f",nQe="\\ufe20-\\ufe2f",sQe="\\u20d0-\\u20ff",oQe=iQe+nQe+sQe,aQe="\\ufe0e\\ufe0f",AQe="["+aW+"]",BD="["+oQe+"]",wD="\\ud83c[\\udffb-\\udfff]",lQe="(?:"+BD+"|"+wD+")",AW="[^"+aW+"]",lW="(?:\\ud83c[\\udde6-\\uddff]){2}",cW="[\\ud800-\\udbff][\\udc00-\\udfff]",cQe="\\u200d",uW=lQe+"?",gW="["+aQe+"]?",uQe="(?:"+cQe+"(?:"+[AW,lW,cW].join("|")+")"+gW+uW+")*",gQe=gW+uW+uQe,hQe="(?:"+[AW+BD+"?",BD,lW,cW,AQe].join("|")+")",fQe=RegExp(wD+"(?="+wD+")|"+hQe+gQe,"g");function pQe(t){return t.match(fQe)||[]}oW.exports=pQe});var pW=C((fZe,fW)=>{var dQe=sW(),CQe=yD(),mQe=hW();function IQe(t){return CQe(t)?mQe(t):dQe(t)}fW.exports=IQe});var CW=C((pZe,dW)=>{var EQe=rW(),yQe=yD(),BQe=pW(),wQe=Rc();function QQe(t){return function(e){e=wQe(e);var r=yQe(e)?BQe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EQe(r,1).join(""):e.slice(1);return i[t]()+n}}dW.exports=QQe});var IW=C((dZe,mW)=>{var bQe=CW(),SQe=bQe("toUpperCase");mW.exports=SQe});var QD=C((CZe,EW)=>{var DQe=Rc(),xQe=IW();function PQe(t){return xQe(DQe(t).toLowerCase())}EW.exports=PQe});var BW=C((mZe,yW)=>{"use strict";yW.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var jI=C((IZe,bD)=>{"use strict";var kQe=BW(),wW=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kQe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};bD.exports=wW;bD.exports.default=wW});var kW=C((kZe,zI)=>{function vQe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,h=12,f=13,p=14,m=15,I=16,y=17,b=0,x=1,F=2,N=3,U=4;function v(A,W){return 55296<=A.charCodeAt(W)&&A.charCodeAt(W)<=56319&&56320<=A.charCodeAt(W+1)&&A.charCodeAt(W+1)<=57343}function J(A,W){W===void 0&&(W=0);var $=A.charCodeAt(W);if(55296<=$&&$<=56319&&W=1){var re=A.charCodeAt(W-1),H=$;return 55296<=re&&re<=56319?(re-55296)*1024+(H-56320)+65536:H}return $}function oe(A,W,$){var re=[A].concat(W).concat([$]),H=re[re.length-2],R=$,Pe=re.lastIndexOf(p);if(Pe>1&&re.slice(1,Pe).every(function(Ke){return Ke==i})&&[i,f,y].indexOf(A)==-1)return F;var Le=re.lastIndexOf(n);if(Le>0&&re.slice(1,Le).every(function(Ke){return Ke==n})&&[h,n].indexOf(H)==-1)return re.filter(function(Ke){return Ke==n}).length%2==1?N:U;if(H==t&&R==e)return b;if(H==r||H==t||H==e)return R==p&&W.every(function(Ke){return Ke==i})?F:x;if(R==r||R==t||R==e)return x;if(H==o&&(R==o||R==a||R==c||R==u))return b;if((H==c||H==a)&&(R==a||R==l))return b;if((H==u||H==l)&&R==l)return b;if(R==i||R==m)return b;if(R==s)return b;if(H==h)return b;var Ge=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[f,y].indexOf(re[Ge])!=-1&&re.slice(Ge+1,-1).every(function(Ke){return Ke==i})&&R==p||H==m&&[I,y].indexOf(R)!=-1?b:W.indexOf(n)!=-1?F:H==n&&R==n?b:x}this.nextBreak=function(A,W){if(W===void 0&&(W=0),W<0)return 0;if(W>=A.length-1)return A.length;for(var $=K(J(A,W)),re=[],H=W+1;H{var FQe=kW(),RQe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,LQe=new FQe;vW.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RQe)||[t,t,void 0],l=LQe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var Nc=C((i_e,jW)=>{"use strict";var JW=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),r_e=jW.exports=t=>t?Object.keys(t).map(e=>[JW.has(e)?JW.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Mc=C((n_e,WW)=>{"use strict";var zQe=require("events"),zW=require("stream"),_h=eh(),VW=require("string_decoder").StringDecoder,eo=Symbol("EOF"),$h=Symbol("maybeEmitEnd"),oa=Symbol("emittedEnd"),_I=Symbol("emittingEnd"),$I=Symbol("closed"),XW=Symbol("read"),PD=Symbol("flush"),ZW=Symbol("flushChunk"),xi=Symbol("encoding"),to=Symbol("decoder"),eE=Symbol("flowing"),ef=Symbol("paused"),tf=Symbol("resume"),ui=Symbol("bufferLength"),_W=Symbol("bufferPush"),kD=Symbol("bufferShift"),Wr=Symbol("objectMode"),zr=Symbol("destroyed"),$W=global._MP_NO_ITERATOR_SYMBOLS_!=="1",VQe=$W&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),XQe=$W&&Symbol.iterator||Symbol("iterator not implemented"),e3=t=>t==="end"||t==="finish"||t==="prefinish",ZQe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Qe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);WW.exports=class t3 extends zW{constructor(e){super();this[eE]=!1,this[ef]=!1,this.pipes=new _h,this.buffer=new _h,this[Wr]=e&&e.objectMode||!1,this[Wr]?this[xi]=null:this[xi]=e&&e.encoding||null,this[xi]==="buffer"&&(this[xi]=null),this[to]=this[xi]?new VW(this[xi]):null,this[eo]=!1,this[oa]=!1,this[_I]=!1,this[$I]=!1,this.writable=!0,this.readable=!0,this[ui]=0,this[zr]=!1}get bufferLength(){return this[ui]}get encoding(){return this[xi]}set encoding(e){if(this[Wr])throw new Error("cannot set encoding in objectMode");if(this[xi]&&e!==this[xi]&&(this[to]&&this[to].lastNeed||this[ui]))throw new Error("cannot change encoding");this[xi]!==e&&(this[to]=e?new VW(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[to].write(r)))),this[xi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Wr]}set objectMode(e){this[Wr]=this[Wr]||!!e}write(e,r,i){if(this[eo])throw new Error("write after end");return this[zr]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Wr]&&!Buffer.isBuffer(e)&&(_Qe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):ZQe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[ui]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Wr]&&!(r===this[xi]&&!this[to].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[xi]&&(e=this[to].write(e)),this.flowing?(this[ui]!==0&&this[PD](!0),this.emit("data",e)):this[_W](e),this[ui]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[zr])return null;try{return this[ui]===0||e===0||e>this[ui]?null:(this[Wr]&&(e=null),this.buffer.length>1&&!this[Wr]&&(this.encoding?this.buffer=new _h([Array.from(this.buffer).join("")]):this.buffer=new _h([Buffer.concat(Array.from(this.buffer),this[ui])])),this[XW](e||null,this.buffer.head.value))}finally{this[$h]()}}[XW](e,r){return e===r.length||e===null?this[kD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[ui]-=e),this.emit("data",r),!this.buffer.length&&!this[eo]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[eo]=!0,this.writable=!1,(this.flowing||!this[ef])&&this[$h](),this}[tf](){this[zr]||(this[ef]=!1,this[eE]=!0,this.emit("resume"),this.buffer.length?this[PD]():this[eo]?this[$h]():this.emit("drain"))}resume(){return this[tf]()}pause(){this[eE]=!1,this[ef]=!0}get destroyed(){return this[zr]}get flowing(){return this[eE]}get paused(){return this[ef]}[_W](e){return this[Wr]?this[ui]+=1:this[ui]+=e.length,this.buffer.push(e)}[kD](){return this.buffer.length&&(this[Wr]?this[ui]-=1:this[ui]-=this.buffer.head.value.length),this.buffer.shift()}[PD](e){do;while(this[ZW](this[kD]()));!e&&!this.buffer.length&&!this[eo]&&this.emit("drain")}[ZW](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[zr])return;let i=this[oa];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[tf]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[tf](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[tf]():e3(e)&&this[oa]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[oa]}[$h](){!this[_I]&&!this[oa]&&!this[zr]&&this.buffer.length===0&&this[eo]&&(this[_I]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[$I]&&this.emit("close"),this[_I]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==zr&&this[zr])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[oa]===!0)return;this[oa]=!0,this.readable=!1,this[to]&&(r=this[to].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[$I]=!0,!this[oa]&&!this[zr]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Wr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Wr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Wr]?Promise.reject(new Error("cannot concat in objectMode")):this[xi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(zr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[VQe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[eo])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[eo]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(zr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[XQe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[zr]?(e?this.emit("error",e):this.emit(zr),this):(this[zr]=!0,this.buffer=new _h,this[ui]=0,typeof this.close=="function"&&!this[$I]&&this.close(),e?this.emit("error",e):this.emit(zr),this)}static isStream(e){return!!e&&(e instanceof t3||e instanceof zW||e instanceof zQe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var i3=C((s_e,r3)=>{var $Qe=require("zlib").constants||{ZLIB_VERNUM:4736};r3.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},$Qe))});var TD=C(qi=>{"use strict";var vD=require("assert"),aa=require("buffer").Buffer,n3=require("zlib"),TA=qi.constants=i3(),e0e=Mc(),s3=aa.concat,UA=Symbol("_superWrite"),rf=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},t0e=Symbol("opts"),nf=Symbol("flushFlag"),o3=Symbol("finishFlushFlag"),FD=Symbol("fullFlushFlag"),Ft=Symbol("handle"),tE=Symbol("onError"),Oc=Symbol("sawError"),RD=Symbol("level"),LD=Symbol("strategy"),ND=Symbol("ended"),o_e=Symbol("_defaultFullFlush"),MD=class extends e0e{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[Oc]=!1,this[ND]=!1,this[t0e]=e,this[nf]=e.flush,this[o3]=e.finishFlush;try{this[Ft]=new n3[r](e)}catch(i){throw new rf(i)}this[tE]=i=>{this[Oc]||(this[Oc]=!0,this.close(),this.emit("error",i))},this[Ft].on("error",i=>this[tE](new rf(i))),this.once("end",()=>this.close)}close(){this[Ft]&&(this[Ft].close(),this[Ft]=null,this.emit("close"))}reset(){if(!this[Oc])return vD(this[Ft],"zlib binding closed"),this[Ft].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[FD]),this.write(Object.assign(aa.alloc(0),{[nf]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[o3]),this[ND]=!0,super.end(null,null,i)}get ended(){return this[ND]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=aa.from(e,r)),this[Oc])return;vD(this[Ft],"zlib binding closed");let n=this[Ft]._handle,s=n.close;n.close=()=>{};let o=this[Ft].close;this[Ft].close=()=>{},aa.concat=c=>c;let a;try{let c=typeof e[nf]=="number"?e[nf]:this[nf];a=this[Ft]._processChunk(e,c),aa.concat=s3}catch(c){aa.concat=s3,this[tE](new rf(c))}finally{this[Ft]&&(this[Ft]._handle=n,n.close=s,this[Ft].close=o,this[Ft].removeAllListeners("error"))}this[Ft]&&this[Ft].on("error",c=>this[tE](new rf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[UA](aa.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Ft].params(e,r)}finally{this[Ft].flush=i}this[Ft]&&(this[RD]=e,this[LD]=r)}}}},a3=class extends Aa{constructor(e){super(e,"Deflate")}},A3=class extends Aa{constructor(e){super(e,"Inflate")}},OD=Symbol("_portable"),l3=class extends Aa{constructor(e){super(e,"Gzip");this[OD]=e&&!!e.portable}[UA](e){return this[OD]?(this[OD]=!1,e[9]=255,super[UA](e)):super[UA](e)}},c3=class extends Aa{constructor(e){super(e,"Gunzip")}},u3=class extends Aa{constructor(e){super(e,"DeflateRaw")}},g3=class extends Aa{constructor(e){super(e,"InflateRaw")}},h3=class extends Aa{constructor(e){super(e,"Unzip")}},KD=class extends MD{constructor(e,r){e=e||{},e.flush=e.flush||TA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||TA.BROTLI_OPERATION_FINISH,super(e,r),this[FD]=TA.BROTLI_OPERATION_FLUSH}},f3=class extends KD{constructor(e){super(e,"BrotliCompress")}},p3=class extends KD{constructor(e){super(e,"BrotliDecompress")}};qi.Deflate=a3;qi.Inflate=A3;qi.Gzip=l3;qi.Gunzip=c3;qi.DeflateRaw=u3;qi.InflateRaw=g3;qi.Unzip=h3;typeof n3.BrotliCompress=="function"?(qi.BrotliCompress=f3,qi.BrotliDecompress=p3):qi.BrotliCompress=qi.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var sf=C(rE=>{"use strict";rE.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);rE.code=new Map(Array.from(rE.name).map(t=>[t[1],t[0]]))});var of=C((u_e,d3)=>{"use strict";var l_e=sf(),r0e=Mc(),UD=Symbol("slurp");d3.exports=class extends r0e{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[UD](r),i&&this[UD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[UD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var I3=C(HD=>{"use strict";var g_e=HD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?n0e(t,e):i0e(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},i0e=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},n0e=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=C3(n):n===0?e[i-1]=0:(r=!0,e[i-1]=m3(n))}},h_e=HD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=o0e(t.slice(1,t.length));else if(r===255)i=s0e(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},s0e=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=C3(s):s===0?o=s:(i=!0,o=m3(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},o0e=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},C3=t=>(255^t)&255,m3=t=>(255^t)+1&255});var Tc=C((p_e,E3)=>{"use strict";var YD=sf(),Kc=require("path").posix,y3=I3(),qD=Symbol("slurp"),Gi=Symbol("type"),B3=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Gi]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=HA(e,r,100),this.mode=la(e,r+100,8),this.uid=la(e,r+108,8),this.gid=la(e,r+116,8),this.size=la(e,r+124,12),this.mtime=GD(e,r+136,12),this.cksum=la(e,r+148,12),this[qD](i),this[qD](n,!0),this[Gi]=HA(e,r+156,1),this[Gi]===""&&(this[Gi]="0"),this[Gi]==="0"&&this.path.substr(-1)==="/"&&(this[Gi]="5"),this[Gi]==="5"&&(this.size=0),this.linkpath=HA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=HA(e,r+265,32),this.gname=HA(e,r+297,32),this.devmaj=la(e,r+329,8),this.devmin=la(e,r+337,8),e[r+475]!==0){let o=HA(e,r+345,155);this.path=o+"/"+this.path}else{let o=HA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=GD(e,r+476,12),this.ctime=GD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=a0e(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=YA(e,r,100,s)||this.needPax,this.needPax=ca(e,r+100,8,this.mode)||this.needPax,this.needPax=ca(e,r+108,8,this.uid)||this.needPax,this.needPax=ca(e,r+116,8,this.gid)||this.needPax,this.needPax=ca(e,r+124,12,this.size)||this.needPax,this.needPax=jD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Gi].charCodeAt(0),this.needPax=YA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=YA(e,r+265,32,this.uname)||this.needPax,this.needPax=YA(e,r+297,32,this.gname)||this.needPax,this.needPax=ca(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ca(e,r+337,8,this.devmin)||this.needPax,this.needPax=YA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=YA(e,r+345,155,o)||this.needPax:(this.needPax=YA(e,r+345,130,o)||this.needPax,this.needPax=jD(e,r+476,12,this.atime)||this.needPax,this.needPax=jD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Kc.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Kc.join(Kc.basename(n),i),n=Kc.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},HA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),GD=(t,e,r)=>A0e(la(t,e,r)),A0e=t=>t===null?null:new Date(t*1e3),la=(t,e,r)=>t[e]&128?y3.parse(t.slice(e,e+r)):l0e(t,e,r),c0e=t=>isNaN(t)?null:t,l0e=(t,e,r)=>c0e(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),u0e={12:8589934591,8:2097151},ca=(t,e,r,i)=>i===null?!1:i>u0e[r]||i<0?(y3.encode(i,t.slice(e,e+r)),!0):(g0e(t,e,r,i),!1),g0e=(t,e,r,i)=>t.write(h0e(i,r),e,r,"ascii"),h0e=(t,e)=>f0e(Math.floor(t).toString(8),e),f0e=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",jD=(t,e,r,i)=>i===null?!1:ca(t,e,r,i.getTime()/1e3),p0e=new Array(156).join("\0"),YA=(t,e,r,i)=>i===null?!1:(t.write(i+p0e,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);E3.exports=B3});var nE=C((d_e,w3)=>{"use strict";var d0e=Tc(),C0e=require("path"),iE=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new d0e({path:("PaxHeader/"+C0e.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};iE.parse=(t,e,r)=>new iE(m0e(I0e(t),e),r);var m0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,I0e=t=>t.replace(/\n$/,"").split(` -`).reduce(E0e,Object.create(null)),E0e=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};w3.exports=iE});var sE=C((C_e,Q3)=>{"use strict";Q3.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var WD=C((m_e,b3)=>{"use strict";var oE=["|","<",">","?",":"],JD=oE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),y0e=new Map(oE.map((t,e)=>[t,JD[e]])),B0e=new Map(JD.map((t,e)=>[t,oE[e]]));b3.exports={encode:t=>oE.reduce((e,r)=>e.split(r).join(y0e.get(r)),t),decode:t=>JD.reduce((e,r)=>e.split(r).join(B0e.get(r)),t)}});var D3=C((I_e,S3)=>{"use strict";S3.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var ex=C((Q_e,x3)=>{"use strict";var P3=Mc(),k3=nE(),v3=Tc(),E_e=of(),cs=require("fs"),Uc=require("path"),y_e=sf(),w0e=16*1024*1024,F3=Symbol("process"),R3=Symbol("file"),L3=Symbol("directory"),zD=Symbol("symlink"),N3=Symbol("hardlink"),af=Symbol("header"),aE=Symbol("read"),VD=Symbol("lstat"),AE=Symbol("onlstat"),XD=Symbol("onread"),ZD=Symbol("onreadlink"),_D=Symbol("openfile"),$D=Symbol("onopenfile"),qA=Symbol("close"),lE=Symbol("mode"),M3=sE(),Q0e=WD(),O3=D3(),cE=M3(class extends P3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||w0e,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&Uc.win32.isAbsolute(e)){let n=Uc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Q0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Uc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[AE](this.statCache.get(this.absolute)):this[VD]()}[VD](){cs.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[AE](r)})}[AE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=b0e(e),this.emit("stat",e),this[F3]()}[F3](){switch(this.type){case"File":return this[R3]();case"Directory":return this[L3]();case"SymbolicLink":return this[zD]();default:return this.end()}}[lE](e){return O3(e,this.type==="Directory",this.portable)}[af](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this[lE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new k3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[L3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[af](),this.end()}[zD](){cs.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ZD](r)})}[ZD](e){this.linkpath=e.replace(/\\/g,"/"),this[af](),this.end()}[N3](e){this.type="Link",this.linkpath=Uc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[af](),this.end()}[R3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[N3](r)}this.linkCache.set(e,this.absolute)}if(this[af](),this.stat.size===0)return this.end();this[_D]()}[_D](){cs.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[$D](r)})}[$D](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[aE](e,n,0,n.length,0,this.stat.size,r)}[aE](e,r,i,n,s,o,a){cs.read(e,r,i,n,s,(l,c)=>{if(l)return this[qA](e,()=>this.emit("error",l));this[XD](e,r,i,n,s,o,a,c)})}[qA](e,r){cs.close(e,r)}[XD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[qA](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[qA](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[aE](e,r,i,n,s,o,a)}}),K3=class extends cE{constructor(e,r){super(e,r)}[VD](){this[AE](cs.lstatSync(this.absolute))}[zD](){this[ZD](cs.readlinkSync(this.absolute))}[_D](){this[$D](cs.openSync(this.absolute,"r"))}[aE](e,r,i,n,s,o,a){let l=!0;try{let c=cs.readSync(e,r,i,n,s);this[XD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[qA](e,()=>{})}catch(c){}}}[qA](e,r){cs.closeSync(e),r()}},S0e=M3(class extends P3{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[lE](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(Uc.isAbsolute(this.path)&&!this.preservePaths){let n=Uc.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new k3({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lE](e){return O3(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});cE.Sync=K3;cE.Tar=S0e;var b0e=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";x3.exports=cE});var mE=C((S_e,T3)=>{"use strict";var tx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},D0e=Mc(),x0e=TD(),P0e=of(),rx=ex(),k0e=rx.Sync,v0e=rx.Tar,F0e=eh(),U3=Buffer.alloc(1024),uE=Symbol("onStat"),gE=Symbol("ended"),us=Symbol("queue"),Hc=Symbol("current"),GA=Symbol("process"),hE=Symbol("processing"),H3=Symbol("processJob"),gs=Symbol("jobs"),ix=Symbol("jobDone"),fE=Symbol("addFSEntry"),Y3=Symbol("addTarEntry"),nx=Symbol("stat"),sx=Symbol("readdir"),pE=Symbol("onreaddir"),dE=Symbol("pipe"),q3=Symbol("entry"),ox=Symbol("entryOpt"),ax=Symbol("writeEntryClass"),G3=Symbol("write"),Ax=Symbol("ondrain"),CE=require("fs"),j3=require("path"),R0e=sE(),lx=R0e(class extends D0e{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[ax]=rx,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new x0e.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[Ax]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[Ax]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[us]=new F0e,this[gs]=0,this.jobs=+e.jobs||4,this[hE]=!1,this[gE]=!1}[G3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[gE]=!0,this[GA](),this}write(e){if(this[gE])throw new Error("write after end");return e instanceof P0e?this[Y3](e):this[fE](e),this.flowing}[Y3](e){let r=j3.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new tx(e.path,r,!1);i.entry=new v0e(e,this[ox](i)),i.entry.on("end",n=>this[ix](i)),this[gs]+=1,this[us].push(i)}this[GA]()}[fE](e){let r=j3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[us].push(new tx(e,r)),this[GA]()}[nx](e){e.pending=!0,this[gs]+=1;let r=this.follow?"stat":"lstat";CE[r](e.absolute,(i,n)=>{e.pending=!1,this[gs]-=1,i?this.emit("error",i):this[uE](e,n)})}[uE](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[GA]()}[sx](e){e.pending=!0,this[gs]+=1,CE.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[gs]-=1,r)return this.emit("error",r);this[pE](e,i)})}[pE](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[GA]()}[GA](){if(!this[hE]){this[hE]=!0;for(let e=this[us].head;e!==null&&this[gs]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[q3](e){this[gs]+=1;try{return new this[ax](e.path,this[ox](e)).on("end",()=>this[ix](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[Ax](){this[Hc]&&this[Hc].entry&&this[Hc].entry.resume()}[dE](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),J3=class extends lx{constructor(e){super(e);this[ax]=k0e}pause(){}resume(){}[nx](e){let r=this.follow?"statSync":"lstatSync";this[uE](e,CE[r](e.absolute))}[sx](e,r){this[pE](e,CE.readdirSync(e.absolute))}[dE](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[G3](n)})}};lx.Sync=J3;T3.exports=lx});var Wc=C(Af=>{"use strict";var L0e=Mc(),N0e=require("events").EventEmitter,pn=require("fs"),IE=process.binding("fs"),D_e=IE.writeBuffers,M0e=IE.FSReqWrap||IE.FSReqCallback,Yc=Symbol("_autoClose"),hs=Symbol("_close"),lf=Symbol("_ended"),kt=Symbol("_fd"),W3=Symbol("_finished"),jA=Symbol("_flags"),cx=Symbol("_flush"),ux=Symbol("_handleChunk"),gx=Symbol("_makeBuf"),hx=Symbol("_mode"),EE=Symbol("_needDrain"),qc=Symbol("_onerror"),Gc=Symbol("_onopen"),fx=Symbol("_onread"),JA=Symbol("_onwrite"),ua=Symbol("_open"),ga=Symbol("_path"),WA=Symbol("_pos"),fs=Symbol("_queue"),jc=Symbol("_read"),z3=Symbol("_readSize"),ha=Symbol("_reading"),yE=Symbol("_remain"),V3=Symbol("_size"),BE=Symbol("_write"),Jc=Symbol("_writing"),wE=Symbol("_defaultFlag"),px=class extends L0e{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[kt]=typeof r.fd=="number"?r.fd:null,this[ga]=e,this[z3]=r.readSize||16*1024*1024,this[ha]=!1,this[V3]=typeof r.size=="number"?r.size:Infinity,this[yE]=this[V3],this[Yc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[kt]=="number"?this[jc]():this[ua]()}get fd(){return this[kt]}get path(){return this[ga]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ua](){pn.open(this[ga],"r",(e,r)=>this[Gc](e,r))}[Gc](e,r){e?this[qc](e):(this[kt]=r,this.emit("open",r),this[jc]())}[gx](){return Buffer.allocUnsafe(Math.min(this[z3],this[yE]))}[jc](){if(!this[ha]){this[ha]=!0;let e=this[gx]();if(e.length===0)return process.nextTick(()=>this[fx](null,0,e));pn.read(this[kt],e,0,e.length,null,(r,i,n)=>this[fx](r,i,n))}}[fx](e,r,i){this[ha]=!1,e?this[qc](e):this[ux](r,i)&&this[jc]()}[hs](){this[Yc]&&typeof this[kt]=="number"&&(pn.close(this[kt],e=>this.emit("close")),this[kt]=null)}[qc](e){this[ha]=!0,this[hs](),this.emit("error",e)}[ux](e,r){let i=!1;return this[yE]-=e,e>0&&(i=super.write(ethis[Gc](e,r))}[Gc](e,r){this[wE]&&this[jA]==="r+"&&e&&e.code==="ENOENT"?(this[jA]="w",this[ua]()):e?this[qc](e):(this[kt]=r,this.emit("open",r),this[cx]())}end(e,r){e&&this.write(e,r),this[lf]=!0,!this[Jc]&&!this[fs].length&&typeof this[kt]=="number"&&this[JA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[lf]?(this.emit("error",new Error("write() after end()")),!1):this[kt]===null||this[Jc]||this[fs].length?(this[fs].push(e),this[EE]=!0,!1):(this[Jc]=!0,this[BE](e),!0)}[BE](e){pn.write(this[kt],e,0,e.length,this[WA],(r,i)=>this[JA](r,i))}[JA](e,r){e?this[qc](e):(this[WA]!==null&&(this[WA]+=r),this[fs].length?this[cx]():(this[Jc]=!1,this[lf]&&!this[W3]?(this[W3]=!0,this[hs](),this.emit("finish")):this[EE]&&(this[EE]=!1,this.emit("drain"))))}[cx](){if(this[fs].length===0)this[lf]&&this[JA](null,0);else if(this[fs].length===1)this[BE](this[fs].pop());else{let e=this[fs];this[fs]=[],O0e(this[kt],e,this[WA],(r,i)=>this[JA](r,i))}}[hs](){this[Yc]&&typeof this[kt]=="number"&&(pn.close(this[kt],e=>this.emit("close")),this[kt]=null)}},Z3=class extends dx{[ua](){let e;try{e=pn.openSync(this[ga],this[jA],this[hx])}catch(r){if(this[wE]&&this[jA]==="r+"&&r&&r.code==="ENOENT")return this[jA]="w",this[ua]();throw r}this[Gc](null,e)}[hs](){if(this[Yc]&&typeof this[kt]=="number"){try{pn.closeSync(this[kt])}catch(e){}this[kt]=null,this.emit("close")}}[BE](e){try{this[JA](null,pn.writeSync(this[kt],e,0,e.length,this[WA]))}catch(r){this[JA](r,0)}}},O0e=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new M0e;s.oncomplete=n,IE.writeBuffers(t,e,r,s)};Af.ReadStream=px;Af.ReadStreamSync=X3;Af.WriteStream=dx;Af.WriteStreamSync=Z3});var gf=C((v_e,_3)=>{"use strict";var K0e=sE(),P_e=require("path"),T0e=Tc(),U0e=require("events"),H0e=eh(),Y0e=1024*1024,q0e=of(),$3=nE(),G0e=TD(),Cx=Buffer.from([31,139]),dn=Symbol("state"),zA=Symbol("writeEntry"),ro=Symbol("readEntry"),mx=Symbol("nextEntry"),e4=Symbol("processEntry"),Cn=Symbol("extendedHeader"),cf=Symbol("globalExtendedHeader"),fa=Symbol("meta"),t4=Symbol("emitMeta"),Ht=Symbol("buffer"),io=Symbol("queue"),VA=Symbol("ended"),r4=Symbol("emittedEnd"),XA=Symbol("emit"),Pi=Symbol("unzip"),QE=Symbol("consumeChunk"),bE=Symbol("consumeChunkSub"),Ix=Symbol("consumeBody"),i4=Symbol("consumeMeta"),n4=Symbol("consumeHeader"),SE=Symbol("consuming"),Ex=Symbol("bufferConcat"),yx=Symbol("maybeEnd"),uf=Symbol("writing"),pa=Symbol("aborted"),DE=Symbol("onDone"),ZA=Symbol("sawValidEntry"),xE=Symbol("sawNullBlock"),PE=Symbol("sawEOF"),j0e=t=>!0;_3.exports=K0e(class extends U0e{constructor(e){e=e||{},super(e),this.file=e.file||"",this[ZA]=null,this.on(DE,r=>{(this[dn]==="begin"||this[ZA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(DE,e.ondone):this.on(DE,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Y0e,this.filter=typeof e.filter=="function"?e.filter:j0e,this.writable=!0,this.readable=!1,this[io]=new H0e,this[Ht]=null,this[ro]=null,this[zA]=null,this[dn]="begin",this[fa]="",this[Cn]=null,this[cf]=null,this[VA]=!1,this[Pi]=null,this[pa]=!1,this[xE]=!1,this[PE]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[n4](e,r){this[ZA]===null&&(this[ZA]=!1);let i;try{i=new T0e(e,r,this[Cn],this[cf])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[xE]?(this[PE]=!0,this[dn]==="begin"&&(this[dn]="header"),this[XA]("eof")):(this[xE]=!0,this[XA]("nullBlock"));else if(this[xE]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[zA]=new q0e(i,this[Cn],this[cf]);if(!this[ZA])if(s.remain){let o=()=>{s.invalid||(this[ZA]=!0)};s.on("end",o)}else this[ZA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[XA]("ignoredEntry",s),this[dn]="ignore",s.resume()):s.size>0&&(this[fa]="",s.on("data",o=>this[fa]+=o),this[dn]="meta"):(this[Cn]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[XA]("ignoredEntry",s),this[dn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[dn]="body":(this[dn]="header",s.end()),this[ro]?this[io].push(s):(this[io].push(s),this[mx]())))}}}[e4](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[ro]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[mx]()),r=!1)):(this[ro]=null,r=!1),r}[mx](){do;while(this[e4](this[io].shift()));if(!this[io].length){let e=this[ro];!e||e.flowing||e.size===e.remain?this[uf]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[Ix](e,r){let i=this[zA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[dn]="header",this[zA]=null,i.end()),s.length}[i4](e,r){let i=this[zA],n=this[Ix](e,r);return this[zA]||this[t4](i),n}[XA](e,r,i){!this[io].length&&!this[ro]?this.emit(e,r,i):this[io].push([e,r,i])}[t4](e){switch(this[XA]("meta",this[fa]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Cn]=$3.parse(this[fa],this[Cn],!1);break;case"GlobalExtendedHeader":this[cf]=$3.parse(this[fa],this[cf],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Cn]=this[Cn]||Object.create(null),this[Cn].path=this[fa].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Cn]=this[Cn]||Object.create(null),this[Cn].linkpath=this[fa].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[pa]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[pa])return;if(this[Pi]===null&&e){if(this[Ht]&&(e=Buffer.concat([this[Ht],e]),this[Ht]=null),e.lengththis[QE](s)),this[Pi].on("error",s=>this.abort(s)),this[Pi].on("end",s=>{this[VA]=!0,this[QE]()}),this[uf]=!0;let n=this[Pi][i?"end":"write"](e);return this[uf]=!1,n}}this[uf]=!0,this[Pi]?this[Pi].write(e):this[QE](e),this[uf]=!1;let r=this[io].length?!1:this[ro]?this[ro].flowing:!0;return!r&&!this[io].length&&this[ro].once("drain",i=>this.emit("drain")),r}[Ex](e){e&&!this[pa]&&(this[Ht]=this[Ht]?Buffer.concat([this[Ht],e]):e)}[yx](){if(this[VA]&&!this[r4]&&!this[pa]&&!this[SE]){this[r4]=!0;let e=this[zA];if(e&&e.blockRemain){let r=this[Ht]?this[Ht].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ht]&&e.write(this[Ht]),e.end()}this[XA](DE)}}[QE](e){if(this[SE])this[Ex](e);else if(!e&&!this[Ht])this[yx]();else{if(this[SE]=!0,this[Ht]){this[Ex](e);let r=this[Ht];this[Ht]=null,this[bE](r)}else this[bE](e);for(;this[Ht]&&this[Ht].length>=512&&!this[pa]&&!this[PE];){let r=this[Ht];this[Ht]=null,this[bE](r)}this[SE]=!1}(!this[Ht]||this[VA])&&this[yx]()}[bE](e){let r=0,i=e.length;for(;r+512<=i&&!this[pa]&&!this[PE];)switch(this[dn]){case"begin":case"header":this[n4](e,r),r+=512;break;case"ignore":case"body":r+=this[Ix](e,r);break;case"meta":r+=this[i4](e,r);break;default:throw new Error("invalid state: "+this[dn])}r{"use strict";var J0e=Nc(),o4=gf(),zc=require("fs"),W0e=Wc(),a4=require("path"),F_e=s4.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=J0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&V0e(i,e),i.noResume||z0e(i),i.file&&i.sync?X0e(i):i.file?Z0e(i,r):A4(i)},z0e=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},V0e=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||a4.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(a4.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},X0e=t=>{let e=A4(t),r=t.file,i=!0,n;try{let s=zc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new o4(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),zc.stat(n,(l,c)=>{if(l)a(l);else{let u=new W0e.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},A4=t=>new o4(t)});var f4=C((M_e,l4)=>{"use strict";var _0e=Nc(),vE=mE(),L_e=require("fs"),c4=Wc(),u4=kE(),g4=require("path"),N_e=l4.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?$0e(i,e):i.file?ebe(i,e,r):i.sync?tbe(i,e):rbe(i,e)},$0e=(t,e)=>{let r=new vE.Sync(t),i=new c4.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),h4(r,e)},ebe=(t,e,r)=>{let i=new vE(t),n=new c4.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return Bx(i,e),r?s.then(r,r):s},h4=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?u4({file:g4.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},Bx=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return u4({file:g4.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>Bx(t,e));t.add(r)}t.end()},tbe=(t,e)=>{let r=new vE.Sync(t);return h4(r,e),r},rbe=(t,e)=>{let r=new vE(t);return Bx(r,e),r}});var wx=C((T_e,p4)=>{"use strict";var ibe=Nc(),d4=mE(),O_e=gf(),mn=require("fs"),C4=Wc(),m4=kE(),I4=require("path"),E4=Tc(),K_e=p4.exports=(t,e,r)=>{let i=ibe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?nbe(i,e):sbe(i,e,r)},nbe=(t,e)=>{let r=new d4.Sync(t),i=!0,n,s;try{try{n=mn.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=mn.openSync(t.file,"w+");else throw l}let o=mn.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,obe(t,r,s,n,e)}finally{if(i)try{mn.closeSync(n)}catch(o){}}},obe=(t,e,r,i,n)=>{let s=new C4.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),abe(e,n)},sbe=(t,e,r)=>{e=Array.from(e);let i=new d4(t),n=(o,a,l)=>{let c=(p,m)=>{p?mn.close(o,I=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,h=Buffer.alloc(512),f=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return mn.read(o,h,g,h.length-g,u+g,f);if(u===0&&h[0]===31&&h[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let I=new E4(h);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,mn.read(o,h,0,512,u,f)};mn.read(o,h,0,512,u,f)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",mn.open(t.file,l,c);if(u)return a(u);mn.fstat(g,(h,f)=>{if(h)return a(h);n(g,f.size,(p,m)=>{if(p)return a(p);let I=new C4.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),y4(i,e)})})};mn.open(t.file,l,c)});return r?s.then(r,r):s},abe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?m4({file:I4.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},y4=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return m4({file:I4.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>y4(t,e));t.add(r)}t.end()}});var w4=C((H_e,B4)=>{"use strict";var Abe=Nc(),lbe=wx(),U_e=B4.exports=(t,e,r)=>{let i=Abe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),cbe(i),lbe(i,e,r)},cbe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var S4=C((Y_e,Q4)=>{var{promisify:b4}=require("util"),da=require("fs"),ube=t=>{if(!t)t={mode:511,fs:da};else if(typeof t=="object")t=P({mode:511,fs:da},t);else if(typeof t=="number")t={mode:t,fs:da};else if(typeof t=="string")t={mode:parseInt(t,8),fs:da};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||da.mkdir,t.mkdirAsync=b4(t.mkdir),t.stat=t.stat||t.fs.stat||da.stat,t.statAsync=b4(t.stat),t.statSync=t.statSync||t.fs.statSync||da.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||da.mkdirSync,t};Q4.exports=ube});var x4=C((q_e,D4)=>{var gbe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:hbe,parse:fbe}=require("path"),pbe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=hbe(t),gbe==="win32"){let e=/[*|"<>?:]/,{root:r}=fbe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};D4.exports=pbe});var R4=C((G_e,P4)=>{var{dirname:k4}=require("path"),v4=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?v4(t,k4(e),e):void 0),F4=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?F4(t,k4(e),e):void 0}};P4.exports={findMade:v4,findMadeSync:F4}});var Sx=C((j_e,L4)=>{var{dirname:N4}=require("path"),Qx=(t,e,r)=>{e.recursive=!1;let i=N4(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return Qx(i,e).then(s=>Qx(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},bx=(t,e,r)=>{let i=N4(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return bx(t,e,bx(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};L4.exports={mkdirpManual:Qx,mkdirpManualSync:bx}});var K4=C((J_e,M4)=>{var{dirname:O4}=require("path"),{findMade:dbe,findMadeSync:Cbe}=R4(),{mkdirpManual:mbe,mkdirpManualSync:Ibe}=Sx(),Ebe=(t,e)=>(e.recursive=!0,O4(t)===t?e.mkdirAsync(t,e):dbe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return mbe(t,e);throw n}))),ybe=(t,e)=>{if(e.recursive=!0,O4(t)===t)return e.mkdirSync(t,e);let i=Cbe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return Ibe(t,e);throw n}};M4.exports={mkdirpNative:Ebe,mkdirpNativeSync:ybe}});var Y4=C((W_e,T4)=>{var U4=require("fs"),Bbe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,Dx=Bbe.replace(/^v/,"").split("."),H4=+Dx[0]>10||+Dx[0]==10&&+Dx[1]>=12,wbe=H4?t=>t.mkdir===U4.mkdir:()=>!1,Qbe=H4?t=>t.mkdirSync===U4.mkdirSync:()=>!1;T4.exports={useNative:wbe,useNativeSync:Qbe}});var z4=C((z_e,q4)=>{var Vc=S4(),Xc=x4(),{mkdirpNative:G4,mkdirpNativeSync:j4}=K4(),{mkdirpManual:J4,mkdirpManualSync:W4}=Sx(),{useNative:bbe,useNativeSync:Sbe}=Y4(),Zc=(t,e)=>(t=Xc(t),e=Vc(e),bbe(e)?G4(t,e):J4(t,e)),Dbe=(t,e)=>(t=Xc(t),e=Vc(e),Sbe(e)?j4(t,e):W4(t,e));Zc.sync=Dbe;Zc.native=(t,e)=>G4(Xc(t),Vc(e));Zc.manual=(t,e)=>J4(Xc(t),Vc(e));Zc.nativeSync=(t,e)=>j4(Xc(t),Vc(e));Zc.manualSync=(t,e)=>W4(Xc(t),Vc(e));q4.exports=Zc});var t8=C((V_e,V4)=>{"use strict";var In=require("fs"),_A=require("path"),xbe=In.lchown?"lchown":"chown",Pbe=In.lchownSync?"lchownSync":"chownSync",X4=In.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Z4=(t,e,r)=>{try{return In[Pbe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kbe=(t,e,r)=>{try{return In.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},vbe=X4?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):In.chown(t,e,r,i)}:(t,e,r,i)=>i,xx=X4?(t,e,r)=>{try{return Z4(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;kbe(t,e,r)}}:(t,e,r)=>Z4(t,e,r),Fbe=process.version,_4=(t,e,r)=>In.readdir(t,e,r),Rbe=(t,e)=>In.readdirSync(t,e);/^v4\./.test(Fbe)&&(_4=(t,e,r)=>In.readdir(t,r));var FE=(t,e,r,i)=>{In[xbe](t,e,r,vbe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},$4=(t,e,r,i,n)=>{if(typeof e=="string")return In.lstat(_A.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,$4(t,o,r,i,n)});if(e.isDirectory())Px(_A.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=_A.resolve(t,e.name);FE(o,r,i,n)});else{let s=_A.resolve(t,e.name);FE(s,r,i,n)}},Px=(t,e,r,i)=>{_4(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return FE(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return FE(t,e,r,i)}};s.forEach(c=>$4(t,c,e,r,l))})},Lbe=(t,e,r,i)=>{if(typeof e=="string")try{let n=In.lstatSync(_A.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&e8(_A.resolve(t,e.name),r,i),xx(_A.resolve(t,e.name),r,i)},e8=(t,e,r)=>{let i;try{i=Rbe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return xx(t,e,r);throw n}return i&&i.length&&i.forEach(n=>Lbe(t,n,e,r)),xx(t,e,r)};V4.exports=Px;Px.sync=e8});var s8=C((__e,kx)=>{"use strict";var r8=z4(),En=require("fs"),RE=require("path"),i8=t8(),vx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},hf=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},X_e=kx.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,h=e.cwd,f=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?i8(y,o,a,b=>f(b)):s?En.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return f();if(t===h)return En.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new hf(t,I&&I.code||"ENOTDIR")),f(I)});if(c)return r8(t,{mode:n}).then(I=>f(null,I),f);let m=RE.relative(h,t).split(/\/|\\/);LE(h,m,n,g,u,h,null,f)},LE=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return LE(c,e,r,i,n,s,o,a);En.mkdir(c,r,n8(c,e,r,i,n,s,o,a))},n8=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&RE.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new hf(s,l.code));En.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())LE(t,e,r,i,n,s,o,a);else if(n)En.unlink(t,g=>{if(g)return a(g);En.mkdir(t,r,n8(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new vx(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,LE(t,e,r,i,n,s,o,a)},Z_e=kx.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,h=I=>{u.set(t,!0),I&&a&&i8.sync(I,s,o),n&&En.chmodSync(t,i)};if(u&&u.get(t)===!0)return h();if(t===g){let I=!1,y="ENOTDIR";try{I=En.statSync(t).isDirectory()}catch(b){y=b.code}finally{if(!I)throw new hf(t,y)}h();return}if(l)return h(r8.sync(t,i));let p=RE.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{En.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(b){if(b.path&&RE.dirname(b.path)===g&&(b.code==="ENOTDIR"||b.code==="ENOENT"))return new hf(g,b.code);let x=En.lstatSync(y);if(x.isDirectory()){u.set(y,!0);continue}else if(c){En.unlinkSync(y),En.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(x.isSymbolicLink())return new vx(y,y+"/"+p.join("/"))}return h(m)}});var A8=C(($_e,o8)=>{var a8=require("assert");o8.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,h)=>g.length?g.concat(r(g[g.length-1],h)):[h],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(h=>t.get(h)),dirs:[...g.dirs].map(h=>t.get(h))}},o=u=>{let{paths:g,dirs:h}=s(u);return g.every(f=>f[0]===u)&&h.every(f=>f[0]instanceof Set&&f[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:h}=e.get(u),f=new Set;return g.forEach(p=>{let m=t.get(p);a8.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?f.add(m[0]):m[0].forEach(I=>f.add(I)))}),h.forEach(p=>{let m=t.get(p);a8(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),f.add(m[0])):m[0].delete(u)}),n.delete(u),f.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let h=new Set(u.map(f=>i(f)).reduce((f,p)=>f.concat(p)));return e.set(g,{dirs:h,paths:u}),u.forEach(f=>{let p=t.get(f);p?p.push(g):t.set(f,[g])}),h.forEach(f=>{let p=t.get(f);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(f,[new Set([g])])}),a(g)}}}});var u8=C((e$e,l8)=>{var Nbe=process.env.__FAKE_PLATFORM__||process.platform,Mbe=Nbe==="win32",Obe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Kbe,O_TRUNC:Tbe,O_WRONLY:Ube,UV_FS_O_FILEMAP:c8=0}=Obe.constants,Hbe=Mbe&&!!c8,Ybe=512*1024,qbe=c8|Tbe|Kbe|Ube;l8.exports=Hbe?t=>t"w"});var Ux=C((n$e,g8)=>{"use strict";var Gbe=require("assert"),t$e=require("events").EventEmitter,jbe=gf(),St=require("fs"),Jbe=Wc(),no=require("path"),Fx=s8(),r$e=Fx.sync,h8=WD(),Wbe=A8(),f8=Symbol("onEntry"),Rx=Symbol("checkFs"),p8=Symbol("checkFs2"),Lx=Symbol("isReusable"),so=Symbol("makeFs"),Nx=Symbol("file"),Mx=Symbol("directory"),NE=Symbol("link"),d8=Symbol("symlink"),C8=Symbol("hardlink"),m8=Symbol("unsupported"),i$e=Symbol("unknown"),I8=Symbol("checkPath"),_c=Symbol("mkdir"),gi=Symbol("onError"),ME=Symbol("pending"),E8=Symbol("pend"),$c=Symbol("unpend"),Ox=Symbol("ended"),Kx=Symbol("maybeClose"),Tx=Symbol("skip"),ff=Symbol("doChown"),pf=Symbol("uid"),df=Symbol("gid"),y8=require("crypto"),B8=u8(),OE=()=>{throw new Error("sync function called cb somehow?!?")},zbe=(t,e)=>{if(process.platform!=="win32")return St.unlink(t,e);let r=t+".DELETE."+y8.randomBytes(16).toString("hex");St.rename(t,r,i=>{if(i)return e(i);St.unlink(r,e)})},Vbe=t=>{if(process.platform!=="win32")return St.unlinkSync(t);let e=t+".DELETE."+y8.randomBytes(16).toString("hex");St.renameSync(t,e),St.unlinkSync(e)},w8=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,KE=class extends jbe{constructor(e){if(e||(e={}),e.ondone=r=>{this[Ox]=!0,this[Kx]()},super(e),this.reservations=Wbe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[ME]=0,this[Ox]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=no.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[f8](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[Kx](){this[Ox]&&this[ME]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[I8](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(no.win32.isAbsolute(r)){let i=no.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=no.win32.parse(e.path);e.path=r.root===""?h8.encode(e.path):r.root+h8.encode(e.path.substr(r.root.length))}return no.isAbsolute(e.path)?e.absolute=e.path:e.absolute=no.resolve(this.cwd,e.path),!0}[f8](e){if(!this[I8](e))return e.resume();switch(Gbe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Rx](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[m8](e)}}[gi](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[$c](),r.resume())}[_c](e,r,i){Fx(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ff](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[pf](e){return w8(this.uid,e.uid,this.processUid)}[df](e){return w8(this.gid,e.gid,this.processGid)}[Nx](e,r){let i=e.mode&4095||this.fmode,n=new Jbe.WriteStream(e.absolute,{flags:B8(e.size),mode:i,autoClose:!1});n.on("error",l=>this[gi](l,e));let s=1,o=l=>{if(l)return this[gi](l,e);--s==0&&St.close(n.fd,c=>{r(),c?this[gi](c,e):this[$c]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,h=e.mtime;St.futimes(u,g,h,f=>f?St.utimes(c,g,h,p=>o(p&&f)):o())}if(this[ff](e)){s++;let g=this[pf](e),h=this[df](e);St.fchown(u,g,h,f=>f?St.chown(c,g,h,p=>o(p&&f)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[gi](l,e)),e.pipe(a)),a.pipe(n)}[Mx](e,r){let i=e.mode&4095||this.dmode;this[_c](e.absolute,i,n=>{if(n)return r(),this[gi](n,e);let s=1,o=a=>{--s==0&&(r(),this[$c](),e.resume())};e.mtime&&!this.noMtime&&(s++,St.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ff](e)&&(s++,St.chown(e.absolute,this[pf](e),this[df](e),o)),o()})}[m8](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[d8](e,r){this[NE](e,e.linkpath,"symlink",r)}[C8](e,r){this[NE](e,no.resolve(this.cwd,e.linkpath),"link",r)}[E8](){this[ME]++}[$c](){this[ME]--,this[Kx]()}[Tx](e){this[$c](),e.resume()}[Lx](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[Rx](e){this[E8]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[p8](e,i))}[p8](e,r){this[_c](no.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[gi](i,e);St.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[Tx](e),r()):n||this[Lx](e,s)?this[so](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[so](null,e,r):St.chmod(e.absolute,e.mode,o=>this[so](o,e,r)):St.rmdir(e.absolute,o=>this[so](o,e,r)):zbe(e.absolute,o=>this[so](o,e,r))})})}[so](e,r,i){if(e)return this[gi](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Nx](r,i);case"Link":return this[C8](r,i);case"SymbolicLink":return this[d8](r,i);case"Directory":case"GNUDumpDir":return this[Mx](r,i)}}[NE](e,r,i,n){St[i](r,e.absolute,s=>{if(s)return this[gi](s,e);n(),this[$c](),e.resume()})}},Q8=class extends KE{constructor(e){super(e)}[Rx](e){let r=this[_c](no.dirname(e.absolute),this.dmode,OE);if(r)return this[gi](r,e);try{let i=St.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[Tx](e);if(this[Lx](e,i))return this[so](null,e,OE);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&St.chmodSync(e.absolute,e.mode):St.rmdirSync(e.absolute):Vbe(e.absolute),this[so](null,e,OE)}catch(n){return this[gi](n,e)}}catch(i){return this[so](null,e,OE)}}[Nx](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{St.closeSync(o)}catch(u){c=u}(l||c)&&this[gi](l||c,e)},s,o;try{o=St.openSync(e.absolute,B8(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[gi](l,e)),e.pipe(a)),a.on("data",l=>{try{St.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{St.futimesSync(o,u,g)}catch(h){try{St.utimesSync(e.absolute,u,g)}catch(f){c=h}}}if(this[ff](e)){let u=this[pf](e),g=this[df](e);try{St.fchownSync(o,u,g)}catch(h){try{St.chownSync(e.absolute,u,g)}catch(f){c=c||h}}}n(c)})}[Mx](e,r){let i=e.mode&4095||this.dmode,n=this[_c](e.absolute,i);if(n)return this[gi](n,e);if(e.mtime&&!this.noMtime)try{St.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ff](e))try{St.chownSync(e.absolute,this[pf](e),this[df](e))}catch(s){}e.resume()}[_c](e,r){try{return Fx.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[NE](e,r,i,n){try{St[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[gi](s,e)}}};KE.Sync=Q8;g8.exports=KE});var P8=C((o$e,b8)=>{"use strict";var Xbe=Nc(),TE=Ux(),S8=require("fs"),D8=Wc(),x8=require("path"),s$e=b8.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=Xbe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Zbe(i,e),i.file&&i.sync?_be(i):i.file?$be(i,r):i.sync?eSe(i):tSe(i)},Zbe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||x8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(x8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_be=t=>{let e=new TE.Sync(t),r=t.file,i=!0,n,s=S8.statSync(r),o=t.maxReadSize||16*1024*1024;new D8.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},$be=(t,e)=>{let r=new TE(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),S8.stat(n,(l,c)=>{if(l)a(l);else{let u=new D8.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},eSe=t=>new TE.Sync(t),tSe=t=>new TE(t)});var k8=C(yr=>{"use strict";yr.c=yr.create=f4();yr.r=yr.replace=wx();yr.t=yr.list=kE();yr.u=yr.update=w4();yr.x=yr.extract=P8();yr.Pack=mE();yr.Unpack=Ux();yr.Parse=gf();yr.ReadEntry=of();yr.WriteEntry=ex();yr.Header=Tc();yr.Pax=nE();yr.types=sf()});var F8=C((A$e,Hx)=>{"use strict";var rSe=Object.prototype.hasOwnProperty,hi="~";function Cf(){}Object.create&&(Cf.prototype=Object.create(null),new Cf().__proto__||(hi=!1));function iSe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function v8(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new iSe(r,i||t,n),o=hi?hi+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function UE(t,e){--t._eventsCount==0?t._events=new Cf:delete t._events[e]}function Vr(){this._events=new Cf,this._eventsCount=0}Vr.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)rSe.call(r,i)&&e.push(hi?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Vr.prototype.listeners=function(e){var r=hi?hi+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";R8.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var M8=C((c$e,HE)=>{"use strict";var nSe=L8(),Yx=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},N8=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Yx(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);nSe(t.then(i,n),()=>{clearTimeout(s)})});HE.exports=N8;HE.exports.default=N8;HE.exports.TimeoutError=Yx});var O8=C(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});function sSe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}qx.default=sSe});var T8=C(Gx=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var oSe=O8(),K8=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=oSe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Gx.default=K8});var Y8=C(jx=>{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});var aSe=F8(),U8=M8(),ASe=T8(),YE=()=>{},lSe=new U8.TimeoutError,H8=class extends aSe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=YE,this._resolveIdle=YE,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:ASe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():U8.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(lSe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};jx.default=H8});var W8=C((p$e,J8)=>{var Wx;J8.exports.getContent=()=>(typeof Wx=="undefined"&&(Wx=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Wx)});var $8=C((zx,_8)=>{(function(t,e){typeof zx=="object"?_8.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(zx,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",h=0,f,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(y,b){b>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var I=e(s,c);I.forEach(function(y){f=++h===I.length,r(y,s[y],f,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var sz=C((K$e,Zx)=>{"use strict";var CSe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=CSe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};Zx.exports=nz;Zx.exports.default=nz});var Ao=C(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.default=gz;function gz(){}gz.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],h=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&h+1>=l)return o([{value:this.join(r),count:r.length}]);function f(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],b=g[m+1],x=(b?b.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1=a&&x+1>=l)return o(wSe(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();f()||m()},0)})();else for(;c<=u;){var p=f();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1f.length?m:f}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var h=e[o-1];return o>1&&typeof h.value=="string"&&(h.added||h.removed)&&t.equals("",h.value)&&(e[o-2].value+=h.value,e.pop()),e}function QSe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var fz=C(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});Ef.diffChars=bSe;Ef.characterDiff=void 0;var DSe=SSe(Ao());function SSe(t){return t&&t.__esModule?t:{default:t}}var hz=new DSe.default;Ef.characterDiff=hz;function bSe(t,e,r){return hz.diff(t,e,r)}});var cP=C(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.generateOptions=xSe;function xSe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var Cz=C(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.diffWords=PSe;iu.diffWordsWithSpace=kSe;iu.wordDiff=void 0;var FSe=vSe(Ao()),RSe=cP();function vSe(t){return t&&t.__esModule?t:{default:t}}var pz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,dz=/\S/,yf=new FSe.default;iu.wordDiff=yf;yf.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!dz.test(t)&&!dz.test(e)};yf.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.diffLines=LSe;nu.diffTrimmedLines=NSe;nu.lineDiff=void 0;var OSe=MSe(Ao()),KSe=cP();function MSe(t){return t&&t.__esModule?t:{default:t}}var zE=new OSe.default;nu.lineDiff=zE;zE.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Bf,"__esModule",{value:!0});Bf.diffSentences=TSe;Bf.sentenceDiff=void 0;var HSe=USe(Ao());function USe(t){return t&&t.__esModule?t:{default:t}}var uP=new HSe.default;Bf.sentenceDiff=uP;uP.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function TSe(t,e,r){return uP.diff(t,e,r)}});var Iz=C(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});wf.diffCss=YSe;wf.cssDiff=void 0;var GSe=qSe(Ao());function qSe(t){return t&&t.__esModule?t:{default:t}}var gP=new GSe.default;wf.cssDiff=gP;gP.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function YSe(t,e,r){return gP.diff(t,e,r)}});var yz=C(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.diffJson=jSe;su.canonicalize=XE;su.jsonDiff=void 0;var Ez=JSe(Ao()),WSe=VE();function JSe(t){return t&&t.__esModule?t:{default:t}}function ZE(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ZE=function(r){return typeof r}:ZE=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},ZE(t)}var zSe=Object.prototype.toString,el=new Ez.default;su.jsonDiff=el;el.useLongestToken=!0;el.tokenize=WSe.lineDiff.tokenize;el.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(XE(t,null,null,n),n," ")};el.equals=function(t,e){return Ez.default.prototype.equals.call(el,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jSe(t,e,r){return el.diff(t,e,r)}function XE(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.diffArrays=VSe;Qf.arrayDiff=void 0;var ZSe=XSe(Ao());function XSe(t){return t&&t.__esModule?t:{default:t}}var bf=new ZSe.default;Qf.arrayDiff=bf;bf.tokenize=function(t){return t.slice()};bf.join=bf.removeEmpty=function(t){return t};function VSe(t,e,r){return bf.diff(t,e,r)}});var _E=C(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.parsePatch=_Se;function _Se(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});fP.default=$Se;function $Se(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var Sz=C($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.applyPatch=Qz;$E.applyPatches=eDe;var bz=_E(),rDe=tDe(wz());function tDe(t){return t&&t.__esModule?t:{default:t}}function Qz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,bz.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(H,R,Pe,Le){return R===Le},a=0,l=r.fuzzFactor||0,c=0,u=0,g,h;function f(H,R){for(var Pe=0;Pe0?Le[0]:" ",Ke=Le.length>0?Le.substr(1):Le;if(Ge===" "||Ge==="-"){if(!o(R+1,i[R],Ge,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=U.linedelimiters[J];if(K===" ")v++;else if(K==="-")i.splice(v,1),n.splice(v,1);else if(K==="+")i.splice(v,0,A),n.splice(v,0,W),v++;else if(K==="\\"){var $=U.lines[J-1]?U.lines[J-1][0]:null;$==="+"?g=!0:$==="-"&&(h=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else h&&(i.push(""),n.push(` -`));for(var re=0;re{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.structuredPatch=Dz;Sf.createTwoFilesPatch=xz;Sf.createPatch=iDe;var nDe=VE();function pP(t){return aDe(t)||oDe(t)||sDe()}function sDe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function oDe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function aDe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(U.lines.slice(-o.context)):[],u-=h.length,g-=h.length)}(N=h).push.apply(N,pP(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:f+=F.length}else{if(u)if(F.length<=o.context*2&&b=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),$=F.length==0&&h.length>K.oldLines;!A&&$&&h.splice(K.oldLines,0,"\\ No newline at end of file"),(!A&&!$||!W)&&h.push("\\ No newline at end of file")}c.push(K),u=0,g=0,h=[]}f+=F.length,p+=F.length}},I=0;I=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Jq((r-55296)*1024+i-56320+65536),s++;continue}n=zr[r],e+=!n&&vc(r)?t[s]:n||Jq(r)}return e}function rwe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!FA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function swe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,h;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new zh("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Vh===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,g&&(h+=fS(t,e)),!!FA(t,e+1,u,!0,g)&&(t.dump&&Vh===t.dump.charCodeAt(0)?h+=":":h+=": ",h+=t.dump,n+=h));t.tag=s,t.dump=n||"{}"}function iJ(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function FA(t,e,r,i,n,s){t.tag=null,t.dump=r,iJ(t,r,!1)||iJ(t,r,!0);var o=Oq.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(swe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(nwe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(iwe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(rwe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&twe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new zh("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function owe(t,e){var r=[],i=[],n,s;for(dS(t,r,i),n=0,s=i.length;n{"use strict";var MI=Mq(),oJ=sJ();function OI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Er();_t.exports.Schema=PA();_t.exports.FAILSAFE_SCHEMA=PI();_t.exports.JSON_SCHEMA=aS();_t.exports.CORE_SCHEMA=AS();_t.exports.DEFAULT_SAFE_SCHEMA=Dc();_t.exports.DEFAULT_FULL_SCHEMA=qh();_t.exports.load=MI.load;_t.exports.loadAll=MI.loadAll;_t.exports.safeLoad=MI.safeLoad;_t.exports.safeLoadAll=MI.safeLoadAll;_t.exports.dump=oJ.dump;_t.exports.safeDump=oJ.safeDump;_t.exports.YAMLException=Qc();_t.exports.MINIMAL_SCHEMA=PI();_t.exports.SAFE_SCHEMA=Dc();_t.exports.DEFAULT_SCHEMA=qh();_t.exports.scan=OI("scan");_t.exports.parse=OI("parse");_t.exports.compose=OI("compose");_t.exports.addConstructor=OI("addConstructor")});var lJ=C((LXe,AJ)=>{"use strict";var Awe=aJ();AJ.exports=Awe});var uJ=C((NXe,cJ)=>{"use strict";function lwe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function RA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,RA)}lwe(RA,Error);RA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,h=1;g({[ye]:j})))},N=function(S){return S},K=function(S){return S},v=So("correct indentation"),J=" ",oe=Ot(" ",!1),T=function(S){return S.length===xl*gC},A=function(S){return S.length===(xl+1)*gC},W=function(){return xl++,!0},ee=function(){return xl--,!0},re=function(){return rC()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ke=Xn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Le=/^[^\r\n\t ,\][{}:#"']/,qe=Xn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return rC().replace(/^ *| *$/g,"")},ie="--",ce=Ot("--",!1),Se=/^[a-zA-Z\/0-9]/,he=Xn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=Xn(["\r",` +`," "," ",":",","],!0,!1),Qe="null",Z=Ot("null",!1),X=function(){return null},ae="true",ue=Ot("true",!1),we=function(){return!0},lt="false",Ct=Ot("false",!1),xt=function(){return!1},xn=So("string"),Ii='"',Xt=Ot('"',!1),_i=function(){return""},Vn=function(S){return S},rg=function(S){return S.join("")},Gd=/^[^"\\\0-\x1F\x7F]/,Ps=Xn(['"',"\\",["\0",""],"\x7F"],!0,!1),ig='\\"',jd=Ot('\\"',!1),qB=function(){return'"'},ng="\\\\",qd=Ot("\\\\",!1),Jd=function(){return"\\"},Wd="\\/",JB=Ot("\\/",!1),WB=function(){return"/"},sg="\\b",zB=Ot("\\b",!1),VB=function(){return"\b"},zd="\\f",XB=Ot("\\f",!1),_=function(){return"\f"},ks="\\n",$i=Ot("\\n",!1),en=function(){return` +`},og="\\r",Vd=Ot("\\r",!1),Ql=function(){return"\r"},ag="\\t",Xd=Ot("\\t",!1),Ag=function(){return" "},bl="\\u",lg=Ot("\\u",!1),cg=function(S,U,j,ye){return String.fromCharCode(parseInt(`0x${S}${U}${j}${ye}`))},ZB=/^[0-9a-fA-F]/,_B=Xn([["0","9"],["a","f"],["A","F"]],!1,!1),$B=So("blank space"),Zd=/^[ \t]/,_d=Xn([" "," "],!1,!1),ew=So("white space"),$d=/^[ \t\n\r]/,eC=Xn([" "," ",` +`,"\r"],!1,!1),tC=`\r +`,tw=Ot(`\r +`,!1),rw=` +`,iw=Ot(` +`,!1),nw="\r",sw=Ot("\r",!1),O=0,rt=0,Dl=[{line:1,column:1}],Ki=0,ug=[],Oe=0,Ka;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function rC(){return t.substring(rt,O)}function pL(){return xo(rt,O)}function Ta(S,U){throw U=U!==void 0?U:xo(rt,O),oC([So(S)],t.substring(rt,O),U)}function iC(S,U){throw U=U!==void 0?U:xo(rt,O),aw(S,U)}function Ot(S,U){return{type:"literal",text:S,ignoreCase:U}}function Xn(S,U,j){return{type:"class",parts:S,inverted:U,ignoreCase:j}}function ow(){return{type:"any"}}function nC(){return{type:"end"}}function So(S){return{type:"other",description:S}}function sC(S){var U=Dl[S],j;if(U)return U;for(j=S-1;!Dl[j];)j--;for(U=Dl[j],U={line:U.line,column:U.column};jKi&&(Ki=O,ug=[]),ug.push(S))}function aw(S,U){return new RA(S,null,null,U)}function oC(S,U,j){return new RA(RA.buildMessage(S,U),S,U,j)}function aC(){var S;return S=hg(),S}function AC(){var S,U,j;for(S=O,U=[],j=gg();j!==r;)U.push(j),j=gg();return U!==r&&(rt=S,U=s(U)),S=U,S}function gg(){var S,U,j,ye,Ce;return S=O,U=Ha(),U!==r?(t.charCodeAt(O)===45?(j=o,O++):(j=r,Oe===0&&ze(a)),j!==r?(ye=fr(),ye!==r?(Ce=Ua(),Ce!==r?(rt=S,U=l(Ce),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r),S}function hg(){var S,U,j;for(S=O,U=[],j=fg();j!==r;)U.push(j),j=fg();return U!==r&&(rt=S,U=c(U)),S=U,S}function fg(){var S,U,j,ye,Ce,Me,tt,Kt,Rs;if(S=O,U=fr(),U===r&&(U=null),U!==r){if(j=O,t.charCodeAt(O)===35?(ye=u,O++):(ye=r,Oe===0&&ze(g)),ye!==r){if(Ce=[],Me=O,tt=O,Oe++,Kt=Fs(),Oe--,Kt===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Kt=t.charAt(O),O++):(Kt=r,Oe===0&&ze(h)),Kt!==r?(tt=[tt,Kt],Me=tt):(O=Me,Me=r)):(O=Me,Me=r),Me!==r)for(;Me!==r;)Ce.push(Me),Me=O,tt=O,Oe++,Kt=Fs(),Oe--,Kt===r?tt=void 0:(O=tt,tt=r),tt!==r?(t.length>O?(Kt=t.charAt(O),O++):(Kt=r,Oe===0&&ze(h)),Kt!==r?(tt=[tt,Kt],Me=tt):(O=Me,Me=r)):(O=Me,Me=r);else Ce=r;Ce!==r?(ye=[ye,Ce],j=ye):(O=j,j=r)}else O=j,j=r;if(j===r&&(j=null),j!==r){if(ye=[],Ce=Hr(),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=Hr();else ye=r;ye!==r?(rt=S,U=f(),S=U):(O=S,S=r)}else O=S,S=r}else O=S,S=r;if(S===r&&(S=O,U=Ha(),U!==r?(j=uC(),j!==r?(ye=fr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&ze(m)),Ce!==r?(Me=fr(),Me===r&&(Me=null),Me!==r?(tt=Ua(),tt!==r?(rt=S,U=I(j,tt),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r),S===r&&(S=O,U=Ha(),U!==r?(j=Po(),j!==r?(ye=fr(),ye===r&&(ye=null),ye!==r?(t.charCodeAt(O)===58?(Ce=p,O++):(Ce=r,Oe===0&&ze(m)),Ce!==r?(Me=fr(),Me===r&&(Me=null),Me!==r?(tt=Ua(),tt!==r?(rt=S,U=I(j,tt),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r),S===r))){if(S=O,U=Ha(),U!==r)if(j=Po(),j!==r)if(ye=fr(),ye!==r)if(Ce=Ne(),Ce!==r){if(Me=[],tt=Hr(),tt!==r)for(;tt!==r;)Me.push(tt),tt=Hr();else Me=r;Me!==r?(rt=S,U=I(j,Ce),S=U):(O=S,S=r)}else O=S,S=r;else O=S,S=r;else O=S,S=r;else O=S,S=r;if(S===r)if(S=O,U=Ha(),U!==r)if(j=Po(),j!==r){if(ye=[],Ce=O,Me=fr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&ze(w)),tt!==r?(Kt=fr(),Kt===r&&(Kt=null),Kt!==r?(Rs=Po(),Rs!==r?(rt=Ce,Me=x(j,Rs),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r),Ce!==r)for(;Ce!==r;)ye.push(Ce),Ce=O,Me=fr(),Me===r&&(Me=null),Me!==r?(t.charCodeAt(O)===44?(tt=y,O++):(tt=r,Oe===0&&ze(w)),tt!==r?(Kt=fr(),Kt===r&&(Kt=null),Kt!==r?(Rs=Po(),Rs!==r?(rt=Ce,Me=x(j,Rs),Ce=Me):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r)):(O=Ce,Ce=r);else ye=r;ye!==r?(Ce=fr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(O)===58?(Me=p,O++):(Me=r,Oe===0&&ze(m)),Me!==r?(tt=fr(),tt===r&&(tt=null),tt!==r?(Kt=Ua(),Kt!==r?(rt=S,U=F(j,ye,Kt),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)}else O=S,S=r;else O=S,S=r}return S}function Ua(){var S,U,j,ye,Ce,Me,tt;if(S=O,U=O,Oe++,j=O,ye=Fs(),ye!==r?(Ce=Aw(),Ce!==r?(t.charCodeAt(O)===45?(Me=o,O++):(Me=r,Oe===0&&ze(a)),Me!==r?(tt=fr(),tt!==r?(ye=[ye,Ce,Me,tt],j=ye):(O=j,j=r)):(O=j,j=r)):(O=j,j=r)):(O=j,j=r),Oe--,j!==r?(O=U,U=void 0):U=r,U!==r?(j=Hr(),j!==r?(ye=lC(),ye!==r?(Ce=AC(),Ce!==r?(Me=cC(),Me!==r?(rt=S,U=N(Ce),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r),S===r&&(S=O,U=Fs(),U!==r?(j=lC(),j!==r?(ye=hg(),ye!==r?(Ce=cC(),Ce!==r?(rt=S,U=N(ye),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r),S===r))if(S=O,U=b(),U!==r){if(j=[],ye=Hr(),ye!==r)for(;ye!==r;)j.push(ye),ye=Hr();else j=r;j!==r?(rt=S,U=K(U),S=U):(O=S,S=r)}else O=S,S=r;return S}function Ha(){var S,U,j;for(Oe++,S=O,U=[],t.charCodeAt(O)===32?(j=J,O++):(j=r,Oe===0&&ze(oe));j!==r;)U.push(j),t.charCodeAt(O)===32?(j=J,O++):(j=r,Oe===0&&ze(oe));return U!==r?(rt=O,j=T(U),j?j=void 0:j=r,j!==r?(U=[U,j],S=U):(O=S,S=r)):(O=S,S=r),Oe--,S===r&&(U=r,Oe===0&&ze(v)),S}function Aw(){var S,U,j;for(S=O,U=[],t.charCodeAt(O)===32?(j=J,O++):(j=r,Oe===0&&ze(oe));j!==r;)U.push(j),t.charCodeAt(O)===32?(j=J,O++):(j=r,Oe===0&&ze(oe));return U!==r?(rt=O,j=A(U),j?j=void 0:j=r,j!==r?(U=[U,j],S=U):(O=S,S=r)):(O=S,S=r),S}function lC(){var S;return rt=O,S=W(),S?S=void 0:S=r,S}function cC(){var S;return rt=O,S=ee(),S?S=void 0:S=r,S}function uC(){var S;return S=vs(),S===r&&(S=Ya()),S}function Po(){var S,U,j;if(S=vs(),S===r){if(S=O,U=[],j=Ei(),j!==r)for(;j!==r;)U.push(j),j=Ei();else U=r;U!==r&&(rt=S,U=re()),S=U}return S}function b(){var S;return S=Sl(),S===r&&(S=be(),S===r&&(S=vs(),S===r&&(S=Ya()))),S}function Ne(){var S;return S=Sl(),S===r&&(S=vs(),S===r&&(S=Ei())),S}function Ya(){var S,U,j,ye,Ce,Me;if(Oe++,S=O,R.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Oe===0&&ze(ke)),U!==r){for(j=[],ye=O,Ce=fr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&ze(qe)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)j.push(ye),ye=O,Ce=fr(),Ce===r&&(Ce=null),Ce!==r?(Le.test(t.charAt(O))?(Me=t.charAt(O),O++):(Me=r,Oe===0&&ze(qe)),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);j!==r?(rt=S,U=Ke(),S=U):(O=S,S=r)}else O=S,S=r;return Oe--,S===r&&(U=r,Oe===0&&ze(H)),S}function Ei(){var S,U,j,ye,Ce;if(S=O,t.substr(O,2)===ie?(U=ie,O+=2):(U=r,Oe===0&&ze(ce)),U===r&&(U=null),U!==r)if(Se.test(t.charAt(O))?(j=t.charAt(O),O++):(j=r,Oe===0&&ze(he)),j!==r){for(ye=[],Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&ze(pe));Ce!==r;)ye.push(Ce),Ie.test(t.charAt(O))?(Ce=t.charAt(O),O++):(Ce=r,Oe===0&&ze(pe));ye!==r?(rt=S,U=Ke(),S=U):(O=S,S=r)}else O=S,S=r;else O=S,S=r;return S}function Sl(){var S,U;return S=O,t.substr(O,4)===Qe?(U=Qe,O+=4):(U=r,Oe===0&&ze(Z)),U!==r&&(rt=S,U=X()),S=U,S}function be(){var S,U;return S=O,t.substr(O,4)===ae?(U=ae,O+=4):(U=r,Oe===0&&ze(ue)),U!==r&&(rt=S,U=we()),S=U,S===r&&(S=O,t.substr(O,5)===lt?(U=lt,O+=5):(U=r,Oe===0&&ze(Ct)),U!==r&&(rt=S,U=xt()),S=U),S}function vs(){var S,U,j,ye;return Oe++,S=O,t.charCodeAt(O)===34?(U=Ii,O++):(U=r,Oe===0&&ze(Xt)),U!==r?(t.charCodeAt(O)===34?(j=Ii,O++):(j=r,Oe===0&&ze(Xt)),j!==r?(rt=S,U=_i(),S=U):(O=S,S=r)):(O=S,S=r),S===r&&(S=O,t.charCodeAt(O)===34?(U=Ii,O++):(U=r,Oe===0&&ze(Xt)),U!==r?(j=lw(),j!==r?(t.charCodeAt(O)===34?(ye=Ii,O++):(ye=r,Oe===0&&ze(Xt)),ye!==r?(rt=S,U=Vn(j),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)),Oe--,S===r&&(U=r,Oe===0&&ze(xn)),S}function lw(){var S,U,j;if(S=O,U=[],j=cw(),j!==r)for(;j!==r;)U.push(j),j=cw();else U=r;return U!==r&&(rt=S,U=rg(U)),S=U,S}function cw(){var S,U,j,ye,Ce,Me;return Gd.test(t.charAt(O))?(S=t.charAt(O),O++):(S=r,Oe===0&&ze(Ps)),S===r&&(S=O,t.substr(O,2)===ig?(U=ig,O+=2):(U=r,Oe===0&&ze(jd)),U!==r&&(rt=S,U=qB()),S=U,S===r&&(S=O,t.substr(O,2)===ng?(U=ng,O+=2):(U=r,Oe===0&&ze(qd)),U!==r&&(rt=S,U=Jd()),S=U,S===r&&(S=O,t.substr(O,2)===Wd?(U=Wd,O+=2):(U=r,Oe===0&&ze(JB)),U!==r&&(rt=S,U=WB()),S=U,S===r&&(S=O,t.substr(O,2)===sg?(U=sg,O+=2):(U=r,Oe===0&&ze(zB)),U!==r&&(rt=S,U=VB()),S=U,S===r&&(S=O,t.substr(O,2)===zd?(U=zd,O+=2):(U=r,Oe===0&&ze(XB)),U!==r&&(rt=S,U=_()),S=U,S===r&&(S=O,t.substr(O,2)===ks?(U=ks,O+=2):(U=r,Oe===0&&ze($i)),U!==r&&(rt=S,U=en()),S=U,S===r&&(S=O,t.substr(O,2)===og?(U=og,O+=2):(U=r,Oe===0&&ze(Vd)),U!==r&&(rt=S,U=Ql()),S=U,S===r&&(S=O,t.substr(O,2)===ag?(U=ag,O+=2):(U=r,Oe===0&&ze(Xd)),U!==r&&(rt=S,U=Ag()),S=U,S===r&&(S=O,t.substr(O,2)===bl?(U=bl,O+=2):(U=r,Oe===0&&ze(lg)),U!==r?(j=pg(),j!==r?(ye=pg(),ye!==r?(Ce=pg(),Ce!==r?(Me=pg(),Me!==r?(rt=S,U=cg(j,ye,Ce,Me),S=U):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)):(O=S,S=r)))))))))),S}function pg(){var S;return ZB.test(t.charAt(O))?(S=t.charAt(O),O++):(S=r,Oe===0&&ze(_B)),S}function fr(){var S,U;if(Oe++,S=[],Zd.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Oe===0&&ze(_d)),U!==r)for(;U!==r;)S.push(U),Zd.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Oe===0&&ze(_d));else S=r;return Oe--,S===r&&(U=r,Oe===0&&ze($B)),S}function ft(){var S,U;if(Oe++,S=[],$d.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Oe===0&&ze(eC)),U!==r)for(;U!==r;)S.push(U),$d.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Oe===0&&ze(eC));else S=r;return Oe--,S===r&&(U=r,Oe===0&&ze(ew)),S}function Hr(){var S,U,j,ye,Ce,Me;if(S=O,U=Fs(),U!==r){for(j=[],ye=O,Ce=fr(),Ce===r&&(Ce=null),Ce!==r?(Me=Fs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);ye!==r;)j.push(ye),ye=O,Ce=fr(),Ce===r&&(Ce=null),Ce!==r?(Me=Fs(),Me!==r?(Ce=[Ce,Me],ye=Ce):(O=ye,ye=r)):(O=ye,ye=r);j!==r?(U=[U,j],S=U):(O=S,S=r)}else O=S,S=r;return S}function Fs(){var S;return t.substr(O,2)===tC?(S=tC,O+=2):(S=r,Oe===0&&ze(tw)),S===r&&(t.charCodeAt(O)===10?(S=rw,O++):(S=r,Oe===0&&ze(iw)),S===r&&(t.charCodeAt(O)===13?(S=nw,O++):(S=r,Oe===0&&ze(sw)))),S}let gC=2,xl=0;if(Ka=n(),Ka!==r&&O===t.length)return Ka;throw Ka!==r&&O{var bwe=typeof global=="object"&&global&&global.Object===Object&&global;MJ.exports=bwe});var Tn=C((cZe,OJ)=>{var Dwe=QS(),Swe=typeof self=="object"&&self&&self.Object===Object&&self,xwe=Dwe||Swe||Function("return this")();OJ.exports=xwe});var MA=C((uZe,KJ)=>{var Pwe=Tn(),kwe=Pwe.Symbol;KJ.exports=kwe});var UJ=C((gZe,TJ)=>{function vwe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var Fwe=Array.isArray;HJ.exports=Fwe});var qJ=C((fZe,YJ)=>{var GJ=MA(),jJ=Object.prototype,Rwe=jJ.hasOwnProperty,Lwe=jJ.toString,tf=GJ?GJ.toStringTag:void 0;function Nwe(t){var e=Rwe.call(t,tf),r=t[tf];try{t[tf]=void 0;var i=!0}catch(s){}var n=Lwe.call(t);return i&&(e?t[tf]=r:delete t[tf]),n}YJ.exports=Nwe});var WJ=C((pZe,JJ)=>{var Mwe=Object.prototype,Owe=Mwe.toString;function Kwe(t){return Owe.call(t)}JJ.exports=Kwe});var OA=C((dZe,zJ)=>{var VJ=MA(),Twe=qJ(),Uwe=WJ(),Hwe="[object Null]",Ywe="[object Undefined]",XJ=VJ?VJ.toStringTag:void 0;function Gwe(t){return t==null?t===void 0?Ywe:Hwe:XJ&&XJ in Object(t)?Twe(t):Uwe(t)}zJ.exports=Gwe});var cs=C((CZe,ZJ)=>{function jwe(t){return t!=null&&typeof t=="object"}ZJ.exports=jwe});var JI=C((mZe,_J)=>{var qwe=OA(),Jwe=cs(),Wwe="[object Symbol]";function zwe(t){return typeof t=="symbol"||Jwe(t)&&qwe(t)==Wwe}_J.exports=zwe});var nW=C((IZe,$J)=>{var eW=MA(),Vwe=UJ(),Xwe=dn(),Zwe=JI(),_we=1/0,tW=eW?eW.prototype:void 0,rW=tW?tW.toString:void 0;function iW(t){if(typeof t=="string")return t;if(Xwe(t))return Vwe(t,iW)+"";if(Zwe(t))return rW?rW.call(t):"";var e=t+"";return e=="0"&&1/t==-_we?"-0":e}$J.exports=iW});var Rc=C((EZe,sW)=>{var $we=nW();function eQe(t){return t==null?"":$we(t)}sW.exports=eQe});var bS=C((yZe,oW)=>{function tQe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var rQe=bS();function iQe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:rQe(t,e,r)}aW.exports=iQe});var DS=C((wZe,lW)=>{var nQe="\\ud800-\\udfff",sQe="\\u0300-\\u036f",oQe="\\ufe20-\\ufe2f",aQe="\\u20d0-\\u20ff",AQe=sQe+oQe+aQe,lQe="\\ufe0e\\ufe0f",cQe="\\u200d",uQe=RegExp("["+cQe+nQe+AQe+lQe+"]");function gQe(t){return uQe.test(t)}lW.exports=gQe});var uW=C((QZe,cW)=>{function hQe(t){return t.split("")}cW.exports=hQe});var IW=C((bZe,gW)=>{var hW="\\ud800-\\udfff",fQe="\\u0300-\\u036f",pQe="\\ufe20-\\ufe2f",dQe="\\u20d0-\\u20ff",CQe=fQe+pQe+dQe,mQe="\\ufe0e\\ufe0f",IQe="["+hW+"]",SS="["+CQe+"]",xS="\\ud83c[\\udffb-\\udfff]",EQe="(?:"+SS+"|"+xS+")",fW="[^"+hW+"]",pW="(?:\\ud83c[\\udde6-\\uddff]){2}",dW="[\\ud800-\\udbff][\\udc00-\\udfff]",yQe="\\u200d",CW=EQe+"?",mW="["+mQe+"]?",BQe="(?:"+yQe+"(?:"+[fW,pW,dW].join("|")+")"+mW+CW+")*",wQe=mW+CW+BQe,QQe="(?:"+[fW+SS+"?",SS,pW,dW,IQe].join("|")+")",bQe=RegExp(xS+"(?="+xS+")|"+QQe+wQe,"g");function DQe(t){return t.match(bQe)||[]}gW.exports=DQe});var yW=C((DZe,EW)=>{var SQe=uW(),xQe=DS(),PQe=IW();function kQe(t){return xQe(t)?PQe(t):SQe(t)}EW.exports=kQe});var wW=C((SZe,BW)=>{var vQe=AW(),FQe=DS(),RQe=yW(),LQe=Rc();function NQe(t){return function(e){e=LQe(e);var r=FQe(e)?RQe(e):void 0,i=r?r[0]:e.charAt(0),n=r?vQe(r,1).join(""):e.slice(1);return i[t]()+n}}BW.exports=NQe});var bW=C((xZe,QW)=>{var MQe=wW(),OQe=MQe("toUpperCase");QW.exports=OQe});var PS=C((PZe,DW)=>{var KQe=Rc(),TQe=bW();function UQe(t){return TQe(KQe(t).toLowerCase())}DW.exports=UQe});var xW=C((kZe,SW)=>{"use strict";SW.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var WI=C((vZe,kS)=>{"use strict";var HQe=xW(),PW=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=HQe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};kS.exports=PW;kS.exports.default=PW});var MW=C((YZe,XI)=>{function YQe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,h=12,f=13,p=14,m=15,I=16,y=17,w=0,x=1,F=2,N=3,K=4;function v(A,W){return 55296<=A.charCodeAt(W)&&A.charCodeAt(W)<=56319&&56320<=A.charCodeAt(W+1)&&A.charCodeAt(W+1)<=57343}function J(A,W){W===void 0&&(W=0);var ee=A.charCodeAt(W);if(55296<=ee&&ee<=56319&&W=1){var re=A.charCodeAt(W-1),H=ee;return 55296<=re&&re<=56319?(re-55296)*1024+(H-56320)+65536:H}return ee}function oe(A,W,ee){var re=[A].concat(W).concat([ee]),H=re[re.length-2],R=ee,ke=re.lastIndexOf(p);if(ke>1&&re.slice(1,ke).every(function(Ke){return Ke==i})&&[i,f,y].indexOf(A)==-1)return F;var Le=re.lastIndexOf(n);if(Le>0&&re.slice(1,Le).every(function(Ke){return Ke==n})&&[h,n].indexOf(H)==-1)return re.filter(function(Ke){return Ke==n}).length%2==1?N:K;if(H==t&&R==e)return w;if(H==r||H==t||H==e)return R==p&&W.every(function(Ke){return Ke==i})?F:x;if(R==r||R==t||R==e)return x;if(H==o&&(R==o||R==a||R==c||R==u))return w;if((H==c||H==a)&&(R==a||R==l))return w;if((H==u||H==l)&&R==l)return w;if(R==i||R==m)return w;if(R==s)return w;if(H==h)return w;var qe=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[f,y].indexOf(re[qe])!=-1&&re.slice(qe+1,-1).every(function(Ke){return Ke==i})&&R==p||H==m&&[I,y].indexOf(R)!=-1?w:W.indexOf(n)!=-1?F:H==n&&R==n?w:x}this.nextBreak=function(A,W){if(W===void 0&&(W=0),W<0)return 0;if(W>=A.length-1)return A.length;for(var ee=T(J(A,W)),re=[],H=W+1;H{var GQe=MW(),jQe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,qQe=new GQe;OW.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(jQe)||[t,t,void 0],l=qQe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var Nc=C((p_e,ZW)=>{"use strict";var _W=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),f_e=ZW.exports=t=>t?Object.keys(t).map(e=>[_W.has(e)?_W.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Mc=C((d_e,$W)=>{"use strict";var s0e=require("events"),e3=require("stream"),sf=oh(),t3=require("string_decoder").StringDecoder,no=Symbol("EOF"),of=Symbol("maybeEmitEnd"),oa=Symbol("emittedEnd"),eE=Symbol("emittingEnd"),tE=Symbol("closed"),r3=Symbol("read"),LS=Symbol("flush"),i3=Symbol("flushChunk"),vi=Symbol("encoding"),so=Symbol("decoder"),rE=Symbol("flowing"),af=Symbol("paused"),Af=Symbol("resume"),fi=Symbol("bufferLength"),n3=Symbol("bufferPush"),NS=Symbol("bufferShift"),Xr=Symbol("objectMode"),Zr=Symbol("destroyed"),s3=global._MP_NO_ITERATOR_SYMBOLS_!=="1",o0e=s3&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),a0e=s3&&Symbol.iterator||Symbol("iterator not implemented"),o3=t=>t==="end"||t==="finish"||t==="prefinish",A0e=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,l0e=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);$W.exports=class a3 extends e3{constructor(e){super();this[rE]=!1,this[af]=!1,this.pipes=new sf,this.buffer=new sf,this[Xr]=e&&e.objectMode||!1,this[Xr]?this[vi]=null:this[vi]=e&&e.encoding||null,this[vi]==="buffer"&&(this[vi]=null),this[so]=this[vi]?new t3(this[vi]):null,this[no]=!1,this[oa]=!1,this[eE]=!1,this[tE]=!1,this.writable=!0,this.readable=!0,this[fi]=0,this[Zr]=!1}get bufferLength(){return this[fi]}get encoding(){return this[vi]}set encoding(e){if(this[Xr])throw new Error("cannot set encoding in objectMode");if(this[vi]&&e!==this[vi]&&(this[so]&&this[so].lastNeed||this[fi]))throw new Error("cannot change encoding");this[vi]!==e&&(this[so]=e?new t3(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[so].write(r)))),this[vi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Xr]}set objectMode(e){this[Xr]=this[Xr]||!!e}write(e,r,i){if(this[no])throw new Error("write after end");return this[Zr]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Xr]&&!Buffer.isBuffer(e)&&(l0e(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):A0e(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[fi]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Xr]&&!(r===this[vi]&&!this[so].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[vi]&&(e=this[so].write(e)),this.flowing?(this[fi]!==0&&this[LS](!0),this.emit("data",e)):this[n3](e),this[fi]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Zr])return null;try{return this[fi]===0||e===0||e>this[fi]?null:(this[Xr]&&(e=null),this.buffer.length>1&&!this[Xr]&&(this.encoding?this.buffer=new sf([Array.from(this.buffer).join("")]):this.buffer=new sf([Buffer.concat(Array.from(this.buffer),this[fi])])),this[r3](e||null,this.buffer.head.value))}finally{this[of]()}}[r3](e,r){return e===r.length||e===null?this[NS]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[fi]-=e),this.emit("data",r),!this.buffer.length&&!this[no]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[no]=!0,this.writable=!1,(this.flowing||!this[af])&&this[of](),this}[Af](){this[Zr]||(this[af]=!1,this[rE]=!0,this.emit("resume"),this.buffer.length?this[LS]():this[no]?this[of]():this.emit("drain"))}resume(){return this[Af]()}pause(){this[rE]=!1,this[af]=!0}get destroyed(){return this[Zr]}get flowing(){return this[rE]}get paused(){return this[af]}[n3](e){return this[Xr]?this[fi]+=1:this[fi]+=e.length,this.buffer.push(e)}[NS](){return this.buffer.length&&(this[Xr]?this[fi]-=1:this[fi]-=this.buffer.head.value.length),this.buffer.shift()}[LS](e){do;while(this[i3](this[NS]()));!e&&!this.buffer.length&&!this[no]&&this.emit("drain")}[i3](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Zr])return;let i=this[oa];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[Af]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[Af](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[Af]():o3(e)&&this[oa]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[oa]}[of](){!this[eE]&&!this[oa]&&!this[Zr]&&this.buffer.length===0&&this[no]&&(this[eE]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[tE]&&this.emit("close"),this[eE]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Zr&&this[Zr])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[oa]===!0)return;this[oa]=!0,this.readable=!1,this[so]&&(r=this[so].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[tE]=!0,!this[oa]&&!this[Zr]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Xr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this[vi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Zr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[o0e](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[no])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[no]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Zr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[a0e](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Zr]?(e?this.emit("error",e):this.emit(Zr),this):(this[Zr]=!0,this.buffer=new sf,this[fi]=0,typeof this.close=="function"&&!this[tE]&&this.close(),e?this.emit("error",e):this.emit(Zr),this)}static isStream(e){return!!e&&(e instanceof a3||e instanceof e3||e instanceof s0e&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var l3=C((C_e,A3)=>{var c0e=require("zlib").constants||{ZLIB_VERNUM:4736};A3.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},c0e))});var jS=C(Ji=>{"use strict";var MS=require("assert"),aa=require("buffer").Buffer,c3=require("zlib"),KA=Ji.constants=l3(),u0e=Mc(),u3=aa.concat,TA=Symbol("_superWrite"),lf=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},g0e=Symbol("opts"),cf=Symbol("flushFlag"),g3=Symbol("finishFlushFlag"),OS=Symbol("fullFlushFlag"),Rt=Symbol("handle"),iE=Symbol("onError"),Oc=Symbol("sawError"),KS=Symbol("level"),TS=Symbol("strategy"),US=Symbol("ended"),m_e=Symbol("_defaultFullFlush"),HS=class extends u0e{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[Oc]=!1,this[US]=!1,this[g0e]=e,this[cf]=e.flush,this[g3]=e.finishFlush;try{this[Rt]=new c3[r](e)}catch(i){throw new lf(i)}this[iE]=i=>{this[Oc]||(this[Oc]=!0,this.close(),this.emit("error",i))},this[Rt].on("error",i=>this[iE](new lf(i))),this.once("end",()=>this.close)}close(){this[Rt]&&(this[Rt].close(),this[Rt]=null,this.emit("close"))}reset(){if(!this[Oc])return MS(this[Rt],"zlib binding closed"),this[Rt].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[OS]),this.write(Object.assign(aa.alloc(0),{[cf]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[g3]),this[US]=!0,super.end(null,null,i)}get ended(){return this[US]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=aa.from(e,r)),this[Oc])return;MS(this[Rt],"zlib binding closed");let n=this[Rt]._handle,s=n.close;n.close=()=>{};let o=this[Rt].close;this[Rt].close=()=>{},aa.concat=c=>c;let a;try{let c=typeof e[cf]=="number"?e[cf]:this[cf];a=this[Rt]._processChunk(e,c),aa.concat=u3}catch(c){aa.concat=u3,this[iE](new lf(c))}finally{this[Rt]&&(this[Rt]._handle=n,n.close=s,this[Rt].close=o,this[Rt].removeAllListeners("error"))}this[Rt]&&this[Rt].on("error",c=>this[iE](new lf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[TA](aa.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Rt].params(e,r)}finally{this[Rt].flush=i}this[Rt]&&(this[KS]=e,this[TS]=r)}}}},h3=class extends Aa{constructor(e){super(e,"Deflate")}},f3=class extends Aa{constructor(e){super(e,"Inflate")}},YS=Symbol("_portable"),p3=class extends Aa{constructor(e){super(e,"Gzip");this[YS]=e&&!!e.portable}[TA](e){return this[YS]?(this[YS]=!1,e[9]=255,super[TA](e)):super[TA](e)}},d3=class extends Aa{constructor(e){super(e,"Gunzip")}},C3=class extends Aa{constructor(e){super(e,"DeflateRaw")}},m3=class extends Aa{constructor(e){super(e,"InflateRaw")}},I3=class extends Aa{constructor(e){super(e,"Unzip")}},GS=class extends HS{constructor(e,r){e=e||{},e.flush=e.flush||KA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||KA.BROTLI_OPERATION_FINISH,super(e,r),this[OS]=KA.BROTLI_OPERATION_FLUSH}},E3=class extends GS{constructor(e){super(e,"BrotliCompress")}},y3=class extends GS{constructor(e){super(e,"BrotliDecompress")}};Ji.Deflate=h3;Ji.Inflate=f3;Ji.Gzip=p3;Ji.Gunzip=d3;Ji.DeflateRaw=C3;Ji.InflateRaw=m3;Ji.Unzip=I3;typeof c3.BrotliCompress=="function"?(Ji.BrotliCompress=E3,Ji.BrotliDecompress=y3):Ji.BrotliCompress=Ji.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var uf=C(nE=>{"use strict";nE.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);nE.code=new Map(Array.from(nE.name).map(t=>[t[1],t[0]]))});var gf=C((w_e,B3)=>{"use strict";var y_e=uf(),h0e=Mc(),qS=Symbol("slurp");B3.exports=class extends h0e{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[qS](r),i&&this[qS](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[qS](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var b3=C(JS=>{"use strict";var Q_e=JS.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?p0e(t,e):f0e(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},f0e=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},p0e=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=w3(n):n===0?e[i-1]=0:(r=!0,e[i-1]=Q3(n))}},b_e=JS.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=C0e(t.slice(1,t.length));else if(r===255)i=d0e(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},d0e=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=w3(s):s===0?o=s:(i=!0,o=Q3(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},C0e=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},w3=t=>(255^t)&255,Q3=t=>(255^t)+1&255});var Tc=C((S_e,D3)=>{"use strict";var WS=uf(),Kc=require("path").posix,S3=b3(),zS=Symbol("slurp"),Wi=Symbol("type"),x3=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Wi]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=UA(e,r,100),this.mode=la(e,r+100,8),this.uid=la(e,r+108,8),this.gid=la(e,r+116,8),this.size=la(e,r+124,12),this.mtime=VS(e,r+136,12),this.cksum=la(e,r+148,12),this[zS](i),this[zS](n,!0),this[Wi]=UA(e,r+156,1),this[Wi]===""&&(this[Wi]="0"),this[Wi]==="0"&&this.path.substr(-1)==="/"&&(this[Wi]="5"),this[Wi]==="5"&&(this.size=0),this.linkpath=UA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=UA(e,r+265,32),this.gname=UA(e,r+297,32),this.devmaj=la(e,r+329,8),this.devmin=la(e,r+337,8),e[r+475]!==0){let o=UA(e,r+345,155);this.path=o+"/"+this.path}else{let o=UA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=VS(e,r+476,12),this.ctime=VS(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=m0e(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=HA(e,r,100,s)||this.needPax,this.needPax=ca(e,r+100,8,this.mode)||this.needPax,this.needPax=ca(e,r+108,8,this.uid)||this.needPax,this.needPax=ca(e,r+116,8,this.gid)||this.needPax,this.needPax=ca(e,r+124,12,this.size)||this.needPax,this.needPax=XS(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Wi].charCodeAt(0),this.needPax=HA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=HA(e,r+265,32,this.uname)||this.needPax,this.needPax=HA(e,r+297,32,this.gname)||this.needPax,this.needPax=ca(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ca(e,r+337,8,this.devmin)||this.needPax,this.needPax=HA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=HA(e,r+345,155,o)||this.needPax:(this.needPax=HA(e,r+345,130,o)||this.needPax,this.needPax=XS(e,r+476,12,this.atime)||this.needPax,this.needPax=XS(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Kc.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Kc.join(Kc.basename(n),i),n=Kc.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},UA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),VS=(t,e,r)=>I0e(la(t,e,r)),I0e=t=>t===null?null:new Date(t*1e3),la=(t,e,r)=>t[e]&128?S3.parse(t.slice(e,e+r)):E0e(t,e,r),y0e=t=>isNaN(t)?null:t,E0e=(t,e,r)=>y0e(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),B0e={12:8589934591,8:2097151},ca=(t,e,r,i)=>i===null?!1:i>B0e[r]||i<0?(S3.encode(i,t.slice(e,e+r)),!0):(w0e(t,e,r,i),!1),w0e=(t,e,r,i)=>t.write(Q0e(i,r),e,r,"ascii"),Q0e=(t,e)=>b0e(Math.floor(t).toString(8),e),b0e=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",XS=(t,e,r,i)=>i===null?!1:ca(t,e,r,i.getTime()/1e3),D0e=new Array(156).join("\0"),HA=(t,e,r,i)=>i===null?!1:(t.write(i+D0e,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);D3.exports=x3});var oE=C((x_e,P3)=>{"use strict";var S0e=Tc(),x0e=require("path"),sE=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new S0e({path:("PaxHeader/"+x0e.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};sE.parse=(t,e,r)=>new sE(P0e(k0e(t),e),r);var P0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,k0e=t=>t.replace(/\n$/,"").split(` +`).reduce(v0e,Object.create(null)),v0e=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};P3.exports=sE});var aE=C((P_e,k3)=>{"use strict";k3.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var _S=C((k_e,v3)=>{"use strict";var AE=["|","<",">","?",":"],ZS=AE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),F0e=new Map(AE.map((t,e)=>[t,ZS[e]])),R0e=new Map(ZS.map((t,e)=>[t,AE[e]]));v3.exports={encode:t=>AE.reduce((e,r)=>e.split(r).join(F0e.get(r)),t),decode:t=>ZS.reduce((e,r)=>e.split(r).join(R0e.get(r)),t)}});var R3=C((v_e,F3)=>{"use strict";F3.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var sx=C((M_e,L3)=>{"use strict";var N3=Mc(),M3=oE(),O3=Tc(),F_e=gf(),gs=require("fs"),Uc=require("path"),R_e=uf(),L0e=16*1024*1024,K3=Symbol("process"),T3=Symbol("file"),U3=Symbol("directory"),$S=Symbol("symlink"),H3=Symbol("hardlink"),hf=Symbol("header"),lE=Symbol("read"),ex=Symbol("lstat"),cE=Symbol("onlstat"),tx=Symbol("onread"),rx=Symbol("onreadlink"),ix=Symbol("openfile"),nx=Symbol("onopenfile"),YA=Symbol("close"),uE=Symbol("mode"),Y3=aE(),N0e=_S(),G3=R3(),gE=Y3(class extends N3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||L0e,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&Uc.win32.isAbsolute(e)){let n=Uc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=N0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Uc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[cE](this.statCache.get(this.absolute)):this[ex]()}[ex](){gs.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[cE](r)})}[cE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=M0e(e),this.emit("stat",e),this[K3]()}[K3](){switch(this.type){case"File":return this[T3]();case"Directory":return this[U3]();case"SymbolicLink":return this[$S]();default:return this.end()}}[uE](e){return G3(e,this.type==="Directory",this.portable)}[hf](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new O3({path:this.path,linkpath:this.linkpath,mode:this[uE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new M3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[U3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[hf](),this.end()}[$S](){gs.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[rx](r)})}[rx](e){this.linkpath=e.replace(/\\/g,"/"),this[hf](),this.end()}[H3](e){this.type="Link",this.linkpath=Uc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[hf](),this.end()}[T3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[H3](r)}this.linkCache.set(e,this.absolute)}if(this[hf](),this.stat.size===0)return this.end();this[ix]()}[ix](){gs.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[nx](r)})}[nx](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[lE](e,n,0,n.length,0,this.stat.size,r)}[lE](e,r,i,n,s,o,a){gs.read(e,r,i,n,s,(l,c)=>{if(l)return this[YA](e,()=>this.emit("error",l));this[tx](e,r,i,n,s,o,a,c)})}[YA](e,r){gs.close(e,r)}[tx](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[YA](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[YA](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[lE](e,r,i,n,s,o,a)}}),j3=class extends gE{constructor(e,r){super(e,r)}[ex](){this[cE](gs.lstatSync(this.absolute))}[$S](){this[rx](gs.readlinkSync(this.absolute))}[ix](){this[nx](gs.openSync(this.absolute,"r"))}[lE](e,r,i,n,s,o,a){let l=!0;try{let c=gs.readSync(e,r,i,n,s);this[tx](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[YA](e,()=>{})}catch(c){}}}[YA](e,r){gs.closeSync(e),r()}},O0e=Y3(class extends N3{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[uE](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(Uc.isAbsolute(this.path)&&!this.preservePaths){let n=Uc.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new O3({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new M3({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[uE](e){return G3(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});gE.Sync=j3;gE.Tar=O0e;var M0e=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";L3.exports=gE});var EE=C((K_e,q3)=>{"use strict";var ox=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},K0e=Mc(),T0e=jS(),U0e=gf(),ax=sx(),H0e=ax.Sync,Y0e=ax.Tar,G0e=oh(),J3=Buffer.alloc(1024),hE=Symbol("onStat"),fE=Symbol("ended"),hs=Symbol("queue"),Hc=Symbol("current"),GA=Symbol("process"),pE=Symbol("processing"),W3=Symbol("processJob"),fs=Symbol("jobs"),Ax=Symbol("jobDone"),dE=Symbol("addFSEntry"),z3=Symbol("addTarEntry"),lx=Symbol("stat"),cx=Symbol("readdir"),CE=Symbol("onreaddir"),mE=Symbol("pipe"),V3=Symbol("entry"),ux=Symbol("entryOpt"),gx=Symbol("writeEntryClass"),X3=Symbol("write"),hx=Symbol("ondrain"),IE=require("fs"),Z3=require("path"),j0e=aE(),fx=j0e(class extends K0e{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[gx]=ax,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new T0e.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[hx]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[hx]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[hs]=new G0e,this[fs]=0,this.jobs=+e.jobs||4,this[pE]=!1,this[fE]=!1}[X3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[fE]=!0,this[GA](),this}write(e){if(this[fE])throw new Error("write after end");return e instanceof U0e?this[z3](e):this[dE](e),this.flowing}[z3](e){let r=Z3.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new ox(e.path,r,!1);i.entry=new Y0e(e,this[ux](i)),i.entry.on("end",n=>this[Ax](i)),this[fs]+=1,this[hs].push(i)}this[GA]()}[dE](e){let r=Z3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[hs].push(new ox(e,r)),this[GA]()}[lx](e){e.pending=!0,this[fs]+=1;let r=this.follow?"stat":"lstat";IE[r](e.absolute,(i,n)=>{e.pending=!1,this[fs]-=1,i?this.emit("error",i):this[hE](e,n)})}[hE](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[GA]()}[cx](e){e.pending=!0,this[fs]+=1,IE.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[fs]-=1,r)return this.emit("error",r);this[CE](e,i)})}[CE](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[GA]()}[GA](){if(!this[pE]){this[pE]=!0;for(let e=this[hs].head;e!==null&&this[fs]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[V3](e){this[fs]+=1;try{return new this[gx](e.path,this[ux](e)).on("end",()=>this[Ax](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[hx](){this[Hc]&&this[Hc].entry&&this[Hc].entry.resume()}[mE](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[dE](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),_3=class extends fx{constructor(e){super(e);this[gx]=H0e}pause(){}resume(){}[lx](e){let r=this.follow?"statSync":"lstatSync";this[hE](e,IE[r](e.absolute))}[cx](e,r){this[CE](e,IE.readdirSync(e.absolute))}[mE](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[dE](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[X3](n)})}};fx.Sync=_3;q3.exports=fx});var Wc=C(ff=>{"use strict";var q0e=Mc(),J0e=require("events").EventEmitter,Cn=require("fs"),yE=process.binding("fs"),T_e=yE.writeBuffers,W0e=yE.FSReqWrap||yE.FSReqCallback,Yc=Symbol("_autoClose"),ps=Symbol("_close"),pf=Symbol("_ended"),vt=Symbol("_fd"),$3=Symbol("_finished"),jA=Symbol("_flags"),px=Symbol("_flush"),dx=Symbol("_handleChunk"),Cx=Symbol("_makeBuf"),mx=Symbol("_mode"),BE=Symbol("_needDrain"),Gc=Symbol("_onerror"),jc=Symbol("_onopen"),Ix=Symbol("_onread"),qA=Symbol("_onwrite"),ua=Symbol("_open"),ga=Symbol("_path"),JA=Symbol("_pos"),ds=Symbol("_queue"),qc=Symbol("_read"),e8=Symbol("_readSize"),ha=Symbol("_reading"),wE=Symbol("_remain"),t8=Symbol("_size"),QE=Symbol("_write"),Jc=Symbol("_writing"),bE=Symbol("_defaultFlag"),Ex=class extends q0e{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[vt]=typeof r.fd=="number"?r.fd:null,this[ga]=e,this[e8]=r.readSize||16*1024*1024,this[ha]=!1,this[t8]=typeof r.size=="number"?r.size:Infinity,this[wE]=this[t8],this[Yc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[vt]=="number"?this[qc]():this[ua]()}get fd(){return this[vt]}get path(){return this[ga]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ua](){Cn.open(this[ga],"r",(e,r)=>this[jc](e,r))}[jc](e,r){e?this[Gc](e):(this[vt]=r,this.emit("open",r),this[qc]())}[Cx](){return Buffer.allocUnsafe(Math.min(this[e8],this[wE]))}[qc](){if(!this[ha]){this[ha]=!0;let e=this[Cx]();if(e.length===0)return process.nextTick(()=>this[Ix](null,0,e));Cn.read(this[vt],e,0,e.length,null,(r,i,n)=>this[Ix](r,i,n))}}[Ix](e,r,i){this[ha]=!1,e?this[Gc](e):this[dx](r,i)&&this[qc]()}[ps](){this[Yc]&&typeof this[vt]=="number"&&(Cn.close(this[vt],e=>this.emit("close")),this[vt]=null)}[Gc](e){this[ha]=!0,this[ps](),this.emit("error",e)}[dx](e,r){let i=!1;return this[wE]-=e,e>0&&(i=super.write(ethis[jc](e,r))}[jc](e,r){this[bE]&&this[jA]==="r+"&&e&&e.code==="ENOENT"?(this[jA]="w",this[ua]()):e?this[Gc](e):(this[vt]=r,this.emit("open",r),this[px]())}end(e,r){e&&this.write(e,r),this[pf]=!0,!this[Jc]&&!this[ds].length&&typeof this[vt]=="number"&&this[qA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[pf]?(this.emit("error",new Error("write() after end()")),!1):this[vt]===null||this[Jc]||this[ds].length?(this[ds].push(e),this[BE]=!0,!1):(this[Jc]=!0,this[QE](e),!0)}[QE](e){Cn.write(this[vt],e,0,e.length,this[JA],(r,i)=>this[qA](r,i))}[qA](e,r){e?this[Gc](e):(this[JA]!==null&&(this[JA]+=r),this[ds].length?this[px]():(this[Jc]=!1,this[pf]&&!this[$3]?(this[$3]=!0,this[ps](),this.emit("finish")):this[BE]&&(this[BE]=!1,this.emit("drain"))))}[px](){if(this[ds].length===0)this[pf]&&this[qA](null,0);else if(this[ds].length===1)this[QE](this[ds].pop());else{let e=this[ds];this[ds]=[],z0e(this[vt],e,this[JA],(r,i)=>this[qA](r,i))}}[ps](){this[Yc]&&typeof this[vt]=="number"&&(Cn.close(this[vt],e=>this.emit("close")),this[vt]=null)}},i8=class extends yx{[ua](){let e;try{e=Cn.openSync(this[ga],this[jA],this[mx])}catch(r){if(this[bE]&&this[jA]==="r+"&&r&&r.code==="ENOENT")return this[jA]="w",this[ua]();throw r}this[jc](null,e)}[ps](){if(this[Yc]&&typeof this[vt]=="number"){try{Cn.closeSync(this[vt])}catch(e){}this[vt]=null,this.emit("close")}}[QE](e){try{this[qA](null,Cn.writeSync(this[vt],e,0,e.length,this[JA]))}catch(r){this[qA](r,0)}}},z0e=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new W0e;s.oncomplete=n,yE.writeBuffers(t,e,r,s)};ff.ReadStream=Ex;ff.ReadStreamSync=r8;ff.WriteStream=yx;ff.WriteStreamSync=i8});var mf=C((G_e,n8)=>{"use strict";var V0e=aE(),H_e=require("path"),X0e=Tc(),Z0e=require("events"),_0e=oh(),$0e=1024*1024,ebe=gf(),s8=oE(),tbe=jS(),Bx=Buffer.from([31,139]),mn=Symbol("state"),WA=Symbol("writeEntry"),oo=Symbol("readEntry"),wx=Symbol("nextEntry"),o8=Symbol("processEntry"),In=Symbol("extendedHeader"),df=Symbol("globalExtendedHeader"),fa=Symbol("meta"),a8=Symbol("emitMeta"),Ht=Symbol("buffer"),ao=Symbol("queue"),zA=Symbol("ended"),A8=Symbol("emittedEnd"),VA=Symbol("emit"),Fi=Symbol("unzip"),DE=Symbol("consumeChunk"),SE=Symbol("consumeChunkSub"),Qx=Symbol("consumeBody"),l8=Symbol("consumeMeta"),c8=Symbol("consumeHeader"),xE=Symbol("consuming"),bx=Symbol("bufferConcat"),Dx=Symbol("maybeEnd"),Cf=Symbol("writing"),pa=Symbol("aborted"),PE=Symbol("onDone"),XA=Symbol("sawValidEntry"),kE=Symbol("sawNullBlock"),vE=Symbol("sawEOF"),rbe=t=>!0;n8.exports=V0e(class extends Z0e{constructor(e){e=e||{},super(e),this.file=e.file||"",this[XA]=null,this.on(PE,r=>{(this[mn]==="begin"||this[XA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(PE,e.ondone):this.on(PE,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||$0e,this.filter=typeof e.filter=="function"?e.filter:rbe,this.writable=!0,this.readable=!1,this[ao]=new _0e,this[Ht]=null,this[oo]=null,this[WA]=null,this[mn]="begin",this[fa]="",this[In]=null,this[df]=null,this[zA]=!1,this[Fi]=null,this[pa]=!1,this[kE]=!1,this[vE]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[c8](e,r){this[XA]===null&&(this[XA]=!1);let i;try{i=new X0e(e,r,this[In],this[df])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[kE]?(this[vE]=!0,this[mn]==="begin"&&(this[mn]="header"),this[VA]("eof")):(this[kE]=!0,this[VA]("nullBlock"));else if(this[kE]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[WA]=new ebe(i,this[In],this[df]);if(!this[XA])if(s.remain){let o=()=>{s.invalid||(this[XA]=!0)};s.on("end",o)}else this[XA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[VA]("ignoredEntry",s),this[mn]="ignore",s.resume()):s.size>0&&(this[fa]="",s.on("data",o=>this[fa]+=o),this[mn]="meta"):(this[In]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[VA]("ignoredEntry",s),this[mn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[mn]="body":(this[mn]="header",s.end()),this[oo]?this[ao].push(s):(this[ao].push(s),this[wx]())))}}}[o8](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[oo]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[wx]()),r=!1)):(this[oo]=null,r=!1),r}[wx](){do;while(this[o8](this[ao].shift()));if(!this[ao].length){let e=this[oo];!e||e.flowing||e.size===e.remain?this[Cf]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[Qx](e,r){let i=this[WA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[mn]="header",this[WA]=null,i.end()),s.length}[l8](e,r){let i=this[WA],n=this[Qx](e,r);return this[WA]||this[a8](i),n}[VA](e,r,i){!this[ao].length&&!this[oo]?this.emit(e,r,i):this[ao].push([e,r,i])}[a8](e){switch(this[VA]("meta",this[fa]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[In]=s8.parse(this[fa],this[In],!1);break;case"GlobalExtendedHeader":this[df]=s8.parse(this[fa],this[df],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[In]=this[In]||Object.create(null),this[In].path=this[fa].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[In]=this[In]||Object.create(null),this[In].linkpath=this[fa].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[pa]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[pa])return;if(this[Fi]===null&&e){if(this[Ht]&&(e=Buffer.concat([this[Ht],e]),this[Ht]=null),e.lengththis[DE](s)),this[Fi].on("error",s=>this.abort(s)),this[Fi].on("end",s=>{this[zA]=!0,this[DE]()}),this[Cf]=!0;let n=this[Fi][i?"end":"write"](e);return this[Cf]=!1,n}}this[Cf]=!0,this[Fi]?this[Fi].write(e):this[DE](e),this[Cf]=!1;let r=this[ao].length?!1:this[oo]?this[oo].flowing:!0;return!r&&!this[ao].length&&this[oo].once("drain",i=>this.emit("drain")),r}[bx](e){e&&!this[pa]&&(this[Ht]=this[Ht]?Buffer.concat([this[Ht],e]):e)}[Dx](){if(this[zA]&&!this[A8]&&!this[pa]&&!this[xE]){this[A8]=!0;let e=this[WA];if(e&&e.blockRemain){let r=this[Ht]?this[Ht].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ht]&&e.write(this[Ht]),e.end()}this[VA](PE)}}[DE](e){if(this[xE])this[bx](e);else if(!e&&!this[Ht])this[Dx]();else{if(this[xE]=!0,this[Ht]){this[bx](e);let r=this[Ht];this[Ht]=null,this[SE](r)}else this[SE](e);for(;this[Ht]&&this[Ht].length>=512&&!this[pa]&&!this[vE];){let r=this[Ht];this[Ht]=null,this[SE](r)}this[xE]=!1}(!this[Ht]||this[zA])&&this[Dx]()}[SE](e){let r=0,i=e.length;for(;r+512<=i&&!this[pa]&&!this[vE];)switch(this[mn]){case"begin":case"header":this[c8](e,r),r+=512;break;case"ignore":case"body":r+=this[Qx](e,r);break;case"meta":r+=this[l8](e,r);break;default:throw new Error("invalid state: "+this[mn])}r{"use strict";var ibe=Nc(),g8=mf(),zc=require("fs"),nbe=Wc(),h8=require("path"),j_e=u8.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=ibe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&obe(i,e),i.noResume||sbe(i),i.file&&i.sync?abe(i):i.file?Abe(i,r):f8(i)},sbe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},obe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||h8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(h8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},abe=t=>{let e=f8(t),r=t.file,i=!0,n;try{let s=zc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new g8(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),zc.stat(n,(l,c)=>{if(l)a(l);else{let u=new nbe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},f8=t=>new g8(t)});var E8=C((z_e,p8)=>{"use strict";var lbe=Nc(),RE=EE(),J_e=require("fs"),d8=Wc(),C8=FE(),m8=require("path"),W_e=p8.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=lbe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?cbe(i,e):i.file?ube(i,e,r):i.sync?gbe(i,e):hbe(i,e)},cbe=(t,e)=>{let r=new RE.Sync(t),i=new d8.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),I8(r,e)},ube=(t,e,r)=>{let i=new RE(t),n=new d8.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return Sx(i,e),r?s.then(r,r):s},I8=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?C8({file:m8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},Sx=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return C8({file:m8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>Sx(t,e));t.add(r)}t.end()},gbe=(t,e)=>{let r=new RE.Sync(t);return I8(r,e),r},hbe=(t,e)=>{let r=new RE(t);return Sx(r,e),r}});var xx=C((Z_e,y8)=>{"use strict";var fbe=Nc(),B8=EE(),V_e=mf(),En=require("fs"),w8=Wc(),Q8=FE(),b8=require("path"),D8=Tc(),X_e=y8.exports=(t,e,r)=>{let i=fbe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?pbe(i,e):dbe(i,e,r)},pbe=(t,e)=>{let r=new B8.Sync(t),i=!0,n,s;try{try{n=En.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=En.openSync(t.file,"w+");else throw l}let o=En.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,Cbe(t,r,s,n,e)}finally{if(i)try{En.closeSync(n)}catch(o){}}},Cbe=(t,e,r,i,n)=>{let s=new w8.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),mbe(e,n)},dbe=(t,e,r)=>{e=Array.from(e);let i=new B8(t),n=(o,a,l)=>{let c=(p,m)=>{p?En.close(o,I=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,h=Buffer.alloc(512),f=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return En.read(o,h,g,h.length-g,u+g,f);if(u===0&&h[0]===31&&h[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let I=new D8(h);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,En.read(o,h,0,512,u,f)};En.read(o,h,0,512,u,f)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",En.open(t.file,l,c);if(u)return a(u);En.fstat(g,(h,f)=>{if(h)return a(h);n(g,f.size,(p,m)=>{if(p)return a(p);let I=new w8.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),S8(i,e)})})};En.open(t.file,l,c)});return r?s.then(r,r):s},mbe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?Q8({file:b8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},S8=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return Q8({file:b8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>S8(t,e));t.add(r)}t.end()}});var P8=C(($_e,x8)=>{"use strict";var Ibe=Nc(),Ebe=xx(),__e=x8.exports=(t,e,r)=>{let i=Ibe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),ybe(i),Ebe(i,e,r)},ybe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var F8=C((e$e,k8)=>{var{promisify:v8}=require("util"),da=require("fs"),Bbe=t=>{if(!t)t={mode:511,fs:da};else if(typeof t=="object")t=k({mode:511,fs:da},t);else if(typeof t=="number")t={mode:t,fs:da};else if(typeof t=="string")t={mode:parseInt(t,8),fs:da};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||da.mkdir,t.mkdirAsync=v8(t.mkdir),t.stat=t.stat||t.fs.stat||da.stat,t.statAsync=v8(t.stat),t.statSync=t.statSync||t.fs.statSync||da.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||da.mkdirSync,t};k8.exports=Bbe});var L8=C((t$e,R8)=>{var wbe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:Qbe,parse:bbe}=require("path"),Dbe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=Qbe(t),wbe==="win32"){let e=/[*|"<>?:]/,{root:r}=bbe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};R8.exports=Dbe});var T8=C((r$e,N8)=>{var{dirname:M8}=require("path"),O8=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?O8(t,M8(e),e):void 0),K8=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?K8(t,M8(e),e):void 0}};N8.exports={findMade:O8,findMadeSync:K8}});var vx=C((i$e,U8)=>{var{dirname:H8}=require("path"),Px=(t,e,r)=>{e.recursive=!1;let i=H8(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return Px(i,e).then(s=>Px(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},kx=(t,e,r)=>{let i=H8(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return kx(t,e,kx(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};U8.exports={mkdirpManual:Px,mkdirpManualSync:kx}});var j8=C((n$e,Y8)=>{var{dirname:G8}=require("path"),{findMade:Sbe,findMadeSync:xbe}=T8(),{mkdirpManual:Pbe,mkdirpManualSync:kbe}=vx(),vbe=(t,e)=>(e.recursive=!0,G8(t)===t?e.mkdirAsync(t,e):Sbe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return Pbe(t,e);throw n}))),Fbe=(t,e)=>{if(e.recursive=!0,G8(t)===t)return e.mkdirSync(t,e);let i=xbe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return kbe(t,e);throw n}};Y8.exports={mkdirpNative:vbe,mkdirpNativeSync:Fbe}});var z8=C((s$e,q8)=>{var J8=require("fs"),Rbe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,Fx=Rbe.replace(/^v/,"").split("."),W8=+Fx[0]>10||+Fx[0]==10&&+Fx[1]>=12,Lbe=W8?t=>t.mkdir===J8.mkdir:()=>!1,Nbe=W8?t=>t.mkdirSync===J8.mkdirSync:()=>!1;q8.exports={useNative:Lbe,useNativeSync:Nbe}});var e4=C((o$e,V8)=>{var Vc=F8(),Xc=L8(),{mkdirpNative:X8,mkdirpNativeSync:Z8}=j8(),{mkdirpManual:_8,mkdirpManualSync:$8}=vx(),{useNative:Mbe,useNativeSync:Obe}=z8(),Zc=(t,e)=>(t=Xc(t),e=Vc(e),Mbe(e)?X8(t,e):_8(t,e)),Kbe=(t,e)=>(t=Xc(t),e=Vc(e),Obe(e)?Z8(t,e):$8(t,e));Zc.sync=Kbe;Zc.native=(t,e)=>X8(Xc(t),Vc(e));Zc.manual=(t,e)=>_8(Xc(t),Vc(e));Zc.nativeSync=(t,e)=>Z8(Xc(t),Vc(e));Zc.manualSync=(t,e)=>$8(Xc(t),Vc(e));V8.exports=Zc});var a4=C((a$e,t4)=>{"use strict";var yn=require("fs"),ZA=require("path"),Tbe=yn.lchown?"lchown":"chown",Ube=yn.lchownSync?"lchownSync":"chownSync",r4=yn.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),i4=(t,e,r)=>{try{return yn[Ube](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},Hbe=(t,e,r)=>{try{return yn.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},Ybe=r4?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):yn.chown(t,e,r,i)}:(t,e,r,i)=>i,Rx=r4?(t,e,r)=>{try{return i4(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;Hbe(t,e,r)}}:(t,e,r)=>i4(t,e,r),Gbe=process.version,n4=(t,e,r)=>yn.readdir(t,e,r),jbe=(t,e)=>yn.readdirSync(t,e);/^v4\./.test(Gbe)&&(n4=(t,e,r)=>yn.readdir(t,r));var LE=(t,e,r,i)=>{yn[Tbe](t,e,r,Ybe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},s4=(t,e,r,i,n)=>{if(typeof e=="string")return yn.lstat(ZA.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,s4(t,o,r,i,n)});if(e.isDirectory())Lx(ZA.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=ZA.resolve(t,e.name);LE(o,r,i,n)});else{let s=ZA.resolve(t,e.name);LE(s,r,i,n)}},Lx=(t,e,r,i)=>{n4(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return LE(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return LE(t,e,r,i)}};s.forEach(c=>s4(t,c,e,r,l))})},qbe=(t,e,r,i)=>{if(typeof e=="string")try{let n=yn.lstatSync(ZA.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&o4(ZA.resolve(t,e.name),r,i),Rx(ZA.resolve(t,e.name),r,i)},o4=(t,e,r)=>{let i;try{i=jbe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return Rx(t,e,r);throw n}return i&&i.length&&i.forEach(n=>qbe(t,n,e,r)),Rx(t,e,r)};t4.exports=Lx;Lx.sync=o4});var u4=C((c$e,Nx)=>{"use strict";var A4=e4(),Bn=require("fs"),NE=require("path"),l4=a4(),Mx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},If=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},A$e=Nx.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,h=e.cwd,f=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?l4(y,o,a,w=>f(w)):s?Bn.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return f();if(t===h)return Bn.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new If(t,I&&I.code||"ENOTDIR")),f(I)});if(c)return A4(t,{mode:n}).then(I=>f(null,I),f);let m=NE.relative(h,t).split(/\/|\\/);ME(h,m,n,g,u,h,null,f)},ME=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return ME(c,e,r,i,n,s,o,a);Bn.mkdir(c,r,c4(c,e,r,i,n,s,o,a))},c4=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&NE.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new If(s,l.code));Bn.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())ME(t,e,r,i,n,s,o,a);else if(n)Bn.unlink(t,g=>{if(g)return a(g);Bn.mkdir(t,r,c4(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new Mx(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,ME(t,e,r,i,n,s,o,a)},l$e=Nx.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,h=I=>{u.set(t,!0),I&&a&&l4.sync(I,s,o),n&&Bn.chmodSync(t,i)};if(u&&u.get(t)===!0)return h();if(t===g){let I=!1,y="ENOTDIR";try{I=Bn.statSync(t).isDirectory()}catch(w){y=w.code}finally{if(!I)throw new If(t,y)}h();return}if(l)return h(A4.sync(t,i));let p=NE.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{Bn.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(w){if(w.path&&NE.dirname(w.path)===g&&(w.code==="ENOTDIR"||w.code==="ENOENT"))return new If(g,w.code);let x=Bn.lstatSync(y);if(x.isDirectory()){u.set(y,!0);continue}else if(c){Bn.unlinkSync(y),Bn.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(x.isSymbolicLink())return new Mx(y,y+"/"+p.join("/"))}return h(m)}});var f4=C((u$e,g4)=>{var h4=require("assert");g4.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,h)=>g.length?g.concat(r(g[g.length-1],h)):[h],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(h=>t.get(h)),dirs:[...g.dirs].map(h=>t.get(h))}},o=u=>{let{paths:g,dirs:h}=s(u);return g.every(f=>f[0]===u)&&h.every(f=>f[0]instanceof Set&&f[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:h}=e.get(u),f=new Set;return g.forEach(p=>{let m=t.get(p);h4.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?f.add(m[0]):m[0].forEach(I=>f.add(I)))}),h.forEach(p=>{let m=t.get(p);h4(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),f.add(m[0])):m[0].delete(u)}),n.delete(u),f.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let h=new Set(u.map(f=>i(f)).reduce((f,p)=>f.concat(p)));return e.set(g,{dirs:h,paths:u}),u.forEach(f=>{let p=t.get(f);p?p.push(g):t.set(f,[g])}),h.forEach(f=>{let p=t.get(f);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(f,[new Set([g])])}),a(g)}}}});var C4=C((g$e,p4)=>{var Jbe=process.env.__FAKE_PLATFORM__||process.platform,Wbe=Jbe==="win32",zbe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Vbe,O_TRUNC:Xbe,O_WRONLY:Zbe,UV_FS_O_FILEMAP:d4=0}=zbe.constants,_be=Wbe&&!!d4,$be=512*1024,eDe=d4|Xbe|Vbe|Zbe;p4.exports=_be?t=>t<$be?eDe:"w":()=>"w"});var qx=C((d$e,m4)=>{"use strict";var tDe=require("assert"),h$e=require("events").EventEmitter,rDe=mf(),Dt=require("fs"),iDe=Wc(),Ao=require("path"),Ox=u4(),f$e=Ox.sync,I4=_S(),nDe=f4(),E4=Symbol("onEntry"),Kx=Symbol("checkFs"),y4=Symbol("checkFs2"),Tx=Symbol("isReusable"),lo=Symbol("makeFs"),Ux=Symbol("file"),Hx=Symbol("directory"),OE=Symbol("link"),B4=Symbol("symlink"),w4=Symbol("hardlink"),Q4=Symbol("unsupported"),p$e=Symbol("unknown"),b4=Symbol("checkPath"),_c=Symbol("mkdir"),pi=Symbol("onError"),KE=Symbol("pending"),D4=Symbol("pend"),$c=Symbol("unpend"),Yx=Symbol("ended"),Gx=Symbol("maybeClose"),jx=Symbol("skip"),Ef=Symbol("doChown"),yf=Symbol("uid"),Bf=Symbol("gid"),S4=require("crypto"),x4=C4(),TE=()=>{throw new Error("sync function called cb somehow?!?")},sDe=(t,e)=>{if(process.platform!=="win32")return Dt.unlink(t,e);let r=t+".DELETE."+S4.randomBytes(16).toString("hex");Dt.rename(t,r,i=>{if(i)return e(i);Dt.unlink(r,e)})},oDe=t=>{if(process.platform!=="win32")return Dt.unlinkSync(t);let e=t+".DELETE."+S4.randomBytes(16).toString("hex");Dt.renameSync(t,e),Dt.unlinkSync(e)},P4=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,UE=class extends rDe{constructor(e){if(e||(e={}),e.ondone=r=>{this[Yx]=!0,this[Gx]()},super(e),this.reservations=nDe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[KE]=0,this[Yx]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Ao.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[E4](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[Gx](){this[Yx]&&this[KE]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[b4](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Ao.win32.isAbsolute(r)){let i=Ao.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Ao.win32.parse(e.path);e.path=r.root===""?I4.encode(e.path):r.root+I4.encode(e.path.substr(r.root.length))}return Ao.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Ao.resolve(this.cwd,e.path),!0}[E4](e){if(!this[b4](e))return e.resume();switch(tDe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Kx](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[Q4](e)}}[pi](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[$c](),r.resume())}[_c](e,r,i){Ox(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[Ef](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[yf](e){return P4(this.uid,e.uid,this.processUid)}[Bf](e){return P4(this.gid,e.gid,this.processGid)}[Ux](e,r){let i=e.mode&4095||this.fmode,n=new iDe.WriteStream(e.absolute,{flags:x4(e.size),mode:i,autoClose:!1});n.on("error",l=>this[pi](l,e));let s=1,o=l=>{if(l)return this[pi](l,e);--s==0&&Dt.close(n.fd,c=>{r(),c?this[pi](c,e):this[$c]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,h=e.mtime;Dt.futimes(u,g,h,f=>f?Dt.utimes(c,g,h,p=>o(p&&f)):o())}if(this[Ef](e)){s++;let g=this[yf](e),h=this[Bf](e);Dt.fchown(u,g,h,f=>f?Dt.chown(c,g,h,p=>o(p&&f)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[pi](l,e)),e.pipe(a)),a.pipe(n)}[Hx](e,r){let i=e.mode&4095||this.dmode;this[_c](e.absolute,i,n=>{if(n)return r(),this[pi](n,e);let s=1,o=a=>{--s==0&&(r(),this[$c](),e.resume())};e.mtime&&!this.noMtime&&(s++,Dt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[Ef](e)&&(s++,Dt.chown(e.absolute,this[yf](e),this[Bf](e),o)),o()})}[Q4](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[B4](e,r){this[OE](e,e.linkpath,"symlink",r)}[w4](e,r){this[OE](e,Ao.resolve(this.cwd,e.linkpath),"link",r)}[D4](){this[KE]++}[$c](){this[KE]--,this[Gx]()}[jx](e){this[$c](),e.resume()}[Tx](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[Kx](e){this[D4]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[y4](e,i))}[y4](e,r){this[_c](Ao.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[pi](i,e);Dt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[jx](e),r()):n||this[Tx](e,s)?this[lo](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[lo](null,e,r):Dt.chmod(e.absolute,e.mode,o=>this[lo](o,e,r)):Dt.rmdir(e.absolute,o=>this[lo](o,e,r)):sDe(e.absolute,o=>this[lo](o,e,r))})})}[lo](e,r,i){if(e)return this[pi](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Ux](r,i);case"Link":return this[w4](r,i);case"SymbolicLink":return this[B4](r,i);case"Directory":case"GNUDumpDir":return this[Hx](r,i)}}[OE](e,r,i,n){Dt[i](r,e.absolute,s=>{if(s)return this[pi](s,e);n(),this[$c](),e.resume()})}},k4=class extends UE{constructor(e){super(e)}[Kx](e){let r=this[_c](Ao.dirname(e.absolute),this.dmode,TE);if(r)return this[pi](r,e);try{let i=Dt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[jx](e);if(this[Tx](e,i))return this[lo](null,e,TE);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Dt.chmodSync(e.absolute,e.mode):Dt.rmdirSync(e.absolute):oDe(e.absolute),this[lo](null,e,TE)}catch(n){return this[pi](n,e)}}catch(i){return this[lo](null,e,TE)}}[Ux](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Dt.closeSync(o)}catch(u){c=u}(l||c)&&this[pi](l||c,e)},s,o;try{o=Dt.openSync(e.absolute,x4(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[pi](l,e)),e.pipe(a)),a.on("data",l=>{try{Dt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Dt.futimesSync(o,u,g)}catch(h){try{Dt.utimesSync(e.absolute,u,g)}catch(f){c=h}}}if(this[Ef](e)){let u=this[yf](e),g=this[Bf](e);try{Dt.fchownSync(o,u,g)}catch(h){try{Dt.chownSync(e.absolute,u,g)}catch(f){c=c||h}}}n(c)})}[Hx](e,r){let i=e.mode&4095||this.dmode,n=this[_c](e.absolute,i);if(n)return this[pi](n,e);if(e.mtime&&!this.noMtime)try{Dt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[Ef](e))try{Dt.chownSync(e.absolute,this[yf](e),this[Bf](e))}catch(s){}e.resume()}[_c](e,r){try{return Ox.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[OE](e,r,i,n){try{Dt[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[pi](s,e)}}};UE.Sync=k4;m4.exports=UE});var N4=C((m$e,v4)=>{"use strict";var aDe=Nc(),HE=qx(),F4=require("fs"),R4=Wc(),L4=require("path"),C$e=v4.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=aDe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&ADe(i,e),i.file&&i.sync?lDe(i):i.file?cDe(i,r):i.sync?uDe(i):gDe(i)},ADe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||L4.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(L4.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},lDe=t=>{let e=new HE.Sync(t),r=t.file,i=!0,n,s=F4.statSync(r),o=t.maxReadSize||16*1024*1024;new R4.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},cDe=(t,e)=>{let r=new HE(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),F4.stat(n,(l,c)=>{if(l)a(l);else{let u=new R4.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},uDe=t=>new HE.Sync(t),gDe=t=>new HE(t)});var M4=C(Br=>{"use strict";Br.c=Br.create=E8();Br.r=Br.replace=xx();Br.t=Br.list=FE();Br.u=Br.update=P8();Br.x=Br.extract=N4();Br.Pack=EE();Br.Unpack=qx();Br.Parse=mf();Br.ReadEntry=gf();Br.WriteEntry=sx();Br.Header=Tc();Br.Pax=oE();Br.types=uf()});var K4=C((E$e,Jx)=>{"use strict";var hDe=Object.prototype.hasOwnProperty,di="~";function wf(){}Object.create&&(wf.prototype=Object.create(null),new wf().__proto__||(di=!1));function fDe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function O4(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new fDe(r,i||t,n),o=di?di+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function YE(t,e){--t._eventsCount==0?t._events=new wf:delete t._events[e]}function _r(){this._events=new wf,this._eventsCount=0}_r.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)hDe.call(r,i)&&e.push(di?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};_r.prototype.listeners=function(e){var r=di?di+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";T4.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var Y4=C((B$e,GE)=>{"use strict";var pDe=U4(),Wx=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},H4=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Wx(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);pDe(t.then(i,n),()=>{clearTimeout(s)})});GE.exports=H4;GE.exports.default=H4;GE.exports.TimeoutError=Wx});var G4=C(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});function dDe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}zx.default=dDe});var q4=C(Vx=>{"use strict";Object.defineProperty(Vx,"__esModule",{value:!0});var CDe=G4(),j4=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=CDe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Vx.default=j4});var z4=C(Xx=>{"use strict";Object.defineProperty(Xx,"__esModule",{value:!0});var mDe=K4(),J4=Y4(),IDe=q4(),jE=()=>{},EDe=new J4.TimeoutError,W4=class extends mDe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=jE,this._resolveIdle=jE,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:IDe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():J4.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(EDe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};Xx.default=W4});var $4=C((S$e,_4)=>{var _x;_4.exports.getContent=()=>(typeof _x=="undefined"&&(_x=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),_x)});var sz=C(($x,nz)=>{(function(t,e){typeof $x=="object"?nz.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})($x,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",h=0,f,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(y,w){w>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var I=e(s,c);I.forEach(function(y){f=++h===I.length,r(y,s[y],f,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var uz=C((X$e,rP)=>{"use strict";var xDe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=xDe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};rP.exports=cz;rP.exports.default=cz});var go=C(hP=>{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.default=mz;function mz(){}mz.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],h=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&h+1>=l)return o([{value:this.join(r),count:r.length}]);function f(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],w=g[m+1],x=(w?w.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1=a&&x+1>=l)return o(LDe(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();f()||m()},0)})();else for(;c<=u;){var p=f();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1f.length?m:f}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var h=e[o-1];return o>1&&typeof h.value=="string"&&(h.added||h.removed)&&t.equals("",h.value)&&(e[o-2].value+=h.value,e.pop()),e}function NDe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var Ez=C(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});Df.diffChars=MDe;Df.characterDiff=void 0;var KDe=ODe(go());function ODe(t){return t&&t.__esModule?t:{default:t}}var Iz=new KDe.default;Df.characterDiff=Iz;function MDe(t,e,r){return Iz.diff(t,e,r)}});var pP=C(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});fP.generateOptions=TDe;function TDe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var wz=C(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.diffWords=UDe;iu.diffWordsWithSpace=HDe;iu.wordDiff=void 0;var GDe=YDe(go()),jDe=pP();function YDe(t){return t&&t.__esModule?t:{default:t}}var yz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,Bz=/\S/,Sf=new GDe.default;iu.wordDiff=Sf;Sf.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!Bz.test(t)&&!Bz.test(e)};Sf.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.diffLines=qDe;nu.diffTrimmedLines=JDe;nu.lineDiff=void 0;var zDe=WDe(go()),VDe=pP();function WDe(t){return t&&t.__esModule?t:{default:t}}var XE=new zDe.default;nu.lineDiff=XE;XE.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});xf.diffSentences=XDe;xf.sentenceDiff=void 0;var _De=ZDe(go());function ZDe(t){return t&&t.__esModule?t:{default:t}}var dP=new _De.default;xf.sentenceDiff=dP;dP.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function XDe(t,e,r){return dP.diff(t,e,r)}});var bz=C(Pf=>{"use strict";Object.defineProperty(Pf,"__esModule",{value:!0});Pf.diffCss=$De;Pf.cssDiff=void 0;var tSe=eSe(go());function eSe(t){return t&&t.__esModule?t:{default:t}}var CP=new tSe.default;Pf.cssDiff=CP;CP.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function $De(t,e,r){return CP.diff(t,e,r)}});var Sz=C(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.diffJson=rSe;su.canonicalize=_E;su.jsonDiff=void 0;var Dz=iSe(go()),nSe=ZE();function iSe(t){return t&&t.__esModule?t:{default:t}}function $E(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$E=function(r){return typeof r}:$E=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},$E(t)}var sSe=Object.prototype.toString,_A=new Dz.default;su.jsonDiff=_A;_A.useLongestToken=!0;_A.tokenize=nSe.lineDiff.tokenize;_A.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(_E(t,null,null,n),n," ")};_A.equals=function(t,e){return Dz.default.prototype.equals.call(_A,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function rSe(t,e,r){return _A.diff(t,e,r)}function _E(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.diffArrays=oSe;kf.arrayDiff=void 0;var ASe=aSe(go());function aSe(t){return t&&t.__esModule?t:{default:t}}var vf=new ASe.default;kf.arrayDiff=vf;vf.tokenize=function(t){return t.slice()};vf.join=vf.removeEmpty=function(t){return t};function oSe(t,e,r){return vf.diff(t,e,r)}});var ey=C(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});mP.parsePatch=lSe;function lSe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(IP,"__esModule",{value:!0});IP.default=cSe;function cSe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var Fz=C(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.applyPatch=kz;ty.applyPatches=uSe;var vz=ey(),hSe=gSe(Pz());function gSe(t){return t&&t.__esModule?t:{default:t}}function kz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,vz.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(H,R,ke,Le){return R===Le},a=0,l=r.fuzzFactor||0,c=0,u=0,g,h;function f(H,R){for(var ke=0;ke0?Le[0]:" ",Ke=Le.length>0?Le.substr(1):Le;if(qe===" "||qe==="-"){if(!o(R+1,i[R],qe,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=K.linedelimiters[J];if(T===" ")v++;else if(T==="-")i.splice(v,1),n.splice(v,1);else if(T==="+")i.splice(v,0,A),n.splice(v,0,W),v++;else if(T==="\\"){var ee=K.lines[J-1]?K.lines[J-1][0]:null;ee==="+"?g=!0:ee==="-"&&(h=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else h&&(i.push(""),n.push(` +`));for(var re=0;re{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});Ff.structuredPatch=Rz;Ff.createTwoFilesPatch=Lz;Ff.createPatch=fSe;var pSe=ZE();function EP(t){return mSe(t)||CSe(t)||dSe()}function dSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function CSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function mSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(K.lines.slice(-o.context)):[],u-=h.length,g-=h.length)}(N=h).push.apply(N,EP(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:f+=F.length}else{if(u)if(F.length<=o.context*2&&w=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),ee=F.length==0&&h.length>T.oldLines;!A&&ee&&h.splice(T.oldLines,0,"\\ No newline at end of file"),(!A&&!ee||!W)&&h.push("\\ No newline at end of file")}c.push(T),u=0,g=0,h=[]}f+=F.length,p+=F.length}},I=0;I{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.arrayEqual=ADe;ey.arrayStartsWith=Pz;function ADe(t,e){return t.length!==e.length?!1:Pz(t,e)}function Pz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.calcLineCount=vz;ty.merge=lDe;var cDe=dP(),uDe=_E(),CP=kz();function ou(t){return fDe(t)||hDe(t)||gDe()}function gDe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function hDe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function fDe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.convertChangesToDMP=mDe;function mDe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});yP.convertChangesToXML=IDe;function IDe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(EDe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function EDe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var zz=C($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});Object.defineProperty($t,"Diff",{enumerable:!0,get:function(){return yDe.default}});Object.defineProperty($t,"diffChars",{enumerable:!0,get:function(){return BDe.diffChars}});Object.defineProperty($t,"diffWords",{enumerable:!0,get:function(){return Gz.diffWords}});Object.defineProperty($t,"diffWordsWithSpace",{enumerable:!0,get:function(){return Gz.diffWordsWithSpace}});Object.defineProperty($t,"diffLines",{enumerable:!0,get:function(){return jz.diffLines}});Object.defineProperty($t,"diffTrimmedLines",{enumerable:!0,get:function(){return jz.diffTrimmedLines}});Object.defineProperty($t,"diffSentences",{enumerable:!0,get:function(){return wDe.diffSentences}});Object.defineProperty($t,"diffCss",{enumerable:!0,get:function(){return QDe.diffCss}});Object.defineProperty($t,"diffJson",{enumerable:!0,get:function(){return Jz.diffJson}});Object.defineProperty($t,"canonicalize",{enumerable:!0,get:function(){return Jz.canonicalize}});Object.defineProperty($t,"diffArrays",{enumerable:!0,get:function(){return bDe.diffArrays}});Object.defineProperty($t,"applyPatch",{enumerable:!0,get:function(){return Wz.applyPatch}});Object.defineProperty($t,"applyPatches",{enumerable:!0,get:function(){return Wz.applyPatches}});Object.defineProperty($t,"parsePatch",{enumerable:!0,get:function(){return SDe.parsePatch}});Object.defineProperty($t,"merge",{enumerable:!0,get:function(){return DDe.merge}});Object.defineProperty($t,"structuredPatch",{enumerable:!0,get:function(){return BP.structuredPatch}});Object.defineProperty($t,"createTwoFilesPatch",{enumerable:!0,get:function(){return BP.createTwoFilesPatch}});Object.defineProperty($t,"createPatch",{enumerable:!0,get:function(){return BP.createPatch}});Object.defineProperty($t,"convertChangesToDMP",{enumerable:!0,get:function(){return xDe.convertChangesToDMP}});Object.defineProperty($t,"convertChangesToXML",{enumerable:!0,get:function(){return PDe.convertChangesToXML}});var yDe=kDe(Ao()),BDe=fz(),Gz=Cz(),jz=VE(),wDe=mz(),QDe=Iz(),Jz=yz(),bDe=Bz(),Wz=Sz(),SDe=_E(),DDe=Hz(),BP=dP(),xDe=Yz(),PDe=qz();function kDe(t){return t&&t.__esModule?t:{default:t}}});var iy=C((ltt,Vz)=>{var vDe=fn(),FDe=GI(),RDe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LDe=/^\w*$/;function NDe(t,e){if(vDe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||FDe(t)?!0:LDe.test(t)||!RDe.test(t)||e!=null&&t in Object(e)}Vz.exports=NDe});var Un=C((ctt,Xz)=>{function MDe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Xz.exports=MDe});var ny=C((utt,Zz)=>{var ODe=KA(),KDe=Un(),TDe="[object AsyncFunction]",UDe="[object Function]",HDe="[object GeneratorFunction]",YDe="[object Proxy]";function qDe(t){if(!KDe(t))return!1;var e=ODe(t);return e==UDe||e==HDe||e==TDe||e==YDe}Zz.exports=qDe});var $z=C((gtt,_z)=>{var GDe=On(),jDe=GDe["__core-js_shared__"];_z.exports=jDe});var r5=C((htt,e5)=>{var wP=$z(),t5=function(){var t=/[^.]+$/.exec(wP&&wP.keys&&wP.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function JDe(t){return!!t5&&t5 in t}e5.exports=JDe});var QP=C((ftt,i5)=>{var WDe=Function.prototype,zDe=WDe.toString;function VDe(t){if(t!=null){try{return zDe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}i5.exports=VDe});var s5=C((ptt,n5)=>{var XDe=ny(),ZDe=r5(),_De=Un(),$De=QP(),exe=/[\\^$.*+?()[\]{}|]/g,txe=/^\[object .+?Constructor\]$/,rxe=Function.prototype,ixe=Object.prototype,nxe=rxe.toString,sxe=ixe.hasOwnProperty,oxe=RegExp("^"+nxe.call(sxe).replace(exe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function axe(t){if(!_De(t)||ZDe(t))return!1;var e=XDe(t)?oxe:txe;return e.test($De(t))}n5.exports=axe});var a5=C((dtt,o5)=>{function Axe(t,e){return t==null?void 0:t[e]}o5.exports=Axe});var ma=C((Ctt,A5)=>{var lxe=s5(),cxe=a5();function uxe(t,e){var r=cxe(t,e);return lxe(r)?r:void 0}A5.exports=uxe});var Df=C((mtt,l5)=>{var gxe=ma(),hxe=gxe(Object,"create");l5.exports=hxe});var g5=C((Itt,c5)=>{var u5=Df();function fxe(){this.__data__=u5?u5(null):{},this.size=0}c5.exports=fxe});var f5=C((Ett,h5)=>{function pxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}h5.exports=pxe});var d5=C((ytt,p5)=>{var dxe=Df(),Cxe="__lodash_hash_undefined__",mxe=Object.prototype,Ixe=mxe.hasOwnProperty;function Exe(t){var e=this.__data__;if(dxe){var r=e[t];return r===Cxe?void 0:r}return Ixe.call(e,t)?e[t]:void 0}p5.exports=Exe});var m5=C((Btt,C5)=>{var yxe=Df(),Bxe=Object.prototype,wxe=Bxe.hasOwnProperty;function Qxe(t){var e=this.__data__;return yxe?e[t]!==void 0:wxe.call(e,t)}C5.exports=Qxe});var E5=C((wtt,I5)=>{var bxe=Df(),Sxe="__lodash_hash_undefined__";function Dxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=bxe&&e===void 0?Sxe:e,this}I5.exports=Dxe});var B5=C((Qtt,y5)=>{var xxe=g5(),Pxe=f5(),kxe=d5(),vxe=m5(),Fxe=E5();function au(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function Rxe(){this.__data__=[],this.size=0}w5.exports=Rxe});var Au=C((Stt,b5)=>{function Lxe(t,e){return t===e||t!==t&&e!==e}b5.exports=Lxe});var xf=C((Dtt,S5)=>{var Nxe=Au();function Mxe(t,e){for(var r=t.length;r--;)if(Nxe(t[r][0],e))return r;return-1}S5.exports=Mxe});var x5=C((xtt,D5)=>{var Oxe=xf(),Kxe=Array.prototype,Txe=Kxe.splice;function Uxe(t){var e=this.__data__,r=Oxe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():Txe.call(e,r,1),--this.size,!0}D5.exports=Uxe});var k5=C((Ptt,P5)=>{var Hxe=xf();function Yxe(t){var e=this.__data__,r=Hxe(e,t);return r<0?void 0:e[r][1]}P5.exports=Yxe});var F5=C((ktt,v5)=>{var qxe=xf();function Gxe(t){return qxe(this.__data__,t)>-1}v5.exports=Gxe});var L5=C((vtt,R5)=>{var jxe=xf();function Jxe(t,e){var r=this.__data__,i=jxe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}R5.exports=Jxe});var Pf=C((Ftt,N5)=>{var Wxe=Q5(),zxe=x5(),Vxe=k5(),Xxe=F5(),Zxe=L5();function lu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _xe=ma(),$xe=On(),ePe=_xe($xe,"Map");M5.exports=ePe});var T5=C((Ltt,O5)=>{var K5=B5(),tPe=Pf(),rPe=sy();function iPe(){this.size=0,this.__data__={hash:new K5,map:new(rPe||tPe),string:new K5}}O5.exports=iPe});var H5=C((Ntt,U5)=>{function nPe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}U5.exports=nPe});var kf=C((Mtt,Y5)=>{var sPe=H5();function oPe(t,e){var r=t.__data__;return sPe(e)?r[typeof e=="string"?"string":"hash"]:r.map}Y5.exports=oPe});var G5=C((Ott,q5)=>{var aPe=kf();function APe(t){var e=aPe(this,t).delete(t);return this.size-=e?1:0,e}q5.exports=APe});var J5=C((Ktt,j5)=>{var lPe=kf();function cPe(t){return lPe(this,t).get(t)}j5.exports=cPe});var z5=C((Ttt,W5)=>{var uPe=kf();function gPe(t){return uPe(this,t).has(t)}W5.exports=gPe});var X5=C((Utt,V5)=>{var hPe=kf();function fPe(t,e){var r=hPe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}V5.exports=fPe});var oy=C((Htt,Z5)=>{var pPe=T5(),dPe=G5(),CPe=J5(),mPe=z5(),IPe=X5();function cu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var $5=oy(),EPe="Expected a function";function bP(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(EPe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(bP.Cache||$5),r}bP.Cache=$5;_5.exports=bP});var r6=C((qtt,t6)=>{var yPe=e6(),BPe=500;function wPe(t){var e=yPe(t,function(i){return r.size===BPe&&r.clear(),i}),r=e.cache;return e}t6.exports=wPe});var n6=C((Gtt,i6)=>{var QPe=r6(),bPe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,SPe=/\\(\\)?/g,DPe=QPe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(bPe,function(r,i,n,s){e.push(n?s.replace(SPe,"$1"):i||r)}),e});i6.exports=DPe});var uu=C((jtt,s6)=>{var xPe=fn(),PPe=iy(),kPe=n6(),vPe=Rc();function FPe(t,e){return xPe(t)?t:PPe(t,e)?[t]:kPe(vPe(t))}s6.exports=FPe});var rl=C((Jtt,o6)=>{var RPe=GI(),LPe=1/0;function NPe(t){if(typeof t=="string"||RPe(t))return t;var e=t+"";return e=="0"&&1/t==-LPe?"-0":e}o6.exports=NPe});var vf=C((Wtt,a6)=>{var MPe=uu(),OPe=rl();function KPe(t,e){e=MPe(e,t);for(var r=0,i=e.length;t!=null&&r{var TPe=ma(),UPe=function(){try{var t=TPe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();A6.exports=UPe});var gu=C((Vtt,l6)=>{var c6=SP();function HPe(t,e,r){e=="__proto__"&&c6?c6(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}l6.exports=HPe});var ay=C((Xtt,u6)=>{var YPe=gu(),qPe=Au(),GPe=Object.prototype,jPe=GPe.hasOwnProperty;function JPe(t,e,r){var i=t[e];(!(jPe.call(t,e)&&qPe(i,r))||r===void 0&&!(e in t))&&YPe(t,e,r)}u6.exports=JPe});var Ff=C((Ztt,g6)=>{var WPe=9007199254740991,zPe=/^(?:0|[1-9]\d*)$/;function VPe(t,e){var r=typeof t;return e=e==null?WPe:e,!!e&&(r=="number"||r!="symbol"&&zPe.test(t))&&t>-1&&t%1==0&&t{var XPe=ay(),ZPe=uu(),_Pe=Ff(),f6=Un(),$Pe=rl();function eke(t,e,r,i){if(!f6(t))return t;e=ZPe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var tke=vf(),rke=DP(),ike=uu();function nke(t,e,r){for(var i=-1,n=e.length,s={};++i{function ske(t,e){return t!=null&&e in Object(t)}C6.exports=ske});var E6=C((trt,I6)=>{var oke=KA(),ake=As(),Ake="[object Arguments]";function lke(t){return ake(t)&&oke(t)==Ake}I6.exports=lke});var Rf=C((rrt,y6)=>{var B6=E6(),cke=As(),w6=Object.prototype,uke=w6.hasOwnProperty,gke=w6.propertyIsEnumerable,hke=B6(function(){return arguments}())?B6:function(t){return cke(t)&&uke.call(t,"callee")&&!gke.call(t,"callee")};y6.exports=hke});var Ay=C((irt,Q6)=>{var fke=9007199254740991;function pke(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=fke}Q6.exports=pke});var xP=C((nrt,b6)=>{var dke=uu(),Cke=Rf(),mke=fn(),Ike=Ff(),Eke=Ay(),yke=rl();function Bke(t,e,r){e=dke(e,t);for(var i=-1,n=e.length,s=!1;++i{var wke=m6(),Qke=xP();function bke(t,e){return t!=null&&Qke(t,e,wke)}S6.exports=bke});var x6=C((ort,D6)=>{var Ske=d6(),Dke=PP();function xke(t,e){return Ske(t,e,function(r,i){return Dke(t,i)})}D6.exports=xke});var ly=C((art,P6)=>{function Pke(t,e){for(var r=-1,i=e.length,n=t.length;++r{var v6=OA(),kke=Rf(),vke=fn(),F6=v6?v6.isConcatSpreadable:void 0;function Fke(t){return vke(t)||kke(t)||!!(F6&&t&&t[F6])}k6.exports=Fke});var M6=C((lrt,L6)=>{var Rke=ly(),Lke=R6();function N6(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=Lke),n||(n=[]);++s0&&r(a)?e>1?N6(a,e-1,r,i,n):Rke(n,a):i||(n[n.length]=a)}return n}L6.exports=N6});var K6=C((crt,O6)=>{var Nke=M6();function Mke(t){var e=t==null?0:t.length;return e?Nke(t,1):[]}O6.exports=Mke});var U6=C((urt,T6)=>{function Oke(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}T6.exports=Oke});var kP=C((grt,H6)=>{var Kke=U6(),Y6=Math.max;function Tke(t,e,r){return e=Y6(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=Y6(i.length-e,0),o=Array(s);++n{function Uke(t){return function(){return t}}q6.exports=Uke});var cy=C((frt,j6)=>{function Hke(t){return t}j6.exports=Hke});var z6=C((prt,J6)=>{var Yke=G6(),W6=SP(),qke=cy(),Gke=W6?function(t,e){return W6(t,"toString",{configurable:!0,enumerable:!1,value:Yke(e),writable:!0})}:qke;J6.exports=Gke});var X6=C((drt,V6)=>{var jke=800,Jke=16,Wke=Date.now;function zke(t){var e=0,r=0;return function(){var i=Wke(),n=Jke-(i-r);if(r=i,n>0){if(++e>=jke)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}V6.exports=zke});var vP=C((Crt,Z6)=>{var Vke=z6(),Xke=X6(),Zke=Xke(Vke);Z6.exports=Zke});var $6=C((mrt,_6)=>{var _ke=K6(),$ke=kP(),eve=vP();function tve(t){return eve($ke(t,void 0,_ke),t+"")}_6.exports=tve});var t9=C((Irt,e9)=>{var rve=x6(),ive=$6(),nve=ive(function(t,e){return t==null?{}:rve(t,e)});e9.exports=nve});var g9=C((lnt,l9)=>{"use strict";var HP;try{HP=Map}catch(t){}var YP;try{YP=Set}catch(t){}function c9(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(u9);if(HP&&t instanceof HP)return new Map(Array.from(t.entries()));if(YP&&t instanceof YP)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:c9(t[n],e,r)}return i}return t}function u9(t){return c9(t,[],[])}l9.exports=u9});var Of=C(qP=>{"use strict";Object.defineProperty(qP,"__esModule",{value:!0});qP.default=hve;var fve=Object.prototype.toString,pve=Error.prototype.toString,dve=RegExp.prototype.toString,Cve=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",mve=/^Symbol\((.*)\)(.*)$/;function Ive(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function h9(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return Ive(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return Cve.call(t).replace(mve,"Symbol($1)");let i=fve.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+pve.call(t)+"]":i==="RegExp"?dve.call(t):null}function hve(t,e){let r=h9(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=h9(this[i],e);return s!==null?s:n},2)}});var lo=C(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.default=Pr.array=Pr.object=Pr.boolean=Pr.date=Pr.number=Pr.string=Pr.mixed=void 0;var f9=Eve(Of());function Eve(t){return t&&t.__esModule?t:{default:t}}var p9={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,f9.default)(r,!0)}\``+(n?` (cast from the value \`${(0,f9.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Pr.mixed=p9;var d9={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Pr.string=d9;var C9={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Pr.number=C9;var m9={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Pr.date=m9;var I9={isValue:"${path} field must be ${value}"};Pr.boolean=I9;var E9={noUnknown:"${path} field has unspecified keys: ${unknown}"};Pr.object=E9;var y9={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Pr.array=y9;var yve=Object.assign(Object.create(null),{mixed:p9,string:d9,number:C9,date:m9,object:E9,array:y9,boolean:I9});Pr.default=yve});var w9=C((gnt,B9)=>{var Bve=Object.prototype,wve=Bve.hasOwnProperty;function Qve(t,e){return t!=null&&wve.call(t,e)}B9.exports=Qve});var py=C((hnt,Q9)=>{var bve=w9(),Sve=xP();function Dve(t,e){return t!=null&&Sve(t,e,bve)}Q9.exports=Dve});var fu=C(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.default=void 0;var xve=t=>t&&t.__isYupSchema__;dy.default=xve});var D9=C(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.default=void 0;var Pve=b9(py()),kve=b9(fu());function b9(t){return t&&t.__esModule?t:{default:t}}var S9=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,Pve.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,kve.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},vve=S9;Cy.default=vve});var jP=C(GP=>{"use strict";Object.defineProperty(GP,"__esModule",{value:!0});GP.default=Fve;function Fve(t){return t==null?[]:[].concat(t)}});var il=C(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.default=void 0;var Rve=x9(Of()),Lve=x9(jP());function x9(t){return t&&t.__esModule?t:{default:t}}function JP(){return JP=Object.assign||function(t){for(var e=1;e(0,Rve.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,Lve.default)(e).forEach(s=>{Kf.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Kf)}};my.default=Kf});var Iy=C(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});WP.default=Mve;var zP=Ove(il());function Ove(t){return t&&t.__esModule?t:{default:t}}var Kve=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function Mve(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=Kve(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new zP.default(o,s,l)):c(null,s);for(let h=0;h{function Tve(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}P9.exports=Tve});var VP=C((Ent,v9)=>{var Uve=k9(),Hve=Uve();v9.exports=Hve});var R9=C((ynt,F9)=>{function Yve(t,e){for(var r=-1,i=Array(t);++r{function qve(){return!1}L9.exports=qve});var Uf=C((Tf,pu)=>{var Gve=On(),jve=N9(),M9=typeof Tf=="object"&&Tf&&!Tf.nodeType&&Tf,O9=M9&&typeof pu=="object"&&pu&&!pu.nodeType&&pu,Jve=O9&&O9.exports===M9,K9=Jve?Gve.Buffer:void 0,Wve=K9?K9.isBuffer:void 0,zve=Wve||jve;pu.exports=zve});var U9=C((wnt,T9)=>{var Vve=KA(),Xve=Ay(),Zve=As(),_ve="[object Arguments]",$ve="[object Array]",eFe="[object Boolean]",tFe="[object Date]",rFe="[object Error]",iFe="[object Function]",nFe="[object Map]",sFe="[object Number]",oFe="[object Object]",aFe="[object RegExp]",AFe="[object Set]",lFe="[object String]",cFe="[object WeakMap]",uFe="[object ArrayBuffer]",gFe="[object DataView]",hFe="[object Float32Array]",fFe="[object Float64Array]",pFe="[object Int8Array]",dFe="[object Int16Array]",CFe="[object Int32Array]",mFe="[object Uint8Array]",IFe="[object Uint8ClampedArray]",EFe="[object Uint16Array]",yFe="[object Uint32Array]",Yt={};Yt[hFe]=Yt[fFe]=Yt[pFe]=Yt[dFe]=Yt[CFe]=Yt[mFe]=Yt[IFe]=Yt[EFe]=Yt[yFe]=!0;Yt[_ve]=Yt[$ve]=Yt[uFe]=Yt[eFe]=Yt[gFe]=Yt[tFe]=Yt[rFe]=Yt[iFe]=Yt[nFe]=Yt[sFe]=Yt[oFe]=Yt[aFe]=Yt[AFe]=Yt[lFe]=Yt[cFe]=!1;function BFe(t){return Zve(t)&&Xve(t.length)&&!!Yt[Vve(t)]}T9.exports=BFe});var Ey=C((Qnt,H9)=>{function wFe(t){return function(e){return t(e)}}H9.exports=wFe});var yy=C((Hf,du)=>{var QFe=ID(),Y9=typeof Hf=="object"&&Hf&&!Hf.nodeType&&Hf,Yf=Y9&&typeof du=="object"&&du&&!du.nodeType&&du,bFe=Yf&&Yf.exports===Y9,XP=bFe&&QFe.process,SFe=function(){try{var t=Yf&&Yf.require&&Yf.require("util").types;return t||XP&&XP.binding&&XP.binding("util")}catch(e){}}();du.exports=SFe});var By=C((bnt,q9)=>{var DFe=U9(),xFe=Ey(),G9=yy(),j9=G9&&G9.isTypedArray,PFe=j9?xFe(j9):DFe;q9.exports=PFe});var ZP=C((Snt,J9)=>{var kFe=R9(),vFe=Rf(),FFe=fn(),RFe=Uf(),LFe=Ff(),NFe=By(),MFe=Object.prototype,OFe=MFe.hasOwnProperty;function KFe(t,e){var r=FFe(t),i=!r&&vFe(t),n=!r&&!i&&RFe(t),s=!r&&!i&&!n&&NFe(t),o=r||i||n||s,a=o?kFe(t.length,String):[],l=a.length;for(var c in t)(e||OFe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||LFe(c,l)))&&a.push(c);return a}J9.exports=KFe});var wy=C((Dnt,W9)=>{var TFe=Object.prototype;function UFe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TFe;return t===r}W9.exports=UFe});var _P=C((xnt,z9)=>{function HFe(t,e){return function(r){return t(e(r))}}z9.exports=HFe});var X9=C((Pnt,V9)=>{var YFe=_P(),qFe=YFe(Object.keys,Object);V9.exports=qFe});var _9=C((knt,Z9)=>{var GFe=wy(),jFe=X9(),JFe=Object.prototype,WFe=JFe.hasOwnProperty;function zFe(t){if(!GFe(t))return jFe(t);var e=[];for(var r in Object(t))WFe.call(t,r)&&r!="constructor"&&e.push(r);return e}Z9.exports=zFe});var qf=C((vnt,$9)=>{var VFe=ny(),XFe=Ay();function ZFe(t){return t!=null&&XFe(t.length)&&!VFe(t)}$9.exports=ZFe});var Cu=C((Fnt,eV)=>{var _Fe=ZP(),$Fe=_9(),eRe=qf();function tRe(t){return eRe(t)?_Fe(t):$Fe(t)}eV.exports=tRe});var $P=C((Rnt,tV)=>{var rRe=VP(),iRe=Cu();function nRe(t,e){return t&&rRe(t,e,iRe)}tV.exports=nRe});var iV=C((Lnt,rV)=>{var sRe=Pf();function oRe(){this.__data__=new sRe,this.size=0}rV.exports=oRe});var sV=C((Nnt,nV)=>{function aRe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}nV.exports=aRe});var aV=C((Mnt,oV)=>{function ARe(t){return this.__data__.get(t)}oV.exports=ARe});var lV=C((Ont,AV)=>{function lRe(t){return this.__data__.has(t)}AV.exports=lRe});var uV=C((Knt,cV)=>{var cRe=Pf(),uRe=sy(),gRe=oy(),hRe=200;function fRe(t,e){var r=this.__data__;if(r instanceof cRe){var i=r.__data__;if(!uRe||i.length{var pRe=Pf(),dRe=iV(),CRe=sV(),mRe=aV(),IRe=lV(),ERe=uV();function mu(t){var e=this.__data__=new pRe(t);this.size=e.size}mu.prototype.clear=dRe;mu.prototype.delete=CRe;mu.prototype.get=mRe;mu.prototype.has=IRe;mu.prototype.set=ERe;gV.exports=mu});var fV=C((Unt,hV)=>{var yRe="__lodash_hash_undefined__";function BRe(t){return this.__data__.set(t,yRe),this}hV.exports=BRe});var dV=C((Hnt,pV)=>{function wRe(t){return this.__data__.has(t)}pV.exports=wRe});var mV=C((Ynt,CV)=>{var QRe=oy(),bRe=fV(),SRe=dV();function Qy(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new QRe;++e{function DRe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function xRe(t,e){return t.has(e)}yV.exports=xRe});var ek=C((jnt,wV)=>{var PRe=mV(),kRe=EV(),vRe=BV(),FRe=1,RRe=2;function LRe(t,e,r,i,n,s){var o=r&FRe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,h=!0,f=r&RRe?new PRe:void 0;for(s.set(t,e),s.set(e,t);++g{var NRe=On(),MRe=NRe.Uint8Array;QV.exports=MRe});var SV=C((Wnt,bV)=>{function ORe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}bV.exports=ORe});var xV=C((znt,DV)=>{function KRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}DV.exports=KRe});var RV=C((Vnt,PV)=>{var kV=OA(),vV=tk(),TRe=Au(),URe=ek(),HRe=SV(),YRe=xV(),qRe=1,GRe=2,jRe="[object Boolean]",JRe="[object Date]",WRe="[object Error]",zRe="[object Map]",VRe="[object Number]",XRe="[object RegExp]",ZRe="[object Set]",_Re="[object String]",$Re="[object Symbol]",eLe="[object ArrayBuffer]",tLe="[object DataView]",FV=kV?kV.prototype:void 0,rk=FV?FV.valueOf:void 0;function rLe(t,e,r,i,n,s,o){switch(r){case tLe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case eLe:return!(t.byteLength!=e.byteLength||!s(new vV(t),new vV(e)));case jRe:case JRe:case VRe:return TRe(+t,+e);case WRe:return t.name==e.name&&t.message==e.message;case XRe:case _Re:return t==e+"";case zRe:var a=HRe;case ZRe:var l=i&qRe;if(a||(a=YRe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GRe,o.set(t,e);var u=URe(a(t),a(e),i,n,s,o);return o.delete(t),u;case $Re:if(rk)return rk.call(t)==rk.call(e)}return!1}PV.exports=rLe});var ik=C((Xnt,LV)=>{var iLe=ly(),nLe=fn();function sLe(t,e,r){var i=e(t);return nLe(t)?i:iLe(i,r(t))}LV.exports=sLe});var MV=C((Znt,NV)=>{function oLe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function aLe(){return[]}OV.exports=aLe});var by=C(($nt,KV)=>{var ALe=MV(),lLe=nk(),cLe=Object.prototype,uLe=cLe.propertyIsEnumerable,TV=Object.getOwnPropertySymbols,gLe=TV?function(t){return t==null?[]:(t=Object(t),ALe(TV(t),function(e){return uLe.call(t,e)}))}:lLe;KV.exports=gLe});var sk=C((est,UV)=>{var hLe=ik(),fLe=by(),pLe=Cu();function dLe(t){return hLe(t,pLe,fLe)}UV.exports=dLe});var qV=C((tst,HV)=>{var YV=sk(),CLe=1,mLe=Object.prototype,ILe=mLe.hasOwnProperty;function ELe(t,e,r,i,n,s){var o=r&CLe,a=YV(t),l=a.length,c=YV(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var h=a[g];if(!(o?h in e:ILe.call(e,h)))return!1}var f=s.get(t),p=s.get(e);if(f&&p)return f==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var I=o;++g{var yLe=ma(),BLe=On(),wLe=yLe(BLe,"DataView");GV.exports=wLe});var WV=C((ist,JV)=>{var QLe=ma(),bLe=On(),SLe=QLe(bLe,"Promise");JV.exports=SLe});var VV=C((nst,zV)=>{var DLe=ma(),xLe=On(),PLe=DLe(xLe,"Set");zV.exports=PLe});var ZV=C((sst,XV)=>{var kLe=ma(),vLe=On(),FLe=kLe(vLe,"WeakMap");XV.exports=FLe});var jf=C((ost,_V)=>{var ok=jV(),ak=sy(),Ak=WV(),lk=VV(),ck=ZV(),$V=KA(),Iu=QP(),eX="[object Map]",RLe="[object Object]",tX="[object Promise]",rX="[object Set]",iX="[object WeakMap]",nX="[object DataView]",LLe=Iu(ok),NLe=Iu(ak),MLe=Iu(Ak),OLe=Iu(lk),KLe=Iu(ck),nl=$V;(ok&&nl(new ok(new ArrayBuffer(1)))!=nX||ak&&nl(new ak)!=eX||Ak&&nl(Ak.resolve())!=tX||lk&&nl(new lk)!=rX||ck&&nl(new ck)!=iX)&&(nl=function(t){var e=$V(t),r=e==RLe?t.constructor:void 0,i=r?Iu(r):"";if(i)switch(i){case LLe:return nX;case NLe:return eX;case MLe:return tX;case OLe:return rX;case KLe:return iX}return e});_V.exports=nl});var gX=C((ast,sX)=>{var uk=Gf(),TLe=ek(),ULe=RV(),HLe=qV(),oX=jf(),aX=fn(),AX=Uf(),YLe=By(),qLe=1,lX="[object Arguments]",cX="[object Array]",Sy="[object Object]",GLe=Object.prototype,uX=GLe.hasOwnProperty;function jLe(t,e,r,i,n,s){var o=aX(t),a=aX(e),l=o?cX:oX(t),c=a?cX:oX(e);l=l==lX?Sy:l,c=c==lX?Sy:c;var u=l==Sy,g=c==Sy,h=l==c;if(h&&AX(t)){if(!AX(e))return!1;o=!0,u=!1}if(h&&!u)return s||(s=new uk),o||YLe(t)?TLe(t,e,r,i,n,s):ULe(t,e,l,r,i,n,s);if(!(r&qLe)){var f=u&&uX.call(t,"__wrapped__"),p=g&&uX.call(e,"__wrapped__");if(f||p){var m=f?t.value():t,I=p?e.value():e;return s||(s=new uk),n(m,I,r,i,s)}}return h?(s||(s=new uk),HLe(t,e,r,i,n,s)):!1}sX.exports=jLe});var gk=C((Ast,hX)=>{var JLe=gX(),fX=As();function pX(t,e,r,i,n){return t===e?!0:t==null||e==null||!fX(t)&&!fX(e)?t!==t&&e!==e:JLe(t,e,r,i,pX,n)}hX.exports=pX});var CX=C((lst,dX)=>{var WLe=Gf(),zLe=gk(),VLe=1,XLe=2;function ZLe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Le=Un();function $Le(t){return t===t&&!_Le(t)}mX.exports=$Le});var EX=C((ust,IX)=>{var eNe=hk(),tNe=Cu();function rNe(t){for(var e=tNe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,eNe(n)]}return e}IX.exports=rNe});var fk=C((gst,yX)=>{function iNe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}yX.exports=iNe});var wX=C((hst,BX)=>{var nNe=CX(),sNe=EX(),oNe=fk();function aNe(t){var e=sNe(t);return e.length==1&&e[0][2]?oNe(e[0][0],e[0][1]):function(r){return r===t||nNe(r,t,e)}}BX.exports=aNe});var Dy=C((fst,QX)=>{var ANe=vf();function lNe(t,e,r){var i=t==null?void 0:ANe(t,e);return i===void 0?r:i}QX.exports=lNe});var SX=C((pst,bX)=>{var cNe=gk(),uNe=Dy(),gNe=PP(),hNe=iy(),fNe=hk(),pNe=fk(),dNe=rl(),CNe=1,mNe=2;function INe(t,e){return hNe(t)&&fNe(e)?pNe(dNe(t),e):function(r){var i=uNe(r,t);return i===void 0&&i===e?gNe(r,t):cNe(e,i,CNe|mNe)}}bX.exports=INe});var xX=C((dst,DX)=>{function ENe(t){return function(e){return e==null?void 0:e[t]}}DX.exports=ENe});var kX=C((Cst,PX)=>{var yNe=vf();function BNe(t){return function(e){return yNe(e,t)}}PX.exports=BNe});var FX=C((mst,vX)=>{var wNe=xX(),QNe=kX(),bNe=iy(),SNe=rl();function DNe(t){return bNe(t)?wNe(SNe(t)):QNe(t)}vX.exports=DNe});var pk=C((Ist,RX)=>{var xNe=wX(),PNe=SX(),kNe=cy(),vNe=fn(),FNe=FX();function RNe(t){return typeof t=="function"?t:t==null?kNe:typeof t=="object"?vNe(t)?PNe(t[0],t[1]):xNe(t):FNe(t)}RX.exports=RNe});var dk=C((Est,LX)=>{var LNe=gu(),NNe=$P(),MNe=pk();function ONe(t,e){var r={};return e=MNe(e,3),NNe(t,function(i,n,s){LNe(r,n,e(i,n,s))}),r}LX.exports=ONe});var Jf=C((yst,NX)=>{"use strict";function sl(t){this._maxSize=t,this.clear()}sl.prototype.clear=function(){this._size=0,this._values=Object.create(null)};sl.prototype.get=function(t){return this._values[t]};sl.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var KNe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,MX=/^\d+$/,TNe=/^\d/,UNe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,HNe=/^\s*(['"]?)(.*?)(\1)\s*$/,Ck=512,OX=new sl(Ck),KX=new sl(Ck),TX=new sl(Ck);NX.exports={Cache:sl,split:Ik,normalizePath:mk,setter:function(t){var e=mk(t);return KX.get(t)||KX.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Wf,"__esModule",{value:!0});Wf.create=JNe;Wf.default=void 0;var WNe=Jf(),xy={context:"$",value:"."};function JNe(t,e){return new Py(t,e)}var Py=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===xy.context,this.isValue=this.key[0]===xy.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?xy.context:this.isValue?xy.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,WNe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Wf.default=Py;Py.prototype.__isYupRef=!0});var UX=C(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});yk.default=zNe;var VNe=Bk(dk()),ky=Bk(il()),XNe=Bk(ol());function Bk(t){return t&&t.__esModule?t:{default:t}}function vy(){return vy=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function zNe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=ZNe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:h,params:f,message:p}=t,{parent:m,context:I}=a;function y(U){return XNe.default.isRef(U)?U.getValue(n,m,I):U}function b(U={}){let v=(0,VNe.default)(vy({value:n,originalValue:l,label:o,path:U.path||s},f,U.params),y),J=new ky.default(ky.default.formatError(U.message||p,v),n,v.path,U.type||g);return J.params=v,J}let x=vy({path:s,parent:m,type:g,createError:b,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(h.call(x,n,x)).then(U=>{ky.default.isError(U)?i(U):U?i(null,U):i(b())})}catch(U){i(U)}return}let F;try{var N;if(F=h.call(x,n,x),typeof((N=F)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(U){i(U);return}ky.default.isError(F)?i(F):F?i(null,F):i(b())}return e.OPTIONS=t,e}});var wk=C(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});zf.getIn=HX;zf.default=void 0;var _Ne=Jf(),$Ne=t=>t.substr(0,t.length-1).substr(1);function HX(t,e,r,i=r){let n,s,o;return e?((0,_Ne.forEach)(e,(a,l,c)=>{let u=l?$Ne(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var eMe=(t,e,r,i)=>HX(t,e,r,i).schema,tMe=eMe;zf.default=tMe});var qX=C(Fy=>{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});Fy.default=void 0;var YX=rMe(ol());function rMe(t){return t&&t.__esModule?t:{default:t}}var Ry=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){YX.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){YX.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new Ry;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};Fy.default=Ry});var uo=C(Ly=>{"use strict";Object.defineProperty(Ly,"__esModule",{value:!0});Ly.default=void 0;var GX=co(g9()),Eu=lo(),iMe=co(D9()),jX=co(Iy()),Ny=co(UX()),JX=co(Of()),nMe=co(ol()),sMe=wk(),oMe=co(jP()),WX=co(il()),zX=co(qX());function co(t){return t&&t.__esModule?t:{default:t}}function yn(){return yn=Object.assign||function(t){for(var e=1;e{this.typeError(Eu.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=yn({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=yn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,GX.default)(yn({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=yn({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(yn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,JX.default)(e),o=(0,JX.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". +`}function fSe(t,e,r,i,n,s){return Lz(t,t,e,r,i,n,s)}});var Mz=C(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.arrayEqual=ISe;ry.arrayStartsWith=Nz;function ISe(t,e){return t.length!==e.length?!1:Nz(t,e)}function Nz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.calcLineCount=Oz;iy.merge=ESe;var ySe=yP(),BSe=ey(),BP=Mz();function ou(t){return bSe(t)||QSe(t)||wSe()}function wSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function QSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function bSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});bP.convertChangesToDMP=PSe;function PSe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(DP,"__esModule",{value:!0});DP.convertChangesToXML=kSe;function kSe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(vSe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function vSe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var e5=C($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});Object.defineProperty($t,"Diff",{enumerable:!0,get:function(){return FSe.default}});Object.defineProperty($t,"diffChars",{enumerable:!0,get:function(){return RSe.diffChars}});Object.defineProperty($t,"diffWords",{enumerable:!0,get:function(){return Xz.diffWords}});Object.defineProperty($t,"diffWordsWithSpace",{enumerable:!0,get:function(){return Xz.diffWordsWithSpace}});Object.defineProperty($t,"diffLines",{enumerable:!0,get:function(){return Zz.diffLines}});Object.defineProperty($t,"diffTrimmedLines",{enumerable:!0,get:function(){return Zz.diffTrimmedLines}});Object.defineProperty($t,"diffSentences",{enumerable:!0,get:function(){return LSe.diffSentences}});Object.defineProperty($t,"diffCss",{enumerable:!0,get:function(){return NSe.diffCss}});Object.defineProperty($t,"diffJson",{enumerable:!0,get:function(){return _z.diffJson}});Object.defineProperty($t,"canonicalize",{enumerable:!0,get:function(){return _z.canonicalize}});Object.defineProperty($t,"diffArrays",{enumerable:!0,get:function(){return MSe.diffArrays}});Object.defineProperty($t,"applyPatch",{enumerable:!0,get:function(){return $z.applyPatch}});Object.defineProperty($t,"applyPatches",{enumerable:!0,get:function(){return $z.applyPatches}});Object.defineProperty($t,"parsePatch",{enumerable:!0,get:function(){return OSe.parsePatch}});Object.defineProperty($t,"merge",{enumerable:!0,get:function(){return KSe.merge}});Object.defineProperty($t,"structuredPatch",{enumerable:!0,get:function(){return SP.structuredPatch}});Object.defineProperty($t,"createTwoFilesPatch",{enumerable:!0,get:function(){return SP.createTwoFilesPatch}});Object.defineProperty($t,"createPatch",{enumerable:!0,get:function(){return SP.createPatch}});Object.defineProperty($t,"convertChangesToDMP",{enumerable:!0,get:function(){return TSe.convertChangesToDMP}});Object.defineProperty($t,"convertChangesToXML",{enumerable:!0,get:function(){return USe.convertChangesToXML}});var FSe=HSe(go()),RSe=Ez(),Xz=wz(),Zz=ZE(),LSe=Qz(),NSe=bz(),_z=Sz(),MSe=xz(),$z=Fz(),OSe=ey(),KSe=Wz(),SP=yP(),TSe=zz(),USe=Vz();function HSe(t){return t&&t.__esModule?t:{default:t}}});var sy=C((ytt,t5)=>{var YSe=dn(),GSe=JI(),jSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qSe=/^\w*$/;function JSe(t,e){if(YSe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||GSe(t)?!0:qSe.test(t)||!jSe.test(t)||e!=null&&t in Object(e)}t5.exports=JSe});var Yn=C((Btt,r5)=>{function WSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}r5.exports=WSe});var oy=C((wtt,i5)=>{var zSe=OA(),VSe=Yn(),XSe="[object AsyncFunction]",ZSe="[object Function]",_Se="[object GeneratorFunction]",$Se="[object Proxy]";function exe(t){if(!VSe(t))return!1;var e=zSe(t);return e==ZSe||e==_Se||e==XSe||e==$Se}i5.exports=exe});var s5=C((Qtt,n5)=>{var txe=Tn(),rxe=txe["__core-js_shared__"];n5.exports=rxe});var A5=C((btt,o5)=>{var xP=s5(),a5=function(){var t=/[^.]+$/.exec(xP&&xP.keys&&xP.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function ixe(t){return!!a5&&a5 in t}o5.exports=ixe});var PP=C((Dtt,l5)=>{var nxe=Function.prototype,sxe=nxe.toString;function oxe(t){if(t!=null){try{return sxe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}l5.exports=oxe});var u5=C((Stt,c5)=>{var axe=oy(),Axe=A5(),lxe=Yn(),cxe=PP(),uxe=/[\\^$.*+?()[\]{}|]/g,gxe=/^\[object .+?Constructor\]$/,hxe=Function.prototype,fxe=Object.prototype,pxe=hxe.toString,dxe=fxe.hasOwnProperty,Cxe=RegExp("^"+pxe.call(dxe).replace(uxe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function mxe(t){if(!lxe(t)||Axe(t))return!1;var e=axe(t)?Cxe:gxe;return e.test(cxe(t))}c5.exports=mxe});var h5=C((xtt,g5)=>{function Ixe(t,e){return t==null?void 0:t[e]}g5.exports=Ixe});var ma=C((Ptt,f5)=>{var Exe=u5(),yxe=h5();function Bxe(t,e){var r=yxe(t,e);return Exe(r)?r:void 0}f5.exports=Bxe});var Rf=C((ktt,p5)=>{var wxe=ma(),Qxe=wxe(Object,"create");p5.exports=Qxe});var m5=C((vtt,d5)=>{var C5=Rf();function bxe(){this.__data__=C5?C5(null):{},this.size=0}d5.exports=bxe});var E5=C((Ftt,I5)=>{function Dxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}I5.exports=Dxe});var B5=C((Rtt,y5)=>{var Sxe=Rf(),xxe="__lodash_hash_undefined__",Pxe=Object.prototype,kxe=Pxe.hasOwnProperty;function vxe(t){var e=this.__data__;if(Sxe){var r=e[t];return r===xxe?void 0:r}return kxe.call(e,t)?e[t]:void 0}y5.exports=vxe});var Q5=C((Ltt,w5)=>{var Fxe=Rf(),Rxe=Object.prototype,Lxe=Rxe.hasOwnProperty;function Nxe(t){var e=this.__data__;return Fxe?e[t]!==void 0:Lxe.call(e,t)}w5.exports=Nxe});var D5=C((Ntt,b5)=>{var Mxe=Rf(),Oxe="__lodash_hash_undefined__";function Kxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Mxe&&e===void 0?Oxe:e,this}b5.exports=Kxe});var x5=C((Mtt,S5)=>{var Txe=m5(),Uxe=E5(),Hxe=B5(),Yxe=Q5(),Gxe=D5();function au(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function jxe(){this.__data__=[],this.size=0}P5.exports=jxe});var Au=C((Ktt,v5)=>{function qxe(t,e){return t===e||t!==t&&e!==e}v5.exports=qxe});var Lf=C((Ttt,F5)=>{var Jxe=Au();function Wxe(t,e){for(var r=t.length;r--;)if(Jxe(t[r][0],e))return r;return-1}F5.exports=Wxe});var L5=C((Utt,R5)=>{var zxe=Lf(),Vxe=Array.prototype,Xxe=Vxe.splice;function Zxe(t){var e=this.__data__,r=zxe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():Xxe.call(e,r,1),--this.size,!0}R5.exports=Zxe});var M5=C((Htt,N5)=>{var _xe=Lf();function $xe(t){var e=this.__data__,r=_xe(e,t);return r<0?void 0:e[r][1]}N5.exports=$xe});var K5=C((Ytt,O5)=>{var ePe=Lf();function tPe(t){return ePe(this.__data__,t)>-1}O5.exports=tPe});var U5=C((Gtt,T5)=>{var rPe=Lf();function iPe(t,e){var r=this.__data__,i=rPe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}T5.exports=iPe});var Nf=C((jtt,H5)=>{var nPe=k5(),sPe=L5(),oPe=M5(),aPe=K5(),APe=U5();function lu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var lPe=ma(),cPe=Tn(),uPe=lPe(cPe,"Map");Y5.exports=uPe});var q5=C((Jtt,G5)=>{var j5=x5(),gPe=Nf(),hPe=ay();function fPe(){this.size=0,this.__data__={hash:new j5,map:new(hPe||gPe),string:new j5}}G5.exports=fPe});var W5=C((Wtt,J5)=>{function pPe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}J5.exports=pPe});var Mf=C((ztt,z5)=>{var dPe=W5();function CPe(t,e){var r=t.__data__;return dPe(e)?r[typeof e=="string"?"string":"hash"]:r.map}z5.exports=CPe});var X5=C((Vtt,V5)=>{var mPe=Mf();function IPe(t){var e=mPe(this,t).delete(t);return this.size-=e?1:0,e}V5.exports=IPe});var _5=C((Xtt,Z5)=>{var EPe=Mf();function yPe(t){return EPe(this,t).get(t)}Z5.exports=yPe});var e6=C((Ztt,$5)=>{var BPe=Mf();function wPe(t){return BPe(this,t).has(t)}$5.exports=wPe});var r6=C((_tt,t6)=>{var QPe=Mf();function bPe(t,e){var r=QPe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}t6.exports=bPe});var Ay=C(($tt,i6)=>{var DPe=q5(),SPe=X5(),xPe=_5(),PPe=e6(),kPe=r6();function cu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var s6=Ay(),vPe="Expected a function";function kP(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(vPe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(kP.Cache||s6),r}kP.Cache=s6;n6.exports=kP});var A6=C((trt,a6)=>{var FPe=o6(),RPe=500;function LPe(t){var e=FPe(t,function(i){return r.size===RPe&&r.clear(),i}),r=e.cache;return e}a6.exports=LPe});var c6=C((rrt,l6)=>{var NPe=A6(),MPe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,OPe=/\\(\\)?/g,KPe=NPe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(MPe,function(r,i,n,s){e.push(n?s.replace(OPe,"$1"):i||r)}),e});l6.exports=KPe});var uu=C((irt,u6)=>{var TPe=dn(),UPe=sy(),HPe=c6(),YPe=Rc();function GPe(t,e){return TPe(t)?t:UPe(t,e)?[t]:HPe(YPe(t))}u6.exports=GPe});var el=C((nrt,g6)=>{var jPe=JI(),qPe=1/0;function JPe(t){if(typeof t=="string"||jPe(t))return t;var e=t+"";return e=="0"&&1/t==-qPe?"-0":e}g6.exports=JPe});var Of=C((srt,h6)=>{var WPe=uu(),zPe=el();function VPe(t,e){e=WPe(e,t);for(var r=0,i=e.length;t!=null&&r{var XPe=ma(),ZPe=function(){try{var t=XPe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();f6.exports=ZPe});var gu=C((art,p6)=>{var d6=vP();function _Pe(t,e,r){e=="__proto__"&&d6?d6(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}p6.exports=_Pe});var ly=C((Art,C6)=>{var $Pe=gu(),eke=Au(),tke=Object.prototype,rke=tke.hasOwnProperty;function ike(t,e,r){var i=t[e];(!(rke.call(t,e)&&eke(i,r))||r===void 0&&!(e in t))&&$Pe(t,e,r)}C6.exports=ike});var Kf=C((lrt,m6)=>{var nke=9007199254740991,ske=/^(?:0|[1-9]\d*)$/;function oke(t,e){var r=typeof t;return e=e==null?nke:e,!!e&&(r=="number"||r!="symbol"&&ske.test(t))&&t>-1&&t%1==0&&t{var ake=ly(),Ake=uu(),lke=Kf(),E6=Yn(),cke=el();function uke(t,e,r,i){if(!E6(t))return t;e=Ake(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var gke=Of(),hke=FP(),fke=uu();function pke(t,e,r){for(var i=-1,n=e.length,s={};++i{function dke(t,e){return t!=null&&e in Object(t)}w6.exports=dke});var D6=C((hrt,b6)=>{var Cke=OA(),mke=cs(),Ike="[object Arguments]";function Eke(t){return mke(t)&&Cke(t)==Ike}b6.exports=Eke});var Tf=C((frt,S6)=>{var x6=D6(),yke=cs(),P6=Object.prototype,Bke=P6.hasOwnProperty,wke=P6.propertyIsEnumerable,Qke=x6(function(){return arguments}())?x6:function(t){return yke(t)&&Bke.call(t,"callee")&&!wke.call(t,"callee")};S6.exports=Qke});var cy=C((prt,k6)=>{var bke=9007199254740991;function Dke(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=bke}k6.exports=Dke});var RP=C((drt,v6)=>{var Ske=uu(),xke=Tf(),Pke=dn(),kke=Kf(),vke=cy(),Fke=el();function Rke(t,e,r){e=Ske(e,t);for(var i=-1,n=e.length,s=!1;++i{var Lke=Q6(),Nke=RP();function Mke(t,e){return t!=null&&Nke(t,e,Lke)}F6.exports=Mke});var L6=C((mrt,R6)=>{var Oke=B6(),Kke=LP();function Tke(t,e){return Oke(t,e,function(r,i){return Kke(t,i)})}R6.exports=Tke});var uy=C((Irt,N6)=>{function Uke(t,e){for(var r=-1,i=e.length,n=t.length;++r{var O6=MA(),Hke=Tf(),Yke=dn(),K6=O6?O6.isConcatSpreadable:void 0;function Gke(t){return Yke(t)||Hke(t)||!!(K6&&t&&t[K6])}M6.exports=Gke});var Y6=C((yrt,U6)=>{var jke=uy(),qke=T6();function H6(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=qke),n||(n=[]);++s0&&r(a)?e>1?H6(a,e-1,r,i,n):jke(n,a):i||(n[n.length]=a)}return n}U6.exports=H6});var j6=C((Brt,G6)=>{var Jke=Y6();function Wke(t){var e=t==null?0:t.length;return e?Jke(t,1):[]}G6.exports=Wke});var J6=C((wrt,q6)=>{function zke(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}q6.exports=zke});var NP=C((Qrt,W6)=>{var Vke=J6(),z6=Math.max;function Xke(t,e,r){return e=z6(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=z6(i.length-e,0),o=Array(s);++n{function Zke(t){return function(){return t}}V6.exports=Zke});var gy=C((Drt,Z6)=>{function _ke(t){return t}Z6.exports=_ke});var eV=C((Srt,_6)=>{var $ke=X6(),$6=vP(),eve=gy(),tve=$6?function(t,e){return $6(t,"toString",{configurable:!0,enumerable:!1,value:$ke(e),writable:!0})}:eve;_6.exports=tve});var rV=C((xrt,tV)=>{var rve=800,ive=16,nve=Date.now;function sve(t){var e=0,r=0;return function(){var i=nve(),n=ive-(i-r);if(r=i,n>0){if(++e>=rve)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}tV.exports=sve});var MP=C((Prt,iV)=>{var ove=eV(),ave=rV(),Ave=ave(ove);iV.exports=Ave});var sV=C((krt,nV)=>{var lve=j6(),cve=NP(),uve=MP();function gve(t){return uve(cve(t,void 0,lve),t+"")}nV.exports=gve});var aV=C((vrt,oV)=>{var hve=L6(),fve=sV(),pve=fve(function(t,e){return t==null?{}:hve(t,e)});oV.exports=pve});var mV=C((ynt,pV)=>{"use strict";var JP;try{JP=Map}catch(t){}var WP;try{WP=Set}catch(t){}function dV(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(CV);if(JP&&t instanceof JP)return new Map(Array.from(t.entries()));if(WP&&t instanceof WP)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:dV(t[n],e,r)}return i}return t}function CV(t){return dV(t,[],[])}pV.exports=CV});var Gf=C(zP=>{"use strict";Object.defineProperty(zP,"__esModule",{value:!0});zP.default=Qve;var bve=Object.prototype.toString,Dve=Error.prototype.toString,Sve=RegExp.prototype.toString,xve=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",Pve=/^Symbol\((.*)\)(.*)$/;function kve(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function IV(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return kve(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return xve.call(t).replace(Pve,"Symbol($1)");let i=bve.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+Dve.call(t)+"]":i==="RegExp"?Sve.call(t):null}function Qve(t,e){let r=IV(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=IV(this[i],e);return s!==null?s:n},2)}});var ho=C(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.default=vr.array=vr.object=vr.boolean=vr.date=vr.number=vr.string=vr.mixed=void 0;var EV=vve(Gf());function vve(t){return t&&t.__esModule?t:{default:t}}var yV={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,EV.default)(r,!0)}\``+(n?` (cast from the value \`${(0,EV.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};vr.mixed=yV;var BV={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};vr.string=BV;var wV={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};vr.number=wV;var QV={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};vr.date=QV;var bV={isValue:"${path} field must be ${value}"};vr.boolean=bV;var DV={noUnknown:"${path} field has unspecified keys: ${unknown}"};vr.object=DV;var SV={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};vr.array=SV;var Fve=Object.assign(Object.create(null),{mixed:yV,string:BV,number:wV,date:QV,object:DV,array:SV,boolean:bV});vr.default=Fve});var PV=C((Qnt,xV)=>{var Rve=Object.prototype,Lve=Rve.hasOwnProperty;function Nve(t,e){return t!=null&&Lve.call(t,e)}xV.exports=Nve});var jf=C((bnt,kV)=>{var Mve=PV(),Ove=RP();function Kve(t,e){return t!=null&&Ove(t,e,Mve)}kV.exports=Kve});var fu=C(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.default=void 0;var Tve=t=>t&&t.__isYupSchema__;Cy.default=Tve});var RV=C(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.default=void 0;var Uve=vV(jf()),Hve=vV(fu());function vV(t){return t&&t.__esModule?t:{default:t}}var FV=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,Uve.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,Hve.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},Yve=FV;my.default=Yve});var XP=C(VP=>{"use strict";Object.defineProperty(VP,"__esModule",{value:!0});VP.default=Gve;function Gve(t){return t==null?[]:[].concat(t)}});var tl=C(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.default=void 0;var jve=LV(Gf()),qve=LV(XP());function LV(t){return t&&t.__esModule?t:{default:t}}function ZP(){return ZP=Object.assign||function(t){for(var e=1;e(0,jve.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,qve.default)(e).forEach(s=>{qf.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,qf)}};Iy.default=qf});var Ey=C(_P=>{"use strict";Object.defineProperty(_P,"__esModule",{value:!0});_P.default=Wve;var $P=zve(tl());function zve(t){return t&&t.__esModule?t:{default:t}}var Vve=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function Wve(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=Vve(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new $P.default(o,s,l)):c(null,s);for(let h=0;h{function Xve(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}NV.exports=Xve});var ek=C((Fnt,OV)=>{var Zve=MV(),_ve=Zve();OV.exports=_ve});var TV=C((Rnt,KV)=>{function $ve(t,e){for(var r=-1,i=Array(t);++r{function eFe(){return!1}UV.exports=eFe});var Wf=C((Jf,pu)=>{var tFe=Tn(),rFe=HV(),YV=typeof Jf=="object"&&Jf&&!Jf.nodeType&&Jf,GV=YV&&typeof pu=="object"&&pu&&!pu.nodeType&&pu,iFe=GV&&GV.exports===YV,jV=iFe?tFe.Buffer:void 0,nFe=jV?jV.isBuffer:void 0,sFe=nFe||rFe;pu.exports=sFe});var JV=C((Nnt,qV)=>{var oFe=OA(),aFe=cy(),AFe=cs(),lFe="[object Arguments]",cFe="[object Array]",uFe="[object Boolean]",gFe="[object Date]",hFe="[object Error]",fFe="[object Function]",pFe="[object Map]",dFe="[object Number]",CFe="[object Object]",mFe="[object RegExp]",IFe="[object Set]",EFe="[object String]",yFe="[object WeakMap]",BFe="[object ArrayBuffer]",wFe="[object DataView]",QFe="[object Float32Array]",bFe="[object Float64Array]",DFe="[object Int8Array]",SFe="[object Int16Array]",xFe="[object Int32Array]",PFe="[object Uint8Array]",kFe="[object Uint8ClampedArray]",vFe="[object Uint16Array]",FFe="[object Uint32Array]",Yt={};Yt[QFe]=Yt[bFe]=Yt[DFe]=Yt[SFe]=Yt[xFe]=Yt[PFe]=Yt[kFe]=Yt[vFe]=Yt[FFe]=!0;Yt[lFe]=Yt[cFe]=Yt[BFe]=Yt[uFe]=Yt[wFe]=Yt[gFe]=Yt[hFe]=Yt[fFe]=Yt[pFe]=Yt[dFe]=Yt[CFe]=Yt[mFe]=Yt[IFe]=Yt[EFe]=Yt[yFe]=!1;function RFe(t){return AFe(t)&&aFe(t.length)&&!!Yt[oFe(t)]}qV.exports=RFe});var yy=C((Mnt,WV)=>{function LFe(t){return function(e){return t(e)}}WV.exports=LFe});var By=C((zf,du)=>{var NFe=QS(),zV=typeof zf=="object"&&zf&&!zf.nodeType&&zf,Vf=zV&&typeof du=="object"&&du&&!du.nodeType&&du,MFe=Vf&&Vf.exports===zV,tk=MFe&&NFe.process,OFe=function(){try{var t=Vf&&Vf.require&&Vf.require("util").types;return t||tk&&tk.binding&&tk.binding("util")}catch(e){}}();du.exports=OFe});var wy=C((Ont,VV)=>{var KFe=JV(),TFe=yy(),XV=By(),ZV=XV&&XV.isTypedArray,UFe=ZV?TFe(ZV):KFe;VV.exports=UFe});var rk=C((Knt,_V)=>{var HFe=TV(),YFe=Tf(),GFe=dn(),jFe=Wf(),qFe=Kf(),JFe=wy(),WFe=Object.prototype,zFe=WFe.hasOwnProperty;function VFe(t,e){var r=GFe(t),i=!r&&YFe(t),n=!r&&!i&&jFe(t),s=!r&&!i&&!n&&JFe(t),o=r||i||n||s,a=o?HFe(t.length,String):[],l=a.length;for(var c in t)(e||zFe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||qFe(c,l)))&&a.push(c);return a}_V.exports=VFe});var Qy=C((Tnt,$V)=>{var XFe=Object.prototype;function ZFe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||XFe;return t===r}$V.exports=ZFe});var ik=C((Unt,e9)=>{function _Fe(t,e){return function(r){return t(e(r))}}e9.exports=_Fe});var r9=C((Hnt,t9)=>{var $Fe=ik(),eRe=$Fe(Object.keys,Object);t9.exports=eRe});var n9=C((Ynt,i9)=>{var tRe=Qy(),rRe=r9(),iRe=Object.prototype,nRe=iRe.hasOwnProperty;function sRe(t){if(!tRe(t))return rRe(t);var e=[];for(var r in Object(t))nRe.call(t,r)&&r!="constructor"&&e.push(r);return e}i9.exports=sRe});var Xf=C((Gnt,s9)=>{var oRe=oy(),aRe=cy();function ARe(t){return t!=null&&aRe(t.length)&&!oRe(t)}s9.exports=ARe});var Cu=C((jnt,o9)=>{var lRe=rk(),cRe=n9(),uRe=Xf();function gRe(t){return uRe(t)?lRe(t):cRe(t)}o9.exports=gRe});var nk=C((qnt,a9)=>{var hRe=ek(),fRe=Cu();function pRe(t,e){return t&&hRe(t,e,fRe)}a9.exports=pRe});var l9=C((Jnt,A9)=>{var dRe=Nf();function CRe(){this.__data__=new dRe,this.size=0}A9.exports=CRe});var u9=C((Wnt,c9)=>{function mRe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}c9.exports=mRe});var h9=C((znt,g9)=>{function IRe(t){return this.__data__.get(t)}g9.exports=IRe});var p9=C((Vnt,f9)=>{function ERe(t){return this.__data__.has(t)}f9.exports=ERe});var C9=C((Xnt,d9)=>{var yRe=Nf(),BRe=ay(),wRe=Ay(),QRe=200;function bRe(t,e){var r=this.__data__;if(r instanceof yRe){var i=r.__data__;if(!BRe||i.length{var DRe=Nf(),SRe=l9(),xRe=u9(),PRe=h9(),kRe=p9(),vRe=C9();function mu(t){var e=this.__data__=new DRe(t);this.size=e.size}mu.prototype.clear=SRe;mu.prototype.delete=xRe;mu.prototype.get=PRe;mu.prototype.has=kRe;mu.prototype.set=vRe;m9.exports=mu});var E9=C((_nt,I9)=>{var FRe="__lodash_hash_undefined__";function RRe(t){return this.__data__.set(t,FRe),this}I9.exports=RRe});var B9=C(($nt,y9)=>{function LRe(t){return this.__data__.has(t)}y9.exports=LRe});var Q9=C((est,w9)=>{var NRe=Ay(),MRe=E9(),ORe=B9();function by(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new NRe;++e{function KRe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function TRe(t,e){return t.has(e)}S9.exports=TRe});var sk=C((ist,P9)=>{var URe=Q9(),HRe=D9(),YRe=x9(),GRe=1,jRe=2;function qRe(t,e,r,i,n,s){var o=r&GRe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,h=!0,f=r&jRe?new URe:void 0;for(s.set(t,e),s.set(e,t);++g{var JRe=Tn(),WRe=JRe.Uint8Array;k9.exports=WRe});var F9=C((sst,v9)=>{function zRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}v9.exports=zRe});var L9=C((ost,R9)=>{function VRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}R9.exports=VRe});var T9=C((ast,N9)=>{var M9=MA(),O9=ok(),XRe=Au(),ZRe=sk(),_Re=F9(),$Re=L9(),eLe=1,tLe=2,rLe="[object Boolean]",iLe="[object Date]",nLe="[object Error]",sLe="[object Map]",oLe="[object Number]",aLe="[object RegExp]",ALe="[object Set]",lLe="[object String]",cLe="[object Symbol]",uLe="[object ArrayBuffer]",gLe="[object DataView]",K9=M9?M9.prototype:void 0,ak=K9?K9.valueOf:void 0;function hLe(t,e,r,i,n,s,o){switch(r){case gLe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case uLe:return!(t.byteLength!=e.byteLength||!s(new O9(t),new O9(e)));case rLe:case iLe:case oLe:return XRe(+t,+e);case nLe:return t.name==e.name&&t.message==e.message;case aLe:case lLe:return t==e+"";case sLe:var a=_Re;case ALe:var l=i&eLe;if(a||(a=$Re),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=tLe,o.set(t,e);var u=ZRe(a(t),a(e),i,n,s,o);return o.delete(t),u;case cLe:if(ak)return ak.call(t)==ak.call(e)}return!1}N9.exports=hLe});var Ak=C((Ast,U9)=>{var fLe=uy(),pLe=dn();function dLe(t,e,r){var i=e(t);return pLe(t)?i:fLe(i,r(t))}U9.exports=dLe});var Y9=C((lst,H9)=>{function CLe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function mLe(){return[]}G9.exports=mLe});var Dy=C((ust,j9)=>{var ILe=Y9(),ELe=lk(),yLe=Object.prototype,BLe=yLe.propertyIsEnumerable,q9=Object.getOwnPropertySymbols,wLe=q9?function(t){return t==null?[]:(t=Object(t),ILe(q9(t),function(e){return BLe.call(t,e)}))}:ELe;j9.exports=wLe});var ck=C((gst,J9)=>{var QLe=Ak(),bLe=Dy(),DLe=Cu();function SLe(t){return QLe(t,DLe,bLe)}J9.exports=SLe});var V9=C((hst,W9)=>{var z9=ck(),xLe=1,PLe=Object.prototype,kLe=PLe.hasOwnProperty;function vLe(t,e,r,i,n,s){var o=r&xLe,a=z9(t),l=a.length,c=z9(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var h=a[g];if(!(o?h in e:kLe.call(e,h)))return!1}var f=s.get(t),p=s.get(e);if(f&&p)return f==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var I=o;++g{var FLe=ma(),RLe=Tn(),LLe=FLe(RLe,"DataView");X9.exports=LLe});var $9=C((pst,_9)=>{var NLe=ma(),MLe=Tn(),OLe=NLe(MLe,"Promise");_9.exports=OLe});var t7=C((dst,e7)=>{var KLe=ma(),TLe=Tn(),ULe=KLe(TLe,"Set");e7.exports=ULe});var i7=C((Cst,r7)=>{var HLe=ma(),YLe=Tn(),GLe=HLe(YLe,"WeakMap");r7.exports=GLe});var _f=C((mst,n7)=>{var uk=Z9(),gk=ay(),hk=$9(),fk=t7(),pk=i7(),s7=OA(),Iu=PP(),o7="[object Map]",jLe="[object Object]",a7="[object Promise]",A7="[object Set]",l7="[object WeakMap]",c7="[object DataView]",qLe=Iu(uk),JLe=Iu(gk),WLe=Iu(hk),zLe=Iu(fk),VLe=Iu(pk),rl=s7;(uk&&rl(new uk(new ArrayBuffer(1)))!=c7||gk&&rl(new gk)!=o7||hk&&rl(hk.resolve())!=a7||fk&&rl(new fk)!=A7||pk&&rl(new pk)!=l7)&&(rl=function(t){var e=s7(t),r=e==jLe?t.constructor:void 0,i=r?Iu(r):"";if(i)switch(i){case qLe:return c7;case JLe:return o7;case WLe:return a7;case zLe:return A7;case VLe:return l7}return e});n7.exports=rl});var m7=C((Ist,u7)=>{var dk=Zf(),XLe=sk(),ZLe=T9(),_Le=V9(),g7=_f(),h7=dn(),f7=Wf(),$Le=wy(),eNe=1,p7="[object Arguments]",d7="[object Array]",Sy="[object Object]",tNe=Object.prototype,C7=tNe.hasOwnProperty;function rNe(t,e,r,i,n,s){var o=h7(t),a=h7(e),l=o?d7:g7(t),c=a?d7:g7(e);l=l==p7?Sy:l,c=c==p7?Sy:c;var u=l==Sy,g=c==Sy,h=l==c;if(h&&f7(t)){if(!f7(e))return!1;o=!0,u=!1}if(h&&!u)return s||(s=new dk),o||$Le(t)?XLe(t,e,r,i,n,s):ZLe(t,e,l,r,i,n,s);if(!(r&eNe)){var f=u&&C7.call(t,"__wrapped__"),p=g&&C7.call(e,"__wrapped__");if(f||p){var m=f?t.value():t,I=p?e.value():e;return s||(s=new dk),n(m,I,r,i,s)}}return h?(s||(s=new dk),_Le(t,e,r,i,n,s)):!1}u7.exports=rNe});var Ck=C((Est,I7)=>{var iNe=m7(),E7=cs();function y7(t,e,r,i,n){return t===e?!0:t==null||e==null||!E7(t)&&!E7(e)?t!==t&&e!==e:iNe(t,e,r,i,y7,n)}I7.exports=y7});var w7=C((yst,B7)=>{var nNe=Zf(),sNe=Ck(),oNe=1,aNe=2;function ANe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var lNe=Yn();function cNe(t){return t===t&&!lNe(t)}Q7.exports=cNe});var D7=C((wst,b7)=>{var uNe=mk(),gNe=Cu();function hNe(t){for(var e=gNe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,uNe(n)]}return e}b7.exports=hNe});var Ik=C((Qst,S7)=>{function fNe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}S7.exports=fNe});var P7=C((bst,x7)=>{var pNe=w7(),dNe=D7(),CNe=Ik();function mNe(t){var e=dNe(t);return e.length==1&&e[0][2]?CNe(e[0][0],e[0][1]):function(r){return r===t||pNe(r,t,e)}}x7.exports=mNe});var xy=C((Dst,k7)=>{var INe=Of();function ENe(t,e,r){var i=t==null?void 0:INe(t,e);return i===void 0?r:i}k7.exports=ENe});var F7=C((Sst,v7)=>{var yNe=Ck(),BNe=xy(),wNe=LP(),QNe=sy(),bNe=mk(),DNe=Ik(),SNe=el(),xNe=1,PNe=2;function kNe(t,e){return QNe(t)&&bNe(e)?DNe(SNe(t),e):function(r){var i=BNe(r,t);return i===void 0&&i===e?wNe(r,t):yNe(e,i,xNe|PNe)}}v7.exports=kNe});var L7=C((xst,R7)=>{function vNe(t){return function(e){return e==null?void 0:e[t]}}R7.exports=vNe});var M7=C((Pst,N7)=>{var FNe=Of();function RNe(t){return function(e){return FNe(e,t)}}N7.exports=RNe});var K7=C((kst,O7)=>{var LNe=L7(),NNe=M7(),MNe=sy(),ONe=el();function KNe(t){return MNe(t)?LNe(ONe(t)):NNe(t)}O7.exports=KNe});var Ek=C((vst,T7)=>{var TNe=P7(),UNe=F7(),HNe=gy(),YNe=dn(),GNe=K7();function jNe(t){return typeof t=="function"?t:t==null?HNe:typeof t=="object"?YNe(t)?UNe(t[0],t[1]):TNe(t):GNe(t)}T7.exports=jNe});var yk=C((Fst,U7)=>{var qNe=gu(),JNe=nk(),WNe=Ek();function zNe(t,e){var r={};return e=WNe(e,3),JNe(t,function(i,n,s){qNe(r,n,e(i,n,s))}),r}U7.exports=zNe});var $f=C((Rst,H7)=>{"use strict";function il(t){this._maxSize=t,this.clear()}il.prototype.clear=function(){this._size=0,this._values=Object.create(null)};il.prototype.get=function(t){return this._values[t]};il.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var VNe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Y7=/^\d+$/,XNe=/^\d/,ZNe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,_Ne=/^\s*(['"]?)(.*?)(\1)\s*$/,Bk=512,G7=new il(Bk),j7=new il(Bk),q7=new il(Bk);H7.exports={Cache:il,split:Qk,normalizePath:wk,setter:function(t){var e=wk(t);return j7.get(t)||j7.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.create=iMe;ep.default=void 0;var nMe=$f(),Py={context:"$",value:"."};function iMe(t,e){return new ky(t,e)}var ky=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===Py.context,this.isValue=this.key[0]===Py.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?Py.context:this.isValue?Py.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,nMe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};ep.default=ky;ky.prototype.__isYupRef=!0});var J7=C(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});Dk.default=sMe;var oMe=Sk(yk()),vy=Sk(tl()),aMe=Sk(nl());function Sk(t){return t&&t.__esModule?t:{default:t}}function Fy(){return Fy=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function sMe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=AMe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:h,params:f,message:p}=t,{parent:m,context:I}=a;function y(K){return aMe.default.isRef(K)?K.getValue(n,m,I):K}function w(K={}){let v=(0,oMe.default)(Fy({value:n,originalValue:l,label:o,path:K.path||s},f,K.params),y),J=new vy.default(vy.default.formatError(K.message||p,v),n,v.path,K.type||g);return J.params=v,J}let x=Fy({path:s,parent:m,type:g,createError:w,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(h.call(x,n,x)).then(K=>{vy.default.isError(K)?i(K):K?i(null,K):i(w())})}catch(K){i(K)}return}let F;try{var N;if(F=h.call(x,n,x),typeof((N=F)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(K){i(K);return}vy.default.isError(F)?i(F):F?i(null,F):i(w())}return e.OPTIONS=t,e}});var xk=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.getIn=W7;tp.default=void 0;var lMe=$f(),cMe=t=>t.substr(0,t.length-1).substr(1);function W7(t,e,r,i=r){let n,s,o;return e?((0,lMe.forEach)(e,(a,l,c)=>{let u=l?cMe(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var uMe=(t,e,r,i)=>W7(t,e,r,i).schema,gMe=uMe;tp.default=gMe});var V7=C(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.default=void 0;var z7=hMe(nl());function hMe(t){return t&&t.__esModule?t:{default:t}}var Ly=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){z7.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){z7.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new Ly;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};Ry.default=Ly});var po=C(Ny=>{"use strict";Object.defineProperty(Ny,"__esModule",{value:!0});Ny.default=void 0;var X7=fo(mV()),Eu=ho(),fMe=fo(RV()),Z7=fo(Ey()),My=fo(J7()),_7=fo(Gf()),pMe=fo(nl()),dMe=xk(),CMe=fo(XP()),$7=fo(tl()),eX=fo(V7());function fo(t){return t&&t.__esModule?t:{default:t}}function wn(){return wn=Object.assign||function(t){for(var e=1;e{this.typeError(Eu.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=wn({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=wn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,X7.default)(wn({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=wn({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(wn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,_7.default)(e),o=(0,_7.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,yn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,jX.default)({args:g,value:u,path:s,sync:n,tests:h,endEarly:c},f=>{if(f)return void i(f,u);(0,jX.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(yn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(yn({},r,{value:e})),n;return i._validate(e,yn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(WX.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(WX.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,GX.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Eu.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Eu.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Eu.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Ny.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,oMe.default)(e).map(s=>new nMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new iMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,Ny.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Eu.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Ny.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Eu.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Ny.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Ly.default=ds;ds.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ds.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,sMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],yn({},i,{parent:n,path:e}))};for(let t of["equals","is"])ds.prototype[t]=ds.prototype.oneOf;for(let t of["not","nope"])ds.prototype[t]=ds.prototype.notOneOf;ds.prototype.optional=ds.prototype.notRequired});var XX=C(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});Vf.create=VX;Vf.default=void 0;var AMe=aMe(uo());function aMe(t){return t&&t.__esModule?t:{default:t}}var Qk=AMe.default,lMe=Qk;Vf.default=lMe;function VX(){return new Qk}VX.prototype=Qk.prototype});var yu=C(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.default=void 0;var cMe=t=>t==null;My.default=cMe});var t7=C(Xf=>{"use strict";Object.defineProperty(Xf,"__esModule",{value:!0});Xf.create=ZX;Xf.default=void 0;var uMe=_X(uo()),$X=lo(),e7=_X(yu());function _X(t){return t&&t.__esModule?t:{default:t}}function ZX(){return new Oy}var Oy=class extends uMe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=$X.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,e7.default)(r)||r===!0}})}isFalse(e=$X.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,e7.default)(r)||r===!1}})}};Xf.default=Oy;ZX.prototype=Oy.prototype});var n7=C(Zf=>{"use strict";Object.defineProperty(Zf,"__esModule",{value:!0});Zf.create=r7;Zf.default=void 0;var Cs=lo(),go=i7(yu()),gMe=i7(uo());function i7(t){return t&&t.__esModule?t:{default:t}}var hMe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,fMe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,pMe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,dMe=t=>(0,go.default)(t)||t===t.trim(),CMe={}.toString();function r7(){return new Ky}var Ky=class extends gMe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===CMe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Cs.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,go.default)(i)||i.length===this.resolve(e)}})}min(e,r=Cs.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,go.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Cs.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,go.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Cs.string.matches,params:{regex:e},test:o=>(0,go.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Cs.string.email){return this.matches(hMe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Cs.string.url){return this.matches(fMe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Cs.string.uuid){return this.matches(pMe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Cs.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:dMe})}lowercase(e=Cs.string.lowercase){return this.transform(r=>(0,go.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,go.default)(r)||r===r.toLowerCase()})}uppercase(e=Cs.string.uppercase){return this.transform(r=>(0,go.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,go.default)(r)||r===r.toUpperCase()})}};Zf.default=Ky;r7.prototype=Ky.prototype});var a7=C(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.create=s7;_f.default=void 0;var al=lo(),Al=o7(yu()),mMe=o7(uo());function o7(t){return t&&t.__esModule?t:{default:t}}var IMe=t=>t!=+t;function s7(){return new Ty}var Ty=class extends mMe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!IMe(e)}min(e,r=al.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Al.default)(i)||i>=this.resolve(e)}})}max(e,r=al.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Al.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=al.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Al.default)(i)||ithis.resolve(e)}})}positive(e=al.number.positive){return this.moreThan(0,e)}negative(e=al.number.negative){return this.lessThan(0,e)}integer(e=al.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Al.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Al.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Al.default)(n)?n:Math[e](n))}};_f.default=Ty;s7.prototype=Ty.prototype});var A7=C(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});bk.default=EMe;var yMe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function EMe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=yMe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var u7=C($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});$f.create=Sk;$f.default=void 0;var BMe=Uy(A7()),l7=lo(),c7=Uy(yu()),wMe=Uy(ol()),QMe=Uy(uo());function Uy(t){return t&&t.__esModule?t:{default:t}}var Dk=new Date(""),bMe=t=>Object.prototype.toString.call(t)==="[object Date]";function Sk(){return new ep}var ep=class extends QMe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,BMe.default)(e),isNaN(e)?Dk:new Date(e))})})}_typeCheck(e){return bMe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(wMe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=l7.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,c7.default)(n)||n>=this.resolve(i)}})}max(e,r=l7.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,c7.default)(n)||n<=this.resolve(i)}})}};$f.default=ep;ep.INVALID_DATE=Dk;Sk.prototype=ep.prototype;Sk.INVALID_DATE=Dk});var h7=C((Lst,g7)=>{function SMe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function DMe(t){return function(e){return t==null?void 0:t[e]}}f7.exports=DMe});var C7=C((Mst,d7)=>{var xMe=p7(),PMe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},kMe=xMe(PMe);d7.exports=kMe});var I7=C((Ost,m7)=>{var vMe=C7(),FMe=Rc(),RMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,LMe="\\u0300-\\u036f",NMe="\\ufe20-\\ufe2f",MMe="\\u20d0-\\u20ff",OMe=LMe+NMe+MMe,KMe="["+OMe+"]",TMe=RegExp(KMe,"g");function UMe(t){return t=FMe(t),t&&t.replace(RMe,vMe).replace(TMe,"")}m7.exports=UMe});var y7=C((Kst,E7)=>{var HMe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function YMe(t){return t.match(HMe)||[]}E7.exports=YMe});var w7=C((Tst,B7)=>{var qMe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GMe(t){return qMe.test(t)}B7.exports=GMe});var Y7=C((Ust,Q7)=>{var b7="\\ud800-\\udfff",jMe="\\u0300-\\u036f",JMe="\\ufe20-\\ufe2f",WMe="\\u20d0-\\u20ff",zMe=jMe+JMe+WMe,S7="\\u2700-\\u27bf",D7="a-z\\xdf-\\xf6\\xf8-\\xff",VMe="\\xac\\xb1\\xd7\\xf7",XMe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ZMe="\\u2000-\\u206f",_Me=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",x7="A-Z\\xc0-\\xd6\\xd8-\\xde",$Me="\\ufe0e\\ufe0f",P7=VMe+XMe+ZMe+_Me,k7="['\u2019]",v7="["+P7+"]",eOe="["+zMe+"]",F7="\\d+",tOe="["+S7+"]",R7="["+D7+"]",L7="[^"+b7+P7+F7+S7+D7+x7+"]",rOe="\\ud83c[\\udffb-\\udfff]",iOe="(?:"+eOe+"|"+rOe+")",nOe="[^"+b7+"]",N7="(?:\\ud83c[\\udde6-\\uddff]){2}",M7="[\\ud800-\\udbff][\\udc00-\\udfff]",Bu="["+x7+"]",sOe="\\u200d",O7="(?:"+R7+"|"+L7+")",oOe="(?:"+Bu+"|"+L7+")",K7="(?:"+k7+"(?:d|ll|m|re|s|t|ve))?",T7="(?:"+k7+"(?:D|LL|M|RE|S|T|VE))?",U7=iOe+"?",H7="["+$Me+"]?",aOe="(?:"+sOe+"(?:"+[nOe,N7,M7].join("|")+")"+H7+U7+")*",AOe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",lOe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",cOe=H7+U7+aOe,uOe="(?:"+[tOe,N7,M7].join("|")+")"+cOe,gOe=RegExp([Bu+"?"+R7+"+"+K7+"(?="+[v7,Bu,"$"].join("|")+")",oOe+"+"+T7+"(?="+[v7,Bu+O7,"$"].join("|")+")",Bu+"?"+O7+"+"+K7,Bu+"+"+T7,lOe,AOe,F7,uOe].join("|"),"g");function hOe(t){return t.match(gOe)||[]}Q7.exports=hOe});var G7=C((Hst,q7)=>{var fOe=y7(),pOe=w7(),dOe=Rc(),COe=Y7();function mOe(t,e,r){return t=dOe(t),e=r?void 0:e,e===void 0?pOe(t)?COe(t):fOe(t):t.match(e)||[]}q7.exports=mOe});var xk=C((Yst,j7)=>{var IOe=h7(),EOe=I7(),yOe=G7(),BOe="['\u2019]",wOe=RegExp(BOe,"g");function QOe(t){return function(e){return IOe(yOe(EOe(e).replace(wOe,"")),t,"")}}j7.exports=QOe});var W7=C((qst,J7)=>{var bOe=xk(),SOe=bOe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});J7.exports=SOe});var V7=C((Gst,z7)=>{var DOe=QD(),xOe=xk(),POe=xOe(function(t,e,r){return e=e.toLowerCase(),t+(r?DOe(e):e)});z7.exports=POe});var Z7=C((jst,X7)=>{var kOe=gu(),vOe=$P(),FOe=pk();function ROe(t,e){var r={};return e=FOe(e,3),vOe(t,function(i,n,s){kOe(r,e(i,n,s),i)}),r}X7.exports=ROe});var $7=C((Jst,Pk)=>{Pk.exports=function(t){return _7(LOe(t),t)};Pk.exports.array=_7;function _7(t,e){var r=t.length,i=new Array(r),n={},s=r,o=NOe(e),a=MOe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var h;try{h=", node was:"+JSON.stringify(c)}catch(m){h=""}throw new Error("Cyclic dependency"+h)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var f=o.get(c)||new Set;if(f=Array.from(f),u=f.length){g.add(c);do{var p=f[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function LOe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});kk.default=OOe;var KOe=Hy(py()),TOe=Hy($7()),UOe=Jf(),HOe=Hy(ol()),YOe=Hy(fu());function Hy(t){return t&&t.__esModule?t:{default:t}}function OOe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,UOe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,KOe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),HOe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,YOe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return TOe.default.array(i,r).reverse()}});var rZ=C(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=qOe;function tZ(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function qOe(t){return(e,r)=>tZ(t,e)-tZ(t,r)}});var lZ=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.create=iZ;tp.default=void 0;var nZ=ms(py()),sZ=ms(W7()),GOe=ms(V7()),jOe=ms(Z7()),JOe=ms(dk()),WOe=Jf(),oZ=lo(),zOe=ms(eZ()),aZ=ms(rZ()),VOe=ms(Iy()),XOe=ms(il()),Fk=ms(uo());function ms(t){return t&&t.__esModule?t:{default:t}}function wu(){return wu=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function ZOe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _Oe=(0,aZ.default)([]),Yy=class extends Fk.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_Oe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return AZ(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=wu({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let h=s[g],f=(0,nZ.default)(n,g);if(h){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,h=h.resolve({value:m,context:r.context,parent:l});let I="spec"in h?h.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?h.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else f&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!XOe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!AZ(g)){i(n[0]||null,g);return}a=a||g;let h=this._nodes.map(f=>(p,m)=>{let I=f.indexOf(".")===-1?(r.path?`${r.path}.`:"")+f:`${r.path||""}["${f}"]`,y=this.fields[f];if(y&&"validate"in y){y.validate(g[f],wu({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[f]}),m);return}m(null)});(0,VOe.default)({sync:s,tests:h,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=wu({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof Fk.default&&s instanceof Fk.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,aZ.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,zOe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,WOe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,nZ.default)(s,e)&&(o=wu({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=oZ.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=ZOe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=oZ.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jOe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(GOe.default)}snakeCase(){return this.transformKeys(sZ.default)}constantCase(){return this.transformKeys(e=>(0,sZ.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,JOe.default)(this.fields,r=>r.describe()),e}};tp.default=Yy;function iZ(t){return new Yy(t)}iZ.prototype=Yy.prototype});var uZ=C(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.create=cZ;rp.default=void 0;var Rk=Qu(yu()),$Oe=Qu(fu()),eKe=Qu(Of()),Lk=lo(),tKe=Qu(Iy()),rKe=Qu(il()),iKe=Qu(uo());function Qu(t){return t&&t.__esModule?t:{default:t}}function qy(){return qy=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,qy({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(f,p)=>{if(f){if(!rKe.default.isError(f)||u)return void i(f,p);o.push(f)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}h=h||p;let m=new Array(p.length);for(let I=0;Ic.validate(y,x,N)}(0,tKe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,$Oe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,eKe.default)(e));return r.innerType=e,r}length(e,r=Lk.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Rk.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||Lk.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Rk.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||Lk.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Rk.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};rp.default=Gy;cZ.prototype=Gy.prototype});var gZ=C(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.create=nKe;ip.default=void 0;var oKe=sKe(fu());function sKe(t){return t&&t.__esModule?t:{default:t}}function nKe(t){return new Nk(t)}var Nk=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,oKe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},aKe=Nk;ip.default=aKe});var hZ=C(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});Mk.default=AKe;var cKe=lKe(lo());function lKe(t){return t&&t.__esModule?t:{default:t}}function AKe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{cKe.default[e][r]=t[e][r]})})}});var Kk=C(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.addMethod=uKe;Object.defineProperty(qt,"MixedSchema",{enumerable:!0,get:function(){return fZ.default}});Object.defineProperty(qt,"mixed",{enumerable:!0,get:function(){return fZ.create}});Object.defineProperty(qt,"BooleanSchema",{enumerable:!0,get:function(){return Ok.default}});Object.defineProperty(qt,"bool",{enumerable:!0,get:function(){return Ok.create}});Object.defineProperty(qt,"boolean",{enumerable:!0,get:function(){return Ok.create}});Object.defineProperty(qt,"StringSchema",{enumerable:!0,get:function(){return pZ.default}});Object.defineProperty(qt,"string",{enumerable:!0,get:function(){return pZ.create}});Object.defineProperty(qt,"NumberSchema",{enumerable:!0,get:function(){return dZ.default}});Object.defineProperty(qt,"number",{enumerable:!0,get:function(){return dZ.create}});Object.defineProperty(qt,"DateSchema",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(qt,"date",{enumerable:!0,get:function(){return CZ.create}});Object.defineProperty(qt,"ObjectSchema",{enumerable:!0,get:function(){return mZ.default}});Object.defineProperty(qt,"object",{enumerable:!0,get:function(){return mZ.create}});Object.defineProperty(qt,"ArraySchema",{enumerable:!0,get:function(){return IZ.default}});Object.defineProperty(qt,"array",{enumerable:!0,get:function(){return IZ.create}});Object.defineProperty(qt,"ref",{enumerable:!0,get:function(){return gKe.create}});Object.defineProperty(qt,"lazy",{enumerable:!0,get:function(){return hKe.create}});Object.defineProperty(qt,"ValidationError",{enumerable:!0,get:function(){return fKe.default}});Object.defineProperty(qt,"reach",{enumerable:!0,get:function(){return pKe.default}});Object.defineProperty(qt,"isSchema",{enumerable:!0,get:function(){return EZ.default}});Object.defineProperty(qt,"setLocale",{enumerable:!0,get:function(){return dKe.default}});Object.defineProperty(qt,"BaseSchema",{enumerable:!0,get:function(){return CKe.default}});var fZ=ll(XX()),Ok=ll(t7()),pZ=ll(n7()),dZ=ll(a7()),CZ=ll(u7()),mZ=ll(lZ()),IZ=ll(uZ()),gKe=ol(),hKe=gZ(),fKe=np(il()),pKe=np(wk()),EZ=np(fu()),dKe=np(hZ()),CKe=np(uo());function np(t){return t&&t.__esModule?t:{default:t}}function yZ(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return yZ=function(){return t},t}function ll(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=yZ();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function uKe(t,e,r){if(!t||!(0,EZ.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var SZ=C((got,op)=>{"use strict";var EKe=process.env.TERM_PROGRAM==="Hyper",yKe=process.platform==="win32",wZ=process.platform==="linux",Tk={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},QZ=Object.assign({},Tk,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),bZ=Object.assign({},Tk,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:wZ?"\u25B8":"\u276F",pointerSmall:wZ?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});op.exports=yKe&&!EKe?QZ:bZ;Reflect.defineProperty(op.exports,"common",{enumerable:!1,value:Tk});Reflect.defineProperty(op.exports,"windows",{enumerable:!1,value:QZ});Reflect.defineProperty(op.exports,"other",{enumerable:!1,value:bZ})});var Hn=C((hot,Uk)=>{"use strict";var BKe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),wKe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,DZ=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` -`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=wKe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!BKe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=SZ(),t.define=n,t};Uk.exports=DZ();Uk.exports.create=DZ});var Xr=C(ht=>{"use strict";var QKe=Object.prototype.toString,Bn=Hn(),xZ=!1,Hk=[],PZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Bn.hasColor(t);var Jy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>QKe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};ht.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` -`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};ht.unmute=t=>{let e=t.stack.find(i=>Bn.keys.color.includes(i));return e?Bn[e]:t.stack.find(i=>i.slice(2)==="bg")?Bn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Bn.keys.color.includes(i));if(e){let i=Bn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Bn[r.slice(2).toLowerCase()]||t:Bn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Bn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Bn[PZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=PZ[i];return n&&Bn["bg"+ht.pascal(n)]||t}return Bn.none};ht.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Jy(t))return e;if(!Jy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Jy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Jy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{xZ||(xZ=!0,Hk.forEach(n=>n()),r===!0&&process.exit(128+i))};Hk.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Hk.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var kZ=C(Su=>{"use strict";Su.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Su.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Su.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Su.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Su.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var RZ=C((dot,vZ)=>{"use strict";var FZ=require("readline"),bKe=kZ(),SKe=/^(?:\x1b)([a-zA-Z0-9])$/,DKe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,xKe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function PKe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function kKe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Wy=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` -`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=SKe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=DKe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=xKe[s],i.shift=PKe(s)||i.shift,i.ctrl=kKe(s)||i.ctrl}return i};Wy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=FZ.createInterface({terminal:!0,input:r});FZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,Wy(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};Wy.action=(t,e,r)=>{let i=P(P({},bKe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};vZ.exports=Wy});var NZ=C((Cot,LZ)=>{"use strict";LZ.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),vKe(t,r,i)}};function vKe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var KZ=C((mot,MZ)=>{"use strict";var{define:FKe,width:RKe}=Xr(),OZ=class{constructor(e){let r=e.options;FKe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=RKe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};MZ.exports=OZ});var UZ=C((Iot,TZ)=>{"use strict";var Yk=Xr(),Mr=Hn(),qk={default:Mr.noop,noop:Mr.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||Yk.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||Yk.complement(this.primary)},primary:Mr.cyan,success:Mr.green,danger:Mr.magenta,strong:Mr.bold,warning:Mr.yellow,muted:Mr.dim,disabled:Mr.gray,dark:Mr.dim.gray,underline:Mr.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};qk.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Mr.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Mr.visible=t.styles.visible);let e=Yk.merge({},qk,t.styles);delete e.merge;for(let r of Object.keys(Mr))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Mr[r]});for(let r of Object.keys(Mr.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Mr[r]});return e};TZ.exports=qk});var YZ=C((Eot,HZ)=>{"use strict";var Gk=process.platform==="win32",ho=Hn(),LKe=Xr(),jk=V(P({},ho.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:ho.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:ho.symbols.question,submitted:ho.symbols.check,cancelled:ho.symbols.cross},separator:{pending:ho.symbols.pointerSmall,submitted:ho.symbols.middot,cancelled:ho.symbols.middot},radio:{off:Gk?"( )":"\u25EF",on:Gk?"(*)":"\u25C9",disabled:Gk?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});jk.merge=t=>{let e=LKe.merge({},ho.symbols,jk,t.symbols);return delete e.merge,e};HZ.exports=jk});var GZ=C((yot,qZ)=>{"use strict";var NKe=UZ(),MKe=YZ(),OKe=Xr();qZ.exports=t=>{t.options=OKe.merge({},t.options.theme,t.options),t.symbols=MKe.merge(t.options),t.styles=NKe.merge(t.options)}});var VZ=C((jZ,JZ)=>{"use strict";var WZ=process.env.TERM_PROGRAM==="Apple_Terminal",KKe=Hn(),Jk=Xr(),Yn=JZ.exports=jZ,Xt="[",zZ="\x07",Wk=!1,Ia=Yn.code={bell:zZ,beep:zZ,beginning:`${Xt}G`,down:`${Xt}J`,esc:Xt,getPosition:`${Xt}6n`,hide:`${Xt}?25l`,line:`${Xt}2K`,lineEnd:`${Xt}K`,lineStart:`${Xt}1K`,restorePosition:Xt+(WZ?"8":"u"),savePosition:Xt+(WZ?"7":"s"),screen:`${Xt}2J`,show:`${Xt}?25h`,up:`${Xt}1J`},cl=Yn.cursor={get hidden(){return Wk},hide(){return Wk=!0,Ia.hide},show(){return Wk=!1,Ia.show},forward:(t=1)=>`${Xt}${t}C`,backward:(t=1)=>`${Xt}${t}D`,nextLine:(t=1)=>`${Xt}E`.repeat(t),prevLine:(t=1)=>`${Xt}F`.repeat(t),up:(t=1)=>t?`${Xt}${t}A`:"",down:(t=1)=>t?`${Xt}${t}B`:"",right:(t=1)=>t?`${Xt}${t}C`:"",left:(t=1)=>t?`${Xt}${t}D`:"",to(t,e){return e?`${Xt}${e+1};${t+1}H`:`${Xt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?cl.left(-t):t>0?cl.right(t):"",r+=e<0?cl.up(-e):e>0?cl.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Jk.isPrimitive(i)?String(i):"",n=Jk.isPrimitive(n)?String(n):"",a=Jk.isPrimitive(a)?String(a):"",o){let l=Yn.cursor.up(o)+Yn.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Yn.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Yn.cursor.move(l)}}},zk=Yn.erase={screen:Ia.screen,up:Ia.up,down:Ia.down,line:Ia.line,lineEnd:Ia.lineEnd,lineStart:Ia.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return zk.line+cl.to(0);let r=s=>[...KKe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(zk.line+cl.prevLine()).repeat(n-1)+zk.line+cl.to(0)}});var Du=C((Bot,XZ)=>{"use strict";var TKe=require("events"),ZZ=Hn(),Vk=RZ(),UKe=NZ(),HKe=KZ(),YKe=GZ(),ki=Xr(),ul=VZ(),zy=class extends TKe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,YKe(this),UKe(this),this.state=new HKe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GKe(this.options.margin),this.setMaxListeners(0),qKe(this)}async keypress(e,r={}){this.keypressed=!0;let i=Vk.action(e,Vk(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ul.code.beep)}cursorHide(){this.stdout.write(ul.cursor.hide()),ki.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ul.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(ul.cursor.down(e)+ul.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ul.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=ZZ.unstyle(i);let n=ZZ.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,wn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,Z7.default)({args:g,value:u,path:s,sync:n,tests:h,endEarly:c},f=>{if(f)return void i(f,u);(0,Z7.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(wn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(wn({},r,{value:e})),n;return i._validate(e,wn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if($7.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if($7.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,X7.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Eu.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Eu.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Eu.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,My.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,CMe.default)(e).map(s=>new pMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new fMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,My.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Eu.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,My.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Eu.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,My.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Ny.default=Is;Is.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Is.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,dMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],wn({},i,{parent:n,path:e}))};for(let t of["equals","is"])Is.prototype[t]=Is.prototype.oneOf;for(let t of["not","nope"])Is.prototype[t]=Is.prototype.notOneOf;Is.prototype.optional=Is.prototype.notRequired});var rX=C(rp=>{"use strict";Object.defineProperty(rp,"__esModule",{value:!0});rp.create=tX;rp.default=void 0;var IMe=mMe(po());function mMe(t){return t&&t.__esModule?t:{default:t}}var Pk=IMe.default,EMe=Pk;rp.default=EMe;function tX(){return new Pk}tX.prototype=Pk.prototype});var yu=C(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});Oy.default=void 0;var yMe=t=>t==null;Oy.default=yMe});var aX=C(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.create=iX;ip.default=void 0;var BMe=nX(po()),sX=ho(),oX=nX(yu());function nX(t){return t&&t.__esModule?t:{default:t}}function iX(){return new Ky}var Ky=class extends BMe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=sX.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,oX.default)(r)||r===!0}})}isFalse(e=sX.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,oX.default)(r)||r===!1}})}};ip.default=Ky;iX.prototype=Ky.prototype});var cX=C(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.create=AX;np.default=void 0;var Es=ho(),Co=lX(yu()),wMe=lX(po());function lX(t){return t&&t.__esModule?t:{default:t}}var QMe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,bMe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,DMe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,SMe=t=>(0,Co.default)(t)||t===t.trim(),xMe={}.toString();function AX(){return new Ty}var Ty=class extends wMe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===xMe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Es.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Co.default)(i)||i.length===this.resolve(e)}})}min(e,r=Es.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Co.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Es.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Co.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Es.string.matches,params:{regex:e},test:o=>(0,Co.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Es.string.email){return this.matches(QMe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Es.string.url){return this.matches(bMe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Es.string.uuid){return this.matches(DMe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Es.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:SMe})}lowercase(e=Es.string.lowercase){return this.transform(r=>(0,Co.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toLowerCase()})}uppercase(e=Es.string.uppercase){return this.transform(r=>(0,Co.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toUpperCase()})}};np.default=Ty;AX.prototype=Ty.prototype});var hX=C(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.create=uX;sp.default=void 0;var sl=ho(),ol=gX(yu()),PMe=gX(po());function gX(t){return t&&t.__esModule?t:{default:t}}var kMe=t=>t!=+t;function uX(){return new Uy}var Uy=class extends PMe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!kMe(e)}min(e,r=sl.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,ol.default)(i)||i>=this.resolve(e)}})}max(e,r=sl.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,ol.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=sl.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,ol.default)(i)||ithis.resolve(e)}})}positive(e=sl.number.positive){return this.moreThan(0,e)}negative(e=sl.number.negative){return this.lessThan(0,e)}integer(e=sl.number.integer){return this.test({name:"integer",message:e,test:r=>(0,ol.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,ol.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,ol.default)(n)?n:Math[e](n))}};sp.default=Uy;uX.prototype=Uy.prototype});var fX=C(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});kk.default=vMe;var FMe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function vMe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=FMe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var CX=C(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});op.create=vk;op.default=void 0;var RMe=Hy(fX()),pX=ho(),dX=Hy(yu()),LMe=Hy(nl()),NMe=Hy(po());function Hy(t){return t&&t.__esModule?t:{default:t}}var Fk=new Date(""),MMe=t=>Object.prototype.toString.call(t)==="[object Date]";function vk(){return new ap}var ap=class extends NMe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,RMe.default)(e),isNaN(e)?Fk:new Date(e))})})}_typeCheck(e){return MMe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(LMe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=pX.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,dX.default)(n)||n>=this.resolve(i)}})}max(e,r=pX.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,dX.default)(n)||n<=this.resolve(i)}})}};op.default=ap;ap.INVALID_DATE=Fk;vk.prototype=ap.prototype;vk.INVALID_DATE=Fk});var IX=C((Jst,mX)=>{function OMe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function KMe(t){return function(e){return t==null?void 0:t[e]}}EX.exports=KMe});var wX=C((zst,BX)=>{var TMe=yX(),UMe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},HMe=TMe(UMe);BX.exports=HMe});var bX=C((Vst,QX)=>{var YMe=wX(),GMe=Rc(),jMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,qMe="\\u0300-\\u036f",JMe="\\ufe20-\\ufe2f",WMe="\\u20d0-\\u20ff",zMe=qMe+JMe+WMe,VMe="["+zMe+"]",XMe=RegExp(VMe,"g");function ZMe(t){return t=GMe(t),t&&t.replace(jMe,YMe).replace(XMe,"")}QX.exports=ZMe});var SX=C((Xst,DX)=>{var _Me=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function $Me(t){return t.match(_Me)||[]}DX.exports=$Me});var PX=C((Zst,xX)=>{var eOe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function tOe(t){return eOe.test(t)}xX.exports=tOe});var zX=C((_st,kX)=>{var vX="\\ud800-\\udfff",rOe="\\u0300-\\u036f",iOe="\\ufe20-\\ufe2f",nOe="\\u20d0-\\u20ff",sOe=rOe+iOe+nOe,FX="\\u2700-\\u27bf",RX="a-z\\xdf-\\xf6\\xf8-\\xff",oOe="\\xac\\xb1\\xd7\\xf7",aOe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",AOe="\\u2000-\\u206f",lOe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",LX="A-Z\\xc0-\\xd6\\xd8-\\xde",cOe="\\ufe0e\\ufe0f",NX=oOe+aOe+AOe+lOe,MX="['\u2019]",OX="["+NX+"]",uOe="["+sOe+"]",KX="\\d+",gOe="["+FX+"]",TX="["+RX+"]",UX="[^"+vX+NX+KX+FX+RX+LX+"]",hOe="\\ud83c[\\udffb-\\udfff]",fOe="(?:"+uOe+"|"+hOe+")",pOe="[^"+vX+"]",HX="(?:\\ud83c[\\udde6-\\uddff]){2}",YX="[\\ud800-\\udbff][\\udc00-\\udfff]",Bu="["+LX+"]",dOe="\\u200d",GX="(?:"+TX+"|"+UX+")",COe="(?:"+Bu+"|"+UX+")",jX="(?:"+MX+"(?:d|ll|m|re|s|t|ve))?",qX="(?:"+MX+"(?:D|LL|M|RE|S|T|VE))?",JX=fOe+"?",WX="["+cOe+"]?",mOe="(?:"+dOe+"(?:"+[pOe,HX,YX].join("|")+")"+WX+JX+")*",IOe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",EOe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",yOe=WX+JX+mOe,BOe="(?:"+[gOe,HX,YX].join("|")+")"+yOe,wOe=RegExp([Bu+"?"+TX+"+"+jX+"(?="+[OX,Bu,"$"].join("|")+")",COe+"+"+qX+"(?="+[OX,Bu+GX,"$"].join("|")+")",Bu+"?"+GX+"+"+jX,Bu+"+"+qX,EOe,IOe,KX,BOe].join("|"),"g");function QOe(t){return t.match(wOe)||[]}kX.exports=QOe});var XX=C(($st,VX)=>{var bOe=SX(),DOe=PX(),SOe=Rc(),xOe=zX();function POe(t,e,r){return t=SOe(t),e=r?void 0:e,e===void 0?DOe(t)?xOe(t):bOe(t):t.match(e)||[]}VX.exports=POe});var Rk=C((eot,ZX)=>{var kOe=IX(),vOe=bX(),FOe=XX(),ROe="['\u2019]",LOe=RegExp(ROe,"g");function NOe(t){return function(e){return kOe(FOe(vOe(e).replace(LOe,"")),t,"")}}ZX.exports=NOe});var $X=C((tot,_X)=>{var MOe=Rk(),OOe=MOe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});_X.exports=OOe});var tZ=C((rot,eZ)=>{var KOe=PS(),TOe=Rk(),UOe=TOe(function(t,e,r){return e=e.toLowerCase(),t+(r?KOe(e):e)});eZ.exports=UOe});var iZ=C((iot,rZ)=>{var HOe=gu(),YOe=nk(),GOe=Ek();function jOe(t,e){var r={};return e=GOe(e,3),YOe(t,function(i,n,s){HOe(r,e(i,n,s),i)}),r}rZ.exports=jOe});var sZ=C((not,Lk)=>{Lk.exports=function(t){return nZ(qOe(t),t)};Lk.exports.array=nZ;function nZ(t,e){var r=t.length,i=new Array(r),n={},s=r,o=JOe(e),a=WOe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var h;try{h=", node was:"+JSON.stringify(c)}catch(m){h=""}throw new Error("Cyclic dependency"+h)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var f=o.get(c)||new Set;if(f=Array.from(f),u=f.length){g.add(c);do{var p=f[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function qOe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});Nk.default=zOe;var VOe=Yy(jf()),XOe=Yy(sZ()),ZOe=$f(),_Oe=Yy(nl()),$Oe=Yy(fu());function Yy(t){return t&&t.__esModule?t:{default:t}}function zOe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,ZOe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,VOe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),_Oe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,$Oe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return XOe.default.array(i,r).reverse()}});var AZ=C(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});Mk.default=eKe;function aZ(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function eKe(t){return(e,r)=>aZ(t,e)-aZ(t,r)}});var pZ=C(Ap=>{"use strict";Object.defineProperty(Ap,"__esModule",{value:!0});Ap.create=lZ;Ap.default=void 0;var cZ=ys(jf()),uZ=ys($X()),tKe=ys(tZ()),rKe=ys(iZ()),iKe=ys(yk()),nKe=$f(),gZ=ho(),sKe=ys(oZ()),hZ=ys(AZ()),oKe=ys(Ey()),aKe=ys(tl()),Ok=ys(po());function ys(t){return t&&t.__esModule?t:{default:t}}function wu(){return wu=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function AKe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var lKe=(0,hZ.default)([]),Gy=class extends Ok.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=lKe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return fZ(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=wu({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let h=s[g],f=(0,cZ.default)(n,g);if(h){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,h=h.resolve({value:m,context:r.context,parent:l});let I="spec"in h?h.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?h.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else f&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!aKe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!fZ(g)){i(n[0]||null,g);return}a=a||g;let h=this._nodes.map(f=>(p,m)=>{let I=f.indexOf(".")===-1?(r.path?`${r.path}.`:"")+f:`${r.path||""}["${f}"]`,y=this.fields[f];if(y&&"validate"in y){y.validate(g[f],wu({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[f]}),m);return}m(null)});(0,oKe.default)({sync:s,tests:h,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=wu({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof Ok.default&&s instanceof Ok.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,hZ.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,sKe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,nKe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,cZ.default)(s,e)&&(o=wu({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=gZ.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=AKe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=gZ.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,rKe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(tKe.default)}snakeCase(){return this.transformKeys(uZ.default)}constantCase(){return this.transformKeys(e=>(0,uZ.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,iKe.default)(this.fields,r=>r.describe()),e}};Ap.default=Gy;function lZ(t){return new Gy(t)}lZ.prototype=Gy.prototype});var CZ=C(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.create=dZ;lp.default=void 0;var Kk=Qu(yu()),cKe=Qu(fu()),uKe=Qu(Gf()),Tk=ho(),gKe=Qu(Ey()),hKe=Qu(tl()),fKe=Qu(po());function Qu(t){return t&&t.__esModule?t:{default:t}}function jy(){return jy=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,jy({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(f,p)=>{if(f){if(!hKe.default.isError(f)||u)return void i(f,p);o.push(f)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}h=h||p;let m=new Array(p.length);for(let I=0;Ic.validate(y,x,N)}(0,gKe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,cKe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,uKe.default)(e));return r.innerType=e,r}length(e,r=Tk.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Kk.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||Tk.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Kk.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||Tk.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Kk.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};lp.default=qy;dZ.prototype=qy.prototype});var mZ=C(cp=>{"use strict";Object.defineProperty(cp,"__esModule",{value:!0});cp.create=pKe;cp.default=void 0;var CKe=dKe(fu());function dKe(t){return t&&t.__esModule?t:{default:t}}function pKe(t){return new Uk(t)}var Uk=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,CKe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},mKe=Uk;cp.default=mKe});var IZ=C(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});Hk.default=IKe;var yKe=EKe(ho());function EKe(t){return t&&t.__esModule?t:{default:t}}function IKe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{yKe.default[e][r]=t[e][r]})})}});var Gk=C(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.addMethod=BKe;Object.defineProperty(Gt,"MixedSchema",{enumerable:!0,get:function(){return EZ.default}});Object.defineProperty(Gt,"mixed",{enumerable:!0,get:function(){return EZ.create}});Object.defineProperty(Gt,"BooleanSchema",{enumerable:!0,get:function(){return Yk.default}});Object.defineProperty(Gt,"bool",{enumerable:!0,get:function(){return Yk.create}});Object.defineProperty(Gt,"boolean",{enumerable:!0,get:function(){return Yk.create}});Object.defineProperty(Gt,"StringSchema",{enumerable:!0,get:function(){return yZ.default}});Object.defineProperty(Gt,"string",{enumerable:!0,get:function(){return yZ.create}});Object.defineProperty(Gt,"NumberSchema",{enumerable:!0,get:function(){return BZ.default}});Object.defineProperty(Gt,"number",{enumerable:!0,get:function(){return BZ.create}});Object.defineProperty(Gt,"DateSchema",{enumerable:!0,get:function(){return wZ.default}});Object.defineProperty(Gt,"date",{enumerable:!0,get:function(){return wZ.create}});Object.defineProperty(Gt,"ObjectSchema",{enumerable:!0,get:function(){return QZ.default}});Object.defineProperty(Gt,"object",{enumerable:!0,get:function(){return QZ.create}});Object.defineProperty(Gt,"ArraySchema",{enumerable:!0,get:function(){return bZ.default}});Object.defineProperty(Gt,"array",{enumerable:!0,get:function(){return bZ.create}});Object.defineProperty(Gt,"ref",{enumerable:!0,get:function(){return wKe.create}});Object.defineProperty(Gt,"lazy",{enumerable:!0,get:function(){return QKe.create}});Object.defineProperty(Gt,"ValidationError",{enumerable:!0,get:function(){return bKe.default}});Object.defineProperty(Gt,"reach",{enumerable:!0,get:function(){return DKe.default}});Object.defineProperty(Gt,"isSchema",{enumerable:!0,get:function(){return DZ.default}});Object.defineProperty(Gt,"setLocale",{enumerable:!0,get:function(){return SKe.default}});Object.defineProperty(Gt,"BaseSchema",{enumerable:!0,get:function(){return xKe.default}});var EZ=al(rX()),Yk=al(aX()),yZ=al(cX()),BZ=al(hX()),wZ=al(CX()),QZ=al(pZ()),bZ=al(CZ()),wKe=nl(),QKe=mZ(),bKe=up(tl()),DKe=up(xk()),DZ=up(fu()),SKe=up(IZ()),xKe=up(po());function up(t){return t&&t.__esModule?t:{default:t}}function SZ(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return SZ=function(){return t},t}function al(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=SZ();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function BKe(t,e,r){if(!t||!(0,DZ.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var FZ=C((Qot,hp)=>{"use strict";var vKe=process.env.TERM_PROGRAM==="Hyper",FKe=process.platform==="win32",PZ=process.platform==="linux",jk={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},kZ=Object.assign({},jk,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),vZ=Object.assign({},jk,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:PZ?"\u25B8":"\u276F",pointerSmall:PZ?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});hp.exports=FKe&&!vKe?kZ:vZ;Reflect.defineProperty(hp.exports,"common",{enumerable:!1,value:jk});Reflect.defineProperty(hp.exports,"windows",{enumerable:!1,value:kZ});Reflect.defineProperty(hp.exports,"other",{enumerable:!1,value:vZ})});var Gn=C((bot,qk)=>{"use strict";var RKe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),LKe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,RZ=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=LKe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!RKe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=FZ(),t.define=n,t};qk.exports=RZ();qk.exports.create=RZ});var $r=C(ht=>{"use strict";var NKe=Object.prototype.toString,Qn=Gn(),LZ=!1,Jk=[],NZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Qn.hasColor(t);var Wy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>NKe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};ht.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};ht.unmute=t=>{let e=t.stack.find(i=>Qn.keys.color.includes(i));return e?Qn[e]:t.stack.find(i=>i.slice(2)==="bg")?Qn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i));if(e){let i=Qn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Qn[r.slice(2).toLowerCase()]||t:Qn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Qn[NZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=NZ[i];return n&&Qn["bg"+ht.pascal(n)]||t}return Qn.none};ht.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Wy(t))return e;if(!Wy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Wy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Wy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{LZ||(LZ=!0,Jk.forEach(n=>n()),r===!0&&process.exit(128+i))};Jk.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Jk.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var MZ=C(Du=>{"use strict";Du.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Du.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Du.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Du.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Du.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var TZ=C((xot,OZ)=>{"use strict";var KZ=require("readline"),MKe=MZ(),OKe=/^(?:\x1b)([a-zA-Z0-9])$/,KKe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,TKe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function UKe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function HKe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var zy=(t="",e={})=>{let r,i=k({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=OKe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=KKe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=TKe[s],i.shift=UKe(s)||i.shift,i.ctrl=HKe(s)||i.ctrl}return i};zy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=KZ.createInterface({terminal:!0,input:r});KZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,zy(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};zy.action=(t,e,r)=>{let i=k(k({},MKe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};OZ.exports=zy});var HZ=C((Pot,UZ)=>{"use strict";UZ.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),YKe(t,r,i)}};function YKe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var jZ=C((kot,YZ)=>{"use strict";var{define:GKe,width:jKe}=$r(),GZ=class{constructor(e){let r=e.options;GKe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=jKe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=k({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};YZ.exports=GZ});var JZ=C((vot,qZ)=>{"use strict";var Wk=$r(),Ur=Gn(),zk={default:Ur.noop,noop:Ur.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||Wk.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||Wk.complement(this.primary)},primary:Ur.cyan,success:Ur.green,danger:Ur.magenta,strong:Ur.bold,warning:Ur.yellow,muted:Ur.dim,disabled:Ur.gray,dark:Ur.dim.gray,underline:Ur.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};zk.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ur.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ur.visible=t.styles.visible);let e=Wk.merge({},zk,t.styles);delete e.merge;for(let r of Object.keys(Ur))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});for(let r of Object.keys(Ur.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});return e};qZ.exports=zk});var zZ=C((Fot,WZ)=>{"use strict";var Vk=process.platform==="win32",mo=Gn(),qKe=$r(),Xk=V(k({},mo.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:mo.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:mo.symbols.question,submitted:mo.symbols.check,cancelled:mo.symbols.cross},separator:{pending:mo.symbols.pointerSmall,submitted:mo.symbols.middot,cancelled:mo.symbols.middot},radio:{off:Vk?"( )":"\u25EF",on:Vk?"(*)":"\u25C9",disabled:Vk?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});Xk.merge=t=>{let e=qKe.merge({},mo.symbols,Xk,t.symbols);return delete e.merge,e};WZ.exports=Xk});var XZ=C((Rot,VZ)=>{"use strict";var JKe=JZ(),WKe=zZ(),zKe=$r();VZ.exports=t=>{t.options=zKe.merge({},t.options.theme,t.options),t.symbols=WKe.merge(t.options),t.styles=JKe.merge(t.options)}});var t_=C((ZZ,_Z)=>{"use strict";var $Z=process.env.TERM_PROGRAM==="Apple_Terminal",VKe=Gn(),Zk=$r(),jn=_Z.exports=ZZ,Zt="[",e_="\x07",_k=!1,Ia=jn.code={bell:e_,beep:e_,beginning:`${Zt}G`,down:`${Zt}J`,esc:Zt,getPosition:`${Zt}6n`,hide:`${Zt}?25l`,line:`${Zt}2K`,lineEnd:`${Zt}K`,lineStart:`${Zt}1K`,restorePosition:Zt+($Z?"8":"u"),savePosition:Zt+($Z?"7":"s"),screen:`${Zt}2J`,show:`${Zt}?25h`,up:`${Zt}1J`},Al=jn.cursor={get hidden(){return _k},hide(){return _k=!0,Ia.hide},show(){return _k=!1,Ia.show},forward:(t=1)=>`${Zt}${t}C`,backward:(t=1)=>`${Zt}${t}D`,nextLine:(t=1)=>`${Zt}E`.repeat(t),prevLine:(t=1)=>`${Zt}F`.repeat(t),up:(t=1)=>t?`${Zt}${t}A`:"",down:(t=1)=>t?`${Zt}${t}B`:"",right:(t=1)=>t?`${Zt}${t}C`:"",left:(t=1)=>t?`${Zt}${t}D`:"",to(t,e){return e?`${Zt}${e+1};${t+1}H`:`${Zt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Al.left(-t):t>0?Al.right(t):"",r+=e<0?Al.up(-e):e>0?Al.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Zk.isPrimitive(i)?String(i):"",n=Zk.isPrimitive(n)?String(n):"",a=Zk.isPrimitive(a)?String(a):"",o){let l=jn.cursor.up(o)+jn.cursor.to(s.length),c=n.length-r;return c>0&&(l+=jn.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),jn.cursor.move(l)}}},$k=jn.erase={screen:Ia.screen,up:Ia.up,down:Ia.down,line:Ia.line,lineEnd:Ia.lineEnd,lineStart:Ia.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return $k.line+Al.to(0);let r=s=>[...VKe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return($k.line+Al.prevLine()).repeat(n-1)+$k.line+Al.to(0)}});var Su=C((Lot,r_)=>{"use strict";var XKe=require("events"),i_=Gn(),ev=TZ(),ZKe=HZ(),_Ke=jZ(),$Ke=XZ(),Ri=$r(),ll=t_(),Vy=class extends XKe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,$Ke(this),ZKe(this),this.state=new _Ke(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=tTe(this.options.margin),this.setMaxListeners(0),eTe(this)}async keypress(e,r={}){this.keypressed=!0;let i=ev.action(e,ev(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ll.code.beep)}cursorHide(){this.stdout.write(ll.cursor.hide()),Ri.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ll.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(ll.cursor.down(e)+ll.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ll.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=i_.unstyle(i);let n=i_.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` `),c=l[0],u=l[l.length-1],h=(i+(r?" "+r:"")).length,f=he.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,ki.isObject(e)&&(e=e[i.status]||e.pending),ki.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return ki.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return ki.isObject(s)&&(s=s[i.status]||s.pending),ki.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&ki.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=ki.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&ki.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return ki.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return ki.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return ki.resolve(this,e,...r)}get base(){return zy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||ki.height(this.stdout,25)}get width(){return this.options.columns||ki.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function qKe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GKe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}XZ.exports=zy});var e_=C((wot,_Z)=>{"use strict";var jKe=Xr(),$Z={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return $Z.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};_Z.exports=(t,e={})=>{let r=jKe.merge({},$Z,e.roles);return r[t]||r.default}});var ap=C((Qot,t_)=>{"use strict";var JKe=Hn(),WKe=Du(),zKe=e_(),Vy=Xr(),{reorder:Xk,scrollUp:VKe,scrollDown:XKe,isObject:r_,swap:ZKe}=Vy,i_=class extends WKe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");r_(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=zKe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Vy.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,JKe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return n_(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=Xk(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=Xk(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=Xk(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=VKe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=XKe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){ZKe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(r_(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=Vy.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return n_(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function n_(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Vy.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}t_.exports=i_});var Ea=C((bot,s_)=>{"use strict";var _Ke=ap(),Zk=Xr(),o_=class extends _Ke{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!Zk.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!Zk.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(Zk.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(ll.cursor.down(e.rest.length)),this.write(` +`.repeat(r))}catch(e){}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=ev.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Ri.isObject(e)&&(e=e[i.status]||e.pending),Ri.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ri.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Ri.isObject(s)&&(s=s[i.status]||s.pending),Ri.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Ri.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Ri.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Ri.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Ri.resolve(this,e,...r)}get base(){return Vy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ri.height(this.stdout,25)}get width(){return this.options.columns||Ri.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function eTe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function tTe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}r_.exports=Vy});var o_=C((Not,n_)=>{"use strict";var rTe=$r(),s_={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return s_.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};n_.exports=(t,e={})=>{let r=rTe.merge({},s_,e.roles);return r[t]||r.default}});var fp=C((Mot,a_)=>{"use strict";var iTe=Gn(),nTe=Su(),sTe=o_(),Xy=$r(),{reorder:tv,scrollUp:oTe,scrollDown:aTe,isObject:A_,swap:ATe}=Xy,l_=class extends nTe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");A_(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=sTe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Xy.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,iTe.unstyle(e.message).length));let o=k({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=k({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return c_(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=tv(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=tv(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=tv(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=oTe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=aTe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){ATe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(A_(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=Xy.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return c_(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function c_(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Xy.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}a_.exports=l_});var Ea=C((Oot,u_)=>{"use strict";var lTe=fp(),rv=$r(),g_=class extends lTe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!rv.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!rv.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(rv.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` `),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};s_.exports=o_});var l_=C((Sot,a_)=>{"use strict";var $Ke=Ea(),eTe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},A_=class extends $Ke{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=eTe(this.input,e),i=this.choices;this.choices=i.map(n=>V(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};a_.exports=A_});var $k=C((Dot,c_)=>{"use strict";var _k=Xr();c_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=_k.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",h=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,h=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=_k.isPrimitive(i)?`${i}`:"",r=_k.isPrimitive(r)?`${r}`:"";let f=i&&i.startsWith(r)&&i!==r,p=f?c(i[r.length]):h;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),f){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var Xy=C((xot,u_)=>{"use strict";var tTe=Hn(),rTe=Ea(),iTe=$k(),g_=class extends rTe{constructor(e){super(V(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:h,danger:f}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),b=e.message;this.align==="right"&&(b=b.padStart(this.longest+1," ")),this.align==="left"&&(b=b.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,this.state)!==!0&&(F="danger");let U=n[F](await this.indicator(e,r))+(e.pad||""),v=this.indent(e),J=()=>[v,U,b+y,c,p].filter(Boolean).join(" ");if(i.submitted)return b=tTe.unstyle(b),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let oe=this.styles.muted;c=iTe(this,{input:c,initial:o,pos:s,showCursor:m,color:oe})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(b=h(b)),e.error?c+=(c?" ":"")+f(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};u_.exports=g_});var ev=C((Pot,h_)=>{"use strict";var nTe=Xy(),sTe=()=>{throw new Error("expected prompt to have a custom authenticate method")},f_=(t=sTe)=>{class e extends nTe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return f_(i)}}return e};h_.exports=f_()});var C_=C((kot,p_)=>{"use strict";var oTe=ev();function aTe(t,e){return t.username===this.options.username&&t.password===this.options.password}var d_=(t=aTe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends oTe.create(t){constructor(n){super(V(P({},n),{choices:e}))}static create(n){return d_(n)}}return r};p_.exports=d_()});var Zy=C((vot,m_)=>{"use strict";var ATe=Du(),{isPrimitive:lTe,hasColor:cTe}=Xr(),I_=class extends ATe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return lTe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return cTe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),h=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,h].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};m_.exports=I_});var B_=C((Fot,E_)=>{"use strict";var uTe=Zy(),y_=class extends uTe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};E_.exports=y_});var b_=C((Rot,w_)=>{"use strict";var gTe=Ea(),hTe=Xy(),xu=hTe.prototype,Q_=class extends gTe{constructor(e){super(V(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():xu.dispatch.call(this,e,r)}append(e,r){return xu.append.call(this,e,r)}delete(e,r){return xu.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?xu.next.call(this):super.next()}prev(){return this.focused.editable?xu.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?xu.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};w_.exports=Q_});var gl=C((Lot,S_)=>{"use strict";var fTe=Du(),pTe=$k(),{isPrimitive:dTe}=Xr(),D_=class extends fTe{constructor(e){super(e);this.initial=dTe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` -`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):pTe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};S_.exports=D_});var P_=C((Not,x_)=>{"use strict";var CTe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),_y=t=>CTe(t).filter(Boolean);x_.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:_y([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:_y([...s,r]),present:o};case"save":return{past:_y([...i,r]),present:""};case"remove":return o=_y(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var tv=C((Mot,k_)=>{"use strict";var mTe=gl(),v_=P_(),F_=class extends mTe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=v_(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=v_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};k_.exports=F_});var N_=C((Oot,R_)=>{"use strict";var ITe=gl(),L_=class extends ITe{format(){return""}};R_.exports=L_});var K_=C((Kot,M_)=>{"use strict";var ETe=gl(),O_=class extends ETe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};M_.exports=O_});var H_=C((Tot,T_)=>{"use strict";var yTe=Ea(),U_=class extends yTe{constructor(e){super(V(P({},e),{multiple:!0}))}};T_.exports=U_});var rv=C((Uot,Y_)=>{"use strict";var BTe=gl(),q_=class extends BTe{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};Y_.exports=q_});var j_=C((Hot,G_)=>{G_.exports=rv()});var z_=C((Yot,J_)=>{"use strict";var wTe=gl(),W_=class extends wTe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};J_.exports=W_});var __=C((qot,V_)=>{"use strict";var QTe=Hn(),bTe=ap(),X_=Xr(),Z_=class extends bTe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` +`)),this.write(this.margin[2]),this.restore()}};u_.exports=g_});var p_=C((Kot,h_)=>{"use strict";var cTe=Ea(),uTe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},f_=class extends cTe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=uTe(this.input,e),i=this.choices;this.choices=i.map(n=>V(k({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};h_.exports=f_});var nv=C((Tot,d_)=>{"use strict";var iv=$r();d_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=iv.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",h=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,h=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=iv.isPrimitive(i)?`${i}`:"",r=iv.isPrimitive(r)?`${r}`:"";let f=i&&i.startsWith(r)&&i!==r,p=f?c(i[r.length]):h;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),f){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var Zy=C((Uot,C_)=>{"use strict";var gTe=Gn(),hTe=Ea(),fTe=nv(),m_=class extends hTe{constructor(e){super(V(k({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:h,danger:f}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),w=e.message;this.align==="right"&&(w=w.padStart(this.longest+1," ")),this.align==="left"&&(w=w.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,this.state)!==!0&&(F="danger");let K=n[F](await this.indicator(e,r))+(e.pad||""),v=this.indent(e),J=()=>[v,K,w+y,c,p].filter(Boolean).join(" ");if(i.submitted)return w=gTe.unstyle(w),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let oe=this.styles.muted;c=fTe(this,{input:c,initial:o,pos:s,showCursor:m,color:oe})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(w=h(w)),e.error?c+=(c?" ":"")+f(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};C_.exports=m_});var sv=C((Hot,I_)=>{"use strict";var pTe=Zy(),dTe=()=>{throw new Error("expected prompt to have a custom authenticate method")},E_=(t=dTe)=>{class e extends pTe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return E_(i)}}return e};I_.exports=E_()});var w_=C((Yot,y_)=>{"use strict";var CTe=sv();function mTe(t,e){return t.username===this.options.username&&t.password===this.options.password}var B_=(t=mTe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends CTe.create(t){constructor(n){super(V(k({},n),{choices:e}))}static create(n){return B_(n)}}return r};y_.exports=B_()});var _y=C((Got,Q_)=>{"use strict";var ITe=Su(),{isPrimitive:ETe,hasColor:yTe}=$r(),b_=class extends ITe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return ETe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return yTe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),h=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,h].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Q_.exports=b_});var x_=C((jot,D_)=>{"use strict";var BTe=_y(),S_=class extends BTe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};D_.exports=S_});var v_=C((qot,P_)=>{"use strict";var wTe=Ea(),QTe=Zy(),xu=QTe.prototype,k_=class extends wTe{constructor(e){super(V(k({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():xu.dispatch.call(this,e,r)}append(e,r){return xu.append.call(this,e,r)}delete(e,r){return xu.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?xu.next.call(this):super.next()}prev(){return this.focused.editable?xu.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?xu.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};P_.exports=k_});var cl=C((Jot,F_)=>{"use strict";var bTe=Su(),DTe=nv(),{isPrimitive:STe}=$r(),R_=class extends bTe{constructor(e){super(e);this.initial=STe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):DTe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};F_.exports=R_});var N_=C((Wot,L_)=>{"use strict";var xTe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),$y=t=>xTe(t).filter(Boolean);L_.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:$y([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:$y([...s,r]),present:o};case"save":return{past:$y([...i,r]),present:""};case"remove":return o=$y(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var ov=C((zot,M_)=>{"use strict";var PTe=cl(),O_=N_(),K_=class extends PTe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=O_(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=O_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};M_.exports=K_});var H_=C((Vot,T_)=>{"use strict";var kTe=cl(),U_=class extends kTe{format(){return""}};T_.exports=U_});var j_=C((Xot,Y_)=>{"use strict";var vTe=cl(),G_=class extends vTe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Y_.exports=G_});var W_=C((Zot,q_)=>{"use strict";var FTe=Ea(),J_=class extends FTe{constructor(e){super(V(k({},e),{multiple:!0}))}};q_.exports=J_});var av=C((_ot,z_)=>{"use strict";var RTe=cl(),V_=class extends RTe{constructor(e={}){super(k({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};z_.exports=V_});var Z_=C(($ot,X_)=>{X_.exports=av()});var e$=C((eat,__)=>{"use strict";var LTe=cl(),$_=class extends LTe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};__.exports=$_});var n$=C((tat,t$)=>{"use strict";var NTe=Gn(),MTe=fp(),r$=$r(),i$=class extends MTe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` -`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!X_.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=QTe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let f=X_.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!r$.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=NTe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let f=r$.wordWrap(c,{width:this.widths[0],newline:a}).split(` `).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),f=f.map(p=>this.styles.info(p))),f[0]+=u,this.linebreak&&f.push(""),[l+n,f.join(` `)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` `)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),h=await this.footer(),f=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&f!=null&&(o+=this.styles.danger(f)),this.clear(r),this.write([a,o,c,g,h].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};V_.exports=Z_});var r$=C((Got,$_)=>{"use strict";var e$=Hn(),STe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",t$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=STe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},DTe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],h=()=>s[u+1],f=p=>{p.line=c,o.push(p)};for(f({type:"bos",value:""});uF.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new t$(y),a.push(x)),x.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:f({type:"text",value:p})}return f({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};$_.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await DTe(e,i),a=iv("result",t,e),l=iv("format",t,e),c=iv("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},h=!1)=>{let f=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(b,x,F,N)=>{let U=await c(b,x,F,N);return U===!1?"Invalid field "+F.name:U};for(let b of n){let x=b.value,F=b.key;if(b.type!=="template"){x&&(g.output+=x);continue}if(b.type==="template"){let N=s.find(K=>K.name===F);e.required===!0&&g.required.add(N.name);let U=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||b.inner;if(h){let K=await p(g.values[F],g,N,f);if(K&&typeof K=="string"||K===!1){g.invalid.set(F,K);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,f);g.output+=e$.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,f),U!==x?(g.values[F]=U,x=t.styles.typing(U),g.missing.delete(J)):(g.values[F]=void 0,U=`<${J}>`,x=t.styles.primary(U),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(U)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(U)),f===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading(e$.unstyle(x))),f++}x&&(g.output+=x)}let m=g.output.split(` -`).map(b=>" "+b),I=s.length,y=0;for(let b of s)g.invalid.has(b.name)&&b.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[b.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` -`),g.output}};function iv(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var s$=C((jot,i$)=>{"use strict";var xTe=Hn(),PTe=r$(),kTe=Du(),n$=class extends kTe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await PTe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` -`].find(b=>b!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",h=await this.hint()||"",f=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),h&&!m&&this.state.completed===0&&(c+=" "+h),this.clear(n);let y=[u,c,f,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} -`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=xTe.unstyle(i).split(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};t$.exports=i$});var A$=C((rat,s$)=>{"use strict";var o$=Gn(),OTe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",a$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=OTe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},KTe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],h=()=>s[u+1],f=p=>{p.line=c,o.push(p)};for(f({type:"bos",value:""});uF.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new a$(y),a.push(x)),x.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:f({type:"text",value:p})}return f({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};s$.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=k(k({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await KTe(e,i),a=Av("result",t,e),l=Av("format",t,e),c=Av("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},h=!1)=>{let f=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(w,x,F,N)=>{let K=await c(w,x,F,N);return K===!1?"Invalid field "+F.name:K};for(let w of n){let x=w.value,F=w.key;if(w.type!=="template"){x&&(g.output+=x);continue}if(w.type==="template"){let N=s.find(T=>T.name===F);e.required===!0&&g.required.add(N.name);let K=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||w.inner;if(h){let T=await p(g.values[F],g,N,f);if(T&&typeof T=="string"||T===!1){g.invalid.set(F,T);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,f);g.output+=o$.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,f),K!==x?(g.values[F]=K,x=t.styles.typing(K),g.missing.delete(J)):(g.values[F]=void 0,K=`<${J}>`,x=t.styles.primary(K),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(K)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(K)),f===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading(o$.unstyle(x))),f++}x&&(g.output+=x)}let m=g.output.split(` +`).map(w=>" "+w),I=s.length,y=0;for(let w of s)g.invalid.has(w.name)&&w.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[w.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` +`),g.output}};function Av(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var u$=C((iat,l$)=>{"use strict";var TTe=Gn(),UTe=A$(),HTe=Su(),c$=class extends HTe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await UTe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(w=>w!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",h=await this.hint()||"",f=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),h&&!m&&this.state.completed===0&&(c+=" "+h),this.clear(n);let y=[u,c,f,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=TTe.unstyle(i).split(` `).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};i$.exports=n$});var A$=C((Jot,o$)=>{"use strict";var vTe="(Use + to sort)",FTe=Ea(),a$=class extends FTe{constructor(e){super(V(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,vTe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};o$.exports=a$});var u$=C((Wot,l$)=>{"use strict";var RTe=ap(),c$=class extends RTe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=LTe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,h=await this.resolve(e.message,this.state,e,r),f=this.indent(e),p=f+e.scale.map((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=f+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,h].filter(Boolean).join(" "),b=()=>[y(),p,I," "].filter(Boolean).join(` -`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),b()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`);return this.value={values:n,result:o},super.submit()}};l$.exports=c$});var f$=C((nat,g$)=>{"use strict";var YTe="(Use + to sort)",GTe=Ea(),h$=class extends GTe{constructor(e){super(V(k({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,YTe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};g$.exports=h$});var C$=C((sat,p$)=>{"use strict";var jTe=fp(),d$=class extends jTe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=qTe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,h=await this.resolve(e.message,this.state,e,r),f=this.indent(e),p=f+e.scale.map((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=f+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,h].filter(Boolean).join(" "),w=()=>[y(),p,I," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),w()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` `)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function LTe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{g$.exports=tv()});var d$=C((Vot,f$)=>{"use strict";var NTe=Zy(),p$=class extends NTe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};f$.exports=p$});var I$=C((Xot,C$)=>{"use strict";var MTe=Ea(),m$=class extends MTe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};C$.exports=m$});var y$=C(nv=>{"use strict";var E$=Xr(),wr=(t,e)=>{E$.defineExport(nv,t,e),E$.defineExport(nv,t.toLowerCase(),e)};wr("AutoComplete",()=>l_());wr("BasicAuth",()=>C_());wr("Confirm",()=>B_());wr("Editable",()=>b_());wr("Form",()=>Xy());wr("Input",()=>tv());wr("Invisible",()=>N_());wr("List",()=>K_());wr("MultiSelect",()=>H_());wr("Numeral",()=>j_());wr("Password",()=>z_());wr("Scale",()=>__());wr("Select",()=>Ea());wr("Snippet",()=>s$());wr("Sort",()=>A$());wr("Survey",()=>u$());wr("Text",()=>h$());wr("Toggle",()=>d$());wr("Quiz",()=>I$())});var w$=C((_ot,B$)=>{B$.exports={ArrayPrompt:ap(),AuthPrompt:ev(),BooleanPrompt:Zy(),NumberPrompt:rv(),StringPrompt:gl()}});var lp=C(($ot,Q$)=>{"use strict";var b$=require("assert"),sv=require("events"),ya=Xr(),Is=class extends sv{constructor(e,r){super();this.options=ya.merge({},e),this.answers=P({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}b$.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ya.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];b$(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Du()}static get prompts(){return y$()}static get types(){return w$()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ya.mixinEmitter(e,new sv),e}};ya.mixinEmitter(Is,new sv);var ov=Is.prompts;for(let t of Object.keys(ov)){let e=t.toLowerCase(),r=i=>new ov[t](i).run();Is.prompt[e]=r,Is[e]=r,Is[t]||Reflect.defineProperty(Is,t,{get:()=>ov[t]})}var Ap=t=>{ya.defineExport(Is,t,()=>Is.types[t])};Ap("ArrayPrompt");Ap("AuthPrompt");Ap("BooleanPrompt");Ap("NumberPrompt");Ap("StringPrompt");Q$.exports=Is});var M$=C((Hat,N$)=>{function UTe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var HTe=ay(),YTe=gu();function qTe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var GTe=Pu(),jTe=Cu();function JTe(t,e){return t&>e(e,jTe(e),t)}K$.exports=JTe});var H$=C((Gat,U$)=>{function WTe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}U$.exports=WTe});var q$=C((jat,Y$)=>{var zTe=Un(),VTe=wy(),XTe=H$(),ZTe=Object.prototype,_Te=ZTe.hasOwnProperty;function $Te(t){if(!zTe(t))return XTe(t);var e=VTe(t),r=[];for(var i in t)i=="constructor"&&(e||!_Te.call(t,i))||r.push(i);return r}Y$.exports=$Te});var ku=C((Jat,G$)=>{var eUe=ZP(),tUe=q$(),rUe=qf();function iUe(t){return rUe(t)?eUe(t,!0):tUe(t)}G$.exports=iUe});var J$=C((Wat,j$)=>{var nUe=Pu(),sUe=ku();function oUe(t,e){return t&&nUe(e,sUe(e),t)}j$.exports=oUe});var gv=C((dp,vu)=>{var aUe=On(),W$=typeof dp=="object"&&dp&&!dp.nodeType&&dp,z$=W$&&typeof vu=="object"&&vu&&!vu.nodeType&&vu,AUe=z$&&z$.exports===W$,V$=AUe?aUe.Buffer:void 0,X$=V$?V$.allocUnsafe:void 0;function lUe(t,e){if(e)return t.slice();var r=t.length,i=X$?X$(r):new t.constructor(r);return t.copy(i),i}vu.exports=lUe});var hv=C((zat,Z$)=>{function cUe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var uUe=Pu(),gUe=by();function hUe(t,e){return uUe(t,gUe(t),e)}_$.exports=hUe});var $y=C((Xat,eee)=>{var fUe=_P(),pUe=fUe(Object.getPrototypeOf,Object);eee.exports=pUe});var fv=C((Zat,tee)=>{var dUe=ly(),CUe=$y(),mUe=by(),IUe=nk(),EUe=Object.getOwnPropertySymbols,yUe=EUe?function(t){for(var e=[];t;)dUe(e,mUe(t)),t=CUe(t);return e}:IUe;tee.exports=yUe});var iee=C((_at,ree)=>{var BUe=Pu(),wUe=fv();function QUe(t,e){return BUe(t,wUe(t),e)}ree.exports=QUe});var see=C(($at,nee)=>{var bUe=ik(),SUe=fv(),DUe=ku();function xUe(t){return bUe(t,DUe,SUe)}nee.exports=xUe});var aee=C((eAt,oee)=>{var PUe=Object.prototype,kUe=PUe.hasOwnProperty;function vUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}oee.exports=vUe});var eB=C((tAt,Aee)=>{var lee=tk();function FUe(t){var e=new t.constructor(t.byteLength);return new lee(e).set(new lee(t)),e}Aee.exports=FUe});var uee=C((rAt,cee)=>{var RUe=eB();function LUe(t,e){var r=e?RUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}cee.exports=LUe});var hee=C((iAt,gee)=>{var NUe=/\w*$/;function MUe(t){var e=new t.constructor(t.source,NUe.exec(t));return e.lastIndex=t.lastIndex,e}gee.exports=MUe});var mee=C((nAt,fee)=>{var pee=OA(),dee=pee?pee.prototype:void 0,Cee=dee?dee.valueOf:void 0;function OUe(t){return Cee?Object(Cee.call(t)):{}}fee.exports=OUe});var pv=C((sAt,Iee)=>{var KUe=eB();function TUe(t,e){var r=e?KUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Iee.exports=TUe});var yee=C((oAt,Eee)=>{var UUe=eB(),HUe=uee(),YUe=hee(),qUe=mee(),GUe=pv(),jUe="[object Boolean]",JUe="[object Date]",WUe="[object Map]",zUe="[object Number]",VUe="[object RegExp]",XUe="[object Set]",ZUe="[object String]",_Ue="[object Symbol]",$Ue="[object ArrayBuffer]",e1e="[object DataView]",t1e="[object Float32Array]",r1e="[object Float64Array]",i1e="[object Int8Array]",n1e="[object Int16Array]",s1e="[object Int32Array]",o1e="[object Uint8Array]",a1e="[object Uint8ClampedArray]",A1e="[object Uint16Array]",l1e="[object Uint32Array]";function c1e(t,e,r){var i=t.constructor;switch(e){case $Ue:return UUe(t);case jUe:case JUe:return new i(+t);case e1e:return HUe(t,r);case t1e:case r1e:case i1e:case n1e:case s1e:case o1e:case a1e:case A1e:case l1e:return GUe(t,r);case WUe:return new i;case zUe:case ZUe:return new i(t);case VUe:return YUe(t);case XUe:return new i;case _Ue:return qUe(t)}}Eee.exports=c1e});var Qee=C((aAt,Bee)=>{var u1e=Un(),wee=Object.create,g1e=function(){function t(){}return function(e){if(!u1e(e))return{};if(wee)return wee(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Bee.exports=g1e});var dv=C((AAt,bee)=>{var h1e=Qee(),f1e=$y(),p1e=wy();function d1e(t){return typeof t.constructor=="function"&&!p1e(t)?h1e(f1e(t)):{}}bee.exports=d1e});var Dee=C((lAt,See)=>{var C1e=jf(),m1e=As(),I1e="[object Map]";function E1e(t){return m1e(t)&&C1e(t)==I1e}See.exports=E1e});var vee=C((cAt,xee)=>{var y1e=Dee(),B1e=Ey(),Pee=yy(),kee=Pee&&Pee.isMap,w1e=kee?B1e(kee):y1e;xee.exports=w1e});var Ree=C((uAt,Fee)=>{var Q1e=jf(),b1e=As(),S1e="[object Set]";function D1e(t){return b1e(t)&&Q1e(t)==S1e}Fee.exports=D1e});var Oee=C((gAt,Lee)=>{var x1e=Ree(),P1e=Ey(),Nee=yy(),Mee=Nee&&Nee.isSet,k1e=Mee?P1e(Mee):x1e;Lee.exports=k1e});var Yee=C((hAt,Kee)=>{var v1e=Gf(),F1e=M$(),R1e=ay(),L1e=T$(),N1e=J$(),M1e=gv(),O1e=hv(),K1e=$$(),T1e=iee(),U1e=sk(),H1e=see(),Y1e=jf(),q1e=aee(),G1e=yee(),j1e=dv(),J1e=fn(),W1e=Uf(),z1e=vee(),V1e=Un(),X1e=Oee(),Z1e=Cu(),_1e=ku(),$1e=1,e2e=2,t2e=4,Tee="[object Arguments]",r2e="[object Array]",i2e="[object Boolean]",n2e="[object Date]",s2e="[object Error]",Uee="[object Function]",o2e="[object GeneratorFunction]",a2e="[object Map]",A2e="[object Number]",Hee="[object Object]",l2e="[object RegExp]",c2e="[object Set]",u2e="[object String]",g2e="[object Symbol]",h2e="[object WeakMap]",f2e="[object ArrayBuffer]",p2e="[object DataView]",d2e="[object Float32Array]",C2e="[object Float64Array]",m2e="[object Int8Array]",I2e="[object Int16Array]",E2e="[object Int32Array]",y2e="[object Uint8Array]",B2e="[object Uint8ClampedArray]",w2e="[object Uint16Array]",Q2e="[object Uint32Array]",Rt={};Rt[Tee]=Rt[r2e]=Rt[f2e]=Rt[p2e]=Rt[i2e]=Rt[n2e]=Rt[d2e]=Rt[C2e]=Rt[m2e]=Rt[I2e]=Rt[E2e]=Rt[a2e]=Rt[A2e]=Rt[Hee]=Rt[l2e]=Rt[c2e]=Rt[u2e]=Rt[g2e]=Rt[y2e]=Rt[B2e]=Rt[w2e]=Rt[Q2e]=!0;Rt[s2e]=Rt[Uee]=Rt[h2e]=!1;function tB(t,e,r,i,n,s){var o,a=e&$1e,l=e&e2e,c=e&t2e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!V1e(t))return t;var u=J1e(t);if(u){if(o=q1e(t),!a)return O1e(t,o)}else{var g=Y1e(t),h=g==Uee||g==o2e;if(W1e(t))return M1e(t,a);if(g==Hee||g==Tee||h&&!n){if(o=l||h?{}:j1e(t),!a)return l?T1e(t,N1e(o,t)):K1e(t,L1e(o,t))}else{if(!Rt[g])return n?t:{};o=G1e(t,g,a)}}s||(s=new v1e);var f=s.get(t);if(f)return f;s.set(t,o),X1e(t)?t.forEach(function(I){o.add(tB(I,e,r,I,t,s))}):z1e(t)&&t.forEach(function(I,y){o.set(y,tB(I,e,r,y,t,s))});var p=c?l?H1e:U1e:l?_1e:Z1e,m=u?void 0:p(t);return F1e(m||t,function(I,y){m&&(y=I,I=t[y]),R1e(o,y,tB(I,e,r,y,t,s))}),o}Kee.exports=tB});var Cv=C((fAt,qee)=>{var b2e=Yee(),S2e=1,D2e=4;function x2e(t){return b2e(t,S2e|D2e)}qee.exports=x2e});var jee=C((pAt,Gee)=>{var P2e=DP();function k2e(t,e,r){return t==null?t:P2e(t,e,r)}Gee.exports=k2e});var Zee=C((yAt,Xee)=>{function v2e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Xee.exports=v2e});var $ee=C((BAt,_ee)=>{var F2e=vf(),R2e=ED();function L2e(t,e){return e.length<2?t:F2e(t,R2e(e,0,-1))}_ee.exports=L2e});var tte=C((wAt,ete)=>{var N2e=uu(),M2e=Zee(),O2e=$ee(),K2e=rl();function T2e(t,e){return e=N2e(e,t),t=O2e(t,e),t==null||delete t[K2e(M2e(e))]}ete.exports=T2e});var ite=C((QAt,rte)=>{var U2e=tte();function H2e(t,e){return t==null?!0:U2e(t,e)}rte.exports=H2e});var cte=C((elt,lte)=>{lte.exports={name:"@yarnpkg/cli",version:"3.0.0-rc.6",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0-rc.6","@yarnpkg/fslib":"workspace:^2.5.0-rc.6","@yarnpkg/libzip":"workspace:^2.2.2-rc.4","@yarnpkg/parsers":"workspace:^2.4.0-rc.4","@yarnpkg/plugin-compat":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-dlx":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-essentials":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-file":"workspace:^2.2.1-rc.6","@yarnpkg/plugin-git":"workspace:^2.4.0-rc.6","@yarnpkg/plugin-github":"workspace:^2.2.0-rc.6","@yarnpkg/plugin-http":"workspace:^2.1.3-rc.6","@yarnpkg/plugin-init":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-link":"workspace:^2.1.2-rc.6","@yarnpkg/plugin-node-modules":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-npm":"workspace:^2.5.0-rc.6","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-pack":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-patch":"workspace:^3.0.0-rc.6","@yarnpkg/plugin-pnp":"workspace:^3.0.0-rc.6","@yarnpkg/shell":"workspace:^3.0.0-rc.6",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.0-rc.10",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"^4.3.2"},peerDependencies:{"@yarnpkg/core":"^3.0.0-rc.6"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"},stableVersion:"2.4.0"}});var jv=C((Lft,sre)=>{"use strict";sre.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var Jv=C((Nft,ore)=>{"use strict";var fHe=jv();function are(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=fHe(t);return t=t.substring(t.indexOf("://")+3),are(e)?!0:t.indexOf("@"){"use strict";var pHe=jv(),dHe=Jv(),CHe=require("querystring");function mHe(t){t=(t||"").trim();var e={protocols:pHe(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(dHe(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=CHe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}Are.exports=mHe});var gre=C((Oft,cre)=>{"use strict";var IHe=typeof URL=="undefined"?require("url").URL:URL,ure=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);cre.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new IHe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];ure(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])ure(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var fre=C((Kft,hre)=>{"use strict";var EHe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yHe=lre(),BHe=gre();function wHe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":EHe(e))!=="object"&&(e={stripFragment:!1}),t=BHe(t,e));var r=yHe(t);return r}hre.exports=wHe});var Cre=C((Tft,pre)=>{"use strict";var QHe=fre(),dre=Jv();function bHe(t){var e=QHe(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),dre(e.protocols)||dre(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}pre.exports=bHe});var Ire=C((Uft,mre)=>{"use strict";var SHe=Cre();function Wv(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=SHe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return Wv.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}Wv.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?DHe(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function DHe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}mre.exports=Wv});var aF=C((vpt,Dre)=>{var MHe=gu(),OHe=Au();function KHe(t,e,r){(r!==void 0&&!OHe(t[e],r)||r===void 0&&!(e in t))&&MHe(t,e,r)}Dre.exports=KHe});var Pre=C((Fpt,xre)=>{var THe=qf(),UHe=As();function HHe(t){return UHe(t)&&THe(t)}xre.exports=HHe});var Fre=C((Rpt,kre)=>{var YHe=KA(),qHe=$y(),GHe=As(),jHe="[object Object]",JHe=Function.prototype,WHe=Object.prototype,vre=JHe.toString,zHe=WHe.hasOwnProperty,VHe=vre.call(Object);function XHe(t){if(!GHe(t)||YHe(t)!=jHe)return!1;var e=qHe(t);if(e===null)return!0;var r=zHe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&vre.call(r)==VHe}kre.exports=XHe});var AF=C((Lpt,Rre)=>{function ZHe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Rre.exports=ZHe});var Nre=C((Npt,Lre)=>{var _He=Pu(),$He=ku();function eYe(t){return _He(t,$He(t))}Lre.exports=eYe});var Hre=C((Mpt,Mre)=>{var Ore=aF(),tYe=gv(),rYe=pv(),iYe=hv(),nYe=dv(),Kre=Rf(),Tre=fn(),sYe=Pre(),oYe=Uf(),aYe=ny(),AYe=Un(),lYe=Fre(),cYe=By(),Ure=AF(),uYe=Nre();function gYe(t,e,r,i,n,s,o){var a=Ure(t,r),l=Ure(e,r),c=o.get(l);if(c){Ore(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var h=Tre(l),f=!h&&oYe(l),p=!h&&!f&&cYe(l);u=l,h||f||p?Tre(a)?u=a:sYe(a)?u=iYe(a):f?(g=!1,u=tYe(l,!0)):p?(g=!1,u=rYe(l,!0)):u=[]:lYe(l)||Kre(l)?(u=a,Kre(a)?u=uYe(a):(!AYe(a)||aYe(a))&&(u=nYe(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Ore(t,r,u)}Mre.exports=gYe});var Gre=C((Opt,Yre)=>{var hYe=Gf(),fYe=aF(),pYe=VP(),dYe=Hre(),CYe=Un(),mYe=ku(),IYe=AF();function qre(t,e,r,i,n){t!==e&&pYe(e,function(s,o){if(n||(n=new hYe),CYe(s))dYe(t,e,o,r,qre,i,n);else{var a=i?i(IYe(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),fYe(t,o,a)}},mYe)}Yre.exports=qre});var Jre=C((Kpt,jre)=>{var EYe=cy(),yYe=kP(),BYe=vP();function wYe(t,e){return BYe(yYe(t,e,EYe),t+"")}jre.exports=wYe});var zre=C((Tpt,Wre)=>{var QYe=Au(),bYe=qf(),SYe=Ff(),DYe=Un();function xYe(t,e,r){if(!DYe(r))return!1;var i=typeof e;return(i=="number"?bYe(r)&&SYe(e,r.length):i=="string"&&e in r)?QYe(r[e],t):!1}Wre.exports=xYe});var Xre=C((Upt,Vre)=>{var PYe=Jre(),kYe=zre();function vYe(t){return PYe(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&kYe(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var FYe=Gre(),RYe=Xre(),LYe=RYe(function(t,e,r){FYe(t,e,r)});Zre.exports=LYe});var Iie=C((xCt,mie)=>{var DF;mie.exports=()=>(typeof DF=="undefined"&&(DF=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),DF)});var bie=C(PF=>{function Mu(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Mu(n[u],c))?g.replace("*",l.substring(u.length-1)):Cl(i,l,1)}return Cl(i,l)}}function Aqe(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){OF&&typeof OF=="object"&&typeof KF!="undefined"?KF.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Tie=C((nIt,Mie)=>{"use strict";TF.ifExists=mqe;var Tu=require("util"),wn=require("path"),Oie=Nie(),Iqe=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Eqe={createPwshFile:!0,createCmdFile:Oie(),fs:require("fs")},yqe=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Kie(t){let e=P(P({},Eqe),t),r=e.fs;return e.fs_={chmod:r.chmod?Tu.promisify(r.chmod):async()=>{},mkdir:Tu.promisify(r.mkdir),readFile:Tu.promisify(r.readFile),stat:Tu.promisify(r.stat),unlink:Tu.promisify(r.unlink),writeFile:Tu.promisify(r.writeFile)},e}async function TF(t,e,r){let i=Kie(r);await i.fs_.stat(t),await Bqe(t,e,i)}function mqe(t,e,r){return TF(t,e,r).catch(()=>{})}function wqe(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Bqe(t,e,r){let i=await Sqe(t,r);return await Qqe(e,r),bqe(t,e,i,r)}function Qqe(t,e){return e.fs_.mkdir(wn.dirname(t),{recursive:!0})}function bqe(t,e,r,i){let n=Kie(i),s=[{generator:Pqe,extension:""}];return n.createCmdFile&&s.push({generator:xqe,extension:".cmd"}),n.createPwshFile&&s.push({generator:kqe,extension:".ps1"}),Promise.all(s.map(o=>Dqe(t,e+o.extension,r,o.generator,n)))}function vqe(t,e){return wqe(t,e)}function Rqe(t,e){return Fqe(t,e)}async function Sqe(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Iqe);if(!n){let s=wn.extname(t).toLowerCase();return{program:yqe.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Dqe(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await vqe(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),Rqe(e,n)}function xqe(t,e,r){let n=wn.relative(wn.dirname(e),t).split("/").join("\\"),s=wn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=UF(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function qTe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>k({},i));let r=[];for(let i=1;i{m$.exports=ov()});var B$=C((aat,E$)=>{"use strict";var JTe=_y(),y$=class extends JTe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};E$.exports=y$});var b$=C((Aat,w$)=>{"use strict";var WTe=Ea(),Q$=class extends WTe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};w$.exports=Q$});var S$=C(lv=>{"use strict";var D$=$r(),Qr=(t,e)=>{D$.defineExport(lv,t,e),D$.defineExport(lv,t.toLowerCase(),e)};Qr("AutoComplete",()=>p_());Qr("BasicAuth",()=>w_());Qr("Confirm",()=>x_());Qr("Editable",()=>v_());Qr("Form",()=>Zy());Qr("Input",()=>ov());Qr("Invisible",()=>H_());Qr("List",()=>j_());Qr("MultiSelect",()=>W_());Qr("Numeral",()=>Z_());Qr("Password",()=>e$());Qr("Scale",()=>n$());Qr("Select",()=>Ea());Qr("Snippet",()=>u$());Qr("Sort",()=>f$());Qr("Survey",()=>C$());Qr("Text",()=>I$());Qr("Toggle",()=>B$());Qr("Quiz",()=>b$())});var P$=C((cat,x$)=>{x$.exports={ArrayPrompt:fp(),AuthPrompt:sv(),BooleanPrompt:_y(),NumberPrompt:av(),StringPrompt:cl()}});var dp=C((uat,k$)=>{"use strict";var v$=require("assert"),cv=require("events"),ya=$r(),Bs=class extends cv{constructor(e,r){super();this.options=ya.merge({},e),this.answers=k({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}v$.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ya.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];v$(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Su()}static get prompts(){return S$()}static get types(){return P$()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ya.mixinEmitter(e,new cv),e}};ya.mixinEmitter(Bs,new cv);var uv=Bs.prompts;for(let t of Object.keys(uv)){let e=t.toLowerCase(),r=i=>new uv[t](i).run();Bs.prompt[e]=r,Bs[e]=r,Bs[t]||Reflect.defineProperty(Bs,t,{get:()=>uv[t]})}var pp=t=>{ya.defineExport(Bs,t,()=>Bs.types[t])};pp("ArrayPrompt");pp("AuthPrompt");pp("BooleanPrompt");pp("NumberPrompt");pp("StringPrompt");k$.exports=Bs});var Y$=C((eAt,H$)=>{function ZTe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var _Te=ly(),$Te=gu();function eUe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var tUe=Pu(),rUe=Cu();function iUe(t,e){return t&&tUe(e,rUe(e),t)}j$.exports=iUe});var W$=C((iAt,J$)=>{function nUe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}J$.exports=nUe});var V$=C((nAt,z$)=>{var sUe=Yn(),oUe=Qy(),aUe=W$(),AUe=Object.prototype,lUe=AUe.hasOwnProperty;function cUe(t){if(!sUe(t))return aUe(t);var e=oUe(t),r=[];for(var i in t)i=="constructor"&&(e||!lUe.call(t,i))||r.push(i);return r}z$.exports=cUe});var ku=C((sAt,X$)=>{var uUe=rk(),gUe=V$(),hUe=Xf();function fUe(t){return hUe(t)?uUe(t,!0):gUe(t)}X$.exports=fUe});var _$=C((oAt,Z$)=>{var pUe=Pu(),dUe=ku();function CUe(t,e){return t&&pUe(e,dUe(e),t)}Z$.exports=CUe});var Cv=C((wp,vu)=>{var mUe=Tn(),$$=typeof wp=="object"&&wp&&!wp.nodeType&&wp,eee=$$&&typeof vu=="object"&&vu&&!vu.nodeType&&vu,IUe=eee&&eee.exports===$$,tee=IUe?mUe.Buffer:void 0,ree=tee?tee.allocUnsafe:void 0;function EUe(t,e){if(e)return t.slice();var r=t.length,i=ree?ree(r):new t.constructor(r);return t.copy(i),i}vu.exports=EUe});var mv=C((aAt,iee)=>{function yUe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var BUe=Pu(),wUe=Dy();function QUe(t,e){return BUe(t,wUe(t),e)}nee.exports=QUe});var eB=C((lAt,oee)=>{var bUe=ik(),DUe=bUe(Object.getPrototypeOf,Object);oee.exports=DUe});var Iv=C((cAt,aee)=>{var SUe=uy(),xUe=eB(),PUe=Dy(),kUe=lk(),vUe=Object.getOwnPropertySymbols,FUe=vUe?function(t){for(var e=[];t;)SUe(e,PUe(t)),t=xUe(t);return e}:kUe;aee.exports=FUe});var lee=C((uAt,Aee)=>{var RUe=Pu(),LUe=Iv();function NUe(t,e){return RUe(t,LUe(t),e)}Aee.exports=NUe});var uee=C((gAt,cee)=>{var MUe=Ak(),OUe=Iv(),KUe=ku();function TUe(t){return MUe(t,KUe,OUe)}cee.exports=TUe});var hee=C((hAt,gee)=>{var UUe=Object.prototype,HUe=UUe.hasOwnProperty;function YUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&HUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}gee.exports=YUe});var tB=C((fAt,fee)=>{var pee=ok();function GUe(t){var e=new t.constructor(t.byteLength);return new pee(e).set(new pee(t)),e}fee.exports=GUe});var Cee=C((pAt,dee)=>{var jUe=tB();function qUe(t,e){var r=e?jUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}dee.exports=qUe});var Iee=C((dAt,mee)=>{var JUe=/\w*$/;function WUe(t){var e=new t.constructor(t.source,JUe.exec(t));return e.lastIndex=t.lastIndex,e}mee.exports=WUe});var Qee=C((CAt,Eee)=>{var yee=MA(),Bee=yee?yee.prototype:void 0,wee=Bee?Bee.valueOf:void 0;function zUe(t){return wee?Object(wee.call(t)):{}}Eee.exports=zUe});var Ev=C((mAt,bee)=>{var VUe=tB();function XUe(t,e){var r=e?VUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}bee.exports=XUe});var See=C((IAt,Dee)=>{var ZUe=tB(),_Ue=Cee(),$Ue=Iee(),e1e=Qee(),t1e=Ev(),r1e="[object Boolean]",i1e="[object Date]",n1e="[object Map]",s1e="[object Number]",o1e="[object RegExp]",a1e="[object Set]",A1e="[object String]",l1e="[object Symbol]",c1e="[object ArrayBuffer]",u1e="[object DataView]",g1e="[object Float32Array]",h1e="[object Float64Array]",f1e="[object Int8Array]",p1e="[object Int16Array]",d1e="[object Int32Array]",C1e="[object Uint8Array]",m1e="[object Uint8ClampedArray]",I1e="[object Uint16Array]",E1e="[object Uint32Array]";function y1e(t,e,r){var i=t.constructor;switch(e){case c1e:return ZUe(t);case r1e:case i1e:return new i(+t);case u1e:return _Ue(t,r);case g1e:case h1e:case f1e:case p1e:case d1e:case C1e:case m1e:case I1e:case E1e:return t1e(t,r);case n1e:return new i;case s1e:case A1e:return new i(t);case o1e:return $Ue(t);case a1e:return new i;case l1e:return e1e(t)}}Dee.exports=y1e});var kee=C((EAt,xee)=>{var B1e=Yn(),Pee=Object.create,w1e=function(){function t(){}return function(e){if(!B1e(e))return{};if(Pee)return Pee(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();xee.exports=w1e});var yv=C((yAt,vee)=>{var Q1e=kee(),b1e=eB(),D1e=Qy();function S1e(t){return typeof t.constructor=="function"&&!D1e(t)?Q1e(b1e(t)):{}}vee.exports=S1e});var Ree=C((BAt,Fee)=>{var x1e=_f(),P1e=cs(),k1e="[object Map]";function v1e(t){return P1e(t)&&x1e(t)==k1e}Fee.exports=v1e});var Oee=C((wAt,Lee)=>{var F1e=Ree(),R1e=yy(),Nee=By(),Mee=Nee&&Nee.isMap,L1e=Mee?R1e(Mee):F1e;Lee.exports=L1e});var Tee=C((QAt,Kee)=>{var N1e=_f(),M1e=cs(),O1e="[object Set]";function K1e(t){return M1e(t)&&N1e(t)==O1e}Kee.exports=K1e});var Gee=C((bAt,Uee)=>{var T1e=Tee(),U1e=yy(),Hee=By(),Yee=Hee&&Hee.isSet,H1e=Yee?U1e(Yee):T1e;Uee.exports=H1e});var zee=C((DAt,jee)=>{var Y1e=Zf(),G1e=Y$(),j1e=ly(),q1e=q$(),J1e=_$(),W1e=Cv(),z1e=mv(),V1e=see(),X1e=lee(),Z1e=ck(),_1e=uee(),$1e=_f(),e2e=hee(),t2e=See(),r2e=yv(),i2e=dn(),n2e=Wf(),s2e=Oee(),o2e=Yn(),a2e=Gee(),A2e=Cu(),l2e=ku(),c2e=1,u2e=2,g2e=4,qee="[object Arguments]",h2e="[object Array]",f2e="[object Boolean]",p2e="[object Date]",d2e="[object Error]",Jee="[object Function]",C2e="[object GeneratorFunction]",m2e="[object Map]",I2e="[object Number]",Wee="[object Object]",E2e="[object RegExp]",y2e="[object Set]",B2e="[object String]",w2e="[object Symbol]",Q2e="[object WeakMap]",b2e="[object ArrayBuffer]",D2e="[object DataView]",S2e="[object Float32Array]",x2e="[object Float64Array]",P2e="[object Int8Array]",k2e="[object Int16Array]",v2e="[object Int32Array]",F2e="[object Uint8Array]",R2e="[object Uint8ClampedArray]",L2e="[object Uint16Array]",N2e="[object Uint32Array]",Lt={};Lt[qee]=Lt[h2e]=Lt[b2e]=Lt[D2e]=Lt[f2e]=Lt[p2e]=Lt[S2e]=Lt[x2e]=Lt[P2e]=Lt[k2e]=Lt[v2e]=Lt[m2e]=Lt[I2e]=Lt[Wee]=Lt[E2e]=Lt[y2e]=Lt[B2e]=Lt[w2e]=Lt[F2e]=Lt[R2e]=Lt[L2e]=Lt[N2e]=!0;Lt[d2e]=Lt[Jee]=Lt[Q2e]=!1;function rB(t,e,r,i,n,s){var o,a=e&c2e,l=e&u2e,c=e&g2e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!o2e(t))return t;var u=i2e(t);if(u){if(o=e2e(t),!a)return z1e(t,o)}else{var g=$1e(t),h=g==Jee||g==C2e;if(n2e(t))return W1e(t,a);if(g==Wee||g==qee||h&&!n){if(o=l||h?{}:r2e(t),!a)return l?X1e(t,J1e(o,t)):V1e(t,q1e(o,t))}else{if(!Lt[g])return n?t:{};o=t2e(t,g,a)}}s||(s=new Y1e);var f=s.get(t);if(f)return f;s.set(t,o),a2e(t)?t.forEach(function(I){o.add(rB(I,e,r,I,t,s))}):s2e(t)&&t.forEach(function(I,y){o.set(y,rB(I,e,r,y,t,s))});var p=c?l?_1e:Z1e:l?l2e:A2e,m=u?void 0:p(t);return G1e(m||t,function(I,y){m&&(y=I,I=t[y]),j1e(o,y,rB(I,e,r,y,t,s))}),o}jee.exports=rB});var Bv=C((SAt,Vee)=>{var M2e=zee(),O2e=1,K2e=4;function T2e(t){return M2e(t,O2e|K2e)}Vee.exports=T2e});var Zee=C((xAt,Xee)=>{var U2e=FP();function H2e(t,e,r){return t==null?t:U2e(t,e,r)}Xee.exports=H2e});var ite=C((LAt,rte)=>{function Y2e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}rte.exports=Y2e});var ste=C((NAt,nte)=>{var G2e=Of(),j2e=bS();function q2e(t,e){return e.length<2?t:G2e(t,j2e(e,0,-1))}nte.exports=q2e});var ate=C((MAt,ote)=>{var J2e=uu(),W2e=ite(),z2e=ste(),V2e=el();function X2e(t,e){return e=J2e(e,t),t=z2e(t,e),t==null||delete t[V2e(W2e(e))]}ote.exports=X2e});var lte=C((OAt,Ate)=>{var Z2e=ate();function _2e(t,e){return t==null?!0:Z2e(t,e)}Ate.exports=_2e});var mte=C((hlt,Cte)=>{Cte.exports={name:"@yarnpkg/cli",version:"3.0.0-rc.9",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0-rc.9","@yarnpkg/fslib":"workspace:^2.5.0-rc.9","@yarnpkg/libzip":"workspace:^2.2.2-rc.7","@yarnpkg/parsers":"workspace:^2.4.0-rc.7","@yarnpkg/plugin-compat":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-dlx":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-essentials":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-file":"workspace:^2.2.1-rc.9","@yarnpkg/plugin-git":"workspace:^2.4.0-rc.9","@yarnpkg/plugin-github":"workspace:^2.2.0-rc.9","@yarnpkg/plugin-http":"workspace:^2.1.3-rc.9","@yarnpkg/plugin-init":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-link":"workspace:^2.1.2-rc.9","@yarnpkg/plugin-node-modules":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-npm":"workspace:^2.5.0-rc.9","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-pack":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-patch":"workspace:^3.0.0-rc.9","@yarnpkg/plugin-pnp":"workspace:^3.0.0-rc.9","@yarnpkg/shell":"workspace:^3.0.0-rc.9",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.0",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"^4.3.2"},peerDependencies:{"@yarnpkg/core":"^3.0.0-rc.9"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"},stableVersion:"2.4.0"}});var Vv=C((Xft,fre)=>{"use strict";fre.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var Xv=C((Zft,pre)=>{"use strict";var DHe=Vv();function dre(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=DHe(t);return t=t.substring(t.indexOf("://")+3),dre(e)?!0:t.indexOf("@"){"use strict";var SHe=Vv(),xHe=Xv(),PHe=require("querystring");function kHe(t){t=(t||"").trim();var e={protocols:SHe(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(xHe(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=PHe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}Cre.exports=kHe});var yre=C(($ft,Ire)=>{"use strict";var vHe=typeof URL=="undefined"?require("url").URL:URL,Ere=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);Ire.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new vHe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Ere(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Ere(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var wre=C((ept,Bre)=>{"use strict";var FHe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},RHe=mre(),LHe=yre();function NHe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":FHe(e))!=="object"&&(e={stripFragment:!1}),t=LHe(t,e));var r=RHe(t);return r}Bre.exports=NHe});var Dre=C((tpt,Qre)=>{"use strict";var MHe=wre(),bre=Xv();function OHe(t){var e=MHe(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),bre(e.protocols)||bre(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}Qre.exports=OHe});var xre=C((rpt,Sre)=>{"use strict";var KHe=Dre();function Zv(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=KHe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return Zv.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}Zv.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?THe(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function THe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}Sre.exports=Zv});var uF=C((Wpt,Mre)=>{var zHe=gu(),VHe=Au();function XHe(t,e,r){(r!==void 0&&!VHe(t[e],r)||r===void 0&&!(e in t))&&zHe(t,e,r)}Mre.exports=XHe});var Kre=C((zpt,Ore)=>{var ZHe=Xf(),_He=cs();function $He(t){return _He(t)&&ZHe(t)}Ore.exports=$He});var Hre=C((Vpt,Tre)=>{var eYe=OA(),tYe=eB(),rYe=cs(),iYe="[object Object]",nYe=Function.prototype,sYe=Object.prototype,Ure=nYe.toString,oYe=sYe.hasOwnProperty,aYe=Ure.call(Object);function AYe(t){if(!rYe(t)||eYe(t)!=iYe)return!1;var e=tYe(t);if(e===null)return!0;var r=oYe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Ure.call(r)==aYe}Tre.exports=AYe});var gF=C((Xpt,Yre)=>{function lYe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Yre.exports=lYe});var jre=C((Zpt,Gre)=>{var cYe=Pu(),uYe=ku();function gYe(t){return cYe(t,uYe(t))}Gre.exports=gYe});var Xre=C((_pt,qre)=>{var Jre=uF(),hYe=Cv(),fYe=Ev(),pYe=mv(),dYe=yv(),Wre=Tf(),zre=dn(),CYe=Kre(),mYe=Wf(),IYe=oy(),EYe=Yn(),yYe=Hre(),BYe=wy(),Vre=gF(),wYe=jre();function QYe(t,e,r,i,n,s,o){var a=Vre(t,r),l=Vre(e,r),c=o.get(l);if(c){Jre(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var h=zre(l),f=!h&&mYe(l),p=!h&&!f&&BYe(l);u=l,h||f||p?zre(a)?u=a:CYe(a)?u=pYe(a):f?(g=!1,u=hYe(l,!0)):p?(g=!1,u=fYe(l,!0)):u=[]:yYe(l)||Wre(l)?(u=a,Wre(a)?u=wYe(a):(!EYe(a)||IYe(a))&&(u=dYe(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Jre(t,r,u)}qre.exports=QYe});var $re=C(($pt,Zre)=>{var bYe=Zf(),DYe=uF(),SYe=ek(),xYe=Xre(),PYe=Yn(),kYe=ku(),vYe=gF();function _re(t,e,r,i,n){t!==e&&SYe(e,function(s,o){if(n||(n=new bYe),PYe(s))xYe(t,e,o,r,_re,i,n);else{var a=i?i(vYe(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),DYe(t,o,a)}},kYe)}Zre.exports=_re});var tie=C((edt,eie)=>{var FYe=gy(),RYe=NP(),LYe=MP();function NYe(t,e){return LYe(RYe(t,e,FYe),t+"")}eie.exports=NYe});var iie=C((tdt,rie)=>{var MYe=Au(),OYe=Xf(),KYe=Kf(),TYe=Yn();function UYe(t,e,r){if(!TYe(r))return!1;var i=typeof e;return(i=="number"?OYe(r)&&KYe(e,r.length):i=="string"&&e in r)?MYe(r[e],t):!1}rie.exports=UYe});var sie=C((rdt,nie)=>{var HYe=tie(),YYe=iie();function GYe(t){return HYe(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&YYe(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var jYe=$re(),qYe=sie(),JYe=qYe(function(t,e,r){jYe(t,e,r)});oie.exports=JYe});var xie=C((jCt,Sie)=>{var vF;Sie.exports=()=>(typeof vF=="undefined"&&(vF=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),vF)});var Lie=C(RF=>{function Mu(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Mu(n[u],c))?g.replace("*",l.substring(u.length-1)):pl(i,l,1)}return pl(i,l)}}function EGe(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){HF&&typeof HF=="object"&&typeof YF!="undefined"?YF.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var zie=C((EIt,qie)=>{"use strict";GF.ifExists=kGe;var Tu=require("util"),bn=require("path"),Jie=jie(),vGe=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,FGe={createPwshFile:!0,createCmdFile:Jie(),fs:require("fs")},RGe=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Wie(t){let e=k(k({},FGe),t),r=e.fs;return e.fs_={chmod:r.chmod?Tu.promisify(r.chmod):async()=>{},mkdir:Tu.promisify(r.mkdir),readFile:Tu.promisify(r.readFile),stat:Tu.promisify(r.stat),unlink:Tu.promisify(r.unlink),writeFile:Tu.promisify(r.writeFile)},e}async function GF(t,e,r){let i=Wie(r);await i.fs_.stat(t),await LGe(t,e,i)}function kGe(t,e,r){return GF(t,e,r).catch(()=>{})}function NGe(t,e){return e.fs_.unlink(t).catch(()=>{})}async function LGe(t,e,r){let i=await KGe(t,r);return await MGe(e,r),OGe(t,e,i,r)}function MGe(t,e){return e.fs_.mkdir(bn.dirname(t),{recursive:!0})}function OGe(t,e,r,i){let n=Wie(i),s=[{generator:HGe,extension:""}];return n.createCmdFile&&s.push({generator:UGe,extension:".cmd"}),n.createPwshFile&&s.push({generator:YGe,extension:".ps1"}),Promise.all(s.map(o=>TGe(t,e+o.extension,r,o.generator,n)))}function GGe(t,e){return NGe(t,e)}function qGe(t,e){return jGe(t,e)}async function KGe(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(vGe);if(!n){let s=bn.extname(t).toLowerCase();return{program:RGe.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function TGe(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await GGe(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),qGe(e,n)}function UGe(t,e,r){let n=bn.relative(bn.dirname(e),t).split("/").join("\\"),s=bn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=jF(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r `:"";return o?g+=`@IF EXIST ${o} (\r ${o} ${l} ${n} ${u}%*\r ) ELSE (\r @@ -105,7 +105,7 @@ attempted value: ${s} ${a} ${l} ${n} ${u}%*\r )\r `:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function Pqe(t,e,r){let i=wn.relative(wn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=wn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=UF(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +`,g}function HGe(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=jF(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") case \`uname\` in @@ -120,7 +120,7 @@ else fi `:u+=`${g}${n} ${a} ${i} ${c}"$@" exit $? -`,u}function kqe(t,e,r){let i=wn.relative(wn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=wn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=UF(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",f=`#!/usr/bin/env pwsh +`,u}function YGe(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=jF(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",f=`#!/usr/bin/env pwsh $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent $exe="" @@ -162,180 +162,182 @@ if ($MyInvocation.ExpectingInput) { } ${r.nodePath?`$env:NODE_PATH=$env_node_path `:""}exit $LASTEXITCODE -`,f}function Fqe(t,e){return e.fs_.chmod(t,493)}function UF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(wn.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Mie.exports=TF});var oR=C((UEt,rne)=>{rne.exports=require("stream")});var one=C((HEt,ine)=>{"use strict";function nne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function $qe(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return pB.alloc(0);for(var i=pB.allocUnsafe(r>>>0),n=this.head,s=0;n;)sGe(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=pB.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:nGe,value:function(r,i){return aR(this,$qe({},i,{depth:0,customInspect:!1}))}}]),t}()});var lR=C((YEt,ane)=>{"use strict";function oGe(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(AR,this,t)):process.nextTick(AR,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(dB,r):(r._writableState.errorEmitted=!0,process.nextTick(Ane,r,s)):process.nextTick(Ane,r,s):e?(process.nextTick(dB,r),e(s)):process.nextTick(dB,r)}),this)}function Ane(t,e){AR(t,e),dB(t)}function dB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function aGe(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function AR(t,e){t.emit("error",e)}function AGe(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}ane.exports={destroy:oGe,undestroy:aGe,errorOrDestroy:AGe}});var ka=C((qEt,lne)=>{"use strict";var cne={};function Qn(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,cne[t]=n}function une(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function lGe(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function cGe(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function uGe(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Qn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Qn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&lGe(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(cGe(t," argument"))n=`The ${t} ${i} ${une(e,"type")}`;else{let s=uGe(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${une(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Qn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Qn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Qn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Qn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Qn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Qn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Qn("ERR_STREAM_WRITE_AFTER_END","write after end");Qn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Qn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Qn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");lne.exports.codes=cne});var cR=C((GEt,gne)=>{"use strict";var gGe=ka().codes.ERR_INVALID_OPT_VALUE;function hGe(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function fGe(t,e,r,i){var n=hGe(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new gGe(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}gne.exports={getHighWaterMark:fGe}});var hne=C((jEt,uR)=>{typeof Object.create=="function"?uR.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:uR.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var va=C((JEt,gR)=>{try{if(hR=require("util"),typeof hR.inherits!="function")throw"";gR.exports=hR.inherits}catch(t){gR.exports=hne()}var hR});var pne=C((WEt,fne)=>{fne.exports=require("util").deprecate});var dR=C((zEt,dne)=>{"use strict";dne.exports=tr;function Cne(t){var e=this;this.next=null,this.entry=null,this.finish=function(){pGe(e,t)}}var Hu;tr.WritableState=id;var dGe={deprecate:pne()},mne=oR(),CB=require("buffer").Buffer,CGe=global.Uint8Array||function(){};function mGe(t){return CB.from(t)}function IGe(t){return CB.isBuffer(t)||t instanceof CGe}var fR=lR(),EGe=cR(),yGe=EGe.getHighWaterMark,Fa=ka().codes,BGe=Fa.ERR_INVALID_ARG_TYPE,wGe=Fa.ERR_METHOD_NOT_IMPLEMENTED,QGe=Fa.ERR_MULTIPLE_CALLBACK,bGe=Fa.ERR_STREAM_CANNOT_PIPE,SGe=Fa.ERR_STREAM_DESTROYED,DGe=Fa.ERR_STREAM_NULL_VALUES,xGe=Fa.ERR_STREAM_WRITE_AFTER_END,PGe=Fa.ERR_UNKNOWN_ENCODING,Yu=fR.errorOrDestroy;va()(tr,mne);function kGe(){}function id(t,e,r){Hu=Hu||yl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Hu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=yGe(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){vGe(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Cne(this)}id.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(id.prototype,"buffer",{get:dGe.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var mB;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(mB=Function.prototype[Symbol.hasInstance],Object.defineProperty(tr,Symbol.hasInstance,{value:function(e){return mB.call(this,e)?!0:this!==tr?!1:e&&e._writableState instanceof id}})):mB=function(e){return e instanceof this};function tr(t){Hu=Hu||yl();var e=this instanceof Hu;if(!e&&!mB.call(tr,this))return new tr(t);this._writableState=new id(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),mne.call(this)}tr.prototype.pipe=function(){Yu(this,new bGe)};function FGe(t,e){var r=new xGe;Yu(t,r),process.nextTick(e,r)}function RGe(t,e,r,i){var n;return r===null?n=new DGe:typeof r!="string"&&!e.objectMode&&(n=new BGe("chunk",["string","Buffer"],r)),n?(Yu(t,n),process.nextTick(i,n),!1):!0}tr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&IGe(t);return s&&!CB.isBuffer(t)&&(t=mGe(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=kGe),i.ending?FGe(this,r):(s||RGe(this,i,t,r))&&(i.pendingcb++,n=LGe(this,i,s,t,e,r)),n};tr.prototype.cork=function(){this._writableState.corked++};tr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Ine(this,t))};tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new PGe(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function NGe(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=CB.from(e,r)),e}Object.defineProperty(tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function LGe(t,e,r,i,n,s){if(!r){var o=NGe(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var YGe=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Bne.exports=ys;var wne=CR(),mR=dR();va()(ys,wne);for(IR=YGe(mR.prototype),IB=0;IB{var yB=require("buffer"),Io=yB.Buffer;function bne(t,e){for(var r in t)e[r]=t[r]}Io.from&&Io.alloc&&Io.allocUnsafe&&Io.allocUnsafeSlow?Qne.exports=yB:(bne(yB,ER),ER.Buffer=qu);function qu(t,e,r){return Io(t,e,r)}bne(Io,qu);qu.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return Io(t,e,r)};qu.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=Io(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};qu.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Io(t)};qu.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return yB.SlowBuffer(t)}});var wR=C(Dne=>{"use strict";var yR=Sne().Buffer,xne=yR.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function jGe(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function JGe(t){var e=jGe(t);if(typeof e!="string"&&(yR.isEncoding===xne||!xne(t)))throw new Error("Unknown encoding: "+t);return e||t}Dne.StringDecoder=sd;function sd(t){this.encoding=JGe(t);var e;switch(this.encoding){case"utf16le":this.text=zGe,this.end=VGe,e=4;break;case"utf8":this.fillLast=WGe,e=4;break;case"base64":this.text=XGe,this.end=ZGe,e=3;break;default:this.write=_Ge,this.end=$Ge;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=yR.allocUnsafe(e)}sd.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function rje(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function ije(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function WGe(t){var e=this.lastTotal-this.lastNeed,r=ije(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function tje(t,e){var r=rje(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function eje(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function zGe(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function VGe(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function XGe(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function ZGe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function _Ge(t){return t.toString(this.encoding)}function $Ge(t){return t&&t.length?this.write(t):""}});var BB=C((ZEt,Pne)=>{"use strict";var kne=ka().codes.ERR_STREAM_PREMATURE_CLOSE;function nje(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var wB;function Ra(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var aje=BB(),La=Symbol("lastResolve"),Bl=Symbol("lastReject"),od=Symbol("error"),QB=Symbol("ended"),wl=Symbol("lastPromise"),QR=Symbol("handlePromise"),Ql=Symbol("stream");function Na(t,e){return{value:t,done:e}}function Aje(t){var e=t[La];if(e!==null){var r=t[Ql].read();r!==null&&(t[wl]=null,t[La]=null,t[Bl]=null,e(Na(r,!1)))}}function lje(t){process.nextTick(Aje,t)}function cje(t,e){return function(r,i){t.then(function(){if(e[QB]){r(Na(void 0,!0));return}e[QR](r,i)},i)}}var uje=Object.getPrototypeOf(function(){}),gje=Object.setPrototypeOf((wB={get stream(){return this[Ql]},next:function(){var e=this,r=this[od];if(r!==null)return Promise.reject(r);if(this[QB])return Promise.resolve(Na(void 0,!0));if(this[Ql].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[od]?a(e[od]):o(Na(void 0,!0))})});var i=this[wl],n;if(i)n=new Promise(cje(i,this));else{var s=this[Ql].read();if(s!==null)return Promise.resolve(Na(s,!1));n=new Promise(this[QR])}return this[wl]=n,n}},Ra(wB,Symbol.asyncIterator,function(){return this}),Ra(wB,"return",function(){var e=this;return new Promise(function(r,i){e[Ql].destroy(null,function(n){if(n){i(n);return}r(Na(void 0,!0))})})}),wB),uje),hje=function(e){var r,i=Object.create(gje,(r={},Ra(r,Ql,{value:e,writable:!0}),Ra(r,La,{value:null,writable:!0}),Ra(r,Bl,{value:null,writable:!0}),Ra(r,od,{value:null,writable:!0}),Ra(r,QB,{value:e._readableState.endEmitted,writable:!0}),Ra(r,QR,{value:function(s,o){var a=i[Ql].read();a?(i[wl]=null,i[La]=null,i[Bl]=null,s(Na(a,!1))):(i[La]=s,i[Bl]=o)},writable:!0}),r));return i[wl]=null,aje(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Bl];s!==null&&(i[wl]=null,i[La]=null,i[Bl]=null,s(n)),i[od]=n;return}var o=i[La];o!==null&&(i[wl]=null,i[La]=null,i[Bl]=null,o(Na(void 0,!0))),i[QB]=!0}),e.on("readable",lje.bind(null,i)),i};Fne.exports=hje});var One=C(($Et,Lne)=>{"use strict";function Nne(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function fje(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Nne(s,i,n,o,a,"next",l)}function a(l){Nne(s,i,n,o,a,"throw",l)}o(void 0)})}}function Mne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function dje(t){for(var e=1;e{"use strict";Kne.exports=Ct;var Gu;Ct.ReadableState=Tne;var eyt=require("events").EventEmitter,Une=function(e,r){return e.listeners(r).length},ad=oR(),bB=require("buffer").Buffer,Ije=global.Uint8Array||function(){};function Eje(t){return bB.from(t)}function yje(t){return bB.isBuffer(t)||t instanceof Ije}var bR=require("util"),ct;bR&&bR.debuglog?ct=bR.debuglog("stream"):ct=function(){};var Bje=one(),SR=lR(),wje=cR(),Qje=wje.getHighWaterMark,SB=ka().codes,bje=SB.ERR_INVALID_ARG_TYPE,Sje=SB.ERR_STREAM_PUSH_AFTER_EOF,Dje=SB.ERR_METHOD_NOT_IMPLEMENTED,xje=SB.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ju,DR,xR;va()(Ct,ad);var Ad=SR.errorOrDestroy,PR=["error","close","destroy","pause","resume"];function Pje(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Tne(t,e,r){Gu=Gu||yl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Gu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Qje(this,t,"readableHighWaterMark",r),this.buffer=new Bje,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ju||(ju=wR().StringDecoder),this.decoder=new ju(t.encoding),this.encoding=t.encoding)}function Ct(t){if(Gu=Gu||yl(),!(this instanceof Ct))return new Ct(t);var e=this instanceof Gu;this._readableState=new Tne(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),ad.call(this)}Object.defineProperty(Ct.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ct.prototype.destroy=SR.destroy;Ct.prototype._undestroy=SR.undestroy;Ct.prototype._destroy=function(t,e){e(t)};Ct.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=bB.from(t,e),e=""),i=!0),Hne(this,t,e,!1,i)};Ct.prototype.unshift=function(t){return Hne(this,t,null,!0,!1)};function Hne(t,e,r,i,n){ct("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,vje(t,s);else{var o;if(n||(o=kje(s,e)),o)Ad(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==bB.prototype&&(e=Eje(e)),i)s.endEmitted?Ad(t,new xje):kR(t,s,e,!0);else if(s.ended)Ad(t,new Sje);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?kR(t,s,e,!1):vR(t,s)):kR(t,s,e,!1)}else i||(s.reading=!1,vR(t,s))}return!s.ended&&(s.length=Yne?t=Yne:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function qne(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=Fje(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ct.prototype.read=function(t){ct("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ct("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?FR(this):DB(this),null;if(t=qne(t,e),t===0&&e.ended)return e.length===0&&FR(this),null;var i=e.needReadable;ct("need readable",i),(e.length===0||e.length-t0?n=Gne(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&FR(this)),n!==null&&this.emit("data",n),n};function vje(t,e){if(ct("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?DB(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,jne(t)))}}function DB(t){var e=t._readableState;ct("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ct("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(jne,t))}function jne(t){var e=t._readableState;ct("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,RR(t)}function vR(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(Rje,t,e))}function Rje(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Jne(i.pipes,t)!==-1)&&!c&&(ct("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function h(I){ct("onerror",I),m(),t.removeListener("error",h),Une(t,"error")===0&&Ad(t,I)}Pje(t,"error",h);function f(){t.removeListener("finish",p),m()}t.once("close",f);function p(){ct("onfinish"),t.removeListener("close",f),m()}t.once("finish",p);function m(){ct("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(ct("pipe resume"),r.resume()),t};function Lje(t){return function(){var r=t._readableState;ct("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Une(t,"data")&&(r.flowing=!0,RR(t))}}Ct.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,ct("on readable",i.length,i.reading),i.length?DB(this):i.reading||process.nextTick(Nje,this)),r};Ct.prototype.addListener=Ct.prototype.on;Ct.prototype.removeListener=function(t,e){var r=ad.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Wne,this),r};Ct.prototype.removeAllListeners=function(t){var e=ad.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Wne,this),e};function Wne(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Nje(t){ct("readable nexttick read 0"),t.read(0)}Ct.prototype.resume=function(){var t=this._readableState;return t.flowing||(ct("resume"),t.flowing=!t.readableListening,Mje(this,t)),t.paused=!1,this};function Mje(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(Oje,t,e))}function Oje(t,e){ct("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),RR(t),e.flowing&&!e.reading&&t.read(0)}Ct.prototype.pause=function(){return ct("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ct("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function RR(t){var e=t._readableState;for(ct("flow",e.flowing);e.flowing&&t.read()!==null;);}Ct.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(ct("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(ct("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function FR(t){var e=t._readableState;ct("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Kje,e,t))}function Kje(t,e){if(ct("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ct.from=function(t,e){return xR===void 0&&(xR=One()),xR(Ct,t,e)});function Jne(t,e){for(var r=0,i=t.length;r{"use strict";zne.exports=Eo;var xB=ka().codes,Tje=xB.ERR_METHOD_NOT_IMPLEMENTED,Uje=xB.ERR_MULTIPLE_CALLBACK,Hje=xB.ERR_TRANSFORM_ALREADY_TRANSFORMING,Yje=xB.ERR_TRANSFORM_WITH_LENGTH_0,PB=yl();va()(Eo,PB);function qje(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new Uje);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Xne.exports=ld;var Zne=LR();va()(ld,Zne);function ld(t){if(!(this instanceof ld))return new ld(t);Zne.call(this,t)}ld.prototype._transform=function(t,e,r){r(null,t)}});var ise=C((nyt,$ne)=>{"use strict";var NR;function jje(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var ese=ka().codes,Jje=ese.ERR_MISSING_ARGS,Wje=ese.ERR_STREAM_DESTROYED;function tse(t){if(t)throw t}function zje(t){return t.setHeader&&typeof t.abort=="function"}function Vje(t,e,r,i){i=jje(i);var n=!1;t.on("close",function(){n=!0}),NR===void 0&&(NR=BB()),NR(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,zje(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new Wje("pipe"))}}}function rse(t){t()}function Xje(t,e){return t.pipe(e)}function Zje(t){return!t.length||typeof t[t.length-1]!="function"?tse:t.pop()}function _je(){for(var t=arguments.length,e=new Array(t),r=0;r0;return Vje(o,l,c,function(u){n||(n=u),u&&s.forEach(rse),!l&&(s.forEach(rse),i(n))})});return e.reduce(Xje)}$ne.exports=_je});var Ju=C((bn,cd)=>{var ud=require("stream");process.env.READABLE_STREAM==="disable"&&ud?(cd.exports=ud.Readable,Object.assign(cd.exports,ud),cd.exports.Stream=ud):(bn=cd.exports=CR(),bn.Stream=ud||bn,bn.Readable=bn,bn.Writable=dR(),bn.Duplex=yl(),bn.Transform=LR(),bn.PassThrough=_ne(),bn.finished=BB(),bn.pipeline=ise())});var ose=C((syt,nse)=>{"use strict";var{Buffer:jn}=require("buffer"),sse=Symbol.for("BufferList");function Nt(t){if(!(this instanceof Nt))return new Nt(t);Nt._init.call(this,t)}Nt._init=function(e){Object.defineProperty(this,sse,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Nt.prototype._new=function(e){return new Nt(e)};Nt.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Nt.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Nt.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||jn.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:jn.concat(this._bufs,this.length);for(let g=0;gh)this._bufs[g].copy(e,c,u),c+=h;else{this._bufs[g].copy(e,c,u,u+l),c+=h;break}l-=h,u&&(u=0)}return e.length>c?e.slice(0,c):e};Nt.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};Nt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Nt.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Nt.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};Nt.prototype._match=function(t,e){if(this.length-t{"use strict";var MR=Ju().Duplex,$je=va(),gd=ose();function _r(t){if(!(this instanceof _r))return new _r(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}gd._init.call(this,t),MR.call(this)}$je(_r,MR);Object.assign(_r.prototype,gd.prototype);_r.prototype._new=function(e){return new _r(e)};_r.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};_r.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};_r.prototype.end=function(e){MR.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};_r.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};_r.prototype._isBufferList=function(e){return e instanceof _r||e instanceof gd||_r.isBufferList(e)};_r.isBufferList=gd.isBufferList;kB.exports=_r;kB.exports.BufferListStream=_r;kB.exports.BufferList=gd});var TR=C(Wu=>{var eJe=Buffer.alloc,tJe="0000000000000000000",rJe="7777777777777777777",Ase="0".charCodeAt(0),lse=Buffer.from("ustar\0","binary"),iJe=Buffer.from("00","binary"),nJe=Buffer.from("ustar ","binary"),sJe=Buffer.from(" \0","binary"),oJe=parseInt("7777",8),hd=257,OR=263,aJe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},AJe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},lJe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},cse=function(t,e,r,i){for(;re?rJe.slice(0,e)+" ":tJe.slice(0,e-t.length)+t+" "};function cJe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};Wu.decodeLongPath=function(t,e){return zu(t,0,t.length,e)};Wu.encodePax=function(t){var e="";t.name&&(e+=KR(" path="+t.name+` -`)),t.linkname&&(e+=KR(" linkpath="+t.linkname+` -`));var r=t.pax;if(r)for(var i in r)e+=KR(" "+i+"="+r[i]+` -`);return Buffer.from(e)};Wu.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Ma(t.mode&oJe,6),100),e.write(Ma(t.uid,6),108),e.write(Ma(t.gid,6),116),e.write(Ma(t.size,11),124),e.write(Ma(t.mtime.getTime()/1e3|0,11),136),e[156]=Ase+lJe(t.type),t.linkname&&e.write(t.linkname,157),lse.copy(e,hd),iJe.copy(e,OR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Ma(t.devmajor||0,6),329),e.write(Ma(t.devminor||0,6),337),i&&e.write(i,345),e.write(Ma(use(e),6),148),e)};Wu.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Ase,n=zu(t,0,100,e),s=Oa(t,100,8),o=Oa(t,108,8),a=Oa(t,116,8),l=Oa(t,124,12),c=Oa(t,136,12),u=AJe(i),g=t[157]===0?null:zu(t,157,100,e),h=zu(t,265,32),f=zu(t,297,32),p=Oa(t,329,8),m=Oa(t,337,8),I=use(t);if(I===8*32)return null;if(I!==Oa(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(lse.compare(t,hd,hd+6)===0)t[345]&&(n=zu(t,345,155,e)+"/"+n);else if(!(nJe.compare(t,hd,hd+6)===0&&sJe.compare(t,OR,OR+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:h,gname:f,devmajor:p,devminor:m}}});var mse=C((Ayt,gse)=>{var hse=require("util"),uJe=ase(),fd=TR(),fse=Ju().Writable,pse=Ju().PassThrough,dse=function(){},Cse=function(t){return t&=511,t&&512-t},gJe=function(t,e){var r=new vB(t,e);return r.end(),r},hJe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},vB=function(t,e){this._parent=t,this.offset=e,pse.call(this,{autoDestroy:!1})};hse.inherits(vB,pse);vB.prototype.destroy=function(t){this._parent.destroy(t)};var yo=function(t){if(!(this instanceof yo))return new yo(t);fse.call(this,t),t=t||{},this._offset=0,this._buffer=uJe(),this._missing=0,this._partial=!1,this._onparse=dse,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(h){if(e._locked=!1,h)return e.destroy(h);e._stream||i()},s=function(){e._stream=null;var h=Cse(e._header.size);h?e._parse(h,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Cse(e._header.size)),e._parse(512,g),i()},a=function(){var h=e._header.size;e._paxGlobal=fd.decodePax(r.slice(0,h)),r.consume(h),s()},l=function(){var h=e._header.size;e._pax=fd.decodePax(r.slice(0,h)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(h),s()},c=function(){var h=e._header.size;this._gnuLongPath=fd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},u=function(){var h=e._header.size;this._gnuLongLinkPath=fd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},g=function(){var h=e._offset,f;try{f=e._header=fd.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!f){e._parse(512,g),i();return}if(f.type==="gnu-long-path"){e._parse(f.size,c),i();return}if(f.type==="gnu-long-link-path"){e._parse(f.size,u),i();return}if(f.type==="pax-global-header"){e._parse(f.size,a),i();return}if(f.type==="pax-header"){e._parse(f.size,l),i();return}if(e._gnuLongPath&&(f.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(f.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=f=hJe(f,e._pax),e._pax=null),e._locked=!0,!f.size||f.type==="directory"){e._parse(512,g),e.emit("entry",f,gJe(e,h),n);return}e._stream=new vB(e,h),e.emit("entry",f,e._stream,n),e._parse(f.size,s),i()};this._onheader=g,this._parse(512,g)};hse.inherits(yo,fse);yo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};yo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};yo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=dse,this._overflow?this._write(this._overflow,void 0,t):t()}};yo.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};yo.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};gse.exports=yo});var Ese=C((lyt,Ise)=>{Ise.exports=require("fs").constants||require("constants")});var bse=C((cyt,yse)=>{var Vu=Ese(),Bse=Db(),FB=va(),fJe=Buffer.alloc,wse=Ju().Readable,Xu=Ju().Writable,pJe=require("string_decoder").StringDecoder,RB=TR(),dJe=parseInt("755",8),CJe=parseInt("644",8),Qse=fJe(1024),UR=function(){},HR=function(t,e){e&=511,e&&t.push(Qse.slice(0,512-e))};function mJe(t){switch(t&Vu.S_IFMT){case Vu.S_IFBLK:return"block-device";case Vu.S_IFCHR:return"character-device";case Vu.S_IFDIR:return"directory";case Vu.S_IFIFO:return"fifo";case Vu.S_IFLNK:return"symlink"}return"file"}var LB=function(t){Xu.call(this),this.written=0,this._to=t,this._destroyed=!1};FB(LB,Xu);LB.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};LB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var NB=function(){Xu.call(this),this.linkname="",this._decoder=new pJe("utf-8"),this._destroyed=!1};FB(NB,Xu);NB.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};NB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var pd=function(){Xu.call(this),this._destroyed=!1};FB(pd,Xu);pd.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};pd.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Bs=function(t){if(!(this instanceof Bs))return new Bs(t);wse.call(this,t),this._drain=UR,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FB(Bs,wse);Bs.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=UR);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=mJe(t.mode)),t.mode||(t.mode=t.type==="directory"?dJe:CJe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return HR(i,t.size),n?process.nextTick(r):this._drain=r,new pd}if(t.type==="symlink"&&!t.linkname){var s=new NB;return Bse(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new pd;var o=new LB(this);return this._stream=o,Bse(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));HR(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Bs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Qse),this.push(null))};Bs.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Bs.prototype._encode=function(t){if(!t.pax){var e=RB.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Bs.prototype._encodePax=function(t){var e=RB.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(RB.encode(r)),this.push(e),HR(this,e.length),r.size=t.size,r.type=t.type,this.push(RB.encode(r))};Bs.prototype._read=function(t){var e=this._drain;this._drain=UR,e()};yse.exports=Bs});var Sse=C(YR=>{YR.extract=mse();YR.pack=bse()});var Tse=C((Ryt,Nse)=>{"use strict";var Zu=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Ose(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return zR(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):vJe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Zu(this.__specs,this.__opts,Ose(this.__providers).concat(e)),Mse)}};try{let t=require("util");Zu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function FJe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function zR(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))FJe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Kse(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Kse(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Kse(t,e){let r;return e.__isFiggyPudding?r=zR(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Mse={has(t,e){return e in t.__specs&&zR(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Zu.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Nse.exports=RJe;function RJe(t,e){function r(...i){return new Proxy(new Zu(t,e,i),Mse)}return r}function Ose(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function vJe(t){return Object.keys(t).map(e=>[e,t[e]])}});var Yse=C((Lyt,ws)=>{"use strict";var Cd=require("crypto"),LJe=Tse(),NJe=require("stream").Transform,Use=["sha256","sha384","sha512"],MJe=/^[a-z0-9+/]+(?:=?=?)$/i,OJe=/^([^-]+)-([^?]+)([?\S*]*)$/,KJe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,TJe=/^[\x21-\x7E]+$/,pi=LJe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>UJe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),bl=class{get isHash(){return!0}constructor(e,r){r=pi(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?KJe:OJe);if(!n||i&&!Use.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=pi(e),e.strict&&!(Use.some(i=>i===this.algorithm)&&this.digest.match(MJe)&&(this.options||[]).every(i=>i.match(TJe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},_u=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=pi(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>bl.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=pi(r);let i=typeof e=="string"?e:md(e,r);return Qs(`${this.toString(r)} ${i}`,r)}hexDigest(){return Qs(this,{single:!0}).hexDigest()}match(e,r){r=pi(r);let i=Qs(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=pi(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};ws.exports.parse=Qs;function Qs(t,e){if(e=pi(e),typeof t=="string")return VR(t,e);if(t.algorithm&&t.digest){let r=new _u;return r[t.algorithm]=[t],VR(md(r,e),e)}else return VR(md(t,e),e)}function VR(t,e){return e.single?new bl(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new bl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new _u)}ws.exports.stringify=md;function md(t,e){return e=pi(e),t.algorithm&&t.digest?bl.prototype.toString.call(t,e):typeof t=="string"?md(Qs(t,e),e):_u.prototype.toString.call(t,e)}ws.exports.fromHex=HJe;function HJe(t,e,r){r=pi(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Qs(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}ws.exports.fromData=YJe;function YJe(t,e){e=pi(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Cd.createHash(s).update(t).digest("base64"),a=new bl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new _u)}ws.exports.fromStream=qJe;function qJe(t,e){e=pi(e);let r=e.Promise||Promise,i=XR(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ws.exports.checkData=GJe;function GJe(t,e,r){if(r=pi(r),e=Qs(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=Cd.createHash(i).update(t).digest("base64"),s=Qs({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. +`,f}function jGe(t,e){return e.fs_.chmod(t,493)}function jF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(bn.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}qie.exports=GF});var cR=C((ryt,une)=>{une.exports=require("stream")});var pne=C((iyt,gne)=>{"use strict";function hne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function uje(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return dB.alloc(0);for(var i=dB.allocUnsafe(r>>>0),n=this.head,s=0;n;)Cje(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=dB.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:dje,value:function(r,i){return uR(this,uje({},i,{depth:0,customInspect:!1}))}}]),t}()});var hR=C((nyt,dne)=>{"use strict";function mje(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(gR,this,t)):process.nextTick(gR,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(CB,r):(r._writableState.errorEmitted=!0,process.nextTick(Cne,r,s)):process.nextTick(Cne,r,s):e?(process.nextTick(CB,r),e(s)):process.nextTick(CB,r)}),this)}function Cne(t,e){gR(t,e),CB(t)}function CB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function Ije(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function gR(t,e){t.emit("error",e)}function Eje(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}dne.exports={destroy:mje,undestroy:Ije,errorOrDestroy:Eje}});var ka=C((syt,mne)=>{"use strict";var Ine={};function Dn(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Ine[t]=n}function Ene(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function yje(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Bje(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function wje(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Dn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Dn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&yje(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(Bje(t," argument"))n=`The ${t} ${i} ${Ene(e,"type")}`;else{let s=wje(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${Ene(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Dn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Dn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Dn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Dn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Dn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Dn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Dn("ERR_STREAM_WRITE_AFTER_END","write after end");Dn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Dn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Dn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");mne.exports.codes=Ine});var fR=C((oyt,yne)=>{"use strict";var Qje=ka().codes.ERR_INVALID_OPT_VALUE;function bje(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function Dje(t,e,r,i){var n=bje(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new Qje(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}yne.exports={getHighWaterMark:Dje}});var Bne=C((ayt,pR)=>{typeof Object.create=="function"?pR.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:pR.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var va=C((Ayt,dR)=>{try{if(CR=require("util"),typeof CR.inherits!="function")throw"";dR.exports=CR.inherits}catch(t){dR.exports=Bne()}var CR});var Qne=C((lyt,wne)=>{wne.exports=require("util").deprecate});var ER=C((cyt,bne)=>{"use strict";bne.exports=tr;function Dne(t){var e=this;this.next=null,this.entry=null,this.finish=function(){Sje(e,t)}}var Hu;tr.WritableState=cd;var xje={deprecate:Qne()},Sne=cR(),mB=require("buffer").Buffer,Pje=global.Uint8Array||function(){};function kje(t){return mB.from(t)}function vje(t){return mB.isBuffer(t)||t instanceof Pje}var mR=hR(),Fje=fR(),Rje=Fje.getHighWaterMark,Fa=ka().codes,Lje=Fa.ERR_INVALID_ARG_TYPE,Nje=Fa.ERR_METHOD_NOT_IMPLEMENTED,Mje=Fa.ERR_MULTIPLE_CALLBACK,Oje=Fa.ERR_STREAM_CANNOT_PIPE,Kje=Fa.ERR_STREAM_DESTROYED,Tje=Fa.ERR_STREAM_NULL_VALUES,Uje=Fa.ERR_STREAM_WRITE_AFTER_END,Hje=Fa.ERR_UNKNOWN_ENCODING,Yu=mR.errorOrDestroy;va()(tr,Sne);function Yje(){}function cd(t,e,r){Hu=Hu||Il(),t=t||{},typeof r!="boolean"&&(r=e instanceof Hu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Rje(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){Gje(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Dne(this)}cd.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(cd.prototype,"buffer",{get:xje.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var IB;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(IB=Function.prototype[Symbol.hasInstance],Object.defineProperty(tr,Symbol.hasInstance,{value:function(e){return IB.call(this,e)?!0:this!==tr?!1:e&&e._writableState instanceof cd}})):IB=function(e){return e instanceof this};function tr(t){Hu=Hu||Il();var e=this instanceof Hu;if(!e&&!IB.call(tr,this))return new tr(t);this._writableState=new cd(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Sne.call(this)}tr.prototype.pipe=function(){Yu(this,new Oje)};function jje(t,e){var r=new Uje;Yu(t,r),process.nextTick(e,r)}function qje(t,e,r,i){var n;return r===null?n=new Tje:typeof r!="string"&&!e.objectMode&&(n=new Lje("chunk",["string","Buffer"],r)),n?(Yu(t,n),process.nextTick(i,n),!1):!0}tr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&vje(t);return s&&!mB.isBuffer(t)&&(t=kje(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=Yje),i.ending?jje(this,r):(s||qje(this,i,t,r))&&(i.pendingcb++,n=Jje(this,i,s,t,e,r)),n};tr.prototype.cork=function(){this._writableState.corked++};tr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&xne(this,t))};tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new Hje(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Wje(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=mB.from(e,r)),e}Object.defineProperty(tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Jje(t,e,r,i,n,s){if(!r){var o=Wje(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var eqe=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};vne.exports=Qs;var Fne=yR(),BR=ER();va()(Qs,Fne);for(wR=eqe(BR.prototype),EB=0;EB{var BB=require("buffer"),wo=BB.Buffer;function Lne(t,e){for(var r in t)e[r]=t[r]}wo.from&&wo.alloc&&wo.allocUnsafe&&wo.allocUnsafeSlow?Rne.exports=BB:(Lne(BB,QR),QR.Buffer=Gu);function Gu(t,e,r){return wo(t,e,r)}Lne(wo,Gu);Gu.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return wo(t,e,r)};Gu.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=wo(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};Gu.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return wo(t)};Gu.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return BB.SlowBuffer(t)}});var SR=C(Mne=>{"use strict";var bR=Nne().Buffer,One=bR.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function iqe(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function nqe(t){var e=iqe(t);if(typeof e!="string"&&(bR.isEncoding===One||!One(t)))throw new Error("Unknown encoding: "+t);return e||t}Mne.StringDecoder=gd;function gd(t){this.encoding=nqe(t);var e;switch(this.encoding){case"utf16le":this.text=oqe,this.end=aqe,e=4;break;case"utf8":this.fillLast=sqe,e=4;break;case"base64":this.text=Aqe,this.end=lqe,e=3;break;default:this.write=cqe,this.end=uqe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=bR.allocUnsafe(e)}gd.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function fqe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function pqe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function sqe(t){var e=this.lastTotal-this.lastNeed,r=pqe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function hqe(t,e){var r=fqe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function gqe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function oqe(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function aqe(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function Aqe(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function lqe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function cqe(t){return t.toString(this.encoding)}function uqe(t){return t&&t.length?this.write(t):""}});var wB=C((hyt,Kne)=>{"use strict";var Tne=ka().codes.ERR_STREAM_PREMATURE_CLOSE;function dqe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var QB;function Ra(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Iqe=wB(),La=Symbol("lastResolve"),El=Symbol("lastReject"),hd=Symbol("error"),bB=Symbol("ended"),yl=Symbol("lastPromise"),xR=Symbol("handlePromise"),Bl=Symbol("stream");function Na(t,e){return{value:t,done:e}}function Eqe(t){var e=t[La];if(e!==null){var r=t[Bl].read();r!==null&&(t[yl]=null,t[La]=null,t[El]=null,e(Na(r,!1)))}}function yqe(t){process.nextTick(Eqe,t)}function Bqe(t,e){return function(r,i){t.then(function(){if(e[bB]){r(Na(void 0,!0));return}e[xR](r,i)},i)}}var wqe=Object.getPrototypeOf(function(){}),Qqe=Object.setPrototypeOf((QB={get stream(){return this[Bl]},next:function(){var e=this,r=this[hd];if(r!==null)return Promise.reject(r);if(this[bB])return Promise.resolve(Na(void 0,!0));if(this[Bl].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[hd]?a(e[hd]):o(Na(void 0,!0))})});var i=this[yl],n;if(i)n=new Promise(Bqe(i,this));else{var s=this[Bl].read();if(s!==null)return Promise.resolve(Na(s,!1));n=new Promise(this[xR])}return this[yl]=n,n}},Ra(QB,Symbol.asyncIterator,function(){return this}),Ra(QB,"return",function(){var e=this;return new Promise(function(r,i){e[Bl].destroy(null,function(n){if(n){i(n);return}r(Na(void 0,!0))})})}),QB),wqe),bqe=function(e){var r,i=Object.create(Qqe,(r={},Ra(r,Bl,{value:e,writable:!0}),Ra(r,La,{value:null,writable:!0}),Ra(r,El,{value:null,writable:!0}),Ra(r,hd,{value:null,writable:!0}),Ra(r,bB,{value:e._readableState.endEmitted,writable:!0}),Ra(r,xR,{value:function(s,o){var a=i[Bl].read();a?(i[yl]=null,i[La]=null,i[El]=null,s(Na(a,!1))):(i[La]=s,i[El]=o)},writable:!0}),r));return i[yl]=null,Iqe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[El];s!==null&&(i[yl]=null,i[La]=null,i[El]=null,s(n)),i[hd]=n;return}var o=i[La];o!==null&&(i[yl]=null,i[La]=null,i[El]=null,o(Na(void 0,!0))),i[bB]=!0}),e.on("readable",yqe.bind(null,i)),i};Hne.exports=bqe});var Jne=C((pyt,Gne)=>{"use strict";function jne(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function Dqe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){jne(s,i,n,o,a,"next",l)}function a(l){jne(s,i,n,o,a,"throw",l)}o(void 0)})}}function qne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function xqe(t){for(var e=1;e{"use strict";Wne.exports=dt;var ju;dt.ReadableState=zne;var dyt=require("events").EventEmitter,Vne=function(e,r){return e.listeners(r).length},fd=cR(),DB=require("buffer").Buffer,vqe=global.Uint8Array||function(){};function Fqe(t){return DB.from(t)}function Rqe(t){return DB.isBuffer(t)||t instanceof vqe}var PR=require("util"),ct;PR&&PR.debuglog?ct=PR.debuglog("stream"):ct=function(){};var Lqe=pne(),kR=hR(),Nqe=fR(),Mqe=Nqe.getHighWaterMark,SB=ka().codes,Oqe=SB.ERR_INVALID_ARG_TYPE,Kqe=SB.ERR_STREAM_PUSH_AFTER_EOF,Tqe=SB.ERR_METHOD_NOT_IMPLEMENTED,Uqe=SB.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,qu,vR,FR;va()(dt,fd);var pd=kR.errorOrDestroy,RR=["error","close","destroy","pause","resume"];function Hqe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function zne(t,e,r){ju=ju||Il(),t=t||{},typeof r!="boolean"&&(r=e instanceof ju),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Mqe(this,t,"readableHighWaterMark",r),this.buffer=new Lqe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(qu||(qu=SR().StringDecoder),this.decoder=new qu(t.encoding),this.encoding=t.encoding)}function dt(t){if(ju=ju||Il(),!(this instanceof dt))return new dt(t);var e=this instanceof ju;this._readableState=new zne(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),fd.call(this)}Object.defineProperty(dt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});dt.prototype.destroy=kR.destroy;dt.prototype._undestroy=kR.undestroy;dt.prototype._destroy=function(t,e){e(t)};dt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=DB.from(t,e),e=""),i=!0),Xne(this,t,e,!1,i)};dt.prototype.unshift=function(t){return Xne(this,t,null,!0,!1)};function Xne(t,e,r,i,n){ct("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,Gqe(t,s);else{var o;if(n||(o=Yqe(s,e)),o)pd(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==DB.prototype&&(e=Fqe(e)),i)s.endEmitted?pd(t,new Uqe):LR(t,s,e,!0);else if(s.ended)pd(t,new Kqe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?LR(t,s,e,!1):NR(t,s)):LR(t,s,e,!1)}else i||(s.reading=!1,NR(t,s))}return!s.ended&&(s.length=Zne?t=Zne:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function _ne(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=jqe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}dt.prototype.read=function(t){ct("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ct("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?MR(this):xB(this),null;if(t=_ne(t,e),t===0&&e.ended)return e.length===0&&MR(this),null;var i=e.needReadable;ct("need readable",i),(e.length===0||e.length-t0?n=$ne(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&MR(this)),n!==null&&this.emit("data",n),n};function Gqe(t,e){if(ct("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?xB(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ese(t)))}}function xB(t){var e=t._readableState;ct("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ct("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(ese,t))}function ese(t){var e=t._readableState;ct("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,OR(t)}function NR(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(qqe,t,e))}function qqe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&tse(i.pipes,t)!==-1)&&!c&&(ct("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function h(I){ct("onerror",I),m(),t.removeListener("error",h),Vne(t,"error")===0&&pd(t,I)}Hqe(t,"error",h);function f(){t.removeListener("finish",p),m()}t.once("close",f);function p(){ct("onfinish"),t.removeListener("close",f),m()}t.once("finish",p);function m(){ct("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(ct("pipe resume"),r.resume()),t};function Jqe(t){return function(){var r=t._readableState;ct("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Vne(t,"data")&&(r.flowing=!0,OR(t))}}dt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,ct("on readable",i.length,i.reading),i.length?xB(this):i.reading||process.nextTick(Wqe,this)),r};dt.prototype.addListener=dt.prototype.on;dt.prototype.removeListener=function(t,e){var r=fd.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(rse,this),r};dt.prototype.removeAllListeners=function(t){var e=fd.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(rse,this),e};function rse(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Wqe(t){ct("readable nexttick read 0"),t.read(0)}dt.prototype.resume=function(){var t=this._readableState;return t.flowing||(ct("resume"),t.flowing=!t.readableListening,zqe(this,t)),t.paused=!1,this};function zqe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(Vqe,t,e))}function Vqe(t,e){ct("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),OR(t),e.flowing&&!e.reading&&t.read(0)}dt.prototype.pause=function(){return ct("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ct("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function OR(t){var e=t._readableState;for(ct("flow",e.flowing);e.flowing&&t.read()!==null;);}dt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(ct("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(ct("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function MR(t){var e=t._readableState;ct("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Xqe,e,t))}function Xqe(t,e){if(ct("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(dt.from=function(t,e){return FR===void 0&&(FR=Jne()),FR(dt,t,e)});function tse(t,e){for(var r=0,i=t.length;r{"use strict";ise.exports=Qo;var PB=ka().codes,Zqe=PB.ERR_METHOD_NOT_IMPLEMENTED,_qe=PB.ERR_MULTIPLE_CALLBACK,$qe=PB.ERR_TRANSFORM_ALREADY_TRANSFORMING,eJe=PB.ERR_TRANSFORM_WITH_LENGTH_0,kB=Il();va()(Qo,kB);function tJe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new _qe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";sse.exports=dd;var ose=KR();va()(dd,ose);function dd(t){if(!(this instanceof dd))return new dd(t);ose.call(this,t)}dd.prototype._transform=function(t,e,r){r(null,t)}});var gse=C((Eyt,Ase)=>{"use strict";var TR;function iJe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var lse=ka().codes,nJe=lse.ERR_MISSING_ARGS,sJe=lse.ERR_STREAM_DESTROYED;function cse(t){if(t)throw t}function oJe(t){return t.setHeader&&typeof t.abort=="function"}function aJe(t,e,r,i){i=iJe(i);var n=!1;t.on("close",function(){n=!0}),TR===void 0&&(TR=wB()),TR(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,oJe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new sJe("pipe"))}}}function use(t){t()}function AJe(t,e){return t.pipe(e)}function lJe(t){return!t.length||typeof t[t.length-1]!="function"?cse:t.pop()}function cJe(){for(var t=arguments.length,e=new Array(t),r=0;r0;return aJe(o,l,c,function(u){n||(n=u),u&&s.forEach(use),!l&&(s.forEach(use),i(n))})});return e.reduce(AJe)}Ase.exports=cJe});var Ju=C((Sn,Cd)=>{var md=require("stream");process.env.READABLE_STREAM==="disable"&&md?(Cd.exports=md.Readable,Object.assign(Cd.exports,md),Cd.exports.Stream=md):(Sn=Cd.exports=yR(),Sn.Stream=md||Sn,Sn.Readable=Sn,Sn.Writable=ER(),Sn.Duplex=Il(),Sn.Transform=KR(),Sn.PassThrough=ase(),Sn.finished=wB(),Sn.pipeline=gse())});var pse=C((yyt,hse)=>{"use strict";var{Buffer:Wn}=require("buffer"),fse=Symbol.for("BufferList");function Mt(t){if(!(this instanceof Mt))return new Mt(t);Mt._init.call(this,t)}Mt._init=function(e){Object.defineProperty(this,fse,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Mt.prototype._new=function(e){return new Mt(e)};Mt.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Mt.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Mt.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Wn.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Wn.concat(this._bufs,this.length);for(let g=0;gh)this._bufs[g].copy(e,c,u),c+=h;else{this._bufs[g].copy(e,c,u,u+l),c+=h;break}l-=h,u&&(u=0)}return e.length>c?e.slice(0,c):e};Mt.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};Mt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Mt.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Mt.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};Mt.prototype._match=function(t,e){if(this.length-t{"use strict";var UR=Ju().Duplex,uJe=va(),Id=pse();function ei(t){if(!(this instanceof ei))return new ei(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}Id._init.call(this,t),UR.call(this)}uJe(ei,UR);Object.assign(ei.prototype,Id.prototype);ei.prototype._new=function(e){return new ei(e)};ei.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};ei.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};ei.prototype.end=function(e){UR.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};ei.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};ei.prototype._isBufferList=function(e){return e instanceof ei||e instanceof Id||ei.isBufferList(e)};ei.isBufferList=Id.isBufferList;vB.exports=ei;vB.exports.BufferListStream=ei;vB.exports.BufferList=Id});var GR=C(Wu=>{var gJe=Buffer.alloc,hJe="0000000000000000000",fJe="7777777777777777777",Cse="0".charCodeAt(0),mse=Buffer.from("ustar\0","binary"),pJe=Buffer.from("00","binary"),dJe=Buffer.from("ustar ","binary"),CJe=Buffer.from(" \0","binary"),mJe=parseInt("7777",8),Ed=257,HR=263,IJe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},EJe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},yJe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Ise=function(t,e,r,i){for(;re?fJe.slice(0,e)+" ":hJe.slice(0,e-t.length)+t+" "};function BJe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};Wu.decodeLongPath=function(t,e){return zu(t,0,t.length,e)};Wu.encodePax=function(t){var e="";t.name&&(e+=YR(" path="+t.name+` +`)),t.linkname&&(e+=YR(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=YR(" "+i+"="+r[i]+` +`);return Buffer.from(e)};Wu.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Ma(t.mode&mJe,6),100),e.write(Ma(t.uid,6),108),e.write(Ma(t.gid,6),116),e.write(Ma(t.size,11),124),e.write(Ma(t.mtime.getTime()/1e3|0,11),136),e[156]=Cse+yJe(t.type),t.linkname&&e.write(t.linkname,157),mse.copy(e,Ed),pJe.copy(e,HR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Ma(t.devmajor||0,6),329),e.write(Ma(t.devminor||0,6),337),i&&e.write(i,345),e.write(Ma(Ese(e),6),148),e)};Wu.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Cse,n=zu(t,0,100,e),s=Oa(t,100,8),o=Oa(t,108,8),a=Oa(t,116,8),l=Oa(t,124,12),c=Oa(t,136,12),u=EJe(i),g=t[157]===0?null:zu(t,157,100,e),h=zu(t,265,32),f=zu(t,297,32),p=Oa(t,329,8),m=Oa(t,337,8),I=Ese(t);if(I===8*32)return null;if(I!==Oa(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(mse.compare(t,Ed,Ed+6)===0)t[345]&&(n=zu(t,345,155,e)+"/"+n);else if(!(dJe.compare(t,Ed,Ed+6)===0&&CJe.compare(t,HR,HR+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:h,gname:f,devmajor:p,devminor:m}}});var Sse=C((Qyt,yse)=>{var Bse=require("util"),wJe=dse(),yd=GR(),wse=Ju().Writable,Qse=Ju().PassThrough,bse=function(){},Dse=function(t){return t&=511,t&&512-t},QJe=function(t,e){var r=new FB(t,e);return r.end(),r},bJe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},FB=function(t,e){this._parent=t,this.offset=e,Qse.call(this,{autoDestroy:!1})};Bse.inherits(FB,Qse);FB.prototype.destroy=function(t){this._parent.destroy(t)};var bo=function(t){if(!(this instanceof bo))return new bo(t);wse.call(this,t),t=t||{},this._offset=0,this._buffer=wJe(),this._missing=0,this._partial=!1,this._onparse=bse,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(h){if(e._locked=!1,h)return e.destroy(h);e._stream||i()},s=function(){e._stream=null;var h=Dse(e._header.size);h?e._parse(h,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Dse(e._header.size)),e._parse(512,g),i()},a=function(){var h=e._header.size;e._paxGlobal=yd.decodePax(r.slice(0,h)),r.consume(h),s()},l=function(){var h=e._header.size;e._pax=yd.decodePax(r.slice(0,h)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(h),s()},c=function(){var h=e._header.size;this._gnuLongPath=yd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},u=function(){var h=e._header.size;this._gnuLongLinkPath=yd.decodeLongPath(r.slice(0,h),t.filenameEncoding),r.consume(h),s()},g=function(){var h=e._offset,f;try{f=e._header=yd.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!f){e._parse(512,g),i();return}if(f.type==="gnu-long-path"){e._parse(f.size,c),i();return}if(f.type==="gnu-long-link-path"){e._parse(f.size,u),i();return}if(f.type==="pax-global-header"){e._parse(f.size,a),i();return}if(f.type==="pax-header"){e._parse(f.size,l),i();return}if(e._gnuLongPath&&(f.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(f.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=f=bJe(f,e._pax),e._pax=null),e._locked=!0,!f.size||f.type==="directory"){e._parse(512,g),e.emit("entry",f,QJe(e,h),n);return}e._stream=new FB(e,h),e.emit("entry",f,e._stream,n),e._parse(f.size,s),i()};this._onheader=g,this._parse(512,g)};Bse.inherits(bo,wse);bo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};bo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};bo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=bse,this._overflow?this._write(this._overflow,void 0,t):t()}};bo.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};bo.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};yse.exports=bo});var Pse=C((byt,xse)=>{xse.exports=require("fs").constants||require("constants")});var Lse=C((Dyt,kse)=>{var Vu=Pse(),vse=Fb(),RB=va(),DJe=Buffer.alloc,Fse=Ju().Readable,Xu=Ju().Writable,SJe=require("string_decoder").StringDecoder,LB=GR(),xJe=parseInt("755",8),PJe=parseInt("644",8),Rse=DJe(1024),jR=function(){},qR=function(t,e){e&=511,e&&t.push(Rse.slice(0,512-e))};function kJe(t){switch(t&Vu.S_IFMT){case Vu.S_IFBLK:return"block-device";case Vu.S_IFCHR:return"character-device";case Vu.S_IFDIR:return"directory";case Vu.S_IFIFO:return"fifo";case Vu.S_IFLNK:return"symlink"}return"file"}var NB=function(t){Xu.call(this),this.written=0,this._to=t,this._destroyed=!1};RB(NB,Xu);NB.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};NB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var MB=function(){Xu.call(this),this.linkname="",this._decoder=new SJe("utf-8"),this._destroyed=!1};RB(MB,Xu);MB.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};MB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Bd=function(){Xu.call(this),this._destroyed=!1};RB(Bd,Xu);Bd.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};Bd.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var bs=function(t){if(!(this instanceof bs))return new bs(t);Fse.call(this,t),this._drain=jR,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};RB(bs,Fse);bs.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=jR);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=kJe(t.mode)),t.mode||(t.mode=t.type==="directory"?xJe:PJe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return qR(i,t.size),n?process.nextTick(r):this._drain=r,new Bd}if(t.type==="symlink"&&!t.linkname){var s=new MB;return vse(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new Bd;var o=new NB(this);return this._stream=o,vse(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));qR(i,t.size),i._finalizing&&i.finalize(),r()}),o}};bs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Rse),this.push(null))};bs.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};bs.prototype._encode=function(t){if(!t.pax){var e=LB.encode(t);if(e){this.push(e);return}}this._encodePax(t)};bs.prototype._encodePax=function(t){var e=LB.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(LB.encode(r)),this.push(e),qR(this,e.length),r.size=t.size,r.type=t.type,this.push(LB.encode(r))};bs.prototype._read=function(t){var e=this._drain;this._drain=jR,e()};kse.exports=bs});var Nse=C(JR=>{JR.extract=Sse();JR.pack=Lse()});var zse=C((Vyt,jse)=>{"use strict";var Zu=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Jse(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return _R(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):GJe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Zu(this.__specs,this.__opts,Jse(this.__providers).concat(e)),qse)}};try{let t=require("util");Zu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function jJe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function _R(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))jJe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Wse(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Wse(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Wse(t,e){let r;return e.__isFiggyPudding?r=_R(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var qse={has(t,e){return e in t.__specs&&_R(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Zu.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};jse.exports=qJe;function qJe(t,e){function r(...i){return new Proxy(new Zu(t,e,i),qse)}return r}function Jse(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function GJe(t){return Object.keys(t).map(e=>[e,t[e]])}});var Zse=C((Xyt,Ds)=>{"use strict";var Qd=require("crypto"),JJe=zse(),WJe=require("stream").Transform,Vse=["sha256","sha384","sha512"],zJe=/^[a-z0-9+/]+(?:=?=?)$/i,VJe=/^([^-]+)-([^?]+)([?\S*]*)$/,XJe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,ZJe=/^[\x21-\x7E]+$/,mi=JJe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>_Je},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),wl=class{get isHash(){return!0}constructor(e,r){r=mi(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?XJe:VJe);if(!n||i&&!Vse.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=mi(e),e.strict&&!(Vse.some(i=>i===this.algorithm)&&this.digest.match(zJe)&&(this.options||[]).every(i=>i.match(ZJe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},_u=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=mi(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>wl.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=mi(r);let i=typeof e=="string"?e:bd(e,r);return Ss(`${this.toString(r)} ${i}`,r)}hexDigest(){return Ss(this,{single:!0}).hexDigest()}match(e,r){r=mi(r);let i=Ss(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=mi(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ds.exports.parse=Ss;function Ss(t,e){if(e=mi(e),typeof t=="string")return $R(t,e);if(t.algorithm&&t.digest){let r=new _u;return r[t.algorithm]=[t],$R(bd(r,e),e)}else return $R(bd(t,e),e)}function $R(t,e){return e.single?new wl(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new wl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new _u)}Ds.exports.stringify=bd;function bd(t,e){return e=mi(e),t.algorithm&&t.digest?wl.prototype.toString.call(t,e):typeof t=="string"?bd(Ss(t,e),e):_u.prototype.toString.call(t,e)}Ds.exports.fromHex=$Je;function $Je(t,e,r){r=mi(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Ss(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ds.exports.fromData=eWe;function eWe(t,e){e=mi(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Qd.createHash(s).update(t).digest("base64"),a=new wl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new _u)}Ds.exports.fromStream=tWe;function tWe(t,e){e=mi(e);let r=e.Promise||Promise,i=eL(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ds.exports.checkData=rWe;function rWe(t,e,r){if(r=mi(r),e=Ss(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=Qd.createHash(i).update(t).digest("base64"),s=Ss({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. Wanted: ${r.size} - Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ws.exports.checkStream=jJe;function jJe(t,e,r){r=pi(r);let i=r.Promise||Promise,n=XR(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ws.exports.integrityStream=XR;function XR(t){t=pi(t);let e=t.integrity&&Qs(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Cd.createHash),a=0,l=new NJe({transform(c,u,g){a+=c.length,o.forEach(h=>h.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Qs(o.map((h,f)=>`${s[f]}-${h.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let h=new Error(`stream size mismatch when checking ${e}. + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ds.exports.checkStream=iWe;function iWe(t,e,r){r=mi(r);let i=r.Promise||Promise,n=eL(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ds.exports.integrityStream=eL;function eL(t){t=mi(t);let e=t.integrity&&Ss(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Qd.createHash),a=0,l=new WJe({transform(c,u,g){a+=c.length,o.forEach(h=>h.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Ss(o.map((h,f)=>`${s[f]}-${h.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let h=new Error(`stream size mismatch when checking ${e}. Wanted: ${t.size} - Found: ${a}`);h.code="EBADSIZE",h.found=a,h.expected=t.size,h.sri=e,l.emit("error",h)}else if(t.integrity&&!g){let h=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);h.code="EINTEGRITY",h.found=u,h.expected=n,h.algorithm=i,h.sri=e,l.emit("error",h)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ws.exports.create=JJe;function JJe(t){t=pi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Cd.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new bl(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new _u)}}}var WJe=new Set(Cd.getHashes()),Hse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>WJe.has(t));function UJe(t,e){return Hse.indexOf(t.toLowerCase())>=Hse.indexOf(e.toLowerCase())?t:e}});var Mf={};$e(Mf,{BuildType:()=>Ji,Cache:()=>gt,Configuration:()=>Ae,DEFAULT_LOCK_FILENAME:()=>iP,DEFAULT_RC_FILENAME:()=>rP,FormatType:()=>$A,LightReport:()=>ao,LinkType:()=>At,Manifest:()=>ze,MessageName:()=>z,PackageExtensionStatus:()=>Yr,PackageExtensionType:()=>Sr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ai,ReportError:()=>Ze,SettingsType:()=>ge,StreamReport:()=>De,TAG_REGEXP:()=>tu,TelemetryManager:()=>Nf,ThrowReport:()=>Br,VirtualFetcher:()=>mf,Workspace:()=>Lf,WorkspaceResolver:()=>fi,YarnVersion:()=>Yi,execUtils:()=>pr,folderUtils:()=>Uw,formatUtils:()=>ce,hashUtils:()=>wi,httpUtils:()=>Ut,miscUtils:()=>de,scriptUtils:()=>bt,semverUtils:()=>vt,structUtils:()=>w,tgzUtils:()=>gr,treeUtils:()=>Tn});var pr={};$e(pr,{EndStrategy:()=>en,execvp:()=>Rae,pipevp:()=>Rs});var Pg={};$e(Pg,{AliasFS:()=>Xa,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>Va,FakeFS:()=>xn,Filename:()=>mt,JailFS:()=>vs,LazyFS:()=>Qg,LinkStrategy:()=>mg,NoFS:()=>EC,NodeFS:()=>wt,PortablePath:()=>Ee,PosixFS:()=>bg,ProxiedFS:()=>fr,VirtualFS:()=>rr,ZipFS:()=>Qr,ZipOpenFS:()=>$i,extendFs:()=>BC,normalizeLineEndings:()=>Fl,npath:()=>L,opendir:()=>ja,patchFs:()=>xg,ppath:()=>B,statUtils:()=>hw,toFilename:()=>jt,xfs:()=>M});var hw={};$e(hw,{BigIntStatsEntry:()=>pg,DirEntry:()=>bL,StatEntry:()=>Fo,areStatsEqual:()=>pw,clearStats:()=>gC,convertToBigIntStats:()=>hC,makeDefaultStats:()=>dg,makeEmptyStats:()=>zoe});var fw=te(require("util"));var Zi=61440,ko=16384,ks=32768,vo=40960;var bL=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Zi)===ko}isFIFO(){return!1}isFile(){return(this.mode&Zi)===ks}isSocket(){return!1}isSymbolicLink(){return(this.mode&Zi)===vo}},Fo=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=ks|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&Zi)===ko}isFIFO(){return!1}isFile(){return(this.mode&Zi)===ks}isSocket(){return!1}isSymbolicLink(){return(this.mode&Zi)===vo}},pg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(ks|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(Zi))===BigInt(ko)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(Zi))===BigInt(ks)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(Zi))===BigInt(vo)}};function dg(){return new Fo}function zoe(){return gC(dg())}function gC(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):fw.types.isDate(r)&&(t[e]=new Date(0))}return t}function hC(t){let e=new pg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):fw.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function pw(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var pC=te(require("fs"));var Cg=te(require("path")),SL;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(SL||(SL={}));var Ee={root:"/",dot:"."},mt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},L=Object.create(Cg.default),B=Object.create(Cg.default.posix);L.cwd=()=>process.cwd();B.cwd=()=>dw(process.cwd());B.resolve=(...t)=>t.length>0&&B.isAbsolute(t[0])?Cg.default.posix.resolve(...t):Cg.default.posix.resolve(B.cwd(),...t);var DL=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};L.fromPortablePath=xL;L.toPortablePath=dw;L.contains=(t,e)=>DL(L,t,e);B.contains=(t,e)=>DL(B,t,e);var PL=/^([a-zA-Z]:.*)$/,kL=/^\\\\(\.\\)?(.*)$/,vL=/^\/([a-zA-Z]:.*)$/,FL=/^\/unc\/(\.dot\/)?(.*)$/;function xL(t){if(process.platform!=="win32")return t;if(t.match(vL))t=t.replace(vL,"$1");else if(t.match(FL))t=t.replace(FL,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function dw(t){return process.platform!=="win32"?t:(t.match(PL)?t=t.replace(PL,"/$1"):t.match(kL)&&(t=t.replace(kL,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function fC(t,e){return t===L?xL(e):dw(e)}function jt(t){if(L.parse(t).dir!==""||B.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var RL=new Date(315532800*1e3),mg;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(mg||(mg={}));async function LL(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await Cw(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function Cw(t,e,r,i,n,s,o,a){var h,f;let l=await Voe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:RL,atime:RL}:c,g;switch(!0){case c.isDirectory():g=await Xoe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await Zoe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await _oe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==u.mtime.getTime()||((f=l==null?void 0:l.atime)==null?void 0:f.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Voe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Xoe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let h of g.sort())await Cw(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)&&(u=!0);else(await Promise.all(g.map(async f=>{await Cw(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)}))).some(f=>f)&&(u=!0);return u}var mw=new WeakMap;function Iw(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===mg.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function $oe(t,e,r,i,n){let s=mw.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,pC.default.constants.COPYFILE_FICLONE_FORCE),mw.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")mw.set(t,!1),await Iw(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,pC.default.constants.COPYFILE_FICLONE_FORCE):Iw(t,e,r,i,n)}async function Zoe(t,e,r,i,n,s,o,a,l,c){var h;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(h=c.linkStrategy)!=null?h:null,g=i===o?u!==null?$oe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,pC.default.constants.COPYFILE_FICLONE):u!==null?Iw(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function _oe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(fC(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function _i(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function dC(t){return _i("EBUSY",t)}function Ig(t,e){return _i("ENOSYS",`${t}, ${e}`)}function Ro(t){return _i("EINVAL",`invalid argument, ${t}`)}function $r(t){return _i("EBADF",`bad file descriptor, ${t}`)}function Dn(t){return _i("ENOENT",`no such file or directory, ${t}`)}function Vn(t){return _i("ENOTDIR",`not a directory, ${t}`)}function Eg(t){return _i("EISDIR",`illegal operation on a directory, ${t}`)}function CC(t){return _i("EEXIST",`file already exists, ${t}`)}function Ii(t){return _i("EROFS",`read-only filesystem, ${t}`)}function NL(t){return _i("ENOTEMPTY",`directory not empty, ${t}`)}function ML(t){return _i("EOPNOTSUPP",`operation not supported, ${t}`)}function OL(){return _i("ERR_DIR_CLOSED","Directory handle was closed")}var Ew=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var KL=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw OL()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function ja(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new KL(e,n,i)}var TL=te(require("os"));var xn=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} + Found: ${a}`);h.code="EBADSIZE",h.found=a,h.expected=t.size,h.sri=e,l.emit("error",h)}else if(t.integrity&&!g){let h=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);h.code="EINTEGRITY",h.found=u,h.expected=n,h.algorithm=i,h.sri=e,l.emit("error",h)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ds.exports.create=nWe;function nWe(t){t=mi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Qd.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new wl(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new _u)}}}var sWe=new Set(Qd.getHashes()),Xse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>sWe.has(t));function _Je(t,e){return Xse.indexOf(t.toLowerCase())>=Xse.indexOf(e.toLowerCase())?t:e}});var Yf={};$e(Yf,{BuildType:()=>Vi,Cache:()=>gt,Configuration:()=>le,DEFAULT_LOCK_FILENAME:()=>AP,DEFAULT_RC_FILENAME:()=>aP,FormatType:()=>Cs,InstallMode:()=>kr,LightReport:()=>uo,LinkType:()=>At,Manifest:()=>We,MessageName:()=>z,PackageExtensionStatus:()=>qr,PackageExtensionType:()=>Sr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ci,ReportError:()=>Ze,SettingsType:()=>ge,StreamReport:()=>xe,TAG_REGEXP:()=>tu,TelemetryManager:()=>Hf,ThrowReport:()=>wr,VirtualFetcher:()=>Qf,Workspace:()=>Uf,WorkspaceResolver:()=>Ci,YarnVersion:()=>yr,execUtils:()=>Nr,folderUtils:()=>Gw,formatUtils:()=>Ae,hashUtils:()=>Di,httpUtils:()=>Ft,miscUtils:()=>de,scriptUtils:()=>bt,semverUtils:()=>kt,structUtils:()=>Q,tgzUtils:()=>hr,treeUtils:()=>Hn});var Nr={};$e(Nr,{EndStrategy:()=>sn,execvp:()=>Yae,pipevp:()=>Os});var Lg={};$e(Lg,{AliasFS:()=>za,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>Wa,FakeFS:()=>kn,Filename:()=>mt,JailFS:()=>Ns,LazyFS:()=>Pg,LinkStrategy:()=>wg,NoFS:()=>bC,NodeFS:()=>wt,PortablePath:()=>Ee,PosixFS:()=>kg,ProxiedFS:()=>pr,VirtualFS:()=>rr,ZipFS:()=>br,ZipOpenFS:()=>nn,extendFs:()=>SC,normalizeLineEndings:()=>kl,npath:()=>L,opendir:()=>Ga,patchFs:()=>Rg,ppath:()=>B,statUtils:()=>pw,toFilename:()=>Jt,xfs:()=>M});var pw={};$e(pw,{BigIntStatsEntry:()=>Eg,DirEntry:()=>PL,StatEntry:()=>Ro,areStatsEqual:()=>Cw,clearStats:()=>CC,convertToBigIntStats:()=>mC,makeDefaultStats:()=>yg,makeEmptyStats:()=>iae});var dw=te(require("util"));var tn=61440,vo=16384,Ls=32768,Fo=40960;var PL=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===vo}isFIFO(){return!1}isFile(){return(this.mode&tn)===Ls}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},Ro=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Ls|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===vo}isFIFO(){return!1}isFile(){return(this.mode&tn)===Ls}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},Eg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Ls|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(tn))===BigInt(vo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(tn))===BigInt(Ls)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(tn))===BigInt(Fo)}};function yg(){return new Ro}function iae(){return CC(yg())}function CC(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):dw.types.isDate(r)&&(t[e]=new Date(0))}return t}function mC(t){let e=new Eg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):dw.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function Cw(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var EC=te(require("fs"));var Bg=te(require("path")),kL;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(kL||(kL={}));var Ee={root:"/",dot:"."},mt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},L=Object.create(Bg.default),B=Object.create(Bg.default.posix);L.cwd=()=>process.cwd();B.cwd=()=>mw(process.cwd());B.resolve=(...t)=>t.length>0&&B.isAbsolute(t[0])?Bg.default.posix.resolve(...t):Bg.default.posix.resolve(B.cwd(),...t);var vL=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};L.fromPortablePath=FL;L.toPortablePath=mw;L.contains=(t,e)=>vL(L,t,e);B.contains=(t,e)=>vL(B,t,e);var RL=/^([a-zA-Z]:.*)$/,LL=/^\\\\(\.\\)?(.*)$/,NL=/^\/([a-zA-Z]:.*)$/,ML=/^\/unc\/(\.dot\/)?(.*)$/;function FL(t){if(process.platform!=="win32")return t;if(t.match(NL))t=t.replace(NL,"$1");else if(t.match(ML))t=t.replace(ML,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function mw(t){return process.platform!=="win32"?t:(t.match(RL)?t=t.replace(RL,"/$1"):t.match(LL)&&(t=t.replace(LL,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function IC(t,e){return t===L?FL(e):mw(e)}function Jt(t){if(L.parse(t).dir!==""||B.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var OL=new Date(315532800*1e3),wg;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(wg||(wg={}));async function KL(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await Iw(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function Iw(t,e,r,i,n,s,o,a){var h,f;let l=await nae(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:OL,atime:OL}:c,g;switch(!0){case c.isDirectory():g=await sae(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await oae(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await aae(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==u.mtime.getTime()||((f=l==null?void 0:l.atime)==null?void 0:f.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function nae(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function sae(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let h of g.sort())await Iw(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)&&(u=!0);else(await Promise.all(g.map(async f=>{await Iw(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)}))).some(f=>f)&&(u=!0);return u}var Ew=new WeakMap;function yw(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===wg.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Aae(t,e,r,i,n){let s=Ew.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,EC.default.constants.COPYFILE_FICLONE_FORCE),Ew.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")Ew.set(t,!1),await yw(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,EC.default.constants.COPYFILE_FICLONE_FORCE):yw(t,e,r,i,n)}async function oae(t,e,r,i,n,s,o,a,l,c){var h;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(h=c.linkStrategy)!=null?h:null,g=i===o?u!==null?Aae(i,n,a,l,u):async()=>i.copyFilePromise(a,n,EC.default.constants.COPYFILE_FICLONE):u!==null?yw(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function aae(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(IC(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function rn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function yC(t){return rn("EBUSY",t)}function Qg(t,e){return rn("ENOSYS",`${t}, ${e}`)}function Lo(t){return rn("EINVAL",`invalid argument, ${t}`)}function ti(t){return rn("EBADF",`bad file descriptor, ${t}`)}function Pn(t){return rn("ENOENT",`no such file or directory, ${t}`)}function Zn(t){return rn("ENOTDIR",`not a directory, ${t}`)}function bg(t){return rn("EISDIR",`illegal operation on a directory, ${t}`)}function BC(t){return rn("EEXIST",`file already exists, ${t}`)}function Bi(t){return rn("EROFS",`read-only filesystem, ${t}`)}function TL(t){return rn("ENOTEMPTY",`directory not empty, ${t}`)}function UL(t){return rn("EOPNOTSUPP",`operation not supported, ${t}`)}function HL(){return rn("ERR_DIR_CLOSED","Directory handle was closed")}var Bw=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var YL=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw HL()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function Ga(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new YL(e,n,i)}var GL=te(require("os"));var kn=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} `)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} -`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};xn.DEFAULT_TIME=315532800;var Ja=class extends xn{constructor(){super(B)}};function eae(t){let e=t.match(/\r?\n/g);if(e===null)return TL.EOL;let r=e.filter(n=>n===`\r +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};kn.DEFAULT_TIME=315532800;var ja=class extends kn{constructor(){super(B)}};function lae(t){let e=t.match(/\r?\n/g);if(e===null)return GL.EOL;let r=e.filter(n=>n===`\r `).length,i=e.length-r;return r>i?`\r `:` -`}function Fl(t,e){return e.replace(/\r?\n/g,eae(t))}var Rl=te(require("fs")),yw=te(require("stream")),qL=te(require("util")),Bw=te(require("zlib"));var UL=te(require("fs"));var wt=class extends Ja{constructor(e=UL.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Ee.root}resolve(e){return B.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(L.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(L.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(L.fromPortablePath(e),r):this.realFs.opendirSync(L.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(L.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}realpathSync(e){return L.toPortablePath(this.realFs.realpathSync(L.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(L.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(L.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(L.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(L.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(L.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(L.fromPortablePath(e),r):this.realFs.statSync(L.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(L.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(L.fromPortablePath(e),r):this.realFs.lstatSync(L.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(L.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(L.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(L.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(L.fromPortablePath(e),L.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(L.fromPortablePath(e),L.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(L.fromPortablePath(e),L.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(L.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(L.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(L.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Ig("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,L.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Ig("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,L.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(L.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(L.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(L.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(L.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(L.fromPortablePath(e),L.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?L.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?L.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,{withFileTypes:r}={}){return await new Promise((i,n)=>{r?this.realFs.readdir(L.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(L.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,{withFileTypes:r}={}){return r?this.realFs.readdirSync(L.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(L.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(L.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}readlinkSync(e){return L.toPortablePath(this.realFs.readlinkSync(L.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(L.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(L.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(L.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(L.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(L.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var HL=te(require("events"));var Wa;(function(r){r.Change="change",r.Stop="stop"})(Wa||(Wa={}));var za;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(za||(za={}));function YL(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var yg=class extends HL.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=za.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new yg(e,r,i);return n.start(),n}start(){YL(this.status,za.Ready),this.status=za.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(Wa.Change,this.lastStats,this.lastStats)},3)}stop(){YL(this.status,za.Running),this.status=za.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(Wa.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new pg:new Fo;return gC(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;pw(i,n)||(this.lastStats=i,this.emit(Wa.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(Wa.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(Wa.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var mC=new WeakMap;function IC(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=mC.get(t);typeof l=="undefined"&&mC.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=yg.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Bg(t,e,r){let i=mC.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function wg(t){let e=mC.get(t);if(typeof e!="undefined")for(let r of e.keys())Bg(t,r)}var Va="mixed";function tae(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,qL.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}var Qr=class extends Ja{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:Va,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=dg();else throw o}else this.stats=dg();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(L.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Ee.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw dC("archive closed, close");wg(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)?this.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return B.resolve(Ee.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Vn(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return ja(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw $r("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?$r("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw $r("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new yw.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw Ii(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new yw.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw Dn(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw dC(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=B.resolve(Ee.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=Rl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`access '${e}'`);if(this.readOnly&&r&Rl.constants.W_OK)throw Ii(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw $r("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw Dn(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Vn(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),h=(this.libzip.struct.statMtime(s)>>>0)*1e3,f=h,p=h,m=h,I=new Date(f),y=new Date(p),b=new Date(m),x=new Date(h),F=this.listings.has(r)?ko:this.isSymbolicLink(n)?vo:ks,N=F===ko?493:420,U=F|this.getUnixMode(n,N)&511,v=this.libzip.struct.statCrc(s),J=Object.assign(new Fo,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:b,mtime:x,atimeMs:f,birthtimeMs:p,ctimeMs:m,mtimeMs:h,mode:U,crc:v});return i.bigint===!0?hC(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,h=this.stats.mtimeMs,f=this.stats.mtimeMs,p=new Date(u),m=new Date(g),I=new Date(h),y=new Date(f),b=ko|493,x=0,F=Object.assign(new Fo,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:h,mtimeMs:f,mode:b,crc:x});return i.bigint===!0?hC(F):F}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(B.dirname(e));return r=new Set,i.add(B.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(B.dirname(e)).add(B.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(B.dirname(e));r==null||r.delete(B.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw dC(`archive closed, ${e}`);let n=B.resolve(Ee.root,r);if(n==="/")return Ee.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,B.resolve(B.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,B.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw Dn(e);if(!a)throw Vn(e);if(n=B.resolve(o,B.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=B.resolve(B.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=B.relative(Ee.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&Zi)===vo}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),h=Buffer.from(g);if(a===0)return this.fileSources.set(e,h),h;if(r.asyncDecompress)return new Promise((f,p)=>{Bw.default.inflateRaw(h,(m,I)=>{m?p(m):(this.fileSources.set(e,I),f(I))})});{let f=Bw.default.inflateRawSync(h);return this.fileSources.set(e,f),f}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw Ii(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,ks|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw Ii(`copyfile '${e} -> '${r}'`);if((i&Rl.constants.COPYFILE_FICLONE_FORCE)!=0)throw Ig("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw Ro(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Rl.constants.COPYFILE_EXCL|Rl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw CC(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw Ii(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw Ii(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw $r("read");if(this.readOnly)throw Ii(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Eg(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw Ii(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Eg(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw Ro(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw Ii(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw Ii(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,tae(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw Ii(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw CC(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw Ii(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Vn(`rmdir '${e}'`);if(n.size>0)throw NL(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw Ro(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,B.relative(Ee.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw ML(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw Ii(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Eg(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw CC(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(vo|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Vn(`open '${e}'`);if(this.listings.has(i))throw Eg("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,{withFileTypes:r}={}){return this.readdirSync(e,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Dn(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Vn(`scandir '${e}'`);let s=[...n];return r?s.map(o=>Object.assign(this.statImpl("lstat",B.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw Dn(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Vn(`open '${e}'`);if(this.listings.has(r))throw Ro(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw Ro(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Ro(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Ro(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=this.resolveFilename(`open '${e}'`,e);return IC(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return Bg(this,i,r)}};var fr=class extends xn{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,{withFileTypes:r}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:r})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xa=class extends fr{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var yt=class extends fr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?B.normalize(e):this.baseFs.resolve(B.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var GL=Ee.root,vs=class extends fr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.resolve(Ee.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Ee.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(GL,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(GL,this.pathUtils.relative(this.target,e))}};var Qg=class extends fr{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var He=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),ww=class extends xn{constructor(){super(B)}getExtractHint(){throw He()}getRealPath(){throw He()}resolve(){throw He()}async openPromise(){throw He()}openSync(){throw He()}async opendirPromise(){throw He()}opendirSync(){throw He()}async readPromise(){throw He()}readSync(){throw He()}async writePromise(){throw He()}writeSync(){throw He()}async closePromise(){throw He()}closeSync(){throw He()}createWriteStream(){throw He()}createReadStream(){throw He()}async realpathPromise(){throw He()}realpathSync(){throw He()}async readdirPromise(){throw He()}readdirSync(){throw He()}async existsPromise(e){throw He()}existsSync(e){throw He()}async accessPromise(){throw He()}accessSync(){throw He()}async statPromise(){throw He()}statSync(){throw He()}async fstatPromise(e){throw He()}fstatSync(e){throw He()}async lstatPromise(e){throw He()}lstatSync(e){throw He()}async chmodPromise(){throw He()}chmodSync(){throw He()}async chownPromise(){throw He()}chownSync(){throw He()}async mkdirPromise(){throw He()}mkdirSync(){throw He()}async rmdirPromise(){throw He()}rmdirSync(){throw He()}async linkPromise(){throw He()}linkSync(){throw He()}async symlinkPromise(){throw He()}symlinkSync(){throw He()}async renamePromise(){throw He()}renameSync(){throw He()}async copyFilePromise(){throw He()}copyFileSync(){throw He()}async appendFilePromise(){throw He()}appendFileSync(){throw He()}async writeFilePromise(){throw He()}writeFileSync(){throw He()}async unlinkPromise(){throw He()}unlinkSync(){throw He()}async utimesPromise(){throw He()}utimesSync(){throw He()}async readFilePromise(){throw He()}readFileSync(){throw He()}async readlinkPromise(){throw He()}readlinkSync(){throw He()}async truncatePromise(){throw He()}truncateSync(){throw He()}watch(){throw He()}watchFile(){throw He()}unwatchFile(){throw He()}},EC=ww;EC.instance=new ww;var bg=class extends fr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}};var rae=/^[0-9]+$/,Qw=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,iae=/^([^/]+-)?[a-f0-9]+$/,rr=class extends fr{static makeVirtualPath(e,r,i){if(B.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!B.basename(r).match(iae))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=B.relative(B.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(jL);if(e<=0||t[e-1]===B.sep)return null;let r=e+jL.length;return t.length>r&&t[r]!==B.sep?null:t.slice(0,r)},$i=class extends Ja{constructor({libzip:e,baseFs:r=new wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a}static async openPromise(e,r){let i=new $i(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(wg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(wg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Fs;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Fs)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Fs)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Fs)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Fs)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw $r("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Fs)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw $r("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Fs)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw $r("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Fs)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw $r("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Fs)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw $r("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,{withFileTypes:r}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:r}),async(i,{subPath:n})=>await i.readdirPromise(n,{withFileTypes:r}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:r}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:r}),(i,{subPath:n})=>i.readdirSync(n,{withFileTypes:r}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>IC(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>Bg(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=nae(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Ee.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Qr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Qr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Qr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Qr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Dg=te(require("util"));var yC=te(require("url"));var bw=class extends fr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof yC.URL?(0,yC.fileURLToPath)(e):e}};var sae=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),JL=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),oae=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function xg(t,e){e=new bw(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Dg.promisify.custom])!="undefined"&&(s[Dg.promisify.custom]=o[Dg.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l)})})});for(let i of JL){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of sae){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of JL){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of oae){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Dg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function BC(t,e){let r=Object.create(t);return xg(r,e),r}var WL=te(require("os"));function zL(t){let e=L.toPortablePath(WL.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return B.join(e,`${t}${r}`)}var Pn=new Set,VL=!1;function XL(){VL||(VL=!0,process.once("exit",()=>{M.rmtempSync()}))}var M=Object.assign(new wt,{detachTemp(t){Pn.delete(t)},mktempSync(t){for(XL();;){let e=zL("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(Pn.add(r),typeof t!="undefined")try{return t(r)}finally{if(Pn.has(r)){Pn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(XL();;){let e=zL("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(Pn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(Pn.has(r)){Pn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(Pn.values()).map(async t=>{try{await M.removePromise(t,{maxRetries:0}),Pn.delete(t)}catch{}}))},rmtempSync(){for(let t of Pn)try{M.removeSync(t),Pn.delete(t)}catch{}}});var Mw=te(Nw()),en;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(en||(en={}));function Za(t){return t!==null&&typeof t.fd=="number"}var _a=new Set;function Ow(){}function Kw(){for(let t of _a)t.kill()}async function Rs(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Za(s)&&(c[0]=s),Za(o)&&(c[1]=o),Za(a)&&(c[2]=a);let u=(0,Mw.default)(t,e,{cwd:L.fromPortablePath(r),env:V(P({},i),{PWD:L.fromPortablePath(r)}),stdio:c});_a.add(u),_a.size===1&&(process.on("SIGINT",Ow),process.on("SIGTERM",Kw)),!Za(s)&&s!==null&&s.pipe(u.stdin),Za(o)||u.stdout.pipe(o,{end:!1}),Za(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let h of new Set([o,a]))Za(h)||h.end()};return new Promise((h,f)=>{u.on("error",p=>{_a.delete(u),_a.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1)&&g(),f(p)}),u.on("close",(p,m)=>{_a.delete(u),_a.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1&&p>0)&&g(),p===0||!n?h({code:Tw(p,m)}):f(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function Rae(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=L.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=V(P({},i),{PWD:c}));let u=(0,Mw.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,h)=>{u.on("error",()=>{h()}),u.on("close",(f,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);f===0||!s?g({code:Tw(f,p),stdout:m,stderr:I}):h(Object.assign(new Error(`Child "${t}" exited with exit code ${f} +`}function kl(t,e){return e.replace(/\r?\n/g,lae(t))}var vl=te(require("fs")),ww=te(require("stream")),WL=te(require("util")),Qw=te(require("zlib"));var jL=te(require("fs"));var wt=class extends ja{constructor(e=jL.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Ee.root}resolve(e){return B.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(L.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(L.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(L.fromPortablePath(e),r):this.realFs.opendirSync(L.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?L.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(L.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}realpathSync(e){return L.toPortablePath(this.realFs.realpathSync(L.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(L.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(L.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(L.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(L.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(L.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(L.fromPortablePath(e),r):this.realFs.statSync(L.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(L.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(L.fromPortablePath(e),r):this.realFs.lstatSync(L.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(L.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(L.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(L.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(L.fromPortablePath(e),L.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(L.fromPortablePath(e),L.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(L.fromPortablePath(e),L.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?L.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(L.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(L.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(L.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(L.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Qg("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,L.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Qg("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,L.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(L.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(L.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(L.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(L.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(L.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(L.fromPortablePath(e),L.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(L.fromPortablePath(e),L.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(L.fromPortablePath(e.replace(/\/+$/,"")),L.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?L.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?L.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,{withFileTypes:r}={}){return await new Promise((i,n)=>{r?this.realFs.readdir(L.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(L.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,{withFileTypes:r}={}){return r?this.realFs.readdirSync(L.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(L.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(L.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>L.toPortablePath(r))}readlinkSync(e){return L.toPortablePath(this.realFs.readlinkSync(L.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(L.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(L.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(L.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(L.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(L.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var qL=te(require("events"));var qa;(function(r){r.Change="change",r.Stop="stop"})(qa||(qa={}));var Ja;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(Ja||(Ja={}));function JL(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Dg=class extends qL.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=Ja.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new Dg(e,r,i);return n.start(),n}start(){JL(this.status,Ja.Ready),this.status=Ja.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(qa.Change,this.lastStats,this.lastStats)},3)}stop(){JL(this.status,Ja.Running),this.status=Ja.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(qa.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new Eg:new Ro;return CC(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;Cw(i,n)||(this.lastStats=i,this.emit(qa.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(qa.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(qa.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var wC=new WeakMap;function QC(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=wC.get(t);typeof l=="undefined"&&wC.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Dg.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Sg(t,e,r){let i=wC.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function xg(t){let e=wC.get(t);if(typeof e!="undefined")for(let r of e.keys())Sg(t,r)}var Wa="mixed";function cae(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,WL.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}var br=class extends ja{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:Wa,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=yg();else throw o}else this.stats=yg();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(L.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Ee.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw yC("archive closed, close");xg(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)?this.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return B.resolve(Ee.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Zn(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return Ga(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw ti("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?ti("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw ti("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new ww.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw Bi(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new ww.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw Pn(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw yC(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=B.resolve(Ee.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=vl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`access '${e}'`);if(this.readOnly&&r&vl.constants.W_OK)throw Bi(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Zn(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw ti("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw Pn(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Zn(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Zn(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),h=(this.libzip.struct.statMtime(s)>>>0)*1e3,f=h,p=h,m=h,I=new Date(f),y=new Date(p),w=new Date(m),x=new Date(h),F=this.listings.has(r)?vo:this.isSymbolicLink(n)?Fo:Ls,N=F===vo?493:420,K=F|this.getUnixMode(n,N)&511,v=this.libzip.struct.statCrc(s),J=Object.assign(new Ro,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:w,mtime:x,atimeMs:f,birthtimeMs:p,ctimeMs:m,mtimeMs:h,mode:K,crc:v});return i.bigint===!0?mC(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,h=this.stats.mtimeMs,f=this.stats.mtimeMs,p=new Date(u),m=new Date(g),I=new Date(h),y=new Date(f),w=vo|493,x=0,F=Object.assign(new Ro,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:h,mtimeMs:f,mode:w,crc:x});return i.bigint===!0?mC(F):F}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(B.dirname(e));return r=new Set,i.add(B.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(B.dirname(e)).add(B.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(B.dirname(e));r==null||r.delete(B.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw yC(`archive closed, ${e}`);let n=B.resolve(Ee.root,r);if(n==="/")return Ee.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,B.resolve(B.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,B.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw Pn(e);if(!a)throw Zn(e);if(n=B.resolve(o,B.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=B.resolve(B.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=B.relative(Ee.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&tn)===Fo}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),h=Buffer.from(g);if(a===0)return this.fileSources.set(e,h),h;if(r.asyncDecompress)return new Promise((f,p)=>{Qw.default.inflateRaw(h,(m,I)=>{m?p(m):(this.fileSources.set(e,I),f(I))})});{let f=Qw.default.inflateRawSync(h);return this.fileSources.set(e,f),f}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw Bi(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Ls|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw Bi(`copyfile '${e} -> '${r}'`);if((i&vl.constants.COPYFILE_FICLONE_FORCE)!=0)throw Qg("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw Lo(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(vl.constants.COPYFILE_EXCL|vl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw BC(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=k({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=k({flag:"a"},i)),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw ti("read");if(this.readOnly)throw Bi(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw bg(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw Bi(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw bg(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw Lo(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw Bi(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw Bi(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,cae(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw Bi(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw BC(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw Bi(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Zn(`rmdir '${e}'`);if(n.size>0)throw TL(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw Lo(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,B.relative(Ee.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw UL(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw Bi(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw bg(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw BC(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Fo|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Zn(`open '${e}'`);if(this.listings.has(i))throw bg("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,{withFileTypes:r}={}){return this.readdirSync(e,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw Pn(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Zn(`scandir '${e}'`);let s=[...n];return r?s.map(o=>Object.assign(this.statImpl("lstat",B.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw Pn(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Zn(`open '${e}'`);if(this.listings.has(r))throw Lo(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw Lo(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Lo(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw Lo(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=this.resolveFilename(`open '${e}'`,e);return QC(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return Sg(this,i,r)}};var pr=class extends kn{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,{withFileTypes:r}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:r})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var za=class extends pr{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var yt=class extends pr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?B.normalize(e):this.baseFs.resolve(B.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var zL=Ee.root,Ns=class extends pr{constructor(e,{baseFs:r=new wt}={}){super(B);this.target=this.pathUtils.resolve(Ee.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Ee.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(zL,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(zL,this.pathUtils.relative(this.target,e))}};var Pg=class extends pr{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var He=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),bw=class extends kn{constructor(){super(B)}getExtractHint(){throw He()}getRealPath(){throw He()}resolve(){throw He()}async openPromise(){throw He()}openSync(){throw He()}async opendirPromise(){throw He()}opendirSync(){throw He()}async readPromise(){throw He()}readSync(){throw He()}async writePromise(){throw He()}writeSync(){throw He()}async closePromise(){throw He()}closeSync(){throw He()}createWriteStream(){throw He()}createReadStream(){throw He()}async realpathPromise(){throw He()}realpathSync(){throw He()}async readdirPromise(){throw He()}readdirSync(){throw He()}async existsPromise(e){throw He()}existsSync(e){throw He()}async accessPromise(){throw He()}accessSync(){throw He()}async statPromise(){throw He()}statSync(){throw He()}async fstatPromise(e){throw He()}fstatSync(e){throw He()}async lstatPromise(e){throw He()}lstatSync(e){throw He()}async chmodPromise(){throw He()}chmodSync(){throw He()}async chownPromise(){throw He()}chownSync(){throw He()}async mkdirPromise(){throw He()}mkdirSync(){throw He()}async rmdirPromise(){throw He()}rmdirSync(){throw He()}async linkPromise(){throw He()}linkSync(){throw He()}async symlinkPromise(){throw He()}symlinkSync(){throw He()}async renamePromise(){throw He()}renameSync(){throw He()}async copyFilePromise(){throw He()}copyFileSync(){throw He()}async appendFilePromise(){throw He()}appendFileSync(){throw He()}async writeFilePromise(){throw He()}writeFileSync(){throw He()}async unlinkPromise(){throw He()}unlinkSync(){throw He()}async utimesPromise(){throw He()}utimesSync(){throw He()}async readFilePromise(){throw He()}readFileSync(){throw He()}async readlinkPromise(){throw He()}readlinkSync(){throw He()}async truncatePromise(){throw He()}truncateSync(){throw He()}watch(){throw He()}watchFile(){throw He()}unwatchFile(){throw He()}},bC=bw;bC.instance=new bw;var kg=class extends pr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}};var uae=/^[0-9]+$/,Dw=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,gae=/^([^/]+-)?[a-f0-9]+$/,rr=class extends pr{static makeVirtualPath(e,r,i){if(B.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!B.basename(r).match(gae))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=B.relative(B.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(Sw);if(e<=0)return null;let r=e;for(;e>=0&&(r=e+Sw.length,t[r]!==B.sep);){if(t[e-1]===B.sep)return null;e=t.indexOf(Sw,r)}return t.length>r&&t[r]!==B.sep?null:t.slice(0,r)},nn=class extends ja{constructor({libzip:e,baseFs:r=new wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a}static async openPromise(e,r){let i=new nn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(xg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(xg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Ms;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Ms)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Ms)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Ms)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Ms)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Ms)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Ms)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Ee.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Ms)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Ms)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&vg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&vg.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&vg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&vg.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,{withFileTypes:r}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:r}),async(i,{subPath:n})=>await i.readdirPromise(n,{withFileTypes:r}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:r}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:r}),(i,{subPath:n})=>i.readdirSync(n,{withFileTypes:r}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>QC(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>Sg(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=hae(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Ee.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new br(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new br(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new br(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new br(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Fg=te(require("util"));var DC=te(require("url"));var xw=class extends pr{constructor(e){super(L);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof DC.URL?(0,DC.fileURLToPath)(e):e}};var fae=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),VL=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),pae=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function Rg(t,e){e=new xw(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Fg.promisify.custom])!="undefined"&&(s[Fg.promisify.custom]=o[Fg.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of VL){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of fae){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of VL){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of pae){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Fg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function SC(t,e){let r=Object.create(t);return Rg(r,e),r}var XL=te(require("os"));function ZL(t){let e=L.toPortablePath(XL.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return B.join(e,`${t}${r}`)}var vn=new Set,_L=!1;function $L(){_L||(_L=!0,process.once("exit",()=>{M.rmtempSync()}))}var M=Object.assign(new wt,{detachTemp(t){vn.delete(t)},mktempSync(t){for($L();;){let e=ZL("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vn.add(r),typeof t!="undefined")try{return t(r)}finally{if(vn.has(r)){vn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for($L();;){let e=ZL("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vn.has(r)){vn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vn.values()).map(async t=>{try{await M.removePromise(t,{maxRetries:0}),vn.delete(t)}catch{}}))},rmtempSync(){for(let t of vn)try{M.removeSync(t),vn.delete(t)}catch{}}});var Tw=te(Kw()),sn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(sn||(sn={}));function Va(t){return t!==null&&typeof t.fd=="number"}var Xa=new Set;function Uw(){}function Hw(){for(let t of Xa)t.kill()}async function Os(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Va(s)&&(c[0]=s),Va(o)&&(c[1]=o),Va(a)&&(c[2]=a);let u=(0,Tw.default)(t,e,{cwd:L.fromPortablePath(r),env:V(k({},i),{PWD:L.fromPortablePath(r)}),stdio:c});Xa.add(u),Xa.size===1&&(process.on("SIGINT",Uw),process.on("SIGTERM",Hw)),!Va(s)&&s!==null&&s.pipe(u.stdin),Va(o)||u.stdout.pipe(o,{end:!1}),Va(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let h of new Set([o,a]))Va(h)||h.end()};return new Promise((h,f)=>{u.on("error",p=>{Xa.delete(u),Xa.size===0&&(process.off("SIGINT",Uw),process.off("SIGTERM",Hw)),(l===2||l===1)&&g(),f(p)}),u.on("close",(p,m)=>{Xa.delete(u),Xa.size===0&&(process.off("SIGINT",Uw),process.off("SIGTERM",Hw)),(l===2||l===1&&p>0)&&g(),p===0||!n?h({code:Yw(p,m)}):f(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function Yae(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=L.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=V(k({},i),{PWD:c}));let u=(0,Tw.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,h)=>{u.on("error",()=>{h()}),u.on("close",(f,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);f===0||!s?g({code:Yw(f,p),stdout:m,stderr:I}):h(Object.assign(new Error(`Child "${t}" exited with exit code ${f} -${I}`),{code:Tw(f,p),stdout:m,stderr:I}))})})}var Lae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Tw(t,e){let r=Lae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Uw={};$e(Uw,{getDefaultGlobalFolder:()=>Yw,getHomeFolder:()=>kg,isFolderInside:()=>qw});var Hw=te(require("os"));function Yw(){if(process.platform==="win32"){let t=L.toPortablePath(process.env.LOCALAPPDATA||L.join((0,Hw.homedir)(),"AppData","Local"));return B.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=L.toPortablePath(process.env.XDG_DATA_HOME);return B.resolve(t,"yarn/berry")}return B.resolve(kg(),".yarn/berry")}function kg(){return L.toPortablePath((0,Hw.homedir)()||"/usr/local/share")}function qw(t,e){let r=B.relative(e,t);return r&&!r.startsWith("..")&&!B.isAbsolute(r)}var ce={};$e(ce,{LogLevel:()=>Ln,Style:()=>mA,Type:()=>ke,addLogFilterSupport:()=>Eh,applyColor:()=>Hi,applyHyperlink:()=>oc,applyStyle:()=>Hm,json:()=>ac,mark:()=>eb,pretty:()=>je,prettyField:()=>EA,prettyList:()=>ub,supportsColor:()=>Tm,supportsHyperlinks:()=>lb,tuple:()=>IA});var Ih=te($w()),H2=te(Lg()),Y2=te(BM());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED"})(z||(z={}));function xC(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};$e(de,{BufferStream:()=>aK,DefaultStream:()=>AK,assertNever:()=>FQ,bufferStream:()=>Wg,buildIgnorePattern:()=>Ece,convertMapsToIndexableObjects:()=>GC,dynamicRequire:()=>vn,dynamicRequireNoCache:()=>Ice,escapeRegExp:()=>dce,getArrayWithDefault:()=>Jl,getFactoryWithDefault:()=>Ms,getMapWithDefault:()=>Wl,getSetWithDefault:()=>sA,isIndexableObject:()=>RQ,isPathLike:()=>yce,mapAndFilter:()=>nA,mapAndFind:()=>oK,overrideType:()=>vQ,parseBoolean:()=>zg,parseOptionalBoolean:()=>lK,prettifyAsyncErrors:()=>jC,prettifySyncErrors:()=>Jg,releaseAfterUseAsync:()=>mce,replaceEnvVariables:()=>LQ,sortMap:()=>Bi,tryParseOptionalBoolean:()=>NQ,validateEnum:()=>Cce});var Hg={};$e(Hg,{Builtins:()=>fQ,Cli:()=>_n,Command:()=>fe,Option:()=>j,UsageError:()=>me});var $a=0,Ng=1,ei=2,eQ="",Fr="\0",Ul=-1,tQ=/^(-h|--help)(?:=([0-9]+))?$/,PC=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,wM=/^-[a-zA-Z]{2,}$/,rQ=/^([^=]+)=([\s\S]*)$/,QM=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Mg=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} +${I}`),{code:Yw(f,p),stdout:m,stderr:I}))})})}var Gae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Yw(t,e){let r=Gae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Gw={};$e(Gw,{getDefaultGlobalFolder:()=>qw,getHomeFolder:()=>Ng,isFolderInside:()=>Jw});var jw=te(require("os"));function qw(){if(process.platform==="win32"){let t=L.toPortablePath(process.env.LOCALAPPDATA||L.join((0,jw.homedir)(),"AppData","Local"));return B.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=L.toPortablePath(process.env.XDG_DATA_HOME);return B.resolve(t,"yarn/berry")}return B.resolve(Ng(),".yarn/berry")}function Ng(){return L.toPortablePath((0,jw.homedir)()||"/usr/local/share")}function Jw(t,e){let r=B.relative(e,t);return r&&!r.startsWith("..")&&!B.isAbsolute(r)}var Ae={};$e(Ae,{LogLevel:()=>Mn,Style:()=>CA,Type:()=>ve,addLogFilterSupport:()=>Dh,applyColor:()=>ji,applyHyperlink:()=>sc,applyStyle:()=>jm,json:()=>oc,mark:()=>sb,pretty:()=>je,prettyField:()=>IA,prettyList:()=>db,supportsColor:()=>Ym,supportsHyperlinks:()=>fb,tuple:()=>mA});var bh=te(rQ()),J2=te(Tg()),W2=te(Yi()),z2=te(RO());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",_[_.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK"})(z||(z={}));function TC(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};$e(de,{BufferStream:()=>lK,CachingStrategy:()=>nA,DefaultStream:()=>cK,assertNever:()=>MQ,bufferStream:()=>_g,buildIgnorePattern:()=>vce,convertMapsToIndexableObjects:()=>zC,dynamicRequire:()=>Jl,escapeRegExp:()=>Sce,getArrayWithDefault:()=>Gl,getFactoryWithDefault:()=>Us,getMapWithDefault:()=>jl,getSetWithDefault:()=>iA,isIndexableObject:()=>OQ,isPathLike:()=>Fce,isTaggedYarnVersion:()=>Dce,mapAndFilter:()=>rA,mapAndFind:()=>AK,overrideType:()=>NQ,parseBoolean:()=>eh,parseOptionalBoolean:()=>fK,prettifyAsyncErrors:()=>ql,prettifySyncErrors:()=>KQ,releaseAfterUseAsync:()=>Pce,replaceEnvVariables:()=>TQ,sortMap:()=>bi,tryParseOptionalBoolean:()=>UQ,validateEnum:()=>xce});var Zg={};$e(Zg,{Builtins:()=>RQ,Cli:()=>rs,Command:()=>fe,Option:()=>G,UsageError:()=>me});var $a=0,jg=1,ri=2,mQ="",Mr="\0",Ul=-1,IQ=/^(-h|--help)(?:=([0-9]+))?$/,UC=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,LO=/^-[a-zA-Z]{2,}$/,EQ=/^([^=]+)=([\s\S]*)$/,yQ=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},qg=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} ${this.candidates.map(({usage:n})=>`$ ${n}`).join(` `)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: $ ${i} -${iQ(e)}`}else this.message=`Command not found; did you mean one of: +${BQ(e)}`}else this.message=`Command not found; did you mean one of: ${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` `)} -${iQ(e)}`}},nQ=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: +${BQ(e)}`}},wQ=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: ${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` `)} -${iQ(e)}`}},iQ=t=>`While running ${t.filter(e=>e!==Fr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Og=Symbol("clipanion/isOption");function ti(t){return V(P({},t),{[Og]:!0})}function Zn(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function kC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Kg(t,e){return e.length===1?new me(`${t}: ${kC(e[0],!0)}`):new me(`${t}: +${BQ(e)}`}},BQ=t=>`While running ${t.filter(e=>e!==Mr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Jg=Symbol("clipanion/isOption");function ii(t){return V(k({},t),{[Jg]:!0})}function ts(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function HC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Wg(t,e){return e.length===1?new me(`${t}: ${HC(e[0],!0)}`):new me(`${t}: ${e.map(r=>` -- ${kC(r)}`).join("")}`)}function vC(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw Kg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var fe=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Mo(),Hl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Kg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};fe.isOption=Og;fe.Default=[];function Ei(t){QM&&console.log(t)}var LM={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ul};function NM(){return{nodes:[ri(),ri(),ri()]}}function qAe(t){let e=NM(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:h})=>g.to===h)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r($a)}function jAe(t,{prefix:e=""}={}){Ei(`${e}Nodes are:`);for(let r=0;rl!==ei).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ei))throw new Mg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=JAe(a)}if(i.length>0){Ei(" Results:");for(let s of i)Ei(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Ei(" No results");return i}function WAe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Fr)){for(let{to:r}of t.statics[Fr])if(r===Ng)return!0}return!1}function VAe(t,e,r){let i=r&&e.length>0?[""]:[],n=OM(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let f=g;g=[];for(let p of f){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let b=I[0];for(let{to:x,reducer:F}of m.statics[b])F==="pushPath"&&(u||l.push(b),g.push(x))}}u=!1}let h=JSON.stringify(l);o.has(h)||(s.push(l),o.add(h))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=WAe(u,c);for(let[h,f]of Object.entries(u.statics))(g&&h!==Fr||!h.startsWith("-")&&f.some(({reducer:p})=>p==="pushPath"))&&a([...i,h],l);if(!!g)for(let[h,{to:f}]of u.dynamics){if(f===ei)continue;let p=zAe(h,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function ZAe(t,e){let r=OM(t,[...e,Fr]);return XAe(e,r.map(({state:i})=>i))}function JAe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function XAe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(h=>h.some(f=>g.options.find(p=>p.name===f))));if(i.length===0)throw new Mg(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:h})=>!h).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=_Ae(c);if(u.length>1)throw new nQ(t,u.map(g=>g.candidateUsage));return u[0]}function _Ae(t){let e=[],r=[];for(let i of t)i.selectedIndex===Ul?r.push(i):e.push(i);return r.length>0&&e.push(V(P({},LM),{path:KM(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function KM(t,e,...r){return e===void 0?Array.from(t):KM(t.filter((i,n)=>i===e[n]),...r)}function ri(){return{dynamics:[],shortcuts:[],statics:{}}}function MM(t){return t===Ng||t===ei}function uQ(t,e=0){return{to:MM(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function YAe(t,e=0){let r=ri();for(let[i,n]of t.dynamics)r.dynamics.push([i,uQ(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(uQ(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>uQ(s,e));return r}function Rr(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function ql(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ls(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function RC(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function zAe(t,e){let r=Array.isArray(t)?LC[t[0]]:LC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var LC={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&wM.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(rQ);return!t.ignoreOptions&&!!n&&PC.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&tQ.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&PC.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!PC.test(e)};LC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var cQ={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>V(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>V(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(rQ);return V(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>V(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>V(P({},t),{positionals:t.positionals.concat({value:e,extra:Ki})}),pushTrue:(t,e,r=e)=>V(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>V(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>V(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=V(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=V(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>V(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(tQ);return typeof i!="undefined"?V(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):V(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===Fr?V(P({},t),{errorMessage:`${r}.`}):V(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return V(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ki=Symbol(),TM=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ki)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ki?this.arity.extra.push(e):this.arity.extra!==Ki&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ki)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let f=0;f`:`[${h}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ki?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=NM(),r=$a,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=kn(e,ri()),Ls(e,$a,eQ,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let h=kn(e,ri());ql(e,l,h),this.registerOptions(e,h),l=h}for(let h=0;h0||!this.arity.proxy){let h=kn(e,ri());Rr(e,l,"isHelp",h,["useHelp",this.cliIndex]),Ls(e,h,Fr,Ng,["setSelectedIndex",Ul]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ls(e,l,Fr,ei,["setError","Not enough positional arguments"]);let c=l;for(let h=0;h0||h+1!==this.arity.leading.length)&&Ls(e,f,Fr,ei,["setError","Not enough positional arguments"]),Rr(e,c,"isNotOptionLike",f,"pushPositional"),c=f}let u=c;if(this.arity.extra===Ki||this.arity.extra.length>0){let h=kn(e,ri());if(ql(e,c,h),this.arity.extra===Ki){let f=kn(e,ri());this.arity.proxy||this.registerOptions(e,f),Rr(e,c,s,f,"pushExtraNoLimits"),Rr(e,f,s,f,"pushExtraNoLimits"),ql(e,f,h)}else for(let f=0;f0&&Ls(e,u,Fr,ei,["setError","Not enough positional arguments"]);let g=u;for(let h=0;ho.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Rr(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Rr(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=kn(e,ri());for(let o of i.names)Rr(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eZAe(i,n),suggest:(n,s)=>VAe(i,n,s)}}};var UM=80,gQ=Array(UM).fill("\u2501");for(let t=0;t<=24;++t)gQ[gQ.length-t]=`[38;5;${232+t}m\u2501`;var hQ={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},HM={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function rn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` -`),t=t.replace(/^[\t ]+|[\t ]+$/gm,""),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^-([^\n]*?)\n+/gm,`-$1 +- ${HC(r)}`).join("")}`)}function zg(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw Wg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var fe=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Fn(),Hl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Wg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};fe.isOption=Jg;fe.Default=[];function Qi(t){yQ&&console.log(t)}var jO={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ul};function qO(){return{nodes:[si(),si(),si()]}}function gce(t){let e=qO(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:h})=>g.to===h)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r($a)}function fce(t,{prefix:e=""}={}){if(yQ){Qi(`${e}Nodes are:`);for(let r=0;rl!==ri).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ri))throw new qg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=pce(a)}if(i.length>0){Qi(" Results:");for(let s of i)Qi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Qi(" No results");return i}function dce(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Mr)){for(let{to:r}of t.statics[Mr])if(r===jg)return!0}return!1}function mce(t,e,r){let i=r&&e.length>0?[""]:[],n=WO(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let f=g;g=[];for(let p of f){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let w=I[0];for(let{to:x,reducer:F}of m.statics[w])F==="pushPath"&&(u||l.push(w),g.push(x))}}u=!1}let h=JSON.stringify(l);o.has(h)||(s.push(l),o.add(h))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=dce(u,c);for(let[h,f]of Object.entries(u.statics))(g&&h!==Mr||!h.startsWith("-")&&f.some(({reducer:p})=>p==="pushPath"))&&a([...i,h],l);if(!!g)for(let[h,{to:f}]of u.dynamics){if(f===ri)continue;let p=Cce(h,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function Ece(t,e){let r=WO(t,[...e,Mr]);return Ice(e,r.map(({state:i})=>i))}function pce(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Ice(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(h=>h.some(f=>g.options.find(p=>p.name===f))));if(i.length===0)throw new qg(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:h})=>!h).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=yce(c);if(u.length>1)throw new wQ(t,u.map(g=>g.candidateUsage));return u[0]}function yce(t){let e=[],r=[];for(let i of t)i.selectedIndex===Ul?r.push(i):e.push(i);return r.length>0&&e.push(V(k({},jO),{path:zO(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function zO(t,e,...r){return e===void 0?Array.from(t):zO(t.filter((i,n)=>i===e[n]),...r)}function si(){return{dynamics:[],shortcuts:[],statics:{}}}function JO(t){return t===jg||t===ri}function kQ(t,e=0){return{to:JO(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function uce(t,e=0){let r=si();for(let[i,n]of t.dynamics)r.dynamics.push([i,kQ(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(kQ(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>kQ(s,e));return r}function Or(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function Yl(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ts(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function GC(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function Cce(t,e){let r=Array.isArray(t)?jC[t[0]]:jC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var jC={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&LO.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(EQ);return!t.ignoreOptions&&!!n&&UC.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&IQ.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&UC.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!UC.test(e)};jC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var PQ={setCandidateState:(t,e,r)=>k(k({},t),r),setSelectedIndex:(t,e,r)=>V(k({},t),{selectedIndex:r}),pushBatch:(t,e)=>V(k({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(EQ);return V(k({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>V(k({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>V(k({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>V(k({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>V(k({},t),{positionals:t.positionals.concat({value:e,extra:Gi})}),pushTrue:(t,e,r=e)=>V(k({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>V(k({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>V(k({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=V(k({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=V(k({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>V(k({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(IQ);return typeof i!="undefined"?V(k({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):V(k({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===Mr?V(k({},t),{errorMessage:`${r}.`}):V(k({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return V(k({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Gi=Symbol(),VO=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Gi)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Gi?this.arity.extra.push(e):this.arity.extra!==Gi&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Gi)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let f=0;f`:`[${h}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Gi?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=qO(),r=$a,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=Rn(e,si()),Ts(e,$a,mQ,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let h=Rn(e,si());Yl(e,l,h),this.registerOptions(e,h),l=h}for(let h=0;h0||!this.arity.proxy){let h=Rn(e,si());Or(e,l,"isHelp",h,["useHelp",this.cliIndex]),Ts(e,h,Mr,jg,["setSelectedIndex",Ul]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ts(e,l,Mr,ri,["setError","Not enough positional arguments"]);let c=l;for(let h=0;h0||h+1!==this.arity.leading.length)&&Ts(e,f,Mr,ri,["setError","Not enough positional arguments"]),Or(e,c,"isNotOptionLike",f,"pushPositional"),c=f}let u=c;if(this.arity.extra===Gi||this.arity.extra.length>0){let h=Rn(e,si());if(Yl(e,c,h),this.arity.extra===Gi){let f=Rn(e,si());this.arity.proxy||this.registerOptions(e,f),Or(e,c,s,f,"pushExtraNoLimits"),Or(e,f,s,f,"pushExtraNoLimits"),Yl(e,f,h)}else for(let f=0;f0&&Ts(e,u,Mr,ri,["setError","Not enough positional arguments"]);let g=u;for(let h=0;ho.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Or(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Or(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=Rn(e,si());for(let o of i.names)Or(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eEce(i,n),suggest:(n,s)=>mce(i,n,s)}}};var XO=80,vQ=Array(XO).fill("\u2501");for(let t=0;t<=24;++t)vQ[vQ.length-t]=`[38;5;${232+t}m\u2501`;var FQ={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},ZO={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function Bce(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function An(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=Bce(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 -`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^[*-][\t ]+(.*)/);return n?n[1].match(/(.{1,78})(?: |$)/g).map((s,o)=>(o===0?"- ":" ")+s).join(` -`):i.match(/(.{1,80})(?: |$)/g).join(` +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` `)}).join(` `)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} -`:""}var Ug=class extends fe{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new Ug(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`:""}var Xg=class extends fe{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new Xg(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: `),this.context.stdout.write(` `);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` `),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var YM=Symbol("clipanion/errorCommand");function $Ae(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var _n=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=$Ae()}={}){this.registrations=new Map,this.builder=new Tg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new _n(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[fe.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Ul:return Ug.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[YM]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?rn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?rn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?rn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([h,f])=>[rn(h,{format:this.format(e),paragraphs:!1}),f.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){let s=e!==null&&e instanceof fe?e.constructor:e,o="";if(s)if(i){let{description:a="",details:l="",examples:c=[]}=s.usage||{};a!==""&&(o+=rn(a,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),o+=` -`),(l!==""||c.length>0)&&(o+=`${this.format(r).header("Usage")} -`,o+=` -`);let{usage:u,options:g}=this.getUsageByRegistration(s,{inlineOptions:!1});if(o+=`${this.format(r).bold(n)}${u} -`,g.length>0){o+=` -`,o+=`${hQ.header("Options")} -`;let h=g.reduce((f,p)=>Math.max(f,p.definition.length),0);o+=` -`;for(let{definition:f,description:p}of g)o+=` ${this.format(r).bold(f.padEnd(h))} ${rn(p,{format:this.format(r),paragraphs:!1})}`}if(l!==""&&(o+=` -`,o+=`${this.format(r).header("Details")} -`,o+=` -`,o+=rn(l,{format:this.format(r),paragraphs:!0})),c.length>0){o+=` -`,o+=`${this.format(r).header("Examples")} -`;for(let[h,f]of c)o+=` -`,o+=rn(h,{format:this.format(r),paragraphs:!1}),o+=`${f.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:a}=this.getUsageByRegistration(s);o+=`${this.format(r).bold(n)}${a} -`}else{let a=new Map;for(let[g,{index:h}]of this.registrations.entries()){if(typeof g.usage=="undefined")continue;let f=typeof g.usage.category!="undefined"?rn(g.usage.category,{format:this.format(r),paragraphs:!1}):null,p=a.get(f);typeof p=="undefined"&&a.set(f,p=[]);let{usage:m}=this.getUsageByIndex(h);p.push({commandClass:g,usage:m})}let l=Array.from(a.keys()).sort((g,h)=>g===null?-1:h===null?1:g.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),c=typeof this.binaryLabel!="undefined",u=typeof this.binaryVersion!="undefined";c||u?(c&&u?o+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:c?o+=`${this.format(r).header(`${this.binaryLabel}`)} -`:o+=`${this.format(r).header(`${this.binaryVersion}`)} -`,o+=` ${this.format(r).bold(n)}${this.binaryName} -`):o+=`${this.format(r).bold(n)}${this.binaryName} -`;for(let g of l){let h=a.get(g).slice().sort((p,m)=>p.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),f=g!==null?g.trim():"General commands";o+=` -`,o+=`${this.format(r).header(`${f}`)} -`;for(let{commandClass:p,usage:m}of h){let I=p.usage.description||"undocumented";o+=` -`,o+=` ${this.format(r).bold(m)} -`,o+=` ${rn(I,{format:this.format(r),paragraphs:!1})}`}}o+=` -`,o+=rn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return o}error(e,r){var i,{colored:n,command:s=(i=e[YM])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`)}}};var _O=Symbol("clipanion/errorCommand");function wce(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var rs=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=wce()}={}){this.registrations=new Map,this.builder=new Vg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new rs(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[fe.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Ul:return Xg.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[_O]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,k(k({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?An(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?An(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?An(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([h,f])=>[An(h,{format:this.format(e),paragraphs:!1}),f.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null)for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(f=>f.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}let o=e!==null&&e instanceof fe?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=An(l,{format:this.format(r),paragraphs:!1}).replace(/^./,f=>f.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:h}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,h.length>0){a+=` +`,a+=`${FQ.header("Options")} +`;let f=h.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of h)a+=` ${this.format(r).bold(p.padEnd(f))} ${An(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=An(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[f,p]of u)a+=` +`,a+=An(f,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[h,{index:f}]of this.registrations.entries()){if(typeof h.usage=="undefined")continue;let p=typeof h.usage.category!="undefined"?An(h.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:I}=this.getUsageByIndex(f);m.push({commandClass:h,usage:I})}let c=Array.from(l.keys()).sort((h,f)=>h===null?-1:f===null?1:h.localeCompare(f,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let h of c){let f=l.get(h).slice().sort((m,I)=>m.usage.localeCompare(I.usage,"en",{usage:"sort",caseFirst:"upper"})),p=h!==null?h.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:m,usage:I}of f){let y=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(I)} +`,a+=` ${An(y,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=An("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[_O])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} `;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` `,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?hQ:HM}};_n.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var fQ={};$e(fQ,{DefinitionsCommand:()=>NC,HelpCommand:()=>MC,VersionCommand:()=>OC});var NC=class extends fe{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};NC.path=[["--clipanion=definitions"]];var MC=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};MC.paths=[["-h"],["--help"]];var OC=class extends fe{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};OC.paths=[["-v"],["--version"]];var j={};$e(j,{Array:()=>qM,Boolean:()=>GM,Counter:()=>jM,Proxy:()=>JM,Rest:()=>WM,String:()=>zM,applyValidator:()=>vC,cleanValidationError:()=>kC,formatError:()=>Kg,isOptionSymbol:()=>Og,makeCommandOption:()=>ti,rerouteArguments:()=>Zn});function qM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ti({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:h,value:f}of u.options)!a.has(h)||(g=g!=null?g:[],g.push(f));return g}})}function GM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ti({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u=h);return u}})}function jM(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ti({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u!=null||(u=0),h?u+=1:u=0);return u}})}function JM(t={}){return ti({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function WM(t={}){return ti({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ki||a.extra===!1&&oo)}})}function ele(t,e,r){let[i,n]=Zn(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ti({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,h=i;for(let{name:f,value:p}of u.options)!a.has(f)||(g=f,h=p);return typeof h=="string"?vC(g!=null?g:c,h,n.validator):h}})}function tle(t={}){let{required:e=!0}=t;return ti({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){for(let s=0;s{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var aK=class extends kQ.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},AK=class extends kQ.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},vn=eval("require");function Ice(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=vn.cache[physicalPath];delete vn.cache[physicalPath];let result;try{result=vn(physicalPath);let freshCacheEntry=vn.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{vn.cache[physicalPath]=currentCacheEntry}return result}function Bi(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Ece(t){return t.length===0?null:t.map(e=>`(${iK.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function LQ(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function zg(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function lK(t){return typeof t=="undefined"?t:zg(t)}function NQ(t){try{return lK(t)}catch{return null}}function yce(t){return!!(L.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var w={};$e(w,{areDescriptorsEqual:()=>O2,areIdentsEqual:()=>ph,areLocatorsEqual:()=>ib,areVirtualPackagesEquivalent:()=>Xpe,bindDescriptor:()=>zpe,bindLocator:()=>Vpe,convertDescriptorToLocator:()=>Nm,convertLocatorToDescriptor:()=>Mm,convertPackageToLocator:()=>Wpe,convertToIdent:()=>Jpe,convertToManifestRange:()=>$pe,copyPackage:()=>gh,devirtualizeDescriptor:()=>hh,devirtualizeLocator:()=>fh,getIdentVendorPath:()=>ede,isVirtualDescriptor:()=>jo,isVirtualLocator:()=>ns,makeDescriptor:()=>Wt,makeIdent:()=>Go,makeLocator:()=>si,makeRange:()=>Om,parseDescriptor:()=>Jo,parseFileStyleRange:()=>Zpe,parseIdent:()=>Qi,parseLocator:()=>CA,parseRange:()=>ic,prettyDependent:()=>ab,prettyDescriptor:()=>Kt,prettyIdent:()=>mr,prettyLocator:()=>it,prettyLocatorNoColors:()=>sb,prettyRange:()=>Rm,prettyReference:()=>Ch,prettyResolution:()=>ob,prettyWorkspace:()=>mh,renamePackage:()=>uh,slugifyIdent:()=>nb,slugifyLocator:()=>nc,sortDescriptors:()=>sc,stringifyDescriptor:()=>bi,stringifyIdent:()=>dt,stringifyLocator:()=>ln,tryParseDescriptor:()=>dh,tryParseIdent:()=>K2,tryParseLocator:()=>T2,virtualizeDescriptor:()=>tb,virtualizePackage:()=>rb});var rc=te(require("querystring")),M2=te(Cr());var wi={};$e(wi,{checksumFile:()=>vm,checksumPattern:()=>Fm,makeHash:()=>ni});var km=te(require("crypto")),$0=te(_0());function ni(...t){let e=(0,km.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function vm(t,{baseFs:e,algorithm:r}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,km.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Fm(t,{cwd:e}){let i=(await(0,$0.default)(t,{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,$0.default)([t,...i],{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=L.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,km.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Lm="virtual:",jpe=5;function Go(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ni(t,e),scope:t,name:e}}function Wt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ni(t.identHash,e),range:e}}function si(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ni(t.identHash,e),reference:e}}function Jpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function Nm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function Mm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Wpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function uh(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function gh(t){return uh(t,t)}function tb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Wt(t,`virtual:${e}#${t.range}`)}function rb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return uh(t,si(t,`virtual:${e}#${t.reference}`))}function jo(t){return t.range.startsWith(Lm)}function ns(t){return t.reference.startsWith(Lm)}function hh(t){if(!jo(t))throw new Error("Not a virtual descriptor");return Wt(t,t.range.replace(/^[^#]*#/,""))}function fh(t){if(!ns(t))throw new Error("Not a virtual descriptor");return si(t,t.reference.replace(/^[^#]*#/,""))}function zpe(t,e){return t.range.includes("::")?t:Wt(t,`${t.range}::${rc.default.stringify(e)}`)}function Vpe(t,e){return t.reference.includes("::")?t:si(t,`${t.reference}::${rc.default.stringify(e)}`)}function ph(t,e){return t.identHash===e.identHash}function O2(t,e){return t.descriptorHash===e.descriptorHash}function ib(t,e){return t.locatorHash===e.locatorHash}function Xpe(t,e){if(!ns(t))throw new Error("Invalid package type");if(!ns(e))throw new Error("Invalid package type");if(!ph(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!O2(r,i))return!1}return!0}function Qi(t){let e=K2(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function K2(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Go(n,i)}function Jo(t,e=!1){let r=dh(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function dh(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Wt(Go(o,n),a)}function CA(t,e=!1){let r=T2(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function T2(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return si(Go(o,n),a)}function ic(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?rc.default.parse(s):s,a=typeof r[4]!="undefined"?rc.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Zpe(t,{protocol:e}){let{selector:r,params:i}=ic(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:CA(i.locator,!0),path:r}}function U2(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function _pe(t){return t===null?!1:Object.entries(t).length>0}function Om({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${U2(e)}#`),n+=U2(r),_pe(i)&&(n+=`::${rc.default.stringify(i)}`),n}function $pe(t){let{params:e,protocol:r,source:i,selector:n}=ic(t);for(let s in e)s.startsWith("__")&&delete e[s];return Om({protocol:r,source:i,params:e,selector:n})}function dt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function bi(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ln(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function nb(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function nc(t){let{protocol:e,selector:r}=ic(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=M2.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${nb(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${nb(t)}-${s}-${t.locatorHash.slice(0,o)}`;return jt(a)}function mr(t,e){return e.scope?`${je(t,`@${e.scope}/`,ke.SCOPE)}${je(t,e.name,ke.NAME)}`:`${je(t,e.name,ke.NAME)}`}function Km(t){if(t.startsWith(Lm)){let e=Km(t.substr(t.indexOf("#")+1)),r=t.substr(Lm.length,jpe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function Rm(t,e){return`${je(t,Km(e),ke.RANGE)}`}function Kt(t,e){return`${mr(t,e)}${je(t,"@",ke.RANGE)}${Rm(t,e.range)}`}function Ch(t,e){return`${je(t,Km(e),ke.REFERENCE)}`}function it(t,e){return`${mr(t,e)}${je(t,"@",ke.REFERENCE)}${Ch(t,e.reference)}`}function sb(t){return`${dt(t)}@${Km(t.reference)}`}function sc(t){return Bi(t,[e=>dt(e),e=>e.range])}function mh(t,e){return mr(t,e.locator)}function ob(t,e,r){let i=jo(e)?hh(e):e;return r===null?`${Kt(t,i)} \u2192 ${eb(t).Cross}`:i.identHash===r.identHash?`${Kt(t,i)} \u2192 ${Ch(t,r.reference)}`:`${Kt(t,i)} \u2192 ${it(t,r)}`}function ab(t,e,r){return r===null?`${it(t,e)}`:`${it(t,e)} (via ${Rm(t,r.range)})`}function ede(t){return`node_modules/${dt(t)}`}var At;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(At||(At={}));var Sr;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(Sr||(Sr={}));var Yr;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(Yr||(Yr={}));var ke={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},mA;(function(e){e[e.BOLD=2]="BOLD"})(mA||(mA={}));var Ab=process.env.GITHUB_ACTIONS?{level:2}:Ih.default.supportsColor?{level:Ih.default.supportsColor.level}:{level:0},Tm=Ab.level!==0,lb=Tm&&!process.env.GITHUB_ACTIONS&&!H2.CIRCLE,cb=new Ih.default.Instance(Ab),tde=new Map([[ke.NO_HINT,null],[ke.NULL,["#a853b5",129]],[ke.SCOPE,["#d75f00",166]],[ke.NAME,["#d7875f",173]],[ke.RANGE,["#00afaf",37]],[ke.REFERENCE,["#87afff",111]],[ke.NUMBER,["#ffd700",220]],[ke.PATH,["#d75fd7",170]],[ke.URL,["#d75fd7",170]],[ke.ADDED,["#5faf00",70]],[ke.REMOVED,["#d70000",160]],[ke.CODE,["#87afff",111]],[ke.SIZE,["#ffd700",220]]]),Rn=t=>t,Um={[ke.NUMBER]:Rn({pretty:(t,e)=>`${e}`,json:t=>t}),[ke.IDENT]:Rn({pretty:(t,e)=>mr(t,e),json:t=>dt(t)}),[ke.LOCATOR]:Rn({pretty:(t,e)=>it(t,e),json:t=>ln(t)}),[ke.DESCRIPTOR]:Rn({pretty:(t,e)=>Kt(t,e),json:t=>bi(t)}),[ke.RESOLUTION]:Rn({pretty:(t,{descriptor:e,locator:r})=>ob(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:bi(t),locator:e!==null?ln(e):null})}),[ke.DEPENDENT]:Rn({pretty:(t,{locator:e,descriptor:r})=>ab(t,e,r),json:({locator:t,descriptor:e})=>({locator:ln(t),descriptor:bi(e)})}),[ke.PACKAGE_EXTENSION]:Rn({pretty:(t,e)=>{switch(e.type){case Sr.Dependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"dependencies",ke.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"peerDependencies",ke.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependencyMeta:return`${mr(t,e.parentDescriptor)} \u27A4 ${Hi(t,"peerDependenciesMeta",ke.CODE)} \u27A4 ${mr(t,Qi(e.selector))} \u27A4 ${Hi(t,e.key,ke.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case Sr.Dependency:return`${dt(t.parentDescriptor)} > ${dt(t.descriptor)}`;case Sr.PeerDependency:return`${dt(t.parentDescriptor)} >> ${dt(t.descriptor)}`;case Sr.PeerDependencyMeta:return`${dt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[ke.SETTING]:Rn({pretty:(t,e)=>(t.get(e),oc(t,Hi(t,e,ke.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[ke.DURATION]:Rn({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[ke.SIZE]:Rn({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Hi(t,`${s} ${r[i-1]}`,ke.NUMBER)},json:t=>t}),[ke.PATH]:Rn({pretty:(t,e)=>Hi(t,L.fromPortablePath(e),ke.PATH),json:t=>L.fromPortablePath(t)})};function IA(t,e){return[e,t]}function Hm(t,e,r){return t.get("enableColors")&&r&2&&(e=Ih.default.bold(e)),e}function Hi(t,e,r){if(!t.get("enableColors"))return e;let i=tde.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Ab.level>=3?i[0]:i[1],s=typeof n=="number"?cb.ansi256(n):n.startsWith("#")?cb.hex(n):cb[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rde=!!process.env.KONSOLE_VERSION;function oc(t,e,r){return t.get("enableHyperlinks")?rde?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function je(t,e,r){if(e===null)return Hi(t,"null",ke.NULL);if(Object.prototype.hasOwnProperty.call(Um,r))return Um[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Hi(t,e,r)}function ub(t,e,r,{separator:i=", "}={}){return[...e].map(n=>je(t,n,r)).join(i)}function ac(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Um,e))return vQ(e),Um[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function eb(t){return{Check:Hi(t,"\u2713","green"),Cross:Hi(t,"\u2718","red"),Question:Hi(t,"?","cyan")}}function EA(t,{label:e,value:[r,i]}){return`${je(t,e,ke.CODE)}: ${je(t,r,i)}`}var Ln;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ln||(Ln={}));function Eh(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map;for(let u of r){let g=u.get("level");if(typeof g=="undefined")continue;let h=u.get("code");typeof h!="undefined"&&i.set(h,g);let f=u.get("text");typeof f!="undefined"&&n.set(f,g)}let s=(u,g,h)=>{if(u===null||u===z.UNNAMED)return h;if(n.size>0){let f=n.get((0,Y2.default)(g));if(typeof f!="undefined")return f!=null?f:h}if(i.size>0){let f=i.get(xC(u));if(typeof f!="undefined")return f!=null?f:h}return h},o=t.reportInfo,a=t.reportWarning,l=t.reportError,c=function(u,g,h,f){switch(s(g,h,f)){case Ln.Info:o.call(u,g,h);break;case Ln.Warning:a.call(u,g!=null?g:z.UNNAMED,h);break;case Ln.Error:l.call(u,g!=null?g:z.UNNAMED,h);break}};t.reportInfo=function(...u){return c(this,...u,Ln.Info)},t.reportWarning=function(...u){return c(this,...u,Ln.Warning)},t.reportError=function(...u){return c(this,...u,Ln.Error)}}var Ut={};$e(Ut,{Method:()=>BA,RequestError:()=>Pq.RequestError,del:()=>dIe,get:()=>fIe,getNetworkSettings:()=>Rq,post:()=>xS,put:()=>pIe,request:()=>vh});var Sq=te(sI()),Dq=te(require("https")),xq=te(require("http")),SS=te(sn()),DS=te(wq()),oI=te(require("url"));var Qq=te(require("stream")),bq=te(require("string_decoder"));var Ze=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function lIe(t){return typeof t.reportCode!="undefined"}var ai=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var Pq=te(sI()),kq=new Map,vq=new Map,cIe=new xq.Agent({keepAlive:!0}),uIe=new Dq.Agent({keepAlive:!0});function Fq(t){let e=new oI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function gIe(t){return Ms(vq,t,()=>M.readFilePromise(t).then(e=>(vq.set(t,e),e)))}function hIe({statusCode:t,statusMessage:e},r){let i=je(r,t,ke.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return oc(r,`${i}${e?` (${e})`:""}`,n)}async function aI(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof Sq.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${je(e,"httpTimeout",ke.SETTING)})`);let a=new Ze(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Response Code",value:IA(ke.NO_HINT,hIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Method",value:IA(ke.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request URL",value:IA(ke.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Redirects",value:IA(ke.NO_HINT,ub(e,s.request.redirects,ke.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${EA(e,{label:"Request Retry Count",value:IA(ke.NO_HINT,`${je(e,s.request.retryCount,ke.NUMBER)} (can be increased via ${je(e,"httpRetry",ke.SETTING)})`)})}`)});throw a.originalError=s,a}}function Rq(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new oI.URL(t):t;for(let[o,a]of r)if(SS.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var BA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(BA||(BA={}));async function vh(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=BA.GET}){let a=typeof t=="string"?new oI.URL(t):t,l=Rq(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!SS.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?DS.default.httpOverHttp(Fq(l.httpProxy)):cIe,https:l.httpsProxy?DS.default.httpsOverHttp(Fq(l.httpsProxy)):uIe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),h=r.get("httpRetry"),f=r.get("enableStrictSsl"),p=l.caFilePath,{default:m}=await Promise.resolve().then(()=>te(sI())),I=p?await gIe(p):void 0,y=m.extend(P({timeout:{socket:g},retry:h,https:{rejectUnauthorized:f,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function fIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=vr(s,["configuration","jsonResponse"]);let o=Ms(kq,t,()=>aI(vh(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(kq.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function pIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=vr(s,["customErrorMessage"]);return(await aI(vh(t,e,V(P({},i),{method:BA.PUT})),i)).body}async function xS(t,e,n){var s=n,{customErrorMessage:r}=s,i=vr(s,["customErrorMessage"]);return(await aI(vh(t,e,V(P({},i),{method:BA.POST})),i)).body}async function dIe(t,i){var n=i,{customErrorMessage:e}=n,r=vr(n,["customErrorMessage"]);return(await aI(vh(t,null,V(P({},r),{method:BA.DELETE})),r)).body}var bt={};$e(bt,{executePackageAccessibleBinary:()=>GW,executePackageScript:()=>XI,executePackageShellcode:()=>xD,executeWorkspaceAccessibleBinary:()=>WQe,executeWorkspaceLifecycleScript:()=>qW,executeWorkspaceScript:()=>YW,getPackageAccessibleBinaries:()=>ZI,getWorkspaceAccessibleBinaries:()=>HW,hasPackageScript:()=>GQe,hasWorkspaceScript:()=>DD,makeScriptEnv:()=>Zh,maybeExecuteWorkspaceLifecycleScript:()=>JQe,prepareExternalProject:()=>qQe});var Mh={};$e(Mh,{getLibzipPromise:()=>li,getLibzipSync:()=>aG});var _o=["number","number"],PS;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",R[R.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",R[R.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",R[R.ZIP_ER_READ=5]="ZIP_ER_READ",R[R.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",R[R.ZIP_ER_CRC=7]="ZIP_ER_CRC",R[R.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",R[R.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",R[R.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",R[R.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",R[R.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",R[R.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",R[R.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",R[R.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",R[R.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",R[R.ZIP_ER_EOF=17]="ZIP_ER_EOF",R[R.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",R[R.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",R[R.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",R[R.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",R[R.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",R[R.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",R[R.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",R[R.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",R[R.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",R[R.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",R[R.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",R[R.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",R[R.ZIP_ER_TELL=30]="ZIP_ER_TELL",R[R.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(PS||(PS={}));var Lq=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:PS,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",..._o,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",..._o,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",..._o,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",..._o,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",..._o,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",..._o,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",..._o,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",..._o,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var zS=null;function aG(){return zS===null&&(zS=Lq(oG())),zS}async function li(){return aG()}var Jh={};$e(Jh,{ShellError:()=>ia,execute:()=>qI,globUtils:()=>MI});var Gh={};$e(Gh,{parseResolution:()=>wI,parseShell:()=>II,parseSyml:()=>Nr,stringifyArgument:()=>_S,stringifyArgumentSegment:()=>$S,stringifyArithmeticExpression:()=>BI,stringifyCommand:()=>ZS,stringifyCommandChain:()=>wc,stringifyCommandChainThen:()=>XS,stringifyCommandLine:()=>EI,stringifyCommandLineThen:()=>VS,stringifyEnvSegment:()=>yI,stringifyRedirectArgument:()=>Oh,stringifyResolution:()=>QI,stringifyShell:()=>Bc,stringifyShellLine:()=>Bc,stringifySyml:()=>_s,stringifyValueArgument:()=>Qc});var cG=te(lG());function II(t,e={isGlobPattern:()=>!1}){try{return(0,cG.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function Bc(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${EI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function EI(t){return`${wc(t.chain)}${t.then?` ${VS(t.then)}`:""}`}function VS(t){return`${t.type} ${EI(t.line)}`}function wc(t){return`${ZS(t)}${t.then?` ${XS(t.then)}`:""}`}function XS(t){return`${t.type} ${wc(t.chain)}`}function ZS(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>yI(e)).join(" ")} `:""}${t.args.map(e=>_S(e)).join(" ")}`;case"subshell":return`(${Bc(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Oh(e)).join(" ")}`:""}`;case"group":return`{ ${Bc(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Oh(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>yI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function yI(t){return`${t.name}=${t.args[0]?Qc(t.args[0]):""}`}function _S(t){switch(t.type){case"redirection":return Oh(t);case"argument":return Qc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Oh(t){return`${t.subtype} ${t.args.map(e=>Qc(e)).join(" ")}`}function Qc(t){return t.segments.map(e=>$S(e)).join("")}function $S(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i.match(/[(){}<>$|&; \t"']/)?i.match(/[$"]/)?`'${i.replace(/[']/g,"\\'")}'`:`"${i}"`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Bc(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>Qc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${BI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function BI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(BI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var hG=te(gG());function wI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,hG.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function QI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var NI=te(iJ()),oJ=te(sJ()),ewe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,aJ=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],gD=class{constructor(e){this.data=e}};function AJ(t){return t.match(ewe)?t:JSON.stringify(t)}function lJ(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>lJ(t[e])):!1}function hD(t,e,r){if(t===null)return`null +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?FQ:ZO}};rs.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var RQ={};$e(RQ,{DefinitionsCommand:()=>qC,HelpCommand:()=>JC,VersionCommand:()=>WC});var qC=class extends fe{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};qC.paths=[["--clipanion=definitions"]];var JC=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};JC.paths=[["-h"],["--help"]];var WC=class extends fe{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};WC.paths=[["-v"],["--version"]];var G={};$e(G,{Array:()=>$O,Boolean:()=>eK,Counter:()=>tK,Proxy:()=>rK,Rest:()=>iK,String:()=>nK,applyValidator:()=>zg,cleanValidationError:()=>HC,formatError:()=>Wg,isOptionSymbol:()=>Jg,makeCommandOption:()=>ii,rerouteArguments:()=>ts});function $O(t,e,r){let[i,n]=ts(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:h,value:f}of u.options)!a.has(h)||(g=g!=null?g:[],g.push(f));return g}})}function eK(t,e,r){let[i,n]=ts(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u=h);return u}})}function tK(t,e,r){let[i,n]=ts(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:h}of c.options)!o.has(g)||(u!=null||(u=0),h?u+=1:u=0);return u}})}function rK(t={}){return ii({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function iK(t={}){return ii({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Gi||a.extra===!1&&oo)}})}function Qce(t,e,r){let[i,n]=ts(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,h=i;for(let{name:f,value:p}of u.options)!a.has(f)||(g=f,h=p);return typeof h=="string"?zg(g!=null?g:c,h,n.validator):h}})}function bce(t={}){let{required:e=!0}=t;return ii({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;o{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var lK=class extends LQ.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},cK=class extends LQ.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},$g=eval("require");function uK(t){return $g(L.fromPortablePath(t))}function gK(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=$g.cache[physicalPath];delete $g.cache[physicalPath];let result;try{result=uK(physicalPath);let freshCacheEntry=$g.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{$g.cache[physicalPath]=currentCacheEntry}return result}var hK=new Map;function kce(t){let e=hK.get(t),r=M.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=gK(t);return hK.set(t,{mtime:r.mtimeMs,instance:i}),i}var nA;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(nA||(nA={}));function Jl(t,{cachingStrategy:e=2}={}){switch(e){case 0:return gK(t);case 1:return kce(t);case 2:return uK(t);default:throw new Error("Unsupported caching strategy")}}function bi(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function vce(t){return t.length===0?null:t.map(e=>`(${sK.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function TQ(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function eh(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function fK(t){return typeof t=="undefined"?t:eh(t)}function UQ(t){try{return fK(t)}catch{return null}}function Fce(t){return!!(L.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var Q={};$e(Q,{areDescriptorsEqual:()=>Y2,areIdentsEqual:()=>yh,areLocatorsEqual:()=>Ab,areVirtualPackagesEquivalent:()=>ade,bindDescriptor:()=>sde,bindLocator:()=>ode,convertDescriptorToLocator:()=>Km,convertLocatorToDescriptor:()=>Tm,convertPackageToLocator:()=>nde,convertToIdent:()=>ide,convertToManifestRange:()=>cde,copyPackage:()=>mh,devirtualizeDescriptor:()=>Ih,devirtualizeLocator:()=>Eh,getIdentVendorPath:()=>ude,isVirtualDescriptor:()=>qo,isVirtualLocator:()=>os,makeDescriptor:()=>zt,makeIdent:()=>jo,makeLocator:()=>Ai,makeRange:()=>Um,parseDescriptor:()=>Jo,parseFileStyleRange:()=>Ade,parseIdent:()=>Si,parseLocator:()=>dA,parseRange:()=>rc,prettyDependent:()=>gb,prettyDescriptor:()=>Tt,prettyIdent:()=>mr,prettyLocator:()=>it,prettyLocatorNoColors:()=>cb,prettyRange:()=>Mm,prettyReference:()=>wh,prettyResolution:()=>ub,prettyWorkspace:()=>Qh,renamePackage:()=>Ch,slugifyIdent:()=>lb,slugifyLocator:()=>ic,sortDescriptors:()=>nc,stringifyDescriptor:()=>xi,stringifyIdent:()=>pt,stringifyLocator:()=>gn,tryParseDescriptor:()=>Bh,tryParseIdent:()=>G2,tryParseLocator:()=>j2,virtualizeDescriptor:()=>ob,virtualizePackage:()=>ab});var tc=te(require("querystring")),H2=te(Cr());var Di={};$e(Di,{checksumFile:()=>Lm,checksumPattern:()=>Nm,makeHash:()=>ai});var Rm=te(require("crypto")),nb=te(ib());function ai(...t){let e=(0,Rm.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Lm(t,{baseFs:e,algorithm:r}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,Rm.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Nm(t,{cwd:e}){let i=(await(0,nb.default)(t,{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,nb.default)([t,...i],{cwd:L.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=L.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,Rm.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Om="virtual:",rde=5;function jo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ai(t,e),scope:t,name:e}}function zt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ai(t.identHash,e),range:e}}function Ai(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ai(t.identHash,e),reference:e}}function ide(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function Km(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function Tm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function nde(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function Ch(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function mh(t){return Ch(t,t)}function ob(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return zt(t,`virtual:${e}#${t.range}`)}function ab(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Ch(t,Ai(t,`virtual:${e}#${t.reference}`))}function qo(t){return t.range.startsWith(Om)}function os(t){return t.reference.startsWith(Om)}function Ih(t){if(!qo(t))throw new Error("Not a virtual descriptor");return zt(t,t.range.replace(/^[^#]*#/,""))}function Eh(t){if(!os(t))throw new Error("Not a virtual descriptor");return Ai(t,t.reference.replace(/^[^#]*#/,""))}function sde(t,e){return t.range.includes("::")?t:zt(t,`${t.range}::${tc.default.stringify(e)}`)}function ode(t,e){return t.reference.includes("::")?t:Ai(t,`${t.reference}::${tc.default.stringify(e)}`)}function yh(t,e){return t.identHash===e.identHash}function Y2(t,e){return t.descriptorHash===e.descriptorHash}function Ab(t,e){return t.locatorHash===e.locatorHash}function ade(t,e){if(!os(t))throw new Error("Invalid package type");if(!os(e))throw new Error("Invalid package type");if(!yh(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!Y2(r,i))return!1}return!0}function Si(t){let e=G2(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function G2(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return jo(n,i)}function Jo(t,e=!1){let r=Bh(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function Bh(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return zt(jo(o,n),a)}function dA(t,e=!1){let r=j2(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function j2(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Ai(jo(o,n),a)}function rc(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?tc.default.parse(s):s,a=typeof r[4]!="undefined"?tc.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Ade(t,{protocol:e}){let{selector:r,params:i}=rc(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:dA(i.locator,!0),path:r}}function q2(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function lde(t){return t===null?!1:Object.entries(t).length>0}function Um({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${q2(e)}#`),n+=q2(r),lde(i)&&(n+=`::${tc.default.stringify(i)}`),n}function cde(t){let{params:e,protocol:r,source:i,selector:n}=rc(t);for(let s in e)s.startsWith("__")&&delete e[s];return Um({protocol:r,source:i,params:e,selector:n})}function pt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function xi(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function gn(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function lb(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function ic(t){let{protocol:e,selector:r}=rc(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=H2.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${lb(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${lb(t)}-${s}-${t.locatorHash.slice(0,o)}`;return Jt(a)}function mr(t,e){return e.scope?`${je(t,`@${e.scope}/`,ve.SCOPE)}${je(t,e.name,ve.NAME)}`:`${je(t,e.name,ve.NAME)}`}function Hm(t){if(t.startsWith(Om)){let e=Hm(t.substr(t.indexOf("#")+1)),r=t.substr(Om.length,rde);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function Mm(t,e){return`${je(t,Hm(e),ve.RANGE)}`}function Tt(t,e){return`${mr(t,e)}${je(t,"@",ve.RANGE)}${Mm(t,e.range)}`}function wh(t,e){return`${je(t,Hm(e),ve.REFERENCE)}`}function it(t,e){return`${mr(t,e)}${je(t,"@",ve.REFERENCE)}${wh(t,e.reference)}`}function cb(t){return`${pt(t)}@${Hm(t.reference)}`}function nc(t){return bi(t,[e=>pt(e),e=>e.range])}function Qh(t,e){return mr(t,e.locator)}function ub(t,e,r){let i=qo(e)?Ih(e):e;return r===null?`${Tt(t,i)} \u2192 ${sb(t).Cross}`:i.identHash===r.identHash?`${Tt(t,i)} \u2192 ${wh(t,r.reference)}`:`${Tt(t,i)} \u2192 ${it(t,r)}`}function gb(t,e,r){return r===null?`${it(t,e)}`:`${it(t,e)} (via ${Mm(t,r.range)})`}function ude(t){return`node_modules/${pt(t)}`}var At;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(At||(At={}));var Sr;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(Sr||(Sr={}));var qr;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qr||(qr={}));var ve={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},CA;(function(e){e[e.BOLD=2]="BOLD"})(CA||(CA={}));var hb=process.env.GITHUB_ACTIONS?{level:2}:bh.default.supportsColor?{level:bh.default.supportsColor.level}:{level:0},Ym=hb.level!==0,fb=Ym&&!process.env.GITHUB_ACTIONS&&!J2.CIRCLE,pb=new bh.default.Instance(hb),gde=new Map([[ve.NO_HINT,null],[ve.NULL,["#a853b5",129]],[ve.SCOPE,["#d75f00",166]],[ve.NAME,["#d7875f",173]],[ve.RANGE,["#00afaf",37]],[ve.REFERENCE,["#87afff",111]],[ve.NUMBER,["#ffd700",220]],[ve.PATH,["#d75fd7",170]],[ve.URL,["#d75fd7",170]],[ve.ADDED,["#5faf00",70]],[ve.REMOVED,["#d70000",160]],[ve.CODE,["#87afff",111]],[ve.SIZE,["#ffd700",220]]]),Nn=t=>t,Gm={[ve.NUMBER]:Nn({pretty:(t,e)=>`${e}`,json:t=>t}),[ve.IDENT]:Nn({pretty:(t,e)=>mr(t,e),json:t=>pt(t)}),[ve.LOCATOR]:Nn({pretty:(t,e)=>it(t,e),json:t=>gn(t)}),[ve.DESCRIPTOR]:Nn({pretty:(t,e)=>Tt(t,e),json:t=>xi(t)}),[ve.RESOLUTION]:Nn({pretty:(t,{descriptor:e,locator:r})=>ub(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:xi(t),locator:e!==null?gn(e):null})}),[ve.DEPENDENT]:Nn({pretty:(t,{locator:e,descriptor:r})=>gb(t,e,r),json:({locator:t,descriptor:e})=>({locator:gn(t),descriptor:xi(e)})}),[ve.PACKAGE_EXTENSION]:Nn({pretty:(t,e)=>{switch(e.type){case Sr.Dependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${ji(t,"dependencies",ve.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependency:return`${mr(t,e.parentDescriptor)} \u27A4 ${ji(t,"peerDependencies",ve.CODE)} \u27A4 ${mr(t,e.descriptor)}`;case Sr.PeerDependencyMeta:return`${mr(t,e.parentDescriptor)} \u27A4 ${ji(t,"peerDependenciesMeta",ve.CODE)} \u27A4 ${mr(t,Si(e.selector))} \u27A4 ${ji(t,e.key,ve.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case Sr.Dependency:return`${pt(t.parentDescriptor)} > ${pt(t.descriptor)}`;case Sr.PeerDependency:return`${pt(t.parentDescriptor)} >> ${pt(t.descriptor)}`;case Sr.PeerDependencyMeta:return`${pt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[ve.SETTING]:Nn({pretty:(t,e)=>(t.get(e),sc(t,ji(t,e,ve.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[ve.DURATION]:Nn({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[ve.SIZE]:Nn({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return ji(t,`${s} ${r[i-1]}`,ve.NUMBER)},json:t=>t}),[ve.PATH]:Nn({pretty:(t,e)=>ji(t,L.fromPortablePath(e),ve.PATH),json:t=>L.fromPortablePath(t)})};function mA(t,e){return[e,t]}function jm(t,e,r){return t.get("enableColors")&&r&2&&(e=bh.default.bold(e)),e}function ji(t,e,r){if(!t.get("enableColors"))return e;let i=gde.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:hb.level>=3?i[0]:i[1],s=typeof n=="number"?pb.ansi256(n):n.startsWith("#")?pb.hex(n):pb[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var hde=!!process.env.KONSOLE_VERSION;function sc(t,e,r){return t.get("enableHyperlinks")?hde?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function je(t,e,r){if(e===null)return ji(t,"null",ve.NULL);if(Object.prototype.hasOwnProperty.call(Gm,r))return Gm[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return ji(t,e,r)}function db(t,e,r,{separator:i=", "}={}){return[...e].map(n=>je(t,n,r)).join(i)}function oc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Gm,e))return NQ(e),Gm[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function sb(t){return{Check:ji(t,"\u2713","green"),Cross:ji(t,"\u2718","red"),Question:ji(t,"?","cyan")}}function IA(t,{label:e,value:[r,i]}){return`${je(t,e,ve.CODE)}: ${je(t,r,i)}`}var Mn;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Mn||(Mn={}));function Dh(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let h=g.get("level");if(typeof h=="undefined")continue;let f=g.get("code");typeof f!="undefined"&&i.set(f,h);let p=g.get("text");typeof p!="undefined"&&n.set(p,h);let m=g.get("pattern");typeof m!="undefined"&&s.push([W2.default.matcher(m),h])}s.reverse();let o=(g,h,f)=>{if(g===null||g===z.UNNAMED)return f;let p=n.size>0||s.length>0?(0,z2.default)(h):h;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:f}if(s.length>0){for(let[m,I]of s)if(m(p))return I!=null?I:f}if(i.size>0){let m=i.get(TC(g));if(typeof m!="undefined")return m!=null?m:f}return f},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,h,f,p){switch(o(h,f,p)){case Mn.Info:a.call(g,h,f);break;case Mn.Warning:l.call(g,h!=null?h:z.UNNAMED,f);break;case Mn.Error:c.call(g,h!=null?h:z.UNNAMED,f);break}};t.reportInfo=function(...g){return u(this,...g,Mn.Info)},t.reportWarning=function(...g){return u(this,...g,Mn.Warning)},t.reportError=function(...g){return u(this,...g,Mn.Error)}}var Ft={};$e(Ft,{Method:()=>yA,RequestError:()=>NG.RequestError,del:()=>SIe,get:()=>bIe,getNetworkSettings:()=>TG,post:()=>RD,put:()=>DIe,request:()=>Oh});var FG=te(AI()),RG=te(require("https")),LG=te(require("http")),vD=te(Yi()),FD=te(PG()),lI=te(require("url"));var kG=te(require("stream")),vG=te(require("string_decoder"));var Ze=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function EIe(t){return typeof t.reportCode!="undefined"}var ci=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var NG=te(AI()),MG=new Map,OG=new Map,yIe=new LG.Agent({keepAlive:!0}),BIe=new RG.Agent({keepAlive:!0});function KG(t){let e=new lI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function wIe(t){return Us(OG,t,()=>M.readFilePromise(t).then(e=>(OG.set(t,e),e)))}function QIe({statusCode:t,statusMessage:e},r){let i=je(r,t,ve.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return sc(r,`${i}${e?` (${e})`:""}`,n)}async function cI(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof FG.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${je(e,"httpTimeout",ve.SETTING)})`);let a=new Ze(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${IA(e,{label:"Response Code",value:mA(ve.NO_HINT,QIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${IA(e,{label:"Request Method",value:mA(ve.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${IA(e,{label:"Request URL",value:mA(ve.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${IA(e,{label:"Request Redirects",value:mA(ve.NO_HINT,db(e,s.request.redirects,ve.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${IA(e,{label:"Request Retry Count",value:mA(ve.NO_HINT,`${je(e,s.request.retryCount,ve.NUMBER)} (can be increased via ${je(e,"httpRetry",ve.SETTING)})`)})}`)});throw a.originalError=s,a}}function TG(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new lI.URL(t):t;for(let[o,a]of r)if(vD.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var yA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(yA||(yA={}));async function Oh(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=yA.GET}){let a=typeof t=="string"?new lI.URL(t):t,l=TG(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!vD.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?FD.default.httpOverHttp(KG(l.httpProxy)):yIe,https:l.httpsProxy?FD.default.httpsOverHttp(KG(l.httpsProxy)):BIe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),h=r.get("httpRetry"),f=r.get("enableStrictSsl"),p=l.caFilePath,{default:m}=await Promise.resolve().then(()=>te(AI())),I=p?await wIe(p):void 0,y=m.extend(k({timeout:{socket:g},retry:h,https:{rejectUnauthorized:f,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function bIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Lr(s,["configuration","jsonResponse"]);let o=Us(MG,t,()=>cI(Oh(t,null,k({configuration:e},i)),{configuration:e}).then(a=>(MG.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function DIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Lr(s,["customErrorMessage"]);return(await cI(Oh(t,e,V(k({},i),{method:yA.PUT})),i)).body}async function RD(t,e,n){var s=n,{customErrorMessage:r}=s,i=Lr(s,["customErrorMessage"]);return(await cI(Oh(t,e,V(k({},i),{method:yA.POST})),i)).body}async function SIe(t,i){var n=i,{customErrorMessage:e}=n,r=Lr(n,["customErrorMessage"]);return(await cI(Oh(t,null,V(k({},r),{method:yA.DELETE})),r)).body}var bt={};$e(bt,{executePackageAccessibleBinary:()=>XW,executePackageScript:()=>_I,executePackageShellcode:()=>RS,executeWorkspaceAccessibleBinary:()=>n0e,executeWorkspaceLifecycleScript:()=>VW,executeWorkspaceScript:()=>zW,getPackageAccessibleBinaries:()=>$I,getWorkspaceAccessibleBinaries:()=>WW,hasPackageScript:()=>t0e,hasWorkspaceScript:()=>FS,makeScriptEnv:()=>nf,maybeExecuteWorkspaceLifecycleScript:()=>i0e,prepareExternalProject:()=>e0e});var Yh={};$e(Yh,{getLibzipPromise:()=>gi,getLibzipSync:()=>hj});var _o=["number","number"],LD;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",R[R.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",R[R.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",R[R.ZIP_ER_READ=5]="ZIP_ER_READ",R[R.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",R[R.ZIP_ER_CRC=7]="ZIP_ER_CRC",R[R.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",R[R.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",R[R.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",R[R.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",R[R.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",R[R.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",R[R.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",R[R.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",R[R.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",R[R.ZIP_ER_EOF=17]="ZIP_ER_EOF",R[R.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",R[R.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",R[R.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",R[R.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",R[R.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",R[R.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",R[R.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",R[R.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",R[R.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",R[R.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",R[R.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",R[R.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",R[R.ZIP_ER_TELL=30]="ZIP_ER_TELL",R[R.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(LD||(LD={}));var UG=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:LD,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",..._o,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",..._o,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",..._o,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",..._o,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",..._o,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",..._o,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",..._o,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",..._o,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var $D=null;function hj(){return $D===null&&($D=UG(gj())),$D}async function gi(){return hj()}var _h={};$e(_h,{ShellError:()=>ia,execute:()=>Fc,globUtils:()=>TI});var Xh={};$e(Xh,{parseResolution:()=>DI,parseShell:()=>BI,parseSyml:()=>Tr,stringifyArgument:()=>iS,stringifyArgumentSegment:()=>nS,stringifyArithmeticExpression:()=>bI,stringifyCommand:()=>rS,stringifyCommandChain:()=>Bc,stringifyCommandChainThen:()=>tS,stringifyCommandLine:()=>wI,stringifyCommandLineThen:()=>eS,stringifyEnvSegment:()=>QI,stringifyRedirectArgument:()=>Gh,stringifyResolution:()=>SI,stringifyShell:()=>yc,stringifyShellLine:()=>yc,stringifySyml:()=>ro,stringifyValueArgument:()=>wc});var dj=te(pj());function BI(t,e={isGlobPattern:()=>!1}){try{return(0,dj.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function yc(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${wI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function wI(t){return`${Bc(t.chain)}${t.then?` ${eS(t.then)}`:""}`}function eS(t){return`${t.type} ${wI(t.line)}`}function Bc(t){return`${rS(t)}${t.then?` ${tS(t.then)}`:""}`}function tS(t){return`${t.type} ${Bc(t.chain)}`}function rS(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>QI(e)).join(" ")} `:""}${t.args.map(e=>iS(e)).join(" ")}`;case"subshell":return`(${yc(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Gh(e)).join(" ")}`:""}`;case"group":return`{ ${yc(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Gh(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>QI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function QI(t){return`${t.name}=${t.args[0]?wc(t.args[0]):""}`}function iS(t){switch(t.type){case"redirection":return Gh(t);case"argument":return wc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Gh(t){return`${t.subtype} ${t.args.map(e=>wc(e)).join(" ")}`}function wc(t){return t.segments.map(e=>nS(e)).join("")}function nS(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i.match(/[(){}<>$|&; \t"']/)?i.match(/[$"]/)?`'${i.replace(/[']/g,"\\'")}'`:`"${i}"`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${yc(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>wc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${bI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function bI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(bI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var Ij=te(mj());function DI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,Ij.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function SI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var KI=te(lJ()),gJ=te(uJ()),uwe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,hJ=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],CS=class{constructor(e){this.data=e}};function fJ(t){return t.match(uwe)?t:JSON.stringify(t)}function pJ(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>pJ(t[e])):!1}function mS(t,e,r){if(t===null)return`null `;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} -`;if(typeof t=="string")return`${AJ(t)} +`;if(typeof t=="string")return`${fJ(t)} `;if(Array.isArray(t)){if(t.length===0)return`[] `;let i=" ".repeat(e);return` -${t.map(s=>`${i}- ${hD(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof gD?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=aJ.indexOf(l),g=aJ.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!lJ(i[l])).map((l,c)=>{let u=i[l],g=AJ(l),h=hD(u,e+1,!0),f=c>0||r?s:"";return h.startsWith(` +${t.map(s=>`${i}- ${mS(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof CS?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=hJ.indexOf(l),g=hJ.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!pJ(i[l])).map((l,c)=>{let u=i[l],g=fJ(l),h=mS(u,e+1,!0),f=c>0||r?s:"";return h.startsWith(` `)?`${f}${g}:${h}`:`${f}${g}: ${h}`}).join(e===0?` `:"")||` `;return r?` -${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function _s(t){try{let e=hD(t,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}_s.PreserveOrdering=gD;function twe(t){return t.endsWith(` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function ro(t){try{let e=mS(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}ro.PreserveOrdering=CS;function gwe(t){return t.endsWith(` `)||(t+=` -`),(0,oJ.parse)(t)}var rwe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function iwe(t){if(rwe.test(t))return twe(t);let e=(0,NI.safeLoad)(t,{schema:NI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Nr(t){return iwe(t)}var yJ=te($w()),BJ=te(require("os")),hn=te(require("stream")),wJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var MI={};$e(MI,{fastGlobOptions:()=>gJ,isBraceExpansion:()=>hJ,isGlobPattern:()=>nwe,match:()=>swe,micromatchOptions:()=>KI});var cJ=te(Qm()),uJ=te(require("fs")),OI=te(sn()),KI={strictBrackets:!0},gJ={onlyDirectories:!1,onlyFiles:!1};function nwe(t){if(!OI.default.scan(t,KI).isGlob)return!1;try{OI.default.parse(t,KI)}catch{return!1}return!0}function swe(t,{cwd:e,baseFs:r}){return(0,cJ.default)(t,V(P({},gJ),{cwd:L.fromPortablePath(e),fs:BC(uJ.default,new bg(r))}))}function hJ(t){return OI.default.scan(t,KI).isBrace}var fJ=te(Nw()),as=te(require("stream")),pJ=te(require("string_decoder")),Di;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Di||(Di={}));var NA=new Set;function fD(){}function pD(){for(let t of NA)t.kill()}function dJ(t,e,r,i){return n=>{let s=n[0]instanceof as.Transform?"pipe":n[0],o=n[1]instanceof as.Transform?"pipe":n[1],a=n[2]instanceof as.Transform?"pipe":n[2],l=(0,fJ.default)(t,e,V(P({},i),{stdio:[s,o,a]}));return NA.add(l),NA.size===1&&(process.on("SIGINT",fD),process.on("SIGTERM",pD)),n[0]instanceof as.Transform&&n[0].pipe(l.stdin),n[1]instanceof as.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof as.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(NA.delete(l),NA.size===0&&(process.off("SIGINT",fD),process.off("SIGTERM",pD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),(0,gJ.parse)(t)}var hwe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function fwe(t){if(hwe.test(t))return gwe(t);let e=(0,KI.safeLoad)(t,{schema:KI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Tr(t){return fwe(t)}var SJ=te(rQ()),xJ=te(require("os")),qi=te(require("stream")),PJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var TI={};$e(TI,{fastGlobOptions:()=>mJ,isBraceExpansion:()=>IJ,isGlobPattern:()=>pwe,match:()=>dwe,micromatchOptions:()=>HI});var dJ=te(Sm()),CJ=te(require("fs")),UI=te(Yi()),HI={strictBrackets:!0},mJ={onlyDirectories:!1,onlyFiles:!1};function pwe(t){if(!UI.default.scan(t,HI).isGlob)return!1;try{UI.default.parse(t,HI)}catch{return!1}return!0}function dwe(t,{cwd:e,baseFs:r}){return(0,dJ.default)(t,V(k({},mJ),{cwd:L.fromPortablePath(e),fs:SC(CJ.default,new kg(r))}))}function IJ(t){return UI.default.scan(t,HI).isBrace}var EJ=te(Kw()),ls=te(require("stream")),yJ=te(require("string_decoder")),ki;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(ki||(ki={}));var LA=new Set;function IS(){}function ES(){for(let t of LA)t.kill()}function BJ(t,e,r,i){return n=>{let s=n[0]instanceof ls.Transform?"pipe":n[0],o=n[1]instanceof ls.Transform?"pipe":n[1],a=n[2]instanceof ls.Transform?"pipe":n[2],l=(0,EJ.default)(t,e,V(k({},i),{stdio:[s,o,a]}));return LA.add(l),LA.size===1&&(process.on("SIGINT",IS),process.on("SIGTERM",ES)),n[0]instanceof ls.Transform&&n[0].pipe(l.stdin),n[1]instanceof ls.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof ls.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(LA.delete(l),LA.size===0&&(process.off("SIGINT",IS),process.off("SIGTERM",ES)),u.code){case"ENOENT":n[2].write(`command not found: ${t} `),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} `),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("exit",u=>{NA.delete(l),NA.size===0&&(process.off("SIGINT",fD),process.off("SIGTERM",pD)),c(u!==null?u:129)})})}}}function CJ(t){return e=>{let r=e[0]==="pipe"?new as.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Mn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},mJ=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},jh=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new jh(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new jh(this,e),n=new mJ;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function TI(t,e){return jh.start(t,e)}function IJ(t,e=null){let r=new as.PassThrough,i=new pJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function EJ(t,{prefix:e}){return{stdout:IJ(r=>t.stdout.write(`${r} -`),t.stdout.isTTY?e:null),stderr:IJ(r=>t.stderr.write(`${r} -`),t.stderr.isTTY?e:null)}}var owe=(0,wJ.promisify)(setTimeout);var Jr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Jr||(Jr={}));function QJ(t,e,r){let i=new hn.PassThrough({autoDestroy:!0});switch(t){case Di.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof hn.Writable&&i.pipe(r.stdin,{end:!1});break;case Di.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Di.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function UI(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var awe=new Map([["cd",async([t=(0,BJ.homedir)(),...e],r,i)=>{let n=B.resolve(i.cwd,L.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory +`),c(1);break}}),l.on("exit",u=>{LA.delete(l),LA.size===0&&(process.off("SIGINT",IS),process.off("SIGTERM",ES)),c(u!==null?u:129)})})}}}function wJ(t){return e=>{let r=e[0]==="pipe"?new ls.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Kn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},QJ=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Zh=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Zh(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Zh(this,e),n=new QJ;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function YI(t,e){return Zh.start(t,e)}function bJ(t,e=null){let r=new ls.PassThrough,i=new yJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function DJ(t,{prefix:e}){return{stdout:bJ(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:bJ(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var Cwe=(0,PJ.promisify)(setTimeout);var Vr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Vr||(Vr={}));function kJ(t,e,r){let i=new qi.PassThrough({autoDestroy:!0});switch(t){case ki.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof qi.Writable&&i.pipe(r.stdin,{end:!1});break;case ki.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case ki.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function GI(t,e={}){let r=k(k({},t),e);return r.environment=k(k({},t.environment),e.environment),r.variables=k(k({},t.variables),e.variables),r}var mwe=new Map([["cd",async([t=(0,xJ.homedir)(),...e],r,i)=>{let n=B.resolve(i.cwd,L.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory `),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${L.fromPortablePath(r.cwd)} `),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} `),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")return r.stderr.write(`sleep: missing operand `),1;let i=Number(t);return Number.isNaN(i)?(r.stderr.write(`sleep: invalid time interval '${t}' -`),1):await owe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await TI(i,{stdin:new Mn(r.stdin),stdout:new Mn(r.stdout),stderr:new Mn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=0;for(;t[l]!=="--";){let u=t[l++],g=Number(t[l++]),h=l+g;for(let f=l;fe.baseFs.createReadStream(B.resolve(r.cwd,L.toPortablePath(t[f]))));break;case"<<<":o.push(()=>{let p=new hn.PassThrough;return process.nextTick(()=>{p.write(`${t[f]} -`),p.end()}),p});break;case"<&":o.push(()=>QJ(Number(t[f]),1,r));break;case">":case">>":{let p=B.resolve(r.cwd,L.toPortablePath(t[f]));p==="/dev/null"?a.push(new hn.Writable({autoDestroy:!0,emitClose:!0,write(m,I,y){setImmediate(y)}})):a.push(e.baseFs.createWriteStream(p,u===">>"?{flags:"a"}:void 0))}break;case">&":a.push(QJ(Number(t[f]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${u}"`)}}if(o.length>0){let u=new hn.PassThrough;i=u;let g=h=>{if(h===o.length)u.end();else{let f=o[h]();f.pipe(u,{end:!1}),f.on("end",()=>{g(h+1)})}};g(0)}if(a.length>0){let u=new hn.PassThrough;n=u;for(let g of a)u.pipe(g)}let c=await TI(Wh(t.slice(l+1),e,r),{stdin:new Mn(i),stdout:new Mn(n),stderr:new Mn(s)}).run();return await Promise.all(a.map(u=>new Promise((g,h)=>{u.on("error",f=>{h(f)}),u.on("close",()=>{g()}),u.end()}))),c}]]);async function Awe(t,e,r){let i=[],n=new hn.PassThrough;return n.on("data",s=>i.push(s)),await HI(t,e,UI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function bJ(t,e,r){let i=t.map(async s=>{let o=await MA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function dD(t){return t.match(/[^ \r\n\t]+/g)||[]}async function SJ(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=dD(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function zh(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await SJ(V(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?zh({type:"variable",name:i.join(" ")},e,r):zh({type:"number",value:n},e,r)}else return lwe[t.type](await zh(t.left,e,r),await zh(t.right,e,r))}async function MA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g)=>{let h=i.get(u);typeof h=="undefined"&&i.set(u,h=[]),h.push(g)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let h=await MA(u.args,e,r);for(let f of h)c(u.subtype,f)}break;case"argument":for(let h of u.segments)switch(h.type){case"text":o(h.text);break;case"glob":o(h.pattern),g=!0;break;case"shell":{let f=await Awe(h.shell,e,r);if(h.quoted)o(f);else{let p=dD(f);for(let m=0;m0){let u=[];for(let[g,h]of i.entries())u.splice(u.length,0,g,String(h.length),...h);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Wh(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=L.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return dJ(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return CJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function cwe(t,e,r){return i=>{let n=new hn.PassThrough,s=HI(t,e,UI(r,{stdin:n}));return{stdin:n,promise:s}}}function uwe(t,e,r){return i=>{let n=new hn.PassThrough,s=HI(t,e,r);return{stdin:n,promise:s}}}function DJ(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Wh([...e,"__ysh_run_procedure",n],r,i)}}async function xJ(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await MA(i.args,e,r),c=await bJ(i.envs,e,r);a=i.envs.length?Wh(l,e,UI(o,{environment:c})):Wh(l,e,o)}break;case"subshell":{let l=await MA(i.args,e,r),c=cwe(i.subshell,e,o);a=DJ(c,l,e,o)}break;case"group":{let l=await MA(i.args,e,r),c=uwe(i.group,e,o);a=DJ(c,l,e,o)}break;case"envs":{let l=await bJ(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Wh(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=TI(a,{stdin:new Mn(o.stdin),stdout:new Mn(o.stdout),stderr:new Mn(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Di.STDOUT);break;case"|&":s=s.pipeTo(a,Di.STDOUT|Di.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function gwe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return yJ.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=EJ(r,{prefix:l});return r.backgroundJobs.push(xJ(t,e,UI(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} -`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(wc(t))}' has ended -`)})),0}return await xJ(t,e,r)}async function hwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await gwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))throw l;return r.stderr.write(`${l.message} -`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function HI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await hwe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function PJ(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>YI(e));case"arithmetic":return CD(t.arithmetic);case"shell":return mD(t.shell);default:return!1}}function YI(t){switch(t.type){case"redirection":return t.args.some(e=>YI(e));case"argument":return t.segments.some(e=>PJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function CD(t){switch(t.type){case"variable":return PJ(t);case"number":return!1;default:return CD(t.left)||CD(t.right)}}function mD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=mD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>YI(s)))||r.args.some(n=>YI(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function qI(t,e=[],{baseFs:r=new wt,builtins:i={},cwd:n=L.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=MI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let h=new Map(awe);for(let[p,m]of Object.entries(i))h.set(p,m);o===null&&(o=new hn.PassThrough,o.end());let f=II(t,u);if(!mD(f)&&f.length>0&&e.length>0){let{command:p}=f[f.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await HI(f,{args:e,baseFs:r,builtins:h,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var KW=te(QD()),TW=te(jI()),Lc=te(require("stream"));var DW=te(Cr());var vt={};$e(vt,{SemVer:()=>QW.SemVer,satisfiesWithPrereleases:()=>Xh,validRange:()=>Kn});var JI=te(Cr()),QW=te(Cr()),bW=new Map;function Xh(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=bW.get(i);if(typeof n=="undefined")try{n=new JI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{bW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new JI.default.SemVer(t,n),s.prerelease&&(s.prerelease=[])}catch(o){return!1}return n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))})}var SW=new Map;function Kn(t){if(t.indexOf(":")!==-1)return null;let e=SW.get(t);if(typeof e!="undefined")return e;try{e=new JI.default.Range(t)}catch{e=null}return SW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new wt}={}){let i=B.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new wt}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(PW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=xW(e)}async loadFile(e,{baseFs:r=new wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(PW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=xW(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=Qi(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=ci(e.main):this.main=null,typeof e.module=="string"?this.module=ci(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=ci(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(ci(s),typeof o=="string"?ci(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,ci(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,ci(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=Qi(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!Kn(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Wt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=Jo(s),l=this.ensureDependencyMeta(a),c=WI(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=WI(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=WI(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=Jo(s),l=this.ensurePeerDependencyMeta(a),c=WI(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:wI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=ci(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=ci(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=ci(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(ci(s),typeof o=="string"?ci(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,ci(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,ci(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(ci(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Qi(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Wt(a,o);this.dependencies.set(l.identHash,l);let c=Wt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}isCompatibleWithOS(e){return na.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return na.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!DW.default.valid(e.range))throw new Error(`Invalid meta field range for '${bi(e)}'`);let r=dt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${bi(e)}'`);let r=dt(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=dt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=V(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:s})=>s)}):e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let s of this.dependencies.values()){let o=this.dependenciesMeta.get(dt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...sc(i).map(s=>({[dt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...sc(n).map(s=>({[dt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...sc(this.devDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...sc(this.peerDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of Bi(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of Bi(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?bi(Wt(Qi(s),a)):s,u=P({},l);r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Bi(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[QI(s)]:o}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}},ze=na;ze.fileName="package.json",ze.allDependencies=["dependencies","devDependencies","peerDependencies"],ze.hardDependencies=["dependencies","devDependencies"];function xW(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function PW(t){return t.charCodeAt(0)===65279?t.slice(1):t}function ci(t){return t.replace(/\\/g,"/")}function WI(t,{yamlCompatibilityMode:e}){return e?NQ(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var RW=te(FW());var LW=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],NW=80,NQe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),MQe=5,sa=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} +`),1):await Cwe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await YI(i,{stdin:new Kn(r.stdin),stdout:new Kn(r.stdout),stderr:new Kn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:h,fd:f}=JSON.parse(g),p=w=>{switch(f){case null:case 0:o.push(w);break;default:throw new Error(`Unsupported file descriptor: "${f}"`)}},m=w=>{switch(f){case null:case 1:a.push(w);break;case 2:l.push(w);break;default:throw new Error(`Unsupported file descriptor: "${f}"`)}},I=Number(t[c++]),y=c+I;for(let w=c;we.baseFs.createReadStream(B.resolve(r.cwd,L.toPortablePath(t[w]))));break;case"<<<":p(()=>{let x=new qi.PassThrough;return process.nextTick(()=>{x.write(`${t[w]} +`),x.end()}),x});break;case"<&":p(()=>kJ(Number(t[w]),1,r));break;case">":case">>":{let x=B.resolve(r.cwd,L.toPortablePath(t[w]));m(x==="/dev/null"?new qi.Writable({autoDestroy:!0,emitClose:!0,write(F,N,K){setImmediate(K)}}):e.baseFs.createWriteStream(x,h===">>"?{flags:"a"}:void 0))}break;case">&":m(kJ(Number(t[w]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${h}"`)}}if(o.length>0){let g=new qi.PassThrough;i=g;let h=f=>{if(f===o.length)g.end();else{let p=o[f]();p.pipe(g,{end:!1}),p.on("end",()=>{h(f+1)})}};h(0)}if(a.length>0){let g=new qi.PassThrough;n=g;for(let h of a)g.pipe(h)}if(l.length>0){let g=new qi.PassThrough;s=g;for(let h of l)g.pipe(h)}let u=await YI($h(t.slice(c+1),e,r),{stdin:new Kn(i),stdout:new Kn(n),stderr:new Kn(s)}).run();return await Promise.all(a.map(g=>new Promise((h,f)=>{g.on("error",p=>{f(p)}),g.on("close",()=>{h()}),g.end()}))),await Promise.all(l.map(g=>new Promise((h,f)=>{g.on("error",p=>{f(p)}),g.on("close",()=>{h()}),g.end()}))),u}]]);async function Iwe(t,e,r){let i=[],n=new qi.PassThrough;return n.on("data",s=>i.push(s)),await jI(t,e,GI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function vJ(t,e,r){let i=t.map(async s=>{let o=await NA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function yS(t){return t.match(/[^ \r\n\t]+/g)||[]}async function FJ(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=yS(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function ef(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await FJ(V(k({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?ef({type:"variable",name:i.join(" ")},e,r):ef({type:"number",value:n},e,r)}else return Ewe[t.type](await ef(t.left,e,r),await ef(t.right,e,r))}async function NA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,h)=>{let f=JSON.stringify({type:u,fd:g}),p=i.get(f);typeof p=="undefined"&&i.set(f,p=[]),p.push(h)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let h=await NA(u.args,e,r);for(let f of h)c(u.subtype,u.fd,f)}break;case"argument":for(let h of u.segments)switch(h.type){case"text":o(h.text);break;case"glob":o(h.pattern),g=!0;break;case"shell":{let f=await Iwe(h.shell,e,r);if(h.quoted)o(f);else{let p=yS(f);for(let m=0;m0){let u=[];for(let[g,h]of i.entries())u.splice(u.length,0,g,String(h.length),...h);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function $h(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=L.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(k({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return BJ(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return wJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function ywe(t,e,r){return i=>{let n=new qi.PassThrough,s=jI(t,e,GI(r,{stdin:n}));return{stdin:n,promise:s}}}function Bwe(t,e,r){return i=>{let n=new qi.PassThrough,s=jI(t,e,r);return{stdin:n,promise:s}}}function RJ(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=k({},i.procedures),i.procedures[n]=t,$h([...e,"__ysh_run_procedure",n],r,i)}}async function LJ(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?k({},r):r,a;switch(i.type){case"command":{let l=await NA(i.args,e,r),c=await vJ(i.envs,e,r);a=i.envs.length?$h(l,e,GI(o,{environment:c})):$h(l,e,o)}break;case"subshell":{let l=await NA(i.args,e,r),c=ywe(i.subshell,e,o);a=RJ(c,l,e,o)}break;case"group":{let l=await NA(i.args,e,r),c=Bwe(i.group,e,o);a=RJ(c,l,e,o)}break;case"envs":{let l=await vJ(i.envs,e,r);o.environment=k(k({},o.environment),l),a=$h(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=YI(a,{stdin:new Kn(o.stdin),stdout:new Kn(o.stdout),stderr:new Kn(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,ki.STDOUT);break;case"|&":s=s.pipeTo(a,ki.STDOUT|ki.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function wwe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return SJ.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=DJ(r,{prefix:l});return r.backgroundJobs.push(LJ(t,e,GI(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(Bc(t))}' has ended +`)})),0}return await LJ(t,e,r)}async function Qwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await wwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function jI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await Qwe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function NJ(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>qI(e));case"arithmetic":return BS(t.arithmetic);case"shell":return wS(t.shell);default:return!1}}function qI(t){switch(t.type){case"redirection":return t.args.some(e=>qI(e));case"argument":return t.segments.some(e=>NJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function BS(t){switch(t.type){case"variable":return NJ(t);case"number":return!1;default:return BS(t.left)||BS(t.right)}}function wS(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=wS(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>qI(s)))||r.args.some(n=>qI(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fc(t,e=[],{baseFs:r=new wt,builtins:i={},cwd:n=L.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=TI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let h=new Map(mwe);for(let[p,m]of Object.entries(i))h.set(p,m);o===null&&(o=new qi.PassThrough,o.end());let f=BI(t,u);if(!wS(f)&&f.length>0&&e.length>0){let{command:p}=f[f.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await jI(f,{args:e,baseFs:r,builtins:h,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var jW=te(PS()),qW=te(WI()),Lc=te(require("stream"));var RW=te(Cr());var kt={};$e(kt,{SemVer:()=>kW.SemVer,satisfiesWithPrereleases:()=>rf,validRange:()=>Un});var zI=te(Cr()),kW=te(Cr()),vW=new Map;function rf(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=vW.get(i);if(typeof n=="undefined")try{n=new zI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{vW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new zI.default.SemVer(t,n),s.prerelease&&(s.prerelease=[])}catch(o){return!1}return n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))})}var FW=new Map;function Un(t){if(t.indexOf(":")!==-1)return null;let e=FW.get(t);if(typeof e!="undefined")return e;try{e=new zI.default.Range(t)}catch{e=null}return FW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new wt}={}){let i=B.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new wt}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(NW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=LW(e)}async loadFile(e,{baseFs:r=new wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(NW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=LW(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=Si(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=hi(e.main):this.main=null,typeof e.module=="string"?this.module=hi(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=hi(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(hi(s),typeof o=="string"?hi(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,hi(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,hi(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!Un(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=Jo(s),l=this.ensureDependencyMeta(a),c=VI(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=VI(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=VI(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=Jo(s),l=this.ensurePeerDependencyMeta(a),c=VI(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:DI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=hi(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=hi(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=hi(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(hi(s),typeof o=="string"?hi(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,hi(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,hi(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(hi(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.dependencies.set(l.identHash,l);let c=zt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}isCompatibleWithOS(e){return na.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return na.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!RW.default.valid(e.range))throw new Error(`Invalid meta field range for '${xi(e)}'`);let r=pt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${xi(e)}'`);let r=pt(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=pt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=V(k({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:s})=>s)}):e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let s of this.dependencies.values()){let o=this.dependenciesMeta.get(pt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...nc(i).map(s=>({[pt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...nc(n).map(s=>({[pt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...nc(this.devDependencies.values()).map(s=>({[pt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...nc(this.peerDependencies.values()).map(s=>({[pt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of bi(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of bi(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?xi(zt(Si(s),a)):s,u=k({},l);r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bi(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[SI(s)]:o}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}},We=na;We.fileName="package.json",We.allDependencies=["dependencies","devDependencies","peerDependencies"],We.hardDependencies=["dependencies","devDependencies"];function LW(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function NW(t){return t.charCodeAt(0)===65279?t.slice(1):t}function hi(t){return t.replace(/\\/g,"/")}function VI(t,{yamlCompatibilityMode:e}){return e?UQ(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var TW=te(KW());var UW=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],HW=80,JQe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),WQe=5,sa=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} `,end:t=>`::endgroup:: `}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t} `,end:t=>`travis_fold:end:${t} `}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t} -`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,MW=new Date,OQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,KQe=t=>t,VI=KQe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),TQe=OQe&&Object.keys(VI).find(t=>{let e=VI[t];return!(e.date&&(e.date[0]!==MW.getDate()||e.date[1]!==MW.getMonth()+1))})||"default";function OW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=xC(t===null?0:t);return!r&&t===null?je(e,n,"grey"):n}function SD(t,{configuration:e,json:r}){let i=OW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return oc(e,i,s)}var De=class extends ai{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=MQe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Eh(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||TQe;if(!Object.prototype.hasOwnProperty.call(VI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=VI[u];let g="\u27A4 YN0000: \u250C ".length,h=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*h/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ke.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ke.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${je(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return V(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=je(this.configuration,Date.now()-this.startTime,ke.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,YW=new Date,zQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,VQe=t=>t,ZI=VQe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},rats:{date:[1,6],chars:["\u{26FD}","\u{1F400}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),XQe=zQe&&Object.keys(ZI).find(t=>{let e=ZI[t];return!(e.date&&(e.date[0]!==YW.getDate()||e.date[1]!==YW.getMonth()+1))})||"default";function GW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=TC(t===null?0:t);return!r&&t===null?je(e,n,"grey"):n}function vS(t,{configuration:e,json:r}){let i=GW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return sc(e,i,s)}var xe=class extends ci{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=WQe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Dh(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...JQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||XQe;if(!Object.prototype.hasOwnProperty.call(ZI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=ZI[u];let g="\u27A4 YN0000: \u250C ".length,h=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*h/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ve.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${je(this.configuration,l-a,ve.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${je(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${je(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return V(k({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=je(this.configuration,Date.now()-this.startTime,ve.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} `),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} -`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${it(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${it(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>NW&&(this.progressFrame=(this.progressFrame+1)%LW.length,this.progressTime=e);let r=LW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${je(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},NW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,RW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return OW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return SD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Yi="3.0.0-rc.6.git.20210622.hash-4f9a9092";var ls;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(ls||(ls={}));async function $s(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(B.format({dir:t,name:e,ext:".cmd"}),n)}await M.writeFilePromise(B.join(t,e),`#!/bin/sh +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${it(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${it(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>HW&&(this.progressFrame=(this.progressFrame+1)%UW.length,this.progressTime=e);let r=UW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${je(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},HW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,TW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return GW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return vS(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var yr="3.0.0-rc.9.git.20210719.hash-69c64faa";var us;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(us||(us={}));async function io(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(B.format({dir:t,name:e,ext:".cmd"}),n)}await M.writeFilePromise(B.join(t,e),`#!/bin/sh exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`),await M.chmodPromise(B.join(t,e),493)}async function UQe(t){let e=null;try{e=await M.readFilePromise(B.join(t,mt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:ls.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:ls.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(B.join(t,"package-lock.json"))?{packageManager:ls.Npm,reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(B.join(t,"pnpm-lock.yaml"))?{packageManager:ls.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Zh({project:t,locator:e,binFolder:r,lifecycleScript:i}){var a,l;let n={};for(let[c,u]of Object.entries(process.env))typeof u!="undefined"&&(n[c.toLowerCase()!=="path"?c:"PATH"]=u);let s=L.fromPortablePath(r);if(n.BERRY_BIN_FOLDER=L.fromPortablePath(s),await Promise.all([$s(r,"node",process.execPath),...Yi!==null?[$s(r,"run",process.execPath,[process.argv[1],"run"]),$s(r,"yarn",process.execPath,[process.argv[1]]),$s(r,"yarnpkg",process.execPath,[process.argv[1]]),$s(r,"node-gyp",process.execPath,[process.argv[1],"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=L.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=L.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${L.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${L.sep}yarn`,n.npm_node_execpath=`${s}${L.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let c=t.tryWorkspaceByLocator(e),u=c?(a=c.manifest.version)!=null?a:"":(l=t.storedPackages.get(e.locatorHash).version)!=null?l:"";n.npm_package_name=dt(e),n.npm_package_version=u}let o=Yi!==null?`yarn/${Yi}`:`yarn/${vn("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${o} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(c=>c.setupScriptEnvironment,t,n,async(c,u,g)=>await $s(r,jt(c),u,g)),n}var HQe=2,YQe=(0,TW.default)(HQe);async function qQe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await YQe(async()=>{await M.mktempPromise(async o=>{let a=B.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:L.fromPortablePath(t),report:i}),g=s&&ns(s)?fh(s):s,h=g?ln(g):"an external project";c.write(`Packing ${h} from sources -`);let f=await UQe(t),p;f!==null?(c.write(`Using ${f.packageManager} for bootstrap. Reason: ${f.reason} +`),await M.chmodPromise(B.join(t,e),493)}async function ZQe(t){let e=null;try{e=await M.readFilePromise(B.join(t,mt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:us.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:us.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(B.join(t,"package-lock.json"))?{packageManager:us.Npm,reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(B.join(t,"pnpm-lock.yaml"))?{packageManager:us.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function nf({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=L.fromPortablePath(r);n.BERRY_BIN_FOLDER=L.fromPortablePath(s);let o=process.env.COREPACK_ROOT?L.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([io(r,"node",process.execPath),...yr!==null?[io(r,"run",process.execPath,[o,"run"]),io(r,"yarn",process.execPath,[o]),io(r,"yarnpkg",process.execPath,[o]),io(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=L.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=L.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${L.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${L.sep}yarn`,n.npm_node_execpath=`${s}${L.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=pt(e),n.npm_package_version=g}let a=yr!==null?`yarn/${yr}`:`yarn/${Jl("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,h)=>await io(r,Jt(u),g,h)),n}var _Qe=2,$Qe=(0,qW.default)(_Qe);async function e0e(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await $Qe(async()=>{await M.mktempPromise(async o=>{let a=B.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:L.fromPortablePath(t),report:i}),g=s&&os(s)?Eh(s):s,h=g?gn(g):"an external project";c.write(`Packing ${h} from sources +`);let f=await ZQe(t),p;f!==null?(c.write(`Using ${f.packageManager} for bootstrap. Reason: ${f.reason} `),p=f.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn -`),p=ls.Yarn2),await M.mktempPromise(async m=>{let I=await Zh({binFolder:m}),b=new Map([[ls.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Rs("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(N.code!==0)return N.code;await M.appendFilePromise(B.join(t,".npmignore"),`/.yarn +`),p=us.Yarn2),await M.mktempPromise(async m=>{let I=await nf({binFolder:m}),w=new Map([[us.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Os("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(N.code!==0)return N.code;await M.appendFilePromise(B.join(t,".npmignore"),`/.yarn `),c.write(` -`);let U=await Rs("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(U.code!==0)return U.code;c.write(` -`);let v=await Rs("yarn",[...F,"pack","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return v.code!==0?v.code:0}],[ls.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=B.join(t,mt.lockfile);await M.existsPromise(N)||await M.writeFilePromise(N,"");let U=await Rs("yarn",[...F,"pack","--install-if-needed","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return U.code!==0?U.code:0}],[ls.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Rs("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:en.ErrorCode});if(F.code!==0)return F.code;let N=new Lc.PassThrough,U=Wg(N);N.pipe(c);let v=await Rs("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(v.code!==0)return v.code;let J=(await U).toString().trim(),oe=B.resolve(t,L.toPortablePath(J));return await M.renamePromise(oe,e),0}]]).get(p);if(typeof b=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await b();if(!(x===0||typeof x=="undefined"))throw M.detachTemp(o),new Ze(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function GQe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return DD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r.configuration,t)} not found in the project`);return await $i.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new De({stdout:new Lc.PassThrough,configuration:o})},c=a.find(f=>f.supportsPackage(n,l));if(!c)throw new Error(`The package ${it(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await ze.find(Ee.dot,{baseFs:g})).scripts.has(e)},{libzip:await li()})}async function XI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await UW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),h=c.scripts.get(e);if(typeof h=="undefined")return 1;let f=async()=>await qI(h,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,f,n,t,e,{script:h,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function xD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await UW(t,{project:n,binFolder:l,cwd:i});return await qI(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jQe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Zh({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await HW(t),([s,[,o]])=>$s(e,jt(s),process.execPath,[o]))),typeof r=="undefined"&&(r=B.dirname(await M.realpathPromise(B.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function UW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jQe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${it(e.configuration,t)} not found in the project`);return await $i.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new De({stdout:new Lc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${it(e.configuration,o)} isn't supported by any of the available linkers`);let h=await Zh({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await ZI(t,{project:e}),([I,[,y]])=>$s(r,jt(I),process.execPath,[y])));let f=await g.findPackageLocation(o,u),p=new yt(f,{baseFs:a}),m=await ze.find(Ee.dot,{baseFs:p});return typeof i=="undefined"&&(i=f),{manifest:m,binFolder:r,env:h,cwd:i}},{libzip:await li()})}async function YW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await XI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function DD(t,e){return t.manifest.scripts.has(e)}async function qW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await M.mktempPromise(async o=>{let a=B.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:it(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await YW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new Ze(z.LIFECYCLE_SCRIPT,`${(0,KW.default)(e)} script failed (exit code ${je(n,g,ke.NUMBER)}, logs can be found here: ${je(n,a,ke.PATH)}); run ${je(n,`yarn ${e}`,ke.CODE)} to investigate`)})}async function JQe(t,e,r){DD(t,e)&&await qW(t,e,r)}async function ZI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r,t)} not found in the project`);let s=new Lc.Writable,o=r.getLinkers(),a={project:e,report:new De({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Kt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return nA.skip;let h=o.find(p=>p.supportsPackage(g,a));if(!h)return nA.skip;let f=null;try{f=await h.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return nA.skip;throw p}return{dependency:g,packageLocation:f}}));for(let u of c){if(u===nA.skip)continue;let{dependency:g,packageLocation:h}=u;for(let[f,p]of g.bin)i.set(f,[g,L.fromPortablePath(B.resolve(h,p))])}return i}async function HW(t){return await ZI(t.anchoredLocator,{project:t.project})}async function GW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await ZI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${it(n.configuration,t)}`);return await M.mktempPromise(async g=>{let[,h]=u,f=await Zh({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>$s(f.BERRY_BIN_FOLDER,jt(m),process.execPath,[I])));let p;try{p=await Rs(process.execPath,[...l,h,...r],{cwd:i,env:f,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(f.BERRY_BIN_FOLDER)}return p.code})}async function WQe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await GW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var gr={};$e(gr,{convertToZip:()=>uSe,extractArchiveTo:()=>hSe,makeArchiveFromDirectory:()=>cSe,safeTime:()=>ji});var z8=te(require("stream")),V8=te(k8());var q8=te(require("os")),G8=te(Y8()),j8=te(require("worker_threads")),Jx=class{constructor(e){this.source=e;this.pool=[];this.queue=new G8.default({concurrency:(0,q8.cpus)().length});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new j8.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var X8=te(W8()),ji=456789e3;async function cSe(t,{baseFs:e=new wt,prefixPath:r=Ee.root,compressionLevel:i,inMemory:n=!1}={}){let s=await li(),o;if(n)o=new Qr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=B.join(l,"archive.zip");o=new Qr(c,{create:!0,libzip:s,level:i})}let a=B.resolve(Ee.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var Z8;async function uSe(t,e){let r=await M.mktempPromise(),i=B.join(r,"archive.zip");return Z8||(Z8=new Jx((0,X8.getContent)())),await Z8.run({tmpFile:i,tgz:t,opts:e}),new Qr(i,{libzip:await li(),level:e.compressionLevel})}async function*gSe(t){let e=new V8.default.Parse,r=new z8.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function hSe(t,e,{stripComponents:r=0,prefixPath:i=Ee.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of gSe(t)){if(n(a))continue;let l=B.normalize(L.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=B.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,ji,ji);break;case"OldFile":case"File":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.writeFileSync(u,await Wg(a)),e.chmodSync(u,g),e.utimesSync(u,ji,ji);break;case"SymbolicLink":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[ji,ji]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,ji,ji);break}}return e}var Tn={};$e(Tn,{emitList:()=>fSe,emitTree:()=>iz,treeNodeToJson:()=>rz,treeNodeToTreeify:()=>tz});var ez=te($8());function tz(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Hm(e,l,mA.BOLD)),typeof c!="undefined"&&g.push(je(e,c[0],c[1])),g.length===0&&g.push(Hm(e,`${a}`,mA.BOLD));let h=g.join(": "),f=s[h]={};typeof u!="undefined"&&i(u,f)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function rz(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return ac(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:ac(r.value[0],r.value[1]),children:n}};return e(t)}function fSe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));iz({children:n},{configuration:e,stdout:r,json:i})}function iz(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(rz(l))} -`);return}let s=(0,ez.asTree)(tz(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +`);let K=await Os("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(K.code!==0)return K.code;c.write(` +`);let v=await Os("yarn",[...F,"pack","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return v.code!==0?v.code:0}],[us.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=B.join(t,mt.lockfile);await M.existsPromise(N)||await M.writeFilePromise(N,"");let K=await Os("yarn",[...F,"pack","--install-if-needed","--filename",L.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return K.code!==0?K.code:0}],[us.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Os("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(F.code!==0)return F.code;let N=new Lc.PassThrough,K=_g(N);N.pipe(c);let v=await Os("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(v.code!==0)return v.code;let J=(await K).toString().trim(),oe=B.resolve(t,L.toPortablePath(J));return await M.renamePromise(oe,e),0}]]).get(p);if(typeof w=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await w();if(!(x===0||typeof x=="undefined"))throw M.detachTemp(o),new Ze(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function t0e(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return FS(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r.configuration,t)} not found in the project`);return await nn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new xe({stdout:new Lc.PassThrough,configuration:o})},c=a.find(f=>f.supportsPackage(n,l));if(!c)throw new Error(`The package ${it(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await We.find(Ee.dot,{baseFs:g})).scripts.has(e)},{libzip:await gi()})}async function _I(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await JW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),h=c.scripts.get(e);if(typeof h=="undefined")return 1;let f=async()=>await Fc(h,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,f,n,t,e,{script:h,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function RS(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await JW(t,{project:n,binFolder:l,cwd:i});return await Fc(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function r0e(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await nf({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await WW(t),([s,[,o]])=>io(e,Jt(s),process.execPath,[o]))),typeof r=="undefined"&&(r=B.dirname(await M.realpathPromise(B.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function JW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return r0e(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${it(e.configuration,t)} not found in the project`);return await nn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new xe({stdout:new Lc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${it(e.configuration,o)} isn't supported by any of the available linkers`);let h=await nf({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await $I(t,{project:e}),([I,[,y]])=>io(r,Jt(I),process.execPath,[y])));let f=await g.findPackageLocation(o,u),p=new yt(f,{baseFs:a}),m=await We.find(Ee.dot,{baseFs:p});return typeof i=="undefined"&&(i=f),{manifest:m,binFolder:r,env:h,cwd:i}},{libzip:await gi()})}async function zW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await _I(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function FS(t,e){return t.manifest.scripts.has(e)}async function VW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await M.mktempPromise(async o=>{let a=B.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:it(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await zW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new Ze(z.LIFECYCLE_SCRIPT,`${(0,jW.default)(e)} script failed (exit code ${je(n,g,ve.NUMBER)}, logs can be found here: ${je(n,a,ve.PATH)}); run ${je(n,`yarn ${e}`,ve.CODE)} to investigate`)})}async function i0e(t,e,r){FS(t,e)&&await VW(t,e,r)}async function $I(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${it(r,t)} not found in the project`);let s=new Lc.Writable,o=r.getLinkers(),a={project:e,report:new xe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Tt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return rA.skip;let h=o.find(p=>p.supportsPackage(g,a));if(!h)return rA.skip;let f=null;try{f=await h.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return rA.skip;throw p}return{dependency:g,packageLocation:f}}));for(let u of c){if(u===rA.skip)continue;let{dependency:g,packageLocation:h}=u;for(let[f,p]of g.bin)i.set(f,[g,L.fromPortablePath(B.resolve(h,p))])}return i}async function WW(t){return await $I(t.anchoredLocator,{project:t.project})}async function XW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await $I(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${it(n.configuration,t)}`);return await M.mktempPromise(async g=>{let[,h]=u,f=await nf({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>io(f.BERRY_BIN_FOLDER,Jt(m),process.execPath,[I])));let p;try{p=await Os(process.execPath,[...l,h,...r],{cwd:i,env:f,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(f.BERRY_BIN_FOLDER)}return p.code})}async function n0e(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await XW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var hr={};$e(hr,{convertToZip:()=>BDe,extractArchiveTo:()=>QDe,makeArchiveFromDirectory:()=>yDe,safeTime:()=>zi});var ez=te(require("stream")),tz=te(M4());var V4=te(require("os")),X4=te(z4()),Z4=te(require("worker_threads")),Zx=class{constructor(e){this.source=e;this.pool=[];this.queue=new X4.default({concurrency:Math.max(1,(0,V4.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new Z4.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var rz=te($4()),zi=456789e3;async function yDe(t,{baseFs:e=new wt,prefixPath:r=Ee.root,compressionLevel:i,inMemory:n=!1}={}){let s=await gi(),o;if(n)o=new br(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=B.join(l,"archive.zip");o=new br(c,{create:!0,libzip:s,level:i})}let a=B.resolve(Ee.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var iz;async function BDe(t,e){let r=await M.mktempPromise(),i=B.join(r,"archive.zip");return iz||(iz=new Zx((0,rz.getContent)())),await iz.run({tmpFile:i,tgz:t,opts:e}),new br(i,{libzip:await gi(),level:e.compressionLevel})}async function*wDe(t){let e=new tz.default.Parse,r=new ez.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function QDe(t,e,{stripComponents:r=0,prefixPath:i=Ee.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of wDe(t)){if(n(a))continue;let l=B.normalize(L.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=B.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[zi,zi]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"OldFile":case"File":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[zi,zi]}),e.writeFileSync(u,await _g(a)),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"SymbolicLink":e.mkdirpSync(B.dirname(u),{chmod:493,utimes:[zi,zi]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,zi,zi);break}}return e}var Hn={};$e(Hn,{emitList:()=>bDe,emitTree:()=>lz,treeNodeToJson:()=>Az,treeNodeToTreeify:()=>az});var oz=te(sz());function az(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(jm(e,l,CA.BOLD)),typeof c!="undefined"&&g.push(je(e,c[0],c[1])),g.length===0&&g.push(jm(e,`${a}`,CA.BOLD));let h=g.join(": "),f=s[h]={};typeof u!="undefined"&&i(u,f)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function Az(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return oc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:oc(r.value[0],r.value[1]),children:n}};return e(t)}function bDe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));lz({children:n},{configuration:e,stdout:r,json:i})}function lz(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(Az(l))} +`);return}let s=(0,oz.asTree)(az(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 $1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var Vx=te(require("fs"));var pSe=8,gt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==Va?`c${o}`:"";this.cacheKey=[pSe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new gt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${nc(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=dSe(r).slice(0,10);return`${nc(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?B.resolve(this.cwd,this.getVersionFilename(e)):r===null||Xx(r)!==this.cacheKey?null:B.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?B.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new Ze(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=B.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var eP=te(require("fs"));var DDe=8,gt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==Wa?`c${o}`:"";this.cacheKey=[DDe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new gt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${ic(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=SDe(r).slice(0,10);return`${ic(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?B.resolve(this.cwd,this.getVersionFilename(e)):r===null||tP(r)!==this.cacheKey?null:B.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?B.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new Ze(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=B.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore *.flock -`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new wt,c=async(N,U=null)=>{let v=!o||!r?`${this.cacheKey}/${await vm(N)}`:r;if(U!==null){let J=!o||!r?`${this.cacheKey}/${await vm(U)}`:r;if(v!==J)throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&v!==r){let J;switch(this.check?J="throw":Xx(r)!==Xx(v)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return v;default:case"throw":throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return v},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${it(this.configuration,e)}`);let U=await s(),v=U.getRealPath();return U.saveAndClose(),await M.chmodPromise(v,420),await c(N,v)},g=async()=>{if(a===null||!await M.existsPromise(a)){let v=await s(),J=v.getRealPath();return v.saveAndClose(),{source:"loader",path:J}}let N=await M.mktempPromise(),U=B.join(N,this.getVersionFilename(e));return await M.copyFilePromise(a,U,Vx.default.constants.COPYFILE_FICLONE),{source:"mirror",path:U}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${it(this.configuration,e)}`);if(this.immutable)throw new Ze(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${it(this.configuration,e)}`);let{path:N,source:U}=await g();await M.chmodPromise(N,420);let v=await c(N),J=this.getLocatorPath(e,v);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(U!=="mirror"&&a!==null){let K=await M.mktempPromise();oe=B.join(K,this.getVersionFilename(e)),await M.copyFilePromise(N,oe,Vx.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(U==="mirror"?null:a,async()=>(await M.movePromise(N,J),oe&&a&&await M.movePromise(oe,a),[J,v])))},f=async()=>{let U=(async()=>{let v=this.getLocatorPath(e,r),J=v!==null?await l.existsPromise(v):!1,oe=J?i:n;if(oe&&oe(),J){let K=null,A=v;return this.check?K=await u(A):K=await c(A),[A,K]}else return h()})();this.mutexes.set(e.locatorHash,U);try{return await U}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await f();this.markedFiles.add(p);let I=null,y=await li(),b=new Qg(()=>Jg(()=>I=new Qr(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${it(this.configuration,e)}: ${N}`),B);return[new Xa(p,{baseFs:b,pathUtils:B}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await M.lockPromise(e,async()=>await r())}};function Xx(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function dSe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var cz=te(sz()),GE=te(Lg());var uz=te(jI()),tP=te(require("stream"));var oz={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==dt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==dt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Wt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=mh(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var _x=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new Ze(z.FETCHER_NOT_FOUND,`${it(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var eu=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Kt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${it(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var az=te(Cr());var tu=/^(?!v)[a-z0-9._-]+$/i,$x=class{supportsDescriptor(e,r){return!!(Kn(e.range)||tu.test(e.range))}supportsLocator(e,r){return!!(az.default.valid(e.reference)||tu.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return uh(i,e)}forwardDescriptor(e,r){return Wt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return si(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var mf=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=si(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=si(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return nc(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=rr.makeVirtualPath(s,o,n),l=new Xa(a,{baseFs:r.packageFs,pathUtils:B});return V(P({},r),{packageFs:l})}};var ru=class{static isVirtualDescriptor(e){return!!e.range.startsWith(ru.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(ru.protocol)}supportsDescriptor(e,r){return ru.isVirtualDescriptor(e)}supportsLocator(e,r){return ru.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},qE=ru;qE.protocol="virtual:";var If=class{supportsDescriptor(e,r){return!!(e.range.startsWith(If.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(If.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(If.protocol.length));return V(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:At.SOFT,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},fi=If;fi.protocol="workspace:";var eP=class{supports(e){return!!e.reference.startsWith(fi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new yt(i),prefixPath:Ee.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(fi.protocol.length))}};var Az=te(require("module"));function lz(){return new Set(Az.default.builtinModules||Object.keys(process.binding("natives")))}var mSe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),jE="yarn_",rP=".yarnrc.yml",iP="yarn.lock",ISe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var $A=ke,nP={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Yw()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Va},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:iP},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:JE()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:Tm,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:lb,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:GE.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!GE.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:GE.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ln),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function oP(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>sP(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>sP(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return sP(t,e,r,i,n)}function sP(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return ESe(t,e,r,i,n);case ge.MAP:return ySe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return zg(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=LQ(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return B.resolve(n,L.toPortablePath(l));case ge.LOCATOR_LOOSE:return CA(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return CA(l);case ge.BOOLEAN:return zg(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function ESe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=aP(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,oP(t,l,a,i.properties[o],n))}return s}function ySe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,oP(t,c,a,u,n))}return s}function aP(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,aP(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?B.isAbsolute(e.default)?B.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>B.resolve(t.projectCwd,i)):B.resolve(t.projectCwd,e.default);default:return e.default}}function WE(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return ISe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return L.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(WE(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,WE(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,WE(s,o,r))}return i}return t}function BSe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(jE)&&(e=(0,cz.default)(e.slice(jE.length)),t[e]=r);return t}function JE(){let t=`${jE}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return rP}var Ca;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(Ca||(Ca={}));var oo=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new oo(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(nP);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=BSe();delete a.rcFilename;let l=await oo.findRcFiles(e),c=await oo.findHomeRcFile();if(c){let y=l.find(b=>b.path===c.path);y?y.strict=!1:l.push(V(P({},c),{strict:!1}))}let u=({ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F})=>({ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F}),g=U=>{var v=U,{ignoreCwd:y,yarnPath:b,ignorePath:x,lockfileFilename:F}=v,N=vr(v,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return N},h=new oo(e);h.importSettings(u(nP)),h.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:b,data:x}of l)h.useWithSource(y,u(x),b,{strict:!1});if(s){let y=h.get("yarnPath"),b=h.get("ignorePath");if(y!==null&&!b)return h}let f=h.get("lockfileFilename"),p;switch(i){case 0:p=await oo.findProjectCwd(e,f);break;case 1:p=await oo.findProjectCwd(e,null);break;case 2:M.existsSync(B.join(e,"package.json"))?p=B.resolve(e):p=null;break}h.startingCwd=e,h.projectCwd=p,h.importSettings(g(nP));let m=new Map([["@@core",oz]]),I=y=>"default"in y?y.default:y;if(r!==null){for(let F of r.plugins.keys())m.set(F,I(r.modules.get(F)));let y=new Map;for(let F of lz())y.set(F,()=>vn(F));for(let[F,N]of r.modules)y.set(F,()=>N);let b=new Set,x=(F,N)=>{let{factory:U,name:v}=vn(L.fromPortablePath(F));if(b.has(v))return;let J=new Map(y),oe=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},K=Jg(()=>I(U(oe)),A=>`${A} (when initializing ${v}, defined in ${N})`);y.set(v,()=>K),b.add(v),m.set(v,K)};if(a.plugins)for(let F of a.plugins.split(";")){let N=B.resolve(e,L.toPortablePath(F));x(N,"")}for(let{path:F,cwd:N,data:U}of l)if(!!o&&!!Array.isArray(U.plugins))for(let v of U.plugins){let J=typeof v!="string"?v.path:v,oe=B.resolve(N,L.toPortablePath(J));x(oe,F)}}for(let[y,b]of m)h.activatePlugin(y,b);h.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:b,data:x,strict:F}of l)h.useWithSource(y,g(x),b,{strict:F!=null?F:n});return h.get("enableGlobalCache")&&(h.values.set("cacheFolder",`${h.get("globalFolder")}/cache`),h.sources.set("cacheFolder","")),await h.refreshPackageExtensions(),h}static async findRcFiles(e){let r=JE(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=B.join(s,r);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=Nr(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=B.dirname(s)}return i}static async findHomeRcFile(){let e=JE(),r=kg(),i=B.join(r,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=Nr(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(B.join(s,"package.json"))&&(i=s),r!==null){if(M.existsSync(B.join(s,r))){i=s;break}}else if(i!==null)break;n=B.dirname(s)}return i}static async updateConfiguration(e,r){let i=JE(),n=B.join(e,i),s=M.existsSync(n)?Nr(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,_s(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=kg();return await oo.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,aP(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${je(this,e,ke.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&mSe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${jE}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=oP(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${je(this,e,ke.PATH)}`,u}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return WE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${je(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${je(this,"STDERR","red")}`);s=new tP.PassThrough,s.pipe(l),s.pipe(a),o=new tP.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new eu([new qE,new fi,new $x,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new _x([new mf,new eP,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new ze;o.load(n,{yamlCompatibilityMode:!0});let a=Jl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:Yr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(P({},c),{type:Sr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(P({},c),{type:Sr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[h,f]of Object.entries(g))l.push(V(P({},c),{type:Sr.PeerDependencyMeta,selector:u,key:h,value:f}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),GC(n),{userProvided:!0})}normalizePackage(e){let r=gh(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Xh(s,o))for(let l of a)switch(l.status===Yr.Inactive&&(l.status=Yr.Redundant),l.type){case Sr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Yr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=Yr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=Yr.Active,Ms(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:FQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Go("types",o),l=dt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Qi(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Wt(o,"*"))}return r.dependencies=new Map(Bi(r.dependencies,([,s])=>bi(s))),r.peerDependencies=new Map(Bi(r.peerDependencies,([,s])=>bi(s))),r}getLimit(e){return Ms(this.limits,e,()=>(0,uz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},Ae=oo;Ae.telemetry=null;var Ji;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Ji||(Ji={}));var ao=class extends ai{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Eh(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} -`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new wt,c=async(N,K=null)=>{let v=!o||!r?`${this.cacheKey}/${await Lm(N)}`:r;if(K!==null){let J=!o||!r?`${this.cacheKey}/${await Lm(K)}`:r;if(v!==J)throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&v!==r){let J;switch(this.check?J="throw":tP(r)!==tP(v)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return v;default:case"throw":throw new Ze(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return v},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${it(this.configuration,e)}`);let K=await s(),v=K.getRealPath();return K.saveAndClose(),await M.chmodPromise(v,420),await c(N,v)},g=async()=>{if(a===null||!await M.existsPromise(a)){let v=await s(),J=v.getRealPath();return v.saveAndClose(),{source:"loader",path:J}}let N=await M.mktempPromise(),K=B.join(N,this.getVersionFilename(e));return await M.copyFilePromise(a,K,eP.default.constants.COPYFILE_FICLONE),{source:"mirror",path:K}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${it(this.configuration,e)}`);if(this.immutable)throw new Ze(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${it(this.configuration,e)}`);let{path:N,source:K}=await g();await M.chmodPromise(N,420);let v=await c(N),J=this.getLocatorPath(e,v);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(K!=="mirror"&&a!==null){let T=await M.mktempPromise();oe=B.join(T,this.getVersionFilename(e)),await M.copyFilePromise(N,oe,eP.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(K==="mirror"?null:a,async()=>(await M.movePromise(N,J),oe&&a&&await M.movePromise(oe,a),[J,v])))},f=async()=>{let K=(async()=>{let v=this.getLocatorPath(e,r),J=v!==null?await l.existsPromise(v):!1,oe=J?i:n;if(oe&&oe(),J){let T=null,A=v;return this.check?T=await u(A):T=await c(A),[A,T]}else return h()})();this.mutexes.set(e.locatorHash,K);try{return await K}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await f();this.markedFiles.add(p);let I=null,y=await gi(),w=new Pg(()=>KQ(()=>I=new br(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${it(this.configuration,e)}: ${N}`),B);return[new za(p,{baseFs:w,pathUtils:B}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await M.lockPromise(e,async()=>await r())}};function tP(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function SDe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var dz=te(uz()),JE=te(Tg());var Cz=te(WI()),oP=te(require("stream"));var gz={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==pt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==pt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(zt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Qh(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var iP=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new Ze(z.FETCHER_NOT_FOUND,`${it(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var eu=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Tt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${it(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var hz=te(Cr());var tu=/^(?!v)[a-z0-9._-]+$/i,nP=class{supportsDescriptor(e,r){return!!(Un(e.range)||tu.test(e.range))}supportsLocator(e,r){return!!(hz.default.valid(e.reference)||tu.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return Ch(i,e)}forwardDescriptor(e,r){return zt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Ai(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Qf=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Ai(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Ai(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return ic(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=rr.makeVirtualPath(s,o,n),l=new za(a,{baseFs:r.packageFs,pathUtils:B});return V(k({},r),{packageFs:l})}};var ru=class{static isVirtualDescriptor(e){return!!e.range.startsWith(ru.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(ru.protocol)}supportsDescriptor(e,r){return ru.isVirtualDescriptor(e)}supportsLocator(e,r){return ru.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},qE=ru;qE.protocol="virtual:";var bf=class{supportsDescriptor(e,r){return!!(e.range.startsWith(bf.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(bf.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(bf.protocol.length));return V(k({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:At.SOFT,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Ci=bf;Ci.protocol="workspace:";var sP=class{supports(e){return!!e.reference.startsWith(Ci.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new yt(i),prefixPath:Ee.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Ci.protocol.length))}};var fz=te(require("module"));function pz(){return new Set(fz.default.builtinModules||Object.keys(process.binding("natives")))}var PDe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),WE="yarn_",aP=".yarnrc.yml",AP="yarn.lock",kDe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var Cs=ve,lP={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:qw()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Wa},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:AP},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:zE()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:Ym,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:fb,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:JE.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!JE.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:JE.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Mn),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function uP(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>cP(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>cP(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return cP(t,e,r,i,n)}function cP(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return vDe(t,e,r,i,n);case ge.MAP:return FDe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return eh(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=TQ(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return B.resolve(n,L.toPortablePath(l));case ge.LOCATOR_LOOSE:return dA(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return dA(l);case ge.BOOLEAN:return eh(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function vDe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=gP(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,uP(t,l,a,i.properties[o],n))}return s}function FDe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,uP(t,c,a,u,n))}return s}function gP(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,gP(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?B.isAbsolute(e.default)?B.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>B.resolve(t.projectCwd,i)):B.resolve(t.projectCwd,e.default);default:return e.default}}function VE(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return kDe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return L.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(VE(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,VE(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,VE(s,o,r))}return i}return t}function RDe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(WE)&&(e=(0,dz.default)(e.slice(WE.length)),t[e]=r);return t}function zE(){let t=`${WE}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return aP}var Ca;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(Ca||(Ca={}));var co=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new co(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(lP);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=RDe();delete a.rcFilename;let l=await co.findRcFiles(e),c=await co.findHomeRcFile();if(c){let y=l.find(w=>w.path===c.path);y?y.strict=!1:l.push(V(k({},c),{strict:!1}))}let u=({ignoreCwd:y,yarnPath:w,ignorePath:x,lockfileFilename:F})=>({ignoreCwd:y,yarnPath:w,ignorePath:x,lockfileFilename:F}),g=K=>{var v=K,{ignoreCwd:y,yarnPath:w,ignorePath:x,lockfileFilename:F}=v,N=Lr(v,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return N},h=new co(e);h.importSettings(u(lP)),h.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:w,data:x}of l)h.useWithSource(y,u(x),w,{strict:!1});if(s){let y=h.get("yarnPath"),w=h.get("ignorePath");if(y!==null&&!w)return h}let f=h.get("lockfileFilename"),p;switch(i){case 0:p=await co.findProjectCwd(e,f);break;case 1:p=await co.findProjectCwd(e,null);break;case 2:M.existsSync(B.join(e,"package.json"))?p=B.resolve(e):p=null;break}h.startingCwd=e,h.projectCwd=p,h.importSettings(g(lP));let m=new Map([["@@core",gz]]),I=y=>"default"in y?y.default:y;if(r!==null){for(let F of r.plugins.keys())m.set(F,I(r.modules.get(F)));let y=new Map;for(let F of pz())y.set(F,()=>Jl(F));for(let[F,N]of r.modules)y.set(F,()=>N);let w=new Set,x=async(F,N)=>{let{factory:K,name:v}=Jl(F);if(w.has(v))return;let J=new Map(y),oe=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},T=await ql(async()=>I(await K(oe)),A=>`${A} (when initializing ${v}, defined in ${N})`);y.set(v,()=>T),w.add(v),m.set(v,T)};if(a.plugins)for(let F of a.plugins.split(";")){let N=B.resolve(e,L.toPortablePath(F));await x(N,"")}for(let{path:F,cwd:N,data:K}of l)if(!!o&&!!Array.isArray(K.plugins))for(let v of K.plugins){let J=typeof v!="string"?v.path:v,oe=B.resolve(N,L.toPortablePath(J));await x(oe,F)}}for(let[y,w]of m)h.activatePlugin(y,w);h.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:w,data:x,strict:F}of l)h.useWithSource(y,g(x),w,{strict:F!=null?F:n});return h.get("enableGlobalCache")&&(h.values.set("cacheFolder",`${h.get("globalFolder")}/cache`),h.sources.set("cacheFolder","")),await h.refreshPackageExtensions(),h}static async findRcFiles(e){let r=zE(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=B.join(s,r);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=Tr(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=B.dirname(s)}return i}static async findHomeRcFile(){let e=zE(),r=Ng(),i=B.join(r,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=Tr(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(B.join(s,"package.json"))&&(i=s),r!==null){if(M.existsSync(B.join(s,r))){i=s;break}}else if(i!==null)break;n=B.dirname(s)}return i}static async updateConfiguration(e,r){let i=zE(),n=B.join(e,i),s=M.existsSync(n)?Tr(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,ro(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=Ng();return await co.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,gP(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${je(this,e,ve.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&PDe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${WE}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=uP(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${je(this,e,ve.PATH)}`,u}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return VE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${je(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${je(this,"STDERR","red")}`);s=new oP.PassThrough,s.pipe(l),s.pipe(a),o=new oP.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new eu([new qE,new Ci,new nP,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new iP([new Qf,new sP,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Un(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new We;o.load(n,{yamlCompatibilityMode:!0});let a=Gl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(k({},c),{type:Sr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(k({},c),{type:Sr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[h,f]of Object.entries(g))l.push(V(k({},c),{type:Sr.PeerDependencyMeta,selector:u,key:h,value:f}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),zC(n),{userProvided:!0})}normalizePackage(e){let r=mh(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!rf(s,o))for(let l of a)switch(l.status===qr.Inactive&&(l.status=qr.Redundant),l.type){case Sr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Sr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qr.Active,Us(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:MQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=jo("types",o),l=pt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Si(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,zt(o,"*"))}return r.dependencies=new Map(bi(r.dependencies,([,s])=>xi(s))),r.peerDependencies=new Map(bi(r.peerDependencies,([,s])=>xi(s))),r}getLimit(e){return Us(this.limits,e,()=>(0,Cz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},le=co;le.telemetry=null;var Vi;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Vi||(Vi={}));var uo=class extends ci{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Dh(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(k({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` `),this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. `),this.suggestInstall&&this.stdout.write(`${je(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(e){return SD(e,{configuration:this.configuration,json:!1})}};var gy=te(require("crypto")),i9=te(zz()),hy=te(t9()),n9=te(jI()),s9=te(Cr()),LP=te(require("util")),NP=te(require("v8")),MP=te(require("zlib"));var sve=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>Om({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],FP=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=B.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=Nr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=dh(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Kn(l.range)&&(l=Wt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[f,p]of sve){let m=u.match(f);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Kt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let h=l;try{let f=ic(l.range),p=dh(f.selector,!0);p&&(h=p)}catch{}o.set(l.descriptorHash,si(h,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var uy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Nm(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Nm(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var RP=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var Br=class extends ai{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var r9=te(_0());var Lf=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=M.existsSync(B.join(this.cwd,ze.fileName))?await ze.find(this.cwd):new ze,this.relativeCwd=B.relative(this.project.cwd,this.cwd)||Ee.dot;let e=this.manifest.name?this.manifest.name:Go(null,`${this.computeCandidateName()}-${ni(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=si(e,r),this.anchoredDescriptor=Wt(this.locator,`${fi.protocol}${this.relativeCwd}`),this.anchoredLocator=si(this.locator,`${fi.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,r9.default)(i,{absolute:!0,cwd:L.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=B.resolve(this.cwd,L.toPortablePath(s));M.existsSync(B.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===fi.protocol&&B.normalize(n)===this.relativeCwd||i===fi.protocol&&n==="*")return!0;let s=Kn(n);return s?i===fi.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${B.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=B.join(this.cwd,ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await M.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var OP=4,ove=1,ave=/ *, */g,o9=/\/$/,Ave=32,lve=(0,LP.promisify)(MP.default.gzip),cve=(0,LP.promisify)(MP.default.gunzip),KP={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(B.join(s,mt.manifest))){i=s;break}n=B.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=Ae.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=Ae.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=Ae.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((h,f)=>h+f.manifest.dependencies.size+f.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${je(e,i,ke.PATH)}) doesn't seem to be part of the project declared in ${je(e,o.cwd,ke.PATH)}. - -- If the project directory is right, it might be that you forgot to list ${je(e,B.relative(o.cwd,i),ke.PATH)} as a workspace. -- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let i=await M.readFilePromise(e,"utf8");this.lockFileChecksum=ni(`${ove}`,i);let n=Nr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=CA(l.resolution,!0),u=new ze;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,h=u.languageName||r,f=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,b=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=OP){let x=V(P({},c),{version:g,languageName:h,linkType:f,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:b});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(ave)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=OP)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Mm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Lf(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${mr(this.configuration,r.locator)}: ${L.fromPortablePath(e)} conflicts with ${L.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){B.isAbsolute(e)||(e=B.resolve(this.cwd,e)),e=B.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)B.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${mr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(jo(e)&&(e=hh(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Kt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(ns(e)&&(e=fh(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${it(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${mh(this.configuration,e)} (${je(this.configuration,B.join(e.cwd,mt.manifest),ke.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)jo(i)&&e.dependencies.set(r,hh(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(dt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!s9.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new Br,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(o9,"")!==e.replace(o9,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new FP;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new eu([new uy,new RP(r)]):new eu([new uy,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,h=new Map,f=[],p=async v=>{let J=await jC(async()=>await n.resolve(v,o),K=>`${it(this.configuration,v)}: ${K}`);if(!ib(v,J))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${it(this.configuration,v)} to ${it(this.configuration,J)})`);u.set(J.locatorHash,J);let oe=this.configuration.normalizePackage(J);for(let[K,A]of oe.dependencies){let W=await this.configuration.reduceHook(re=>re.reduceDependency,A,this,oe,A,{resolver:n,resolveOptions:o});if(!ph(A,W))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let $=n.bindDescriptor(W,v,o);oe.dependencies.set(K,$)}return f.push(Promise.all([...oe.dependencies.values()].map(K=>b(K)))),l.set(oe.locatorHash,oe),oe},m=async v=>{let J=g.get(v.locatorHash);if(typeof J!="undefined")return J;let oe=Promise.resolve().then(()=>p(v));return g.set(v.locatorHash,oe),oe},I=async(v,J)=>{let oe=await b(J);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,oe.locatorHash),oe},y=async v=>{let J=this.resolutionAliases.get(v.descriptorHash);if(typeof J!="undefined")return I(v,this.storedDescriptors.get(J));let oe=n.getResolutionDependencies(v,o),K=new Map(await Promise.all(oe.map(async $=>[$.descriptorHash,await b($)]))),W=(await jC(async()=>await n.getCandidates(v,K,o),$=>`${Kt(this.configuration,v)}: ${$}`))[0];if(typeof W=="undefined")throw new Error(`${Kt(this.configuration,v)}: No candidates found`);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,W.locatorHash),m(W)},b=v=>{let J=h.get(v.descriptorHash);if(typeof J!="undefined")return J;a.set(v.descriptorHash,v);let oe=Promise.resolve().then(()=>y(v));return h.set(v.descriptorHash,oe),oe};for(let v of this.workspaces){let J=v.anchoredDescriptor;f.push(b(J))}for(;f.length>0;){let v=[...f];f.length=0,await Promise.all(v)}let x=new Set(this.resolutionAliases.values()),F=new Set(l.keys()),N=new Set,U=new Map;uve({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:x,optionalBuilds:F,peerRequirements:U,allDescriptors:a,allResolutions:c,allPackages:l});for(let v of x)a.delete(v),c.delete(v);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=F,this.peerRequirements=U,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i}){let n=i||this.configuration.makeFetcher(),s={checksums:this.storedChecksums,project:this,cache:e,fetcher:n,report:r},o=Array.from(new Set(Bi(this.storedResolutions.values(),[u=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");return ln(g)}]))),a=!1,l=ai.progressViaCounter(o.length);r.reportProgress(l);let c=(0,n9.default)(Ave);if(await r.startCacheReport(async()=>{await Promise.all(o.map(u=>c(async()=>{let g=this.storedPackages.get(u);if(!g)throw new Error("Assertion failed: The locator should have been registered");if(ns(g))return;let h;try{h=await n.fetch(g,s)}catch(f){f.message=`${it(this.configuration,g)}: ${f.message}`,r.reportExceptionOnce(f),a=f;return}h.checksum?this.storedChecksums.set(g.locatorHash,h.checksum):this.storedChecksums.delete(g.locatorHash),h.releaseFs&&h.releaseFs()}).finally(()=>{l.tick()})))}),a)throw a}async linkEverything({cache:e,report:r,fetcher:i,skipBuild:n}){var oe;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(K=>{let A=K.makeInstaller(l),W=A.getCustomDataKey(),$=this.installersCustomData.get(W);return typeof $!="undefined"&&A.attachCustomData($),[K,A]})),u=new Map,g=new Map,h=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async K=>{let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[K,await s.fetch(A,o)]})));for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let W=f.get(A.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let $=this.tryWorkspaceByLocator(A);if($!==null){let re=[],{scripts:H}=$.manifest;for(let Pe of["preinstall","install","postinstall"])H.has(Pe)&&re.push([Ji.SCRIPT,Pe]);try{for(let[Pe,Le]of c)if(Pe.supportsPackage(A,l)&&(await Le.installPackage(A,W)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{W.releaseFs&&W.releaseFs()}let R=B.join(W.packageFs.getRealPath(),W.prefixPath);g.set(A.locatorHash,R),!ns(A)&&re.length>0&&h.set(A.locatorHash,{directives:re,buildLocations:[R]})}else{let re=a.find(Pe=>Pe.supportsPackage(A,l));if(!re)throw new Ze(z.LINKER_NOT_FOUND,`${it(this.configuration,A)} isn't supported by any available linker`);let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");let R;try{R=await H.installPackage(A,W)}finally{W.releaseFs&&W.releaseFs()}u.set(A.locatorHash,re),g.set(A.locatorHash,R.packageLocation),R.buildDirective&&R.packageLocation&&h.set(A.locatorHash,{directives:R.buildDirective,buildLocations:[R.packageLocation]})}}let p=new Map;for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");let W=this.tryWorkspaceByLocator(A)!==null,$=async(re,H)=>{let R=g.get(A.locatorHash);if(typeof R=="undefined")throw new Error(`Assertion failed: The package (${it(this.configuration,A)}) should have been registered`);let Pe=[];for(let Le of A.dependencies.values()){let Ge=this.storedResolutions.get(Le.descriptorHash);if(typeof Ge=="undefined")throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,Le)}, from ${it(this.configuration,A)})should have been registered`);let Ke=this.storedPackages.get(Ge);if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${Ge}, resolved from ${Kt(this.configuration,Le)}) should have been registered`);let ie=this.tryWorkspaceByLocator(Ke)===null?u.get(Ge):null;if(typeof ie=="undefined")throw new Error(`Assertion failed: The package (${Ge}, resolved from ${Kt(this.configuration,Le)}) should have been registered`);ie===re||W||ie===null?g.get(Ke.locatorHash)!==null&&Pe.push([Le,Ke]):R!==null&&Jl(p,Ge).push(R)}R!==null&&await H.attachInternalDependencies(A,Pe)};if(W)for(let[re,H]of c)re.supportsPackage(A,l)&&await $(re,H);else{let re=u.get(A.locatorHash);if(!re)throw new Error("Assertion failed: The linker should have been found");let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");await $(re,H)}}for(let[K,A]of p){let W=this.storedPackages.get(K);if(!W)throw new Error("Assertion failed: The package should have been registered");let $=u.get(W.locatorHash);if(!$)throw new Error("Assertion failed: The linker should have been found");let re=c.get($);if(!re)throw new Error("Assertion failed: The installer should have been registered");await re.attachExternalDependents(W,A)}let m=new Map;for(let K of c.values()){let A=await K.finalizeInstall();for(let W of(oe=A==null?void 0:A.records)!=null?oe:[])h.set(W.locatorHash,{directives:W.buildDirective,buildLocations:W.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(K.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n)return;let I=new Set(this.storedPackages.keys()),y=new Set(h.keys());for(let K of y)I.delete(K);let b=(0,gy.createHash)("sha512");b.update(process.versions.node),await this.configuration.triggerHook(K=>K.globalHashGeneration,this,K=>{b.update("\0"),b.update(K)});let x=b.digest("hex"),F=new Map,N=K=>{let A=F.get(K.locatorHash);if(typeof A!="undefined")return A;let W=this.storedPackages.get(K.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The package should have been registered");let $=(0,gy.createHash)("sha512");$.update(K.locatorHash),F.set(K.locatorHash,"");for(let re of W.dependencies.values()){let H=this.storedResolutions.get(re.descriptorHash);if(typeof H=="undefined")throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,re)}) should have been registered`);let R=this.storedPackages.get(H);if(typeof R=="undefined")throw new Error("Assertion failed: The package should have been registered");$.update(N(R))}return A=$.digest("hex"),F.set(K.locatorHash,A),A},U=(K,A)=>{let W=(0,gy.createHash)("sha512");W.update(x),W.update(N(K));for(let $ of A)W.update($);return W.digest("hex")},v=new Map,J=!1;for(;y.size>0;){let K=y.size,A=[];for(let W of y){let $=this.storedPackages.get(W);if(!$)throw new Error("Assertion failed: The package should have been registered");let re=!0;for(let Pe of $.dependencies.values()){let Le=this.storedResolutions.get(Pe.descriptorHash);if(!Le)throw new Error(`Assertion failed: The resolution (${Kt(this.configuration,Pe)}) should have been registered`);if(y.has(Le)){re=!1;break}}if(!re)continue;y.delete(W);let H=h.get($.locatorHash);if(!H)throw new Error("Assertion failed: The build directive should have been registered");let R=U($,H.buildLocations);if(this.storedBuildState.get($.locatorHash)===R){v.set($.locatorHash,R);continue}J||(await this.persistInstallStateFile(),J=!0),this.storedBuildState.has($.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${it(this.configuration,$)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${it(this.configuration,$)} must be built because it never has been before or the last one failed`);for(let Pe of H.buildLocations){if(!B.isAbsolute(Pe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${Pe})`);A.push((async()=>{for(let[Le,Ge]of H.directives){let Ke=`# This file contains the result of Yarn building a package (${ln($)}) -`;switch(Le){case Ji.SCRIPT:Ke+=`# Script name: ${Ge} -`;break;case Ji.SHELLCODE:Ke+=`# Script code: ${Ge} -`;break}let ie=null;if(!await M.mktempPromise(async be=>{let he=B.join(be,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(he,{header:Ke,prefix:it(this.configuration,$),report:r}),ve;try{switch(Le){case Ji.SCRIPT:ve=await XI($,Ge,[],{cwd:Pe,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Ji.SHELLCODE:ve=await xD($,Ge,[],{cwd:Pe,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),ve=1}if(Ie.end(),pe.end(),ve===0)return v.set($.locatorHash,R),!0;M.detachTemp(be);let Z=`${it(this.configuration,$)} couldn't be built successfully (exit code ${je(this.configuration,ve,ke.NUMBER)}, logs can be found here: ${je(this.configuration,he,ke.PATH)})`;return this.optionalBuilds.has($.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),v.set($.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),K===y.size){let W=Array.from(y).map($=>{let re=this.storedPackages.get($);if(!re)throw new Error("Assertion failed: The package should have been registered");return it(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=v}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=Ae.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=Yr.Inactive;let i=B.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let h=je(this.configuration,g,ke.PACKAGE_EXTENSION);switch(g.status){case Yr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${h}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case Yr.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${h}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Fl(n,this.generateLockfile());if(c!==n){let u=(0,i9.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let h of g.lines)h.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ke.ADDED)):h.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ke.REMOVED)):e.report.reportInfo(null,je(this.configuration,h,"grey"))}throw e.report.reportSeparator(),new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===Yr.Active&&((l=Ae.telemetry)==null||l.reportPackageExtension(ac(g,ke.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Fm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Fm(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:OP};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let h of s){let f=this.storedDescriptors.get(h);if(!f)throw new Error("Assertion failed: The descriptor should have been registered");a.push(f)}let l=a.map(h=>bi(h)).sort().join(", "),c=new ze;c.version=o.linkType===At.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let h=g.indexOf("/");if(h===-1)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");let f=g.slice(0,h),p=g.slice(h+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=f),f===r.__metadata.cacheKey?u=p:u=g}r[l]=V(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:ln(o),checksum:u})}return`${[`# This file is generated by running "yarn install" inside your project. +`))}formatNameWithHyperlink(e){return vS(e,{configuration:this.configuration,json:!1})}};var fy=te(require("crypto")),lV=te(e5()),py=te(aV()),cV=te(WI()),uV=te(Cr()),TP=te(require("util")),UP=te(require("v8")),HP=te(require("zlib"));var dve=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>Um({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],OP=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=B.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=Tr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=Bh(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Un(l.range)&&(l=zt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[f,p]of dve){let m=u.match(f);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Tt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let h=l;try{let f=rc(l.range),p=Bh(f.selector,!0);p&&(h=p)}catch{}o.set(l.descriptorHash,Ai(h,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var hy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Km(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Km(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var KP=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Ze(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var wr=class extends ci{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(k({},r),{stop:i})}reportJson(e){}async finalize(){}};var AV=te(ib());var Uf=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=M.existsSync(B.join(this.cwd,We.fileName))?await We.find(this.cwd):new We,this.relativeCwd=B.relative(this.project.cwd,this.cwd)||Ee.dot;let e=this.manifest.name?this.manifest.name:jo(null,`${this.computeCandidateName()}-${ai(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Ai(e,r),this.anchoredDescriptor=zt(this.locator,`${Ci.protocol}${this.relativeCwd}`),this.anchoredLocator=Ai(this.locator,`${Ci.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,AV.default)(i,{cwd:L.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=B.resolve(this.cwd,L.toPortablePath(s));M.existsSync(B.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Ci.protocol&&B.normalize(n)===this.relativeCwd||i===Ci.protocol&&n==="*")return!0;let s=Un(n);return s?i===Ci.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${B.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=We.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=B.join(this.cwd,We.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await M.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var YP=4,Cve=1,mve=/ *, */g,gV=/\/$/,Ive=32,Eve=(0,TP.promisify)(HP.default.gzip),yve=(0,TP.promisify)(HP.default.gunzip),kr;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(kr||(kr={}));var GP={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(B.join(s,mt.manifest))){i=s;break}n=B.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=le.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=le.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=le.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((h,f)=>h+f.manifest.dependencies.size+f.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${je(e,i,ve.PATH)}) doesn't seem to be part of the project declared in ${je(e,o.cwd,ve.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${je(e,B.relative(o.cwd,i),ve.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let i=await M.readFilePromise(e,"utf8");this.lockFileChecksum=ai(`${Cve}`,i);let n=Tr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=dA(l.resolution,!0),u=new We;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,h=u.languageName||r,f=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,w=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=YP){let x=V(k({},c),{version:g,languageName:h,linkType:f,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:w});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(mve)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=YP)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Tm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Uf(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${mr(this.configuration,r.locator)}: ${L.fromPortablePath(e)} conflicts with ${L.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){B.isAbsolute(e)||(e=B.resolve(this.cwd,e)),e=B.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)B.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${mr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qo(e)&&(e=Ih(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Tt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(os(e)&&(e=Eh(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${it(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Qh(this.configuration,e)} (${je(this.configuration,B.join(e.cwd,mt.manifest),ve.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)qo(i)&&e.dependencies.set(r,Ih(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(pt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!uV.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new wr,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(gV,"")!==e.replace(gV,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new OP;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new eu([new hy,new KP(r)]):new eu([new hy,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,h=new Map,f=[],p=async v=>{let J=await ql(async()=>await n.resolve(v,o),T=>`${it(this.configuration,v)}: ${T}`);if(!Ab(v,J))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${it(this.configuration,v)} to ${it(this.configuration,J)})`);u.set(J.locatorHash,J);let oe=this.configuration.normalizePackage(J);for(let[T,A]of oe.dependencies){let W=await this.configuration.reduceHook(re=>re.reduceDependency,A,this,oe,A,{resolver:n,resolveOptions:o});if(!yh(A,W))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let ee=n.bindDescriptor(W,v,o);oe.dependencies.set(T,ee)}return f.push(Promise.all([...oe.dependencies.values()].map(T=>w(T)))),l.set(oe.locatorHash,oe),oe},m=async v=>{let J=g.get(v.locatorHash);if(typeof J!="undefined")return J;let oe=Promise.resolve().then(()=>p(v));return g.set(v.locatorHash,oe),oe},I=async(v,J)=>{let oe=await w(J);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,oe.locatorHash),oe},y=async v=>{let J=this.resolutionAliases.get(v.descriptorHash);if(typeof J!="undefined")return I(v,this.storedDescriptors.get(J));let oe=n.getResolutionDependencies(v,o),T=new Map(await Promise.all(oe.map(async ee=>[ee.descriptorHash,await w(ee)]))),W=(await ql(async()=>await n.getCandidates(v,T,o),ee=>`${Tt(this.configuration,v)}: ${ee}`))[0];if(typeof W=="undefined")throw new Error(`${Tt(this.configuration,v)}: No candidates found`);return a.set(v.descriptorHash,v),c.set(v.descriptorHash,W.locatorHash),m(W)},w=v=>{let J=h.get(v.descriptorHash);if(typeof J!="undefined")return J;a.set(v.descriptorHash,v);let oe=Promise.resolve().then(()=>y(v));return h.set(v.descriptorHash,oe),oe};for(let v of this.workspaces){let J=v.anchoredDescriptor;f.push(w(J))}for(;f.length>0;){let v=[...f];f.length=0,await Promise.all(v)}let x=new Set(this.resolutionAliases.values()),F=new Set(l.keys()),N=new Set,K=new Map;Bve({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:x,optionalBuilds:F,peerRequirements:K,allDescriptors:a,allResolutions:c,allPackages:l});for(let v of x)a.delete(v),c.delete(v);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=F,this.peerRequirements=K,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r},a=Array.from(new Set(bi(this.storedResolutions.values(),[g=>{let h=this.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The locator should have been registered");return gn(h)}])));n===kr.UpdateLockfile&&(a=a.filter(g=>!this.storedChecksums.has(g)));let l=!1,c=ci.progressViaCounter(a.length);r.reportProgress(c);let u=(0,cV.default)(Ive);if(await r.startCacheReport(async()=>{await Promise.all(a.map(g=>u(async()=>{let h=this.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(os(h))return;let f;try{f=await s.fetch(h,o)}catch(p){p.message=`${it(this.configuration,h)}: ${p.message}`,r.reportExceptionOnce(p),l=p;return}f.checksum?this.storedChecksums.set(h.locatorHash,f.checksum):this.storedChecksums.delete(h.locatorHash),f.releaseFs&&f.releaseFs()}).finally(()=>{c.tick()})))}),l)throw l}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var oe;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(T=>{let A=T.makeInstaller(l),W=A.getCustomDataKey(),ee=this.installersCustomData.get(W);return typeof ee!="undefined"&&A.attachCustomData(ee),[T,A]})),u=new Map,g=new Map,h=new Map,f=new Map(await Promise.all([...this.accessibleLocators].map(async T=>{let A=this.storedPackages.get(T);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[T,await s.fetch(A,o)]})));for(let T of this.accessibleLocators){let A=this.storedPackages.get(T);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let W=f.get(A.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let ee=this.tryWorkspaceByLocator(A);if(ee!==null){let re=[],{scripts:H}=ee.manifest;for(let ke of["preinstall","install","postinstall"])H.has(ke)&&re.push([Vi.SCRIPT,ke]);try{for(let[ke,Le]of c)if(ke.supportsPackage(A,l)&&(await Le.installPackage(A,W)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{W.releaseFs&&W.releaseFs()}let R=B.join(W.packageFs.getRealPath(),W.prefixPath);g.set(A.locatorHash,R),!os(A)&&re.length>0&&h.set(A.locatorHash,{directives:re,buildLocations:[R]})}else{let re=a.find(ke=>ke.supportsPackage(A,l));if(!re)throw new Ze(z.LINKER_NOT_FOUND,`${it(this.configuration,A)} isn't supported by any available linker`);let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");let R;try{R=await H.installPackage(A,W)}finally{W.releaseFs&&W.releaseFs()}u.set(A.locatorHash,re),g.set(A.locatorHash,R.packageLocation),R.buildDirective&&R.packageLocation&&h.set(A.locatorHash,{directives:R.buildDirective,buildLocations:[R.packageLocation]})}}let p=new Map;for(let T of this.accessibleLocators){let A=this.storedPackages.get(T);if(!A)throw new Error("Assertion failed: The locator should have been registered");let W=this.tryWorkspaceByLocator(A)!==null,ee=async(re,H)=>{let R=g.get(A.locatorHash);if(typeof R=="undefined")throw new Error(`Assertion failed: The package (${it(this.configuration,A)}) should have been registered`);let ke=[];for(let Le of A.dependencies.values()){let qe=this.storedResolutions.get(Le.descriptorHash);if(typeof qe=="undefined")throw new Error(`Assertion failed: The resolution (${Tt(this.configuration,Le)}, from ${it(this.configuration,A)})should have been registered`);let Ke=this.storedPackages.get(qe);if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${qe}, resolved from ${Tt(this.configuration,Le)}) should have been registered`);let ie=this.tryWorkspaceByLocator(Ke)===null?u.get(qe):null;if(typeof ie=="undefined")throw new Error(`Assertion failed: The package (${qe}, resolved from ${Tt(this.configuration,Le)}) should have been registered`);ie===re||W||ie===null?g.get(Ke.locatorHash)!==null&&ke.push([Le,Ke]):R!==null&&Gl(p,qe).push(R)}R!==null&&await H.attachInternalDependencies(A,ke)};if(W)for(let[re,H]of c)re.supportsPackage(A,l)&&await ee(re,H);else{let re=u.get(A.locatorHash);if(!re)throw new Error("Assertion failed: The linker should have been found");let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");await ee(re,H)}}for(let[T,A]of p){let W=this.storedPackages.get(T);if(!W)throw new Error("Assertion failed: The package should have been registered");let ee=u.get(W.locatorHash);if(!ee)throw new Error("Assertion failed: The linker should have been found");let re=c.get(ee);if(!re)throw new Error("Assertion failed: The installer should have been registered");await re.attachExternalDependents(W,A)}let m=new Map;for(let T of c.values()){let A=await T.finalizeInstall();for(let W of(oe=A==null?void 0:A.records)!=null?oe:[])h.set(W.locatorHash,{directives:W.buildDirective,buildLocations:W.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(T.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n===kr.SkipBuild)return;let I=new Set(this.storedPackages.keys()),y=new Set(h.keys());for(let T of y)I.delete(T);let w=(0,fy.createHash)("sha512");w.update(process.versions.node),await this.configuration.triggerHook(T=>T.globalHashGeneration,this,T=>{w.update("\0"),w.update(T)});let x=w.digest("hex"),F=new Map,N=T=>{let A=F.get(T.locatorHash);if(typeof A!="undefined")return A;let W=this.storedPackages.get(T.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The package should have been registered");let ee=(0,fy.createHash)("sha512");ee.update(T.locatorHash),F.set(T.locatorHash,"");for(let re of W.dependencies.values()){let H=this.storedResolutions.get(re.descriptorHash);if(typeof H=="undefined")throw new Error(`Assertion failed: The resolution (${Tt(this.configuration,re)}) should have been registered`);let R=this.storedPackages.get(H);if(typeof R=="undefined")throw new Error("Assertion failed: The package should have been registered");ee.update(N(R))}return A=ee.digest("hex"),F.set(T.locatorHash,A),A},K=(T,A)=>{let W=(0,fy.createHash)("sha512");W.update(x),W.update(N(T));for(let ee of A)W.update(ee);return W.digest("hex")},v=new Map,J=!1;for(;y.size>0;){let T=y.size,A=[];for(let W of y){let ee=this.storedPackages.get(W);if(!ee)throw new Error("Assertion failed: The package should have been registered");let re=!0;for(let ke of ee.dependencies.values()){let Le=this.storedResolutions.get(ke.descriptorHash);if(!Le)throw new Error(`Assertion failed: The resolution (${Tt(this.configuration,ke)}) should have been registered`);if(y.has(Le)){re=!1;break}}if(!re)continue;y.delete(W);let H=h.get(ee.locatorHash);if(!H)throw new Error("Assertion failed: The build directive should have been registered");let R=K(ee,H.buildLocations);if(this.storedBuildState.get(ee.locatorHash)===R){v.set(ee.locatorHash,R);continue}J||(await this.persistInstallStateFile(),J=!0),this.storedBuildState.has(ee.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${it(this.configuration,ee)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${it(this.configuration,ee)} must be built because it never has been before or the last one failed`);for(let ke of H.buildLocations){if(!B.isAbsolute(ke))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${ke})`);A.push((async()=>{for(let[Le,qe]of H.directives){let Ke=`# This file contains the result of Yarn building a package (${gn(ee)}) +`;switch(Le){case Vi.SCRIPT:Ke+=`# Script name: ${qe} +`;break;case Vi.SHELLCODE:Ke+=`# Script code: ${qe} +`;break}let ie=null;if(!await M.mktempPromise(async Se=>{let he=B.join(Se,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(he,{header:Ke,prefix:it(this.configuration,ee),report:r}),Qe;try{switch(Le){case Vi.SCRIPT:Qe=await _I(ee,qe,[],{cwd:ke,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Vi.SHELLCODE:Qe=await RS(ee,qe,[],{cwd:ke,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),Qe=1}if(Ie.end(),pe.end(),Qe===0)return v.set(ee.locatorHash,R),!0;M.detachTemp(Se);let Z=`${it(this.configuration,ee)} couldn't be built successfully (exit code ${je(this.configuration,Qe,ve.NUMBER)}, logs can be found here: ${je(this.configuration,he,ve.PATH)})`;return this.optionalBuilds.has(ee.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),v.set(ee.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),T===y.size){let W=Array.from(y).map(ee=>{let re=this.storedPackages.get(ee);if(!re)throw new Error("Assertion failed: The package should have been registered");return it(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=v}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=le.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qr.Inactive;let i=B.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let h=je(this.configuration,g,ve.PACKAGE_EXTENSION);switch(g.status){case qr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${h}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qr.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${h}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=kl(n,this.generateLockfile());if(c!==n){let u=(0,lV.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let h of g.lines)h.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ve.ADDED)):h.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,je(this.configuration,h,ve.REMOVED)):e.report.reportInfo(null,je(this.configuration,h,"grey"))}throw e.report.reportSeparator(),new Ze(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qr.Active&&((l=le.telemetry)==null||l.reportPackageExtension(oc(g,ve.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==kr.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Nm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===kr.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${je(this.configuration,"mode=update-lockfile",ve.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Nm(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:YP};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let h of s){let f=this.storedDescriptors.get(h);if(!f)throw new Error("Assertion failed: The descriptor should have been registered");a.push(f)}let l=a.map(h=>xi(h)).sort().join(", "),c=new We;c.version=o.linkType===At.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let h=g.indexOf("/");if(h===-1)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");let f=g.slice(0,h),p=g.slice(h+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=f),f===r.__metadata.cacheKey?u=p:u=g}r[l]=V(k({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:gn(o),checksum:u})}return`${[`# This file is generated by running "yarn install" inside your project. `,`# Manual changes might be lost - proceed with caution! `].join("")} -`+_s(r)}async persistLockfile(){let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await M.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(KP))e.push(...o);let r=(0,hy.default)(this,e),i=NP.default.serialize(r),n=ni(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(B.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await lve(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!M.existsSync(n)){r&&await this.applyLightResolution();return}let s=await cve(await M.readFilePromise(n));this.installStateChecksum=ni(s);let o=NP.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,hy.default)(o,KP.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,hy.default)(o,KP.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Br}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!qw(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=B.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function uve({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],h=new Map,f=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(K=>{let A=K.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,gh(W)]})),b=()=>{let K=M.mktempSync(),A=B.join(K,"stacktrace.log"),W=String(g.length+1).length,$=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${ln(re)} -`).join("");throw M.writeFileSync(A,$),M.detachTemp(K),new Ze(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${L.fromPortablePath(A)}`)},x=K=>{let A=r.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(K,A,{top:W,optional:$})=>{g.length>1e3&&b(),g.push(K);let re=N(K,A,{top:W,optional:$});return g.pop(),re},N=(K,A,{top:W,optional:$})=>{if(n.has(K.locatorHash))return;n.add(K.locatorHash),$||s.delete(K.locatorHash);let re=i.get(K.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${it(t.configuration,K)}) should have been registered`)}let H=[],R=[],Pe=[],Le=[],Ge=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(jo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let le=$;if(!le){let ae=re.dependenciesMeta.get(dt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(le=!0)}}let be=r.get(ie.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Kt(t.configuration,ie)}) should have been registered`)}let he=y.get(be)||i.get(be);if(!he)throw new Error(`Assertion failed: The package (${be}, resolved from ${Kt(t.configuration,ie)}) should have been registered`);if(he.peerDependencies.size===0){F(he,new Map,{top:W,optional:le});continue}let Ie=u.get(he.locatorHash);typeof Ie=="number"&&Ie>=2&&b();let pe,ve,Z=new Set,X;R.push(()=>{pe=tb(ie,K.locatorHash),ve=rb(he,K.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,ve.locatorHash),e.set(pe.descriptorHash,pe),i.set(ve.locatorHash,ve),H.push([he,pe,ve])}),Pe.push(()=>{var ae;X=new Map;for(let ue of ve.peerDependencies.values()){let we=re.dependencies.get(ue.identHash);if(!we&&ph(K,ue)&&(we=Mm(K),e.set(we.descriptorHash,we),r.set(we.descriptorHash,K.locatorHash),o.delete(we.descriptorHash)),(!we||we.range==="missing:")&&ve.dependencies.has(ue.identHash)){ve.peerDependencies.delete(ue.identHash);continue}we||(we=Wt(ue,"missing:")),ve.dependencies.set(we.identHash,we),jo(we)&&sA(p,we.descriptorHash).add(ve.locatorHash),h.set(we.identHash,we),we.range==="missing:"&&Z.add(we.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:ve.locatorHash)}ve.dependencies=new Map(Bi(ve.dependencies,([ue,we])=>dt(we)))}),Le.push(()=>{if(!i.has(ve.locatorHash))return;let ae=u.get(he.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(he.locatorHash,ue),F(ve,X,{top:W,optional:le}),u.set(he.locatorHash,ue-1)}),Ge.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(sA(I,ue).add(K.locatorHash),!!i.has(ve.locatorHash)){for(let we of ve.peerDependencies.values()){let lt=X.get(we.identHash);if(typeof lt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Jl(Wl(m,lt),dt(we)).push(ve.locatorHash)}for(let we of Z)ve.dependencies.delete(we)}})}for(let ie of[...R,...Pe])ie();let Ke;do{Ke=!0;for(let[ie,le,be]of H){if(!i.has(be.locatorHash))continue;let he=Wl(f,ie.locatorHash),Ie=ni(...[...be.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Kt(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),le.identHash),pe=he.get(Ie);if(typeof pe=="undefined"){he.set(Ie,le);continue}if(pe===le)continue;Ke=!1,i.delete(be.locatorHash),e.delete(le.descriptorHash),r.delete(le.descriptorHash),n.delete(be.locatorHash);let ve=p.get(le.descriptorHash)||[],Z=[re.locatorHash,...ve];p.delete(le.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(le.identHash,pe)}}}while(!Ke);for(let ie of[...Le,...Ge])ie()};for(let K of t.workspaces){let A=K.anchoredLocator;o.delete(K.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var U;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(U||(U={}));let v=[];for(let[K,A]of I){let W=i.get(K);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let $=m.get(K);if(typeof $!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,Pe]of $){let Le=Qi(R);if(H.peerDependencies.has(Le.identHash))continue;let Ge=`p${ni(re,R,K).slice(0,5)}`;a.set(Ge,{subject:re,requested:Le,rootRequester:K,allRequesters:Pe});let Ke=W.dependencies.get(Le.identHash);if(typeof Ke!="undefined"){let le=(oe=x(Ke).version)!=null?oe:"0.0.0",be=new Set;for(let Ie of Pe){let pe=i.get(Ie);if(typeof pe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let ve=pe.peerDependencies.get(Le.identHash);if(typeof ve=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");be.add(ve.range)}[...be].every(Ie=>Xh(le,Ie))||v.push({type:1,subject:H,requested:Le,requester:W,version:le,hash:Ge,requirementCount:Pe.length})}else{let ie=W.peerDependenciesMeta.get(R);(ie==null?void 0:ie.optional)||v.push({type:0,subject:H,requested:Le,requester:W,hash:Ge})}}}}let J=[K=>sb(K.subject),K=>dt(K.requested),K=>`${K.type}`];for(let K of Bi(v,J))switch(K.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${it(t.configuration,K.subject)} doesn't provide ${mr(t.configuration,K.requested)} (${je(t.configuration,K.hash,ke.CODE)}), requested by ${mr(t.configuration,K.requester)}`);break;case 1:{let A=K.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${it(t.configuration,K.subject)} provides ${mr(t.configuration,K.requested)} (${je(t.configuration,K.hash,ke.CODE)}) with version ${Ch(t.configuration,K.version)}, which doesn't satisfy what ${mr(t.configuration,K.requester)} ${A}`)}break}v.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${je(t.configuration,"yarn explain peer-requirements ",ke.CODE)} for details, where ${je(t.configuration,"",ke.CODE)} is the six-letter p-prefixed code`))}var ps;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(ps||(ps={}));var Nf=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(ps.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(ps.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(ps.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ps.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ps.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ps.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ps.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ps.DEPENDENCY_COUNT,String(e))}reportValue(e,r){sA(this.values,e).add(r)}reportEnumerator(e,r){sA(this.enumerators,e).add(ni(r))}reportHit(e,r="*"){let i=Wl(this.hits,e),n=Ms(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return B.join(e,"telemetry.json")}sendReport(e){var u,g,h;let r=this.getRegistryPath(),i;try{i=M.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(B.dirname(r),{recursive:!0}),M.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=f=>xS(l,f,{configuration:this.configuration}).catch(()=>{});for(let[f,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=f,m.reportType="primary";for(let b of Object.keys((h=m.enumerators)!=null?h:{}))m.enumerators[b]=m.enumerators[b].length;c(m);let I=new Map,y=20;for(let[b,x]of Object.entries(m.values))x.length>0&&I.set(b,x.slice(0,y));for(;I.size>0;){let b={};b.userId=f,b.reportType="secondary",b.metrics={};for(let[x,F]of I)b.metrics[x]=F.shift(),F.length===0&&I.delete(x);c(b)}}}applyChanges(){var o,a,l,c,u,g,h,f,p;let e=this.getRegistryPath(),r;try{r=M.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[b,x]of this.hits.get(m))y[b]=((g=y[b])!=null?g:0)+x}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(h=s[m])!=null?h:{};y[I]=[...new Set([...(f=y[I])!=null?f:[],...(p=this[m].get(I))!=null?p:[]])]}M.mkdirSync(B.dirname(e),{recursive:!0}),M.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var TP=te(require("child_process")),a9=te(Lg());var UP=te(require("fs"));var hu=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function gve(t){let e=L.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,TP.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:V(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,TP.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:V(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function fy({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new _n({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var g,h,f,p,m;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!vt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await Ae.find(L.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd");if(!c&&!u&&l===L.toPortablePath(L.resolve(process.argv[1]))){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!M.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{gve(l)}catch(I){process.exitCode=I.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!a9.isCI&&process.stdout.isTTY&&(Ae.telemetry=new Nf(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(g=Ae.telemetry)==null||g.reportVersion(t);for(let[x,F]of a.plugins.entries()){hu.has((f=(h=x.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:h[1])!=null?f:"")&&((p=Ae.telemetry)==null||p.reportPluginName(x));for(let N of F.commands||[])n.register(N)}let y=n.process(process.argv.slice(2));y.help||(m=Ae.telemetry)==null||m.reportCommandName(y.path.join(" "));let b=y.cwd;if(typeof b!="undefined"&&!u){let x=(0,UP.realpathSync)(process.cwd()),F=(0,UP.realpathSync)(b);if(x!==F){process.chdir(b),await r();return}}await n.runExit(y,{cwd:L.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function A9(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var sp={};$e(sp,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>Xe,getDynamicLibs:()=>BZ,getPluginConfiguration:()=>jy,main:()=>fy,openWorkspace:()=>bu,pluginCommands:()=>hu});var Be=class extends fe{constructor(){super(...arguments);this.cwd=j.String("--cwd",{hidden:!0})}};var Xe=class extends me{constructor(e,r){let i=B.relative(e,r),n=B.join(e,ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var mKe=te(Cr());Mo();var IKe=te(Kk()),BZ=()=>new Map([["@yarnpkg/cli",sp],["@yarnpkg/core",Mf],["@yarnpkg/fslib",Pg],["@yarnpkg/libzip",Mh],["@yarnpkg/parsers",Gh],["@yarnpkg/shell",Jh],["clipanion",Hg],["semver",mKe],["typanion",Hl],["yup",IKe]]);async function bu(t,e){let{project:r,workspace:i}=await Fe.find(t,e);if(!i)throw new Xe(r.cwd,e);return i}var BWe=te(Cr());Mo();var wWe=te(Kk());var kv={};$e(kv,{dedupeUtils:()=>yv,default:()=>oHe,suggestUtils:()=>av});var Xte=te(Lg());var P$=te(lp());var av={};$e(av,{Modifier:()=>hl,Strategy:()=>sr,Target:()=>er,applyModifier:()=>D$,extractDescriptorFromPath:()=>cv,extractRangeModifier:()=>S$,fetchDescriptorFrom:()=>lv,findProjectDescriptors:()=>x$,getModifier:()=>cp,getSuggestedDescriptors:()=>up});var Av=te(Cr()),er;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(er||(er={}));var hl;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(hl||(hl={}));var sr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(sr||(sr={}));function cp(t,e){return t.exact?hl.EXACT:t.caret?hl.CARET:t.tilde?hl.TILDE:e.configuration.get("defaultSemverRangePrefix")}var OTe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function S$(t,{project:e}){let r=t.match(OTe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function D$(t,e){let{protocol:r,source:i,params:n,selector:s}=w.parseRange(t.range);return Av.default.valid(s)&&(s=`${e}${t.range}`),w.makeDescriptor(t,w.makeRange({protocol:r,source:i,params:n,selector:s}))}async function x$(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===er.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===er.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function cv(t,{cwd:e,workspace:r}){return await KTe(async i=>{B.isAbsolute(t)||(t=B.relative(r.cwd,B.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await lv(w.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new Br,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=w.convertDescriptorToLocator(u),h=await l.fetch(g,c),f=await ze.find(h.prefixPath,{baseFs:h.packageFs});if(!f.name)throw new Error("Target path doesn't have a name");return w.makeDescriptor(f.name,t)})}async function up(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${w.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async h=>{try{await h()}catch(f){u.push(f)}};for(let h of o){if(c.length>=a)break;switch(h){case sr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${w.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case sr.REUSE:await g(async()=>{for(let{descriptor:f,locators:p}of(await x$(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(sr.KEEP))continue;let m=`(originally used by ${w.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:f,name:`Reuse ${w.prettyDescriptor(e.configuration,f)}`,reason:m})}});break;case sr.CACHE:await g(async()=>{for(let f of e.storedDescriptors.values())f.identHash===t.identHash&&c.push({descriptor:f,name:`Reuse ${w.prettyDescriptor(e.configuration,f)}`,reason:"(already used somewhere in the lockfile)"})});break;case sr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let f=e.tryWorkspaceByIdent(t);f!==null&&c.push({descriptor:f.anchoredDescriptor,name:`Attach ${w.prettyWorkspace(e.configuration,f)}`,reason:`(local workspace at ${f.cwd})`})});break;case sr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${w.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===er.PEER)c.push({descriptor:w.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ce.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let f=await lv(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});f&&(f=D$(f,s),c.push({descriptor:f,name:`Use ${w.prettyDescriptor(e.configuration,f)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function lv(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=w.makeDescriptor(t,e),a=new Br,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g=V(P({},u),{resolver:c,fetchOptions:u}),h=c.bindDescriptor(o,n.anchoredLocator,g),f=await c.getCandidates(h,new Map,g);if(f.length===0)return null;let p=f[0],{protocol:m,source:I,params:y,selector:b}=w.parseRange(w.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),Av.default.valid(b)&&s!==!1){let x=typeof s=="string"?s:o.range;b=S$(x,{project:r})+b}return w.makeDescriptor(p,w.makeRange({protocol:m,source:I,params:y,selector:b}))}async function KTe(t){return await M.mktempPromise(async e=>{let r=Ae.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new gt(e,{configuration:r,check:!1,immutable:!1}))})}var gp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=j.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=j.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=j.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=j.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=j.Boolean("-i,--interactive",!1,{description:"Reuse the specified package from other workspaces in the project"});this.cached=j.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.packages=j.Rest()}async execute(){var m;let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=cp(this,r),a=[...s?[sr.REUSE]:[],sr.PROJECT,...this.cached?[sr.CACHE]:[],sr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await cv(I,{cwd:this.context.cwd,workspace:i}):w.parseDescriptor(I),b=TTe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),x=await up(y,{project:r,workspace:i,cache:n,target:b,modifier:o,strategies:a,maxResults:l});return[y,x,b]})),u=await ao.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:b,rejections:x}]of c)if(b.filter(N=>N.descriptor!==null).length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,h=[],f=[];for(let[,{suggestions:I},y]of c){let b,x=I.filter(v=>v.descriptor!==null),F=x[0].descriptor,N=x.every(v=>w.areDescriptorsEqual(v.descriptor,F));x.length===1||N?b=F:(g=!0,{answer:b}=await(0,P$.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:v,name:J,reason:oe})=>v?{name:J,hint:oe,descriptor:v}:{name:J,hint:oe,disabled:!0}),onCancel:()=>process.exit(130),result(v){return this.find(v,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let U=i.manifest[y].get(b.identHash);(typeof U=="undefined"||U.descriptorHash!==b.descriptorHash)&&(i.manifest[y].set(b.identHash,b),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta(V(P({},b),{range:"unknown"})).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(V(P({},b),{range:"unknown"})).optional=!0)),typeof U=="undefined"?h.push([i,y,b,a]):f.push([i,y,U,b]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,h),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),g&&this.context.stdout.write(` -`),(await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I})})).exitCode()}};gp.paths=[["add"]],gp.usage=fe.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var k$=gp;function TTe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?er.PEER:r||n?er.DEVELOPMENT:o?er.REGULAR:a?er.DEVELOPMENT:er.REGULAR}var hp=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=j.String({required:!1})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await bt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${w.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} -`),0}return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await bt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:w.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${w.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};hp.paths=[["bin"]],hp.usage=fe.Usage({description:"get the path to a binary script",details:` +`+ro(r)}async persistLockfile(){let e=B.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await M.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(GP))e.push(...o);let r=(0,py.default)(this,e),i=UP.default.serialize(r),n=ai(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(B.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await Eve(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!M.existsSync(n)){r&&await this.applyLightResolution();return}let s=await yve(await M.readFilePromise(n));this.installStateChecksum=ai(s);let o=UP.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,py.default)(o,GP.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,py.default)(o,GP.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new wr}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Jw(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=B.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${je(this.configuration,B.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function Bve({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],h=new Map,f=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(T=>{let A=T.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,mh(W)]})),w=()=>{let T=M.mktempSync(),A=B.join(T,"stacktrace.log"),W=String(g.length+1).length,ee=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${gn(re)} +`).join("");throw M.writeFileSync(A,ee),M.detachTemp(T),new Ze(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${L.fromPortablePath(A)}`)},x=T=>{let A=r.get(T.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(T,A,{top:W,optional:ee})=>{g.length>1e3&&w(),g.push(T);let re=N(T,A,{top:W,optional:ee});return g.pop(),re},N=(T,A,{top:W,optional:ee})=>{if(n.has(T.locatorHash))return;n.add(T.locatorHash),ee||s.delete(T.locatorHash);let re=i.get(T.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${it(t.configuration,T)}) should have been registered`)}let H=[],R=[],ke=[],Le=[],qe=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(qo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let ce=ee;if(!ce){let ae=re.dependenciesMeta.get(pt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(ce=!0)}}let Se=r.get(ie.descriptorHash);if(!Se){if(c)continue;throw new Error(`Assertion failed: The resolution (${Tt(t.configuration,ie)}) should have been registered`)}let he=y.get(Se)||i.get(Se);if(!he)throw new Error(`Assertion failed: The package (${Se}, resolved from ${Tt(t.configuration,ie)}) should have been registered`);if(he.peerDependencies.size===0){F(he,new Map,{top:W,optional:ce});continue}let Ie=u.get(he.locatorHash);typeof Ie=="number"&&Ie>=2&&w();let pe,Qe,Z=new Set,X;R.push(()=>{pe=ob(ie,T.locatorHash),Qe=ab(he,T.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,Qe.locatorHash),e.set(pe.descriptorHash,pe),i.set(Qe.locatorHash,Qe),H.push([he,pe,Qe])}),ke.push(()=>{var ae;X=new Map;for(let ue of Qe.peerDependencies.values()){let we=re.dependencies.get(ue.identHash);if(!we&&yh(T,ue)&&(we=Tm(T),e.set(we.descriptorHash,we),r.set(we.descriptorHash,T.locatorHash),o.delete(we.descriptorHash)),(!we||we.range==="missing:")&&Qe.dependencies.has(ue.identHash)){Qe.peerDependencies.delete(ue.identHash);continue}we||(we=zt(ue,"missing:")),Qe.dependencies.set(we.identHash,we),qo(we)&&iA(p,we.descriptorHash).add(Qe.locatorHash),h.set(we.identHash,we),we.range==="missing:"&&Z.add(we.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:Qe.locatorHash)}Qe.dependencies=new Map(bi(Qe.dependencies,([ue,we])=>pt(we)))}),Le.push(()=>{if(!i.has(Qe.locatorHash))return;let ae=u.get(he.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(he.locatorHash,ue),F(Qe,X,{top:W,optional:ce}),u.set(he.locatorHash,ue-1)}),qe.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(iA(I,ue).add(T.locatorHash),!!i.has(Qe.locatorHash)){for(let we of Qe.peerDependencies.values()){let lt=X.get(we.identHash);if(typeof lt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Gl(jl(m,lt),pt(we)).push(Qe.locatorHash)}for(let we of Z)Qe.dependencies.delete(we)}})}for(let ie of[...R,...ke])ie();let Ke;do{Ke=!0;for(let[ie,ce,Se]of H){if(!i.has(Se.locatorHash))continue;let he=jl(f,ie.locatorHash),Ie=ai(...[...Se.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Tt(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),ce.identHash),pe=he.get(Ie);if(typeof pe=="undefined"){he.set(Ie,ce);continue}if(pe===ce)continue;Ke=!1,i.delete(Se.locatorHash),e.delete(ce.descriptorHash),r.delete(ce.descriptorHash),n.delete(Se.locatorHash);let Qe=p.get(ce.descriptorHash)||[],Z=[re.locatorHash,...Qe];p.delete(ce.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(ce.identHash,pe)}}}while(!Ke);for(let ie of[...Le,...qe])ie()};for(let T of t.workspaces){let A=T.anchoredLocator;o.delete(T.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var K;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(K||(K={}));let v=[];for(let[T,A]of I){let W=i.get(T);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let ee=m.get(T);if(typeof ee!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,ke]of ee){let Le=Si(R);if(H.peerDependencies.has(Le.identHash))continue;let qe=`p${ai(re,R,T).slice(0,5)}`;a.set(qe,{subject:re,requested:Le,rootRequester:T,allRequesters:ke});let Ke=W.dependencies.get(Le.identHash);if(typeof Ke!="undefined"){let ce=(oe=x(Ke).version)!=null?oe:"0.0.0",Se=new Set;for(let Ie of ke){let pe=i.get(Ie);if(typeof pe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let Qe=pe.peerDependencies.get(Le.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");Se.add(Qe.range)}[...Se].every(Ie=>rf(ce,Ie))||v.push({type:1,subject:H,requested:Le,requester:W,version:ce,hash:qe,requirementCount:ke.length})}else{let ie=W.peerDependenciesMeta.get(R);(ie==null?void 0:ie.optional)||v.push({type:0,subject:H,requested:Le,requester:W,hash:qe})}}}}let J=[T=>cb(T.subject),T=>pt(T.requested),T=>`${T.type}`];for(let T of bi(v,J))switch(T.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${it(t.configuration,T.subject)} doesn't provide ${mr(t.configuration,T.requested)} (${je(t.configuration,T.hash,ve.CODE)}), requested by ${mr(t.configuration,T.requester)}`);break;case 1:{let A=T.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${it(t.configuration,T.subject)} provides ${mr(t.configuration,T.requested)} (${je(t.configuration,T.hash,ve.CODE)}) with version ${wh(t.configuration,T.version)}, which doesn't satisfy what ${mr(t.configuration,T.requester)} ${A}`)}break}v.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${je(t.configuration,"yarn explain peer-requirements ",ve.CODE)} for details, where ${je(t.configuration,"",ve.CODE)} is the six-letter p-prefixed code`))}var ms;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(ms||(ms={}));var Hf=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(ms.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(ms.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(ms.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(ms.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(ms.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(ms.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(ms.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(ms.DEPENDENCY_COUNT,String(e))}reportValue(e,r){iA(this.values,e).add(r)}reportEnumerator(e,r){iA(this.enumerators,e).add(ai(r))}reportHit(e,r="*"){let i=jl(this.hits,e),n=Us(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return B.join(e,"telemetry.json")}sendReport(e){var u,g,h;let r=this.getRegistryPath(),i;try{i=M.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(B.dirname(r),{recursive:!0}),M.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=f=>RD(l,f,{configuration:this.configuration}).catch(()=>{});for(let[f,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=f,m.reportType="primary";for(let w of Object.keys((h=m.enumerators)!=null?h:{}))m.enumerators[w]=m.enumerators[w].length;c(m);let I=new Map,y=20;for(let[w,x]of Object.entries(m.values))x.length>0&&I.set(w,x.slice(0,y));for(;I.size>0;){let w={};w.userId=f,w.reportType="secondary",w.metrics={};for(let[x,F]of I)w.metrics[x]=F.shift(),F.length===0&&I.delete(x);c(w)}}}applyChanges(){var o,a,l,c,u,g,h,f,p;let e=this.getRegistryPath(),r;try{r=M.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[w,x]of this.hits.get(m))y[w]=((g=y[w])!=null?g:0)+x}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(h=s[m])!=null?h:{};y[I]=[...new Set([...(f=y[I])!=null?f:[],...(p=this[m].get(I))!=null?p:[]])]}M.mkdirSync(B.dirname(e),{recursive:!0}),M.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var jP=te(require("child_process")),hV=te(Tg());var qP=te(require("fs"));var hu=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function wve(t){let e=L.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,jP.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:V(k({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,jP.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:V(k({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function dy({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new rs({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,m,I,y,w;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!kt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await le.find(L.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=L.toPortablePath(L.resolve(process.argv[1])),h=x=>M.readFilePromise(x).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([h(l),h(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!M.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{wve(l)}catch(x){process.exitCode=x.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!hV.isCI&&process.stdout.isTTY&&(le.telemetry=new Hf(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=le.telemetry)==null||p.reportVersion(t);for(let[K,v]of a.plugins.entries()){hu.has((I=(m=K.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:m[1])!=null?I:"")&&((y=le.telemetry)==null||y.reportPluginName(K));for(let J of v.commands||[])n.register(J)}let F=n.process(process.argv.slice(2));F.help||(w=le.telemetry)==null||w.reportCommandName(F.path.join(" "));let N=F.cwd;if(typeof N!="undefined"&&!u){let K=(0,qP.realpathSync)(process.cwd()),v=(0,qP.realpathSync)(N);if(K!==v){process.chdir(N),await r();return}}await n.runExit(F,{cwd:L.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function fV(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var gp={};$e(gp,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>Xe,getDynamicLibs:()=>xZ,getPluginConfiguration:()=>Jy,main:()=>dy,openWorkspace:()=>bu,pluginCommands:()=>hu});var Be=class extends fe{constructor(){super(...arguments);this.cwd=G.String("--cwd",{hidden:!0})}};var Xe=class extends me{constructor(e,r){let i=B.relative(e,r),n=B.join(e,We.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var PKe=te(Cr());Fn();var kKe=te(Gk()),xZ=()=>new Map([["@yarnpkg/cli",gp],["@yarnpkg/core",Yf],["@yarnpkg/fslib",Lg],["@yarnpkg/libzip",Yh],["@yarnpkg/parsers",Xh],["@yarnpkg/shell",_h],["clipanion",Zg],["semver",PKe],["typanion",Hl],["yup",kKe]]);async function bu(t,e){let{project:r,workspace:i}=await Fe.find(t,e);if(!i)throw new Xe(r.cwd,e);return i}var LWe=te(Cr());Fn();var NWe=te(Gk());var Lv={};$e(Lv,{dedupeUtils:()=>bv,default:()=>mHe,suggestUtils:()=>gv});var sre=te(Tg());var N$=te(dp());Fn();var gv={};$e(gv,{Modifier:()=>ul,Strategy:()=>sr,Target:()=>er,applyModifier:()=>R$,extractDescriptorFromPath:()=>pv,extractRangeModifier:()=>F$,fetchDescriptorFrom:()=>fv,findProjectDescriptors:()=>L$,getModifier:()=>Cp,getSuggestedDescriptors:()=>mp});var hv=te(Cr()),er;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(er||(er={}));var ul;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ul||(ul={}));var sr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(sr||(sr={}));function Cp(t,e){return t.exact?ul.EXACT:t.caret?ul.CARET:t.tilde?ul.TILDE:e.configuration.get("defaultSemverRangePrefix")}var zTe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function F$(t,{project:e}){let r=t.match(zTe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function R$(t,e){let{protocol:r,source:i,params:n,selector:s}=Q.parseRange(t.range);return hv.default.valid(s)&&(s=`${e}${t.range}`),Q.makeDescriptor(t,Q.makeRange({protocol:r,source:i,params:n,selector:s}))}async function L$(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===er.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===er.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function pv(t,{cwd:e,workspace:r}){return await VTe(async i=>{B.isAbsolute(t)||(t=B.relative(r.cwd,B.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await fv(Q.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new wr,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=Q.convertDescriptorToLocator(u),h=await l.fetch(g,c),f=await We.find(h.prefixPath,{baseFs:h.packageFs});if(!f.name)throw new Error("Target path doesn't have a name");return Q.makeDescriptor(f.name,t)})}async function mp(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${Q.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async h=>{try{await h()}catch(f){u.push(f)}};for(let h of o){if(c.length>=a)break;switch(h){case sr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${Q.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case sr.REUSE:await g(async()=>{for(let{descriptor:f,locators:p}of(await L$(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(sr.KEEP))continue;let m=`(originally used by ${Q.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:f,name:`Reuse ${Q.prettyDescriptor(e.configuration,f)}`,reason:m})}});break;case sr.CACHE:await g(async()=>{for(let f of e.storedDescriptors.values())f.identHash===t.identHash&&c.push({descriptor:f,name:`Reuse ${Q.prettyDescriptor(e.configuration,f)}`,reason:"(already used somewhere in the lockfile)"})});break;case sr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let f=e.tryWorkspaceByIdent(t);f!==null&&c.push({descriptor:f.anchoredDescriptor,name:`Attach ${Q.prettyWorkspace(e.configuration,f)}`,reason:`(local workspace at ${f.cwd})`})});break;case sr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${Q.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===er.PEER)c.push({descriptor:Q.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:Ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let f=await fv(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});f&&(f=R$(f,s),c.push({descriptor:f,name:`Use ${Q.prettyDescriptor(e.configuration,f)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function fv(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=Q.makeDescriptor(t,e),a=new wr,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g=V(k({},u),{resolver:c,fetchOptions:u}),h=c.bindDescriptor(o,n.anchoredLocator,g),f=await c.getCandidates(h,new Map,g);if(f.length===0)return null;let p=f[0],{protocol:m,source:I,params:y,selector:w}=Q.parseRange(Q.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),hv.default.valid(w)&&s!==!1){let x=typeof s=="string"?s:o.range;w=F$(x,{project:r})+w}return Q.makeDescriptor(p,Q.makeRange({protocol:m,source:I,params:y,selector:w}))}async function VTe(t){return await M.mktempPromise(async e=>{let r=le.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new gt(e,{configuration:r,check:!1,immutable:!1}))})}var Ip=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=G.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=G.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=G.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=G.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=G.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=G.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=G.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=G.Boolean("-i,--interactive",!1,{description:"Reuse the specified package from other workspaces in the project"});this.cached=G.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=G.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.packages=G.Rest()}async execute(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=Cp(this,r),a=[...s?[sr.REUSE]:[],sr.PROJECT,...this.cached?[sr.CACHE]:[],sr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await pv(I,{cwd:this.context.cwd,workspace:i}):Q.parseDescriptor(I),w=XTe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),x=await mp(y,{project:r,workspace:i,cache:n,target:w,modifier:o,strategies:a,maxResults:l});return[y,x,w]})),u=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:w,rejections:x}]of c)if(w.filter(N=>N.descriptor!==null).length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${Q.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${Q.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,h=[],f=[];for(let[,{suggestions:I},y]of c){let w,x=I.filter(v=>v.descriptor!==null),F=x[0].descriptor,N=x.every(v=>Q.areDescriptorsEqual(v.descriptor,F));x.length===1||N?w=F:(g=!0,{answer:w}=await(0,N$.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:v,name:J,reason:oe})=>v?{name:J,hint:oe,descriptor:v}:{name:J,hint:oe,disabled:!0}),onCancel:()=>process.exit(130),result(v){return this.find(v,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let K=i.manifest[y].get(w.identHash);(typeof K=="undefined"||K.descriptorHash!==w.descriptorHash)&&(i.manifest[y].set(w.identHash,w),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta(V(k({},w),{range:"unknown"})).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(V(k({},w),{range:"unknown"})).optional=!0)),typeof K=="undefined"?h.push([i,y,w,a]):f.push([i,y,K,w]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,h),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),g&&this.context.stdout.write(` +`),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};Ip.paths=[["add"]],Ip.usage=fe.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var M$=Ip;function XTe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${Q.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${Q.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${Q.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${Q.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${Q.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?er.PEER:r||n?er.DEVELOPMENT:o?er.REGULAR:a?er.DEVELOPMENT:er.REGULAR}var Ep=class extends Be{constructor(){super(...arguments);this.verbose=G.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=G.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await bt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${Q.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await bt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:Q.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${Q.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};Ep.paths=[["bin"]],Ep.usage=fe.Usage({description:"get the path to a binary script",details:` When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var v$=hp;var fp=class extends Be{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=await gt.find(e);return(await De.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await M.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await M.removePromise(r.cwd)})).exitCode()}};fp.paths=[["cache","clean"],["cache","clear"]],fp.usage=fe.Usage({description:"remove the shared cache files",details:` + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var O$=Ep;var yp=class extends Be{constructor(){super(...arguments);this.mirror=G.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=G.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await gt.find(e);return(await xe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await M.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await M.removePromise(r.cwd)})).exitCode()}};yp.paths=[["cache","clean"],["cache","clear"]],yp.usage=fe.Usage({description:"remove the shared cache files",details:` This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var F$=fp;var R$=te(Dy()),uv=te(require("util")),pp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,R$.default)(o,i):o,l=await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} -`),l.exitCode();uv.inspect.styles.name="cyan",this.context.stdout.write(`${(0,uv.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} -`)}return l.exitCode()}};pp.paths=[["config","get"]],pp.usage=fe.Usage({description:"read a configuration settings",details:` + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var K$=yp;var T$=te(xy()),dv=te(require("util")),Bp=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=G.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,T$.default)(o,i):o,l=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();dv.inspect.styles.name="cyan",this.context.stdout.write(`${(0,dv.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};Bp.paths=[["config","get"]],Bp.usage=fe.Usage({description:"read a configuration settings",details:` This command will print a configuration setting. Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var L$=pp;var Jee=te(Cv()),Wee=te(Dy()),zee=te(jee()),mv=te(require("util")),Cp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?f=>Ae.updateHomeConfiguration(f):f=>Ae.updateConfiguration(r(),f))(f=>{if(n){let p=(0,Jee.default)(f);return(0,zee.default)(p,this.name,o),p}else return V(P({},f),{[i]:o})});let c=(await Ae.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Wee.default)(u,n):u;return(await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async f=>{mv.inspect.styles.name="cyan",f.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,mv.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Cp.paths=[["config","set"]],Cp.usage=fe.Usage({description:"change a configuration settings",details:` + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var U$=Bp;var _ee=te(Bv()),$ee=te(xy()),ete=te(Zee()),wv=te(require("util")),Qp=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=G.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=G.String();this.value=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?f=>le.updateHomeConfiguration(f):f=>le.updateConfiguration(r(),f))(f=>{if(n){let p=(0,_ee.default)(f);return(0,ete.default)(p,this.name,o),p}else return V(k({},f),{[i]:o})});let c=(await le.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,$ee.default)(u,n):u;return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async f=>{wv.inspect.styles.name="cyan",f.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,wv.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Qp.paths=[["config","set"]],Qp.usage=fe.Usage({description:"change a configuration settings",details:` This command will set a configuration setting. When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var Vee=Cp;var nte=te(Cv()),Iv=te(ite()),mp=class extends Be{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new me("This command must be run from within a project folder");let r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);return await(this.home?a=>Ae.updateHomeConfiguration(a):a=>Ae.updateConfiguration(e.projectCwd,a))(a=>{if(i){let l=(0,nte.default)(a);return(0,Iv.default)(l,this.name),l}else return(0,Iv.default)(P({},a),r)}),(await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async a=>{a.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};mp.paths=[["config","unset"]],mp.usage=fe.Usage({description:"unset a configuration setting",details:` + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var tte=Qp;var cte=te(Bv()),ute=te(jf()),gte=te(lte()),bp=class extends Be{constructor(){super(...arguments);this.home=G.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>le.updateHomeConfiguration(l):l=>le.updateConfiguration(r(),l);return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,ute.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,cte.default)(u):k({},u);return(0,gte.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};bp.paths=[["config","unset"]],bp.usage=fe.Usage({description:"unset a configuration setting",details:` This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var ste=mp;var Ev=te(require("util")),Ip=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins,{strict:!1});return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,Ev.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,Ev.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};Ip.paths=[["config"]],Ip.usage=fe.Usage({description:"display the current configuration",details:` + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var hte=bp;var Qv=te(require("util")),Dp=class extends Be{constructor(){super(...arguments);this.verbose=G.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=G.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins,{strict:!1});return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(k({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,Qv.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,Qv.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};Dp.paths=[["config"]],Dp.usage=fe.Usage({description:"display the current configuration",details:` This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});var ote=Ip;Mo();var yv={};$e(yv,{Strategy:()=>fl,acceptedStrategies:()=>Y2e,dedupe:()=>Bv});var ate=te(sn()),fl;(function(e){e.HIGHEST="highest"})(fl||(fl={}));var Y2e=new Set(Object.values(fl)),q2e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!ate.default.isMatch(w.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),h=await r.getSatisfying(a,g,n),f=h==null?void 0:h[0];if(typeof f=="undefined")return null;let p=f.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function Bv(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new Br,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let h=await q2e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),f=ai.progressViaCounter(h.length);n.reportProgress(f);let p=0;await Promise.all(h.map(y=>y.then(b=>{if(b===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=b;n.reportInfo(z.UNNAMED,`${w.prettyDescriptor(s,x)} can be deduped from ${w.prettyLocator(s,F)} to ${w.prettyLocator(s,N)}`),n.reportJson({descriptor:w.stringifyDescriptor(x),currentResolution:w.stringifyLocator(F),updatedResolution:w.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.locatorHash)}).finally(()=>f.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=ce.pretty(s,e,ce.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Ep=class extends Be{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",fl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yl(fl)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await gt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await De.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await Bv(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await De.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a})})).exitCode()}};Ep.paths=[["dedupe"]],Ep.usage=fe.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Ate=Ep;var rB=class extends fe{async execute(){let{plugins:e}=await Ae.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=_n.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=cte()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify({commands:i},null,2)} -`)}};rB.paths=[["--clipanion=definitions"]];var ute=rB;var iB=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};iB.paths=[["help"],["--help"],["-h"]];var gte=iB;var wv=class extends fe{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!w.tryParseIdent(this.leadingArgument)){let e=B.resolve(this.context.cwd,L.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},hte=wv;var nB=class extends fe{async execute(){this.context.stdout.write(`${Yi||""} -`)}};nB.paths=[["-v"],["--version"]];var fte=nB;var yp=class extends Be{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await M.mktempPromise(async n=>{let{code:s}=await pr.pipevp(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({project:r,locator:i,binFolder:n})});return s})}};yp.paths=[["exec"]],yp.usage=fe.Usage({description:"execute a shell command",details:` - This command simply executes a shell binary within the context of the root directory of the active workspace. + `,examples:[["Print the active configuration settings","$0 config"]]});var fte=Dp;Fn();var bv={};$e(bv,{Strategy:()=>gl,acceptedStrategies:()=>$2e,dedupe:()=>Dv});var pte=te(Yi()),gl;(function(e){e.HIGHEST="highest"})(gl||(gl={}));var $2e=new Set(Object.values(gl)),eHe={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!pte.default.isMatch(Q.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),h=await r.getSatisfying(a,g,n),f=h==null?void 0:h[0];if(typeof f=="undefined")return null;let p=f.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function Dv(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new wr,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let h=await eHe[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),f=ci.progressViaCounter(h.length);n.reportProgress(f);let p=0;await Promise.all(h.map(y=>y.then(w=>{if(w===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=w;n.reportInfo(z.UNNAMED,`${Q.prettyDescriptor(s,x)} can be deduped from ${Q.prettyLocator(s,F)} to ${Q.prettyLocator(s,N)}`),n.reportJson({descriptor:Q.stringifyDescriptor(x),currentResolution:Q.stringifyLocator(F),updatedResolution:Q.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.locatorHash)}).finally(()=>f.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Sp=class extends Be{constructor(){super(...arguments);this.strategy=G.String("-s,--strategy",gl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:ni(gl)});this.check=G.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=G.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await gt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await Dv(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};Sp.paths=[["dedupe"]],Sp.usage=fe.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var dte=Sp;var iB=class extends fe{async execute(){let{plugins:e}=await le.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=rs.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=mte()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify({commands:i},null,2)} +`)}};iB.paths=[["--clipanion=definitions"]];var Ite=iB;var nB=class extends fe{async execute(){this.context.stdout.write(this.cli.usage(null))}};nB.paths=[["help"],["--help"],["-h"]];var Ete=nB;var Sv=class extends fe{constructor(){super(...arguments);this.leadingArgument=G.String();this.args=G.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!Q.tryParseIdent(this.leadingArgument)){let e=B.resolve(this.context.cwd,L.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},yte=Sv;var sB=class extends fe{async execute(){this.context.stdout.write(`${yr||""} +`)}};sB.paths=[["-v"],["--version"]];var Bte=sB;var xp=class extends Be{constructor(){super(...arguments);this.commandName=G.String();this.args=G.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await M.mktempPromise(async n=>await Fc(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({project:r,locator:i,binFolder:n})}))}};xp.paths=[["exec"]],xp.usage=fe.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a shell command","$0 exec echo Hello World"]]});var pte=yp;Mo();var Bp=class extends Be{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:aQ(oQ(),[AQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await G2e(this.hash,r,{stdout:this.context.stdout}):(await De.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>w.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>w.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,h=ce.pretty(e,a,ce.Type.CODE),f=w.prettyLocator(e,c),p=w.prettyIdent(e,l.requested),m=w.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,b=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${h} \u2192 ${f} ${x} ${p} to ${m}${b}`)}})).exitCode()}};Bp.paths=[["explain","peer-requirements"]],Bp.usage=fe.Usage({description:"explain a set of peer requirements",details:` + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var wte=xp;Fn();var Pp=class extends Be{constructor(){super(...arguments);this.hash=G.String({required:!1,validator:DQ(bQ(),[SQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await tHe(this.hash,r,{stdout:this.context.stdout}):(await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>Q.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>Q.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,h=Ae.pretty(e,a,Ae.Type.CODE),f=Q.prettyLocator(e,c),p=Q.prettyIdent(e,l.requested),m=Q.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,w=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${h} \u2192 ${f} ${x} ${p} to ${m}${w}`)}})).exitCode()}};Pp.paths=[["explain","peer-requirements"]],Pp.usage=fe.Usage({description:"explain a set of peer requirements",details:` A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. @@ -343,7 +345,7 @@ $2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var dte=Bp;async function G2e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await De.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,b;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let h=[...n.allRequesters.values()].map(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=w.devirtualizeLocator(F),U=e.storedPackages.get(N.locatorHash);if(typeof U=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let v=U.peerDependencies.get(n.requested.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:v}});if(g!==null){let x=h.every(({peerDependency:F})=>vt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} provides ${w.prettyLocator(i,g)} with version ${w.prettyReference(i,(b=g.version)!=null?b:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} doesn't provide ${w.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let f=ce.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(h,N=>w.stringifyLocator(N.pkg))){let U=(g!==null?vt.satisfiesWithPrereleases(g.version,F.range):!1)?f.Check:f.Cross;p.push({stringifiedLocator:w.stringifyLocator(x),prettyLocator:w.prettyLocator(i,x),prettyRange:w.prettyRange(i,F.range),mark:U})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:U}of de.sortMap(p,({stringifiedLocator:v})=>v))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${U}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${w.prettyLocator(e.configuration,l)}`))})).exitCode()}var Cte=te(sn()),wp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i&&!this.all)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,U=new Map,v=[N];for(;v.length>0;){let J=v.shift();if(U.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(U.set(J,oe),w.isVirtualLocator(oe)&&v.push(w.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let K of oe.dependencies.values()){let A=r.storedResolutions.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");v.push(A)}}return U.values()},a=({recursive:x})=>{let F=new Map;for(let N of r.workspaces)for(let U of o(N,{recursive:x}))F.set(U.locatorHash,U);return F.values()},l=({all:x,recursive:F})=>x&&F?r.storedPackages.values():x?a({recursive:F}):o(i,{recursive:F}),c=({all:x,recursive:F})=>{let N=l({all:x,recursive:F}),U=this.patterns.map(oe=>{let K=w.parseLocator(oe),A=Cte.default.makeRe(w.stringifyIdent(K)),W=w.isVirtualLocator(K),$=W?w.devirtualizeLocator(K):K;return re=>{let H=w.stringifyIdent(re);if(!A.test(H))return!1;if(K.reference==="unknown")return!0;let R=w.isVirtualLocator(re),Pe=R?w.devirtualizeLocator(re):re;return!(W&&R&&K.reference!==re.reference||$.reference!==Pe.reference)}}),v=de.sortMap([...N],oe=>w.stringifyLocator(oe));return{selection:v.filter(oe=>U.length===0||U.some(K=>K(oe))),sortedLookup:v}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let h=new Map;if(this.dependents)for(let x of g)for(let F of x.dependencies.values()){let N=r.storedResolutions.get(F.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(h,N).push(x)}let f=new Map;for(let x of g){if(!w.isVirtualLocator(x))continue;let F=w.devirtualizeLocator(x);de.getArrayWithDefault(f,F.locatorHash).push(x)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new Br,skipIntegrityCheck:!0},b=[async(x,F,N)=>{var J,oe;if(!F.has("manifest"))return;let U=await I.fetch(x,y),v;try{v=await ze.find(U.prefixPath,{baseFs:U.packageFs})}finally{(J=U.releaseFs)==null||J.call(U)}N("Manifest",{License:ce.tuple(ce.Type.NO_HINT,v.license),Homepage:ce.tuple(ce.Type.URL,(oe=v.raw.homepage)!=null?oe:null)})},async(x,F,N)=>{var K;if(!F.has("cache"))return;let U=(K=r.storedChecksums.get(x.locatorHash))!=null?K:null,v=n.getLocatorPath(x,U),J;if(v!==null)try{J=M.statSync(v)}catch{}let oe=typeof J!="undefined"?[J.size,ce.Type.SIZE]:void 0;N("Cache",{Checksum:ce.tuple(ce.Type.NO_HINT,U),Path:ce.tuple(ce.Type.PATH,v),Size:oe})}];for(let x of u){let F=w.isVirtualLocator(x);if(!this.virtuals&&F)continue;let N={},U={value:[x,ce.Type.LOCATOR],children:N};if(p[w.stringifyLocator(x)]=U,this.nameOnly){delete U.children;continue}let v=f.get(x.locatorHash);typeof v!="undefined"&&(N.Instances={label:"Instances",value:ce.tuple(ce.Type.NUMBER,v.length)}),N.Version={label:"Version",value:ce.tuple(ce.Type.NO_HINT,x.version)};let J=(K,A)=>{let W={};if(N[K]=W,Array.isArray(A))W.children=A.map($=>({value:$}));else{let $={};W.children=$;for(let[re,H]of Object.entries(A))typeof H!="undefined"&&($[re]={label:re,value:H})}};if(!F){for(let K of b)await K(x,s,J);await e.triggerHook(K=>K.fetchPackageInfo,x,s,J)}x.bin.size>0&&!F&&J("Exported Binaries",[...x.bin.keys()].map(K=>ce.tuple(ce.Type.PATH,K)));let oe=h.get(x.locatorHash);typeof oe!="undefined"&&oe.length>0&&J("Dependents",oe.map(K=>ce.tuple(ce.Type.LOCATOR,K))),x.dependencies.size>0&&!F&&J("Dependencies",[...x.dependencies.values()].map(K=>{var $;let A=r.storedResolutions.get(K.descriptorHash),W=typeof A!="undefined"&&($=r.storedPackages.get(A))!=null?$:null;return ce.tuple(ce.Type.RESOLUTION,{descriptor:K,locator:W})})),x.peerDependencies.size>0&&F&&J("Peer dependencies",[...x.peerDependencies.values()].map(K=>{var re,H;let A=x.dependencies.get(K.identHash),W=typeof A!="undefined"&&(re=r.storedResolutions.get(A.descriptorHash))!=null?re:null,$=W!==null&&(H=r.storedPackages.get(W))!=null?H:null;return ce.tuple(ce.Type.RESOLUTION,{descriptor:K,locator:$})}))}Tn.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};wp.paths=[["info"]],wp.usage=fe.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var mte=wp;var Qp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=j.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=j.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=j.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=j.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.skipBuilds=j.Boolean("--skip-builds",!1,{description:"Skip the build step altogether"});this.cacheFolder=j.String("--cache-folder",{hidden:!0});this.frozenLockfile=j.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=j.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=j.Boolean("--non-interactive",{hidden:!0});this.preferOffline=j.Boolean("--prefer-offline",{hidden:!0});this.production=j.Boolean("--production",{hidden:!0});this.registry=j.String("--registry",{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await Ae.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(h,{error:f})=>{let p=await De.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{f?m.reportError(z.DEPRECATED_CLI_SETTINGS,h):m.reportWarning(z.DEPRECATED_CLI_SETTINGS,h)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let h=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(h!==null)return h}if(typeof this.registry!="undefined"){let h=await s("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline!="undefined"){let h=await s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(h!==null)return h}if(typeof this.production!="undefined"){let h=await s("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive!="undefined"){let h=await s("The --non-interactive option is deprecated",{error:!n});if(h!==null)return h}if(typeof this.frozenLockfile!="undefined"&&(await s("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let h=await s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(h!==null)return h}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let h=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{await j2e(e,o)&&(f.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let h=e.projectCwd,f;try{f=await M.readFilePromise(B.join(h,mt.lockfile),"utf8")}catch{}if(f==null?void 0:f.includes("yarn lockfile v1")){let p=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await Ae.updateConfiguration(h,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let h=await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{var p;((p=Ae.telemetry)==null?void 0:p.isNew)&&(f.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),f.reportInfo(z.TELEMETRY_NOTICE,`Run ${ce.pretty(e,"yarn config set --home enableTelemetry 0",ce.Type.CODE)} to disable`),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:a,workspace:l}=await Fe.find(e,this.context.cwd),c=await gt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Xe(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await De.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await a.install({cache:c,report:h,immutable:o,skipBuild:this.skipBuilds})})).exitCode()}};Qp.paths=[["install"],fe.Default],Qp.usage=fe.Usage({description:"install the project dependencies",details:` + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var Qte=Pp;async function tHe(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await xe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,w;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let h=[...n.allRequesters.values()].map(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=Q.devirtualizeLocator(F),K=e.storedPackages.get(N.locatorHash);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let v=K.peerDependencies.get(n.requested.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:v}});if(g!==null){let x=h.every(({peerDependency:F})=>kt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${Q.prettyLocator(i,a)} provides ${Q.prettyLocator(i,g)} with version ${Q.prettyReference(i,(w=g.version)!=null?w:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${Q.prettyLocator(i,a)} doesn't provide ${Q.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let f=Ae.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(h,N=>Q.stringifyLocator(N.pkg))){let K=(g!==null?kt.satisfiesWithPrereleases(g.version,F.range):!1)?f.Check:f.Cross;p.push({stringifiedLocator:Q.stringifyLocator(x),prettyLocator:Q.prettyLocator(i,x),prettyRange:Q.prettyRange(i,F.range),mark:K})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:K}of de.sortMap(p,({stringifiedLocator:v})=>v))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${K}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${Q.prettyLocator(e.configuration,l)}`))})).exitCode()}var bte=te(Yi()),kp=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=G.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=G.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=G.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=G.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=G.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=G.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=G.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i&&!this.all)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,K=new Map,v=[N];for(;v.length>0;){let J=v.shift();if(K.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(K.set(J,oe),Q.isVirtualLocator(oe)&&v.push(Q.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let T of oe.dependencies.values()){let A=r.storedResolutions.get(T.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");v.push(A)}}return K.values()},a=({recursive:x})=>{let F=new Map;for(let N of r.workspaces)for(let K of o(N,{recursive:x}))F.set(K.locatorHash,K);return F.values()},l=({all:x,recursive:F})=>x&&F?r.storedPackages.values():x?a({recursive:F}):o(i,{recursive:F}),c=({all:x,recursive:F})=>{let N=l({all:x,recursive:F}),K=this.patterns.map(oe=>{let T=Q.parseLocator(oe),A=bte.default.makeRe(Q.stringifyIdent(T)),W=Q.isVirtualLocator(T),ee=W?Q.devirtualizeLocator(T):T;return re=>{let H=Q.stringifyIdent(re);if(!A.test(H))return!1;if(T.reference==="unknown")return!0;let R=Q.isVirtualLocator(re),ke=R?Q.devirtualizeLocator(re):re;return!(W&&R&&T.reference!==re.reference||ee.reference!==ke.reference)}}),v=de.sortMap([...N],oe=>Q.stringifyLocator(oe));return{selection:v.filter(oe=>K.length===0||K.some(T=>T(oe))),sortedLookup:v}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let h=new Map;if(this.dependents)for(let x of g)for(let F of x.dependencies.values()){let N=r.storedResolutions.get(F.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(h,N).push(x)}let f=new Map;for(let x of g){if(!Q.isVirtualLocator(x))continue;let F=Q.devirtualizeLocator(x);de.getArrayWithDefault(f,F.locatorHash).push(x)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new wr,skipIntegrityCheck:!0},w=[async(x,F,N)=>{var J,oe;if(!F.has("manifest"))return;let K=await I.fetch(x,y),v;try{v=await We.find(K.prefixPath,{baseFs:K.packageFs})}finally{(J=K.releaseFs)==null||J.call(K)}N("Manifest",{License:Ae.tuple(Ae.Type.NO_HINT,v.license),Homepage:Ae.tuple(Ae.Type.URL,(oe=v.raw.homepage)!=null?oe:null)})},async(x,F,N)=>{var T;if(!F.has("cache"))return;let K=(T=r.storedChecksums.get(x.locatorHash))!=null?T:null,v=n.getLocatorPath(x,K),J;if(v!==null)try{J=M.statSync(v)}catch{}let oe=typeof J!="undefined"?[J.size,Ae.Type.SIZE]:void 0;N("Cache",{Checksum:Ae.tuple(Ae.Type.NO_HINT,K),Path:Ae.tuple(Ae.Type.PATH,v),Size:oe})}];for(let x of u){let F=Q.isVirtualLocator(x);if(!this.virtuals&&F)continue;let N={},K={value:[x,Ae.Type.LOCATOR],children:N};if(p[Q.stringifyLocator(x)]=K,this.nameOnly){delete K.children;continue}let v=f.get(x.locatorHash);typeof v!="undefined"&&(N.Instances={label:"Instances",value:Ae.tuple(Ae.Type.NUMBER,v.length)}),N.Version={label:"Version",value:Ae.tuple(Ae.Type.NO_HINT,x.version)};let J=(T,A)=>{let W={};if(N[T]=W,Array.isArray(A))W.children=A.map(ee=>({value:ee}));else{let ee={};W.children=ee;for(let[re,H]of Object.entries(A))typeof H!="undefined"&&(ee[re]={label:re,value:H})}};if(!F){for(let T of w)await T(x,s,J);await e.triggerHook(T=>T.fetchPackageInfo,x,s,J)}x.bin.size>0&&!F&&J("Exported Binaries",[...x.bin.keys()].map(T=>Ae.tuple(Ae.Type.PATH,T)));let oe=h.get(x.locatorHash);typeof oe!="undefined"&&oe.length>0&&J("Dependents",oe.map(T=>Ae.tuple(Ae.Type.LOCATOR,T))),x.dependencies.size>0&&!F&&J("Dependencies",[...x.dependencies.values()].map(T=>{var ee;let A=r.storedResolutions.get(T.descriptorHash),W=typeof A!="undefined"&&(ee=r.storedPackages.get(A))!=null?ee:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:T,locator:W})})),x.peerDependencies.size>0&&F&&J("Peer dependencies",[...x.peerDependencies.values()].map(T=>{var re,H;let A=x.dependencies.get(T.identHash),W=typeof A!="undefined"&&(re=r.storedResolutions.get(A.descriptorHash))!=null?re:null,ee=W!==null&&(H=r.storedPackages.get(W))!=null?H:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:T,locator:ee})}))}Hn.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};kp.paths=[["info"]],kp.usage=fe.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Dte=kp;Fn();var vp=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=G.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=G.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=G.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=G.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=G.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.cacheFolder=G.String("--cache-folder",{hidden:!0});this.frozenLockfile=G.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=G.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=G.Boolean("--non-interactive",{hidden:!0});this.preferOffline=G.Boolean("--prefer-offline",{hidden:!0});this.production=G.Boolean("--production",{hidden:!0});this.registry=G.String("--registry",{hidden:!0});this.silent=G.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await le.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(h,{error:f})=>{let p=await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{f?m.reportError(z.DEPRECATED_CLI_SETTINGS,h):m.reportWarning(z.DEPRECATED_CLI_SETTINGS,h)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let h=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(h!==null)return h}if(typeof this.registry!="undefined"){let h=await s("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline!="undefined"){let h=await s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(h!==null)return h}if(typeof this.production!="undefined"){let h=await s("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive!="undefined"){let h=await s("The --non-interactive option is deprecated",{error:!n});if(h!==null)return h}if(typeof this.frozenLockfile!="undefined"&&(await s("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let h=await s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(h!==null)return h}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let h=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{await rHe(e,o)&&(f.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let h=e.projectCwd,f;try{f=await M.readFilePromise(B.join(h,mt.lockfile),"utf8")}catch{}if(f==null?void 0:f.includes("yarn lockfile v1")){let p=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await le.updateConfiguration(h,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let h=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{var p;((p=le.telemetry)==null?void 0:p.isNew)&&(f.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),f.reportInfo(z.TELEMETRY_NOTICE,`Run ${Ae.pretty(e,"yarn config set --home enableTelemetry 0",Ae.Type.CODE)} to disable`),f.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:a,workspace:l}=await Fe.find(e,this.context.cwd),c=await gt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Xe(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await a.install({cache:c,report:h,immutable:o,mode:this.mode})})).exitCode()}};vp.paths=[["install"],fe.Default],vp.usage=fe.Usage({description:"install the project dependencies",details:` This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics: - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). @@ -364,20 +366,25 @@ $2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. - If the \`--skip-builds\` option is set, Yarn will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Ite=Qp,J2e="|||||||",W2e=">>>>>>>",z2e="=======",Ete="<<<<<<<";async function j2e(t,e){if(!t.projectCwd)return!1;let r=B.join(t.projectCwd,t.get("lockfileFilename"));if(!await M.existsPromise(r))return!1;let i=await M.readFilePromise(r,"utf8");if(!i.includes(Ete))return!1;if(e)throw new Ze(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=V2e(i),o,a;try{o=Nr(n),a=Nr(s)}catch(c){throw new Ze(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(r,_s(l),{automaticNewlines:!0}),!0}function V2e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Ete)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===z2e){i=!1;break}else if(i||s.startsWith(J2e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(W2e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Ste=vp,iHe="|||||||",nHe=">>>>>>>",sHe="=======",xte="<<<<<<<";async function rHe(t,e){if(!t.projectCwd)return!1;let r=B.join(t.projectCwd,t.get("lockfileFilename"));if(!await M.existsPromise(r))return!1;let i=await M.readFilePromise(r,"utf8");if(!i.includes(xte))return!1;if(e)throw new Ze(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=oHe(i),o,a;try{o=Tr(n),a=Tr(s)}catch(c){throw new Ze(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=k(k({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(r,ro(l),{automaticNewlines:!0}),!0}function oHe(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(xte)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===sHe){i=!1;break}else if(i||s.startsWith(iHe)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(nHe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` `),e[1].join(` -`)]}var bp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=B.resolve(this.context.cwd,L.toPortablePath(this.destination)),o=await Ae.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Xe(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let h of a.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&u.push(h);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let h of u){let f=w.stringifyIdent(h.locator),p=this.relative?B.relative(r.cwd,h.cwd):h.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:f}},reference:`portal:${p}`})}return(await De.start({configuration:e,stdout:this.context.stdout},async h=>{await r.install({cache:n,report:h})})).exitCode()}};bp.paths=[["link"]],bp.usage=fe.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var yte=bp;var Sp=class extends Be{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Sp.paths=[["node"]],Sp.usage=fe.Usage({description:"run node with the hook already setup",details:` +`)]}var Fp=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=G.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=G.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=B.resolve(this.context.cwd,L.toPortablePath(this.destination)),o=await le.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Xe(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let h of a.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&u.push(h);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let h of u){let f=Q.stringifyIdent(h.locator),p=this.relative?B.relative(r.cwd,h.cwd):h.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:f}},reference:`portal:${p}`})}return(await xe.start({configuration:e,stdout:this.context.stdout},async h=>{await r.install({cache:n,report:h})})).exitCode()}};Fp.paths=[["link"]],Fp.usage=fe.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Pte=Fp;var Rp=class extends Be{constructor(){super(...arguments);this.args=G.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Rp.paths=[["node"]],Rp.usage=fe.Usage({description:"run node with the hook already setup",details:` This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Bte=Sp;var Rte=te(require("os"));var Ste=te(require("os"));var X2e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function pl(t){let e=await Ut.get(X2e,{configuration:t});return Nr(e.toString())}var Dp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await pl(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=vr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};Dp.paths=[["plugin","list"]],Dp.usage=fe.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var wte=Dp;var Qte=te(Cr()),xp=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r;if(this.version==="latest"||this.version==="berry")r="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if(this.version==="classic")r="https://nightly.yarnpkg.com/latest.js";else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))r=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))r=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else throw vt.validRange(this.version)?new me("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new me(`Invalid version descriptor "${this.version}"`);return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{n.reportInfo(z.UNNAMED,`Downloading ${ce.pretty(e,r,"green")}`);let s=await Ut.get(r,{configuration:e});await Qv(e,null,s,{report:n})})).exitCode()}};xp.paths=[["set","version"]],xp.usage=fe.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]});var bte=xp;async function Qv(t,e,r,{report:i}){var g;e===null&&await M.mktempPromise(async h=>{let f=B.join(h,"yarn.cjs");await M.writeFilePromise(f,r);let{stdout:p}=await pr.execvp(process.execPath,[L.fromPortablePath(f),"--version"],{cwd:h,env:V(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Qte.default.valid(e))throw new Error(`Invalid semver version. ${ce.pretty(t,"yarn --version",ce.Type.CODE)} returned: -${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=B.resolve(n,".yarn/releases"),o=B.resolve(s,`yarn-${e}.cjs`),a=B.relative(t.startingCwd,o),l=B.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);i.reportInfo(z.UNNAMED,`Saving the new release in ${ce.pretty(t,a,"magenta")}`),await M.removePromise(B.dirname(o)),await M.mkdirPromise(B.dirname(o),{recursive:!0}),await M.writeFilePromise(o,r),await M.chmodPromise(o,493),u&&await Ae.updateConfiguration(n,{yarnPath:l})}var Z2e=/^[0-9]+$/;function Dte(t){return Z2e.test(t)?`pull/${t}/head`:t}var _2e=({repository:t,branch:e},r)=>[["git","init",L.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",Dte(e)],["git","reset","--hard","FETCH_HEAD"]],$2e=({branch:t})=>[["git","fetch","origin",Dte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eHe=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",B.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Pp=class extends Be{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Ste.tmpdir)()),"yarnpkg-sources",wi.makeHash(this.repository).slice(0,6));return(await De.start({configuration:e,stdout:this.context.stdout},async s=>{await Sv(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await kp(eHe(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=B.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await M.readFilePromise(o);await Qv(e,"sources",a,{report:s}),this.skipPlugins||await tHe(this,{project:r,report:s,target:i})})).exitCode()}};Pp.paths=[["set","version","from","sources"]],Pp.usage=fe.Usage({description:"build Yarn from master",details:` + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var kte=Rp;var Yte=te(require("os"));var Nte=te(require("os"));var aHe="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function hl(t){let e=await Ft.get(aHe,{configuration:t});return Tr(e.toString())}var Lp=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await hl(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Lr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(k({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};Lp.paths=[["plugin","list"]],Lp.usage=fe.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var vte=Lp;var Fte=te(Cr()),Np=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=G.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof yr=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await Rte(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await Rte(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||L.isAbsolute(this.version))i=`file://${L.resolve(this.version)}`;else if(kt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(kt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(kt.validRange(this.version))i=`https://repo.yarnpkg.com/${await AHe(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,i,Cs.URL)}`),a=await M.readFilePromise(L.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${Ae.pretty(e,i,Cs.PATH)}`),a=await Ft.get(i,{configuration:e})),await xv(e,null,a,{report:s})})).exitCode()}};Np.paths=[["set","version"]],Np.usage=fe.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var Lte=Np;async function AHe(t,e){let i=(await Ft.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>kt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${Ae.pretty(t,e,Ae.Type.RANGE)}.`);return i[0]}async function Rte(t,e){let r=await Ft.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${Ae.pretty(t,e,Ae.Type.RANGE)} not found`);return r.latest[e]}async function xv(t,e,r,{report:i}){var g;e===null&&await M.mktempPromise(async h=>{let f=B.join(h,"yarn.cjs");await M.writeFilePromise(f,r);let{stdout:p}=await Nr.execvp(process.execPath,[L.fromPortablePath(f),"--version"],{cwd:h,env:V(k({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Fte.default.valid(e))throw new Error(`Invalid semver version. ${Ae.pretty(t,"yarn --version",Ae.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=B.resolve(n,".yarn/releases"),o=B.resolve(s,`yarn-${e}.cjs`),a=B.relative(t.startingCwd,o),l=B.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await M.removePromise(B.dirname(o)),await M.mkdirPromise(B.dirname(o),{recursive:!0}),await M.writeFilePromise(o,r),await M.chmodPromise(o,493),u){await le.updateConfiguration(n,{yarnPath:l});let h=await We.tryFind(n)||new We;e&&de.isTaggedYarnVersion(e)&&(h.packageManager=`yarn@${e}`);let f={};h.exportTo(f);let p=B.join(n,We.fileName),m=`${JSON.stringify(f,null,h.indent)} +`;await M.changeFilePromise(p,m,{automaticNewlines:!0})}}var lHe=/^[0-9]+$/;function Mte(t){return lHe.test(t)?`pull/${t}/head`:t}var cHe=({repository:t,branch:e},r)=>[["git","init",L.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",Mte(e)],["git","reset","--hard","FETCH_HEAD"]],uHe=({branch:t})=>[["git","fetch","origin",Mte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],gHe=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",B.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Mp=class extends Be{constructor(){super(...arguments);this.installPath=G.String("--path",{description:"The path where the repository should be cloned to"});this.repository=G.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=G.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=G.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=G.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=G.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=G.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Nte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{await kv(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Op(gHe(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=B.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await M.readFilePromise(o);await xv(e,"sources",a,{report:s}),this.skipPlugins||await hHe(this,{project:r,report:s,target:i})})).exitCode()}};Mp.paths=[["set","version","from","sources"]],Mp.usage=fe.Usage({description:"build Yarn from master",details:` This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]});var xte=Pp;async function kp(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await pr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ce.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await pr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function Sv(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&M.existsSync(B.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await kp($2e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await kp(_2e(t,i),{configuration:e,context:t.context,target:i}))}async function tHe(t,{project:e,report:r,target:i}){let n=await pl(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await bv(o,t,{project:e,report:r,target:i})}var Pte=te(Cr()),kte=te(require("url")),vte=te(require("vm"));var vp=class extends Be{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||L.isAbsolute(this.name)){let a=B.resolve(this.context.cwd,L.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ce.pretty(e,a,ce.Type.PATH)}`),s=B.relative(n.cwd,a),o=await M.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new kte.URL(this.name)}catch{throw new Ze(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=w.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Pte.default.valid(l.reference))throw new Ze(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=w.stringifyIdent(l),u=await pl(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Yi!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Yi}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ce.pretty(e,a,"green")}`),o=await Ut.get(a,{configuration:e})}await Dv(s,o,{project:n,report:i})})).exitCode()}};vp.paths=[["plugin","import"]],vp.usage=fe.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Ote=Mp;async function Op(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Nr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${Ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Nr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function kv(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&M.existsSync(B.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Op(uHe(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Op(cHe(t,i),{configuration:e,context:t.context,target:i}))}async function hHe(t,{project:e,report:r,target:i}){let n=await hl(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await Pv(o,t,{project:e,report:r,target:i})}var Kte=te(Cr()),Tte=te(require("url")),Ute=te(require("vm"));var Kp=class extends Be{constructor(){super(...arguments);this.name=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||L.isAbsolute(this.name)){let a=B.resolve(this.context.cwd,L.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=B.relative(n.cwd,a),o=await M.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Tte.URL(this.name)}catch{throw new Ze(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=Q.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Kte.default.valid(l.reference))throw new Ze(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=Q.stringifyIdent(l),u=await hl(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):yr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${yr}/`))}i.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await Ft.get(a,{configuration:e})}await vv(s,o,{project:n,report:i})})).exitCode()}};Kp.paths=[["plugin","import"]],Kp.usage=fe.Usage({category:"Plugin-related commands",description:"download a plugin",details:` This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. Three types of plugin references are accepted: @@ -387,27 +394,33 @@ ${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=B.resolve(n,".yarn/relea - Local plugins can be referenced by their path on the disk. Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Fte=vp;async function Dv(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,vte.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=B.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ce.pretty(n,l,"magenta")}`),await M.mkdirPromise(B.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:t};await Ae.updateConfiguration(r.cwd,g=>{let h=[],f=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=B.resolve(r.cwd,L.toPortablePath(m)),{name:y}=de.dynamicRequire(L.fromPortablePath(I));y!==a?h.push(p):(h.push(u),f=!0)}return f||h.push(u),V(P({},g),{plugins:h})})}var rHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Fp=class extends Be{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Rte.tmpdir)()),"yarnpkg-sources",wi.makeHash(this.repository).slice(0,6));return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=w.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=w.stringifyIdent(o),l=await pl(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await Sv(this,{configuration:e,report:n,target:r}),await bv(c,this,{project:s,report:n,target:r})})).exitCode()}};Fp.paths=[["plugin","import","from","sources"]],Fp.usage=fe.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Hte=Kp;async function vv(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Ute.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=B.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await M.mkdirPromise(B.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:t};await le.updateConfiguration(r.cwd,g=>{let h=[],f=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=B.resolve(r.cwd,L.toPortablePath(m)),{name:y}=de.dynamicRequire(I);y!==a?h.push(p):(h.push(u),f=!0)}return f||h.push(u),V(k({},g),{plugins:h})})}var fHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Tp=class extends Be{constructor(){super(...arguments);this.installPath=G.String("--path",{description:"The path where the repository should be cloned to"});this.repository=G.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=G.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=G.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=G.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?B.resolve(this.context.cwd,L.toPortablePath(this.installPath)):B.resolve(L.toPortablePath((0,Yte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=Q.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=Q.stringifyIdent(o),l=await hl(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new Ze(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await kv(this,{configuration:e,report:n,target:r}),await Pv(c,this,{project:s,report:n,target:r})})).exitCode()}};Tp.paths=[["plugin","import","from","sources"]],Tp.usage=fe.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var Lte=Fp;async function bv(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await kp(rHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=B.resolve(s,`packages/${o}/bundles/${t}.js`),c=await M.readFilePromise(l);await Dv(t,c,{project:i,report:n})}var Rp=class extends Be{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=w.parseIdent(s);if(!e.plugins.has(s))throw new me(`${w.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=B.resolve(r.cwd,a);M.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ce.pretty(e,a,ce.Type.PATH)}...`),await M.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await Ae.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:V(P({},c),{plugins:u})})})).exitCode()}};Rp.paths=[["plugin","remove"]],Rp.usage=fe.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var Gte=Tp;async function Pv(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Op(fHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=B.resolve(s,`packages/${o}/bundles/${t}.js`),c=await M.readFilePromise(l);await vv(t,c,{project:i,report:n})}var Up=class extends Be{constructor(){super(...arguments);this.name=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=Q.parseIdent(s);if(!e.plugins.has(s))throw new me(`${Q.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=B.resolve(r.cwd,a);M.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await M.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await le.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:V(k({},c),{plugins:u})})})).exitCode()}};Up.paths=[["plugin","remove"]],Up.usage=fe.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Nte=Rp;var Lp=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Lp.paths=[["plugin","runtime"]],Lp.usage=fe.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var jte=Up;var Hp=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Hp.paths=[["plugin","runtime"]],Hp.usage=fe.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Mte=Lp;var Np=class extends Be{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(w.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new Br}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await De.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Np.paths=[["rebuild"]],Np.usage=fe.Usage({description:"rebuild the project's native packages",details:` + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var qte=Hp;var Yp=class extends Be{constructor(){super(...arguments);this.idents=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(Q.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new wr}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Yp.paths=[["rebuild"]],Yp.usage=fe.Usage({description:"rebuild the project's native packages",details:` This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Ote=Np;var xv=te(sn());var Mp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let f of this.patterns){let p=!1,m=w.parseIdent(f);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let b of(0,xv.default)(y,f))I.manifest.peerDependenciesMeta.delete(b),l=!0,p=!0;for(let b of o){let x=I.manifest.getForScope(b),F=[...x.values()].map(N=>w.stringifyIdent(N));for(let N of(0,xv.default)(F,w.stringifyIdent(m))){let{identHash:U}=w.parseIdent(N),v=x.get(U);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[b].delete(U),c.push([I,b,v]),l=!0,p=!0}}}p||a.push(f)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",h=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ce.prettyList(e,a,$A.CODE)} ${g} match any packages referenced by ${h} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await De.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p})})).exitCode()):0}};Mp.paths=[["remove"]],Mp.usage=fe.Usage({description:"remove dependencies from the project",details:` + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Jte=Yp;var Fv=te(Yi());Fn();var Gp=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=G.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let f of this.patterns){let p=!1,m=Q.parseIdent(f);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let w of(0,Fv.default)(y,f))I.manifest.peerDependenciesMeta.delete(w),l=!0,p=!0;for(let w of o){let x=I.manifest.getForScope(w),F=[...x.values()].map(N=>Q.stringifyIdent(N));for(let N of(0,Fv.default)(F,Q.stringifyIdent(m))){let{identHash:K}=Q.parseIdent(N),v=x.get(K);if(typeof v=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[w].delete(K),c.push([I,w,v]),l=!0,p=!0}}}p||a.push(f)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",h=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${Ae.prettyList(e,a,Cs.CODE)} ${g} match any packages referenced by ${h} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await xe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};Gp.paths=[["remove"]],Gp.usage=fe.Usage({description:"remove dependencies from the project",details:` This command will remove the packages matching the specified patterns from the current workspace. + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Kte=Mp;var Tte=te(require("util")),sB=class extends Be{async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);return(await De.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Tte.inspect)(g,l)}`)})).exitCode()}};sB.paths=[["run"]];var Ute=sB;var Op=class extends Be{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await bt.hasPackageScript(s,this.scriptName,{project:r}))return await bt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await bt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await bt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await bt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of hu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};Op.paths=[["run"]],Op.usage=fe.Usage({description:"run a script defined in the package.json",details:` + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Wte=Gp;var zte=te(require("util")),oB=class extends Be{async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,zte.inspect)(g,l)}`)})).exitCode()}};oB.paths=[["run"]];var Vte=oB;var jp=class extends Be{constructor(){super(...arguments);this.inspect=G.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=G.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=G.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=G.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=G.Boolean("--silent",{hidden:!0});this.scriptName=G.String();this.args=G.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await bt.hasPackageScript(s,this.scriptName,{project:r}))return await bt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await bt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await bt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await bt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Q.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Q.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of hu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};jp.paths=[["run"]],jp.usage=fe.Usage({description:"run a script defined in the package.json",details:` This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. @@ -417,48 +430,48 @@ ${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=B.resolve(n,".yarn/relea - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Hte=Op;var Kp=class extends Be{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Xe(r.cwd,this.context.cwd);let s=w.parseDescriptor(this.descriptor,!0),o=w.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await De.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Kp.paths=[["set","resolution"]],Kp.usage=fe.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Yte=Kp;var qte=te(sn()),Tp=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=B.resolve(this.context.cwd,L.toPortablePath(l));if(de.isPathLike(l)){let u=await Ae.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:h}=await Fe.find(u,c);if(!h)throw new Xe(g.cwd,c);if(this.all){for(let f of g.workspaces)f.manifest.name&&o.add(w.stringifyIdent(f.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(w.stringifyIdent(h.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,qte.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await De.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Tp.paths=[["unlink"]],Tp.usage=fe.Usage({description:"disconnect the local project from another one",details:` + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Xte=jp;var qp=class extends Be{constructor(){super(...arguments);this.save=G.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=G.String();this.resolution=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Xe(r.cwd,this.context.cwd);let s=Q.parseDescriptor(this.descriptor,!0),o=Q.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};qp.paths=[["set","resolution"]],qp.usage=fe.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Zte=qp;var _te=te(Yi()),Jp=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=B.resolve(this.context.cwd,L.toPortablePath(l));if(de.isPathLike(l)){let u=await le.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:h}=await Fe.find(u,c);if(!h)throw new Xe(g.cwd,c);if(this.all){for(let f of g.workspaces)f.manifest.name&&o.add(Q.stringifyIdent(f.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(Q.stringifyIdent(h.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,_te.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Jp.paths=[["unlink"]],Jp.usage=fe.Usage({description:"disconnect the local project from another one",details:` This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Gte=Tp;var jte=te(lp()),Pv=te(sn());Mo();var Fu=class extends Be{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>w.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(w.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,Pv.default)(o,u)){let h=w.parseIdent(g);a.add(h.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await De.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=cp(this,r),a=s?[sr.KEEP,sr.REUSE,sr.PROJECT,sr.LATEST]:[sr.PROJECT,sr.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,b=w.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let U=[...x.manifest.getForScope(F).values()].map(v=>w.stringifyIdent(v));for(let v of(0,Pv.default)(U,w.stringifyIdent(b))){let J=w.parseIdent(v),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let K=w.makeDescriptor(J,b.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await up(K,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${ce.prettyList(e,c,$A.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ce.prettyList(e,c,$A.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await ao.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:b,rejections:x}]of u){let F=b.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let U=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var $te=Jp;var ere=te(dp()),Rv=te(Yi());Fn();var Fu=class extends Be{constructor(){super(...arguments);this.interactive=G.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=G.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=G.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=G.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=G.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=G.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=G.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>Q.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(Q.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,Rv.default)(o,u)){let h=Q.parseIdent(g);a.add(h.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=Cp(this,r),a=s?[sr.KEEP,sr.REUSE,sr.PROJECT,sr.LATEST]:[sr.PROJECT,sr.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,w=Q.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let K=[...x.manifest.getForScope(F).values()].map(v=>Q.stringifyIdent(v));for(let v of(0,Rv.default)(K,Q.stringifyIdent(w))){let J=Q.parseIdent(v),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let T=Q.makeDescriptor(J,w.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await mp(T,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${Ae.prettyList(e,c,Cs.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${Ae.prettyList(e,c,Cs.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:w,rejections:x}]of u){let F=w.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let K=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${Q.prettyDescriptor(e,y)} can't be resolved to a satisfying range -${U}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) +${K}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${Q.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) -${U}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let h=!1,f=[];for(let[I,y,,{suggestions:b}]of u){let x,F=b.filter(J=>J.descriptor!==null),N=F[0].descriptor,U=F.every(J=>w.areDescriptorsEqual(J.descriptor,N));F.length===1||U?x=N:(h=!0,{answer:x}=await(0,jte.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${w.prettyWorkspace(e,I)} \u276F ${y}?`,choices:b.map(({descriptor:J,name:oe,reason:K})=>J?{name:oe,hint:K,descriptor:J}:{name:oe,hint:K,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let v=I.manifest[y].get(x.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(v.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),f.push([I,y,v,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},K=J.bindDescriptor(v,I.anchoredLocator,oe);r.forgetResolution(K)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),h&&this.context.stdout.write(` -`),(await De.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I})})).exitCode()}};Fu.paths=[["up"]],Fu.usage=fe.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Fu.schema=[lQ("recursive",tA.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Jte=Fu;var Up=class extends Be{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.parseIdent(this.package).identHash,s=this.recursive?nHe(r,n,{configuration:e,peers:this.peers}):iHe(r,n,{configuration:e,peers:this.peers});Tn.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Up.paths=[["why"]],Up.usage=fe.Usage({description:"display the reason why a package is needed",details:` +${K}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${Q.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let h=!1,f=[];for(let[I,y,,{suggestions:w}]of u){let x,F=w.filter(J=>J.descriptor!==null),N=F[0].descriptor,K=F.every(J=>Q.areDescriptorsEqual(J.descriptor,N));F.length===1||K?x=N:(h=!0,{answer:x}=await(0,ere.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${Q.prettyWorkspace(e,I)} \u276F ${y}?`,choices:w.map(({descriptor:J,name:oe,reason:T})=>J?{name:oe,hint:T,descriptor:J}:{name:oe,hint:T,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let v=I.manifest[y].get(x.identHash);if(typeof v=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(v.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),f.push([I,y,v,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},T=J.bindDescriptor(v,I.anchoredLocator,oe);r.forgetResolution(T)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,f),h&&this.context.stdout.write(` +`),(await xe.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};Fu.paths=[["up"]],Fu.usage=fe.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Fu.schema=[xQ("recursive",tA.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var tre=Fu;var Wp=class extends Be{constructor(){super(...arguments);this.recursive=G.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=G.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Q.parseIdent(this.package).identHash,s=this.recursive?dHe(r,n,{configuration:e,peers:this.peers}):pHe(r,n,{configuration:e,peers:this.peers});Hn.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Wp.paths=[["why"]],Wp.usage=fe.Usage({description:"display the reason why a package is needed",details:` This command prints the exact reasons why a package appears in the dependency tree. If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var Wte=Up;function iHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>w.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let h=t.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The package should have been registered");if(h.identHash!==e)continue;if(c===null){let p=w.stringifyLocator(a);s[p]={value:[a,ce.Type.LOCATOR],children:l}}let f=w.stringifyLocator(h);l[f]={value:[{descriptor:u,locator:h},ce.Type.DEPENDENT]}}}return o}function nHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,h=>w.stringifyLocator(h.anchoredLocator)),s=new Set,o=new Set,a=h=>{if(s.has(h.locatorHash))return o.has(h.locatorHash);if(s.add(h.locatorHash),h.identHash===e)return o.add(h.locatorHash),!0;let f=!1;h.identHash===e&&(f=!0);for(let p of h.dependencies.values()){if(!i&&h.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(f=!0)}return f&&o.add(h.locatorHash),f};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");a(f)}let l=new Set,c={},u={children:c},g=(h,f,p)=>{if(!o.has(h.locatorHash))return;let m=p!==null?ce.tuple(ce.Type.DEPENDENT,{locator:h,descriptor:p}):ce.tuple(ce.Type.LOCATOR,h),I={},y={value:m,children:I},b=w.stringifyLocator(h);if(f[b]=y,!l.has(h.locatorHash)&&(l.add(h.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(h))))for(let x of h.dependencies.values()){if(!i&&h.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");g(f,c,null)}return u}var Hp=class extends Be{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of ze.hardDependencies)for(let[g,h]of o.getForScope(u)){let f=r.tryWorkspaceByDescriptor(h);f===null?r.workspacesByIdent.has(g)&&c.add(h):l.add(f)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>w.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(P({location:s.relativeCwd,name:o.name?w.stringifyIdent(o.name):null},a))}})).exitCode()}};Hp.paths=[["workspaces","list"]],Hp.usage=fe.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var zte=Hp;var Yp=class extends fe{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=w.convertToIdent(a.locator);return[w.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var rre=Wp;function pHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>Q.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let h=t.storedPackages.get(g);if(!h)throw new Error("Assertion failed: The package should have been registered");if(h.identHash!==e)continue;if(c===null){let p=Q.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let f=Q.stringifyLocator(h);l[f]={value:[{descriptor:u,locator:h},Ae.Type.DEPENDENT]}}}return o}function dHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,h=>Q.stringifyLocator(h.anchoredLocator)),s=new Set,o=new Set,a=h=>{if(s.has(h.locatorHash))return o.has(h.locatorHash);if(s.add(h.locatorHash),h.identHash===e)return o.add(h.locatorHash),!0;let f=!1;h.identHash===e&&(f=!0);for(let p of h.dependencies.values()){if(!i&&h.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(f=!0)}return f&&o.add(h.locatorHash),f};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");a(f)}let l=new Set,c={},u={children:c},g=(h,f,p)=>{if(!o.has(h.locatorHash))return;let m=p!==null?Ae.tuple(Ae.Type.DEPENDENT,{locator:h,descriptor:p}):Ae.tuple(Ae.Type.LOCATOR,h),I={},y={value:m,children:I},w=Q.stringifyLocator(h);if(f[w]=y,!l.has(h.locatorHash)&&(l.add(h.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(h))))for(let x of h.dependencies.values()){if(!i&&h.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};for(let h of n){let f=t.storedPackages.get(h.anchoredLocator.locatorHash);if(!f)throw new Error("Assertion failed: The package should have been registered");g(f,c,null)}return u}var zp=class extends Be{constructor(){super(...arguments);this.verbose=G.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of We.hardDependencies)for(let[g,h]of o.getForScope(u)){let f=r.tryWorkspaceByDescriptor(h);f===null?r.workspacesByIdent.has(g)&&c.add(h):l.add(f)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>Q.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(k({location:s.relativeCwd,name:o.name?Q.stringifyIdent(o.name):null},a))}})).exitCode()}};zp.paths=[["workspaces","list"]],zp.usage=fe.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var ire=zp;var Vp=class extends fe{constructor(){super(...arguments);this.workspaceName=G.String();this.commandName=G.String();this.args=G.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=Q.convertToIdent(a.locator);return[Q.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - ${a.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Yp.paths=[["workspace"]],Yp.usage=fe.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Vp.paths=[["workspace"]],Vp.usage=fe.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Vte=Yp;var sHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:Xte.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:hl.CARET}},commands:[F$,L$,Vee,ste,Yte,xte,bte,zte,ute,gte,hte,fte,k$,v$,ote,Ate,pte,dte,mte,Ite,yte,Gte,Bte,Lte,Fte,Nte,wte,Mte,Ote,Kte,Ute,Hte,Jte,Wte,Vte]},oHe=sHe;var Lv={};$e(Lv,{default:()=>AHe});var Zr={optional:!0},Zte=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Zr,zenObservable:Zr}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Zr,zenObservable:Zr}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Zr}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Zr,["postcss-jsx"]:Zr,["postcss-less"]:Zr,["postcss-markdown"]:Zr,["postcss-scss"]:Zr}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@*",{peerDependenciesMeta:{webpack:Zr}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Zr}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Zr,"vue-template-compiler":Zr}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Zr,"utf-8-validate":Zr}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}]];var vv;function _te(){return typeof vv=="undefined"&&(vv=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),vv}var Fv;function $te(){return typeof Fv=="undefined"&&(Fv=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),Fv}var Rv;function ere(){return typeof Rv=="undefined"&&(Rv=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Rv}var tre=new Map([[w.makeIdent(null,"fsevents").identHash,_te],[w.makeIdent(null,"resolve").identHash,$te],[w.makeIdent(null,"typescript").identHash,ere]]),aHe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of Zte)e(w.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=w.parseIdent(e.slice(r.length)),n=(s=tre.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof tre.get(t.identHash)=="undefined"?t:w.makeDescriptor(t,w.makeRange({protocol:"patch:",source:w.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},AHe=aHe;var Nv={};$e(Nv,{default:()=>cHe});var oB=class extends Be{constructor(){super(...arguments);this.pkg=j.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=w.parseIdent(this.command),i=w.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,w.stringifyIdent(i),...this.args])}};oB.paths=[["create"]];var rre=oB;var qp=class extends Be{constructor(){super(...arguments);this.packages=j.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){return Ae.telemetry=null,await M.mktempPromise(async e=>{var p;let r=B.join(e,`dlx-${process.pid}`);await M.mkdirPromise(r),await M.writeFilePromise(B.join(r,"package.json"),`{} -`),await M.writeFilePromise(B.join(r,"yarn.lock"),"");let i=B.join(r,".yarnrc.yml"),n=await Ae.findProjectCwd(this.context.cwd,mt.lockfile),s=!(await Ae.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?B.join(n,".yarnrc.yml"):null;o!==null&&M.existsSync(o)?(await M.copyFilePromise(o,i),await Ae.updateConfiguration(r,m=>{let I=V(P({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let b=typeof y=="string"?y:y.path,x=L.isAbsolute(b)?b:L.resolve(L.fromPortablePath(n),b);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await M.writeFilePromise(i,`enableGlobalCache: ${s} + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var nre=Vp;var CHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:sre.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:ul.CARET}},commands:[K$,U$,tte,hte,Zte,Ote,Lte,ire,Ite,Ete,yte,Bte,M$,O$,fte,dte,wte,Qte,Dte,Ste,Pte,$te,kte,Gte,Hte,jte,vte,qte,Jte,Wte,Vte,Xte,tre,rre,nre]},mHe=CHe;var Kv={};$e(Kv,{default:()=>EHe});var or={optional:!0},ore=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:or,zenObservable:or}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:or,zenObservable:or}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:or}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:or,["postcss-jsx"]:or,["postcss-less"]:or,["postcss-markdown"]:or,["postcss-scss"]:or}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:or}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:or}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:or,"vue-template-compiler":or}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:or,"utf-8-validate":or}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":or,"vuetify-loader":or}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":or}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":or}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":or}}]];var Nv;function are(){return typeof Nv=="undefined"&&(Nv=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),Nv}var Mv;function Are(){return typeof Mv=="undefined"&&(Mv=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),Mv}var Ov;function lre(){return typeof Ov=="undefined"&&(Ov=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Ov}var cre=new Map([[Q.makeIdent(null,"fsevents").identHash,are],[Q.makeIdent(null,"resolve").identHash,Are],[Q.makeIdent(null,"typescript").identHash,lre]]),IHe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of ore)e(Q.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=Q.parseIdent(e.slice(r.length)),n=(s=cre.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof cre.get(t.identHash)=="undefined"?t:Q.makeDescriptor(t,Q.makeRange({protocol:"patch:",source:Q.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},EHe=IHe;var Tv={};$e(Tv,{default:()=>BHe});var aB=class extends Be{constructor(){super(...arguments);this.pkg=G.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=G.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=G.String();this.args=G.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=Q.parseIdent(this.command),i=Q.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,Q.stringifyIdent(i),...this.args])}};aB.paths=[["create"]];var ure=aB;var Xp=class extends Be{constructor(){super(...arguments);this.packages=G.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=G.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=G.String();this.args=G.Proxy()}async execute(){return le.telemetry=null,await M.mktempPromise(async e=>{var p;let r=B.join(e,`dlx-${process.pid}`);await M.mkdirPromise(r),await M.writeFilePromise(B.join(r,"package.json"),`{} +`),await M.writeFilePromise(B.join(r,"yarn.lock"),"");let i=B.join(r,".yarnrc.yml"),n=await le.findProjectCwd(this.context.cwd,mt.lockfile),s=!(await le.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?B.join(n,".yarnrc.yml"):null;o!==null&&M.existsSync(o)?(await M.copyFilePromise(o,i),await le.updateConfiguration(r,m=>{let I=V(k({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let w=typeof y=="string"?y:y.path,x=L.isAbsolute(w)?w:L.resolve(L.fromPortablePath(n),w);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await M.writeFilePromise(i,`enableGlobalCache: ${s} enableTelemetry: false -`);let a=(p=this.packages)!=null?p:[this.command],l=w.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` -`);let u=await Ae.find(r,this.context.plugins),{project:g,workspace:h}=await Fe.find(u,r);if(h===null)throw new Xe(g.cwd,r);await g.restoreInstallState();let f=await bt.getWorkspaceAccessibleBinaries(h);return f.has(l)===!1&&f.size===1&&typeof this.packages=="undefined"&&(l=Array.from(f)[0][0]),await bt.executeWorkspaceAccessibleBinary(h,l,this.args,{packageAccessibleBinaries:f,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};qp.paths=[["dlx"]],qp.usage=fe.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var ire=qp;var lHe={commands:[rre,ire]},cHe=lHe;var Gv={};$e(Gv,{default:()=>hHe,fileUtils:()=>Mv});var Ru=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Gp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,or="file:";var Mv={};$e(Mv,{makeArchiveFromLocator:()=>aB,makeBufferFromLocator:()=>Tv,makeLocator:()=>Kv,makeSpec:()=>nre,parseSpec:()=>Ov});function Ov(t){let{params:e,selector:r}=w.parseRange(t),i=L.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?w.parseLocator(e.locator):null,path:i}}function nre({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:w.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return w.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function Kv(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return w.makeLocator(t,nre({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function aB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=w.parseFileStyleRange(t.reference,{protocol:e}),o=B.isAbsolute(s)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=B.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await gr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:w.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function Tv(t,{protocol:e,fetchOptions:r}){return(await aB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var Uv=class{supports(e,r){return!!e.reference.startsWith(or)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:or});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return aB(e,{protocol:or,fetchOptions:r})}};var uHe=1,Hv=class{supportsDescriptor(e,r){return e.range.match(Ru)?!0:!!e.range.startsWith(or)}supportsLocator(e,r){return!!e.reference.startsWith(or)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=w.makeDescriptor(e,`${or}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=Ov(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await Tv(w.makeLocator(e,w.makeRange({protocol:or,source:n,selector:n,params:{locator:w.stringifyLocator(s)}})),{protocol:or,fetchOptions:i.fetchOptions}),a=wi.makeHash(`${uHe}`,o).slice(0,6);return[Kv(e,{parentLocator:s,path:n,folderHash:a,protocol:or})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Yv=class{supports(e,r){return Gp.test(e.reference)?!!e.reference.startsWith(or):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:or}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await gr.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var qv=class{supportsDescriptor(e,r){return Gp.test(e.range)?!!(e.range.startsWith(or)||Ru.test(e.range)):!1}supportsLocator(e,r){return Gp.test(e.reference)?!!e.reference.startsWith(or):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=w.makeDescriptor(e,`${or}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(or)&&(n=n.slice(or.length)),[w.makeLocator(e,`${or}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var gHe={fetchers:[Yv,Uv],resolvers:[qv,Hv]},hHe=gHe;var tF={};$e(tF,{default:()=>kHe,gitUtils:()=>jp});var jp={};$e(jp,{TreeishProtocols:()=>vi,clone:()=>_v,isGitUrl:()=>Nu,lsRemote:()=>Bre,normalizeLocator:()=>Xv,normalizeRepoUrl:()=>Jp,resolveUrl:()=>Zv,splitRepoUrl:()=>Wp});var zv=te(Ire()),Lu=te(require("querystring")),Vv=te(Cr()),Ere=te(require("url"));function yre(){return V(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var xHe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vi;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vi||(vi={}));function Nu(t){return t?xHe.some(e=>!!t.match(e)):!1}function Wp(t){t=Jp(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vi.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Lu.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vi).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vi.Head,a="HEAD");for(let l of Object.values(vi))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Jp(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=Ere.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function Xv(t){return w.makeLocator(t,Jp(t.reference))}async function Bre(t,e){let r=Jp(t,{git:!0});if(!Ut.getNetworkSettings(`https://${(0,zv.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await pr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:yre(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function Zv(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Wp(t),o=await Bre(r,e),a=(c,u)=>{switch(c){case vi.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return Lu.default.stringify(V(P({},s),{commit:u}))}case vi.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:g}))}case vi.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:g}))}case vi.Semver:{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let h=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[Vv.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),f=Vv.default.maxSatisfying([...h.keys()],g);if(f===null)throw new Error(`No matching range ("${u}")`);return Lu.default.stringify(V(P({},s),{commit:h.get(f)}))}case null:{let g;if((g=l(vi.Commit,u))!==null||(g=l(vi.Tag,u))!==null||(g=l(vi.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function _v(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Wp(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Jp(r,{git:!0});if(Ut.getNetworkSettings(`https://${(0,zv.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:yre(),strict:!0};try{await pr.execvp("git",["clone","-c core.autocrlf=false",s,L.fromPortablePath(o)],a),await pr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var $v=class{supports(e,r){return Nu(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=Xv(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=V(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:l,releaseFs:c,prefixPath:w.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await _v(e.reference,r.project.configuration),n=Wp(e.reference),s=B.join(i,"package.tgz");await bt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await gr.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}))}};var eF=class{supportsDescriptor(e,r){return Nu(e.range)}supportsLocator(e,r){return Nu(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await Zv(e.range,i.project.configuration);return[w.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var PHe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[$v],resolvers:[eF]};var kHe=PHe;var iF={};$e(iF,{default:()=>RHe});var wre=te(require("querystring")),Qre=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function bre(t){return t?Qre.some(e=>!!t.match(e)):!1}function Sre(t){let e;for(let a of Qre)if(e=t.match(a),e)break;if(!e)throw new Error(vHe(t));let[,r,i,n,s="master"]=e,{commit:o}=wre.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function vHe(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var rF=class{supports(e,r){return!!bre(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ut.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await M.mktempPromise(async n=>{let s=new yt(n);await gr.extractArchiveTo(i,s,{stripComponents:1});let o=jp.splitRepoUrl(e.reference),a=B.join(n,"package.tgz");await bt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await gr.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=Sre(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var FHe={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new rF;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},RHe=FHe;var oF={};$e(oF,{default:()=>NHe});var zp=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Vp=/^https?:/;var nF=class{supports(e,r){return zp.test(e.reference)?!!Vp.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ut.get(e.reference,{configuration:r.project.configuration});return await gr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var sF=class{supportsDescriptor(e,r){return zp.test(e.range)?!!Vp.test(e.range):!1}supportsLocator(e,r){return zp.test(e.reference)?!!Vp.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[w.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var LHe={fetchers:[nF],resolvers:[sF]},NHe=LHe;var cF={};$e(cF,{default:()=>MYe});var $re=te(_re()),lF=te(require("util")),Xp=class extends Be{constructor(){super(...arguments);this.private=j.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=j.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=j.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=j.Boolean("-2",!1,{hidden:!0});this.yes=j.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=j.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){if(M.existsSync(B.join(this.context.cwd,ze.fileName)))throw new me("A package.json already exists in the specified directory");let e=await Ae.find(this.context.cwd,this.context.plugins),r=this.install?this.install===!0?"latest":this.install:null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.get("yarnPath")!==null)throw new me(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(e.projectCwd!==null)throw new me("Cannot use the --install flag when the current directory is already part of a project");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=B.join(this.context.cwd,e.get("lockfileFilename"));M.existsSync(i)||await M.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r]);if(n!==0)return n;this.context.stdout.write(` -`);let s=["--assume-fresh-project"];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await M.mktempPromise(async o=>{let{code:a}=await pr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){let r=null;if(!this.assumeFreshProject)try{r=await Fe.find(e,this.context.cwd)}catch{r=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=new ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=w.makeIdent(e.get("initScope"),B.basename(this.context.cwd)),i.private=this.private||this.workspace,this.workspace&&(await M.mkdirPromise(B.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),lF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,lF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} -`);let o=B.join(this.context.cwd,ze.fileName);await M.changeFilePromise(o,`${JSON.stringify(s,null,2)} -`);let a=B.join(this.context.cwd,"README.md");if(M.existsSync(a)||await M.writeFilePromise(a,`# ${w.stringifyIdent(i.name)} -`),!r){let l=B.join(this.context.cwd,mt.lockfile);await M.writeFilePromise(l,"");let u=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} -`).join(""),g=B.join(this.context.cwd,".gitignore");M.existsSync(g)||await M.writeFilePromise(g,u);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,$re.default)(h,e.get("initEditorConfig"));let f=`root = true -`;for(let[m,I]of Object.entries(h)){f+=` -[${m}] -`;for(let[y,b]of Object.entries(I))f+=`${y.replace(/[A-Z]/g,F=>`_${F.toLowerCase()}`)} = ${b} -`}let p=B.join(this.context.cwd,".editorconfig");M.existsSync(p)||await M.writeFilePromise(p,f),await pr.execvp("git",["init"],{cwd:this.context.cwd})}}};Xp.paths=[["init"]],Xp.usage=fe.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var eie=Xp;var NYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[eie]},MYe=NYe;var pF={};$e(pF,{default:()=>KYe});var fo="portal:",po="link:";var uF=class{supports(e,r){return!!e.reference.startsWith(fo)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:fo});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:fo}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,localPath:l}:{packageFs:new vs(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot}}};var gF=class{supportsDescriptor(e,r){return!!e.range.startsWith(fo)}supportsLocator(e,r){return!!e.reference.startsWith(fo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(fo.length);return[w.makeLocator(e,`${fo}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(P({},e),{version:n.version||"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var hF=class{supports(e,r){return!!e.reference.startsWith(po)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:po});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:po}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0,localPath:l}:{packageFs:new vs(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0}}};var fF=class{supportsDescriptor(e,r){return!!e.range.startsWith(po)}supportsLocator(e,r){return!!e.reference.startsWith(po)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(po.length);return[w.makeLocator(e,`${po}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return V(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var OYe={fetchers:[hF,uF],resolvers:[fF,gF]},KYe=OYe;var zF={};$e(zF,{default:()=>qqe});var bF=te(require("fs"));var uie=te(require("fs"));var dF=te(require("events")),tie=class extends dF.EventEmitter{constructor(e,r,i){super();this.dirWatchers=e,this.watchPath=r,this.watcherId=i}close(){let e=this.dirWatchers.get(this.watchPath);e.eventEmitters.delete(this.watcherId),e.eventEmitters.size===0&&this.dirWatchers.delete(this.watchPath)}},CF=class extends dF.EventEmitter{constructor(){super(...arguments);this.dirWatchers=new Map;this.lastWatcherId=0}registerWatcher(e,r,i){let n=this.dirWatchers.get(e);n||(n={eventEmitters:new Map,dirEntries:r},this.dirWatchers.set(e,n));let s=this.lastWatcherId++,o=new tie(this.dirWatchers,e,s);return n.eventEmitters.set(s,o),o.on("rename",a=>i("rename",a)),o}notifyWatchers(e){for(let[r,i]of this.dirWatchers){let n=e(r).dirList||new Set,s=new Set;for(let o of n)i.dirEntries.has(o)||s.add(o);for(let o of i.dirEntries)n.has(o)||s.add(o);for(let o of s)for(let a of i.eventEmitters.values())a.emit("rename",o);i.dirEntries=n}}};var Co;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Co||(Co={}));var mF=(t,e)=>`${t}@${e}`,rie=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return mF(t,i)},Wi;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Wi||(Wi={}));var nie=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=TYe(t,s),l=!1,c=0;do l=IF(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=Zp(a);if(IF(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +`);let a=(p=this.packages)!=null?p:[this.command],l=Q.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await le.find(r,this.context.plugins),{project:g,workspace:h}=await Fe.find(u,r);if(h===null)throw new Xe(g.cwd,r);await g.restoreInstallState();let f=await bt.getWorkspaceAccessibleBinaries(h);return f.has(l)===!1&&f.size===1&&typeof this.packages=="undefined"&&(l=Array.from(f)[0][0]),await bt.executeWorkspaceAccessibleBinary(h,l,this.args,{packageAccessibleBinaries:f,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Xp.paths=[["dlx"]],Xp.usage=fe.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var gre=Xp;var yHe={commands:[ure,gre]},BHe=yHe;var zv={};$e(zv,{default:()=>bHe,fileUtils:()=>Uv});var Ru=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Zp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,ar="file:";var Uv={};$e(Uv,{makeArchiveFromLocator:()=>AB,makeBufferFromLocator:()=>Gv,makeLocator:()=>Yv,makeSpec:()=>hre,parseSpec:()=>Hv});function Hv(t){let{params:e,selector:r}=Q.parseRange(t),i=L.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Q.parseLocator(e.locator):null,path:i}}function hre({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:Q.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return Q.makeRange({protocol:i,source:e,selector:e,params:k(k({},s),n)})}function Yv(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return Q.makeLocator(t,hre({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function AB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=Q.parseFileStyleRange(t.reference,{protocol:e}),o=B.isAbsolute(s)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=B.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await hr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:Q.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function Gv(t,{protocol:e,fetchOptions:r}){return(await AB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var jv=class{supports(e,r){return!!e.reference.startsWith(ar)}getLocalPath(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:ar});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return AB(e,{protocol:ar,fetchOptions:r})}};var wHe=1,qv=class{supportsDescriptor(e,r){return e.range.match(Ru)?!0:!!e.range.startsWith(ar)}supportsLocator(e,r){return!!e.reference.startsWith(ar)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=Q.makeDescriptor(e,`${ar}${e.range}`)),Q.bindDescriptor(e,{locator:Q.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=Hv(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await Gv(Q.makeLocator(e,Q.makeRange({protocol:ar,source:n,selector:n,params:{locator:Q.stringifyLocator(s)}})),{protocol:ar,fetchOptions:i.fetchOptions}),a=Di.makeHash(`${wHe}`,o).slice(0,6);return[Yv(e,{parentLocator:s,path:n,folderHash:a,protocol:ar})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await We.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(k({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Jv=class{supports(e,r){return Zp.test(e.reference)?!!e.reference.startsWith(ar):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:ar}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Wv=class{supportsDescriptor(e,r){return Zp.test(e.range)?!!(e.range.startsWith(ar)||Ru.test(e.range)):!1}supportsLocator(e,r){return Zp.test(e.reference)?!!e.reference.startsWith(ar):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return Ru.test(e.range)&&(e=Q.makeDescriptor(e,`${ar}${e.range}`)),Q.bindDescriptor(e,{locator:Q.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(ar)&&(n=n.slice(ar.length)),[Q.makeLocator(e,`${ar}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await We.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(k({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var QHe={fetchers:[Jv,jv],resolvers:[Wv,qv]},bHe=QHe;var sF={};$e(sF,{default:()=>YHe,gitUtils:()=>_p});var _p={};$e(_p,{TreeishProtocols:()=>Li,clone:()=>rF,isGitUrl:()=>Nu,lsRemote:()=>vre,normalizeLocator:()=>eF,normalizeRepoUrl:()=>$p,resolveUrl:()=>tF,splitRepoUrl:()=>ed});var _v=te(xre()),Lu=te(require("querystring")),$v=te(Cr()),Pre=te(require("url"));function kre(){return V(k({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var UHe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Li;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(Li||(Li={}));function Nu(t){return t?UHe.some(e=>!!t.match(e)):!1}function ed(t){t=$p(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:Li.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Lu.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Li).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=Li.Head,a="HEAD");for(let l of Object.values(Li))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function $p(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=Pre.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function eF(t){return Q.makeLocator(t,$p(t.reference))}async function vre(t,e){let r=$p(t,{git:!0});if(!Ft.getNetworkSettings(`https://${(0,_v.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await Nr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:kre(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function tF(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=ed(t),o=await vre(r,e),a=(c,u)=>{switch(c){case Li.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return Lu.default.stringify(V(k({},s),{commit:u}))}case Li.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return Lu.default.stringify(V(k({},s),{commit:g}))}case Li.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return Lu.default.stringify(V(k({},s),{commit:g}))}case Li.Semver:{let g=kt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let h=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[$v.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),f=$v.default.maxSatisfying([...h.keys()],g);if(f===null)throw new Error(`No matching range ("${u}")`);return Lu.default.stringify(V(k({},s),{commit:h.get(f)}))}case null:{let g;if((g=l(Li.Commit,u))!==null||(g=l(Li.Tag,u))!==null||(g=l(Li.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function rF(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=ed(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=$p(r,{git:!0});if(Ft.getNetworkSettings(`https://${(0,_v.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:kre(),strict:!0};try{await Nr.execvp("git",["clone","-c core.autocrlf=false",s,L.fromPortablePath(o)],a),await Nr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var iF=class{supports(e,r){return Nu(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=eF(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=V(k({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:l,releaseFs:c,prefixPath:Q.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await rF(e.reference,r.project.configuration),n=ed(e.reference),s=B.join(i,"package.tgz");await bt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1}))}};var nF=class{supportsDescriptor(e,r){return Nu(e.range)}supportsLocator(e,r){return Nu(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await tF(e.range,i.project.configuration);return[Q.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await We.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(k({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var HHe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[iF],resolvers:[nF]};var YHe=HHe;var aF={};$e(aF,{default:()=>qHe});var Fre=te(require("querystring")),Rre=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function Lre(t){return t?Rre.some(e=>!!t.match(e)):!1}function Nre(t){let e;for(let a of Rre)if(e=t.match(a),e)break;if(!e)throw new Error(GHe(t));let[,r,i,n,s="master"]=e,{commit:o}=Fre.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function GHe(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var oF=class{supports(e,r){return!!Lre(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ft.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await M.mktempPromise(async n=>{let s=new yt(n);await hr.extractArchiveTo(i,s,{stripComponents:1});let o=_p.splitRepoUrl(e.reference),a=B.join(n,"package.tgz");await bt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await hr.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=Nre(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var jHe={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new oF;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},qHe=jHe;var cF={};$e(cF,{default:()=>WHe});var td=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,rd=/^https?:/;var AF=class{supports(e,r){return td.test(e.reference)?!!rd.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Ft.get(e.reference,{configuration:r.project.configuration});return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1})}};var lF=class{supportsDescriptor(e,r){return td.test(e.range)?!!rd.test(e.range):!1}supportsLocator(e,r){return td.test(e.reference)?!!rd.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[Q.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await We.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(k({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:At.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var JHe={fetchers:[AF],resolvers:[lF]},WHe=JHe;var fF={};$e(fF,{default:()=>zYe});var Aie=te(aie()),hF=te(require("util")),id=class extends Be{constructor(){super(...arguments);this.private=G.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=G.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=G.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=G.Boolean("-2",!1,{hidden:!0});this.yes=G.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=G.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=B.join(this.context.cwd,e.get("lockfileFilename"));M.existsSync(i)||await M.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;this.context.stdout.write(` +`);let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await M.mktempPromise(async o=>{let{code:a}=await Nr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await bt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Fe.find(e,this.context.cwd)).project}catch{r=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let i=await We.tryFind(this.context.cwd)||new We,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:Q.makeIdent(e.get("initScope"),B.basename(this.context.cwd)),i.packageManager=yr&&de.isTaggedYarnVersion(yr)?`yarn@${yr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await M.mkdirPromise(B.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),hF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,hF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=B.join(this.context.cwd,We.fileName);await M.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=B.join(this.context.cwd,"README.md");if(M.existsSync(a)||await M.writeFilePromise(a,`# ${Q.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=B.join(this.context.cwd,mt.lockfile);M.existsSync(c)||await M.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(I=>`${I} +`).join(""),h=B.join(this.context.cwd,".gitignore");M.existsSync(h)||await M.writeFilePromise(h,g);let f={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Aie.default)(f,e.get("initEditorConfig"));let p=`root = true +`;for(let[I,y]of Object.entries(f)){p+=` +[${I}] +`;for(let[w,x]of Object.entries(y))p+=`${w.replace(/[A-Z]/g,N=>`_${N.toLowerCase()}`)} = ${x} +`}let m=B.join(this.context.cwd,".editorconfig");M.existsSync(m)||await M.writeFilePromise(m,p),M.existsSync(B.join(this.context.cwd,".git"))||await Nr.execvp("git",["init"],{cwd:this.context.cwd})}}};id.paths=[["init"]],id.usage=fe.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var lie=id;var WYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[lie]},zYe=WYe;var IF={};$e(IF,{default:()=>XYe});var Io="portal:",Eo="link:";var pF=class{supports(e,r){return!!e.reference.startsWith(Io)}getLocalPath(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:Io});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:Io}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,localPath:l}:{packageFs:new Ns(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot}}};var dF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Io)}supportsLocator(e,r){return!!e.reference.startsWith(Io)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return Q.bindDescriptor(e,{locator:Q.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Io.length);return[Q.makeLocator(e,`${Io}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await We.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(k({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var CF=class{supports(e,r){return!!e.reference.startsWith(Eo)}getLocalPath(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:Eo});if(B.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:B.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=Q.parseFileStyleRange(e.reference,{protocol:Eo}),s=B.isAbsolute(n)?{packageFs:new yt(Ee.root),prefixPath:Ee.dot,localPath:Ee.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=B.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ns(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Ee.dot,discardFromLookup:!0}}};var mF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Eo)}supportsLocator(e,r){return!!e.reference.startsWith(Eo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return Q.bindDescriptor(e,{locator:Q.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Eo.length);return[Q.makeLocator(e,`${Eo}${L.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return V(k({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:At.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var VYe={fetchers:[CF,pF],resolvers:[mF,dF]},XYe=VYe;var _F={};$e(_F,{default:()=>tje});var PF=te(require("fs"));var Eie=te(require("fs"));var EF=te(require("events")),cie=class extends EF.EventEmitter{constructor(e,r,i){super();this.dirWatchers=e,this.watchPath=r,this.watcherId=i}close(){let e=this.dirWatchers.get(this.watchPath);e.eventEmitters.delete(this.watcherId),e.eventEmitters.size===0&&this.dirWatchers.delete(this.watchPath)}},yF=class extends EF.EventEmitter{constructor(){super(...arguments);this.dirWatchers=new Map;this.lastWatcherId=0}registerWatcher(e,r,i){let n=this.dirWatchers.get(e);n||(n={eventEmitters:new Map,dirEntries:r},this.dirWatchers.set(e,n));let s=this.lastWatcherId++,o=new cie(this.dirWatchers,e,s);return n.eventEmitters.set(s,o),o.on("rename",a=>i("rename",a)),o}notifyWatchers(e){for(let[r,i]of this.dirWatchers){let n=e(r).dirList||new Set,s=new Set;for(let o of n)i.dirEntries.has(o)||s.add(o);for(let o of i.dirEntries)n.has(o)||s.add(o);for(let o of s)for(let a of i.eventEmitters.values())a.emit("rename",o);i.dirEntries=n}}};var yo;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(yo||(yo={}));var BF=(t,e)=>`${t}@${e}`,uie=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return BF(t,i)},Xi;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Xi||(Xi={}));var hie=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=ZYe(t,s),l=!1,c=0;do l=wF(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=nd(a);if(wF(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: ${u}, next tree: -${Zp(a)}`);let h=iie(a);if(h)throw new Error(`${h}, after hoisting finished: -${Zp(a)}`)}return s.debugLevel>=2&&console.log(Zp(a)),UYe(a)},HYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},YYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},sie=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,h={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},f=h.dependencies.get(r);return f&&f.ident==h.ident&&h.dependencies.set(r,h),t.dependencies.set(h.name,h),h},qYe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},EF=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},IF=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=jYe(o),l=qYe(o,a),c=t==o?new Map:n.fastLookupPossible?HYe(e):YYe(e),u,g=!1,h=!1,f=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=GYe(t,e,r,c,f,l,i,p,n);m.isGraphChanged&&(h=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(f.delete(I),y.shift(),f.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=IF(t,[...e,m],r,p,n);I.isGraphChanged&&(h=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:h}},JYe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Fi(m)).join("\u2192")}`);let h=r[r.length-1],p=!(i.ident===h.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Fi(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Fi(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(h);F||(F=new Set,a.set(h,F)),F.add(i.name),l&&(u=`- filled by ${Fi(x.locator)} at ${r.slice(0,y).map(N=>Fi(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Fi(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let b=r[y];for(let x of I){if(b.peerNames.has(x)&&b.originalDependencies.has(x))continue;let F=b.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Fi(F.locator)} from parent ${Fi(b.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},GYe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,h=!1,f=(I,y,b,x)=>{if(u.has(b))return;let F=[...y,b.locator],N=new Map,U=new Map;for(let K of EF(b)){let A=JYe(c,r,[c,...I,b],K,i,n,s,a,{outputReason:l.debugLevel>=2});if(U.set(K,A),A.isHoistable===2)for(let W of A.dependsOn){let $=N.get(W.name)||new Set;$.add(K.name),N.set(W.name,$)}}let v=new Set,J=(K,A,W)=>{if(!v.has(K)){v.add(K),U.set(K,{isHoistable:1,reason:W});for(let $ of N.get(K.name)||[])J(b.dependencies.get($),A,l.debugLevel>=2?`- peer dependency ${Fi(K.locator)} from parent ${Fi(b.locator)} was not hoisted`:"")}};for(let[K,A]of U)A.isHoistable===1&&J(K,A,A.reason);for(let K of U.keys())if(!v.has(K)){h=!0;let A=o.get(b);A&&A.has(K.name)&&(g=!0),b.dependencies.delete(K.name),b.hoistedDependencies.set(K.name,K),b.reasons.delete(K.name);let W=c.dependencies.get(K.name),$=null;if(l.debugLevel>=2&&($=Array.from(y).concat([b.locator]).map(re=>Fi(re)).join("\u2192")),!W)c.ident!==K.ident&&(c.dependencies.set(K.name,K),l.debugLevel>=2&&K.hoistedFrom.push($),x.add(K));else for(let re of K.references)W.references.add(re),l.debugLevel>=2&&W.hoistedFrom.push($)}if(l.check){let K=iie(t);if(K)throw new Error(`${K}, after hoisting dependencies of ${[c,...I,b].map(A=>Fi(A.locator)).join("\u2192")}: -${Zp(t)}`)}let oe=EF(b);for(let K of oe)if(v.has(K)){let A=U.get(K);if((n.get(K.name)===K.ident||!b.reasons.has(K.name))&&A.isHoistable!==0&&b.reasons.set(K.name,A.reason),!K.isHoistBorder&&F.indexOf(K.locator)<0){u.add(b);let $=sie(b,K);f([...I,b],[...y,b.locator],$,m),u.delete(b)}}},p,m=new Set(EF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=sie(c,I);f([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:h}},iie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Fi(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` -`)},TYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:mF(r,n),ident:rie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),h=!!g;if(!g){let{name:f,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:f,references:new Set([m]),locator:mF(p,m),ident:rie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(f):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),h){let f=new Set,p=m=>{if(!f.has(m)){f.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let f of c.dependencies)l(f,g)};for(let c of t.dependencies)l(c,o);return o},yF=t=>t.substring(0,t.indexOf("@",1)),UYe=t=>{let e={name:t.name,identName:yF(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:yF(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},jYe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Fi=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},oie=5e4,Zp=t=>{let e=0,r=(n,s,o="")=>{if(e>oie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(h!==u.name?`a:${u.name}:`:"")+Fi(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} -`,l+=r(u,s,`${o}${coie?` +${nd(a)}`);let h=gie(a);if(h)throw new Error(`${h}, after hoisting finished: +${nd(a)}`)}return s.debugLevel>=2&&console.log(nd(a)),_Ye(a)},$Ye=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},eGe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},fie=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,h={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},f=h.dependencies.get(r);return f&&f.ident==h.ident&&h.dependencies.set(r,h),t.dependencies.set(h.name,h),h},tGe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},QF=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},wF=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=iGe(o),l=tGe(o,a),c=t==o?new Map:n.fastLookupPossible?$Ye(e):eGe(e),u,g=!1,h=!1,f=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=rGe(t,e,r,c,f,l,i,p,n);m.isGraphChanged&&(h=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(f.delete(I),y.shift(),f.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=wF(t,[...e,m],r,p,n);I.isGraphChanged&&(h=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:h}},nGe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Ni(m)).join("\u2192")}`);let h=r[r.length-1],p=!(i.ident===h.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Ni(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Ni(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(h);F||(F=new Set,a.set(h,F)),F.add(i.name),l&&(u=`- filled by ${Ni(x.locator)} at ${r.slice(0,y).map(N=>Ni(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Ni(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let w=r[y];for(let x of I){if(w.peerNames.has(x)&&w.originalDependencies.has(x))continue;let F=w.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Ni(F.locator)} from parent ${Ni(w.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},rGe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,h=!1,f=(I,y,w,x)=>{if(u.has(w))return;let F=[...y,w.locator],N=new Map,K=new Map;for(let T of QF(w)){let A=nGe(c,r,[c,...I,w],T,i,n,s,a,{outputReason:l.debugLevel>=2});if(K.set(T,A),A.isHoistable===2)for(let W of A.dependsOn){let ee=N.get(W.name)||new Set;ee.add(T.name),N.set(W.name,ee)}}let v=new Set,J=(T,A,W)=>{if(!v.has(T)){v.add(T),K.set(T,{isHoistable:1,reason:W});for(let ee of N.get(T.name)||[])J(w.dependencies.get(ee),A,l.debugLevel>=2?`- peer dependency ${Ni(T.locator)} from parent ${Ni(w.locator)} was not hoisted`:"")}};for(let[T,A]of K)A.isHoistable===1&&J(T,A,A.reason);for(let T of K.keys())if(!v.has(T)){h=!0;let A=o.get(w);A&&A.has(T.name)&&(g=!0),w.dependencies.delete(T.name),w.hoistedDependencies.set(T.name,T),w.reasons.delete(T.name);let W=c.dependencies.get(T.name),ee=null;if(l.debugLevel>=2&&(ee=Array.from(y).concat([w.locator]).map(re=>Ni(re)).join("\u2192")),!W)c.ident!==T.ident&&(c.dependencies.set(T.name,T),l.debugLevel>=2&&T.hoistedFrom.push(ee),x.add(T));else for(let re of T.references)W.references.add(re),l.debugLevel>=2&&W.hoistedFrom.push(ee)}if(l.check){let T=gie(t);if(T)throw new Error(`${T}, after hoisting dependencies of ${[c,...I,w].map(A=>Ni(A.locator)).join("\u2192")}: +${nd(t)}`)}let oe=QF(w);for(let T of oe)if(v.has(T)){let A=K.get(T);if((n.get(T.name)===T.ident||!w.reasons.has(T.name))&&A.isHoistable!==0&&w.reasons.set(T.name,A.reason),!T.isHoistBorder&&F.indexOf(T.locator)<0){u.add(w);let ee=fie(w,T);f([...I,w],[...y,w.locator],ee,m),u.delete(w)}}},p,m=new Set(QF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=fie(c,I);f([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:h}},gie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Ni(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` +`)},ZYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:BF(r,n),ident:uie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),h=!!g;if(!g){let{name:f,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:f,references:new Set([m]),locator:BF(p,m),ident:uie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(f):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),h){let f=new Set,p=m=>{if(!f.has(m)){f.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let f of c.dependencies)l(f,g)};for(let c of t.dependencies)l(c,o);return o},bF=t=>t.substring(0,t.indexOf("@",1)),_Ye=t=>{let e={name:t.name,identName:bF(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:bF(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},iGe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Ni=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},pie=5e4,nd=t=>{let e=0,r=(n,s,o="")=>{if(e>pie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(h!==u.name?`a:${u.name}:`:"")+Ni(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cpie?` Tree is too large, part of the tree has been dunped -`:"")};var Ba;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Ba||(Ba={}));var Ri;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Ri||(Ri={}));var aie="node_modules",AB="$wsroot$";var wa=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=WYe(t,e),o=null;if(n.length===0){let a=nie(r,{hoistingLimits:i});o=zYe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Es=t=>`${t.name}@${t.reference}`,BF=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(B.delimiter).length,o=n.split(B.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Aie=(t,e)=>{let r=w.isVirtualLocator(t)?w.devirtualizeLocator(t):t,i=w.isVirtualLocator(e)?w.devirtualizeLocator(e):e;return w.areLocatorsEqual(r,i)},WYe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=L.toPortablePath(a.packageLocation),u=Es(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(B.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(B.sep).slice(y.length),U=I;for(let v of N){let J=U.children.get(v);J||(J={children:new Map},U.children.set(v,J)),U=J}U.workspaceLocator={name:w.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let b=(x,F)=>{if(x.workspaceLocator){let N=Es(F),U=o.get(N);U||(U=new Set,o.set(N,U)),U.add(x.workspaceLocator)}for(let N of x.children.values())b(N,x.workspaceLocator||F)};for(let x of I.children.values())b(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},h=new Map,f=(I,y)=>`${Es(y)}:${I}`,p=(I,y)=>{if(I.linkType!==Ba.SOFT||!e.project)return!1;let b=L.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return B.contains(e.project.cwd,b)===null},m=(I,y,b,x,F,N,U)=>{var $,re;let v=f(I,b),J=h.get(v),oe=!!J;if(!oe&&b.name===l.name&&b.reference===l.reference&&(J=g,h.set(v,g)),J||(J={name:I,identName:b.name,reference:b.reference,dependencies:new Set,peerNames:y.packagePeers},h.set(v,J)),U&&!p(y,b)){let H=Es({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let K=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(L.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),Pe=>w.stringifyIdent(Pe)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let Pe of R)K.has(Pe)||(K.set(Pe,F.get(Pe)||null),J.peerNames.add(Pe))}}let A=Es(b),W=o.get(A);if(W)for(let H of W)K.set(`${H.name}${AB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,Pe]of K)if(Pe!==null){let Le=t.getLocator(R,Pe),Ge=t.getLocator(R.replace(AB,""),Pe),Ke=t.getPackageInformation(Ge);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Le);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,ve]of Ke.packageDependencies){let Z=w.parseLocator(Array.isArray(ve)?`${ve[0]}@${ve[1]}`:`${pe}@${ve}`);if(Es(Z)!==Es(Le)){let X=K.get(pe);if(X){let ae=w.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);Aie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Le.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${b.name}@${b.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${w.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,we=w.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);Aie(we,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Le.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${b.name}@${b.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${w.prettyLocator(e.project.configuration,we)} from sibling portal ${w.prettyIdent(e.project.configuration,w.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Le})}}}}let le=($=e.hoistingLimitsByCwd)==null?void 0:$.get(N),be=ie?N:B.relative(c,L.toPortablePath(Ke.packageLocation))||Ee.dot,he=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(be),Ie=le===Ri.DEPENDENCIES||he===Ri.DEPENDENCIES||he===Ri.WORKSPACES;m(Es(Le)===Es(b)?I:R,Ke,Le,J,K,be,Ie)}}};return m(l.name,a,l,g,a.packageDependencies,Ee.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function VYe(t,e,r){let i=e.getLocator(t.name.replace(AB,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=L.toPortablePath(n.packageLocation),s=Ba.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=L.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var zYe=(t,e,r)=>{let i=new Map,n=(u,g,h)=>{let{linkType:f,target:p}=VYe(u,t,r);return{locator:Es(u),nodePath:g,target:p,linkType:f,aliases:h}},s=u=>{let[g,h]=u.split("/");return h?{scope:jt(g),name:jt(h)}:{scope:null,name:jt(g)}},o=new Set,a=(u,g,h)=>{if(!o.has(u)){o.add(u);for(let f of u.dependencies){if(f===u)continue;let p=Array.from(f.references).sort(),m={name:f.identName,reference:p[0]},{name:I,scope:y}=s(f.name),b=y?[y,I]:[I],x=B.join(g,aie),F=B.join(x,...b),N=`${h}/${m.name}`,U=n(m,h,p.slice(1));if(!f.name.endsWith(AB)){let v=i.get(F);if(v){if(v.dirList)throw new Error(`Assertion failed: ${F} cannot merge dir node with leaf node`);{let A=w.parseLocator(v.locator),W=w.parseLocator(U.locator);if(v.linkType!==U.linkType)throw new Error(`Assertion failed: ${F} cannot merge nodes with different link types ${v.nodePath}/${w.stringifyLocator(A)} and ${h}/${w.stringifyLocator(W)}`);if(A.identHash!==W.identHash)throw new Error(`Assertion failed: ${F} cannot merge nodes with different idents ${v.nodePath}/${w.stringifyLocator(A)} and ${h}/s${w.stringifyLocator(W)}`);U.aliases=[...U.aliases,...v.aliases,w.parseLocator(v.locator).reference]}}i.set(F,U);let J=F.split("/"),oe=J.indexOf(aie),K=J.length-1;for(;oe>=0&&K>oe;){let A=L.toPortablePath(J.slice(0,K).join(B.sep)),W=jt(J[K]),$=i.get(A);if(!$)i.set(A,{dirList:new Set([W])});else if($.dirList){if($.dirList.has(W))break;$.dirList.add(W)}K--}}a(f,U.linkType===Ba.SOFT?U.target:F,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var dl=eval("require");function lie(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=dl.cache[physicalPath];delete dl.cache[physicalPath];let result;try{result=dl(physicalPath);let freshCacheEntry=dl.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{dl.cache[physicalPath]=currentCacheEntry}return result}var cie="node_modules",wF=(t,e)=>{let r={resolvedPath:t},i=t.split(B.sep),n=i.indexOf(cie);if(n<0)return r;let s=i.lastIndexOf(cie);typeof i[s+1]!="undefined"&&s++,i[s][0]==="@"&&typeof i[s+1]!="undefined"&&s++;let o=L.toPortablePath(i.slice(0,n).join(B.sep)),a,l,c,u=n,g=Ee.dot;for(;u<=s;){let h=jt(i[u]);o=B.join(o,h),a=e.get(o),a?(a.linkType===Ba.SOFT&&(o=a.target),l=a,g=Ee.dot,c=a.dirList?o:a.target):g=B.join(g,h),u++}return g=B.join(g,...i.slice(s+1).map(h=>jt(h))),l&&(!l.dirList||g!==Ee.dot?(r.resolvedPath=B.join(c,g),r.isSymlink=l&&l.linkType===Ba.SOFT&&g===Ee.dot):g===Ee.dot&&(r.dirList=l.dirList,r.forwardedDirPath=L.toPortablePath(i.slice(0,n).join(B.sep)),r.forwardedDirPath.endsWith(".zip")&&(r.forwardedDirPath=B.dirname(r.forwardedDirPath)))),r};var QF=class extends fr{constructor(e,{realFs:r=uie.default,pnpifyFs:i=!0}={}){super(L);this.baseFs=new _p(e,{baseFs:new wt(r),pnpifyFs:i})}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}},gie=/[+wa]/,_p=class extends xn{constructor(e,{baseFs:r=new wt,pnpifyFs:i=!0}={}){super(B);if(!e.getDependencyTreeRoots)throw new Error("NodeModulesFS supports PnP API versions 3+, please upgrade your PnP API provider");this.options={baseFs:r,pnpifyFs:i},this.baseFs=r;let{tree:n,errors:s}=wa(e,this.options);if(!n)throw new Error(`Assertion failed. Have got non-persistable node_modules graph, errors: -${JSON.stringify(s)}`);this.nodeModulesTree=n,this.watchManager=new CF;let o=L.toPortablePath(e.getPackageInformation(e.topLevel).packageLocation);this.pnpFilePath=B.join(o,mt.pnpCjs),this.watchPnpFile(o)}watchPnpFile(e){this.baseFs.watch(e,{persistent:!1},(r,i)=>{if(i===mt.pnpCjs){let n=lie(this.pnpFilePath);if(!wa(n,this.options))throw new Error("Assertion failed. Have got non-persistable node_modules graph");this.watchManager.notifyWatchers(o=>wF(o,this.nodeModulesTree))}})}persistPath(e){let r=[],i=e;for(;!this.baseFs.existsSync(i);)r.push(i),i=B.dirname(i);for(let n of r.reverse())this.baseFs.mkdirSync(n)}persistVirtualParentFolder(e){if(typeof e!="number"){let r=this.resolvePath(B.dirname(e));r.dirList&&this.persistPath(r.resolvedPath)}}getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.baseFs.resolve(this.resolvePath(e).resolvedPath)}getBaseFs(){return this.baseFs}resolvePath(e){if(typeof e=="number")return{resolvedPath:e,fullOriginalPath:e};{let r=this.pathUtils.resolve(e);return V(P({},wF(r,this.nodeModulesTree)),{fullOriginalPath:r})}}resolveFilePath(e){return typeof e=="number"?e:this.resolvePath(e).resolvedPath}resolveDirOrFilePath(e){if(typeof e=="number")return e;let r=this.resolvePath(e);return r.forwardedDirPath||r.resolvedPath}resolveLink(e){let{p:r,onSymlink:i,onRealPath:n,statOptions:s}=e,o=this.resolvePath(r);if(o.isSymlink){let a;try{a=this.baseFs.lstatSync(o.resolvedPath,s)}catch(l){}if(a)return i(a,this.pathUtils.relative(this.pathUtils.dirname(o.fullOriginalPath),o.resolvedPath))}return n(o.forwardedDirPath||o.resolvedPath)}static makeSymlinkStats(e){return Object.assign(e,{isFile:()=>!1,isDirectory:()=>!1,isSymbolicLink:()=>!0})}getRealPath(){return this.baseFs.getRealPath()}async openPromise(e,r,i){return gie.test(r)&&this.persistVirtualParentFolder(e),await this.baseFs.openPromise(this.resolveFilePath(e),r,i)}openSync(e,r,i){return gie.test(r)&&this.persistVirtualParentFolder(e),this.baseFs.openSync(this.resolveFilePath(e),r,i)}async opendirPromise(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return ja(this,e,s)}else return await this.baseFs.opendirPromise(i.resolvedPath,r)}opendirSync(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return ja(this,e,s)}else return this.baseFs.opendirSync(i.resolvedPath,r)}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){await this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.resolveFilePath(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.resolveDirOrFilePath(e):e,r)}async realpathPromise(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathPromise(r.resolvedPath)}realpathSync(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathSync(r.resolvedPath)}async existsPromise(e){let r=this.resolvePath(e);return r.dirList?!0:await this.baseFs.existsPromise(r.resolvedPath)}existsSync(e){let r=this.resolvePath(e);return r.dirList?!0:this.baseFs.existsSync(r.resolvedPath)}async accessPromise(e,r){return await this.baseFs.accessPromise(this.resolveDirOrFilePath(e),r)}accessSync(e,r){return this.baseFs.accessSync(this.resolveDirOrFilePath(e),r)}async statPromise(e,r){return await this.baseFs.statPromise(this.resolveDirOrFilePath(e),r)}statSync(e,r){return this.baseFs.statSync(this.resolveDirOrFilePath(e),r)}async fstatPromise(e,r){return await this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>_p.makeSymlinkStats(i),onRealPath:async i=>await this.baseFs.lstatPromise(i,r),statOptions:r})}lstatSync(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>_p.makeSymlinkStats(i),onRealPath:i=>this.baseFs.lstatSync(i,r),statOptions:r})}async chmodPromise(e,r){return await this.baseFs.chmodPromise(this.resolveDirOrFilePath(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.resolveDirOrFilePath(e),r)}async chownPromise(e,r,i){return await this.baseFs.chownPromise(this.resolveDirOrFilePath(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.resolveDirOrFilePath(e),r,i)}async renamePromise(e,r){return await this.baseFs.renamePromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}renameSync(e,r){return this.baseFs.renameSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async copyFilePromise(e,r,i){return await this.baseFs.copyFilePromise(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}copyFileSync(e,r,i){return this.baseFs.copyFileSync(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}async appendFilePromise(e,r,i){return await this.baseFs.appendFilePromise(this.resolveDirOrFilePath(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.resolveDirOrFilePath(e),r,i)}async writeFilePromise(e,r,i){return await this.baseFs.writeFilePromise(this.resolveDirOrFilePath(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.resolveDirOrFilePath(e),r,i)}async unlinkPromise(e){return await this.baseFs.unlinkPromise(this.resolveDirOrFilePath(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.resolveDirOrFilePath(e))}async utimesPromise(e,r,i){return await this.baseFs.utimesPromise(this.resolveDirOrFilePath(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.resolveDirOrFilePath(e),r,i)}async mkdirPromise(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirPromise(i.resolvedPath,r)}mkdirSync(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirSync(i.resolvedPath,r)}async rmdirPromise(e,r){return await this.baseFs.rmdirPromise(this.resolveDirOrFilePath(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.resolveDirOrFilePath(e),r)}async linkPromise(e,r){return await this.baseFs.linkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}linkSync(e,r){return this.baseFs.linkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async symlinkPromise(e,r){return await this.baseFs.symlinkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}symlinkSync(e,r){return this.baseFs.symlinkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async readFilePromise(e,r){switch(r){case"utf8":return await this.baseFs.readFilePromise(this.resolveFilePath(e),r);default:return await this.baseFs.readFilePromise(this.resolveFilePath(e),r)}}readFileSync(e,r){switch(r){case"utf8":return this.baseFs.readFileSync(this.resolveFilePath(e),r);default:return this.baseFs.readFileSync(this.resolveFilePath(e),r)}}async readdirPromise(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return await this.baseFs.readdirPromise(i.resolvedPath,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return this.baseFs.readdirSync(i.resolvedPath,{withFileTypes:r})}async readlinkPromise(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:async r=>await this.baseFs.readlinkPromise(this.resolveDirOrFilePath(r))})}readlinkSync(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:r=>this.baseFs.readlinkSync(this.resolveDirOrFilePath(r))})}async truncatePromise(e,r){return await this.baseFs.truncatePromise(this.resolveDirOrFilePath(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.resolveDirOrFilePath(e),r)}watch(e,r,i){let n=this.resolvePath(e),s=n.resolvedPath;if(s&&n.dirList){let o=typeof r=="function"?r:typeof i=="function"?i:()=>{};return this.watchManager.registerWatcher(s,n.dirList,o)}else return this.baseFs.watch(this.resolveDirOrFilePath(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.resolveDirOrFilePath(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.resolveDirOrFilePath(e),r)}};var hie=!1,SF;try{SF=dl("pnpapi")}catch(t){}var XYe=()=>{if(SF&&!hie){let t=P({},bF.default),e=new QF(SF,{realFs:t});xg(bF.default,e),hie=!0}};process.mainModule||XYe();var MF={};$e(MF,{PnpInstaller:()=>Ku,PnpLinker:()=>Il,default:()=>Cqe,getPnpPath:()=>ba,jsInstallUtils:()=>Qa,pnpUtils:()=>LF,quotePathIfNeeded:()=>Lie});var Rie=te(Cr());var fie;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(fie||(fie={}));var Dt;(function(h){h.DEFAULT="DEFAULT",h.TOP_LEVEL="TOP_LEVEL",h.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",h.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",h.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",h.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",h.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",h.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",h.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",h.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",h.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",h.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Dt||(Dt={}));var pie={[Dt.DEFAULT]:{collapsed:!1,next:{["*"]:Dt.DEFAULT}},[Dt.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Dt.FALLBACK_EXCLUSION_LIST,packageRegistryData:Dt.PACKAGE_REGISTRY_DATA,["*"]:Dt.DEFAULT}},[Dt.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Dt.FALLBACK_EXCLUSION_ENTRIES}},[Dt.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.FALLBACK_EXCLUSION_DATA}},[Dt.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}},[Dt.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_REGISTRY_ENTRIES}},[Dt.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_STORE_DATA}},[Dt.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_STORE_ENTRIES}},[Dt.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_INFORMATION_DATA}},[Dt.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Dt.PACKAGE_DEPENDENCIES,["*"]:Dt.DEFAULT}},[Dt.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_DEPENDENCY}},[Dt.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}}};function ZYe(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function tqe(t){let e=new Map,r=$p(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function rqe(t){return $p(t.fallbackPool||[],([e])=>e)}function iqe(t){let e=[];for(let[r,i]of $p(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of $p(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of $p(a.entries(),([I])=>I))g.push([p,m]);let h=l&&l.size>0?Array.from(l):void 0,f=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:h,linkType:c,discardFromLookup:f}])}}return e}function ed(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:tqe(t),fallbackPool:rqe(t),packageRegistryData:iqe(t)}}var Eie=te(Iie());function yie(t,e){return[t?`${t} +`:"")};var Ba;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Ba||(Ba={}));var Mi;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mi||(Mi={}));var die="node_modules",lB="$wsroot$";var wa=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=sGe(t,e),o=null;if(n.length===0){let a=hie(r,{hoistingLimits:i});o=oGe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ws=t=>`${t.name}@${t.reference}`,DF=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(B.delimiter).length,o=n.split(B.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Cie=(t,e)=>{let r=Q.isVirtualLocator(t)?Q.devirtualizeLocator(t):t,i=Q.isVirtualLocator(e)?Q.devirtualizeLocator(e):e;return Q.areLocatorsEqual(r,i)},sGe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=L.toPortablePath(a.packageLocation),u=ws(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(B.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(B.sep).slice(y.length),K=I;for(let v of N){let J=K.children.get(v);J||(J={children:new Map},K.children.set(v,J)),K=J}K.workspaceLocator={name:Q.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let w=(x,F)=>{if(x.workspaceLocator){let N=ws(F),K=o.get(N);K||(K=new Set,o.set(N,K)),K.add(x.workspaceLocator)}for(let N of x.children.values())w(N,x.workspaceLocator||F)};for(let x of I.children.values())w(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},h=new Map,f=(I,y)=>`${ws(y)}:${I}`,p=(I,y)=>{if(I.linkType!==Ba.SOFT||!e.project)return!1;let w=L.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return B.contains(e.project.cwd,w)===null},m=(I,y,w,x,F,N,K)=>{var ee,re;let v=f(I,w),J=h.get(v),oe=!!J;if(!oe&&w.name===l.name&&w.reference===l.reference&&(J=g,h.set(v,g)),J||(J={name:I,identName:w.name,reference:w.reference,dependencies:new Set,peerNames:y.packagePeers},h.set(v,J)),K&&!p(y,w)){let H=ws({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let T=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(L.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),ke=>Q.stringifyIdent(ke)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let ke of R)T.has(ke)||(T.set(ke,F.get(ke)||null),J.peerNames.add(ke))}}let A=ws(w),W=o.get(A);if(W)for(let H of W)T.set(`${H.name}${lB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,ke]of T)if(ke!==null){let Le=t.getLocator(R,ke),qe=t.getLocator(R.replace(lB,""),ke),Ke=t.getPackageInformation(qe);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Le);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,Qe]of Ke.packageDependencies)if(Qe!==null){let Z=Q.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${pe}@${Qe}`);if(ws(Z)!==ws(Le)){let X=T.get(pe);if(X){let ae=Q.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);Cie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${Q.prettyIdent(e.project.configuration,Q.parseIdent(Le.name))} into ${Q.prettyLocator(e.project.configuration,Q.parseLocator(`${w.name}@${w.reference}`))} dependency ${Q.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${Q.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,we=Q.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);Cie(we,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${Q.prettyIdent(e.project.configuration,Q.parseIdent(Le.name))} into ${Q.prettyLocator(e.project.configuration,Q.parseLocator(`${w.name}@${w.reference}`))} dependency ${Q.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${Q.prettyLocator(e.project.configuration,we)} from sibling portal ${Q.prettyIdent(e.project.configuration,Q.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Le})}}}}let ce=(ee=e.hoistingLimitsByCwd)==null?void 0:ee.get(N),Se=ie?N:B.relative(c,L.toPortablePath(Ke.packageLocation))||Ee.dot,he=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(Se),Ie=ce===Mi.DEPENDENCIES||he===Mi.DEPENDENCIES||he===Mi.WORKSPACES;m(ws(Le)===ws(w)?I:R,Ke,Le,J,T,Se,Ie)}}};return m(l.name,a,l,g,a.packageDependencies,Ee.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function aGe(t,e,r){let i=e.getLocator(t.name.replace(lB,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=L.toPortablePath(n.packageLocation),s=Ba.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=L.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var oGe=(t,e,r)=>{let i=new Map,n=(u,g,h)=>{let{linkType:f,target:p}=aGe(u,t,r);return{locator:ws(u),nodePath:g,target:p,linkType:f,aliases:h}},s=u=>{let[g,h]=u.split("/");return h?{scope:Jt(g),name:Jt(h)}:{scope:null,name:Jt(g)}},o=new Set,a=(u,g,h)=>{if(!o.has(u)){o.add(u);for(let f of u.dependencies){if(f===u)continue;let p=Array.from(f.references).sort(),m={name:f.identName,reference:p[0]},{name:I,scope:y}=s(f.name),w=y?[y,I]:[I],x=B.join(g,die),F=B.join(x,...w),N=`${h}/${m.name}`,K=n(m,h,p.slice(1));if(!f.name.endsWith(lB)){let v=i.get(F);if(v){if(v.dirList)throw new Error(`Assertion failed: ${F} cannot merge dir node with leaf node`);{let A=Q.parseLocator(v.locator),W=Q.parseLocator(K.locator);if(v.linkType!==K.linkType)throw new Error(`Assertion failed: ${F} cannot merge nodes with different link types ${v.nodePath}/${Q.stringifyLocator(A)} and ${h}/${Q.stringifyLocator(W)}`);if(A.identHash!==W.identHash)throw new Error(`Assertion failed: ${F} cannot merge nodes with different idents ${v.nodePath}/${Q.stringifyLocator(A)} and ${h}/s${Q.stringifyLocator(W)}`);K.aliases=[...K.aliases,...v.aliases,Q.parseLocator(v.locator).reference]}}i.set(F,K);let J=F.split("/"),oe=J.indexOf(die),T=J.length-1;for(;oe>=0&&T>oe;){let A=L.toPortablePath(J.slice(0,T).join(B.sep)),W=Jt(J[T]),ee=i.get(A);if(!ee)i.set(A,{dirList:new Set([W])});else if(ee.dirList){if(ee.dirList.has(W))break;ee.dirList.add(W)}T--}}a(f,K.linkType===Ba.SOFT?K.target:F,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var fl=eval("require");function mie(path){let physicalPath=L.fromPortablePath(path),currentCacheEntry=fl.cache[physicalPath];delete fl.cache[physicalPath];let result;try{result=fl(physicalPath);let freshCacheEntry=fl.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{fl.cache[physicalPath]=currentCacheEntry}return result}var Iie="node_modules",SF=(t,e)=>{let r={resolvedPath:t},i=t.split(B.sep),n=i.indexOf(Iie);if(n<0)return r;let s=i.lastIndexOf(Iie);typeof i[s+1]!="undefined"&&s++,i[s][0]==="@"&&typeof i[s+1]!="undefined"&&s++;let o=L.toPortablePath(i.slice(0,n).join(B.sep)),a,l,c,u=n,g=Ee.dot;for(;u<=s;){let h=Jt(i[u]);o=B.join(o,h),a=e.get(o),a?(a.linkType===Ba.SOFT&&(o=a.target),l=a,g=Ee.dot,c=a.dirList?o:a.target):g=B.join(g,h),u++}return g=B.join(g,...i.slice(s+1).map(h=>Jt(h))),l&&(!l.dirList||g!==Ee.dot?(r.resolvedPath=B.join(c,g),r.isSymlink=l&&l.linkType===Ba.SOFT&&g===Ee.dot):g===Ee.dot&&(r.dirList=l.dirList,r.forwardedDirPath=L.toPortablePath(i.slice(0,n).join(B.sep)),r.forwardedDirPath.endsWith(".zip")&&(r.forwardedDirPath=B.dirname(r.forwardedDirPath)))),r};var xF=class extends pr{constructor(e,{realFs:r=Eie.default,pnpifyFs:i=!0}={}){super(L);this.baseFs=new sd(e,{baseFs:new wt(r),pnpifyFs:i})}mapFromBase(e){return L.fromPortablePath(e)}mapToBase(e){return L.toPortablePath(e)}},yie=/[+wa]/,sd=class extends kn{constructor(e,{baseFs:r=new wt,pnpifyFs:i=!0}={}){super(B);if(!e.getDependencyTreeRoots)throw new Error("NodeModulesFS supports PnP API versions 3+, please upgrade your PnP API provider");this.options={baseFs:r,pnpifyFs:i},this.baseFs=r;let{tree:n,errors:s}=wa(e,this.options);if(!n)throw new Error(`Assertion failed. Have got non-persistable node_modules graph, errors: +${JSON.stringify(s)}`);this.nodeModulesTree=n,this.watchManager=new yF;let o=L.toPortablePath(e.getPackageInformation(e.topLevel).packageLocation);this.pnpFilePath=B.join(o,mt.pnpCjs),this.watchPnpFile(o)}watchPnpFile(e){this.baseFs.watch(e,{persistent:!1},(r,i)=>{if(i===mt.pnpCjs){let n=mie(this.pnpFilePath);if(!wa(n,this.options))throw new Error("Assertion failed. Have got non-persistable node_modules graph");this.watchManager.notifyWatchers(o=>SF(o,this.nodeModulesTree))}})}persistPath(e){let r=[],i=e;for(;!this.baseFs.existsSync(i);)r.push(i),i=B.dirname(i);for(let n of r.reverse())this.baseFs.mkdirSync(n)}persistVirtualParentFolder(e){if(typeof e!="number"){let r=this.resolvePath(B.dirname(e));r.dirList&&this.persistPath(r.resolvedPath)}}getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.baseFs.resolve(this.resolvePath(e).resolvedPath)}getBaseFs(){return this.baseFs}resolvePath(e){if(typeof e=="number")return{resolvedPath:e,fullOriginalPath:e};{let r=this.pathUtils.resolve(e);return V(k({},SF(r,this.nodeModulesTree)),{fullOriginalPath:r})}}resolveFilePath(e){return typeof e=="number"?e:this.resolvePath(e).resolvedPath}resolveDirOrFilePath(e){if(typeof e=="number")return e;let r=this.resolvePath(e);return r.forwardedDirPath||r.resolvedPath}resolveLink(e){let{p:r,onSymlink:i,onRealPath:n,statOptions:s}=e,o=this.resolvePath(r);if(o.isSymlink){let a;try{a=this.baseFs.lstatSync(o.resolvedPath,s)}catch(l){}if(a)return i(a,this.pathUtils.relative(this.pathUtils.dirname(o.fullOriginalPath),o.resolvedPath))}return n(o.forwardedDirPath||o.resolvedPath)}static makeSymlinkStats(e){return Object.assign(e,{isFile:()=>!1,isDirectory:()=>!1,isSymbolicLink:()=>!0})}getRealPath(){return this.baseFs.getRealPath()}async openPromise(e,r,i){return yie.test(r)&&this.persistVirtualParentFolder(e),await this.baseFs.openPromise(this.resolveFilePath(e),r,i)}openSync(e,r,i){return yie.test(r)&&this.persistVirtualParentFolder(e),this.baseFs.openSync(this.resolveFilePath(e),r,i)}async opendirPromise(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return Ga(this,e,s)}else return await this.baseFs.opendirPromise(i.resolvedPath,r)}opendirSync(e,r){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return Ga(this,e,s)}else return this.baseFs.opendirSync(i.resolvedPath,r)}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){await this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.resolveFilePath(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.resolveDirOrFilePath(e):e,r)}async realpathPromise(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathPromise(r.resolvedPath)}realpathSync(e){let r=this.resolvePath(e);return r.dirList?r.resolvedPath:this.baseFs.realpathSync(r.resolvedPath)}async existsPromise(e){let r=this.resolvePath(e);return r.dirList?!0:await this.baseFs.existsPromise(r.resolvedPath)}existsSync(e){let r=this.resolvePath(e);return r.dirList?!0:this.baseFs.existsSync(r.resolvedPath)}async accessPromise(e,r){return await this.baseFs.accessPromise(this.resolveDirOrFilePath(e),r)}accessSync(e,r){return this.baseFs.accessSync(this.resolveDirOrFilePath(e),r)}async statPromise(e,r){return await this.baseFs.statPromise(this.resolveDirOrFilePath(e),r)}statSync(e,r){return this.baseFs.statSync(this.resolveDirOrFilePath(e),r)}async fstatPromise(e,r){return await this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>sd.makeSymlinkStats(i),onRealPath:async i=>await this.baseFs.lstatPromise(i,r),statOptions:r})}lstatSync(e,r){return this.resolveLink({p:e,op:"lstat",onSymlink:i=>sd.makeSymlinkStats(i),onRealPath:i=>this.baseFs.lstatSync(i,r),statOptions:r})}async chmodPromise(e,r){return await this.baseFs.chmodPromise(this.resolveDirOrFilePath(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.resolveDirOrFilePath(e),r)}async chownPromise(e,r,i){return await this.baseFs.chownPromise(this.resolveDirOrFilePath(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.resolveDirOrFilePath(e),r,i)}async renamePromise(e,r){return await this.baseFs.renamePromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}renameSync(e,r){return this.baseFs.renameSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async copyFilePromise(e,r,i){return await this.baseFs.copyFilePromise(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}copyFileSync(e,r,i){return this.baseFs.copyFileSync(this.resolveFilePath(e),this.resolveDirOrFilePath(r),i)}async appendFilePromise(e,r,i){return await this.baseFs.appendFilePromise(this.resolveDirOrFilePath(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.resolveDirOrFilePath(e),r,i)}async writeFilePromise(e,r,i){return await this.baseFs.writeFilePromise(this.resolveDirOrFilePath(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.resolveDirOrFilePath(e),r,i)}async unlinkPromise(e){return await this.baseFs.unlinkPromise(this.resolveDirOrFilePath(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.resolveDirOrFilePath(e))}async utimesPromise(e,r,i){return await this.baseFs.utimesPromise(this.resolveDirOrFilePath(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.resolveDirOrFilePath(e),r,i)}async mkdirPromise(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirPromise(i.resolvedPath,r)}mkdirSync(e,r){let i=this.resolvePath(e);return this.persistVirtualParentFolder(e),this.baseFs.mkdirSync(i.resolvedPath,r)}async rmdirPromise(e,r){return await this.baseFs.rmdirPromise(this.resolveDirOrFilePath(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.resolveDirOrFilePath(e),r)}async linkPromise(e,r){return await this.baseFs.linkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}linkSync(e,r){return this.baseFs.linkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async symlinkPromise(e,r){return await this.baseFs.symlinkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}symlinkSync(e,r){return this.baseFs.symlinkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(r))}async readFilePromise(e,r){switch(r){case"utf8":return await this.baseFs.readFilePromise(this.resolveFilePath(e),r);default:return await this.baseFs.readFilePromise(this.resolveFilePath(e),r)}}readFileSync(e,r){switch(r){case"utf8":return this.baseFs.readFileSync(this.resolveFilePath(e),r);default:return this.baseFs.readFileSync(this.resolveFilePath(e),r)}}async readdirPromise(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=await this.baseFs.readdirPromise(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return await this.baseFs.readdirPromise(i.resolvedPath,{withFileTypes:r})}readdirSync(e,{withFileTypes:r}={}){let i=this.resolvePath(e);if(i.dirList||this.resolvePath(B.join(e,"node_modules")).dirList){let n=[];try{n=this.baseFs.readdirSync(i.resolvedPath)}catch(o){}let s=Array.from(i.dirList||["node_modules"]).concat(n).sort();return r?s.map(o=>Object.assign(this.lstatSync(B.join(e,o)),{name:o})):s}else return this.baseFs.readdirSync(i.resolvedPath,{withFileTypes:r})}async readlinkPromise(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:async r=>await this.baseFs.readlinkPromise(this.resolveDirOrFilePath(r))})}readlinkSync(e){return this.resolveLink({p:e,op:"readlink",onSymlink:(r,i)=>i,onRealPath:r=>this.baseFs.readlinkSync(this.resolveDirOrFilePath(r))})}async truncatePromise(e,r){return await this.baseFs.truncatePromise(this.resolveDirOrFilePath(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.resolveDirOrFilePath(e),r)}watch(e,r,i){let n=this.resolvePath(e),s=n.resolvedPath;if(s&&n.dirList){let o=typeof r=="function"?r:typeof i=="function"?i:()=>{};return this.watchManager.registerWatcher(s,n.dirList,o)}else return this.baseFs.watch(this.resolveDirOrFilePath(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.resolveDirOrFilePath(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.resolveDirOrFilePath(e),r)}};var Bie=!1,kF;try{kF=fl("pnpapi")}catch(t){}var AGe=()=>{if(kF&&!Bie){let t=k({},PF.default),e=new xF(kF,{realFs:t});Rg(PF.default,e),Bie=!0}};process.mainModule||AGe();var UF={};$e(UF,{PnpInstaller:()=>Ku,PnpLinker:()=>Cl,default:()=>PGe,getPnpPath:()=>ba,jsInstallUtils:()=>Qa,pnpUtils:()=>KF,quotePathIfNeeded:()=>Gie});var Yie=te(Cr());var wie;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(wie||(wie={}));var St;(function(h){h.DEFAULT="DEFAULT",h.TOP_LEVEL="TOP_LEVEL",h.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",h.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",h.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",h.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",h.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",h.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",h.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",h.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",h.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",h.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(St||(St={}));var Qie={[St.DEFAULT]:{collapsed:!1,next:{["*"]:St.DEFAULT}},[St.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:St.FALLBACK_EXCLUSION_LIST,packageRegistryData:St.PACKAGE_REGISTRY_DATA,["*"]:St.DEFAULT}},[St.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:St.FALLBACK_EXCLUSION_ENTRIES}},[St.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:St.FALLBACK_EXCLUSION_DATA}},[St.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:St.DEFAULT}},[St.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:St.PACKAGE_REGISTRY_ENTRIES}},[St.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:St.PACKAGE_STORE_DATA}},[St.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:St.PACKAGE_STORE_ENTRIES}},[St.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:St.PACKAGE_INFORMATION_DATA}},[St.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:St.PACKAGE_DEPENDENCIES,["*"]:St.DEFAULT}},[St.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:St.PACKAGE_DEPENDENCY}},[St.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:St.DEFAULT}}};function lGe(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function hGe(t){let e=new Map,r=od(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function fGe(t){return od(t.fallbackPool||[],([e])=>e)}function pGe(t){let e=[];for(let[r,i]of od(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of od(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of od(a.entries(),([I])=>I))g.push([p,m]);let h=l&&l.size>0?Array.from(l):void 0,f=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:h,linkType:c,discardFromLookup:f}])}}return e}function ad(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:hGe(t),fallbackPool:fGe(t),packageRegistryData:pGe(t)}}var Pie=te(xie());function kie(t,e){return[t?`${t} `:"",`/* eslint-disable */ `,`try { @@ -471,66 +484,70 @@ ${JSON.stringify(s)}`);this.nodeModulesTree=n,this.watchManager=new CF;let o=L.t `,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { `,e.replace(/^/gm," "),`} `,` -`,(0,Eie.default)()].join("")}function nqe(t){return JSON.stringify(t,null,2)}function sqe(t){return[`return hydrateRuntimeState(${Cie(t)}, {basePath: basePath || __dirname}); -`].join("")}function oqe(t){return[`var path = require('path'); +`,(0,Pie.default)()].join("")}function dGe(t){return JSON.stringify(t,null,2)}function CGe(t){return[`return hydrateRuntimeState(${Die(t)}, {basePath: basePath || __dirname}); +`].join("")}function mGe(t){return[`var path = require('path'); `,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); `,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function Bie(t){let e=ed(t),r=sqe(e);return yie(t.shebang,r)}function wie(t){let e=ed(t),r=oqe(t.dataLocation),i=yie(t.shebang,r);return{dataFile:nqe(e),loaderFile:i}}var Die=te(require("fs")),cqe=te(require("path")),xie=te(require("util"));function xF(t,{basePath:e}){let r=L.toPortablePath(e),i=B.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,h])=>[g,new Map(h.map(([f,p])=>{var x;if(g===null!=(f===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:f},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let b=null;return[f,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return b||(b=B.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,h])=>[g,new Set(h)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Ou=te(require("module")),Sie=te(bie()),kF=te(require("util"));var Vt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(Vt||(Vt={}));var lqe=new Set([Vt.BUILTIN_NODE_RESOLUTION_FAILED,Vt.MISSING_DEPENDENCY,Vt.MISSING_PEER_DEPENDENCY,Vt.QUALIFIED_PATH_RESOLUTION_FAILED,Vt.UNDECLARED_DEPENDENCY]);function Or(t,e,r={}){let i=lqe.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(P({},n),{value:i}),pnpCode:V(P({},n),{value:t}),data:V(P({},n),{value:r})})}function ml(t){return L.normalize(L.fromPortablePath(t))}function vF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ou.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],h=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let le=t.packageRegistry.get(ie);if(le)for(let be of le.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:be})}}let{ignorePattern:f,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,le){return{fn:ie,args:le,error:null,result:null}}function y(ie){var pe,ve,Z,X,ae,ue;let le=(Z=(ve=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:ve.call(pe))!=null?Z:process.stdout.isTTY,be=(we,lt)=>`[${we}m${lt}`,he=ie.error;console.error(he?be("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let we of ie.args)console.error(` ${be("37;1","In \u2190")} ${(0,kF.inspect)(we,{colors:le,compact:!0})}`);ie.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,kF.inspect)(ie.result,{colors:le,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let we of Ie)console.error(` ${be("38;5;244",we)}`)}console.error()}function b(ie,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let he=I(ie,be);try{return he.result=le(...be)}catch(Ie){throw he.error=Ie}finally{y(he)}};if(i>=1)return(...be)=>{try{return le(...be)}catch(he){let Ie=I(ie,be);throw Ie.error=he,y(Ie),he}}}return le}function x(ie){let le=W(ie);if(!le)throw Or(Vt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function F(ie){if(ie.name===null)return!0;for(let le of t.dependencyTreeRoots)if(le.name===ie.name&&le.reference===ie.reference)return!0;return!1}function N(ie){let le=H(B.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(le===null)throw Or(Vt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:be}=x(le),he=B.join(be,mt.manifest);if(!e.fakeFs.existsSync(he))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(he,"utf8")),pe=B.contains(be,ie);if(pe===null)throw Or(Vt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(pe)||(pe=`./${pe}`);let ve=(0,Sie.resolve)(Ie,B.normalize(pe),{browser:!1,require:!0,conditions:[]});return typeof ve=="string"?B.join(be,ve):null}function U(ie,le,{extensions:be}){let he;try{le.push(ie),he=e.fakeFs.statSync(ie)}catch(Ie){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(ie);if(he&&he.isDirectory()){let Ie;try{Ie=JSON.parse(e.fakeFs.readFileSync(B.join(ie,mt.manifest),"utf8"))}catch(ve){}let pe;if(Ie&&Ie.main&&(pe=B.resolve(ie,Ie.main)),pe&&pe!==ie){let ve=U(pe,le,{extensions:be});if(ve!==null)return ve}}for(let Ie=0,pe=be.length;Ie{let Z=JSON.stringify(ve.name);if(he.has(Z))return;he.add(Z);let X=$(ve);for(let ae of X)if(x(ae).packagePeers.has(ie))Ie(ae);else{let we=be.get(ae.name);typeof we=="undefined"&&be.set(ae.name,we=new Set),we.add(ae.reference)}};Ie(le);let pe=[];for(let ve of[...be.keys()].sort())for(let Z of[...be.get(ve)].sort())pe.push({name:ve,reference:Z});return pe}function H(ie,{resolveIgnored:le=!1,includeDiscardFromLookup:be=!1}={}){if(oe(ie)&&!le)return null;let he=B.relative(t.basePath,ie);he.match(a)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Ie=m.get(he);if(typeof Ie=="undefined"||Ie.discardFromLookup&&!be){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Ie.locator}while(he!=="");return null}function R(ie,le,{considerBuiltins:be=!0}={}){if(ie==="pnpapi")return L.toPortablePath(e.pnpapiResolution);if(be&&s(ie))return null;let he=ml(ie),Ie=le&&ml(le);if(le&&oe(le)&&(!B.isAbsolute(ie)||H(ie)===null)){let Z=J(ie,le);if(Z===!1)throw Or(Vt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) +`].join("")}function vie(t){let e=ad(t),r=CGe(e);return kie(t.shebang,r)}function Fie(t){let e=ad(t),r=mGe(t.dataLocation),i=kie(t.shebang,r);return{dataFile:dGe(e),loaderFile:i}}var Mie=te(require("fs")),BGe=te(require("path")),Oie=te(require("util"));function FF(t,{basePath:e}){let r=L.toPortablePath(e),i=B.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,h])=>[g,new Map(h.map(([f,p])=>{var x;if(g===null!=(f===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:f},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let w=null;return[f,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return w||(w=B.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,h])=>[g,new Set(h)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Ou=te(require("module")),Nie=te(Lie()),LF=te(require("util"));var jt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(jt||(jt={}));var yGe=new Set([jt.BUILTIN_NODE_RESOLUTION_FAILED,jt.MISSING_DEPENDENCY,jt.MISSING_PEER_DEPENDENCY,jt.QUALIFIED_PATH_RESOLUTION_FAILED,jt.UNDECLARED_DEPENDENCY]);function Fr(t,e,r={}){let i=yGe.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(k({},n),{value:i}),pnpCode:V(k({},n),{value:t}),data:V(k({},n),{value:r})})}function dl(t){return L.normalize(L.fromPortablePath(t))}function NF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ou.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],h=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let ce=t.packageRegistry.get(ie);if(ce)for(let Se of ce.keys()){if(Se===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:Se})}}let{ignorePattern:f,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,ce){return{fn:ie,args:ce,error:null,result:null}}function y(ie){var pe,Qe,Z,X,ae,ue;let ce=(Z=(Qe=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:Qe.call(pe))!=null?Z:process.stdout.isTTY,Se=(we,lt)=>`[${we}m${lt}`,he=ie.error;console.error(he?Se("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):Se("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let we of ie.args)console.error(` ${Se("37;1","In \u2190")} ${(0,LF.inspect)(we,{colors:ce,compact:!0})}`);ie.result&&(console.error(),console.error(` ${Se("37;1","Out \u2192")} ${(0,LF.inspect)(ie.result,{colors:ce,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let we of Ie)console.error(` ${Se("38;5;244",we)}`)}console.error()}function w(ie,ce){if(e.allowDebug===!1)return ce;if(Number.isFinite(i)){if(i>=2)return(...Se)=>{let he=I(ie,Se);try{return he.result=ce(...Se)}catch(Ie){throw he.error=Ie}finally{y(he)}};if(i>=1)return(...Se)=>{try{return ce(...Se)}catch(he){let Ie=I(ie,Se);throw Ie.error=he,y(Ie),he}}}return ce}function x(ie){let ce=W(ie);if(!ce)throw Fr(jt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ce}function F(ie){if(ie.name===null)return!0;for(let ce of t.dependencyTreeRoots)if(ce.name===ie.name&&ce.reference===ie.reference)return!0;return!1}function N(ie){let ce=H(B.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(ce===null)throw Fr(jt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=x(ce),he=B.join(Se,mt.manifest);if(!e.fakeFs.existsSync(he))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(he,"utf8")),pe=B.contains(Se,ie);if(pe===null)throw Fr(jt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(pe)||(pe=`./${pe}`);let Qe=(0,Nie.resolve)(Ie,B.normalize(pe),{browser:!1,require:!0,conditions:[]});return typeof Qe=="string"?B.join(Se,Qe):null}function K(ie,ce,{extensions:Se}){let he;try{ce.push(ie),he=e.fakeFs.statSync(ie)}catch(Ie){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(ie);if(he&&he.isDirectory()){let Ie;try{Ie=JSON.parse(e.fakeFs.readFileSync(B.join(ie,mt.manifest),"utf8"))}catch(Qe){}let pe;if(Ie&&Ie.main&&(pe=B.resolve(ie,Ie.main)),pe&&pe!==ie){let Qe=K(pe,ce,{extensions:Se});if(Qe!==null)return Qe}}for(let Ie=0,pe=Se.length;Ie{let Z=JSON.stringify(Qe.name);if(he.has(Z))return;he.add(Z);let X=ee(Qe);for(let ae of X)if(x(ae).packagePeers.has(ie))Ie(ae);else{let we=Se.get(ae.name);typeof we=="undefined"&&Se.set(ae.name,we=new Set),we.add(ae.reference)}};Ie(ce);let pe=[];for(let Qe of[...Se.keys()].sort())for(let Z of[...Se.get(Qe)].sort())pe.push({name:Qe,reference:Z});return pe}function H(ie,{resolveIgnored:ce=!1,includeDiscardFromLookup:Se=!1}={}){if(oe(ie)&&!ce)return null;let he=B.relative(t.basePath,ie);he.match(a)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Ie=m.get(he);if(typeof Ie=="undefined"||Ie.discardFromLookup&&!Se){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Ie.locator}while(he!=="");return null}function R(ie,ce,{considerBuiltins:Se=!0}={}){if(ie==="pnpapi")return L.toPortablePath(e.pnpapiResolution);if(Se&&s(ie))return null;let he=dl(ie),Ie=ce&&dl(ce);if(ce&&oe(ce)&&(!B.isAbsolute(ie)||H(ie)===null)){let Z=J(ie,ce);if(Z===!1)throw Fr(jt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) Require request: "${he}" Required by: ${Ie} -`,{request:he,issuer:Ie});return L.toPortablePath(Z)}let pe,ve=ie.match(o);if(ve){if(!le)throw Or(Vt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let[,Z,X]=ve,ae=H(le);if(!ae){let Zt=J(ie,le);if(Zt===!1)throw Or(Vt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). +`,{request:he,issuer:Ie});return L.toPortablePath(Z)}let pe,Qe=ie.match(o);if(Qe){if(!ce)throw Fr(jt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let[,Z,X]=Qe,ae=H(ce);if(!ae){let Xt=J(ie,ce);if(Xt===!1)throw Fr(jt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). Require path: "${he}" Required by: ${Ie} -`,{request:he,issuer:Ie});return L.toPortablePath(Zt)}let we=x(ae).packageDependencies.get(Z),lt=null;if(we==null&&ae.name!==null){let Zt=t.fallbackExclusionList.get(ae.name);if(!Zt||!Zt.has(ae.reference)){for(let Wn=0,Ka=g.length;WnF(Vi))?ft=Or(Vt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,dependencyName:Z});else{let Xt=re(Z,ae);Xt.every(_i=>F(_i))?Ct=Fr(jt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${ae.name}@${ae.reference} (via ${Ie}) -${Zt.map(Vi=>`Ancestor breaking the chain: ${Vi.name}@${Vi.reference} +${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} `).join("")} -`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Zt}):ft=Or(Vt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt}):Ct=Fr(jt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${ae.name}@${ae.reference} (via ${Ie}) -${Zt.map(Vi=>`Ancestor breaking the chain: ${Vi.name}@${Vi.reference} +${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} `).join("")} -`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Zt})}else we===void 0&&(!be&&s(ie)?F(ae)?ft=Or(Vt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt})}else we===void 0&&(!Se&&s(ie)?F(ae)?Ct=Fr(jt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${Ie} -`,{request:he,issuer:Ie,dependencyName:Z}):ft=Or(Vt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,dependencyName:Z}):Ct=Fr(jt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${Ie} -`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?ft=Or(Vt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?Ct=Fr(jt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${Ie} -`,{request:he,issuer:Ie,dependencyName:Z}):ft=Or(Vt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. +`,{request:he,issuer:Ie,dependencyName:Z}):Ct=Fr(jt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. Required package: ${Z}${Z!==he?` (via "${he}")`:""} Required by: ${ae.name}@${ae.reference} (via ${Ie}) -`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(we==null){if(lt===null||ft===null)throw ft||new Error("Assertion failed: Expected an error to have been set");we=lt;let Zt=ft.message.replace(/\n.*/g,"");ft.message=Zt,!h.has(Zt)&&i!==0&&(h.add(Zt),process.emitWarning(ft))}let xt=Array.isArray(we)?{name:we[0],reference:we[1]}:{name:Z,reference:we},Sn=x(xt);if(!Sn.packageLocation)throw Or(Vt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. +`,{request:he,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(we==null){if(lt===null||Ct===null)throw Ct||new Error("Assertion failed: Expected an error to have been set");we=lt;let Xt=Ct.message.replace(/\n.*/g,"");Ct.message=Xt,!h.has(Xt)&&i!==0&&(h.add(Xt),process.emitWarning(Ct))}let xt=Array.isArray(we)?{name:we[0],reference:we[1]}:{name:Z,reference:we},xn=x(xt);if(!xn.packageLocation)throw Fr(jt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. Required package: ${xt.name}@${xt.reference}${xt.name!==he?` (via "${he}")`:""} Required by: ${ae.name}@${ae.reference} (via ${Ie}) -`,{request:he,issuer:Ie,dependencyLocator:Object.assign({},xt)});let di=Sn.packageLocation;X?pe=B.join(di,X):pe=di}else if(B.isAbsolute(ie))pe=B.normalize(ie);else{if(!le)throw Or(Vt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let Z=B.resolve(le);le.match(l)?pe=B.normalize(B.join(Z,ie)):pe=B.normalize(B.join(B.dirname(Z),ie))}return B.normalize(pe)}function Pe(ie,le){if(a.test(ie))return le;let be=N(le);return be?B.normalize(be):le}function Le(ie,{extensions:le=Object.keys(Ou.Module._extensions)}={}){let be=[],he=U(ie,be,{extensions:le});if(he)return B.normalize(he);{let Ie=ml(ie);throw Or(Vt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. +`,{request:he,issuer:Ie,dependencyLocator:Object.assign({},xt)});let Ii=xn.packageLocation;X?pe=B.join(Ii,X):pe=Ii}else if(B.isAbsolute(ie))pe=B.normalize(ie);else{if(!ce)throw Fr(jt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Ie});let Z=B.resolve(ce);ce.match(l)?pe=B.normalize(B.join(Z,ie)):pe=B.normalize(B.join(B.dirname(Z),ie))}return B.normalize(pe)}function ke(ie,ce){if(a.test(ie))return ce;let Se=N(ce);return Se?B.normalize(Se):ce}function Le(ie,{extensions:ce=Object.keys(Ou.Module._extensions)}={}){let Se=[],he=K(ie,Se,{extensions:ce});if(he)return B.normalize(he);{let Ie=dl(ie),pe=H(ie);if(pe){let{packageLocation:Qe}=x(pe);if(!e.fakeFs.existsSync(Qe)){let Z=Qe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Fr(jt.QUALIFIED_PATH_RESOLUTION_FAILED,`${Z} + +Missing package: ${pe.name}@${pe.reference} +Expected package location: ${Qe} +`,{unqualifiedPath:Ie})}}throw Fr(jt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. Source path: ${Ie} -${be.map(pe=>`Not found: ${ml(pe)} -`).join("")}`,{unqualifiedPath:Ie})}}function Ge(ie,le,{considerBuiltins:be,extensions:he}={}){let Ie=R(ie,le,{considerBuiltins:be});if(Ie===null)return null;let pe=()=>le!==null?oe(le):!1,ve=(!be||!s(ie))&&!pe()?Pe(ie,Ie):Ie;try{return Le(ve,{extensions:he})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:ml(ie),issuer:le&&ml(le)}),Z}}function Ke(ie){let le=B.normalize(ie),be=rr.resolveVirtual(le);return be!==le?be:null}return{VERSIONS:K,topLevel:A,getLocator:(ie,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:ie,reference:le},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[le,be]of p)for(let he of be.keys())le!==null&&he!==null&&ie.push({name:le,reference:he});return ie},getPackageInformation:ie=>{let le=W(ie);if(le===null)return null;let be=L.fromPortablePath(le.packageLocation);return V(P({},le),{packageLocation:be})},findPackageLocator:ie=>H(L.toPortablePath(ie)),resolveToUnqualified:b("resolveToUnqualified",(ie,le,be)=>{let he=le!==null?L.toPortablePath(le):null,Ie=R(L.toPortablePath(ie),he,be);return Ie===null?null:L.fromPortablePath(Ie)}),resolveUnqualified:b("resolveUnqualified",(ie,le)=>L.fromPortablePath(Le(L.toPortablePath(ie),le))),resolveRequest:b("resolveRequest",(ie,le,be)=>{let he=le!==null?L.toPortablePath(le):null,Ie=Ge(L.toPortablePath(ie),he,be);return Ie===null?null:L.fromPortablePath(Ie)}),resolveVirtual:b("resolveVirtual",ie=>{let le=Ke(L.toPortablePath(ie));return le!==null?L.fromPortablePath(le):null})}}var VCt=(0,xie.promisify)(Die.readFile);var Pie=(t,e,r)=>{let i=ed(t),n=xF(i,{basePath:e}),s=L.join(e,mt.pnpCjs);return vF(n,{fakeFs:r,pnpapiResolution:s})};var Qa={};$e(Qa,{checkAndReportManifestCompatibility:()=>kie,extractBuildScripts:()=>cB,getExtractHint:()=>FF,hasBindingGyp:()=>RF});function kie(t,e,r,{configuration:i,report:n}){return ze.isManifestFieldCompatible(e.manifest.os,process.platform)?ze.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${w.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${w.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function cB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Ji.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Ji.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==At.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${w.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${w.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${w.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):kie(t,e,"build",{configuration:i,report:n})?s:[]}var uqe=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function FF(t){return t.packageFs.getExtractHint({relevantExtensions:uqe})}function RF(t){let e=B.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var LF={};$e(LF,{getUnpluggedPath:()=>td});function td(t,{configuration:e}){return B.resolve(e.get("pnpUnpluggedFolder"),w.slugifyLocator(t))}var gqe=new Set([w.makeIdent(null,"nan").identHash,w.makeIdent(null,"node-gyp").identHash,w.makeIdent(null,"node-pre-gyp").identHash,w.makeIdent(null,"node-addon-api").identHash,w.makeIdent(null,"fsevents").identHash]),Il=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))throw new me(`The project in ${ce.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ce.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequireNoCache(i)),s={name:w.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return L.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequireNoCache(i)).findPackageLocator(L.fromPortablePath(e));return s?w.makeLocator(w.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Ku(e)}},Ku=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=w.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!w.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==At.SOFT,c=this.customData.store.get(e.locatorHash);typeof c=="undefined"&&(c=await hqe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,c));let u=this.opts.project.getDependencyMeta(e,e.version),g=a?cB(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(B.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let f=B.resolve(h.getRealPath(),r.prefixPath),p=NF(this.opts.project.cwd,f),m=new Map,I=new Set;if(w.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(w.stringifyIdent(y),null),I.add(w.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=w.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:NF(this.opts.project.cwd,rr.resolveVirtual(f)),locator:y})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:f,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(w.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=ba(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ce.pretty(this.opts.project.configuration,mt.pnpJs,ce.Type.PATH)} file. You might need to manually update existing references to reference the new ${ce.pretty(this.opts.project.configuration,mt.pnpCjs,ce.Type.PATH)} file. If you use PnPify SDKs, you'll have to rerun ${ce.pretty(this.opts.project.configuration,"yarn pnpify --sdk",ce.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,w.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:w.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:w.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){let r=ba(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=Bie(e);await M.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.removePromise(i)}else{let o=B.relative(B.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=wie(V(P({},e),{dataLocation:o}));await M.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.changeFilePromise(i,a,{automaticNewlines:!0}),await M.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=B.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=B.join(n.cwd,"node_modules");if(i&&i.test(B.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(B.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:gqe.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(cB(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=td(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=B.join(i,r.prefixPath,".ready");return await M.existsPromise(n)?new yt(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(i,{recursive:!0}),await M.copyPromise(i,Ee.dot,{baseFs:r.packageFs,overwrite:!1}),await M.writeFilePromise(n,""),new yt(i))}getPackageInformation(e){let r=w.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${w.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${w.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=NF(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1}))}};function NF(t,e){let r=B.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function hqe(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:FF(e),hasBindingGyp:RF(e)}}}var vie=te(sn());var rd=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(h=>{let f=w.parseDescriptor(h),p=f.range!=="unknown"?f:w.makeDescriptor(f,"*");if(!vt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${w.prettyDescriptor(e,p)})`);return m=>{let I=w.stringifyIdent(m);return!vie.default.isMatch(I,w.stringifyIdent(p))||m.version&&!vt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(h),!0)}}),a=()=>{let h=[];for(let f of r.storedPackages.values())!r.tryWorkspaceByLocator(f)&&!w.isVirtualLocator(f)&&o.some(p=>p(f))&&h.push(f);return h},l=h=>{let f=new Set,p=[],m=(I,y)=>{if(!f.has(I.locatorHash)&&(f.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(b=>b(I))&&p.push(I),!(y>0&&!this.recursive)))for(let b of I.dependencies.values()){let x=r.storedResolutions.get(b.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let F=r.storedPackages.get(x);if(!F)throw new Error("Assertion failed: The package should have been registered");m(F,y+1)}};for(let I of h){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ce.prettyList(e,s,ce.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ce.prettyList(e,s,ce.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,h=>w.stringifyLocator(h)),(await De.start({configuration:e,stdout:this.context.stdout,json:this.json},async h=>{var f;for(let p of c){let m=(f=p.version)!=null?f:"unknown",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(w.makeDescriptor(p,m));I.unplugged=!0,h.reportInfo(z.UNNAMED,`Will unpack ${w.prettyLocator(e,p)} to ${ce.pretty(e,td(p,{configuration:e}),ce.Type.PATH)}`),h.reportJson({locator:w.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),h.reportSeparator(),await r.install({cache:n,report:h})})).exitCode()}};rd.paths=[["unplug"]],rd.usage=fe.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Fie=rd;var ba=t=>({cjs:B.join(t.cwd,mt.pnpCjs),cjsLegacy:B.join(t.cwd,mt.pnpJs)}),Lie=t=>/\s/.test(t)?JSON.stringify(t):t;async function fqe(t,e,r){let i=ba(t).cjs,n=`--require ${Lie(L.fromPortablePath(i))}`;if(i.includes(" ")&&Rie.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function pqe(t,e){e(ba(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var dqe={hooks:{populateYarnPaths:pqe,setupScriptEnvironment:fqe},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[Il],commands:[Fie]},Cqe=dqe;var Uie=te(Tie());var HF=te(require("crypto")),Hie=te(require("fs")),Yie=1,kr="node_modules",YF=".bin",qie=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var qF=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await GF(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(w.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>B.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await GF(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=uB(B.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return w.parseLocator(a)}makeInstaller(e){return new Gie(e)}},Gie=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=B.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await Lqe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,n)),!Qa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(w.stringifyIdent(e))||s.set(w.stringifyIdent(e),e.reference);let a=e;if(w.isVirtualLocator(e)){a=w.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(w.stringifyIdent(g),null),o.add(w.stringifyIdent(g))}let l={packageLocation:`${L.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new rr({baseFs:new $i({libzip:await li(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await GF(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(g=>{var f,p;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Ri,(p=(f=g.manifest.installConfig)==null?void 0:f.hoistingLimits)!=null?p:h)}catch(m){let I=w.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Ri).join(", ")}, using default: "${h}"`)}return[g.relativeCwd,h]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:g,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let h=g.anchoredLocator;return{name:w.stringifyIdent(g.locator),reference:h.reference}}),getPackageInformation:g=>{let h=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:w.makeLocator(w.parseIdent(g.name),g.reference),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return f.pnpNode},findPackageLocator:g=>{let h=this.opts.project.tryWorkspaceByCwd(L.toPortablePath(g));if(h!==null){let f=h.anchoredLocator;return{name:w.stringifyIdent(f),reference:f.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:g=>L.fromPortablePath(rr.resolveVirtual(L.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=wa(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:h}of a)this.opts.report.reportError(g,h);return}let c=BF(o);await Nqe(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let h=w.parseLocator(g),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return f.customPackageData.manifest}});let u=[];for(let[g,h]of c.entries()){if(jie(g))continue;let f=w.parseLocator(g),p=this.localStore.get(f.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=Qa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:h.locations,locatorHash:f.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ce.pretty(this.opts.project.configuration,"--preserve-symlinks",ce.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:u}}};async function Lqe(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:Qa.getExtractHint(e),hasBindingGyp:Qa.hasBindingGyp(e)}}}async function Mqe(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +${Se.map(Qe=>`Not found: ${dl(Qe)} +`).join("")}`,{unqualifiedPath:Ie})}}function qe(ie,ce,{considerBuiltins:Se,extensions:he}={}){let Ie=R(ie,ce,{considerBuiltins:Se});if(Ie===null)return null;let pe=()=>ce!==null?oe(ce):!1,Qe=(!Se||!s(ie))&&!pe()?ke(ie,Ie):Ie;try{return Le(Qe,{extensions:he})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:dl(ie),issuer:ce&&dl(ce)}),Z}}function Ke(ie){let ce=B.normalize(ie),Se=rr.resolveVirtual(ce);return Se!==ce?Se:null}return{VERSIONS:T,topLevel:A,getLocator:(ie,ce)=>Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ie,reference:ce},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[ce,Se]of p)for(let he of Se.keys())ce!==null&&he!==null&&ie.push({name:ce,reference:he});return ie},getPackageInformation:ie=>{let ce=W(ie);if(ce===null)return null;let Se=L.fromPortablePath(ce.packageLocation);return V(k({},ce),{packageLocation:Se})},findPackageLocator:ie=>H(L.toPortablePath(ie)),resolveToUnqualified:w("resolveToUnqualified",(ie,ce,Se)=>{let he=ce!==null?L.toPortablePath(ce):null,Ie=R(L.toPortablePath(ie),he,Se);return Ie===null?null:L.fromPortablePath(Ie)}),resolveUnqualified:w("resolveUnqualified",(ie,ce)=>L.fromPortablePath(Le(L.toPortablePath(ie),ce))),resolveRequest:w("resolveRequest",(ie,ce,Se)=>{let he=ce!==null?L.toPortablePath(ce):null,Ie=qe(L.toPortablePath(ie),he,Se);return Ie===null?null:L.fromPortablePath(Ie)}),resolveVirtual:w("resolveVirtual",ie=>{let ce=Ke(L.toPortablePath(ie));return ce!==null?L.fromPortablePath(ce):null})}}var umt=(0,Oie.promisify)(Mie.readFile);var Kie=(t,e,r)=>{let i=ad(t),n=FF(i,{basePath:e}),s=L.join(e,mt.pnpCjs);return NF(n,{fakeFs:r,pnpapiResolution:s})};var Qa={};$e(Qa,{checkAndReportManifestCompatibility:()=>Tie,extractBuildScripts:()=>uB,getExtractHint:()=>MF,hasBindingGyp:()=>OF});function Tie(t,e,r,{configuration:i,report:n}){return We.isManifestFieldCompatible(e.manifest.os,process.platform)?We.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${Q.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${Q.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function uB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Vi.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Vi.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==At.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${Q.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${Q.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${Q.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Tie(t,e,"build",{configuration:i,report:n})?s:[]}var wGe=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function MF(t){return t.packageFs.getExtractHint({relevantExtensions:wGe})}function OF(t){let e=B.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var KF={};$e(KF,{getUnpluggedPath:()=>Ad});function Ad(t,{configuration:e}){return B.resolve(e.get("pnpUnpluggedFolder"),Q.slugifyLocator(t))}var QGe=new Set([Q.makeIdent(null,"nan").identHash,Q.makeIdent(null,"node-gyp").identHash,Q.makeIdent(null,"node-pre-gyp").identHash,Q.makeIdent(null,"node-addon-api").identHash,Q.makeIdent(null,"fsevents").identHash]),Cl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))throw new me(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:Q.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${Q.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return L.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=ba(r.project).cjs;if(!M.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(L.fromPortablePath(e));return s?Q.makeLocator(Q.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Ku(e)}},Ku=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=Q.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!Q.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==At.SOFT,c,u;(a||l)&&(c=this.customData.store.get(e.locatorHash),typeof c=="undefined"&&(c=await bGe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,c)),u=this.opts.project.getDependencyMeta(e,e.version));let g=a?uB(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(B.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let f=B.resolve(h.getRealPath(),r.prefixPath),p=TF(this.opts.project.cwd,f),m=new Map,I=new Set;if(Q.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(Q.stringifyIdent(y),null),I.add(Q.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=Q.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:TF(this.opts.project.cwd,rr.resolveVirtual(f)),locator:y})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:f,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=Q.areIdentsEqual(n,s)?s.reference:[Q.stringifyIdent(s),s.reference];i.packageDependencies.set(Q.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(Q.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=ba(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${Ae.pretty(this.opts.project.configuration,mt.pnpJs,Ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${Ae.pretty(this.opts.project.configuration,mt.pnpCjs,Ae.Type.PATH)} file. If you use PnPify SDKs, you'll have to rerun ${Ae.pretty(this.opts.project.configuration,"yarn pnpify --sdk",Ae.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,Q.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:Q.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:Q.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){let r=ba(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=vie(e);await M.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.removePromise(i)}else{let o=B.relative(B.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Fie(V(k({},e),{dataLocation:o}));await M.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await M.chmodPromise(r.cjs,493),await M.changeFilePromise(i,a,{automaticNewlines:!0}),await M.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=B.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=B.join(n.cwd,"node_modules");if(i&&i.test(B.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(B.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:QGe.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(uB(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=Ad(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=B.join(i,r.prefixPath,".ready");return await M.existsPromise(n)?new yt(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(i,{recursive:!0}),await M.copyPromise(i,Ee.dot,{baseFs:r.packageFs,overwrite:!1}),await M.writeFilePromise(n,""),new yt(i))}getPackageInformation(e){let r=Q.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${Q.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${Q.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=TF(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:At.SOFT,discardFromLookup:!1}))}};function TF(t,e){let r=B.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function bGe(t,e){var n;let r=(n=await We.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new We,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:MF(e),hasBindingGyp:OF(e)}}}var Uie=te(Yi());var ld=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=G.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(h=>{let f=Q.parseDescriptor(h),p=f.range!=="unknown"?f:Q.makeDescriptor(f,"*");if(!kt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${Q.prettyDescriptor(e,p)})`);return m=>{let I=Q.stringifyIdent(m);return!Uie.default.isMatch(I,Q.stringifyIdent(p))||m.version&&!kt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(h),!0)}}),a=()=>{let h=[];for(let f of r.storedPackages.values())!r.tryWorkspaceByLocator(f)&&!Q.isVirtualLocator(f)&&o.some(p=>p(f))&&h.push(f);return h},l=h=>{let f=new Set,p=[],m=(I,y)=>{if(!f.has(I.locatorHash)&&(f.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(w=>w(I))&&p.push(I),!(y>0&&!this.recursive)))for(let w of I.dependencies.values()){let x=r.storedResolutions.get(w.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let F=r.storedPackages.get(x);if(!F)throw new Error("Assertion failed: The package should have been registered");m(F,y+1)}};for(let I of h){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${Ae.prettyList(e,s,Ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${Ae.prettyList(e,s,Ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,h=>Q.stringifyLocator(h)),(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async h=>{var f;for(let p of c){let m=(f=p.version)!=null?f:"unknown",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(Q.makeDescriptor(p,m));I.unplugged=!0,h.reportInfo(z.UNNAMED,`Will unpack ${Q.prettyLocator(e,p)} to ${Ae.pretty(e,Ad(p,{configuration:e}),Ae.Type.PATH)}`),h.reportJson({locator:Q.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),h.reportSeparator(),await r.install({cache:n,report:h})})).exitCode()}};ld.paths=[["unplug"]],ld.usage=fe.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Hie=ld;var ba=t=>({cjs:B.join(t.cwd,mt.pnpCjs),cjsLegacy:B.join(t.cwd,mt.pnpJs)}),Gie=t=>/\s/.test(t)?JSON.stringify(t):t;async function DGe(t,e,r){let i=ba(t).cjs,n=`--require ${Gie(L.fromPortablePath(i))}`;if(i.includes(" ")&&Yie.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function SGe(t,e){e(ba(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var xGe={hooks:{populateYarnPaths:SGe,setupScriptEnvironment:DGe},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[Cl],commands:[Hie]},PGe=xGe;var Vie=te(zie());var qF=te(require("crypto")),Xie=te(require("fs")),Zie=1,Rr="node_modules",JF=".bin",_ie=".yarn-state.yml",Oi;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Oi||(Oi={}));var WF=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await zF(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(Q.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${Q.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>B.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await zF(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=gB(B.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return Q.parseLocator(a)}makeInstaller(e){return new $ie(e)}},$ie=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=B.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await JGe(e,r),e.linkType===At.HARD&&this.customData.store.set(e.locatorHash,n)),!Qa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(Q.stringifyIdent(e))||s.set(Q.stringifyIdent(e),e.reference);let a=e;if(Q.isVirtualLocator(e)){a=Q.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(Q.stringifyIdent(g),null),o.add(Q.stringifyIdent(g))}let l={packageLocation:`${L.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=Q.areIdentsEqual(n,s)?s.reference:[Q.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(Q.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new rr({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await zF(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(g=>{var f,p;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Mi,(p=(f=g.manifest.installConfig)==null?void 0:f.hoistingLimits)!=null?p:h)}catch(m){let I=Q.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Mi).join(", ")}, using default: "${h}"`)}return[g.relativeCwd,h]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:g,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let h=g.anchoredLocator;return{name:Q.stringifyIdent(g.locator),reference:h.reference}}),getPackageInformation:g=>{let h=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:Q.makeLocator(Q.parseIdent(g.name),g.reference),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return f.pnpNode},findPackageLocator:g=>{let h=this.opts.project.tryWorkspaceByCwd(L.toPortablePath(g));if(h!==null){let f=h.anchoredLocator;return{name:Q.stringifyIdent(f),reference:f.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:g=>L.fromPortablePath(rr.resolveVirtual(L.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=wa(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:h}of a)this.opts.report.reportError(g,h);return}let c=DF(o);await WGe(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let h=Q.parseLocator(g),f=this.localStore.get(h.locatorHash);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return f.customPackageData.manifest}});let u=[];for(let[g,h]of c.entries()){if(ene(g))continue;let f=Q.parseLocator(g),p=this.localStore.get(f.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=Qa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:h.locations,locatorHash:f.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${Ae.pretty(this.opts.project.configuration,"--preserve-symlinks",Ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:u}}};async function JGe(t,e){var n;let r=(n=await We.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new We,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:Qa.getExtractHint(e),hasBindingGyp:Qa.hasBindingGyp(e)}}}async function zGe(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will `,n+=`# cause your node_modules installation to become invalidated. `,n+=` `,n+=`__metadata: -`,n+=` version: ${Yie} +`,n+=` version: ${Zie} `,n+=` nmMode: ${i} -`;let s=Array.from(e.keys()).sort(),o=w.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`;let s=Array.from(e.keys()).sort(),o=Q.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` `,n+=`${JSON.stringify(c)}: `,n+=` locations: `;for(let g of u.locations){let h=B.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(h)} @@ -538,36 +555,36 @@ ${be.map(pe=>`Not found: ${ml(pe)} `;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} `}if(c===o&&r.size>0){n+=` bin: `;for(let[g,h]of r){let f=B.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(f)}: -`;for(let[p,m]of h){let I=B.relative(B.join(g,kr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} -`}}}}let a=t.cwd,l=B.join(a,kr,qie);await M.changeFilePromise(l,n,{automaticNewlines:!0})}async function GF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=B.join(r,kr,qie);if(!M.existsSync(i))return null;let n=Nr(await M.readFilePromise(i,"utf8"));if(n.__metadata.version>Yie)return null;let s=n.__metadata.nmMode||Li.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(h=>B.join(r,h)),g=c.bin;if(g)for(let[h,f]of Object.entries(g)){let p=B.join(r,L.toPortablePath(h)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(f))m.set(jt(I),L.toPortablePath([p,kr,y].join(B.delimiter)))}if(o.set(l,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let h of c.aliases){let{scope:f,name:p}=w.parseLocator(l),m=w.makeLocator(w.makeIdent(f,p),h),I=w.stringifyLocator(m);o.set(I,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Jie(o,{skipPrefix:t.cwd}),nmMode:s}}var Uu=async(t,e)=>{if(t.split(B.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await M.lstatPromise(t)).isSymbolicLink()){await M.unlinkPromise(t);return}let r=await M.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=B.join(t,jt(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await Uu(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Wie=4,uB=(t,{skipPrefix:e})=>{let r=B.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(B.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(B.sep),o=B.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Jie=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:At.HARD});for(let[n,s]of t.entries()){if(s.linkType===At.SOFT&&B.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=uB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await M.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await M.symlinkPromise(t,e,"junction"):await M.symlinkPromise(B.relative(B.dirname(e),t),e)};async function zie(t,e,r){let i=B.join(t,jt(`${HF.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,r);try{await M.linkPromise(i,e)}catch(n){}}finally{await M.unlinkPromise(i)}}async function Oqe({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Li.HARDLINKS_GLOBAL&&i&&o){let l=B.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await wi.checksumFile(l,{baseFs:M,algorithm:"sha1"})!==o){let g=B.join(i,jt(`${HF.default.randomBytes(16).toString("hex")}.tmp`));await M.renamePromise(l,g);let h=await n.readFilePromise(t);await M.writeFilePromise(g,h);try{await M.linkPromise(g,l),await M.unlinkPromise(g)}catch(f){}}await M.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await zie(i,l,u),await M.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await M.chmodPromise(e,a)}var Sa;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Sa||(Sa={}));var Kqe=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(t,{recursive:!0});let o=async(l=Ee.dot)=>{let c=B.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let h of u){let f=B.join(l,h.name),p,m=B.join(c,h.name);if(h.isFile()){if(p={kind:Sa.FILE,mode:(await r.lstatPromise(m)).mode},n===Li.HARDLINKS_GLOBAL){let I=await wi.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(h.isDirectory())p={kind:Sa.DIRECTORY};else if(h.isSymbolicLink())p={kind:Sa.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(f,p),h.isDirectory()&&f!==kr){let I=await o(f);for(let[y,b]of I)g.set(y,b)}}return g},a;if(n===Li.HARDLINKS_GLOBAL&&i&&s){let l=B.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await zie(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=B.join(e,l),g=B.join(t,l);c.kind===Sa.DIRECTORY?await M.mkdirPromise(g,{recursive:!0}):c.kind===Sa.FILE?await Oqe({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Sa.SYMLINK&&await jF(B.resolve(B.dirname(g),c.symlinkTo),g)}};function Tqe(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=B.join(n,kr);if(!M.existsSync(o)){s.children.delete(kr);for(let a of i.keys())B.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function jie(t){let e=w.parseDescriptor(t);return w.isVirtualDescriptor(e)&&(e=w.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Uqe(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=jie(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,h]of c.bin){let f=B.join(l[0],h);h!==""&&M.existsSync(f)&&u.set(g,h)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=B.contains(r,a);if(c.locator&&g!==null){let h=n.get(c.locator);for(let[f,p]of h){let m=B.join(a,L.toPortablePath(p));u.set(jt(f),m)}for(let[f,p]of c.children){let m=B.join(a,f),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[h,f]of c.children){let p=o(B.join(a,h),l,f);for(let[m,I]of p)u.set(m,I)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Vie=(t,e)=>{if(!t||!e)return t===e;let r=w.parseLocator(t);w.isVirtualLocator(r)&&(r=w.devirtualizeLocator(r));let i=w.parseLocator(e);return w.isVirtualLocator(i)&&(i=w.devirtualizeLocator(i)),w.areLocatorsEqual(r,i)};function JF(t){return B.join(t.get("globalFolder"),"store")}async function Nqe(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=B.join(i.cwd,kr),{locationTree:l,binSymlinks:c}=Tqe(t.locationTree,t.binSymlinks),u=Jie(e,{skipPrefix:i.cwd}),g=[],h=async({srcDir:N,dstDir:U,linkType:v,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})=>{let A=(async()=>{try{v===At.SOFT?(await M.mkdirPromise(B.dirname(U),{recursive:!0}),await jF(B.resolve(N),U)):await Kqe(U,N,{baseFs:r,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})}catch(W){throw W.message=`While persisting ${N} -> ${U} ${W.message}`,W}finally{b.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>Wie&&await Promise.race(g)},f=async(N,U,v)=>{let J=(async()=>{let oe=async(K,A,W)=>{try{W.innerLoop||await M.mkdirPromise(A,{recursive:!0});let $=await M.readdirPromise(K,{withFileTypes:!0});for(let re of $){if(!W.innerLoop&&re.name===YF)continue;let H=B.join(K,re.name),R=B.join(A,re.name);re.isDirectory()?(re.name!==kr||W&&W.innerLoop)&&(await M.mkdirPromise(R,{recursive:!0}),await oe(H,R,V(P({},W),{innerLoop:!0}))):F===Li.HARDLINKS_LOCAL||F===Li.HARDLINKS_GLOBAL?await M.linkPromise(H,R):await M.copyFilePromise(H,R,Hie.default.constants.COPYFILE_FICLONE)}}catch($){throw W.innerLoop||($.message=`While cloning ${K} -> ${A} ${$.message}`),$}finally{W.innerLoop||b.tick()}};await oe(N,U,v)})().then(()=>g.splice(g.indexOf(J),1));g.push(J),g.length>Wie&&await Promise.race(g)},p=async(N,U,v)=>{if(!v)U.children.has(kr)&&await Uu(B.join(N,kr),{contentsOnly:!1}),await Uu(N,{contentsOnly:N===a});else for(let[J,oe]of U.children){let K=v.children.get(J);await p(B.join(N,J),oe,K)}};for(let[N,U]of l){let v=u.get(N);for(let[J,oe]of U.children){if(J===".")continue;let K=v&&v.children.get(J);await p(B.join(N,J),oe,K)}}let m=async(N,U,v)=>{if(!v)U.children.has(kr)&&await Uu(B.join(N,kr),{contentsOnly:!0}),await Uu(N,{contentsOnly:U.linkType===At.HARD});else{Vie(U.locator,v.locator)||await Uu(N,{contentsOnly:U.linkType===At.HARD});for(let[J,oe]of U.children){let K=v.children.get(J);await m(B.join(N,J),oe,K)}}};for(let[N,U]of u){let v=l.get(N);for(let[J,oe]of U.children){if(J===".")continue;let K=v&&v.children.get(J);await m(B.join(N,J),oe,K)}}let I=new Map,y=[];for(let[N,{locations:U}]of t.locatorMap.entries())for(let v of U){let{locationRoot:J,segments:oe}=uB(v,{skipPrefix:i.cwd}),K=u.get(J),A=J;if(K){for(let W of oe)if(A=B.join(A,W),K=K.children.get(W),!K)break;if(K){let W=Vie(K.locator,N),$=e.get(K.locator),re=$.target,H=A,R=$.linkType;if(W)I.has(re)||I.set(re,H);else if(re!==H){let Pe=w.parseLocator(K.locator);w.isVirtualLocator(Pe)&&(Pe=w.devirtualizeLocator(Pe)),y.push({srcDir:re,dstDir:H,linkType:R,realLocatorHash:Pe.locatorHash})}}}}for(let[N,{locations:U}]of e.entries())for(let v of U){let{locationRoot:J,segments:oe}=uB(v,{skipPrefix:i.cwd}),K=l.get(J),A=u.get(J),W=J,$=e.get(N),re=w.parseLocator(N);w.isVirtualLocator(re)&&(re=w.devirtualizeLocator(re));let H=re.locatorHash,R=$.target,Pe=v;if(R===Pe)continue;let Le=$.linkType;for(let Ge of oe)A=A.children.get(Ge);if(!K)y.push({srcDir:R,dstDir:Pe,linkType:Le,realLocatorHash:H});else for(let Ge of oe)if(W=B.join(W,Ge),K=K.children.get(Ge),!K){y.push({srcDir:R,dstDir:Pe,linkType:Le,realLocatorHash:H});break}}let b=ai.progressViaCounter(y.length),x=n.reportProgress(b),F=i.configuration.get("nmMode");try{let N=F===Li.HARDLINKS_GLOBAL?`${JF(i.configuration)}/v1`:null;if(N&&!await M.existsPromise(N)){await M.mkdirpPromise(N);for(let v=0;v<256;v++)await M.mkdirPromise(B.join(N,v.toString(16).padStart(2,"0")))}for(let v of y)(v.linkType===At.SOFT||!I.has(v.srcDir))&&(I.set(v.srcDir,v.dstDir),await h(V(P({},v),{globalHardlinksStore:N,nmMode:F,packageChecksum:o.get(v.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let v of y){let J=I.get(v.srcDir);v.linkType!==At.SOFT&&v.dstDir!==J&&await f(J,v.dstDir,{nmMode:F})}await Promise.all(g),await M.mkdirPromise(a,{recursive:!0});let U=await Uqe(e,u,i.cwd,{loadManifest:s});await Hqe(c,U,i.cwd),await Mqe(i,e,U,F)}finally{x.stop()}}async function Hqe(t,e,r){for(let i of t.keys()){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=B.join(i,kr,YF);await M.removePromise(n)}}for(let[i,n]of e){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=B.join(i,kr,YF),o=t.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(B.join(s,a)),process.platform==="win32"&&await M.removePromise(B.join(s,jt(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=B.join(s,a);c!==l&&(process.platform==="win32"?await(0,Uie.default)(L.fromPortablePath(l),L.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await jF(l,u),B.contains(r,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var WF=class extends Il{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Xie(e)}},Xie=class extends Ku{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new rr({baseFs:new $i({libzip:await li(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Pie(e,this.opts.project.cwd,r),{tree:n,errors:s}=wa(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let h=w.parseLocator(g.locator),f=w.stringifyIdent(h);f===u?o.set(u,h.reference):o.set(u,[f,h.reference])},l=B.join(this.opts.project.cwd,mt.nodeModules),c=n.get(l);if(typeof c=="undefined")throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=B.join(l,u),h=n.get(g);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)a(u,h);else for(let f of h.dirList){let p=B.join(g,f),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${f}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}};var Yqe={hooks:{cleanGlobalArtifacts:async t=>{let e=JF(t);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Ri.WORKSPACES,Ri.DEPENDENCIES,Ri.NONE],default:Ri.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC}},linkers:[qF,WF]},qqe=Yqe;var ZR={};$e(ZR,{default:()=>XJe,npmConfigUtils:()=>Gt,npmHttpUtils:()=>Bt,npmPublishUtils:()=>Id});var ene=te(Cr());var Lt="npm:";var Bt={};$e(Bt,{AuthType:()=>zi,customPackageError:()=>Jqe,del:()=>Vqe,get:()=>qn,getIdentUrl:()=>Pa,handleInvalidAuthenticationError:()=>xa,post:()=>Wqe,put:()=>zqe});var _ie=te(lp()),$ie=te(require("url"));var Gt={};$e(Gt,{RegistryType:()=>Da,getAuthConfiguration:()=>XF,getDefaultRegistry:()=>gB,getPublishRegistry:()=>Gqe,getRegistryConfiguration:()=>Zie,getScopeConfiguration:()=>VF,getScopeRegistry:()=>mo,normalizeRegistry:()=>El});var Da;(function(r){r.FETCH_REGISTRY="npmRegistryServer",r.PUBLISH_REGISTRY="npmPublishRegistry"})(Da||(Da={}));function El(t){return t.replace(/\/$/,"")}function Gqe(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?El(t.publishConfig.registry):t.name?mo(t.name.scope,{configuration:e,type:Da.PUBLISH_REGISTRY}):gB({configuration:e,type:Da.PUBLISH_REGISTRY})}function mo(t,{configuration:e,type:r=Da.FETCH_REGISTRY}){let i=VF(t,{configuration:e});if(i===null)return gB({configuration:e,type:r});let n=i.get(r);return n===null?gB({configuration:e,type:r}):El(n)}function gB({configuration:t,type:e=Da.FETCH_REGISTRY}){let r=t.get(e);return El(r!==null?r:t.get(Da.FETCH_REGISTRY))}function Zie(t,{configuration:e}){let r=e.get("npmRegistries"),i=El(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function VF(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function XF(t,{configuration:e,ident:r}){let i=r&&VF(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Zie(t,{configuration:e})||e}var zi;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(zi||(zi={}));async function xa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new Ze(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await jqe(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function Jqe(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Pa(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function qn(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=vr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=mo(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await hB(s,{authType:n,configuration:e,ident:i});c&&(r=V(P({},r),{authorization:c}));try{return await Ut.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await xa(u,{registry:s,configuration:e,headers:r}),u}}async function Wqe(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=vr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=mo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await hB(a,{authType:o,configuration:i,ident:s});g&&(n=V(P({},n),{authorization:g}));try{return await Ut.post(a+t,e,P({configuration:i,headers:n},l))}catch(h){if(!_F(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await ZF(),p=P(P({},n),$F(f));try{return await Ut.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function zqe(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=vr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=mo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await hB(a,{authType:o,configuration:i,ident:s});g&&(n=V(P({},n),{authorization:g}));try{return await Ut.put(a+t,e,P({configuration:i,headers:n},l))}catch(h){if(!_F(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await ZF(),p=P(P({},n),$F(f));try{return await Ut.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Vqe(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=vr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=mo(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await hB(o,{authType:s,configuration:r,ident:n});u&&(i=V(P({},i),{authorization:u}));try{return await Ut.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!_F(g))throw await xa(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let h=await ZF(),f=P(P({},i),$F(h));try{return await Ut.del(`${o}${t}`,P({configuration:r,headers:f},a))}catch(p){throw await xa(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function hB(t,{authType:e=2,configuration:r,ident:i}){let n=XF(t,{configuration:r,ident:i}),s=Xqe(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new Ze(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function Xqe(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function jqe(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Ut.get(new $ie.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function ZF(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,_ie.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function _F(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function $F(t){return{["npm-otp"]:t}}var eR=class{supports(e,r){if(!e.reference.startsWith(Lt))return!1;let{selector:i,params:n}=w.parseRange(e.reference);return!(!ene.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=w.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await qn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await gr.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var tR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Lt)||!w.tryParseDescriptor(e.range.slice(Lt.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=w.parseDescriptor(e.range.slice(Lt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=w.parseDescriptor(e.range.slice(Lt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=w.parseDescriptor(e.range.slice(Lt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var rR=te(Cr()),tne=te(require("url"));var Gn=class{supports(e,r){if(!e.reference.startsWith(Lt))return!1;let i=new tne.URL(e.reference);return!(!rR.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await qn(Gn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await qn(Gn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await gr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=mo(e.scope,{configuration:i}),s=Gn.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=rR.default.clean(e.reference.slice(Lt.length));if(r===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Pa(e)}/-/${e.name}-${r}.tgz`}};var iR=te(Cr());var fB=w.makeIdent(null,"node-gyp"),Zqe=/\b(node-gyp|prebuild-install)\b/,nR=class{supportsDescriptor(e,r){return e.range.startsWith(Lt)?!!vt.validRange(e.range.slice(Lt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Lt))return!1;let{selector:i}=w.parseRange(e.reference);return!!iR.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=vt.validRange(e.range.slice(Lt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Lt.length)}`);let s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=w.makeLocator(e,`${Lt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Gn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:w.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=vt.validRange(e.range.slice(Lt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Lt.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=w.parseRange(s,{requireProtocol:Lt}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>w.makeLocator(e,s))}async resolve(e,r){let{selector:i}=w.parseRange(e.reference),n=iR.default.clean(i);if(n===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await qn(Pa(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new ze;if(o.load(s.versions[n]),!o.dependencies.has(fB.identHash)&&!o.peerDependencies.has(fB.identHash)){for(let a of o.scripts.values())if(a.match(Zqe)){o.dependencies.set(fB.identHash,w.makeDescriptor(fB,"latest")),r.report.reportWarning(z.NODE_GYP_INJECTED,`${w.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${w.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),V(P({},e),{version:n,languageName:"node",linkType:At.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var sR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Lt)||!tu.test(e.range.slice(Lt.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Lt.length),s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=w.makeLocator(e,`${Lt}${a}`),c=s.versions[a].dist.tarball;return Gn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[w.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Id={};$e(Id,{makePublishBody:()=>zJe});var WR={};$e(WR,{default:()=>kJe,packUtils:()=>Bo});var Bo={};$e(Bo,{genPackList:()=>MB,genPackStream:()=>JR,genPackageManifest:()=>Pse,hasPackScripts:()=>GR,prepareForPack:()=>jR});var qR=te(sn()),Dse=te(Sse()),xse=te(require("zlib")),IJe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],EJe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function GR(t){return!!(bt.hasWorkspaceScript(t,"prepack")||bt.hasWorkspaceScript(t,"postpack"))}async function jR(t,{report:e},r){await bt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await bt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function JR(t,e){var s,o;typeof e=="undefined"&&(e=await MB(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(B.normalize(a));for(let a of t.manifest.bin.values())r.add(B.normalize(a));let i=Dse.default.pack();process.nextTick(async()=>{for(let a of e){let l=B.normalize(a),c=B.resolve(t.cwd,l),u=B.join("package",l),g=await M.lstatPromise(c),h={name:u,mtime:new Date(gr.safeTime*1e3)},f=r.has(l)?493:420,p,m,I=new Promise((b,x)=>{p=b,m=x}),y=b=>{b?m(b):p()};if(g.isFile()){let b;l==="package.json"?b=Buffer.from(JSON.stringify(await Pse(t),null,2)):b=await M.readFilePromise(c),i.entry(V(P({},h),{mode:f,type:"file"}),b,y)}else g.isSymbolicLink()?i.entry(V(P({},h),{mode:f,type:"symlink",linkname:await M.readlinkPromise(c)}),y):y(new Error(`Unsupported file type ${g.mode} for ${L.fromPortablePath(l)}`));await I}i.finalize()});let n=(0,xse.createGzip)();return i.pipe(n),n}async function Pse(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function MB(t){var g,h,f,p,m,I,y,b;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of EJe)i.reject.push(x);for(let x of IJe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let F=B.relative(t.cwd,x),N=B.resolve(Ee.root,F);i.reject.push(N)};n(B.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let F=B.relative(t.cwd,x.cwd);F!==""&&!F.match(/^(\.\.)?\//)&&i.reject.push(`/${F}`)}let s={accept:[],reject:[]},o=(h=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?h:t.manifest.main,a=(p=(f=t.manifest.publishConfig)==null?void 0:f.module)!=null?p:t.manifest.module,l=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(b=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?b:t.manifest.bin;o!=null&&s.accept.push(B.resolve(Ee.root,o)),a!=null&&s.accept.push(B.resolve(Ee.root,a)),typeof l=="string"&&s.accept.push(B.resolve(Ee.root,l));for(let x of c.values())s.accept.push(B.resolve(Ee.root,x));if(l instanceof Map)for(let[x,F]of l.entries())s.accept.push(B.resolve(Ee.root,x)),typeof F=="string"&&s.accept.push(B.resolve(Ee.root,F));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)kse(s.accept,x,{cwd:Ee.root})}return await yJe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function yJe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new vs(t),o=[[Ee.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Fse(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,h=!1;if(!e||a!==Ee.root)for(let m of u)g=g||m===".gitignore",h=h||m===".npmignore";let f=h?await vse(s,a,".npmignore"):g?await vse(s,a,".gitignore"):null,p=f!==null?[f].concat(l):l;Fse(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([B.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(B.relative(Ee.root,a))}return n.sort()}async function vse(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(B.join(e,r),"utf8");for(let s of n.split(/\n/g))kse(i.reject,s,{cwd:e});return i}function BJe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=B.resolve(e,t)),r&&(t=`!${t}`),t}function kse(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(BJe(i,{cwd:r}))}function Fse(t,{globalList:e,ignoreLists:r}){if(OB(t,e.accept))return!1;if(OB(t,e.reject))return!0;if(r!==null)for(let i of r){if(OB(t,i.accept))return!1;if(OB(t,i.reject))return!0}return!1}function OB(t,e){let r=e,i=[];for(let n=0;n{await jR(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await MB(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await JR(i,c),g=M.createWriteStream(s);u.pipe(g),await new Promise(h=>{g.on("finish",h)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ce.pretty(e,s,ce.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};dd.paths=[["pack"]],dd.usage=fe.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var Lse=dd;function wJe(t,{workspace:e}){let r=t.replace("%s",QJe(e)).replace("%v",bJe(e));return L.toPortablePath(r)}function QJe(t){return t.manifest.name!==null?w.slugifyIdent(t.manifest.name):"package"}function bJe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var SJe=["dependencies","devDependencies","peerDependencies"],DJe="workspace:",xJe=(t,e)=>{var i;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let n of SJe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=w.parseRange(s.range);if(a.protocol===DJe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new Ze(z.WORKSPACE_NOT_FOUND,`${w.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;w.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][w.stringifyIdent(s)]=l}}},PJe={hooks:{beforeWorkspacePacking:xJe},commands:[Lse]},kJe=PJe;var qse=te(require("crypto")),Gse=te(Yse()),jse=te(require("url"));async function zJe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=w.stringifyIdent(o),c=(0,qse.createHash)("sha1").update(e).digest("hex"),u=Gse.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Bo.genPackageManifest(t),h=`${l}-${a}.tgz`,f=new jse.URL(`${l}/-/${h}`,n);return{_id:l,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:V(P({},g),{_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:f.toString()}})}}}var _R={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Jse={npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},VJe={configuration:V(P(P({},_R),Jse),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},_R),Jse)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:El,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},_R)}}}),fetchers:[eR,Gn],resolvers:[tR,nR,sR]},XJe=VJe;var rL={};$e(rL,{default:()=>sWe});Mo();var bs;(function(i){i.All="all",i.Production="production",i.Development="development"})(bs||(bs={}));var Jn;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Jn||(Jn={}));var KB=[Jn.Info,Jn.Low,Jn.Moderate,Jn.High,Jn.Critical];function Wse(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function ZJe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function _Je(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(h=>h.manifest),s=new Set(n.map(h=>[...h.dependencies].map(([f,p])=>f)).flat()),o=new Set(n.map(h=>[...h.devDependencies].map(([f,p])=>f)).flat()),a=i.map(h=>[...h.dependencies.values()]).flat(),l=a.filter(h=>s.has(h.identHash)).map(h=>h.descriptorHash),c=a.filter(h=>o.has(h.identHash)).map(h=>h.descriptorHash),u=Wse(t,l),g=Wse(t,c);return ZJe(g,u)}function zse(t){let e={};for(let r of t)e[w.stringifyIdent(r)]=w.parseRange(r.range).selector;return e}function Vse(t){if(typeof t=="undefined")return new Set;let e=KB.indexOf(t),r=KB.slice(e);return new Set(r)}function $Je(t,e){let r=Vse(e),i={};for(let n of r)i[n]=t[n];return i}function Xse(t,e){var i;let r=$Je(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function Zse(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=Vse(e);n=n.filter(o=>s.has(o.severity))}for(let s of de.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:ce.tuple(ce.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:ce.tuple(ce.Type.NO_HINT,s.title)},URL:{label:"URL",value:ce.tuple(ce.Type.URL,s.url)},Severity:{label:"Severity",value:ce.tuple(ce.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ce.tuple(ce.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ce.tuple(ce.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:ce.tuple(ce.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ce.tuple(ce.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function _se(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[bs.All,bs.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[bs.All,bs.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return zse([...o,...l].filter(c=>w.parseRange(c.range).protocol===null))}function $se(t,e,{all:r}){var s;let i=_Je(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[w.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:zse(o.dependencies.values()),dev:i.has(w.convertLocatorToDescriptor(o).descriptorHash)};return n}var Ed=class extends Be{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=j.String("--environment",bs.All,{description:"Which environments to cover",validator:Yl(bs)});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=j.String("--severity",Jn.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yl(Jn)})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=_se(r,i,{all:this.all,environment:this.environment}),s=$se(r,i,{all:this.all});if(!this.recursive)for(let h of Object.keys(s))Object.prototype.hasOwnProperty.call(n,h)?s[h].requires={}:delete s[h];let o={requires:n,dependencies:s},a=Gt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await ao.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Bt.post("/-/npm/v1/security/audits/quick",o,{authType:Bt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Xse(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Tn.emitTree(Zse(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async h=>{h.reportJson(l),u||h.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};Ed.paths=[["npm","audit"]],Ed.usage=fe.Usage({description:"perform a vulnerability audit against the installed packages",details:` +`;for(let[p,m]of h){let I=B.relative(B.join(g,Rr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} +`}}}}let a=t.cwd,l=B.join(a,Rr,_ie);await M.changeFilePromise(l,n,{automaticNewlines:!0})}async function zF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=B.join(r,Rr,_ie);if(!M.existsSync(i))return null;let n=Tr(await M.readFilePromise(i,"utf8"));if(n.__metadata.version>Zie)return null;let s=n.__metadata.nmMode||Oi.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(h=>B.join(r,h)),g=c.bin;if(g)for(let[h,f]of Object.entries(g)){let p=B.join(r,L.toPortablePath(h)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(f))m.set(Jt(I),L.toPortablePath([p,Rr,y].join(B.delimiter)))}if(o.set(l,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let h of c.aliases){let{scope:f,name:p}=Q.parseLocator(l),m=Q.makeLocator(Q.makeIdent(f,p),h),I=Q.stringifyLocator(m);o.set(I,{target:Ee.dot,linkType:At.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:tne(o,{skipPrefix:t.cwd}),nmMode:s}}var Uu=async(t,e)=>{if(t.split(B.sep).indexOf(Rr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await M.lstatPromise(t)).isSymbolicLink()){await M.unlinkPromise(t);return}let r=await M.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=B.join(t,Jt(i.name));i.isDirectory()?(i.name!==Rr||e&&e.innerLoop)&&await Uu(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},rne=4,gB=(t,{skipPrefix:e})=>{let r=B.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(B.sep).filter(l=>l!==""),n=i.indexOf(Rr),s=i.slice(0,n).join(B.sep),o=B.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},tne=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:At.HARD});for(let[n,s]of t.entries()){if(s.linkType===At.SOFT&&B.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=gB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await M.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await M.symlinkPromise(t,e,"junction"):await M.symlinkPromise(B.relative(B.dirname(e),t),e)};async function ine(t,e,r){let i=B.join(t,Jt(`${qF.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,r);try{await M.linkPromise(i,e)}catch(n){}}finally{await M.unlinkPromise(i)}}async function VGe({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Oi.HARDLINKS_GLOBAL&&i&&o){let l=B.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Di.checksumFile(l,{baseFs:M,algorithm:"sha1"})!==o){let g=B.join(i,Jt(`${qF.default.randomBytes(16).toString("hex")}.tmp`));await M.renamePromise(l,g);let h=await n.readFilePromise(t);await M.writeFilePromise(g,h);try{await M.linkPromise(g,l),await M.unlinkPromise(g)}catch(f){}}await M.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await ine(i,l,u),await M.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await M.chmodPromise(e,a)}var Da;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Da||(Da={}));var XGe=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(t,{recursive:!0});let o=async(l=Ee.dot)=>{let c=B.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let h of u){let f=B.join(l,h.name),p,m=B.join(c,h.name);if(h.isFile()){if(p={kind:Da.FILE,mode:(await r.lstatPromise(m)).mode},n===Oi.HARDLINKS_GLOBAL){let I=await Di.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(h.isDirectory())p={kind:Da.DIRECTORY};else if(h.isSymbolicLink())p={kind:Da.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(f,p),h.isDirectory()&&f!==Rr){let I=await o(f);for(let[y,w]of I)g.set(y,w)}}return g},a;if(n===Oi.HARDLINKS_GLOBAL&&i&&s){let l=B.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await ine(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=B.join(e,l),g=B.join(t,l);c.kind===Da.DIRECTORY?await M.mkdirPromise(g,{recursive:!0}):c.kind===Da.FILE?await VGe({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Da.SYMLINK&&await VF(B.resolve(B.dirname(g),c.symlinkTo),g)}};function ZGe(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=B.join(n,Rr);if(!M.existsSync(o)){s.children.delete(Rr);for(let a of i.keys())B.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function ene(t){let e=Q.parseDescriptor(t);return Q.isVirtualDescriptor(e)&&(e=Q.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function _Ge(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=ene(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,h]of c.bin){let f=B.join(l[0],h);h!==""&&M.existsSync(f)&&u.set(g,h)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=B.contains(r,a);if(c.locator&&g!==null){let h=n.get(c.locator);for(let[f,p]of h){let m=B.join(a,L.toPortablePath(p));u.set(Jt(f),m)}for(let[f,p]of c.children){let m=B.join(a,f),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[h,f]of c.children){let p=o(B.join(a,h),l,f);for(let[m,I]of p)u.set(m,I)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var nne=(t,e)=>{if(!t||!e)return t===e;let r=Q.parseLocator(t);Q.isVirtualLocator(r)&&(r=Q.devirtualizeLocator(r));let i=Q.parseLocator(e);return Q.isVirtualLocator(i)&&(i=Q.devirtualizeLocator(i)),Q.areLocatorsEqual(r,i)};function XF(t){return B.join(t.get("globalFolder"),"store")}async function WGe(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=B.join(i.cwd,Rr),{locationTree:l,binSymlinks:c}=ZGe(t.locationTree,t.binSymlinks),u=tne(e,{skipPrefix:i.cwd}),g=[],h=async({srcDir:N,dstDir:K,linkType:v,globalHardlinksStore:J,nmMode:oe,packageChecksum:T})=>{let A=(async()=>{try{v===At.SOFT?(await M.mkdirPromise(B.dirname(K),{recursive:!0}),await VF(B.resolve(N),K)):await XGe(K,N,{baseFs:r,globalHardlinksStore:J,nmMode:oe,packageChecksum:T})}catch(W){throw W.message=`While persisting ${N} -> ${K} ${W.message}`,W}finally{w.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>rne&&await Promise.race(g)},f=async(N,K,v)=>{let J=(async()=>{let oe=async(T,A,W)=>{try{W.innerLoop||await M.mkdirPromise(A,{recursive:!0});let ee=await M.readdirPromise(T,{withFileTypes:!0});for(let re of ee){if(!W.innerLoop&&re.name===JF)continue;let H=B.join(T,re.name),R=B.join(A,re.name);re.isDirectory()?(re.name!==Rr||W&&W.innerLoop)&&(await M.mkdirPromise(R,{recursive:!0}),await oe(H,R,V(k({},W),{innerLoop:!0}))):F===Oi.HARDLINKS_LOCAL||F===Oi.HARDLINKS_GLOBAL?await M.linkPromise(H,R):await M.copyFilePromise(H,R,Xie.default.constants.COPYFILE_FICLONE)}}catch(ee){throw W.innerLoop||(ee.message=`While cloning ${T} -> ${A} ${ee.message}`),ee}finally{W.innerLoop||w.tick()}};await oe(N,K,v)})().then(()=>g.splice(g.indexOf(J),1));g.push(J),g.length>rne&&await Promise.race(g)},p=async(N,K,v)=>{if(!v)K.children.has(Rr)&&await Uu(B.join(N,Rr),{contentsOnly:!1}),await Uu(N,{contentsOnly:N===a});else for(let[J,oe]of K.children){let T=v.children.get(J);await p(B.join(N,J),oe,T)}};for(let[N,K]of l){let v=u.get(N);for(let[J,oe]of K.children){if(J===".")continue;let T=v&&v.children.get(J);await p(B.join(N,J),oe,T)}}let m=async(N,K,v)=>{if(!v)K.children.has(Rr)&&await Uu(B.join(N,Rr),{contentsOnly:!0}),await Uu(N,{contentsOnly:K.linkType===At.HARD});else{nne(K.locator,v.locator)||await Uu(N,{contentsOnly:K.linkType===At.HARD});for(let[J,oe]of K.children){let T=v.children.get(J);await m(B.join(N,J),oe,T)}}};for(let[N,K]of u){let v=l.get(N);for(let[J,oe]of K.children){if(J===".")continue;let T=v&&v.children.get(J);await m(B.join(N,J),oe,T)}}let I=new Map,y=[];for(let[N,{locations:K}]of t.locatorMap.entries())for(let v of K){let{locationRoot:J,segments:oe}=gB(v,{skipPrefix:i.cwd}),T=u.get(J),A=J;if(T){for(let W of oe)if(A=B.join(A,W),T=T.children.get(W),!T)break;if(T){let W=nne(T.locator,N),ee=e.get(T.locator),re=ee.target,H=A,R=ee.linkType;if(W)I.has(re)||I.set(re,H);else if(re!==H){let ke=Q.parseLocator(T.locator);Q.isVirtualLocator(ke)&&(ke=Q.devirtualizeLocator(ke)),y.push({srcDir:re,dstDir:H,linkType:R,realLocatorHash:ke.locatorHash})}}}}for(let[N,{locations:K}]of e.entries())for(let v of K){let{locationRoot:J,segments:oe}=gB(v,{skipPrefix:i.cwd}),T=l.get(J),A=u.get(J),W=J,ee=e.get(N),re=Q.parseLocator(N);Q.isVirtualLocator(re)&&(re=Q.devirtualizeLocator(re));let H=re.locatorHash,R=ee.target,ke=v;if(R===ke)continue;let Le=ee.linkType;for(let qe of oe)A=A.children.get(qe);if(!T)y.push({srcDir:R,dstDir:ke,linkType:Le,realLocatorHash:H});else for(let qe of oe)if(W=B.join(W,qe),T=T.children.get(qe),!T){y.push({srcDir:R,dstDir:ke,linkType:Le,realLocatorHash:H});break}}let w=ci.progressViaCounter(y.length),x=n.reportProgress(w),F=i.configuration.get("nmMode");try{let N=F===Oi.HARDLINKS_GLOBAL?`${XF(i.configuration)}/v1`:null;if(N&&!await M.existsPromise(N)){await M.mkdirpPromise(N);for(let v=0;v<256;v++)await M.mkdirPromise(B.join(N,v.toString(16).padStart(2,"0")))}for(let v of y)(v.linkType===At.SOFT||!I.has(v.srcDir))&&(I.set(v.srcDir,v.dstDir),await h(V(k({},v),{globalHardlinksStore:N,nmMode:F,packageChecksum:o.get(v.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let v of y){let J=I.get(v.srcDir);v.linkType!==At.SOFT&&v.dstDir!==J&&await f(J,v.dstDir,{nmMode:F})}await Promise.all(g),await M.mkdirPromise(a,{recursive:!0});let K=await _Ge(e,u,i.cwd,{loadManifest:s});await $Ge(c,K,i.cwd),await zGe(i,e,K,F)}finally{x.stop()}}async function $Ge(t,e,r){for(let i of t.keys()){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=B.join(i,Rr,JF);await M.removePromise(n)}}for(let[i,n]of e){if(B.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=B.join(i,Rr,JF),o=t.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(B.join(s,a)),process.platform==="win32"&&await M.removePromise(B.join(s,Jt(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=B.join(s,a);c!==l&&(process.platform==="win32"?await(0,Vie.default)(L.fromPortablePath(l),L.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await VF(l,u),B.contains(r,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var ZF=class extends Cl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new sne(e)}},sne=class extends Ku{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new rr({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Kie(e,this.opts.project.cwd,r),{tree:n,errors:s}=wa(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let h=Q.parseLocator(g.locator),f=Q.stringifyIdent(h);f===u?o.set(u,h.reference):o.set(u,[f,h.reference])},l=B.join(this.opts.project.cwd,mt.nodeModules),c=n.get(l);if(typeof c=="undefined")throw new Error("Assertion failed: Expected a root junction point");if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=B.join(l,u),h=n.get(g);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)a(u,h);else for(let f of h.dirList){let p=B.join(g,f),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${f}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}};var eje={hooks:{cleanGlobalArtifacts:async t=>{let e=XF(t);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Mi.WORKSPACES,Mi.DEPENDENCIES,Mi.NONE],default:Mi.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Oi.CLASSIC,Oi.HARDLINKS_LOCAL,Oi.HARDLINKS_GLOBAL],default:Oi.CLASSIC}},linkers:[WF,ZF]},tje=eje;var tL={};$e(tL,{default:()=>AWe,npmConfigUtils:()=>qt,npmHttpUtils:()=>Bt,npmPublishUtils:()=>Dd});var lne=te(Cr());var Nt="npm:";var Bt={};$e(Bt,{AuthType:()=>Zi,customPackageError:()=>nje,del:()=>aje,get:()=>qn,getIdentUrl:()=>Pa,handleInvalidAuthenticationError:()=>xa,post:()=>sje,put:()=>oje});var ane=te(dp()),Ane=te(require("url"));var qt={};$e(qt,{RegistryType:()=>Sa,getAuthConfiguration:()=>eR,getDefaultRegistry:()=>hB,getPublishRegistry:()=>rje,getRegistryConfiguration:()=>one,getScopeConfiguration:()=>$F,getScopeRegistry:()=>Bo,normalizeRegistry:()=>ml});var Sa;(function(r){r.FETCH_REGISTRY="npmRegistryServer",r.PUBLISH_REGISTRY="npmPublishRegistry"})(Sa||(Sa={}));function ml(t){return t.replace(/\/$/,"")}function rje(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?ml(t.publishConfig.registry):t.name?Bo(t.name.scope,{configuration:e,type:Sa.PUBLISH_REGISTRY}):hB({configuration:e,type:Sa.PUBLISH_REGISTRY})}function Bo(t,{configuration:e,type:r=Sa.FETCH_REGISTRY}){let i=$F(t,{configuration:e});if(i===null)return hB({configuration:e,type:r});let n=i.get(r);return n===null?hB({configuration:e,type:r}):ml(n)}function hB({configuration:t,type:e=Sa.FETCH_REGISTRY}){let r=t.get(e);return ml(r!==null?r:t.get(Sa.FETCH_REGISTRY))}function one(t,{configuration:e}){let r=e.get("npmRegistries"),i=ml(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function $F(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function eR(t,{configuration:e,ident:r}){let i=r&&$F(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:one(t,{configuration:e})||e}var Zi;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(Zi||(Zi={}));async function xa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new Ze(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await ije(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function nje(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Pa(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function qn(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Lr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Bo(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await fB(s,{authType:n,configuration:e,ident:i});c&&(r=V(k({},r),{authorization:c}));try{return await Ft.get(t.charAt(0)==="/"?`${s}${t}`:t,k({configuration:e,headers:r},o))}catch(u){throw await xa(u,{registry:s,configuration:e,headers:r}),u}}async function sje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Lr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await fB(a,{authType:o,configuration:i,ident:s});g&&(n=V(k({},n),{authorization:g}));try{return await Ft.post(a+t,e,k({configuration:i,headers:n},l))}catch(h){if(!rR(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await tR(),p=k(k({},n),iR(f));try{return await Ft.post(`${a}${t}`,e,k({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function oje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Lr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await fB(a,{authType:o,configuration:i,ident:s});g&&(n=V(k({},n),{authorization:g}));try{return await Ft.put(a+t,e,k({configuration:i,headers:n},l))}catch(h){if(!rR(h))throw await xa(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;let f=await tR(),p=k(k({},n),iR(f));try{return await Ft.put(`${a}${t}`,e,k({configuration:i,headers:p},l))}catch(m){throw await xa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function aje(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=Lr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Bo(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await fB(o,{authType:s,configuration:r,ident:n});u&&(i=V(k({},i),{authorization:u}));try{return await Ft.del(o+t,k({configuration:r,headers:i},a))}catch(g){if(!rR(g))throw await xa(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let h=await tR(),f=k(k({},i),iR(h));try{return await Ft.del(`${o}${t}`,k({configuration:r,headers:f},a))}catch(p){throw await xa(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function fB(t,{authType:e=2,configuration:r,ident:i}){let n=eR(t,{configuration:r,ident:i}),s=Aje(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new Ze(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function Aje(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function ije(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Ft.get(new Ane.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function tR(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,ane.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function rR(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function iR(t){return{["npm-otp"]:t}}var nR=class{supports(e,r){if(!e.reference.startsWith(Nt))return!1;let{selector:i,params:n}=Q.parseRange(e.reference);return!(!lne.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=Q.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await qn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await hr.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1})}};var sR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Nt)||!Q.tryParseDescriptor(e.range.slice(Nt.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=Q.parseDescriptor(e.range.slice(Nt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=Q.parseDescriptor(e.range.slice(Nt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=Q.parseDescriptor(e.range.slice(Nt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var oR=te(Cr()),cne=te(require("url"));var Jn=class{supports(e,r){if(!e.reference.startsWith(Nt))return!1;let i=new cne.URL(e.reference);return!(!oR.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await qn(Jn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await qn(Jn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Q.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Bo(e.scope,{configuration:i}),s=Jn.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=oR.default.clean(e.reference.slice(Nt.length));if(r===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Pa(e)}/-/${e.name}-${r}.tgz`}};var aR=te(Cr());var pB=Q.makeIdent(null,"node-gyp"),lje=/\b(node-gyp|prebuild-install)\b/,AR=class{supportsDescriptor(e,r){return e.range.startsWith(Nt)?!!kt.validRange(e.range.slice(Nt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Nt))return!1;let{selector:i}=Q.parseRange(e.reference);return!!aR.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=kt.validRange(e.range.slice(Nt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Nt.length)}`);let s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new kt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=Q.makeLocator(e,`${Nt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Jn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:Q.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=kt.validRange(e.range.slice(Nt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Nt.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=Q.parseRange(s,{requireProtocol:Nt}),a=new kt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>Q.makeLocator(e,s))}async resolve(e,r){let{selector:i}=Q.parseRange(e.reference),n=aR.default.clean(i);if(n===null)throw new Ze(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await qn(Pa(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new We;if(o.load(s.versions[n]),!o.dependencies.has(pB.identHash)&&!o.peerDependencies.has(pB.identHash)){for(let a of o.scripts.values())if(a.match(lje)){o.dependencies.set(pB.identHash,Q.makeDescriptor(pB,"latest")),r.report.reportWarning(z.NODE_GYP_INJECTED,`${Q.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${Q.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),V(k({},e),{version:n,languageName:"node",linkType:At.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var lR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Nt)||!tu.test(e.range.slice(Nt.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Nt.length),s=await qn(Pa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new Ze(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=Q.makeLocator(e,`${Nt}${a}`),c=s.versions[a].dist.tarball;return Jn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[Q.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Dd={};$e(Dd,{makePublishBody:()=>oWe});var ZR={};$e(ZR,{default:()=>YJe,packUtils:()=>Do});var Do={};$e(Do,{genPackList:()=>OB,genPackStream:()=>XR,genPackageManifest:()=>Kse,hasPackScripts:()=>zR,prepareForPack:()=>VR});var WR=te(Yi()),Mse=te(Nse()),Ose=te(require("zlib")),vJe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],FJe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function zR(t){return!!(bt.hasWorkspaceScript(t,"prepack")||bt.hasWorkspaceScript(t,"postpack"))}async function VR(t,{report:e},r){await bt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await bt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function XR(t,e){var s,o;typeof e=="undefined"&&(e=await OB(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(B.normalize(a));for(let a of t.manifest.bin.values())r.add(B.normalize(a));let i=Mse.default.pack();process.nextTick(async()=>{for(let a of e){let l=B.normalize(a),c=B.resolve(t.cwd,l),u=B.join("package",l),g=await M.lstatPromise(c),h={name:u,mtime:new Date(hr.safeTime*1e3)},f=r.has(l)?493:420,p,m,I=new Promise((w,x)=>{p=w,m=x}),y=w=>{w?m(w):p()};if(g.isFile()){let w;l==="package.json"?w=Buffer.from(JSON.stringify(await Kse(t),null,2)):w=await M.readFilePromise(c),i.entry(V(k({},h),{mode:f,type:"file"}),w,y)}else g.isSymbolicLink()?i.entry(V(k({},h),{mode:f,type:"symlink",linkname:await M.readlinkPromise(c)}),y):y(new Error(`Unsupported file type ${g.mode} for ${L.fromPortablePath(l)}`));await I}i.finalize()});let n=(0,Ose.createGzip)();return i.pipe(n),n}async function Kse(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function OB(t){var g,h,f,p,m,I,y,w;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of FJe)i.reject.push(x);for(let x of vJe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let F=B.relative(t.cwd,x),N=B.resolve(Ee.root,F);i.reject.push(N)};n(B.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let F=B.relative(t.cwd,x.cwd);F!==""&&!F.match(/^(\.\.)?\//)&&i.reject.push(`/${F}`)}let s={accept:[],reject:[]},o=(h=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?h:t.manifest.main,a=(p=(f=t.manifest.publishConfig)==null?void 0:f.module)!=null?p:t.manifest.module,l=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(w=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?w:t.manifest.bin;o!=null&&s.accept.push(B.resolve(Ee.root,o)),a!=null&&s.accept.push(B.resolve(Ee.root,a)),typeof l=="string"&&s.accept.push(B.resolve(Ee.root,l));for(let x of c.values())s.accept.push(B.resolve(Ee.root,x));if(l instanceof Map)for(let[x,F]of l.entries())s.accept.push(B.resolve(Ee.root,x)),typeof F=="string"&&s.accept.push(B.resolve(Ee.root,F));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)Tse(s.accept,x,{cwd:Ee.root})}return await RJe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function RJe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Ns(t),o=[[Ee.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Hse(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,h=!1;if(!e||a!==Ee.root)for(let m of u)g=g||m===".gitignore",h=h||m===".npmignore";let f=h?await Use(s,a,".npmignore"):g?await Use(s,a,".gitignore"):null,p=f!==null?[f].concat(l):l;Hse(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([B.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(B.relative(Ee.root,a))}return n.sort()}async function Use(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(B.join(e,r),"utf8");for(let s of n.split(/\n/g))Tse(i.reject,s,{cwd:e});return i}function LJe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=B.resolve(e,t)),r&&(t=`!${t}`),t}function Tse(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(LJe(i,{cwd:r}))}function Hse(t,{globalList:e,ignoreLists:r}){if(KB(t,e.accept))return!1;if(KB(t,e.reject))return!0;if(r!==null)for(let i of r){if(KB(t,i.accept))return!1;if(KB(t,i.reject))return!0}return!1}function KB(t,e){let r=e,i=[];for(let n=0;n{await VR(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await OB(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await XR(i,c),g=M.createWriteStream(s);u.pipe(g),await new Promise(h=>{g.on("finish",h)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${Ae.pretty(e,s,Ae.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};wd.paths=[["pack"]],wd.usage=fe.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var Gse=wd;function NJe(t,{workspace:e}){let r=t.replace("%s",MJe(e)).replace("%v",OJe(e));return L.toPortablePath(r)}function MJe(t){return t.manifest.name!==null?Q.slugifyIdent(t.manifest.name):"package"}function OJe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var KJe=["dependencies","devDependencies","peerDependencies"],TJe="workspace:",UJe=(t,e)=>{var i;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let n of KJe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=Q.parseRange(s.range);if(a.protocol===TJe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new Ze(z.WORKSPACE_NOT_FOUND,`${Q.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;Q.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][Q.stringifyIdent(s)]=l}}},HJe={hooks:{beforeWorkspacePacking:UJe},commands:[Gse]},YJe=HJe;var _se=te(require("crypto")),$se=te(Zse()),eoe=te(require("url"));async function oWe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=Q.stringifyIdent(o),c=(0,_se.createHash)("sha1").update(e).digest("hex"),u=$se.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Do.genPackageManifest(t),h=`${l}-${a}.tgz`,f=new eoe.URL(`${l}/-/${h}`,n);return{_id:l,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:V(k({},g),{_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:f.toString()}})}}}var rL={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},toe={npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},aWe={configuration:V(k(k({},rL),toe),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:k(k({},rL),toe)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:ml,valueDefinition:{description:"",type:ge.SHAPE,properties:k({},rL)}}}),fetchers:[nR,Jn],resolvers:[sR,AR,lR]},AWe=aWe;var oL={};$e(oL,{default:()=>CWe});Fn();var xs;(function(i){i.All="all",i.Production="production",i.Development="development"})(xs||(xs={}));var zn;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(zn||(zn={}));var TB=[zn.Info,zn.Low,zn.Moderate,zn.High,zn.Critical];function roe(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function lWe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function cWe(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(h=>h.manifest),s=new Set(n.map(h=>[...h.dependencies].map(([f,p])=>f)).flat()),o=new Set(n.map(h=>[...h.devDependencies].map(([f,p])=>f)).flat()),a=i.map(h=>[...h.dependencies.values()]).flat(),l=a.filter(h=>s.has(h.identHash)).map(h=>h.descriptorHash),c=a.filter(h=>o.has(h.identHash)).map(h=>h.descriptorHash),u=roe(t,l),g=roe(t,c);return lWe(g,u)}function ioe(t){let e={};for(let r of t)e[Q.stringifyIdent(r)]=Q.parseRange(r.range).selector;return e}function noe(t){if(typeof t=="undefined")return new Set;let e=TB.indexOf(t),r=TB.slice(e);return new Set(r)}function uWe(t,e){let r=noe(e),i={};for(let n of r)i[n]=t[n];return i}function soe(t,e){var i;let r=uWe(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function ooe(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=noe(e);n=n.filter(o=>s.has(o.severity))}for(let s of de.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:Ae.tuple(Ae.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:Ae.tuple(Ae.Type.NO_HINT,s.title)},URL:{label:"URL",value:Ae.tuple(Ae.Type.URL,s.url)},Severity:{label:"Severity",value:Ae.tuple(Ae.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:Ae.tuple(Ae.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:Ae.tuple(Ae.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:Ae.tuple(Ae.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:Ae.tuple(Ae.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function aoe(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[xs.All,xs.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[xs.All,xs.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return ioe([...o,...l].filter(c=>Q.parseRange(c.range).protocol===null))}function Aoe(t,e,{all:r}){var s;let i=cWe(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[Q.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:ioe(o.dependencies.values()),dev:i.has(Q.convertLocatorToDescriptor(o).descriptorHash)};return n}var Sd=class extends Be{constructor(){super(...arguments);this.all=G.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=G.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=G.String("--environment",xs.All,{description:"Which environments to cover",validator:ni(xs)});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=G.String("--severity",zn.Info,{description:"Minimal severity requested for packages to be displayed",validator:ni(zn)})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=aoe(r,i,{all:this.all,environment:this.environment}),s=Aoe(r,i,{all:this.all});if(!this.recursive)for(let h of Object.keys(s))Object.prototype.hasOwnProperty.call(n,h)?s[h].requires={}:delete s[h];let o={requires:n,dependencies:s},a=qt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await uo.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Bt.post("/-/npm/v1/security/audits/quick",o,{authType:Bt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=soe(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Hn.emitTree(ooe(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async h=>{h.reportJson(l),u||h.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};Sd.paths=[["npm","audit"]],Sd.usage=fe.Usage({description:"perform a vulnerability audit against the installed packages",details:` This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${KB.map(e=>`\`${e}\``).join(", ")}. + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${TB.map(e=>`\`${e}\``).join(", ")}. If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var eoe=Ed;var toe=te(require("path")),$R=te(Cr()),eL=te(require("util")),yd=class extends Be{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await De.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${toe.default.join(x.cwd,"package.json")}`);c=w.makeDescriptor(x.manifest.name,"unknown")}else c=w.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=tL(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),h=Object.keys(g.versions).sort($R.default.compareLoose),p=g["dist-tags"].latest||h[h.length-1],m=vt.validRange(c.range);if(m){let x=$R.default.maxSatisfying(h,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(P(P({},g),I),{version:p,versions:h}),b;if(i!==null){b={};for(let x of i){let F=y[x];if(typeof F!="undefined")b[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${w.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),b=y;a.reportJson(b),this.json||n.push(b)}});eL.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,eL.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} -`);return o.exitCode()}};yd.paths=[["npm","info"]],yd.usage=fe.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var roe=yd;function tL(t){if(Array.isArray(t)){let e=[];for(let r of t)r=tL(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=tL(t[r]);i&&(e[r]=i)}return e}else return t||null}var ioe=te(lp()),Bd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await tWe({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await eWe(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};Bd.paths=[["npm","login"]],Bd.usage=fe.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var noe=Bd;async function TB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Gt.getScopeRegistry(t,{configuration:r,type:Gt.RegistryType.PUBLISH_REGISTRY}):t?Gt.getScopeRegistry(t,{configuration:r}):e?Gt.getPublishRegistry((await bu(r,i)).manifest,{configuration:r}):Gt.getDefaultRegistry({configuration:r})}async function eWe(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(P({},l),{[o]:V(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await Ae.updateHomeConfiguration(s)}async function tWe({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,ioe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var $u=new Set(["npmAuthIdent","npmAuthToken"]),wd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=j.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await Ae.find(this.context.cwd,this.context.plugins),o=w.makeIdent((l=this.scope)!=null?l:null,"pkg");return!Gt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await De.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await rWe(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await soe("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish});await soe("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};wd.paths=[["npm","logout"]],wd.usage=fe.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var ooe=wd;function iWe(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...$u].every(s=>!i.has(s)))return!1;for(let s of $u)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of $u)delete n[s];return t[e]=n,!0}async function rWe(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))iWe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await Ae.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function soe(t,e){return await Ae.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...$u].every(l=>!o.has(l)))return r;for(let l of $u)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:V(P({},i),{[e]:void 0});let a={};for(let l of $u)a[l]=void 0;return V(P({},i),{[e]:P(P({},s),a)})}})}var Qd=class extends Be{constructor(){super(...arguments);this.access=j.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=j.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=j.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=Gt.getPublishRegistry(i.manifest,{configuration:e});return(await De.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Bt.get(Bt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await bt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Bo.prepareForPack(i,{report:l},async()=>{let g=await Bo.genPackList(i);for(let m of g)l.reportInfo(null,m);let h=await Bo.genPackStream(i,g),f=await de.bufferStream(h),p=await Id.makePublishBody(i,f,{access:this.access,tag:this.tag,registry:o});await Bt.put(Bt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Qd.paths=[["npm","publish"]],Qd.usage=fe.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var aoe=Qd;var loe=te(Cr());var bd=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String({required:!1})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=w.parseIdent(this.package);else{if(!i)throw new Xe(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${B.join(i.cwd,mt.manifest)}`);n=i.manifest.name}let s=await Sd(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ce.tuple(ce.Type.RESOLUTION,{descriptor:w.makeDescriptor(n,l),locator:w.makeLocator(n,c)})}))};return Tn.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};bd.paths=[["npm","tag","list"]],bd.usage=fe.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var loe=Sd;var coe=te(require("path")),iL=te(Cr()),nL=te(require("util")),xd=class extends Be{constructor(){super(...arguments);this.fields=G.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=G.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${coe.default.join(x.cwd,"package.json")}`);c=Q.makeDescriptor(x.manifest.name,"unknown")}else c=Q.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=sL(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),h=Object.keys(g.versions).sort(iL.default.compareLoose),p=g["dist-tags"].latest||h[h.length-1],m=kt.validRange(c.range);if(m){let x=iL.default.maxSatisfying(h,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${Q.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${Q.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(k(k({},g),I),{version:p,versions:h}),w;if(i!==null){w={};for(let x of i){let F=y[x];if(typeof F!="undefined")w[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${Q.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),w=y;a.reportJson(w),this.json||n.push(w)}});nL.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,nL.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};xd.paths=[["npm","info"]],xd.usage=fe.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var uoe=xd;function sL(t){if(Array.isArray(t)){let e=[];for(let r of t)r=sL(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=sL(t[r]);i&&(e[r]=i)}return e}else return t||null}var goe=te(dp()),Pd=class extends Be{constructor(){super(...arguments);this.scope=G.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=G.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await UB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await hWe({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await gWe(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};Pd.paths=[["npm","login"]],Pd.usage=fe.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var hoe=Pd;async function UB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?qt.getScopeRegistry(t,{configuration:r,type:qt.RegistryType.PUBLISH_REGISTRY}):t?qt.getScopeRegistry(t,{configuration:r}):e?qt.getPublishRegistry((await bu(r,i)).manifest,{configuration:r}):qt.getDefaultRegistry({configuration:r})}async function gWe(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(k({},l),{[o]:V(k({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await le.updateHomeConfiguration(s)}async function hWe({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,goe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var $u=new Set(["npmAuthIdent","npmAuthToken"]),kd=class extends Be{constructor(){super(...arguments);this.scope=G.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=G.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=G.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await UB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await le.find(this.context.cwd,this.context.plugins),o=Q.makeIdent((l=this.scope)!=null?l:null,"pkg");return!qt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await fWe(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await foe("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await UB({configuration:e,cwd:this.context.cwd,publish:this.publish});await foe("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};kd.paths=[["npm","logout"]],kd.usage=fe.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var poe=kd;function pWe(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...$u].every(s=>!i.has(s)))return!1;for(let s of $u)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=k({},r);for(let s of $u)delete n[s];return t[e]=n,!0}async function fWe(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?k({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))pWe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await le.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function foe(t,e){return await le.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...$u].every(l=>!o.has(l)))return r;for(let l of $u)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:V(k({},i),{[e]:void 0});let a={};for(let l of $u)a[l]=void 0;return V(k({},i),{[e]:k(k({},s),a)})}})}var vd=class extends Be{constructor(){super(...arguments);this.access=G.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=G.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=G.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=qt.getPublishRegistry(i.manifest,{configuration:e});return(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Bt.get(Bt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new Ze(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await bt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Do.prepareForPack(i,{report:l},async()=>{let g=await Do.genPackList(i);for(let m of g)l.reportInfo(null,m);let h=await Do.genPackStream(i,g),f=await de.bufferStream(h),p=await Dd.makePublishBody(i,f,{access:this.access,tag:this.tag,registry:o});await Bt.put(Bt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};vd.paths=[["npm","publish"]],vd.usage=fe.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var doe=vd;var moe=te(Cr());var Fd=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=G.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=Q.parseIdent(this.package);else{if(!i)throw new Xe(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${B.join(i.cwd,mt.manifest)}`);n=i.manifest.name}let s=await Rd(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:Ae.tuple(Ae.Type.RESOLUTION,{descriptor:Q.makeDescriptor(n,l),locator:Q.makeLocator(n,c)})}))};return Hn.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};Fd.paths=[["npm","tag","list"]],Fd.usage=fe.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` This command will list all tags of a package from the npm registry. If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Aoe=bd;async function Sd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var Dd=class extends Be{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=w.parseDescriptor(this.package,!0),s=n.range;if(!loe.default.valid(s))throw new me(`The range ${ce.pretty(e,n.range,ce.Type.RANGE)} must be a valid semver version`);let o=Gt.getPublishRegistry(i.manifest,{configuration:e}),a=ce.pretty(e,n,ce.Type.IDENT),l=ce.pretty(e,s,ce.Type.RANGE),c=ce.pretty(e,this.tag,ce.Type.CODE);return(await De.start({configuration:e,stdout:this.context.stdout},async g=>{let h=await Sd(n,e);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let f=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(f,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Dd.paths=[["npm","tag","add"]],Dd.usage=fe.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Coe=Fd;async function Rd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var Ld=class extends Be{constructor(){super(...arguments);this.package=G.String();this.tag=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=Q.parseDescriptor(this.package,!0),s=n.range;if(!moe.default.valid(s))throw new me(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=qt.getPublishRegistry(i.manifest,{configuration:e}),a=Ae.pretty(e,n,Ae.Type.IDENT),l=Ae.pretty(e,s,Ae.Type.RANGE),c=Ae.pretty(e,this.tag,Ae.Type.CODE);return(await xe.start({configuration:e,stdout:this.context.stdout},async g=>{let h=await Rd(n,e);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let f=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(f,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Ld.paths=[["npm","tag","add"]],Ld.usage=fe.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var coe=Dd;var xd=class extends Be{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=w.parseIdent(this.package),s=Gt.getPublishRegistry(i.manifest,{configuration:e}),o=ce.pretty(e,this.tag,ce.Type.CODE),a=ce.pretty(e,n,ce.Type.IDENT),l=await Sd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await De.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};xd.paths=[["npm","tag","remove"]],xd.usage=fe.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Ioe=Ld;var Nd=class extends Be{constructor(){super(...arguments);this.package=G.String();this.tag=G.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);let n=Q.parseIdent(this.package),s=qt.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await Rd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Nd.paths=[["npm","tag","remove"]],Nd.usage=fe.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var uoe=xd;var Pd=class extends Be{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Gt.getScopeRegistry(this.scope,{configuration:e,type:Gt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Gt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Gt.getPublishRegistry((await bu(e,this.context.cwd)).manifest,{configuration:e}):r=Gt.getDefaultRegistry({configuration:e}),(await De.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?w.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Pd.paths=[["npm","whoami"]],Pd.usage=fe.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var goe=Pd;var nWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[eoe,roe,noe,ooe,aoe,coe,Aoe,uoe,goe]},sWe=nWe;var cL={};$e(cL,{default:()=>yWe,patchUtils:()=>iL});var iL={};$e(iL,{applyPatchFile:()=>qB,diffFolders:()=>aL,extractPackageToDisk:()=>oL,extractPatchFlags:()=>Eoe,isParentRequired:()=>sL,loadPatchFiles:()=>Rd,makeDescriptor:()=>mWe,makeLocator:()=>nL,parseDescriptor:()=>vd,parseLocator:()=>Fd,parsePatchFile:()=>HB});var kd=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var oWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function eg(t){return B.relative(Ee.root,B.resolve(Ee.root,L.toPortablePath(t)))}function aWe(t){let e=t.trim().match(oWe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var AWe=420,lWe=493,ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(ar||(ar={}));var hoe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),cWe=t=>({header:aWe(t),parts:[]}),uWe={["@"]:"header",["-"]:ar.Deletion,["+"]:ar.Insertion,[" "]:ar.Context,["\\"]:"pragma",undefined:ar.Context};function hWe(t){let e=[],r=hoe(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=hoe()}for(let l=0;l0?"patch":"mode change",b=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:eg(u),toPath:eg(g)}),b=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:UB(l),hash:h})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:UB(c),hash:f})}break;case"patch":case"mode change":b=m||s;break;default:de.assertNever(y);break}b&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:eg(b),oldMode:UB(o),newMode:UB(a)}),b&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:eg(b),hunks:I,beforeHash:h,afterHash:f})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function UB(t){let e=parseInt(t,8)&511;if(e!==AWe&&e!==lWe)throw new Error(`Unexpected file mode string: ${t}`);return e}function HB(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),fWe(hWe(e))}function gWe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case ar.Context:r+=n.length,e+=n.length;break;case ar.Deletion:e+=n.length;break;case ar.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}var YB=315532800;async function tg(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function qB(t,{baseFs:e=new wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await tg(e,B.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await tg(e,B.dirname(n.fromPath),async()=>{await tg(e,B.dirname(n.toPath),async()=>{await tg(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Eoe=Nd;var Md=class extends Be{constructor(){super(...arguments);this.scope=G.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=G.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=qt.getScopeRegistry(this.scope,{configuration:e,type:qt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=qt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=qt.getPublishRegistry((await bu(e,this.context.cwd)).manifest,{configuration:e}):r=qt.getDefaultRegistry({configuration:e}),(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?Q.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Md.paths=[["npm","whoami"]],Md.usage=fe.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var yoe=Md;var dWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[loe,uoe,hoe,poe,doe,Ioe,Coe,Eoe,yoe]},CWe=dWe;var fL={};$e(fL,{default:()=>RWe,patchUtils:()=>aL});var aL={};$e(aL,{applyPatchFile:()=>jB,diffFolders:()=>uL,extractPackageToDisk:()=>cL,extractPatchFlags:()=>Poe,isParentRequired:()=>lL,loadPatchFiles:()=>Ud,makeDescriptor:()=>kWe,makeLocator:()=>AL,parseDescriptor:()=>Kd,parseLocator:()=>Td,parsePatchFile:()=>YB});var Od=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var mWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function eg(t){return B.relative(Ee.root,B.resolve(Ee.root,L.toPortablePath(t)))}function IWe(t){let e=t.trim().match(mWe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var EWe=420,yWe=493,Ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Ar||(Ar={}));var Boe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),BWe=t=>({header:IWe(t),parts:[]}),wWe={["@"]:"header",["-"]:Ar.Deletion,["+"]:Ar.Insertion,[" "]:Ar.Context,["\\"]:"pragma",undefined:Ar.Context};function bWe(t){let e=[],r=Boe(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Boe()}for(let l=0;l0?"patch":"mode change",w=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:eg(u),toPath:eg(g)}),w=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:HB(l),hash:h})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:eg(x),mode:HB(c),hash:f})}break;case"patch":case"mode change":w=m||s;break;default:de.assertNever(y);break}w&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:eg(w),oldMode:HB(o),newMode:HB(a)}),w&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:eg(w),hunks:I,beforeHash:h,afterHash:f})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function HB(t){let e=parseInt(t,8)&511;if(e!==EWe&&e!==yWe)throw new Error(`Unexpected file mode string: ${t}`);return e}function YB(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),DWe(bWe(e))}function QWe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Ar.Context:r+=n.length,e+=n.length;break;case Ar.Deletion:e+=n.length;break;case Ar.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}var GB=315532800;async function tg(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function jB(t,{baseFs:e=new wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!kt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await tg(e,B.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await tg(e,B.dirname(n.fromPath),async()=>{await tg(e,B.dirname(n.toPath),async()=>{await tg(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` `)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(B.dirname(n.path),{chmod:493,utimes:[YB,YB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,YB,YB)}break;case"patch":await tg(e,n.path,async()=>{await pWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(foe(n.newMode)!==foe(o))continue;await tg(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function foe(t){return(t&64)>0}function poe(t){return t.replace(/\s+$/,"")}function dWe(t,e){return poe(t)===poe(e)}async function pWe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let h=Math.max(c,g.header.patched.start+l),f=Math.max(0,h-c),p=Math.max(0,o.length-h-g.header.original.length),m=Math.max(f,p),I=0,y=0,b=null;for(;I<=m;){if(I<=f&&(y=h-I,b=doe(g,o,y),b!==null)){I=-I;break}if(I<=p&&(y=h+I,b=doe(g,o,y),b!==null))break;I+=1}if(b===null)throw new kd(t.indexOf(g),g);a.push(b),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let h of g)switch(h.type){case"splice":{let f=h.index+u;o.splice(f,h.numToDelete,...h.linesToInsert),u+=h.linesToInsert.length-h.numToDelete}break;case"pop":o.pop();break;case"push":o.push(h.line);break;default:de.assertNever(h);break}await r.writeFilePromise(e,o.join(` -`),{mode:n})}function doe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case ar.Context:case ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!dWe(o,s))return null;r+=1}n.type===ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var CWe=/^builtin<([^>]+)>$/;function Coe(t,e){let{source:r,selector:i,params:n}=w.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>L.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?w.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function vd(t){let i=Coe(t.range,w.parseDescriptor),{sourceItem:e}=i,r=vr(i,["sourceItem"]);return V(P({},r),{sourceDescriptor:e})}function Fd(t){let i=Coe(t.reference,w.parseLocator),{sourceItem:e}=i,r=vr(i,["sourceItem"]);return V(P({},r),{sourceLocator:e})}function moe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:w.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return w.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function mWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return w.makeLocator(t,moe({parentLocator:e,sourceItem:r,patchPaths:i},w.stringifyDescriptor))}function nL(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return w.makeLocator(t,moe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},w.stringifyLocator))}function Ioe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(CWe);return s!==null?r(s[1]):B.isAbsolute(i)?t(i):e(i)}function Eoe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function sL(t){return Ioe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Rd(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Eoe(o),l=await Ioe({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(B.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function oL(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new Br,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=B.join(l,"source"),u=B.join(l,"user"),g=B.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:w.stringifyLocator(t),version:i.version})]),M.detachTemp(l),u}async function aL(t,e){let r=L.fromPortablePath(t).replace(/\\/g,"/"),i=L.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await pr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:L.toPortablePath(process.cwd()),env:V(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +`):"";await e.mkdirpPromise(B.dirname(n.path),{chmod:493,utimes:[GB,GB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,GB,GB)}break;case"patch":await tg(e,n.path,async()=>{await SWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(woe(n.newMode)!==woe(o))continue;await tg(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function woe(t){return(t&64)>0}function Qoe(t){return t.replace(/\s+$/,"")}function xWe(t,e){return Qoe(t)===Qoe(e)}async function SWe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let h=Math.max(c,g.header.patched.start+l),f=Math.max(0,h-c),p=Math.max(0,o.length-h-g.header.original.length),m=Math.max(f,p),I=0,y=0,w=null;for(;I<=m;){if(I<=f&&(y=h-I,w=boe(g,o,y),w!==null)){I=-I;break}if(I<=p&&(y=h+I,w=boe(g,o,y),w!==null))break;I+=1}if(w===null)throw new Od(t.indexOf(g),g);a.push(w),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let h of g)switch(h.type){case"splice":{let f=h.index+u;o.splice(f,h.numToDelete,...h.linesToInsert),u+=h.linesToInsert.length-h.numToDelete}break;case"pop":o.pop();break;case"push":o.push(h.line);break;default:de.assertNever(h);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function boe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Ar.Context:case Ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!xWe(o,s))return null;r+=1}n.type===Ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var PWe=/^builtin<([^>]+)>$/;function Doe(t,e){let{source:r,selector:i,params:n}=Q.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>L.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?Q.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Kd(t){let i=Doe(t.range,Q.parseDescriptor),{sourceItem:e}=i,r=Lr(i,["sourceItem"]);return V(k({},r),{sourceDescriptor:e})}function Td(t){let i=Doe(t.reference,Q.parseLocator),{sourceItem:e}=i,r=Lr(i,["sourceItem"]);return V(k({},r),{sourceLocator:e})}function Soe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:Q.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return Q.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:k(k(k({},a),l),o)})}function kWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return Q.makeLocator(t,Soe({parentLocator:e,sourceItem:r,patchPaths:i},Q.stringifyDescriptor))}function AL(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return Q.makeLocator(t,Soe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},Q.stringifyLocator))}function xoe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(PWe);return s!==null?r(s[1]):B.isAbsolute(i)?t(i):e(i)}function Poe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function lL(t){return xoe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Ud(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(Ee.root),prefixPath:B.relative(Ee.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Poe(o),l=await xoe({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(B.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(k({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function cL(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new wr,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=B.join(l,"source"),u=B.join(l,"user"),g=B.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:Q.stringifyLocator(t),version:i.version})]),M.detachTemp(l),u}async function uL(t,e){let r=L.fromPortablePath(t).replace(/\\/g,"/"),i=L.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Nr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:L.toPortablePath(process.cwd()),env:V(k({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. The following error was reported by 'git': -${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function yoe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case ar.Context:r.reportInfo(null,` ${ce.pretty(e,n,"grey")}`);break;case ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ce.pretty(e,n,ce.Type.REMOVED)}`);break;case ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ce.pretty(e,n,ce.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var AL=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Fd(e),a=await Rd(i,o,r),l=await M.mktempPromise(),c=B.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=w.getIdentVendorPath(e),h=await li(),f=new Qr(c,{libzip:h,create:!0,level:r.project.configuration.get("compressionLevel")});await f.mkdirpPromise(g),await de.releaseAfterUseAsync(async()=>{await f.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),f.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new Qr(c,{libzip:h,level:r.project.configuration.get("compressionLevel")}),y=new yt(B.resolve(Ee.root,g),{baseFs:I});try{await qB(HB(p),{baseFs:y,version:s})}catch(b){if(!(b instanceof kd))throw b;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${w.prettyLocator(r.project.configuration,e)}: ${b.message}${F}`,U=v=>{!x||yoe(b.hunk,{configuration:r.project.configuration,report:v})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:U});continue}else throw new Ze(z.PATCH_HUNK_FAILED,N,U)}I.saveAndClose()}return new Qr(c,{libzip:h,level:r.project.configuration.get("compressionLevel")})}};var IWe=2,lL=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=vd(e);return n.every(s=>!sL(s))?e:w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=vd(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=vd(e),a=await Rd(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=wi.makeHash(`${IWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[nL(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Fd(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Ld=class extends Be{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=B.resolve(this.context.cwd,L.toPortablePath(this.patchFolder)),s=B.join(n,"../source"),o=B.join(n,"../.yarn-patch.json");if(!M.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await aL(s,n),l=await M.readJsonPromise(o),c=w.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=B.join(u,w.slugifyLocator(c));await M.mkdirPromise(u,{recursive:!0}),await M.writeFilePromise(g,a);let h=B.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:w.stringifyIdent(c),description:l.version}},reference:`patch:${w.stringifyLocator(c)}#${h}`}),await r.persist()}};Ld.paths=[["patch-commit"]],Ld.usage=fe.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Boe=Ld;var Nd=class extends Be{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String()}async execute(){let e=await Ae.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=w.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:w.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function koe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Ar.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var gL=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Q.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:Q.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Td(e),a=await Ud(i,o,r),l=await M.mktempPromise(),c=B.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=Q.getIdentVendorPath(e),h=await gi(),f=new br(c,{libzip:h,create:!0,level:r.project.configuration.get("compressionLevel")});await f.mkdirpPromise(g),await de.releaseAfterUseAsync(async()=>{await f.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),f.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new br(c,{libzip:h,level:r.project.configuration.get("compressionLevel")}),y=new yt(B.resolve(Ee.root,g),{baseFs:I});try{await jB(YB(p),{baseFs:y,version:s})}catch(w){if(!(w instanceof Od))throw w;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${Q.prettyLocator(r.project.configuration,e)}: ${w.message}${F}`,K=v=>{!x||koe(w.hunk,{configuration:r.project.configuration,report:v})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:K});continue}else throw new Ze(z.PATCH_HUNK_FAILED,N,K)}I.saveAndClose()}return new br(c,{libzip:h,level:r.project.configuration.get("compressionLevel")})}};var vWe=2,hL=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Kd(e);return n.every(s=>!lL(s))?e:Q.bindDescriptor(e,{locator:Q.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Kd(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Kd(e),a=await Ud(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Di.makeHash(`${vWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[AL(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Td(e),n=await r.resolver.resolve(i,r);return k(k({},n),e)}};var Hd=class extends Be{constructor(){super(...arguments);this.save=G.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let n=B.resolve(this.context.cwd,L.toPortablePath(this.patchFolder)),s=B.join(n,"../source"),o=B.join(n,"../.yarn-patch.json");if(!M.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await uL(s,n),l=await M.readJsonPromise(o),c=Q.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=B.join(u,Q.slugifyLocator(c));await M.mkdirPromise(u,{recursive:!0}),await M.writeFilePromise(g,a);let h=B.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:Q.stringifyIdent(c),description:l.version}},reference:`patch:${Q.stringifyLocator(c)}#${h}`}),await r.persist()}};Hd.paths=[["patch-commit"]],Hd.usage=fe.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var voe=Hd;var Yd=class extends Be{constructor(){super(...arguments);this.json=G.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=G.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await gt.find(e);if(!i)throw new Xe(r.cwd,this.context.cwd);await r.restoreInstallState();let s=Q.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:Q.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): ${o.map(a=>` -- ${w.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await De.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await oL(s,{cache:n,project:r});o.reportJson({locator:w.stringifyLocator(s),path:L.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${w.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ce.pretty(e,L.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ce.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${L.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Nd.paths=[["patch"]],Nd.usage=fe.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var woe=Nd;var EWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Boe,woe],fetchers:[AL],resolvers:[lL]},yWe=EWe;var jy=()=>({modules:new Map([["@yarnpkg/cli",sp],["@yarnpkg/core",Mf],["@yarnpkg/fslib",Pg],["@yarnpkg/libzip",Mh],["@yarnpkg/parsers",Gh],["@yarnpkg/shell",Jh],["clipanion",A9(Hg)],["semver",BWe],["typanion",Hl],["yup",wWe],["@yarnpkg/plugin-essentials",kv],["@yarnpkg/plugin-compat",Lv],["@yarnpkg/plugin-dlx",Nv],["@yarnpkg/plugin-file",Gv],["@yarnpkg/plugin-git",tF],["@yarnpkg/plugin-github",iF],["@yarnpkg/plugin-http",oF],["@yarnpkg/plugin-init",cF],["@yarnpkg/plugin-link",pF],["@yarnpkg/plugin-node-modules",zF],["@yarnpkg/plugin-npm",ZR],["@yarnpkg/plugin-npm-cli",rL],["@yarnpkg/plugin-pack",WR],["@yarnpkg/plugin-patch",cL],["@yarnpkg/plugin-pnp",MF]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});fy({binaryVersion:Yi||"",pluginConfiguration:jy()});})(); +- ${Q.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await cL(s,{cache:n,project:r});o.reportJson({locator:Q.stringifyLocator(s),path:L.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${Q.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,L.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${L.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Yd.paths=[["patch"]],Yd.usage=fe.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var Foe=Yd;var FWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[voe,Foe],fetchers:[gL],resolvers:[hL]},RWe=FWe;var Jy=()=>({modules:new Map([["@yarnpkg/cli",gp],["@yarnpkg/core",Yf],["@yarnpkg/fslib",Lg],["@yarnpkg/libzip",Yh],["@yarnpkg/parsers",Xh],["@yarnpkg/shell",_h],["clipanion",fV(Zg)],["semver",LWe],["typanion",Hl],["yup",NWe],["@yarnpkg/plugin-essentials",Lv],["@yarnpkg/plugin-compat",Kv],["@yarnpkg/plugin-dlx",Tv],["@yarnpkg/plugin-file",zv],["@yarnpkg/plugin-git",sF],["@yarnpkg/plugin-github",aF],["@yarnpkg/plugin-http",cF],["@yarnpkg/plugin-init",fF],["@yarnpkg/plugin-link",IF],["@yarnpkg/plugin-node-modules",_F],["@yarnpkg/plugin-npm",tL],["@yarnpkg/plugin-npm-cli",oL],["@yarnpkg/plugin-pack",ZR],["@yarnpkg/plugin-patch",fL],["@yarnpkg/plugin-pnp",UF]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});dy({binaryVersion:yr||"",pluginConfiguration:Jy()});})(); /*! * buildToken * Builds OAuth token prefix (helper function) diff --git a/.yarnrc.yml b/.yarnrc.yml index 638fa3f34..0ff06e2b6 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -7,4 +7,6 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs spec: "@yarnpkg/plugin-typescript" +progressBarStyle: rats + yarnPath: .yarn/releases/yarn-sources.cjs From 7fb6f55ff01bc5cc9688becb3ae9aa1a2417be41 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 17:07:11 +0000 Subject: [PATCH 177/300] feat(BlogMenu): split blog page menu into it's own component --- src/components/Blog/BlogMenu.js | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/components/Blog/BlogMenu.js diff --git a/src/components/Blog/BlogMenu.js b/src/components/Blog/BlogMenu.js new file mode 100644 index 000000000..796c4b70b --- /dev/null +++ b/src/components/Blog/BlogMenu.js @@ -0,0 +1,49 @@ +import Link from 'next/link' +import PropTypes from 'prop-types' + +import makeBlogRoute from '~/util/router/makeBlogRoute' + +function BlogMenu (props) { + const { + author, + category, + page, + totalPages, + } = props + + return ( + +
      + { + (page > 1) && ( + + {'Previous Page'} + + ) + } +
      + +
      + { + (page < totalPages) && ( + + {'Next Page'} + + ) + } +
      +
      + ) +} +BlogMenu.propTypes = { + author: PropTypes.string, + category: PropTypes.string, + page: PropTypes.number, + totalPages: PropTypes.number, +} + + + + +export default BlogMenu From bb24e7537acd6a5fb5757307c08d3a9fc0831379 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 17:44:43 +0000 Subject: [PATCH 178/300] feat(makeBlogRoute-util): only add page parameter if page > 1 --- src/util/router/makeBlogRoute.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/router/makeBlogRoute.js b/src/util/router/makeBlogRoute.js index 4846f9f7b..3635fa334 100644 --- a/src/util/router/makeBlogRoute.js +++ b/src/util/router/makeBlogRoute.js @@ -23,7 +23,7 @@ export default function makeBlogRoute (params) { route += `/category/${category}` } - if (typeof page === 'number') { + if (typeof page === 'number' && page > 1) { route += `/page/${page}` } From 997ff4d457ee12b9424e10292dc6d4a61e1f616e Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 17:46:28 +0000 Subject: [PATCH 179/300] refactor(blog-page): rewrite to function component --- src/pages/blog/index.js | 217 +++++++++------------------------------- 1 file changed, 47 insertions(+), 170 deletions(-) diff --git a/src/pages/blog/index.js b/src/pages/blog/index.js index 37716f471..2be45db73 100644 --- a/src/pages/blog/index.js +++ b/src/pages/blog/index.js @@ -1,13 +1,13 @@ -import Link from 'next/link' -import React from 'react' +import { useEffect, useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' import ArticleCard from '~/components/Blog/ArticleCard' -import { connect } from '~/store' +import BlogMenu from '~/components/Blog/BlogMenu' +import { getBlogs } from '~/store/actions/blogs' import { selectBlogs, selectBlogStatistics, } from '~/store/selectors' -import makeBlogRoute from '~/util/router/makeBlogRoute' import safeParseInt from '~/util/safeParseInt' @@ -18,176 +18,53 @@ import safeParseInt from '~/util/safeParseInt' const BASE_TEN_RADIX = 10 const DEFAULT_PAGE = 1 - - - - -@connect -class Blogs extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = { - retrieving: false, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _renderMenu () { - const { - author, - category, - page, - totalPages, - } = this.props - - return ( - -
      - { - (page > 1) && ( - - {'Previous Page'} - - ) - } -
      - -
      - { - (page < totalPages) && ( - - {'Next Page'} - - ) - } -
      -
      - ) - } - - async _getBlogs (options = {}) { - let { - author, - category, - } = this.props - - const { - page, - getBlogs, - } = this.props - - const wpOptions = {} - - author = typeof options.author === 'undefined' ? author : options.author - category = typeof options.category === 'undefined' ? category : options.category - - if (author) { - wpOptions.author = author - } - - if (category) { - wpOptions.categories = category +function Blogs (props) { + const { author, category } = props.query + const page = safeParseInt(props.query.page ?? DEFAULT_PAGE, BASE_TEN_RADIX, DEFAULT_PAGE) + + const dispatch = useDispatch() + const [retrieving, setRetrieving] = useState(false) + const { totalPages } = useSelector(selectBlogStatistics) + const blogs = useSelector(selectBlogs) + + useEffect(() => { + const updateList = async () => { + setRetrieving(true) + await dispatch(getBlogs({ + author, + categories: category, + page, + })) + setRetrieving(false) } - wpOptions.page = options.page || page - - this.setState({ - retrieving: true, - }) - - await getBlogs(wpOptions) - - this.setState({ - retrieving: false, - }) - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - componentDidUpdate (prevProps) { - if ( - prevProps.page !== this.props.page - || prevProps.category !== this.props.category - || prevProps.author !== this.props.author) { - this._getBlogs() - } - } - - componentDidMount () { - this._getBlogs() - } - - static getInitialProps ({ query }) { - const props = {} - - props.page = safeParseInt(query.page || DEFAULT_PAGE, BASE_TEN_RADIX, DEFAULT_PAGE) - - if (query.category) { - props.category = query.category - } - - if (query.author) { - props.author = query.author - } - - return props - } - - static getPageMeta () { - return { - title: 'Blog', - pageKey: 'blog-list', - } - } - - render () { - const { blogs } = this.props - const { - retrieving, - } = this.state - - return ( -
      -
        - { - !retrieving && Boolean(blogs.length) && blogs.map((blog) => { - return ( -
      1. - -
      2. - ) - }) - } -
      - - {this._renderMenu()} -
      - ) - } + updateList() + }, [author, category, dispatch, page]) + + return ( +
      +
        + { + Boolean(!retrieving && blogs.length) && blogs.map((blog) => { + return ( +
      1. + +
      2. + ) + }) + } +
      + + +
      + ) +} - static mapStateToProps = (state) => { - return { - blogs: selectBlogs(state), - ...selectBlogStatistics(state), - } +Blogs.getPageMeta = () => { + return { + title: 'Blog', + pageKey: 'blog-list', } - - static mapDispatchToProps = ['getBlogs'] } From 239cd4a769447f7d2ac1051af95548c3472c367d Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 17:48:13 +0000 Subject: [PATCH 180/300] style(blog-page): indentation --- src/pages/blog/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pages/blog/index.js b/src/pages/blog/index.js index 2be45db73..1747380c0 100644 --- a/src/pages/blog/index.js +++ b/src/pages/blog/index.js @@ -45,14 +45,14 @@ function Blogs (props) {
        { - Boolean(!retrieving && blogs.length) && blogs.map((blog) => { - return ( -
      1. - -
      2. - ) - }) - } + Boolean(!retrieving && blogs.length) && blogs.map((blog) => { + return ( +
      3. + +
      4. + ) + }) + }
      From 4bb188ed775da7a99e65907bfab050df6ded15ef Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 18:26:34 +0000 Subject: [PATCH 181/300] refactor: rename pageKey to key --- src/pages/[slug].js | 2 +- src/pages/_app.js | 2 +- src/pages/blog/index.js | 2 +- src/pages/dispatch.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/[slug].js b/src/pages/[slug].js index 807d3cb36..76b12e7fd 100644 --- a/src/pages/[slug].js +++ b/src/pages/[slug].js @@ -36,7 +36,7 @@ class WordpressProxy extends React.Component { return { className: 'wordpress-page', title: page.title.rendered, - pageKey: query.slug, + key: query.slug, } } diff --git a/src/pages/_app.js b/src/pages/_app.js index 73b8e15b8..bc2437be8 100644 --- a/src/pages/_app.js +++ b/src/pages/_app.js @@ -165,7 +165,7 @@ class FuelRatsApp extends App { Page, pageProps, pageMeta, - key: pageMeta.pageKey ?? router.asPath, + key: pageMeta.key ?? router.asPath, } } } diff --git a/src/pages/blog/index.js b/src/pages/blog/index.js index 1747380c0..be9169dad 100644 --- a/src/pages/blog/index.js +++ b/src/pages/blog/index.js @@ -63,7 +63,7 @@ function Blogs (props) { Blogs.getPageMeta = () => { return { title: 'Blog', - pageKey: 'blog-list', + key: 'blog-list', } } diff --git a/src/pages/dispatch.js b/src/pages/dispatch.js index c81532fb6..c50badce7 100644 --- a/src/pages/dispatch.js +++ b/src/pages/dispatch.js @@ -49,7 +49,7 @@ DispatchBoard.getPageMeta = () => { forceDrawer: true, className: styles.dispatchBoard, title: 'Dispatch Board', - pageKey: 'dispatch', + key: 'dispatch', } } From e865c45bc70881cfc9341b0f458929525a4c25f5 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 18:28:43 +0000 Subject: [PATCH 182/300] refactor(home-page): rewrite as function component --- src/pages/index.js | 83 ++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 47 deletions(-) diff --git a/src/pages/index.js b/src/pages/index.js index 33ec06515..eb84ba972 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,9 +1,10 @@ import Link from 'next/link' import Router from 'next/router' -import React from 'react' +import { useEffect } from 'react' +import { useDispatch } from 'react-redux' import Carousel from '~/components/Carousel' -import { connect } from '~/store' +import { setFlag } from '~/store/actions/flags' import makeRoute from '~/util/router/makeRoute' @@ -44,57 +45,45 @@ const CarouselSlides = { }, } -@connect -class Index extends React.Component { - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static getPageMeta () { - return { noHeader: true, title: 'Home' } - } - - componentDidMount () { - const { - authenticate, - ...nextQuery - } = this.props.query +function FuelRatsHome (props) { + const { authenticate, ...restQuery } = props.query + const dispatch = useDispatch() - if (this.props.query.authenticate) { - this.props.setFlag('showLoginDialog', true) - Router.replace(makeRoute('/', nextQuery), undefined, { shallow: true }) + useEffect(() => { + if (authenticate) { + dispatch(setFlag('showLoginDialog', true)) + Router.replace(makeRoute('/', restQuery), undefined, { shallow: true }) } - } + // eslint-disable-next-line react-hooks/exhaustive-deps -- only run on authenticate change, we only care about the state of others when this value changes anyway. + }, [authenticate]) + + return ( +
      + + +
      +

      {'We Have Fuel. '}{"You\u00a0Don't."}

      +

      {'Any Questions?'}

      +
      + + +
      + ) +} - render () { - return ( -
      - - -
      -

      {'We Have Fuel. '}{"You\u00a0Don't."}

      -

      {'Any Questions?'}

      -
      - - -
      - ) +FuelRatsHome.getPageMeta = () => { + return { + noHeader: true, + title: 'Home', + key: 'home', } - - static mapDispatchToProps = ['setFlag'] } - - -export default Index - - -/* - - */ +export default FuelRatsHome From 2fadfe5d1e5b5cb60be302c0733a29f7ee8f4f82 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 19:11:41 +0000 Subject: [PATCH 183/300] refactor(profile-page): rename pageKey to key --- src/pages/profile/[tab].js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/profile/[tab].js b/src/pages/profile/[tab].js index c8c0983bf..1f3a0758f 100644 --- a/src/pages/profile/[tab].js +++ b/src/pages/profile/[tab].js @@ -50,7 +50,7 @@ class Profile extends React.Component { return { title: 'Profile', displayTitle: this.tabs[ctx.query.tab].pageTitle, - pageKey: 'profile', + key: 'profile', } } From 7b716b1dc82746831631093ac87f65e3a3f7f000 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Mon, 19 Jul 2021 19:13:07 +0000 Subject: [PATCH 184/300] refactor(ProfileHeader): rewrite as functional component --- src/components/ProfileHeader/ProfileHeader.js | 198 +++++++----------- 1 file changed, 72 insertions(+), 126 deletions(-) diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index a5038900e..f994266f4 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -1,6 +1,7 @@ -import React from 'react' +import { useCallback, useState } from 'react' +import { useSelector } from 'react-redux' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectGroupsByUserId, selectUserById, @@ -19,138 +20,83 @@ import UnverifiedUserBanner from './UnverifiedUserBanner' -@connect -class ProfileHeader extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ +function ProfileHeader () { + const [showChangePassword, setShowChangePassword] = useState(false) + const [showDisableProfile, setShowDisableProfile] = useState(false) - state = { - showChangePassword: false, - showDisableProfile: false, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _renderUserGroups = () => { - return ( - this.props.groups && ( - this.props.groups.map((group) => { - return ( -
    • - {group.attributes.name} -
    • - ) - }))) - } - - _handleToggleChangePassword = () => { - this.setState((state) => { - return { showChangePassword: !state.showChangePassword } + const handleToggleChangePassword = useCallback(() => { + setShowChangePassword((state) => { + return !state }) - } + }, []) - _handleToggleDisableProfile = () => { - this.setState((state) => { - return { showDisableProfile: !state.showDisableProfile } + const handleToggleDisableProfile = useCallback(() => { + setShowDisableProfile((state) => { + return !state }) - } - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - showChangePassword, - showDisableProfile, - } = this.state - const { - displayRat, - userIsVerified, - } = this.props - - const attributes = this.props.user.attributes || {} - - const { - createdAt, - email, - } = attributes - - return ( - <> -
      - { - !userIsVerified && ( - - ) - } - -
      -
      - {displayRat.attributes.name} -
      -
      - {'E-Mail: '} - {email} -
      -
      - {'Date joined: '} - {formatAsEliteDateTime(createdAt)} -
      + }, []) + + const groups = useSelector(withCurrentUserId(selectGroupsByUserId)) + const displayRat = useSelector(withCurrentUserId(selectDisplayRatByUserId)) + const userIsVerified = useSelectorWithProps({ scope: 'users.verified' }, selectCurrentUserHasScope) + const { createdAt, email } = useSelector(withCurrentUserId(selectUserById))?.attributes ?? {} + + return ( + <> +
      + { + !userIsVerified && ( + + ) + } + +
      +
      + {displayRat.attributes.name}
      -
      -
        - {this._renderUserGroups()} -
      +
      + {'E-Mail: '} + {email}
      -
      - - +
      + {'Date joined: '} + {formatAsEliteDateTime(createdAt)}
      - - - - ) - } - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapStateToProps = (state) => { - return { - groups: withCurrentUserId(selectGroupsByUserId)(state), - user: withCurrentUserId(selectUserById)(state), - displayRat: withCurrentUserId(selectDisplayRatByUserId)(state), - userIsVerified: selectCurrentUserHasScope(state, { scope: 'users.verified' }), - } - } +
      +
        + { + groups?.map((group) => { + return ( +
      • + {group.attributes.name} +
      • + ) + }) + } +
      +
      +
      + + +
      +
      + + + + ) } From 6cc34a772ce0bcb713b7c066dc7a9fa4edf96002 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Tue, 20 Jul 2021 19:18:03 +0000 Subject: [PATCH 185/300] chore: reassign debugging ports to prevent conflicts --- .vscode/launch.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8258179a2..50fc7617e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "name": "Next: Attach Server", "type": "node", "request": "attach", - "port": 9229, + "port": 15268, "presentation": { "hidden": false, "group": "", @@ -16,10 +16,10 @@ } }, { - "name": "Next: Launch Edge", + "name": "Edge: Attach", "type": "pwa-msedge", - "request": "launch", - "port": 9222, + "request": "attach", + "port": 9223, "url": "${config:develop.attachurl}", // Custom vscode config property. does not actually exist, but configurable via user config. "webRoot": "${workspaceFolder}", "presentation": { @@ -29,9 +29,9 @@ } }, { - "name": "Next: Launch Chrome", + "name": "Chrome: Attach", "type": "pwa-chrome", - "request": "launch", + "request": "attach", "port": 9222, "url": "${config:develop.attachurl}", // Custom vscode config property. does not actually exist, but configurable via user config. "webRoot": "${workspaceFolder}", @@ -44,8 +44,8 @@ ], "compounds": [ { - "name": "Next: Attach & Launch Edge", - "configurations": ["Next: Attach Server", "Next: Launch Edge"], + "name": "Next: Attach Edge", + "configurations": ["Next: Attach Server", "Next: Attach Edge"], "presentation": { "hidden": false, "group": "next", @@ -54,7 +54,7 @@ }, { "name": "Next: Attach & Launch Chrome", - "configurations": ["Next: Attach Server", "Next: Launch Edge"], + "configurations": ["Next: Attach Server", "Next: Attach Edge"], "presentation": { "hidden": false, "group": "next", diff --git a/package.json b/package.json index 47cd96976..b978db9c9 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "add-contributor": "all-contributors add", "build": "next build", "start": "NODE_OPTIONS='-r dotenv/config' next start", - "dev:start": "DOTENV_CONFIG_PATH=.env.local node --inspect --trace-warnings -r dotenv/config ./node_modules/.bin/next dev", + "dev:start": "DOTENV_CONFIG_PATH=.env.local node --inspect=15268 --trace-warnings -r dotenv/config ./node_modules/.bin/next dev", "dev": "yarn install && yarn dev:start", "utoc": "doctoc $(grep --include=\\*.md --exclude-dir=node_modules -Rwl . -e 'START doctoc')", "lint:js": "eslint .", From 8521b2d77011013763e0e1bde52303a1e57ed086 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 06:10:29 +0000 Subject: [PATCH 186/300] fix(ProfileHeader): fix crash when no displayRat exists This is a total edge case since all users should have at least 1 rat, but JUST IN CASE --- src/components/ProfileHeader/ProfileHeader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index f994266f4..a9edd6e63 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -52,7 +52,7 @@ function ProfileHeader () {
      - {displayRat.attributes.name} + {displayRat?.attributes?.name ?? email.split('@')[0]}
      {'E-Mail: '} From 66b86fc615da7b4ffbe589d6abfea734206af2a8 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 08:23:02 +0000 Subject: [PATCH 187/300] =?UTF-8?q?=F0=9F=94=A7=20(vscode):=20finalize=20l?= =?UTF-8?q?aunch=20config=20names=20(finally)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 50fc7617e..4a83342de 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,7 @@ "version": "0.2.0", "configurations": [ { - "name": "Next: Attach Server", + "name": "Attach: Next Server", "type": "node", "request": "attach", "port": 15268, @@ -16,7 +16,7 @@ } }, { - "name": "Edge: Attach", + "name": "Attach: Edge", "type": "pwa-msedge", "request": "attach", "port": 9223, @@ -29,7 +29,7 @@ } }, { - "name": "Chrome: Attach", + "name": "Attach: Chrome", "type": "pwa-chrome", "request": "attach", "port": 9222, @@ -44,8 +44,8 @@ ], "compounds": [ { - "name": "Next: Attach Edge", - "configurations": ["Next: Attach Server", "Next: Attach Edge"], + "name": "Attach: Next & Edge", + "configurations": ["Attach: Next Server", "Attach: Edge"], "presentation": { "hidden": false, "group": "next", @@ -53,8 +53,8 @@ } }, { - "name": "Next: Attach & Launch Chrome", - "configurations": ["Next: Attach Server", "Next: Attach Edge"], + "name": "Attach: Next & Chrome", + "configurations": ["Attach: Next Server", "Attach: Chrome"], "presentation": { "hidden": false, "group": "next", From 246e194879b2c265be75510219a9f408529b7bee Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 12:30:56 +0000 Subject: [PATCH 188/300] add github issue templates --- .github/ISSUE_TEMPLATE/bug_report.yml | 62 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++++ .github/ISSUE_TEMPLATE/feature_request.yml | 41 ++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..fb641667b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,62 @@ +name: Bug Report +description: Something might be very wrong here... +labels: + - 'Type | Bug :bug:' + - 'Meta | Needs Attention :rotating_light:' +body: +- type: markdown + attributes: + value: "# Bug Report" +- type: textarea + id: description + attributes: + label: Describe the bug + description: A brief description of what the bug is. + placeholder: A little more than "x doesn't work" is preferred. + validations: + required: true +- type: textarea + id: expected + attributes: + label: Expected behavior + description: A brief description of what you expected to happen. + placeholder: | + I expect the darn thing to always work! + How much are we paying you, anyways!? + validations: + required: true +- type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: We need, to the best of your ability, the steps required to reproduce this issue. We may not be able to confirm this bug, otherwise. + placeholder: | + 1. + 2. + 3. + validations: + required: true +- type: textarea + id: misc + attributes: + label: Additional Information (optional) + description: Any other context about the problem that may be helpful. + placeholder: I think my limpets are stuck in the cargo hatch. + validations: + required: false +- type: input + id: name + attributes: + label: FuelRats IRC Nickname (optional) + description: We may need to work with you directly to resolve this issue. Providing your IRC nick will make it easier for us to contact you. + placeholder: Surly_Badger + validations: + required: false +- type: checkboxes + id: checks + attributes: + label: I can help! + description: Please check the box below if you're able to submit a fix. + options: + - label: I am willing to fix to this issue, and submit it as a PR. + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..56edca7c2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Account Support + about: Account related questions should be submitted through our support desk. + url: https://jira.fuelrats.com/servicedesk/customer/portal/2 + - name: Provide Feedback + about: "Don't like something? _Really_ love something else? Let us know!" + url: https://github.com/FuelRats/fuelrats.com/discussions/new?category=feedback + - name: Hang out with us! + about: Join us on IRC and hang out with the rats. + url: https://kiwi.fuelrats.com diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..925faaa15 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,41 @@ +name: Feature Request +description: How can we improve? +labels: + - 'Type | Feature Request :sparkles:' + - 'Meta | Needs Attention :rotating_light:' +body: +- type: markdown + attributes: + value: "# Feature Request" +- type: textarea + id: desc + attributes: + label: Description + description: Describe the feature you want. Be as detailed as you like! + placeholder: Do more things! + validations: + required: true +- type: textarea + id: misc + attributes: + label: Additional Information (optional) + description: Any other context about the feature request that may be helpful. + placeholder: Will there be in-flight refreshments? + validations: + required: false +- type: input + id: name + attributes: + label: FuelRats IRC Nickname (optional) + description: We may wish to contact you directly to ask further questions about your feature request. Providing your IRC name will make it easier for us to contact you. + placeholder: Surly_Badger + validations: + required: false +- type: checkboxes + id: checks + attributes: + label: I can help! + description: Please check the box below if you're able implement this feature. + options: + - label: I am willing to implement this feature, and submit it as a PR. + required: false From 59e9dff6f03fec070fab1f55c5ad4737e5cc80d4 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 12:34:33 +0000 Subject: [PATCH 189/300] add pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..be017b4d8 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,51 @@ + + + + + +Closes #[issue] + +## Changelog + + + +### ✨ Additions +* + +### ⚡ Changes +* + +### 🔥 Removals +* + +### 🐛 Fixes +* + +### ⚙ Tasks +* + +## Additional Information + + + +## Contributor's Checklist + + +- [ ] This PR was created to resolve an existing issue or set of issues. +- [ ] This PR satisfies any and all acceptance criteria laid out by issue(s) it resolves. +- [ ] I have discussed creating this PR with the maintainers in the issue(s) beforehand. +- [ ] I have thoroughly tested the changes this PR introduces in a local development enviornment. +- [ ] I have linted the entire codebase using `yarn lint` and confirmed there are no errors or warnings. + +## Maintainer's Checklist + + + +- [ ] User-facing changes this PR introduces has been or will be documented in `CHANGELOG.md`. +- [ ] This PR has been linted and tested locally as a part of the review process. +- [ ] All issues this PR resolves have been properly linked before merging. + + + + + From 78e2897d2123c0383006350ba47a2a3d3e356dbc Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 13:37:13 +0000 Subject: [PATCH 190/300] =?UTF-8?q?=F0=9F=94=A8=20update=20pr=20template?= =?UTF-8?q?=20to=20include=20commit=20convention=20checklist=20item?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index be017b4d8..5e3426e16 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -36,6 +36,7 @@ Closes #[issue] - [ ] I have discussed creating this PR with the maintainers in the issue(s) beforehand. - [ ] I have thoroughly tested the changes this PR introduces in a local development enviornment. - [ ] I have linted the entire codebase using `yarn lint` and confirmed there are no errors or warnings. +- [ ] I have followed the commit conventions laid out by [`CONTRIBUTING.md`](https://github.com/FuelRats/fuelrats.com/blob/develop/CONTRIBUTING.md#commit-conventions). ## Maintainer's Checklist From 0474e7bada7d140c4fa829d87cf56ac7e19716e7 Mon Sep 17 00:00:00 2001 From: Cameron Welter Date: Thu, 22 Jul 2021 13:52:19 +0000 Subject: [PATCH 191/300] =?UTF-8?q?=F0=9F=93=9D=20(CONTRIBUTING.md):=20rew?= =?UTF-8?q?rite=20most=20of=20the=20contributing=20guide=20so=20it's=20mor?= =?UTF-8?q?e=20focused=20on=20our=20new=20home=20for=20issues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 211 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 142 insertions(+), 69 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4291fce4e..955f64add 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,27 +1,28 @@ # Contributing -You want to contribute to the project? Awesome! +You want to contribute to fuelrats.com? Awesome! -## Things to know +## Some things to know By contributing to this repository, you are expected to know and follow the rules of general conduct outlined in our [Terms of Service][fuelrats-tos]. While not all rules are applicable in the context of github, we still expect the same level of professional behavior detailed by our ToS. **Working on your first Pull Request?** [How to Contribute to an Open Source Project on GitHub][egghead] -## How do +## How do I... -* Project setup? - [We've got you covered!](#project-setup) +* Request a feature? + [Submit it!][fr-issues-new] + +* Report a bug? + [Let us know!][fr-issues-new] -* Found a bug? - [Let us know!][bugs] +* Setup a development enviornment? + [We've got you covered!](#project-setup) -* Patched a bug? - [Make a PR!][new-pr] +* Submit a PR? + [Learn more here!](#code-contributions) -* Adding a new feature? - Please, *please*, ***please*** get some feedback from the tech rats and/or the ops team before you write any code. Don't waste your time building a feature that's already been struck down. ## Project setup @@ -34,11 +35,11 @@ By contributing to this repository, you are expected to know and follow the rule 1. Fork and clone the repo * Hit "Fork" in the upper left corner of the github page. * Run: `git clone https://github.com//fuelrats.com` -1. Setup environment variables (detailed in ["Dev environment setup"](#dev-environment-setup)) +1. Setup environment variables (detailed in ["Dev environment configuration"](#dev-environment-configuration)) 1. In the project directory, run `yarn install` to install dependencies. 1. Run `yarn dev` to start the dev server. -> Use of `npm` as a package manager is **NOT** supported by this repository. +> Warning: Use of `npm` as a package manager is **NOT** supported. > Tip: Keep your `develop` branch pointing at the original repository and make > pull requests from branches on your fork. To do this, run: @@ -56,106 +57,178 @@ By contributing to this repository, you are expected to know and follow the rule > branch. Whenever you want to update your version of `develop`, do a regular > `git pull`. -### Dev environment setup +### Dev environment configuration -You'll need to set a few environment variables to get the website running properly. `Next.js` loads environment variables automaitcally for us from a file called `.env.local`. Follow these steps to set that file up: +You'll need to set a few environment variables to get the website running properly. In development, environment variables are automatically loaded through the `.env.local` file. Follow these steps to setup this file: -1. Duplicate the `.env.local.template` enviornment file located in the root directory. -1. Rename it to `.env.local`. +1. Duplicate the `.env.local.template` file located in the root directory, and rename it to `.env.local`. 1. Replace the following variables with the values provided to you by a project maintainer. Don't have any values to set? Contact the TechRats over IRC! - * FRDC_API_KEY - * FRDC_API_SECRET - * FRDC_STRIPE_API_PK - * FRDC_STRIPE_API_SK -1. Optionally, you can also set `REACT_EDITOR` to the editor of your choice so the website's error overlay can link you directly to erroring code. By default this is set to `code` for VSCode. + * FR_API_KEY + * FR_API_SECRET + * FR_STRIPE_API_PK + * FR_STRIPE_API_SK +1. Optionally, you may also set `REACT_EDITOR` to the editor of your choice so the website's error overlay can link you directly to code. By default this is set to `code` for VSCode. -## Being added as a contributor -When you create your first PR we will add you as a contributor as per [All Contributors][all-contributors] convention. -If you have made a bug report, you will be added along with the PR that fixes the bug. (Assuming you have a GitHub account!) +## Code Contributions -If you do not wish to be added, please let us know. +Please, *please*, ***please*** get some feedback from the TechRats and/or the ops team before you write any code. Don't waste your time building a feature that's already been struck down. Search our existing [issues][fr-issues] for a related issue, or [create a new one][fr-issues-new] if none exists. +Before beginning work on your first contribution, you should read through this document to make the process as straightforward as possible. -## Contributing as an Organization member -Below are steps which **MUST** be followed by all Fuel Rats org members. External collaborators only have to follow the above guidelines, but encouraged to adopt these same practices for consistency. +### Development flow -### Steps for development +Once you have an issue to work on, follow these steps to get you off the ground. -1. Branch from `develop` using the formatting rules below. -1. Do the work required to satisfy the Ticket or objective. If work unrelated to the objective needs to be done, make a separate branch. -1. Document the changes introduced from the previous release in `CHANGELOG.md`. +1. If this is your first contribution, follow ["Project Setup"](#project-setup) above. +1. Create a new working branch off of `develop` on your own fork. +1. Do the work required to satisfy the issue. If work unrelated to the objective needs to be done, discuss it in the issue before proceeding. +1. Commit your changes following our [Commit Conventions](#commit-conventions). +1. Before creating your PR, ensure you have followed the [ PR Checklist](#submitting-a-pr) below. 1. Submit PR to merge back into `develop`. - * Any change which would affect current development should be documented in the description. - * PRs for a ticket should be tagged in the title with the ticket. IE: `[WEB-##] Fix bug` - * Assign the PR to yourself. (If you cannot, leave it for someone who can) - * The PR should be labeled with the label most fitting to the type of work. If the PR is a bugfix which must be merged to fix a major problem, it should be labeled `Urgent`. - * When the PR is ready to be merged, A review should be requested from the `FuelRats/web` team. -1. Once the PR is approved, it is the responsibility of the **assignee** to merge the changes to the branch. -1. After the build has been deployed, test the changes on the [staging preview website][testsite]. -1. Once the change is confirmed working, delete the working branch. If further changes need to be made, change them **on the same branch** and submit a new PR. + * When ready, A review should be requested from the `FuelRats/web` team. +1. After the PR has been merged and deployed, double check your work on the [staging preview website][testsite]. +### Submitting a PR +So you've got a working branch all ready to go? great! Before submitting, make sure you've followed this checklist. +- This PR was created to resolve an existing issue or set of issues. +- This PR satisfies any and all acceptance criteria laid out by issue(s) it resolves. +- I have discussed creating this PR with the maintainers in the issue(s) beforehand. +- I have thoroughly tested the changes this PR introduces in a local development enviornment. +- I have linted the entire codebase using `yarn lint` and confirmed there are no errors or warnings. +- I have followed the commit conventions laid out by the [Commit Conventions](#commit-conventions) section below. -### Branch naming conventions -Work branches on the **main repo** are expected to follow this branch format: +### Being added as a contributor -``` -type/WEB-###/objective -``` -* **type** - The type of work being done. See below for types. -* **WEB-###** - Used when the working branch was created to satisfy a ticket on [JIRA][jira]. This should only be included if there is an associated ticket. -* **objective** - a simple and breif descriptor of the work being done. words should be hyphen-delimited. e.g. `fix-paperwork`, `redesign-profiles`, `add-avatars` +When you create your first pull request we will add you as a contributor as per [All Contributors][all-contributors] convention. +If you have created an issue but not a PR, you will be added along with the PR that closes your issue. +If you do not wish to be added to the contributors list, Please specify in the pull request or GitHub issue. +The pull request template contains a section specifically for this. -### Commit conventions -We use an interpretation of the angular commit conventions in this project. Generally squeaking, all commits should follow this pattern: +## Commit conventions + +Commits should be as small as possible, with exceptions for large sweeping changes required by lint rule changes, package updates, etc. + +Please follow the gitmoji commit format when submitting code. + ``` -type(component): commit message +<😎> [(scope):] + +[detailed message] ``` -* **type** - The type of work done in the commit. See below for types. -* **component** - Should follow these rules: - * If the file is a react component (in the Components directory), no suffix is needed. Just use the file name. - * If the file is a helper file (in the helpers directory), just simply using `helpers` as the component will suffice. - * If the file is documentation, no suffix is needed, however docs should **ALWAYS** have a commit type of `docs`. - * All other files should generally follow the format of `filename-<best-describing-parentdir>` IE: `rescue-actions`, `index-page`, or `badge-scss`. - * Remain as consistent in naming as possible. Use git history as precedence for the component name given to a file. -* **commit message** - should quickly summarize changes made. If there are multiple changes, multiline commit messages are allowed to fully summarize changes made. +* `<😎>` - gitmoji icon that best represents this change. [See below for more info](#gitmoji). +* `[(scope):]` - Optional, but helpful. When used the scope should follow [these rules](#commit-scopes). + * Remain as consistent in naming as possible. Use git history as precedence for the scope given to a file. + * If the commit makes changes to two or more **completely unrelated** files, the component scope should not be included. +* `<title>` - A quick summary of changes made. If there are multiple changes, Use the detailed message section to fully explain the commit. + * Please use the present tense and imperative mood. (e.g. "rewrite `someFunction()` to improve performance") +* `[detailed message]` - An optional more in depth explaination of the commit. + +### gitmoji + +gitmoji is a standard list of emoji to represent the different types of changes we make to our project. [Check out the full list!](https://gitmoji.dev/). + +Using the website as a cheatsheet is fine, but if you're unfamiliar with gitmoji, try using [gitmoji-cli](https://github.com/carloscuesta/gitmoji-cli). This tool will help you construct commit messages in the format detailed above using `gitmoji -c`. + +Be sure to run `gitmoji -g` to configure the tool. We recommend the following options: + +* **Enable automatic "git add ."**: No +* **Select how emojis should be used in commits**: 😄 (direct emoji chars, not text.) +* **Enable signed commits**: (Dependant on if you use gpg) +* **Enable scope prompt**: Yes + +### Commit Scopes + +Scopes help give commit messages further context in a concise way, and are helpful when navigating commit history. + +If in doubt about scoping, try to dive into the commit history for the file in question. Ultimately ask if you're still confused. Use your best judgement, but prefer consistency over enforcing the rules set by this document. the point of these rules is to make searching through commits easier, and consistency helps the most. + +#### Files not requiring a scope suffix -If in doubt about component naming, try to dive into the commit history for the file in question. Ultimately ask if you're still confused. Use your best judgement, but prefer consistency over enforcing the rules set by this document. the point of these rules is to make searching through commits easier, and consistency helps the most. +* Any React `<Component />` (e.g. `✨ (MyComponent): ...`) +* Any React hook (e.g. `♻️ (useSelectorWithProps): ...`) +* Any documentation file, however use `.md` in the scope name. (e.g. `📝 (CONTRIBUTING.md): ...`) -Commits should be as samll as possible, with exceptions for large sweeping changes required by lint rule changes, package updates, etc. +#### Scope Suffixes -If the commit **must** make changes to two or more **completely unrelated** files, the component name and parentheses are not required. +Scopes with a type suffix will generally follow the name of the directory that contains them. The following list should be exhaustive, but if one may be missing, please ask the maintainers. +> `~` = `projectRoot/src` -### Commit types +* `-data` - Modules found in `~/data`. These files, intuitively, contain data objects. +* `-page` - Page components found in `~/pages`, with the exception of `~/pages/api`. +* `-route` - API page routes found in `~/pages/api`. +* `-service` - "Service" modules found in `~/services`. +* `-actions` - Redux store actions found in `~/store/actions`. +* `-selectors` - Redux store selectors found in `~/store/selectors`. +* `-reducer` - Redux store reducer functions found in `~/store/reducers`. +* `-util` - General purpose utility modules found in `~/util`. +* `-worker` - WebWorker modules found in `~/workers`. +* `-types` - `.d.ts` Typing files found in `/typings`. +* `-scss` - any `.scss` file anywhere in the project. + * Styles found in component directories **MAY** be committed under the related component scope, however. +* `-static-<fileType>` - static assets found in `/public`. file type may be generic descriptor or specific extension. (i.e. `favicon-static-image`, `sitemap-static-xml`) +* `-conf` - Any project config file. Either on the top level, or in `/.config`. (i.e. `eslint-conf`, `next-conf`, `postcss-conf`) + + + +## Primary Repo Development + +These rules pertain to development on the main `FuelRats/fuelrats.com` repository, and do not need to be followed by forks. + +### Development flow + +1. Branch from `develop` using the [branch conventions below](#branch-convensions). +1. Do the work required to satisfy the Ticket or objective. If work unrelated to the objective needs to be done, make a separate branch. +1. Document the changes introduced from the previous release in `CHANGELOG.md`. +1. Submit PR to merge back into `develop`. + * Any change which would affect current development should be documented in the description. + * Assign the PR to yourself. + * The PR should be labeled with the label most fitting to the type of work. If the PR is a bugfix which must be merged to fix a major problem, it should be labeled `Urgent`. + * When the PR is ready to be merged, A review should be requested from the `FuelRats/web` team. +1. Once the PR is approved, it is the responsibility of the **assignee** to merge the changes to the branch. +1. After the build has been deployed, double check your changes on the [staging preview website][testsite]. + +### Branch Conventions + +Work branches on the **main repo** are expected to follow this branch format: + +``` +type/objective +``` +* **type** - The type of work being done. See below for types. +* **objective** - a simple and breif descriptor of the work being done. words should be hyphen-delimited. e.g. `fix-paperwork`, `redesign-profiles`, `add-avatars` + +#### Branch types * `feat` - New feature. * `fix` - Bug fix. * `refactor` - A change in behavior of existing code. * `docs` - A change in project documentation. -* `style` - Fixes which **only** fix code style and not behavior. +* `style` - A change which **only** fixes code style and not behavior. * `chore` - Maintenance tasks such as updating dependencies. +* `experiment` - A new feature idea or major structural change which has a questionable outcome. + + -There is also 1 additional type allowed for branches **only** -* `experiment` - A new feature idea or major structural change which has a questionable outcome. [fuelrats-tos]: https://fuelrats.com/terms-of-service [all-contributors]: https://github.com/kentcdodds/all-contributors -[testsite]: https://dev.fuelrats.com/ -[bugs]: https://jira.fuelrats.com/servicedesk/customer/portal/2/create/4 +[testsite]: https://fuelrats.dev/ [egghead]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github -[jira]: https://jira.fuelrats.com/browse/WEB [new-pr]: https://github.com/FuelRats/fuelrats.com/compare [ops-email]: mailto:ops@fuelrats.com [nvm-install]: https://github.com/nvm-sh/nvm#installing-and-updating [node-install]: https://nodejs.org/en/ +[fr-issues]: https://github.com/FuelRats/fuelrats.com/issues +[fr-issues-new]: https://github.com/FuelRats/fuelrats.com/issues/new/choose From 4b4bcfaea3bf5c24e8c289f828b5f3e42ce28066 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 22 Jul 2021 13:55:00 +0000 Subject: [PATCH 192/300] =?UTF-8?q?=F0=9F=94=A8=20update=20issue=20picker?= =?UTF-8?q?=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit we had some whoopsies here. --- .github/ISSUE_TEMPLATE/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 56edca7c2..489bac6a3 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,10 +1,10 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - name: Account Support about: Account related questions should be submitted through our support desk. url: https://jira.fuelrats.com/servicedesk/customer/portal/2 - name: Provide Feedback - about: "Don't like something? _Really_ love something else? Let us know!" + about: "Don't like something? Really love something else? Let us know!" url: https://github.com/FuelRats/fuelrats.com/discussions/new?category=feedback - name: Hang out with us! about: Join us on IRC and hang out with the rats. From ac3c75351c8418e093baf2f96862aa924216ee1a Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 22 Jul 2021 14:19:25 +0000 Subject: [PATCH 193/300] Add User Story template --- .github/ISSUE_TEMPLATE/user-story.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/user-story.md diff --git a/.github/ISSUE_TEMPLATE/user-story.md b/.github/ISSUE_TEMPLATE/user-story.md new file mode 100644 index 000000000..a707df7f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/user-story.md @@ -0,0 +1,20 @@ +--- +name: User Story +about: An issue that describes a new feature to be implemented, in detail. +title: '' +labels: 'Type | Story :books:' +assignees: '' + +--- + +<!-- This Template is intended for project maintainers. Please file your issue under "Bug Report" or "Feature Request" --> + +## Acceptance Criteria +<!-- A task list that should be fullfilled by the resolving PR. Items may be checked off as implemented. --> +- [ ] + +## Background +<!-- Further explaination for why this issue exists. --> + +## Additional Information +<!-- Supplementary information such as relevant API documentation or implementation notes --> From f93cf701f8b217b2dbe3f28efc3d8bad3c4a5735 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 22 Jul 2021 14:21:04 +0000 Subject: [PATCH 194/300] Update and rename user-story.md to user_story.md --- .github/ISSUE_TEMPLATE/{user-story.md => user_story.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/ISSUE_TEMPLATE/{user-story.md => user_story.md} (95%) diff --git a/.github/ISSUE_TEMPLATE/user-story.md b/.github/ISSUE_TEMPLATE/user_story.md similarity index 95% rename from .github/ISSUE_TEMPLATE/user-story.md rename to .github/ISSUE_TEMPLATE/user_story.md index a707df7f1..321976570 100644 --- a/.github/ISSUE_TEMPLATE/user-story.md +++ b/.github/ISSUE_TEMPLATE/user_story.md @@ -1,7 +1,7 @@ --- name: User Story about: An issue that describes a new feature to be implemented, in detail. -title: '' +title: 'As a ... I want ...' labels: 'Type | Story :books:' assignees: '' From 33e1dd720fbaee45d1fe7b9527596e82bb02f397 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 22 Jul 2021 14:48:15 +0000 Subject: [PATCH 195/300] =?UTF-8?q?=F0=9F=94=A8=20fix=20some=20typos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/user_story.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/user_story.md b/.github/ISSUE_TEMPLATE/user_story.md index 321976570..f7fc91ee1 100644 --- a/.github/ISSUE_TEMPLATE/user_story.md +++ b/.github/ISSUE_TEMPLATE/user_story.md @@ -10,11 +10,11 @@ assignees: '' <!-- This Template is intended for project maintainers. Please file your issue under "Bug Report" or "Feature Request" --> ## Acceptance Criteria -<!-- A task list that should be fullfilled by the resolving PR. Items may be checked off as implemented. --> +<!-- A task list that should be fulfilled by the resolving PR. Items may be checked off as implemented. --> - [ ] ## Background -<!-- Further explaination for why this issue exists. --> +<!-- Further explanation for why this issue exists. --> ## Additional Information <!-- Supplementary information such as relevant API documentation or implementation notes --> From dad5d284bde96c3a0f6725212a60c683f901d3c3 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 02:02:19 +0000 Subject: [PATCH 196/300] =?UTF-8?q?=F0=9F=94=A5=20(store):=20remove=20cust?= =?UTF-8?q?om=20connect=20decorator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/index.js | 128 ++------------------------------------------- 1 file changed, 4 insertions(+), 124 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index 38fa6ee59..f12ca77b0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,60 +1,14 @@ -import { errorLoggerMiddleware, FSAComplianceMiddleware } from '@fuelrats/web-util/redux-middleware' -import { connect } from 'react-redux' -import { - bindActionCreators, - createStore, - applyMiddleware, -} from 'redux' +import { errorLoggerMiddleware } from '@fuelrats/web-util/redux-middleware' +import { createStore, applyMiddleware } from 'redux' import { composeWithDevTools } from 'redux-devtools-extension' import thunkMiddleware from 'redux-thunk' - import frSocket from '~/services/frSocket' - -import * as authenticationActions from './actions/authentication' -import * as blogActions from './actions/blogs' -import * as decalActions from './actions/decals' -import * as epicActions from './actions/epics' -import * as flagActions from './actions/flags' -import * as imageActions from './actions/images' -import * as ratActions from './actions/rats' -import * as rescueActions from './actions/rescues' -import * as serviceActions from './actions/services' -import * as sessionActions from './actions/session' -import * as shipActions from './actions/ships' -import * as statisticsActions from './actions/statistics' -import * as stripeActions from './actions/stripe' -import * as userActions from './actions/user' -import * as verifyActions from './actions/verify' -import * as wordpressActions from './actions/wordpress' import actionTypes from './actionTypes' import initialState from './initialState' import reducer from './reducers' -const actions = { - ...authenticationActions, - ...blogActions, - ...decalActions, - ...epicActions, - ...flagActions, - ...imageActions, - ...ratActions, - ...rescueActions, - ...serviceActions, - ...sessionActions, - ...shipActions, - ...statisticsActions, - ...stripeActions, - ...userActions, - ...verifyActions, - ...wordpressActions, -} - - - - - const ignoredTypes = [ // This pops up on every 404 page due to how our fallback system works, therefore it's not generally helpful to log. actionTypes.wordpress.pages.read, @@ -63,86 +17,12 @@ const ignoredTypes = [ const middlewares = [thunkMiddleware, frSocket.createMiddleware(), errorLoggerMiddleware(ignoredTypes)] if ($$BUILD.isDev) { middlewares.unshift(require('redux-immutable-state-invariant').default()) - middlewares.push(FSAComplianceMiddleware) + middlewares.push(require('@fuelrats/web-util/redux-middleware').FSAComplianceMiddleware) } - -const initStore = (state = initialState) => { +export const initStore = (state = initialState) => { return createStore(reducer, state, composeWithDevTools(applyMiddleware(...middlewares))) } - - - - - -const connectDecorator = (target) => { - const { - mapDispatchToProps: mDTP, - mapStateToProps, - mergeProps, - reduxOptions, - } = target - let mapDispatchToProps = mDTP - - if (Array.isArray(mDTP)) { - mapDispatchToProps = (dispatch) => { - return bindActionCreators( - mDTP.reduce( - (acc, actionName) => { - return { - ...acc, - [actionName]: actions[actionName], - } - }, - {}, - ), - dispatch, - ) - } - } - - return connect( - mapStateToProps || (() => { - return {} - }), - mapDispatchToProps || {}, - mergeProps, - reduxOptions, - )(target) -} - - - - - -const getActionCreators = (action, dispatch) => { - let resolvedAction = action - - if (Array.isArray(action) && typeof action[0] === 'string') { - resolvedAction = action.reduce((acc, actionName) => { - return { - ...acc, - [actionName]: actions[actionName], - } - }, {}) - } - - if (typeof action === 'string') { - resolvedAction = actions[action] - } - - return bindActionCreators(resolvedAction, dispatch) -} - - - - - -export { - getActionCreators, - connectDecorator as connect, - initStore, -} From 56fe46c2fbb4d7543221369e83cbffc72f36f6e6 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 02:04:17 +0000 Subject: [PATCH 197/300] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20update=20deps,=20u?= =?UTF-8?q?pgrade=20to=20node=2016?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .babelrc.js | 2 +- .nvmrc | 2 +- CONTRIBUTING.md | 2 +- package.json | 14 ++-- yarn.lock | 183 ++++++++++++++++++++++++++++++++++++++++-------- 5 files changed, 163 insertions(+), 40 deletions(-) diff --git a/.babelrc.js b/.babelrc.js index 342733d4b..a319810cd 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -5,7 +5,7 @@ module.exports = { { 'preset-env': { bugfixes: true, - targets: 'defaults, not IE 11, not IE_mob 11, node 14', + targets: 'defaults, not IE 11, not IE_mob 11, node 16', }, 'class-properties': { loose: true, diff --git a/.nvmrc b/.nvmrc index 8351c1939..b6a7d89c6 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -14 +16 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 955f64add..0ae134823 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ By contributing to this repository, you are expected to know and follow the rule 1. Install Node.js and `npm` (if you haven't already). * [`nvm`](#nvm-install) is recommended for Linux/WSL/macOS. * Node for Windows is available [here](#node-install), but you should probably be using WSL or some other linux-based CLI alternative. - * Current version requirement is: `^14.0.0`. + * Current version requirement is: `^16.0.0`. 1. Install Yarn (if you haven't already). * Run: `npm i -g yarn` 1. Fork and clone the repo diff --git a/package.json b/package.json index b978db9c9..231cd132a 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "next-redux-wrapper": "5.0.0", "next-safe": "^3.0.1", "nprogress": "^0.2.0", - "postcss": "^8.3.5", + "postcss": "^8.3.6", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", @@ -74,12 +74,12 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.163.0", + "stripe": "^8.165.0", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, "devDependencies": { - "@babel/core": "^7.14.6", + "@babel/core": "^7.14.8", "@babel/eslint-parser": "^7.14.7", "@babel/eslint-plugin": "^7.14.5", "@babel/plugin-proposal-decorators": "^7.14.5", @@ -110,7 +110,7 @@ "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.4.5", + "eslint-plugin-jsdoc": "^35.5.1", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", @@ -118,11 +118,11 @@ "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", - "stylelint-scss": "^3.20.0", - "webpack": "^5.45.1", + "stylelint-scss": "^3.20.1", + "webpack": "^5.46.0", "worker-loader": "^3.0.8" }, "engines": { - "node": "^14.0.0" + "node": "^16.0.0" } } diff --git a/yarn.lock b/yarn.lock index 217165744..810a9758c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,7 +30,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.14.6, @babel/core@npm:>=7.9.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.6": +"@babel/core@npm:7.14.6, @babel/core@npm:>=7.9.0, @babel/core@npm:^7.12.3": version: 7.14.6 resolution: "@babel/core@npm:7.14.6" dependencies: @@ -53,6 +53,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:7.14.8, @babel/core@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/core@npm:7.14.8" + dependencies: + "@babel/code-frame": ^7.14.5 + "@babel/generator": ^7.14.8 + "@babel/helper-compilation-targets": ^7.14.5 + "@babel/helper-module-transforms": ^7.14.8 + "@babel/helpers": ^7.14.8 + "@babel/parser": ^7.14.8 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.8 + "@babel/types": ^7.14.8 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + source-map: ^0.5.0 + checksum: 4c9a5b21020791659095a514f11c81159a96477037682183f23a1084732e0e3dbb58986e14ebf3a03a31230a75d8b2e1d23644ca84204eddf70018cba983035f + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.14.7": version: 7.14.7 resolution: "@babel/eslint-parser@npm:7.14.7" @@ -90,6 +113,17 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/generator@npm:7.14.8" + dependencies: + "@babel/types": ^7.14.8 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 0fdec7e1991fc3973d241e4c5e7d69f8c4ab063359695e6a019e4a5a0139a768ddce91d0705d7bd8a28f3befb5abde68355e19745fcdb45c40a26cf53d879191 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-annotate-as-pure@npm:7.14.5" @@ -241,6 +275,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/helper-module-transforms@npm:7.14.8" + dependencies: + "@babel/helper-module-imports": ^7.14.5 + "@babel/helper-replace-supers": ^7.14.5 + "@babel/helper-simple-access": ^7.14.8 + "@babel/helper-split-export-declaration": ^7.14.5 + "@babel/helper-validator-identifier": ^7.14.8 + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.8 + "@babel/types": ^7.14.8 + checksum: 527b3383c40788b04c815da1ded4ac8cdc21e3356517fc81bcd03b319c1b58901638bb641a6f0cd00f493c7a31a8ae7123213d59c1d4f57cec32185b5d9f79a2 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-optimise-call-expression@npm:7.14.5" @@ -289,6 +339,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-simple-access@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/helper-simple-access@npm:7.14.8" + dependencies: + "@babel/types": ^7.14.8 + checksum: c1dae88c956154c854bb1679d19b9158ff1c8241329a4a70026ec16c594b9637e73647e5a1a0f9b7c47b2309201f633c259fb41d06a800496283debce6a67fab + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.14.5" @@ -314,6 +373,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/helper-validator-identifier@npm:7.14.8" + checksum: f21ad9a9f0a66a02e0e5f62d505cbeb9e01a7ac5bd34be0af9f916f0b6d8d40718efaf51b656b41759e3454703090b4d386105f1f97f6598ee5a3f8eb98adc6a + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-option@npm:7.14.5" @@ -344,6 +410,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/helpers@npm:7.14.8" + dependencies: + "@babel/template": ^7.14.5 + "@babel/traverse": ^7.14.8 + "@babel/types": ^7.14.8 + checksum: 2f1358c19fc1ee744c183f81b499b73977da7d3d3f7a881d457b235754394a503e4717353f29364bd5feb7fa406b1edd1aab92b5ab0765dba945fb559eeb1c65 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.14.5": version: 7.14.5 resolution: "@babel/highlight@npm:7.14.5" @@ -364,6 +441,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/parser@npm:7.14.8" + bin: + parser: ./bin/babel-parser.js + checksum: 9e532b2bbe690fff8cdaf8c25cfecb684ebe9e9d50d30cd775852dd711649ddb964368b26fda55786404fadf500f944043fb0f731b765104ad857d677dd29ce5 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.14.5" @@ -1383,6 +1469,23 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/traverse@npm:7.14.8" + dependencies: + "@babel/code-frame": ^7.14.5 + "@babel/generator": ^7.14.8 + "@babel/helper-function-name": ^7.14.5 + "@babel/helper-hoist-variables": ^7.14.5 + "@babel/helper-split-export-declaration": ^7.14.5 + "@babel/parser": ^7.14.8 + "@babel/types": ^7.14.8 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: f635f99b1b09dfe60105bb162103346f78e058351231e33e9c11a17fabf6d56b4f87837ad14a0f82242c6dd0b97fecd90064735f1e11d47b7429a1c3e99a5ece + languageName: node + linkType: hard + "@babel/types@npm:7.8.3": version: 7.8.3 resolution: "@babel/types@npm:7.8.3" @@ -1404,6 +1507,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.14.8": + version: 7.14.8 + resolution: "@babel/types@npm:7.14.8" + dependencies: + "@babel/helper-validator-identifier": ^7.14.8 + to-fast-properties: ^2.0.0 + checksum: d4ebd2e0e52f05cbcb3ded434d9fb49db73c239d98c4f7bd27beaf32fcd7c81aa30618237e87d53505d5e65fd20d688cb4237b6fa927a04831129a6044f2e4b5 + languageName: node + linkType: hard + "@csstools/convert-colors@npm:^1.4.0": version: 1.4.0 resolution: "@csstools/convert-colors@npm:1.4.0" @@ -1427,7 +1540,7 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:^0.9.0-alpha.1": +"@es-joy/jsdoccomment@npm:0.9.0-alpha.1": version: 0.9.0-alpha.1 resolution: "@es-joy/jsdoccomment@npm:0.9.0-alpha.1" dependencies: @@ -4304,11 +4417,11 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.4.5": - version: 35.4.5 - resolution: "eslint-plugin-jsdoc@npm:35.4.5" +"eslint-plugin-jsdoc@npm:^35.5.1": + version: 35.5.1 + resolution: "eslint-plugin-jsdoc@npm:35.5.1" dependencies: - "@es-joy/jsdoccomment": ^0.9.0-alpha.1 + "@es-joy/jsdoccomment": 0.9.0-alpha.1 comment-parser: 1.1.6-beta.0 debug: ^4.3.2 esquery: ^1.4.0 @@ -4319,7 +4432,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 6a984903c90e56c94b867318070bfbb7521c2f5be4740b8cef3cffda942a93325f04a9108335eb8040d31f1847d4f501fea4288a0a599cc371e794ae5deef7b4 + checksum: c5aa87831a4e434bcb527e760520c9af6b650a7d6956017556645f8b41cda2e5dbccdd8b31eccc2c6135e17bea159c2c912965f1222806eae27a294dd871e757 languageName: node linkType: hard @@ -4832,7 +4945,7 @@ __metadata: version: 0.0.0-use.local resolution: "fuelrats.com@workspace:." dependencies: - "@babel/core": ^7.14.6 + "@babel/core": ^7.14.8 "@babel/eslint-parser": ^7.14.7 "@babel/eslint-plugin": ^7.14.5 "@babel/plugin-proposal-decorators": ^7.14.5 @@ -4877,7 +4990,7 @@ __metadata: eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.4 eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.4.5 + eslint-plugin-jsdoc: ^35.5.1 eslint-plugin-jsx-a11y: ^6.4.1 eslint-plugin-react: ^7.24.0 eslint-plugin-react-hooks: ^4.2.0 @@ -4896,7 +5009,7 @@ __metadata: next-redux-wrapper: 5.0.0 next-safe: ^3.0.1 nprogress: ^0.2.0 - postcss: ^8.3.5 + postcss: ^8.3.6 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 @@ -4919,12 +5032,12 @@ __metadata: reselect: ^4.0.0 sass: ^1.35.2 semver: ^7.3.5 - stripe: ^8.163.0 + stripe: ^8.165.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 - stylelint-scss: ^3.20.0 + stylelint-scss: ^3.20.1 use-immer: ^0.6.0 - webpack: ^5.45.1 + webpack: ^5.46.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -7920,14 +8033,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.5": - version: 8.3.5 - resolution: "postcss@npm:8.3.5" +"postcss@npm:^8.3.6": + version: 8.3.6 + resolution: "postcss@npm:8.3.6" dependencies: colorette: ^1.2.2 nanoid: ^3.1.23 source-map-js: ^0.6.2 - checksum: c73fc4825ed27396d453a942628cd8e34dd43c11b724f43f65f376d3900037736013b6446f1d9947ce5a847837cf96649e9a3f200ca2bd94a884e91e56ee1ceb + checksum: ff55b91bea21f42c2a94d77fd05c3f66dd15889c68506cf1dbb9cdee8c3b9e9d0e219bcbc6e61a107bd63e3cac0670176486e2a5794c106a4e1b9babceb79317 languageName: node linkType: hard @@ -9450,13 +9563,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.163.0": - version: 8.163.0 - resolution: "stripe@npm:8.163.0" +"stripe@npm:^8.165.0": + version: 8.165.0 + resolution: "stripe@npm:8.165.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 93a89dad1a390e1a929d6dec975abb1e656d20983444b5ca0668e76a3972f3a5c941f8cb34c71398adcacca85c3b6b435d0bc5f9f3642e2b780efd0f699ca5f1 + checksum: 4d4a68101fe41c3060a297cc7aca390cbd91f1141ec3b5d62c53c2967db788cc3280ab7c7995f0b85a461d79cf84304a8ec229b581e9dbe40051431e2b759698 languageName: node linkType: hard @@ -9517,9 +9630,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stylelint-scss@npm:^3.20.0": - version: 3.20.0 - resolution: "stylelint-scss@npm:3.20.0" +"stylelint-scss@npm:^3.20.1": + version: 3.20.1 + resolution: "stylelint-scss@npm:3.20.1" dependencies: lodash: ^4.17.15 postcss-media-query-parser: ^0.2.3 @@ -9528,7 +9641,7 @@ resolve@^2.0.0-next.3: postcss-value-parser: ^4.1.0 peerDependencies: stylelint: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 - checksum: 61b7448fd110b166edb8b4cfa1a42624dd94e35154ab5db5ef51b6c578c00c4f3ff9d1be1cee8a16f19aef81e755289fb3e013c4316ee4718001beaf2cdf05cd + checksum: 6814e6da6e5a6886d349d3cb13aaaf06496d6c00c9db2be482f0e9874ed78c3e877082f190fcb2db7f0ec725276ecf7f8b47d16174fb9bc7300f30870fe7c455 languageName: node linkType: hard @@ -10438,6 +10551,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack-sources@npm:^2.3.1": + version: 2.3.1 + resolution: "webpack-sources@npm:2.3.1" + dependencies: + source-list-map: ^2.0.1 + source-map: ^0.6.1 + checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 + languageName: node + linkType: hard + "webpack@npm:^5": version: 5.45.0 resolution: "webpack@npm:5.45.0" @@ -10475,9 +10598,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.45.1": - version: 5.45.1 - resolution: "webpack@npm:5.45.1" +"webpack@npm:^5.46.0": + version: 5.46.0 + resolution: "webpack@npm:5.46.0" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.50 @@ -10501,13 +10624,13 @@ resolve@^2.0.0-next.3: tapable: ^2.1.1 terser-webpack-plugin: ^5.1.3 watchpack: ^2.2.0 - webpack-sources: ^2.3.0 + webpack-sources: ^2.3.1 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 7aca5a40bf95d83c89b30b7c58da70e6aba672fc97b8f8ddea18516ce026706982b3b6b5c9509a6295b87de889df64f9a08e125ba9a36a128cb84cbce742225c + checksum: dc81b091452739d91e7933a8fceb347f1f8f72260d3aaf551f591b5214c4a73ca4ca6c07f9398931a3bd452b701db4c9b7af2f2a941f0ea319921bae1fe8eb11 languageName: node linkType: hard From eedc000271714312ac485c91cbf6df8b58aa01c1 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 02:37:59 +0000 Subject: [PATCH 198/300] =?UTF-8?q?=F0=9F=92=A9=20(RatCard):=20remove=20us?= =?UTF-8?q?e=20of=20@connect=20decorator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/RatCard/RatCard.js | 80 +++++++++++-------------------- 1 file changed, 29 insertions(+), 51 deletions(-) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 10a98306e..7b4a997ba 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -1,9 +1,11 @@ import { isError } from 'flux-standard-action' import PropTypes from 'prop-types' -import React from 'react' +import React, { useCallback } from 'react' +import { useDispatch, useSelector } from 'react-redux' // import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { deleteRat as deleteRatAction, updateRat as updateRatAction } from '~/store/actions/rats' import { selectRatById, selectUserById, @@ -22,7 +24,6 @@ import DefaultRatButton from './DefaultRatButton' -@connect class RatCard extends React.Component { /***************************************************************************\ Class Properties @@ -30,7 +31,6 @@ class RatCard extends React.Component { state = { deleteConfirm: false, - shipsExpanded: false, changes: {}, validity: { name: false, @@ -51,14 +51,6 @@ class RatCard extends React.Component { this.setState({ deleteConfirm: true }) } - _handleExpandShips = () => { - this.setState(({ shipsExpanded }) => { - return { - shipsExpanded: !shipsExpanded, - } - }) - } - _handleNameChange = ({ target: { value } }) => { this.setChanges( (_, props) => { @@ -172,7 +164,6 @@ class RatCard extends React.Component { const { className, rat, - // ships, statistics, } = this.props @@ -180,7 +171,6 @@ class RatCard extends React.Component { deleteConfirm, editing, changes, - shipsExpanded, submitting, } = this.state @@ -195,7 +185,7 @@ class RatCard extends React.Component { return ( <div - className={['panel rat-panel', { expanded: shipsExpanded, editing, submitting }, className]} + className={['panel rat-panel', { editing, submitting }, className]} data-loader-text={submitting ? submitText : null}> <header> <div> @@ -243,16 +233,6 @@ class RatCard extends React.Component { {createdAt} </small> </div> - {/* Disabled until ships are fully implemented - <div className="rat-ships-expander"> - <button - className="inline ship-expand-button" - type="button" - onClick={this._handleExpandShips}> - <FontAwesomeIcon icon="angle-down" fixedWidth /> - </button> - </div> - */} <CardControls canDelete={userHasMultipleRats && !ratIsDisplayRat && (statistics && !statistics?.attributes.firstLimpet)} canSubmit={this.canSubmit} @@ -316,31 +296,6 @@ class RatCard extends React.Component { return hasChanges && isValid } - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = [ - 'deleteRat', - 'updateRat', - ] - - - static mapStateToProps = (state, props) => { - return { - user: withCurrentUserId(selectUserById)(state), - userDisplayRatId: withCurrentUserId(selectDisplayRatIdByUserId)(state), - rat: selectRatById(state, props), - statistics: selectRatStatisticsById(state, props), - } - } - - - - - /***************************************************************************\ Prop Definitions \***************************************************************************/ @@ -358,8 +313,31 @@ class RatCard extends React.Component { } } +// Dirty hack due to pending component rewrite. +function connectState (Component) { + return (props) => { + const dispatch = useDispatch() + + const deleteRat = useCallback((...args) => { + return dispatch(deleteRatAction(...args)) + }, [dispatch]) + const updateRat = useCallback((...args) => { + return dispatch(updateRatAction(...args)) + }, [dispatch]) + return ( + <Component + deleteRat={deleteRat} + rat={useSelectorWithProps(props, selectRatById)} + statistics={useSelectorWithProps(props, selectRatStatisticsById)} + updateRat={updateRat} + user={useSelector(withCurrentUserId(selectUserById))} + userDisplayRatId={useSelector(withCurrentUserId(selectDisplayRatIdByUserId))} + {...props} /> + ) + } +} -export default RatCard +export default connectState(RatCard) From 87f614e45d9f5fc4023a14aaaeaad4e23b2593d5 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 02:38:12 +0000 Subject: [PATCH 199/300] =?UTF-8?q?=F0=9F=94=A5=20remove=20dead=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/RatCard/RatShipLine.js | 83 --------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/components/RatCard/RatShipLine.js diff --git a/src/components/RatCard/RatShipLine.js b/src/components/RatCard/RatShipLine.js deleted file mode 100644 index 543eda191..000000000 --- a/src/components/RatCard/RatShipLine.js +++ /dev/null @@ -1,83 +0,0 @@ -import React from 'react' - -import { connect } from '~/store' - - - - - -// Component Constants - - - - - -@connect -class RatShipLine extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - // state = { - // editMode: false, - // changes: {}, - // } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - return ( - <div /> - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['updateShip', 'deleteShip'] - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - // static propTypes = { - // ship: PropTypes.object.isRequired, - // } -} - - - - - -export default RatShipLine From 359e4a3e8d57aaff4e8778e14d7f5e16434deb51 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 02:40:05 +0000 Subject: [PATCH 200/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(wordpress-proxy-p?= =?UTF-8?q?age):=20rewrite=20as=20hooks-based=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/[slug].js | 99 ++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 56 deletions(-) diff --git a/src/pages/[slug].js b/src/pages/[slug].js index 76b12e7fd..eaf030788 100644 --- a/src/pages/[slug].js +++ b/src/pages/[slug].js @@ -1,79 +1,66 @@ -import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' -import React from 'react' +import { useMemo } from 'react' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { getWordpressPage } from '~/store/actions/wordpress' import { selectWordpressPageBySlug } from '~/store/selectors' import setError from '~/util/getInitialProps/setError' +const selectPage = (state, props) => { + return selectWordpressPageBySlug(state, { slug: props.query?.slug }) ?? props.query?.page ?? {} +} +function WordpressProxy (props) { + const { content } = useSelectorWithProps(props, selectPage) -@connect -class WordpressProxy extends React.Component { - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - static async getInitialProps (ctx) { - const { query, store } = ctx - const { slug } = query + const renderedContent = useMemo(() => { + if (!content?.rendered) { + return null + } - if (!selectWordpressPageBySlug(store.getState(), { slug })) { - const response = await store.dispatch(getWordpressPage(slug)) + return content.rendered.replace(/<ul>/giu, '<ul class="bulleted">').replace(/<ol>/giu, '<ol class="numbered">') + }, [content?.rendered]) - if (isError(response)) { - setError(ctx, HttpStatus.NOT_FOUND) - } - } + if (!renderedContent) { + return ( + <article className="error page-content" /> + ) } - static getPageMeta ({ store, query }) { - const page = selectWordpressPageBySlug(store.getState(), { slug: query.slug }) + /* eslint-disable react/no-danger */ + return ( + <article className="page-content"> + <div + className="article-content" + dangerouslySetInnerHTML={{ __html: renderedContent }} /> + </article> + ) + /* eslint-enable */ +} - return { - className: 'wordpress-page', - title: page.title.rendered, - key: query.slug, - } - } - render () { - const { page } = this.props - let content = null - if (page) { - content = page.content.rendered.replace(/<ul>/giu, '<ul class="bulleted">').replace(/<ol>/giu, '<ol class="numbered">') - } +WordpressProxy.getInitialProps = async (ctx) => { + const { query, store } = ctx + const { slug } = query - /* eslint-disable react/no-danger */ - return ( - <> - { - Boolean(page) && ( - <article className="page-content"> - <div - className="article-content" - dangerouslySetInnerHTML={{ __html: content }} /> - </article> - ) - } - { - !page && ( - <article className="error page-content" /> - ) - } - </> - ) - /* eslint-enable */ + if (!selectWordpressPageBySlug(store.getState(), { slug })) { + const response = await store.dispatch(getWordpressPage(slug)) + if (isError(response)) { + setError(ctx, response.meta?.response?.status) + } } +} - static mapStateToProps = (state, ownProps) => { - return { - page: selectWordpressPageBySlug(state, { slug: ownProps.query?.slug }) || ownProps.query.page || null, - } +WordpressProxy.getPageMeta = ({ store, query }) => { + const page = selectWordpressPageBySlug(store.getState(), { slug: query.slug }) + + return { + className: 'wordpress-page', + title: page.title.rendered, + key: query.slug, } } From 8f1e69b42e9719138936c190ef5ba87f5a0d06a5 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 03:39:07 +0000 Subject: [PATCH 201/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(authorize-page):?= =?UTF-8?q?=20rewrite=20to=20hooks-based=20function=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/authorize.js | 228 ++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 139 deletions(-) diff --git a/src/pages/authorize.js b/src/pages/authorize.js index cbce45bb5..12371195e 100644 --- a/src/pages/authorize.js +++ b/src/pages/authorize.js @@ -1,174 +1,124 @@ import { isError } from 'flux-standard-action' -import React from 'react' +import { useCallback, useState } from 'react' +import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' import ScopeView from '~/components/ScopeView' -import { connect } from '~/store' -import { getClientOAuthPage } from '~/store/actions/authentication' +import { getClientOAuthPage, submitOAuthDecision } from '~/store/actions/authentication' import pageRedirect from '~/util/getInitialProps/pageRedirect' -@authenticated -@connect -class Authorize extends React.Component { - /***************************************************************************\ - Properties - \***************************************************************************/ - - state = { - submitting: false, - } - - - +function Authorize (props) { + const { client, redirect } = props + const [submitting, setSubmitting] = useState(false) + const dispatch = useDispatch() + const handleSubmit = useCallback(async (event) => { + setSubmitting(true) - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleSubmit = async (event) => { - const { - client, - submitOAuthDecision, - } = this.props - - this.setState({ submitting: true }) - - const response = await submitOAuthDecision({ + const response = await dispatch(submitOAuthDecision({ transactionId: client.transactionId, allow: event.target.name === 'allow', - }) + })) if (!isError(response) && response.payload.redirect) { window.location.href = response.payload.redirect + return } - this.setState({ submitting: false }) - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ + setSubmitting(false) + }, [client.transactionId, dispatch]) - static async getInitialProps (ctx) { - const { query, res, store } = ctx - - const response = await store.dispatch(getClientOAuthPage(query)) - - if (!isError(response)) { - const { meta, payload } = response + if (redirect) { + return null + } - if (payload.redirect) { - pageRedirect(ctx, payload.redirect) - return { redirect: true } + return ( + <div className="page-content"> + { + client && ( + <> + <h4>{`${client.clientName} is requesting access to your Fuel Rats account`}</h4> + <br /> + <span><b>{'This application will be able to:'}</b></span> + + <ScopeView scopes={client.scopes} /> + + <form> + <div className="primary"> + <button + className="green" + disabled={submitting} + name="allow" + type="button" + value="true" + onClick={handleSubmit}> + {submitting ? 'Submitting...' : 'Allow'} + </button> + {' '} + { + !submitting && ( + <button + disabled={submitting} + name="cancel" + type="button" + value="true" + onClick={handleSubmit}> + {'Deny'} + </button> + ) + } + </div> + </form> + </> + ) } - - if (res && meta.response.headers['set-cookie']) { - res.setHeader('set-cookie', meta.response.headers['set-cookie']) + { + !client && ( + <> + <header> + <h3>{'Invalid Authorize Request'}</h3> + </header> + + <p>{'Missing request parameters. Please contact the developer of the application you are trying to use.'}</p> + </> + ) } + </div> + ) +} - return { client: payload } - } +Authorize.getInitialProps = async (ctx) => { + const { query, res, store } = ctx - return {} - } + const response = await store.dispatch(getClientOAuthPage(query)) - static getPageMeta (_, pageProps) { - return { - title: 'Authorize Application', - className: pageProps.redirect ? 'hidden' : '', - } - } - - render () { - const { client, redirect } = this.props - const { submitting } = this.state + if (!isError(response)) { + const { meta, payload } = response + if (payload.redirect) { + pageRedirect(ctx, payload.redirect) + return { redirect: true } + } - if (redirect) { - return null + if (res && meta.response.headers['set-cookie']) { + res.setHeader('set-cookie', meta.response.headers['set-cookie']) } - return ( - <div className="page-content"> - { - client && ( - <> - <h4> - {`${client.clientName} is requesting access to your Fuel Rats account`} - </h4> - <br /> - <span><b>{'This application will be able to:'}</b></span> - - <ScopeView scopes={client.scopes} /> - - <form> - <div className="primary"> - <button - className="green" - disabled={submitting} - name="allow" - type="button" - value="true" - onClick={this._handleSubmit}> - {submitting ? 'Submitting...' : 'Allow'} - </button> - - {' '} - { - !submitting && ( - <button - disabled={submitting} - name="cancel" - type="button" - value="true" - onClick={this._handleSubmit}> - {'Deny'} - </button> - ) - } - </div> - </form> - </> - ) - } - - { - !client && ( - <> - <header> - <h3>{'Invalid Authorize Request'}</h3> - </header> - - <p>{'Missing request parameters. Please contact the developer of the application you are trying to use.'}</p> - </> - ) - } - </div> - ) + return { client: payload } } - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['submitOAuthDecision'] + return {} } +Authorize.getPageMeta = (_, pageProps) => { + return { + title: 'Authorize Application', + className: pageProps.redirect ? 'hidden' : '', + } +} - - - -export default Authorize +export default authenticated(Authorize) From c322f859fd3a3d0f65df578ddc161844249bacde Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 23 Jul 2021 19:27:45 +0000 Subject: [PATCH 202/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(UserNicknamesPane?= =?UTF-8?q?l):=20rewrite=20to=20hooks-based=20function=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserNicknamesPanel/UserNicknamesPanel.js | 179 +++++++----------- 1 file changed, 65 insertions(+), 114 deletions(-) diff --git a/src/components/UserNicknamesPanel/UserNicknamesPanel.js b/src/components/UserNicknamesPanel/UserNicknamesPanel.js index 4e1724e55..f6b328954 100644 --- a/src/components/UserNicknamesPanel/UserNicknamesPanel.js +++ b/src/components/UserNicknamesPanel/UserNicknamesPanel.js @@ -1,9 +1,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' -import React from 'react' +import { useCallback, useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' -import { connect } from '~/store' +import { deleteNickname } from '~/store/actions/user' import { selectUserById, withCurrentUserId, @@ -25,36 +26,17 @@ const MAX_NICKS = 16 // Maximum IRC Nicknames allowed +function UserNicknamesPanel () { + const [error, setError] = useState(null) -@connect -class UserNicknamesPanel extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ + const dispatch = useDispatch() + const nicknames = useSelector(withCurrentUserId(selectNicknamesByUserId)) + const user = useSelector(withCurrentUserId(selectUserById)) - state = { - error: null, - formOpen: false, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleFormVisibilityToggle = () => { - this.setState((state) => { - return { formOpen: !state.formOpen } - }) - } - - _handleDeleteNickname = async (event) => { - const response = await this.props.deleteNickname(this.props.user, this.props.nicknames.find((nick) => { + const handleDeleteNickname = useCallback(async (event) => { + const response = await dispatch(deleteNickname(user, nicknames.find((nick) => { return nick.id === event.target.name - })) + }))) if (isError(response)) { const { meta, payload } = response @@ -68,102 +50,71 @@ class UserNicknamesPanel extends React.Component { errorMessage = 'Server communication error' } - this.setState({ - error: errorMessage, - }) + setError(errorMessage) return errorMessage } return undefined - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - nicknames, - } = this.props - - const { error } = this.state + }, [dispatch, nicknames, user]) - const nickCount = nicknames?.length - const maxNicksReached = (nickCount >= MAX_NICKS) + const nickCount = nicknames?.length + const maxNicksReached = (nickCount >= MAX_NICKS) - return ( - <div className="panel"> - <header> - {'IRC Nicknames'} - - <div className="controls"> - <span className="nickname-count">{`${nickCount}/${MAX_NICKS}`}</span> - </div> - </header> - - <div className={styles.userNicknames}> + return ( + <div className="panel"> + <header> + {'IRC Nicknames'} + <div className="controls"> + <span className="nickname-count">{`${nickCount}/${MAX_NICKS}`}</span> + </div> + </header> + + <div className={styles.userNicknames}> + { + error && ( + <MessageBox>{error}</MessageBox> + ) + } + <ul> { - error && ( - <MessageBox>{error}</MessageBox> + (nickCount <= 0) && ( + <li className="text-center">{'You do not have any nicknames registered yet.'}</li> ) } - <ul> - {(nickCount <= 0) && (<li className="text-center">{'You do not have any nicknames registered yet.'}</li>)} - { - nicknames?.map((nickname) => { - return ( - <li key={nickname.id}> - <span>{nickname.attributes?.nick}</span> - { - // Only render for additional nicks, prevent for display nick. - nickname.attributes?.display !== nickname.attributes?.nick && ( - <ConfirmActionButton - className="icon" - confirmButtonText={`Delete nickname '${nickname.attributes?.nick}'`} - confirmSubText="" - denyButtonText="Cancel" - name={nickname.id} - onConfirm={this._handleDeleteNickname} - onConfirmText=""> - <FontAwesomeIcon fixedWidth icon="trash" /> - </ConfirmActionButton> - ) - } - </li> - ) - }) ?? null - } - </ul> - - <div className={styles.addNicknameFloat}> - <AddNicknameForm - disabled={maxNicksReached} - title={maxNicksReached ? 'You\'ve used all your nicknames' : 'Add new nickname'} /> - </div> + { + nicknames?.map((nickname) => { + return ( + <li key={nickname.id}> + <span>{nickname.attributes?.nick}</span> + { + // Only render for additional nicks, prevent for display nick. + nickname.attributes?.display !== nickname.attributes?.nick && ( + <ConfirmActionButton + className="icon" + confirmButtonText={`Delete nickname '${nickname.attributes?.nick}'`} + confirmSubText="" + denyButtonText="Cancel" + name={nickname.id} + onConfirm={handleDeleteNickname} + onConfirmText=""> + <FontAwesomeIcon fixedWidth icon="trash" /> + </ConfirmActionButton> + ) + } + </li> + ) + }) ?? null + } + </ul> + + <div className={styles.addNicknameFloat}> + <AddNicknameForm + disabled={maxNicksReached} + title={maxNicksReached ? 'You\'ve used all your nicknames' : 'Add new nickname'} /> </div> </div> - ) - } - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['deleteNickname'] - - static mapStateToProps = (state) => { - return { - nicknames: withCurrentUserId(selectNicknamesByUserId)(state), - user: withCurrentUserId(selectUserById)(state), - } - } + </div> + ) } From fadda31e5406df351bb3da7cac7425cde05a9800 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 25 Jul 2021 22:01:31 +0000 Subject: [PATCH 203/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(i-need-fuel-page)?= =?UTF-8?q?:=20convert=20connect()=20to=20selector=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/i-need-fuel.js | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/pages/i-need-fuel.js b/src/pages/i-need-fuel.js index 69a3f1053..2be2a969d 100644 --- a/src/pages/i-need-fuel.js +++ b/src/pages/i-need-fuel.js @@ -1,9 +1,9 @@ import getConfig from 'next/config' import Image from 'next/image' import Link from 'next/link' -import { createStructuredSelector } from 'reselect' +import { useMemo } from 'react' +import { useSelector } from 'react-redux' -import { connect } from '~/store' import { selectSession } from '~/store/selectors' @@ -17,20 +17,18 @@ const { irc: ircURLs } = publicRuntimeConfig -function INeedFuel (props) { - const { - session, - } = props - - let supportMessage = null - - if (session.userAgent.match(/playstation/giu)) { - supportMessage = ` - The built-in PS4 browser is currently not supported. - This is due to bugs in the PS4 browser, and outside of our control. - Please use your phone or computer instead. - ` - } +function INeedFuel () { + const session = useSelector(selectSession) + const supportMessage = useMemo(() => { + if (session.userAgent.match(/playstation/giu)) { + return ` + The built-in PS4 browser is currently not supported. + This is due to bugs in the PS4 browser, and outside of our control. + Please use your phone or computer instead. + ` + } + return undefined + }, [session.userAgent]) return ( <div className="page-content"> @@ -106,9 +104,5 @@ INeedFuel.getPageMeta = () => { } } -INeedFuel.mapStateToProps = createStructuredSelector({ - session: selectSession, -}) - -export default connect(INeedFuel) +export default INeedFuel From 3cafb96a50fe5d71e8fbfb6c0d6cee1ccc2da1c3 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 25 Jul 2021 22:03:24 +0000 Subject: [PATCH 204/300] =?UTF-8?q?=E2=9C=A8=20(WordpressPage):=20Add=20sh?= =?UTF-8?q?ared=20component=20for=20rendering=20wordpress=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/WordpressPage.js | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/components/WordpressPage.js diff --git a/src/components/WordpressPage.js b/src/components/WordpressPage.js new file mode 100644 index 000000000..4fae97d1b --- /dev/null +++ b/src/components/WordpressPage.js @@ -0,0 +1,52 @@ +import PropTypes from 'prop-types' +import { useMemo } from 'react' + +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { selectWordpressPageBySlug } from '~/store/selectors' + + + + + +// Component Constants + + + + + +function WordpressPage ({ className, slug }) { + const { content } = useSelectorWithProps({ slug }, selectWordpressPageBySlug) ?? {} + + const renderedContent = useMemo(() => { + if (!content?.rendered) { + return null + } + + return content.rendered + .replace(/<ul>/giu, '<ul class="bulleted">') + .replace(/<ol>/giu, '<ol class="numbered">') + }, [content?.rendered]) + + if (!renderedContent) { + return null + } + + /* eslint-disable react/no-danger */ + return ( + <div + className={['article-content', className]} + dangerouslySetInnerHTML={{ __html: renderedContent }} /> + ) + /* eslint-enable */ +} + +WordpressPage.propTypes = { + className: PropTypes.string, + slug: PropTypes.string.isRequired, +} + + + + + +export default WordpressPage From 7fb0674f783397493c742c4eb39e6bb6bdc12be7 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:00:25 +0000 Subject: [PATCH 205/300] =?UTF-8?q?=E2=9C=A8=20(WordpressPage):=20add=20cl?= =?UTF-8?q?ient-side=20page=20loading=20logic=20to=20WordpressPage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/WordpressPage.js | 36 +++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/components/WordpressPage.js b/src/components/WordpressPage.js index 4fae97d1b..a32c97cac 100644 --- a/src/components/WordpressPage.js +++ b/src/components/WordpressPage.js @@ -1,7 +1,10 @@ import PropTypes from 'prop-types' -import { useMemo } from 'react' +import { useEffect, useMemo } from 'react' +import { useDispatch } from 'react-redux' import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import useToggleState from '~/hooks/useToggleState' +import { getWordpressPage } from '~/store/actions/wordpress' import { selectWordpressPageBySlug } from '~/store/selectors' @@ -15,26 +18,37 @@ import { selectWordpressPageBySlug } from '~/store/selectors' function WordpressPage ({ className, slug }) { - const { content } = useSelectorWithProps({ slug }, selectWordpressPageBySlug) ?? {} + const page = useSelectorWithProps({ slug }, selectWordpressPageBySlug) + const [loading, toggleLoading] = useToggleState(true) + + const dispatch = useDispatch() + + useEffect(() => { + const checkPageExistance = async () => { + if (!page) { + toggleLoading(true) + await dispatch(getWordpressPage(slug)) + } + toggleLoading(false) + } + checkPageExistance() + // eslint-disable-next-line react-hooks/exhaustive-deps -- only run on slug change. + }, [slug]) const renderedContent = useMemo(() => { - if (!content?.rendered) { - return null + if (!page?.content?.rendered) { + return undefined } - return content.rendered + return page.content.rendered .replace(/<ul>/giu, '<ul class="bulleted">') .replace(/<ol>/giu, '<ol class="numbered">') - }, [content?.rendered]) - - if (!renderedContent) { - return null - } + }, [page?.content?.rendered]) /* eslint-disable react/no-danger */ return ( <div - className={['article-content', className]} + className={['article-content', { error: !renderedContent && !loading }, className]} dangerouslySetInnerHTML={{ __html: renderedContent }} /> ) /* eslint-enable */ From fde66f0cd8859f88216f5b0c18abeb2ffa6567cf Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:01:10 +0000 Subject: [PATCH 206/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(TermsModal):=20re?= =?UTF-8?q?write=20to=20use=20<WordpressPage=20/>=20and=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TermsModal/TermsModal.js | 147 +++++------------------- 1 file changed, 31 insertions(+), 116 deletions(-) diff --git a/src/components/TermsModal/TermsModal.js b/src/components/TermsModal/TermsModal.js index 1b7c6d650..78ce5df95 100644 --- a/src/components/TermsModal/TermsModal.js +++ b/src/components/TermsModal/TermsModal.js @@ -1,82 +1,40 @@ -import React from 'react' +import { useCallback } from 'react' -import { connect } from '~/store' -import { selectWordpressPageBySlug } from '~/store/selectors' +import useToggleState from '~/hooks/useToggleState' import asModal, { ModalContent, ModalFooter } from '../asModal' +import WordpressPage from '../WordpressPage' import styles from './TermsModal.module.scss' +function TermsModal (props) { + const { + checkboxLabel, + onAccept, + slug, + title, + } = props -@asModal({ className: 'terms-dialog' }) -@connect -class TermsModal extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ + const [termsAccepted, toggleTermsAccepted] = useToggleState(false) + const handleTermsToggle = useCallback(() => { + toggleTermsAccepted() + }, [toggleTermsAccepted]) - state = { - termsAccepted: false, - loading: true, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleCheckboxChange = ({ target }) => { - return this.setState({ termsAccepted: target.checked }) - } - - _handleAccept = () => { - if (this.state.termsAccepted) { - this.props.onAccept?.() - } - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - async componentDidMount () { - const { - getWordpressPage, - page, - slug, - } = this.props - - if (!page) { - await getWordpressPage(slug) + const handleAcceptTerms = useCallback(() => { + if (termsAccepted) { + onAccept?.() } + }, [onAccept, termsAccepted]) - this.setState({ - loading: false, - }) - } - - renderFooter () { - const { - checkboxLabel, - title, - } = this.props + const checkboxId = `TermsDialog-${title.replace(/\s/gu, '')}-checkbox` - const { - termsAccepted, - } = this.state - - const checkboxId = `termsDialog-${title.replace(/\s/gu, '')}-checkbox` - - return ( + return ( + <> + <ModalContent className={[styles.content]}> + <WordpressPage slug={slug} /> + </ModalContent> <ModalFooter> <div className="secondary" /> <div className="primary"> @@ -87,69 +45,26 @@ class TermsModal extends React.Component { className="large" id={checkboxId} type="checkbox" - onChange={this._handleCheckboxChange} /> + onChange={handleTermsToggle} /> <label htmlFor={checkboxId}>{checkboxLabel}</label> </span> <button key="NextButton" disabled={!termsAccepted} type="button" - onClick={this._handleAccept}> + onClick={handleAcceptTerms}> {'Next'} </button> </div> </ModalFooter> - ) - } - - /* eslint-disable react/no-danger */ - renderWordpressPage () { - const { page } = this.props - - return Boolean(page) && ( - <div dangerouslySetInnerHTML={page && { __html: page.content.rendered.replace(/<ul>/giu, '<ul class="bulleted">').replace(/<ol>/giu, '<ol class="numbered">') }} /> - ) - } - /* eslint-enable react/no-danger */ - - render () { - const { - loading, - } = this.state - - const { - page, - } = this.props - - return ( - <> - <ModalContent className={[styles.content, { error: !loading && !page }]}> - {this.renderWordpressPage(page)} - </ModalContent> - {this.renderFooter()} - </> - ) - } - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['getWordpressPage'] - - static mapStateToProps = (state, ownProps) => { - return { - page: selectWordpressPageBySlug(state, ownProps), - } - } + </> + ) } -export default TermsModal +export default asModal({ + className: 'terms-dialog', +})(TermsModal) From db14e3e4c65798b0f18cae9832e9dccbdd9e5be8 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:01:31 +0000 Subject: [PATCH 207/300] =?UTF-8?q?=E2=9C=A8=20(useToggleState):=20add=20h?= =?UTF-8?q?ook=20for=20easy=20toggling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useToggleState.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/hooks/useToggleState.js diff --git a/src/hooks/useToggleState.js b/src/hooks/useToggleState.js new file mode 100644 index 000000000..57efc5070 --- /dev/null +++ b/src/hooks/useToggleState.js @@ -0,0 +1,17 @@ +import { useCallback, useState } from 'react' + +export default function useToggleState (initialState = false) { + const [state, setState] = useState(initialState) + + const toggleState = useCallback((nextState) => { + setState((curState) => { + return Boolean( + typeof nextState === 'function' + ? nextState(curState) ?? !curState + : nextState ?? !curState, + ) + }) + }, []) + + return [state, toggleState] +} From de2822a9c5f4063c7bcf139f71a94f63e082b613 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:02:00 +0000 Subject: [PATCH 208/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(wordpress-proxy-p?= =?UTF-8?q?age):=20rewrite=20to=20use=20<WordpressPage=20/>=20and=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/[slug].js | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/src/pages/[slug].js b/src/pages/[slug].js index eaf030788..f6fefb093 100644 --- a/src/pages/[slug].js +++ b/src/pages/[slug].js @@ -1,47 +1,18 @@ import { isError } from 'flux-standard-action' -import { useMemo } from 'react' -import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import WordpressPage from '~/components/WordpressPage' import { getWordpressPage } from '~/store/actions/wordpress' import { selectWordpressPageBySlug } from '~/store/selectors' import setError from '~/util/getInitialProps/setError' - -const selectPage = (state, props) => { - return selectWordpressPageBySlug(state, { slug: props.query?.slug }) ?? props.query?.page ?? {} -} - - function WordpressProxy (props) { - const { content } = useSelectorWithProps(props, selectPage) - - const renderedContent = useMemo(() => { - if (!content?.rendered) { - return null - } - - return content.rendered.replace(/<ul>/giu, '<ul class="bulleted">').replace(/<ol>/giu, '<ol class="numbered">') - }, [content?.rendered]) - - if (!renderedContent) { - return ( - <article className="error page-content" /> - ) - } - - /* eslint-disable react/no-danger */ return ( <article className="page-content"> - <div - className="article-content" - dangerouslySetInnerHTML={{ __html: renderedContent }} /> + <WordpressPage slug={props.query?.slug} /> </article> ) - /* eslint-enable */ } - - WordpressProxy.getInitialProps = async (ctx) => { const { query, store } = ctx const { slug } = query From b7d0cf339599b10d99ae58c4a698a80ede6dfc38 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:02:55 +0000 Subject: [PATCH 209/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20use=20a=20temporar?= =?UTF-8?q?y=20wrapper=20component=20to=20provide=20state=20props?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/admin/rescues/index.js | 37 +++++++++------------ src/pages/paperwork/[rescueId]/edit.js | 41 +++++++++-------------- src/pages/paperwork/[rescueId]/index.js | 43 ++++++++++--------------- 3 files changed, 48 insertions(+), 73 deletions(-) diff --git a/src/pages/admin/rescues/index.js b/src/pages/admin/rescues/index.js index bfaec8bdf..d8ffdf639 100644 --- a/src/pages/admin/rescues/index.js +++ b/src/pages/admin/rescues/index.js @@ -2,9 +2,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import debounce from 'lodash/debounce' import Link from 'next/link' import React from 'react' +import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { getRescues } from '~/store/actions/rescues' import { selectPageViewDataById, selectPageViewMetaById } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' @@ -24,7 +25,6 @@ const pageViewId = 'admin-rescue-list' @authenticated('rescue.write') -@connect class ListRescues extends React.Component { /***************************************************************************\ Class Properties @@ -59,14 +59,14 @@ class ListRescues extends React.Component { this.setState( { loading: true }, async () => { - await this.props.getRescues( + await this.props.dispatch(getRescues( this.state.client ? { 'client.ilike': `${this.state.client}%` } : { 'status.ne': 'closed' }, { pageView: pageViewId, }, - ) + )) this.setState({ loading: false }) }, @@ -186,27 +186,20 @@ class ListRescues extends React.Component { </div> ) } +} - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['getRescues'] - - static mapStateToProps = (state) => { - return { - rescues: selectPageViewDataById(state, { pageViewId }) || [], - meta: selectPageViewMetaById(state, { pageViewId }), - } +function connectState (Component) { + return (props) => { + return ( + <Component + {...props} + dispatch={useDispatch()} + meta={useSelectorWithProps({ pageViewId }, selectPageViewMetaById)} + rescues={useSelectorWithProps({ pageViewId }, selectPageViewDataById) ?? []} /> + ) } } - - - -export default ListRescues +export default connectState(ListRescues) diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index fa1acef27..dc7df156d 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -2,6 +2,7 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import Router from 'next/router' import React from 'react' +import { useDispatch } from 'react-redux' import { createSelector } from 'reselect' import { authenticated } from '~/components/AppLayout' @@ -10,8 +11,8 @@ import RadioInput from '~/components/RadioInput' import RatTagsInput from '~/components/RatTagsInput' import SystemTagsInput from '~/components/SystemTagsInput' import platformRadioOptions from '~/data/platformRadioOptions' -import { connect } from '~/store' -import { getRescue } from '~/store/actions/rescues' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { getRescue, updateRescue } from '~/store/actions/rescues' import { selectRatsByRescueId, selectRescueById, @@ -85,7 +86,6 @@ const outcomeRadioOptions = [ @authenticated -@connect class Paperwork extends React.Component { /***************************************************************************\ Properties @@ -250,7 +250,7 @@ class Paperwork extends React.Component { } } - const response = await this.props.updateRescue(updateData) + const response = await this.props.dispatch(updateRescue(updateData)) if (isError(response)) { this.setState({ error: true, submitting: false }) @@ -675,28 +675,19 @@ class Paperwork extends React.Component { system: ifDefined(changes.system, rescue.attributes.system ? { value: rescue.attributes.system.toUpperCase() } : null), } } +} - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['updateRescue', 'getRescue'] - - static mapStateToProps = (state, { query }) => { - return { - rats: selectFormattedRatsByRescueId(state, query), - rescue: selectRescueById(state, query), - userCanEdit: selectCurrentUserCanEditRescue(state, query), - } +export function connectState (Component) { + return (props) => { + return ( + <Component + {...props} + dispatch={useDispatch()} + rats={useSelectorWithProps(props.query, selectFormattedRatsByRescueId)} + rescue={useSelectorWithProps(props.query, selectRescueById)} + userCanEdit={useSelectorWithProps(props.query, selectCurrentUserCanEditRescue)} /> + ) } } - - - - -export default Paperwork +export default connectState(Paperwork) diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index de18dcb10..191281c3b 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -3,10 +3,11 @@ import { HttpStatus } from '@fuelrats/web-util/http' import Link from 'next/link' import Router from 'next/router' import React from 'react' +import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' -import { connect } from '~/store' -import { getRescue } from '~/store/actions/rescues' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { deleteRescue, getRescue } from '~/store/actions/rescues' import { selectRatsByRescueId, selectRescueById, @@ -24,7 +25,6 @@ import makePaperworkRoute from '~/util/router/makePaperworkRoute' @authenticated -@connect class Paperwork extends React.Component { /***************************************************************************\ Properties @@ -46,7 +46,7 @@ class Paperwork extends React.Component { _handleDeleteClick = async () => { if (this.state.deleteConfirm) { this.setState({ deleting: true }) - await this.props.deleteRescue(this.props.rescue) + await this.props.dispatch(deleteRescue(this.props.rescue)) Router.push( this.props.userCanWriteAll @@ -376,29 +376,20 @@ class Paperwork extends React.Component { </div> ) } +} - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['deleteRescue'] - - static mapStateToProps = (state, { query }) => { - return { - rats: selectRatsByRescueId(state, query) || [], - rescue: selectRescueById(state, query), - userCanEdit: selectCurrentUserCanEditRescue(state, query), - userCanWriteAll: selectCurrentUserHasScope(state, { scope: 'rescues.write' }), - } +export function connectState (Component) { + return (props) => { + return ( + <Component + {...props} + dispatch={useDispatch()} + rats={useSelectorWithProps(props.query, selectRatsByRescueId) ?? []} + rescue={useSelectorWithProps(props.query, selectRescueById)} + userCanEdit={useSelectorWithProps(props.query, selectCurrentUserCanEditRescue)} + userCanWriteAll={useSelectorWithProps({ scope: 'rescues.write' }, selectCurrentUserHasScope)} /> + ) } } - - - - -export default Paperwork +export default connectState(Paperwork) From e7b1c489281cd4a683198a9a93bcfb10f09d0855 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:31:43 +0000 Subject: [PATCH 210/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20abstract=20connect?= =?UTF-8?q?State=20to=20a=20temporary=20function=20available=20in=20state?= =?UTF-8?q?=20dir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/LoginModal/LoginModal.js | 37 ++++++++++------------- src/components/RatCard/RatCard.js | 39 +++++++++---------------- src/pages/admin/rescues/index.js | 21 +++++-------- src/pages/paperwork/[rescueId]/edit.js | 25 ++++++++-------- src/pages/paperwork/[rescueId]/index.js | 27 +++++++++-------- src/store/index.js | 29 ++++++++++++++++++ 6 files changed, 91 insertions(+), 87 deletions(-) diff --git a/src/components/LoginModal/LoginModal.js b/src/components/LoginModal/LoginModal.js index 814ad8a36..12356826f 100644 --- a/src/components/LoginModal/LoginModal.js +++ b/src/components/LoginModal/LoginModal.js @@ -1,5 +1,6 @@ import asModal, { ModalContent, useModalContext } from '~/components/asModal' -import { connect } from '~/store' +import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { connectState, useAction } from '~/store' import { setFlag } from '~/store/actions/flags' import { selectFlagByName } from '~/store/selectors' @@ -24,26 +25,20 @@ function LoginModal () { ) } -/* we're binding these via connect so they get passed to the modal wrapper */ -LoginModal.mapDispatchToProps = { - onClose: () => { - return setFlag('showLoginDialog', false) - }, -} -LoginModal.mapStateToProps = (state) => { - return { - isOpen: selectFlagByName(state, { name: 'showLoginDialog' }), - } -} -export default connect( - asModal( - { - className: 'login-dialog', - title: 'Login', - initialState: { view: 'login' }, - }, - )(LoginModal), -) + +const hideLoginDialog = setFlag.bind(null, 'showLoginDialog', false) +export default connectState(() => { + return { + onClose: useAction(hideLoginDialog), + isOpen: useSelectorWithProps({ name: 'showLoginDialog' }, selectFlagByName), + } +})(asModal( + { + className: 'login-dialog', + title: 'Login', + initialState: { view: 'login' }, + }, +)(LoginModal)) diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 7b4a997ba..1701a425f 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -1,10 +1,11 @@ import { isError } from 'flux-standard-action' import PropTypes from 'prop-types' -import React, { useCallback } from 'react' -import { useDispatch, useSelector } from 'react-redux' +import React from 'react' +import { useSelector } from 'react-redux' // import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { connectState, useAction } from '~/store' import { deleteRat as deleteRatAction, updateRat as updateRatAction } from '~/store/actions/rats' import { selectRatById, @@ -313,31 +314,17 @@ class RatCard extends React.Component { } } -// Dirty hack due to pending component rewrite. -function connectState (Component) { - return (props) => { - const dispatch = useDispatch() - const deleteRat = useCallback((...args) => { - return dispatch(deleteRatAction(...args)) - }, [dispatch]) - const updateRat = useCallback((...args) => { - return dispatch(updateRatAction(...args)) - }, [dispatch]) - - return ( - <Component - deleteRat={deleteRat} - rat={useSelectorWithProps(props, selectRatById)} - statistics={useSelectorWithProps(props, selectRatStatisticsById)} - updateRat={updateRat} - user={useSelector(withCurrentUserId(selectUserById))} - userDisplayRatId={useSelector(withCurrentUserId(selectDisplayRatIdByUserId))} - {...props} /> - ) - } -} -export default connectState(RatCard) +export default connectState((props) => { + return { + deleteRat: useAction(deleteRatAction), + updateRat: useAction(updateRatAction), + rat: useSelectorWithProps(props, selectRatById), + statistics: useSelectorWithProps(props, selectRatStatisticsById), + user: useSelector(withCurrentUserId(selectUserById)), + userDisplayRatId: useSelector(withCurrentUserId(selectDisplayRatIdByUserId)), + } +})(RatCard) diff --git a/src/pages/admin/rescues/index.js b/src/pages/admin/rescues/index.js index d8ffdf639..bfc1bbea1 100644 --- a/src/pages/admin/rescues/index.js +++ b/src/pages/admin/rescues/index.js @@ -6,6 +6,7 @@ import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { connectState } from '~/store' import { getRescues } from '~/store/actions/rescues' import { selectPageViewDataById, selectPageViewMetaById } from '~/store/selectors' import formatAsEliteDateTime from '~/util/date/formatAsEliteDateTime' @@ -189,17 +190,11 @@ class ListRescues extends React.Component { } -function connectState (Component) { - return (props) => { - return ( - <Component - {...props} - dispatch={useDispatch()} - meta={useSelectorWithProps({ pageViewId }, selectPageViewMetaById)} - rescues={useSelectorWithProps({ pageViewId }, selectPageViewDataById) ?? []} /> - ) - } -} - -export default connectState(ListRescues) +export default connectState(() => { + return { + dispatch: useDispatch(), + meta: useSelectorWithProps({ pageViewId }, selectPageViewMetaById), + rescues: useSelectorWithProps({ pageViewId }, selectPageViewDataById) ?? [], + } +})(ListRescues) diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index dc7df156d..a78f27bec 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -12,6 +12,7 @@ import RatTagsInput from '~/components/RatTagsInput' import SystemTagsInput from '~/components/SystemTagsInput' import platformRadioOptions from '~/data/platformRadioOptions' import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { connectState } from '~/store' import { getRescue, updateRescue } from '~/store/actions/rescues' import { selectRatsByRescueId, @@ -677,17 +678,15 @@ class Paperwork extends React.Component { } } -export function connectState (Component) { - return (props) => { - return ( - <Component - {...props} - dispatch={useDispatch()} - rats={useSelectorWithProps(props.query, selectFormattedRatsByRescueId)} - rescue={useSelectorWithProps(props.query, selectRescueById)} - userCanEdit={useSelectorWithProps(props.query, selectCurrentUserCanEditRescue)} /> - ) - } -} -export default connectState(Paperwork) + + + +export default connectState((props) => { + return { + dispatch: useDispatch(), + rats: useSelectorWithProps(props.query, selectFormattedRatsByRescueId), + rescue: useSelectorWithProps(props.query, selectRescueById), + userCanEdit: useSelectorWithProps(props.query, selectCurrentUserCanEditRescue), + } +})(Paperwork) diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index 191281c3b..324743ee1 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -7,6 +7,7 @@ import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' import useSelectorWithProps from '~/hooks/useSelectorWithProps' +import { connectState } from '~/store' import { deleteRescue, getRescue } from '~/store/actions/rescues' import { selectRatsByRescueId, @@ -378,18 +379,16 @@ class Paperwork extends React.Component { } } -export function connectState (Component) { - return (props) => { - return ( - <Component - {...props} - dispatch={useDispatch()} - rats={useSelectorWithProps(props.query, selectRatsByRescueId) ?? []} - rescue={useSelectorWithProps(props.query, selectRescueById)} - userCanEdit={useSelectorWithProps(props.query, selectCurrentUserCanEditRescue)} - userCanWriteAll={useSelectorWithProps({ scope: 'rescues.write' }, selectCurrentUserHasScope)} /> - ) - } -} -export default connectState(Paperwork) + + + +export default connectState((props) => { + return { + dispatch: useDispatch(), + rats: useSelectorWithProps(props.query, selectRatsByRescueId) ?? [], + rescue: useSelectorWithProps(props.query, selectRescueById), + userCanEdit: useSelectorWithProps(props.query, selectCurrentUserCanEditRescue), + userCanWriteAll: useSelectorWithProps({ scope: 'rescues.write' }, selectCurrentUserHasScope), + } +})(Paperwork) diff --git a/src/store/index.js b/src/store/index.js index f12ca77b0..0f67448fe 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,4 +1,6 @@ import { errorLoggerMiddleware } from '@fuelrats/web-util/redux-middleware' +import React, { useCallback } from 'react' +import { useDispatch } from 'react-redux' import { createStore, applyMiddleware } from 'redux' import { composeWithDevTools } from 'redux-devtools-extension' import thunkMiddleware from 'redux-thunk' @@ -22,6 +24,33 @@ if ($$BUILD.isDev) { +/** + * Transitionary method of connecting state to hard-to-refactor class components. + * DO NOT INTRODUCE TO NEW COMPONENTS + * + * @param {Function} stateProvider a function which returns an object of state values. hook-compatible + * @returns {React.FC} + */ +export function connectState (stateProvider) { + return (Component) => { + return (comProps) => { + const stateProps = stateProvider(comProps) ?? {} + return ( + <Component + {...comProps} + {...stateProps} /> + ) + } + } +} + +export function useAction (actionCreator) { + const dispatch = useDispatch() + return useCallback((...props) => { + return dispatch(actionCreator(...props)) + }, [actionCreator, dispatch]) +} + export const initStore = (state = initialState) => { return createStore(reducer, state, composeWithDevTools(applyMiddleware(...middlewares))) From 7f8aff2c3255cacc092dc8e541dfa50056583998 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 05:59:27 +0000 Subject: [PATCH 211/300] =?UTF-8?q?=F0=9F=90=9B=20fix=20conflict=20between?= =?UTF-8?q?=20loading=20and=20error=20spinners?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/components/_error.scss | 2 -- src/scss/components/_loading.scss | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/scss/components/_error.scss b/src/scss/components/_error.scss index 43e587661..06b1ceb75 100644 --- a/src/scss/components/_error.scss +++ b/src/scss/components/_error.scss @@ -1,8 +1,6 @@ @use 'sass:math'; .error:empty { - position: relative; - &::after, &::before { display: flex; diff --git a/src/scss/components/_loading.scss b/src/scss/components/_loading.scss index ea4be8884..f99fcecf8 100644 --- a/src/scss/components/_loading.scss +++ b/src/scss/components/_loading.scss @@ -1,10 +1,8 @@ @use 'sass:math'; -.loading { +.loading:not(.error) { &:empty, &.loader-force { - position: relative; - &::after, &::before { display: flex; From 8f737584a76eb677c77687719bd6c6b319d319c8 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 06:00:03 +0000 Subject: [PATCH 212/300] =?UTF-8?q?=F0=9F=94=A5=20(TermsModal):=20remove?= =?UTF-8?q?=20loader=20from=20wordpress=20page=20wrapping=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TermsModal/TermsModal.module.scss | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/components/TermsModal/TermsModal.module.scss b/src/components/TermsModal/TermsModal.module.scss index 5c6ddd43c..b84633cc5 100644 --- a/src/components/TermsModal/TermsModal.module.scss +++ b/src/components/TermsModal/TermsModal.module.scss @@ -1,6 +1,3 @@ .content { - composes: loading from global; - composes: loader-dark from global; - min-height: 250px; } From d471f46cfcddec03af1e0748abc6a5489519eb5a Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 06:00:24 +0000 Subject: [PATCH 213/300] =?UTF-8?q?=F0=9F=90=9B=20ensure=20proper=20styles?= =?UTF-8?q?=20are=20applied=20for=20loading=20and=20error=20displaying?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TermsModal/TermsModal.js | 4 ++-- src/components/WordpressPage.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/TermsModal/TermsModal.js b/src/components/TermsModal/TermsModal.js index 78ce5df95..8236574ed 100644 --- a/src/components/TermsModal/TermsModal.js +++ b/src/components/TermsModal/TermsModal.js @@ -32,8 +32,8 @@ function TermsModal (props) { return ( <> - <ModalContent className={[styles.content]}> - <WordpressPage slug={slug} /> + <ModalContent as="article" className={[styles.content]}> + <WordpressPage className="loader-dark" slug={slug} /> </ModalContent> <ModalFooter> <div className="secondary" /> diff --git a/src/components/WordpressPage.js b/src/components/WordpressPage.js index a32c97cac..66c7e0de8 100644 --- a/src/components/WordpressPage.js +++ b/src/components/WordpressPage.js @@ -48,7 +48,7 @@ function WordpressPage ({ className, slug }) { /* eslint-disable react/no-danger */ return ( <div - className={['article-content', { error: !renderedContent && !loading }, className]} + className={['article-content loading', { error: !renderedContent && !loading }, className]} dangerouslySetInnerHTML={{ __html: renderedContent }} /> ) /* eslint-enable */ From 3c62e2c8b93e0fcb3a580644aab6268b72f19cef Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 07:10:20 +0000 Subject: [PATCH 214/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20useAction=20was=20?= =?UTF-8?q?a=20mistake.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/LoginModal/LoginModal.js | 11 +++++++---- src/components/RatCard/RatCard.js | 22 +++++++++------------- src/store/index.js | 23 ++++++++++------------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/components/LoginModal/LoginModal.js b/src/components/LoginModal/LoginModal.js index 12356826f..c4f26ff96 100644 --- a/src/components/LoginModal/LoginModal.js +++ b/src/components/LoginModal/LoginModal.js @@ -1,6 +1,8 @@ +import { useCallback } from 'react' + import asModal, { ModalContent, useModalContext } from '~/components/asModal' import useSelectorWithProps from '~/hooks/useSelectorWithProps' -import { connectState, useAction } from '~/store' +import { connectState } from '~/store' import { setFlag } from '~/store/actions/flags' import { selectFlagByName } from '~/store/selectors' @@ -29,10 +31,11 @@ function LoginModal () { -const hideLoginDialog = setFlag.bind(null, 'showLoginDialog', false) -export default connectState(() => { +export default connectState((_, dispatch) => { return { - onClose: useAction(hideLoginDialog), + onClose: useCallback(() => { + return dispatch(setFlag('showLoginDialog', false)) + }, [dispatch]), isOpen: useSelectorWithProps({ name: 'showLoginDialog' }, selectFlagByName), } })(asModal( diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 1701a425f..79cac5027 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -5,8 +5,8 @@ import { useSelector } from 'react-redux' // import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import useSelectorWithProps from '~/hooks/useSelectorWithProps' -import { connectState, useAction } from '~/store' -import { deleteRat as deleteRatAction, updateRat as updateRatAction } from '~/store/actions/rats' +import { connectState } from '~/store' +import { deleteRat, updateRat } from '~/store/actions/rats' import { selectRatById, selectUserById, @@ -70,8 +70,7 @@ class RatCard extends React.Component { } = this.state const { - updateRat, - deleteRat, + dispatch, rat, user, } = this.props @@ -82,16 +81,16 @@ class RatCard extends React.Component { submitting: 'delete', }) - deleteRat(user, rat) + dispatch(deleteRat(user, rat)) return } this.setState({ submitting: true }) - await updateRat({ + await dispatch(updateRat({ id: rat.id, attributes: changes, - }) + })) this.setState({ changes: {}, @@ -142,12 +141,12 @@ class RatCard extends React.Component { } _handleOdysseySwitch = () => { - return this.props.updateRat({ + return this.props.dispatch(updateRat({ id: this.props.rat.id, attributes: { odyssey: !this.props.rat.attributes.odyssey, }, - }) + })) } @@ -303,12 +302,11 @@ class RatCard extends React.Component { static propTypes = { className: PropTypes.string, - deleteRat: PropTypes.func, + dispatch: PropTypes.func.isRequired, rat: PropTypes.object, // eslint-disable-next-line react/no-unused-prop-types -- ratId is used in state mapping ratId: PropTypes.string.isRequired, statistics: PropTypes.object, - updateRat: PropTypes.func, user: PropTypes.object, userDisplayRatId: PropTypes.string, } @@ -320,8 +318,6 @@ class RatCard extends React.Component { export default connectState((props) => { return { - deleteRat: useAction(deleteRatAction), - updateRat: useAction(updateRatAction), rat: useSelectorWithProps(props, selectRatById), statistics: useSelectorWithProps(props, selectRatStatisticsById), user: useSelector(withCurrentUserId(selectUserById)), diff --git a/src/store/index.js b/src/store/index.js index 0f67448fe..b3a130c2b 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -26,32 +26,29 @@ if ($$BUILD.isDev) { /** * Transitionary method of connecting state to hard-to-refactor class components. + * + * Provides state returned by the provider function and automatically attaches the dispatch() function. + * * DO NOT INTRODUCE TO NEW COMPONENTS * - * @param {Function} stateProvider a function which returns an object of state values. hook-compatible + * @param {Function} stateProvider a function which returns an object of state values. hook-compatible. props and dispatch are available through arguments. * @returns {React.FC} */ export function connectState (stateProvider) { return (Component) => { - return (comProps) => { - const stateProps = stateProvider(comProps) ?? {} + return (props) => { + const dispatch = useDispatch() + const stateProps = stateProvider?.(props, dispatch) ?? {} return ( <Component - {...comProps} - {...stateProps} /> + {...props} + {...stateProps} + dispatch={dispatch} /> ) } } } -export function useAction (actionCreator) { - const dispatch = useDispatch() - return useCallback((...props) => { - return dispatch(actionCreator(...props)) - }, [actionCreator, dispatch]) -} - - export const initStore = (state = initialState) => { return createStore(reducer, state, composeWithDevTools(applyMiddleware(...middlewares))) } From 6a6b14f06c96d385935b7acd9c2d6483c1bb3c0f Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 07:35:16 +0000 Subject: [PATCH 215/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(RatLeaderboardTab?= =?UTF-8?q?le):=20separate=20columns=20out=20from=20class,=20use=20tempora?= =?UTF-8?q?ry=20connectState=20decorator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/RatLeaderboardTable.js | 146 ++++++++++++-------------- 1 file changed, 65 insertions(+), 81 deletions(-) diff --git a/src/components/RatLeaderboardTable.js b/src/components/RatLeaderboardTable.js index f06fca5d6..cad399c02 100644 --- a/src/components/RatLeaderboardTable.js +++ b/src/components/RatLeaderboardTable.js @@ -1,9 +1,10 @@ import _debounce from 'lodash/debounce' import React from 'react' +import { useSelector } from 'react-redux' import ReactTable from 'react-table-6' -import { createStructuredSelector } from 'reselect' -import { connect } from '~/store' +import { connectState } from '~/store' +import { getLeaderboard } from '~/store/actions/statistics' import { selectLeaderboard, selectLeaderboardStatistics, @@ -21,25 +22,63 @@ import RescueAchievementIcon from './Leaderboard/RescueAchievementIcon' const FETCH_DATA_DEBOUNCE = 500 const DEFAULT_PAGE_SIZE = 25 - -const renderBadgeCell = ({ value }) => { - const { - codeRedCount, - joinedAt, - rescueCount, - } = value.attributes - - return ( - <div className="badge-list"> - <RescueAchievementIcon className="size-32 fixed" rescueCount={rescueCount} /> - <CodeRedIcon className="size-32 fixed" codeRedCount={codeRedCount} /> - <FirstYearIcon className="size-32 fixed" createdAt={joinedAt} /> - </div> - ) -} - - -@connect +const columns = [ + { + accessor: 'attributes.preferredName', + className: 'name', + Header: 'Name', + headerClassName: 'name-header', + id: 'name', + minWidth: 125, + }, + { + accessor: 'attributes.rescueCount', + className: 'rescues', + Header: 'Rescues', + headerClassName: 'rescues-header', + id: 'rescues', + filterable: false, + minWidth: 60, + maxWidth: 80, + }, + { + accessor: (datum) => { + return datum + }, + className: 'badges', + Header: 'Badges', + headerClassName: 'badges-header', + id: 'badges', + minWidth: 150, + maxWidth: 200, + filterable: false, + Cell: ({ value }) => { + const { + codeRedCount, + joinedAt, + rescueCount, + } = value.attributes + + return ( + <div className="badge-list"> + <RescueAchievementIcon className="size-32 fixed" rescueCount={rescueCount} /> + <CodeRedIcon className="size-32 fixed" codeRedCount={codeRedCount} /> + <FirstYearIcon className="size-32 fixed" createdAt={joinedAt} /> + </div> + ) + }, + }, +] + + + + +@connectState(() => { + return { + statistics: useSelector(selectLeaderboardStatistics), + entries: useSelector(selectLeaderboard), + } +}) class RatLeaderboardTable extends React.Component { /***************************************************************************\ Class Properties @@ -51,7 +90,7 @@ class RatLeaderboardTable extends React.Component { _fetchData = async (state) => { - await this.props.getLeaderboard({ + await this.props.dispatch(getLeaderboard({ filter: { name: state.filtered.length > 0 ? `%${state.filtered[0]?.value}%` : undefined, }, @@ -59,7 +98,7 @@ class RatLeaderboardTable extends React.Component { offset: state.page * state.pageSize, limit: state.pageSize, }, - }) + })) this.setState({ loading: false }) } @@ -81,11 +120,11 @@ class RatLeaderboardTable extends React.Component { async componentDidMount () { if (!this.props.statistics?.page) { // page would be undefined if we haven't grabbed the leaderboard yet. - await this.props.getLeaderboard({ + await this.props.dispatch(getLeaderboard({ page: { limit: DEFAULT_PAGE_SIZE, }, - }) + })) } this.setState({ loading: false }) @@ -107,7 +146,7 @@ class RatLeaderboardTable extends React.Component { filterable manual className="rat-leaderboard -striped" - columns={this.columns} + columns={columns} data={entries ?? []} loading={loading} pages={statistics.lastPage} @@ -117,61 +156,6 @@ class RatLeaderboardTable extends React.Component { </section> ) } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - get columns () { - if (!this._columns) { - this._columns = [ - { - accessor: 'attributes.preferredName', - className: 'name', - Header: 'Name', - headerClassName: 'name-header', - id: 'name', - minWidth: 125, - }, - { - accessor: 'attributes.rescueCount', - className: 'rescues', - Header: 'Rescues', - headerClassName: 'rescues-header', - id: 'rescues', - filterable: false, - minWidth: 60, - maxWidth: 80, - }, - { - accessor: (datum) => { - return datum - }, - className: 'badges', - Header: 'Badges', - headerClassName: 'badges-header', - id: 'badges', - minWidth: 150, - maxWidth: 200, - filterable: false, - Cell: renderBadgeCell, - }, - ] - } - - return this._columns - } - - static mapDispatchToProps = ['getLeaderboard'] - - static mapStateToProps = createStructuredSelector({ - statistics: selectLeaderboardStatistics, - entries: selectLeaderboard, - }) } From 6111171eed38645c29e03c43d4cf098de3d39588 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 07:35:50 +0000 Subject: [PATCH 216/300] =?UTF-8?q?=F0=9F=90=9B=20(headers-conf):=20add=20?= =?UTF-8?q?data=20objects=20to=20object-src?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/headers.config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index 3f0947229..ba9f5d898 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -12,10 +12,10 @@ module.exports = (env) => { headers: nextSafe({ isDev: env.isDev, contentSecurityPolicy: { - 'default-src': ["'self'", '*.fuelrats.com', 'blob:'], + 'default-src': ["'self'", '*.fuelrats.com'], 'script-src': ["'self'", '*.stripe.com'], 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], - 'object-src': ["'self'"], + 'object-src': ["'self'", 'data:'], 'font-src': ["'self'", 'fonts.gstatic.com'], 'style-src': ["'self'", 'fonts.googleapis.com'], 'img-src': ["'self'", '*.wp.com', 'blob:', 'data:'], From da530116b7066e86fcb2bd2c7a51c01cb37f223c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 07:37:49 +0000 Subject: [PATCH 217/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(DefaultRatButton)?= =?UTF-8?q?:=20rewrite=20to=20hooks-based=20function=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/RatCard/DefaultRatButton.js | 139 +++++---------------- 1 file changed, 33 insertions(+), 106 deletions(-) diff --git a/src/components/RatCard/DefaultRatButton.js b/src/components/RatCard/DefaultRatButton.js index cb5ed3573..d57d05ece 100644 --- a/src/components/RatCard/DefaultRatButton.js +++ b/src/components/RatCard/DefaultRatButton.js @@ -1,8 +1,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import PropTypes from 'prop-types' -import React from 'react' +import { useCallback } from 'react' +import { useDispatch, useSelector } from 'react-redux' -import { connect } from '~/store' +import { updateUser } from '~/store/actions/user' import { selectCurrentUserId, selectDisplayRatIdByUserId, @@ -13,36 +14,20 @@ import { -@connect -class DefaultRatButton extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ +function DefaultRatButton (props) { + const { + ratId, + onClick, + onUpdate, + } = props + const dispatch = useDispatch() + const userId = useSelector(selectCurrentUserId) + const isDefaultRat = useSelector(withCurrentUserId(selectDisplayRatIdByUserId)) === ratId - state = {} + const handleClick = useCallback(async (event) => { + await onClick?.(event) - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleClick = async (event) => { - const { - updateUser, - userId, - ratId, - onClick, - onUpdate, - } = this.props - - if (onClick) { - await onClick(event) - } - - const response = await updateUser({ + const response = await dispatch(updateUser({ id: userId, attributes: {}, relationships: { @@ -53,87 +38,29 @@ class DefaultRatButton extends React.Component { }, }, }, - }) + })) if (onUpdate) { onUpdate(response) } - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - isDefaultRat, - } = this - return ( - <button - className="inline display-rat-button" - disabled={isDefaultRat} - title={isDefaultRat ? 'This rat represents you.' : 'Use this rat to represent you. (Display Rat)'} - type="button" - onClick={this._handleClick}> - <FontAwesomeIcon fixedWidth icon="id-card-alt" size="lg" /> - </button> - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - get isDefaultRat () { - const { - displayRatId, - ratId, - } = this.props - - return displayRatId === ratId - } - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['updateUser'] - - static mapStateToProps = (state) => { - return { - userId: selectCurrentUserId(state), - displayRatId: withCurrentUserId(selectDisplayRatIdByUserId)(state), - } - } - - - - - - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - - static defaultProps = {} + }, [dispatch, onClick, onUpdate, ratId, userId]) + + return ( + <button + className="inline display-rat-button" + disabled={isDefaultRat} + title={isDefaultRat ? 'This rat represents you.' : 'Use this rat to represent you. (Display Rat)'} + type="button" + onClick={handleClick}> + <FontAwesomeIcon fixedWidth icon="id-card-alt" size="lg" /> + </button> + ) +} - static propTypes = { - displayRatId: PropTypes.string, - onClick: PropTypes.func, - onUpdate: PropTypes.func, - ratId: PropTypes.string.isRequired, - updateUser: PropTypes.func, - userId: PropTypes.string, - } +DefaultRatButton.propTypes = { + onClick: PropTypes.func, + onUpdate: PropTypes.func, + ratId: PropTypes.string.isRequired, } From aa43f7ed1a0ac2201b2838ea19ccf5facaa062b9 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 08:47:22 +0000 Subject: [PATCH 218/300] =?UTF-8?q?=E2=9C=A8=20(useForm):=20add=20resetFor?= =?UTF-8?q?m=20function=20thats=20passed=20to=20submit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useDeltaReducer.js | 8 +++++++- src/hooks/useForm/useForm.js | 15 ++++++++++++--- src/hooks/useObjectReducer.js | 10 ++++++++-- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/hooks/useDeltaReducer.js b/src/hooks/useDeltaReducer.js index 4552a92f3..e58a72e35 100644 --- a/src/hooks/useDeltaReducer.js +++ b/src/hooks/useDeltaReducer.js @@ -13,7 +13,11 @@ import isEqual from '~/util/isEqual' export default function useDeltaReducer (initialState) { const deltaReducer = useCallback( (draft, action) => { - const { name, value } = action + const { name, value, clear } = action + if (clear) { + return {} + } + const initialValue = _get(initialState, name) if (isEqual(initialValue, value)) { @@ -21,6 +25,8 @@ export default function useDeltaReducer (initialState) { } else { _set(draft, name, value) } + + return undefined }, [initialState], ) diff --git a/src/hooks/useForm/useForm.js b/src/hooks/useForm/useForm.js index 6d8cd80e9..755c4efa7 100644 --- a/src/hooks/useForm/useForm.js +++ b/src/hooks/useForm/useForm.js @@ -93,14 +93,22 @@ export default function useForm (config = {}) { [dispatchValidity], ) + const resetForm = useCallback(() => { + dispatchState({ fragment: initialStateRef.current }) + validateAll(initialStateRef.current) + if (trackDelta) { + dispatchDelta({ clear: true }) + } + }, [dispatchDelta, dispatchState, trackDelta, validateAll]) + const handleSubmit = useCallback( async (event) => { event.preventDefault() setSubmit(true) - await parentSubmit(state, stateDelta) + await parentSubmit(state, stateDelta, resetForm) setSubmit(false) }, - [parentSubmit, state, stateDelta], + [parentSubmit, resetForm, state, stateDelta], ) const ctxRef = useRef({ ctx: {} }) @@ -115,6 +123,7 @@ export default function useForm (config = {}) { submitting, dispatchField, dispatchValidity, + resetForm, }, registerValidator, validateAll, @@ -123,7 +132,7 @@ export default function useForm (config = {}) { } }, [ - __init, dispatchField, dispatchValidity, + __init, dispatchField, dispatchValidity, resetForm, handleSubmit, isValid, registerValidator, state, submitting, validateAll, validateField, diff --git a/src/hooks/useObjectReducer.js b/src/hooks/useObjectReducer.js index 00fa5b6fc..4f202c243 100644 --- a/src/hooks/useObjectReducer.js +++ b/src/hooks/useObjectReducer.js @@ -3,12 +3,17 @@ import _set from 'lodash/set' import _unset from 'lodash/unset' import { useImmerReducer } from 'use-immer' +import { mergeReducer } from './useMergeReducer' + const stateReducer = (draft, action) => { - const { name, value } = action - const curValue = _get(draft, name) + const { name, value, fragment } = action + if (fragment) { + return mergeReducer(draft, fragment) + } + const curValue = _get(draft, name) if (curValue !== value) { if (typeof value === 'undefined') { _unset(draft, name) @@ -16,6 +21,7 @@ const stateReducer = (draft, action) => { _set(draft, name, value) } } + return undefined } From e33b35ce48551348bf0da69a2c1f2534594620de Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 08:48:04 +0000 Subject: [PATCH 219/300] =?UTF-8?q?=F0=9F=90=9B=20(UserNicknamesPanel):=20?= =?UTF-8?q?fix=20style=20bleed=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserNicknamesPanel/UserNicknamesPanel.js | 2 +- .../UserNicknamesPanel.module.scss | 21 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/components/UserNicknamesPanel/UserNicknamesPanel.js b/src/components/UserNicknamesPanel/UserNicknamesPanel.js index f6b328954..34fd017b8 100644 --- a/src/components/UserNicknamesPanel/UserNicknamesPanel.js +++ b/src/components/UserNicknamesPanel/UserNicknamesPanel.js @@ -75,7 +75,7 @@ function UserNicknamesPanel () { <MessageBox>{error}</MessageBox> ) } - <ul> + <ul className={styles.nickList}> { (nickCount <= 0) && ( <li className="text-center">{'You do not have any nicknames registered yet.'}</li> diff --git a/src/components/UserNicknamesPanel/UserNicknamesPanel.module.scss b/src/components/UserNicknamesPanel/UserNicknamesPanel.module.scss index 0e8c9976c..05d302c15 100644 --- a/src/components/UserNicknamesPanel/UserNicknamesPanel.module.scss +++ b/src/components/UserNicknamesPanel/UserNicknamesPanel.module.scss @@ -5,22 +5,21 @@ padding: 0.5rem 0 0; overflow: visible; +} +.nickList > li { + display: flex; - ul > li { - display: flex; - - justify-content: space-between; + justify-content: space-between; - padding: 0.5rem 1rem; + padding: 0.5rem 1rem; - &:nth-child(even) { - background-color: $light-grey; - } + &:nth-child(even) { + background-color: $light-grey; + } - span { - word-break: break-word; - } + span { + word-break: break-word; } } From fa67d74028306cb9dc28cf068ee5ec72dd3d7cb1 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 08:49:34 +0000 Subject: [PATCH 220/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(AddNicknameForm):?= =?UTF-8?q?=20rewrite=20as=20hooks-based=20function=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddNicknameForm/AddNicknameForm.js | 172 +++++------------- .../AddNicknameForm.module.scss | 17 +- src/scss/animations/_toast-fade.scss | 17 ++ 3 files changed, 78 insertions(+), 128 deletions(-) create mode 100644 src/scss/animations/_toast-fade.scss diff --git a/src/components/AddNicknameForm/AddNicknameForm.js b/src/components/AddNicknameForm/AddNicknameForm.js index 453376db1..35a23f7e6 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.js +++ b/src/components/AddNicknameForm/AddNicknameForm.js @@ -1,152 +1,78 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' -import React from 'react' +import { useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' import InfoBubble from '~/components/InfoBubble' -import ValidatedFormInput from '~/components/ValidatedFormInput' -import { ircNickPattern } from '~/data/RegExpr' -import { connect } from '~/store' +import useForm from '~/hooks/useForm' +import { addNickname } from '~/store/actions/user' import { selectUserById, withCurrentUserId } from '~/store/selectors' +import IRCNickFieldset from '../Fieldsets/IRCNickFieldset' import styles from './AddNicknameForm.module.scss' +const formData = { + attributes: { + nick: '', + }, +} +function AddNicknameForm (props) { + const user = useSelector(withCurrentUserId(selectUserById)) + const [error, setSubmitError] = useState(null) + const dispatch = useDispatch() -@connect -class AddNicknameForm extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = { - error: null, - nickname: '', - submitting: false, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleSubmit = async (event) => { - const { - addNickname, - user, - } = this.props - const { - nickname, - } = this.state - event.preventDefault() - - this.setState({ submitting: true }) - - const response = await addNickname(user, { attributes: { nick: nickname } }) + const onSubmit = async (data, _, reset) => { + const response = await dispatch(addNickname(user, data)) if (isError(response)) { const { meta, payload } = response let errorMessage = 'Unknown error occured.' - if (HttpStatus.isClientError(meta.response.status)) { - errorMessage = payload.errors && payload.errors.length ? payload.errors[0].title : 'Client communication error' - } - - if (HttpStatus.isServerError(meta.response.status)) { - errorMessage = 'Server communication error' - } - - if (meta.response.status === HttpStatus.CONFLICT) { - errorMessage = 'Nickname already registered' - } - if (meta.response.status === HttpStatus.UNPROCESSABLE_ENTITY) { errorMessage = 'Nickname invalid' + } else if (meta.response.status === HttpStatus.CONFLICT) { + errorMessage = 'Nickname already registered' + } else if (HttpStatus.isClientError(meta.response.status)) { + errorMessage = payload?.errors?.[0]?.title ?? 'Client communication error' + } else if (HttpStatus.isServerError(meta.response.status)) { + errorMessage = 'Server communication error' } - this.setState({ - error: errorMessage, - }) + setSubmitError(errorMessage) } - this.setState({ - nickname: '', - submitting: false, - }) - } - - _handleChange = (event) => { - this.setState({ [event.target.name]: event.target.value }) - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - error, - nickname, - submitting, - } = this.state - - return ( - <form - className={styles.addNicknameForm} - onSubmit={this._handleSubmit}> - <ValidatedFormInput - className={[styles.thinInput, error && styles.error]} - disabled={this.props.disabled} - id="AddNickname" - label="Nickname" - name="nickname" - pattern={ircNickPattern} - patternMessage="Nickname must start with a letter, contain no spaces, and be between 2-30 characters" - placeholder={error || 'Add a nickname...'} - title={this.props.title} - type="text" - value={nickname} - onChange={this._handleChange}> - <InfoBubble className={styles.nicknamesInfo} header="reminder" id="NickRegisterReminder"> - {"You cannot register a nick that's in use on IRC. Switch to a temporary one before registering!"} - </InfoBubble> - </ValidatedFormInput> - - <button - aria-label="submit new nickname" - className="green compact" - disabled={!nickname || submitting} - type="submit"> - <FontAwesomeIcon fixedWidth icon="check" /> - </button> - </form> - ) + reset() } - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['addNickname'] - - static mapStateToProps = (state) => { - return { - user: withCurrentUserId(selectUserById)(state), - } - } + const { Form, canSubmit } = useForm({ onSubmit, data: formData }) + + return ( + <Form className={styles.addNicknameForm}> + <IRCNickFieldset + aria-label="Nickname" + className={[styles.thinInput, error && styles.error]} + id="AddNickname" + name="attributes.nick" + placeholder={error ?? 'Add a nickname...'} + title={props.title}> + <InfoBubble className={styles.nicknamesInfo} header="reminder" id="NickRegisterReminder"> + {"You cannot register a nick that's in use on IRC. Switch to a temporary one before registering!"} + </InfoBubble> + </IRCNickFieldset> + + <button + aria-label="submit new nickname" + className="green compact" + disabled={!canSubmit} + type="submit"> + <FontAwesomeIcon fixedWidth icon="arrow-right" /> + </button> + </Form> + ) } diff --git a/src/components/AddNicknameForm/AddNicknameForm.module.scss b/src/components/AddNicknameForm/AddNicknameForm.module.scss index 8a665d5e3..a1e56a6db 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.module.scss +++ b/src/components/AddNicknameForm/AddNicknameForm.module.scss @@ -1,3 +1,4 @@ +@import '../../scss/animations/toast-fade'; @import '../../scss/colors'; .addNicknameForm { @@ -25,7 +26,13 @@ } .thinInput { - padding: 0.6rem 1rem; + :global(.validityIconGroup) { + padding: 0.625rem 1rem; /* extra .025 for centering. */ + } + + > input { + padding: 0.6rem 1rem; + } } .error, @@ -42,12 +49,12 @@ pointer-events: none; position: absolute; - top: 5rem; + top: -8rem; opacity: 0; - transition: opacity 0.2s; + will-change: opacity; } -input:focus ~ .nicknamesInfo { - opacity: 1; +input:placeholder-shown:focus ~ .nicknamesInfo { + animation: toast-fade 3s linear; } diff --git a/src/scss/animations/_toast-fade.scss b/src/scss/animations/_toast-fade.scss new file mode 100644 index 000000000..3ef437c03 --- /dev/null +++ b/src/scss/animations/_toast-fade.scss @@ -0,0 +1,17 @@ +@keyframes toast-fade { + 0% { + opacity: 0; + } + + 5% { + opacity: 1; + } + + 80% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} From 93860798e7a07e4f32146bacef4cd15f45d7a550 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 08:53:34 +0000 Subject: [PATCH 221/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(AddNicknameForm):?= =?UTF-8?q?=20move=20to=20forms=20dir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddNicknameForm/AddNicknameForm.js | 15 ++++++++------- .../AddNicknameForm/AddNicknameForm.module.scss | 4 ++-- .../{ => Forms}/AddNicknameForm/index.js | 0 .../UserNicknamesPanel/UserNicknamesPanel.js | 6 +++--- 4 files changed, 13 insertions(+), 12 deletions(-) rename src/components/{ => Forms}/AddNicknameForm/AddNicknameForm.js (85%) rename src/components/{ => Forms}/AddNicknameForm/AddNicknameForm.module.scss (90%) rename src/components/{ => Forms}/AddNicknameForm/index.js (100%) diff --git a/src/components/AddNicknameForm/AddNicknameForm.js b/src/components/Forms/AddNicknameForm/AddNicknameForm.js similarity index 85% rename from src/components/AddNicknameForm/AddNicknameForm.js rename to src/components/Forms/AddNicknameForm/AddNicknameForm.js index 35a23f7e6..1719e1417 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.js +++ b/src/components/Forms/AddNicknameForm/AddNicknameForm.js @@ -1,19 +1,19 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' -import { useState } from 'react' +import { useCallback, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import IRCNickFieldset from '~/components/Fieldsets/IRCNickFieldset' import InfoBubble from '~/components/InfoBubble' import useForm from '~/hooks/useForm' import { addNickname } from '~/store/actions/user' import { selectUserById, withCurrentUserId } from '~/store/selectors' -import IRCNickFieldset from '../Fieldsets/IRCNickFieldset' import styles from './AddNicknameForm.module.scss' -const formData = { +const initialState = { attributes: { nick: '', }, @@ -25,7 +25,7 @@ function AddNicknameForm (props) { const [error, setSubmitError] = useState(null) const dispatch = useDispatch() - const onSubmit = async (data, _, reset) => { + const onSubmit = useCallback(async (data, _, reset) => { const response = await dispatch(addNickname(user, data)) if (isError(response)) { @@ -46,15 +46,16 @@ function AddNicknameForm (props) { } reset() - } + }, [dispatch, user]) - const { Form, canSubmit } = useForm({ onSubmit, data: formData }) + const { Form, canSubmit } = useForm({ onSubmit, data: initialState }) return ( <Form className={styles.addNicknameForm}> <IRCNickFieldset aria-label="Nickname" className={[styles.thinInput, error && styles.error]} + disabled={props.disabled} id="AddNickname" name="attributes.nick" placeholder={error ?? 'Add a nickname...'} @@ -67,7 +68,7 @@ function AddNicknameForm (props) { <button aria-label="submit new nickname" className="green compact" - disabled={!canSubmit} + disabled={!canSubmit || props.disabled} type="submit"> <FontAwesomeIcon fixedWidth icon="arrow-right" /> </button> diff --git a/src/components/AddNicknameForm/AddNicknameForm.module.scss b/src/components/Forms/AddNicknameForm/AddNicknameForm.module.scss similarity index 90% rename from src/components/AddNicknameForm/AddNicknameForm.module.scss rename to src/components/Forms/AddNicknameForm/AddNicknameForm.module.scss index a1e56a6db..96f261d49 100644 --- a/src/components/AddNicknameForm/AddNicknameForm.module.scss +++ b/src/components/Forms/AddNicknameForm/AddNicknameForm.module.scss @@ -1,5 +1,5 @@ -@import '../../scss/animations/toast-fade'; -@import '../../scss/colors'; +@import '../../../scss/animations/toast-fade'; +@import '../../../scss/colors'; .addNicknameForm { display: flex; diff --git a/src/components/AddNicknameForm/index.js b/src/components/Forms/AddNicknameForm/index.js similarity index 100% rename from src/components/AddNicknameForm/index.js rename to src/components/Forms/AddNicknameForm/index.js diff --git a/src/components/UserNicknamesPanel/UserNicknamesPanel.js b/src/components/UserNicknamesPanel/UserNicknamesPanel.js index 34fd017b8..191c6ec68 100644 --- a/src/components/UserNicknamesPanel/UserNicknamesPanel.js +++ b/src/components/UserNicknamesPanel/UserNicknamesPanel.js @@ -4,6 +4,9 @@ import { isError } from 'flux-standard-action' import { useCallback, useState } from 'react' import { useDispatch, useSelector } from 'react-redux' +import ConfirmActionButton from '~/components/ConfirmActionButton' +import AddNicknameForm from '~/components/Forms/AddNicknameForm/AddNicknameForm' +import MessageBox from '~/components/MessageBox' import { deleteNickname } from '~/store/actions/user' import { selectUserById, @@ -11,9 +14,6 @@ import { selectNicknamesByUserId, } from '~/store/selectors' -import AddNicknameForm from '../AddNicknameForm/AddNicknameForm' -import ConfirmActionButton from '../ConfirmActionButton' -import MessageBox from '../MessageBox' import styles from './UserNicknamesPanel.module.scss' From 4f195fc3e2789a5294ac74594022fe3047818666 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 09:41:43 +0000 Subject: [PATCH 222/300] =?UTF-8?q?=E2=9C=A8=20(SelectFieldset):=20add=20p?= =?UTF-8?q?laceholder=20text=20ability?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Fieldsets/SelectFieldset/SelectFieldset.js | 12 ++++-------- .../SelectFieldset/SelectFieldset.module.scss | 4 ++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js index b84968bfb..ac586e01e 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js @@ -25,6 +25,7 @@ function SelectFieldset (props) { onChange, onValidate: parentValidate, required, + placeholder, validateOpts, ...inputProps } = props @@ -47,7 +48,6 @@ function SelectFieldset (props) { const { value = '', - validating, submitting, handleChange, } = useField(props.name, { onValidate, onChange, validateOpts }) @@ -62,7 +62,7 @@ function SelectFieldset (props) { <div className={[inputStyles.inputGroup, styles.select, className]}> <select - className={[inputClassName, { dark, required, valid: validityRef.current }]} + className={[inputClassName, { dark, required, valid: validityRef.current, [styles.empty]: !value.length }]} disabled={submitting || disabled} type="text" {...inputProps} @@ -70,7 +70,7 @@ function SelectFieldset (props) { onChange={handleChange}> { !noEmpty && ( - <option aria-label="Empty" value="" /> + <option disabled aria-label="Empty" value="">{placeholder}</option> ) } {children} @@ -78,16 +78,12 @@ function SelectFieldset (props) { <div className={styles.arrow}> <FontAwesomeIcon fixedWidth icon="angle-down" size="lg" /> </div> - <ValidityIcon - className={{ [inputStyles.hidden]: !value.length }} - valid={validityRef.current} - validating={validating} /> </div> </fieldset> ) } -SelectFieldset.displayName = 'InputFieldset' +SelectFieldset.displayName = 'SelectFieldset' SelectFieldset.propTypes = { 'aria-label': extPropTypes(PropTypes.string).isRequiredIf('label', 'undefined'), diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss b/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss index 9df2205aa..6ef214a77 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.module.scss @@ -9,6 +9,10 @@ } } +.empty { + color: $placeholder-grey; +} + .arrow { position: absolute; top: 1px; From 103651fba672fc47a636a6d99e3a11b63babc2f2 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 09:42:14 +0000 Subject: [PATCH 223/300] =?UTF-8?q?=F0=9F=94=A5=20remove=20unused=20styles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/_components.scss | 1 - src/scss/components/_add-rat-form.scss | 51 -------------------------- src/scss/core/_form.scss | 23 +----------- 3 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 src/scss/components/_add-rat-form.scss diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 7658f25b6..8f9a396e3 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -1,5 +1,4 @@ @import 'components/action-confirmation-button'; -@import 'components/add-rat-form'; @import 'components/article-list'; @import 'components/avatar'; @import 'components/badge'; diff --git a/src/scss/components/_add-rat-form.scss b/src/scss/components/_add-rat-form.scss deleted file mode 100644 index 388270246..000000000 --- a/src/scss/components/_add-rat-form.scss +++ /dev/null @@ -1,51 +0,0 @@ -form.add-rat { - display: flex; - - align-items: center; - - transition: padding 0.2s ease; - - &.form-open { - padding: 0.5rem; - - border: 1px solid rgba(26, 26, 26, 0.2); - - background: #FFFFFFFF; - box-shadow: 0 0 1rem rgba(26, 26, 26, 0.1); - } - - .form-control { - button { - margin: 1rem 0.25rem; - } - } - - @media only screen and (min-width: 769px) { - .cmdr-input { - width: 200px; - } - - .platform-input { - width: 100px; - } - } - @media only screen and (max-width: 768px) { - flex-direction: column; - align-items: flex-end; - - &.form-open { - align-items: stretch; - } - - .form-control { - display: flex; - - flex-direction: row; - justify-content: center; - - button { - flex-grow: 1; - } - } - } -} diff --git a/src/scss/core/_form.scss b/src/scss/core/_form.scss index 864296fa9..54abbd2e7 100644 --- a/src/scss/core/_form.scss +++ b/src/scss/core/_form.scss @@ -11,28 +11,9 @@ form { margin: 0 auto 0.5rem; } - &.compact .form-row { - &.submit-row { - padding: 0.4rem 0; - fieldset, - > div { - padding: 0.1rem 0.25rem; - } - } - - fieldset, - > div { - padding: 0.5rem; - - &:first-child { - padding-left: 4rem; - } - - &:last-child { - padding-right: 4rem; - } - } + &.compact .form-row fieldset { + padding: 0.5rem 0.25rem; } .form-row { From 37661bebef3b0c6488051a53652bdc08667dd79c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:17:58 +0000 Subject: [PATCH 224/300] =?UTF-8?q?=E2=9C=A8=20(color-scss)=20add=20new=20?= =?UTF-8?q?grey=20preset=20for=20placeholders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/colors/_grey.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scss/colors/_grey.scss b/src/scss/colors/_grey.scss index e2dc07b49..22d4b0761 100644 --- a/src/scss/colors/_grey.scss +++ b/src/scss/colors/_grey.scss @@ -3,3 +3,4 @@ $grey-darkened: darken($grey, 10%); $grey-muted: darken($grey, 30%); $grey-lightened: lighten($grey, 10%); $light-grey: #EEEEEE; +$placeholder-grey: #999999; From 68dbf62bc50631298152800e34d3094ba1d3814d Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:21:00 +0000 Subject: [PATCH 225/300] =?UTF-8?q?=F0=9F=94=A5=20(store):=20remove=20unus?= =?UTF-8?q?ed=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/store/index.js b/src/store/index.js index b3a130c2b..acbec1954 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,5 +1,5 @@ import { errorLoggerMiddleware } from '@fuelrats/web-util/redux-middleware' -import React, { useCallback } from 'react' +import React from 'react' import { useDispatch } from 'react-redux' import { createStore, applyMiddleware } from 'redux' import { composeWithDevTools } from 'redux-devtools-extension' From ea77520a4f5a8583b18adce106552f7e4c4b1b07 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:27:12 +0000 Subject: [PATCH 226/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(AddRatForm):=20re?= =?UTF-8?q?write=20as=20hook-based=20function=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AddRatForm.js | 229 ------------------ src/components/Forms/AddRatForm/AddRatForm.js | 115 +++++++++ .../Forms/AddRatForm/AddRatForm.module.scss | 57 +++++ src/components/UserRatsPanel.js | 5 +- 4 files changed, 174 insertions(+), 232 deletions(-) delete mode 100644 src/components/AddRatForm.js create mode 100644 src/components/Forms/AddRatForm/AddRatForm.js create mode 100644 src/components/Forms/AddRatForm/AddRatForm.module.scss diff --git a/src/components/AddRatForm.js b/src/components/AddRatForm.js deleted file mode 100644 index 6d7c6e437..000000000 --- a/src/components/AddRatForm.js +++ /dev/null @@ -1,229 +0,0 @@ -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { produce } from 'immer' -import React from 'react' - -import { connect } from '~/store' -import { selectCurrentUserId } from '~/store/selectors' - -import ValidatedFormInput from './ValidatedFormInput' -import ValidatedFormSelect from './ValidatedFormSelect' - - - - - -// Component Constants -const INVALID_NAME_MESSAGE = 'CMDR Name is Required' -const INVALID_PLATFORM_MESSAGE = 'Platform is Required' -const initialState = { - formOpen: false, - name: '', - platform: '', - validity: { - name: INVALID_NAME_MESSAGE, - platform: INVALID_PLATFORM_MESSAGE, - }, - submitting: false, -} - -const platformSelectOptions = { - pc: 'PC', - xb: 'XB1', - ps: 'PS4', -} - - - - - -@connect -class AddRatForm extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - - state = { - ...initialState, - } - - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _handleSubmit = async (event) => { - const { - createRat, - userId, - } = this.props - const { - name, - platform, - } = this.state - - event.preventDefault() - - this.setState({ submitting: true }) - - await createRat({ - attributes: { - name: name.trim(), - platform, - }, - relationships: { - user: { - data: { - type: 'users', - id: userId, - }, - }, - }, - }) - - this.setState({ ...initialState }) - } - - _handleToggle = () => { - this.setState((state) => { - return { - ...initialState, - formOpen: !state.formOpen, - } - }) - } - - _handleFieldChange = ({ target, valid, message }) => { - this.setState(produce((draftState) => { - const { name, value } = target - - draftState[name] = value - - if (typeof draftState.validity[name] !== 'undefined') { - draftState.validity[name] = valid || message - } - })) - } - - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - - render () { - const { - name, - platform, - submitting, - formOpen, - } = this.state - - return ( - <form className={['add-rat compact', { 'form-open': formOpen }]}> - { - formOpen && ( - <div className="form-row submit-row flex align-center"> - <ValidatedFormInput - required - aria-label="Commander Name" - className="cmdr-input" - disabled={submitting} - id="newRatName" - invalidMessage={INVALID_NAME_MESSAGE} - label="CMDR Name" - maxLength={22} - minLength={1} - name="name" - placeholder="CMDR Name" - value={name} - onChange={this._handleFieldChange} /> - - <ValidatedFormSelect - required - className="platform-input" - disabled={submitting} - id="newRatPlatform" - invalidMessage={INVALID_PLATFORM_MESSAGE} - label="Platform" - name="platform" - options={platformSelectOptions} - value={platform} - onChange={this._handleFieldChange} /> - </div> - ) - } - <div className="form-control"> - { - formOpen && ( - <button - aria-label="submit new commander" - className="green compact square" - disabled={!this.canSubmit} - type="button" - onClick={this._handleSubmit}> - <FontAwesomeIcon fixedWidth icon="check" /> - </button> - ) - } - <button - aria-label={formOpen ? 'cancel new commander creation' : 'add commander'} - className={['compact square', { green: !formOpen }]} - title={formOpen ? 'Cancel' : 'Add new commander'} - type="button" - onClick={this._handleToggle}> - <FontAwesomeIcon fixedWidth icon={formOpen ? 'times' : 'plus'} /> - </button> - </div> - </form> - ) - } - - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - - get canSubmit () { - const { - name, - platform, - validity, - } = this.state - - const isValid = Object.values(validity).filter((validityMember) => { - return validityMember - }).length - - return name && platform && isValid - } - - - - - - /***************************************************************************\ - Redux Properties - \***************************************************************************/ - - static mapDispatchToProps = ['createRat'] - - static mapStateToProps = (state, ownProps) => { - return { - userId: ownProps.userId || selectCurrentUserId(state), - } - } -} - - - - - -export default AddRatForm diff --git a/src/components/Forms/AddRatForm/AddRatForm.js b/src/components/Forms/AddRatForm/AddRatForm.js new file mode 100644 index 000000000..ebc7fe2be --- /dev/null +++ b/src/components/Forms/AddRatForm/AddRatForm.js @@ -0,0 +1,115 @@ +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { useCallback, useState } from 'react' +import { useDispatch, useSelector } from 'react-redux' + +import CMDRFieldset from '~/components/Fieldsets/CMDRFieldset' +import SelectFieldset from '~/components/Fieldsets/SelectFieldset' +import useForm from '~/hooks/useForm' +import { createRat } from '~/store/actions/rats' +import { selectCurrentUserId } from '~/store/selectors' + +import styles from './AddRatForm.module.scss' + + + +// Component Constants +const initialState = { + name: '', + platform: '', +} + + + + + +function AddRatForm () { + const dispatch = useDispatch() + const userId = useSelector(selectCurrentUserId) + const [formOpen, setFormOpen] = useState(false) + const handleToggleForm = useCallback(() => { + setFormOpen((state) => { + return !state + }) + }, []) + + + const onSubmit = async ({ name, platform }) => { + await dispatch(createRat({ + attributes: { + name: name.trim(), + platform, + }, + relationships: { + user: { + data: { + type: 'users', + id: userId, + }, + }, + }, + })) + setFormOpen(false) + } + + + const { Form, canSubmit, submitting } = useForm({ onSubmit, data: initialState }) + + return ( + <Form className={['compact', styles.addRatForm, { [styles.formOpen]: formOpen }]}> + { + formOpen && ( + <div className="form-row"> + <CMDRFieldset + required + aria-label="Commander Name" + fieldsetClassName={styles.cmdrField} + id="NewRatName" + maxLength={22} + minLength={1} + name="name" + placeholder="CMDR Name" /> + + <SelectFieldset + required + aria-label="Platform" + fieldsetClassName={styles.platformField} + id="NewRatPlatform" + name="platform" + placeholder="Platform"> + <option value="pc">{'PC'}</option> + <option value="xb">{'XB1'}</option> + <option value="ps">{'PS4'}</option> + </SelectFieldset> + </div> + ) + } + <div className={styles.formControl}> + { + formOpen && ( + <button + aria-label="submit new commander" + className="green compact square" + disabled={!canSubmit} + type="submit"> + <FontAwesomeIcon fixedWidth icon={submitting ? 'sync' : 'arrow-right'} rotate={submitting} /> + </button> + ) + } + <button + aria-label={formOpen ? 'cancel new commander creation' : 'add commander'} + className={['compact square', { green: !formOpen }]} + title={formOpen ? 'Cancel' : 'Add new commander'} + type="button" + onClick={handleToggleForm}> + <FontAwesomeIcon fixedWidth icon={formOpen ? 'times' : 'plus'} /> + </button> + </div> + </Form> + ) +} + + + + + +export default AddRatForm diff --git a/src/components/Forms/AddRatForm/AddRatForm.module.scss b/src/components/Forms/AddRatForm/AddRatForm.module.scss new file mode 100644 index 000000000..d4d9df623 --- /dev/null +++ b/src/components/Forms/AddRatForm/AddRatForm.module.scss @@ -0,0 +1,57 @@ +.platformField { + flex-shrink: 1.75; +} + +.addRatForm { + display: flex; + + align-items: center; + justify-content: flex-end; + + transition: padding 0.2s ease; + + &.formOpen { + min-width: 500px; + padding: 0.5rem; + + border: 1px solid rgba(26, 26, 26, 0.2); + + background: #FFFFFFFF; + box-shadow: 0 0 1rem rgba(26, 26, 26, 0.1); + } + + /* stylelint-disable-next-line selector-class-pattern */ + :global(.form-row) { + flex-grow: 1; + } + + .formControl { + button { + margin: 1rem 0.25rem; + } + } + + + + + + @media only screen and (max-width: 768px) { + flex-direction: column; + align-items: flex-end; + + &.formOpen { + align-items: stretch; + } + + .formControl { + display: flex; + + flex-direction: row; + justify-content: flex-end; + + button { + flex-grow: 1; + } + } + } +} diff --git a/src/components/UserRatsPanel.js b/src/components/UserRatsPanel.js index 1e9593e71..e8bad0c2d 100644 --- a/src/components/UserRatsPanel.js +++ b/src/components/UserRatsPanel.js @@ -1,6 +1,8 @@ import { useEffect } from 'react' import { useDispatch, useSelector } from 'react-redux' +import AddRatForm from '~/components/Forms/AddRatForm' +import RatCard from '~/components/RatCard' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { getUserStatistics } from '~/store/actions/statistics' import { @@ -9,9 +11,6 @@ import { selectRatStatisticsById, } from '~/store/selectors' -import AddRatForm from './AddRatForm' -import RatCard from './RatCard' - From aeee4d10b91deed4a40598caa34a44046f23dbaa Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:27:28 +0000 Subject: [PATCH 227/300] =?UTF-8?q?=F0=9F=90=9B=20(AddNicknameForm):=20ens?= =?UTF-8?q?ure=20nick=20is=20required=20field?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Forms/AddNicknameForm/AddNicknameForm.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Forms/AddNicknameForm/AddNicknameForm.js b/src/components/Forms/AddNicknameForm/AddNicknameForm.js index 1719e1417..8e4ec7966 100644 --- a/src/components/Forms/AddNicknameForm/AddNicknameForm.js +++ b/src/components/Forms/AddNicknameForm/AddNicknameForm.js @@ -53,6 +53,7 @@ function AddNicknameForm (props) { return ( <Form className={styles.addNicknameForm}> <IRCNickFieldset + required aria-label="Nickname" className={[styles.thinInput, error && styles.error]} disabled={props.disabled} From 49d25d04f31400fa48224525c59057e0906799a7 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:28:26 +0000 Subject: [PATCH 228/300] =?UTF-8?q?=E2=9C=A8add=20index=20file=20for=20Add?= =?UTF-8?q?RatForm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Forms/AddRatForm/index.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/components/Forms/AddRatForm/index.js diff --git a/src/components/Forms/AddRatForm/index.js b/src/components/Forms/AddRatForm/index.js new file mode 100644 index 000000000..bb8a0e6f8 --- /dev/null +++ b/src/components/Forms/AddRatForm/index.js @@ -0,0 +1 @@ +export { default } from './AddRatForm' From 24a646f87db439bb81697052feb3add87f7bc891 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:28:48 +0000 Subject: [PATCH 229/300] =?UTF-8?q?=E2=9C=A8=20add=20fieldsetClassName=20p?= =?UTF-8?q?rop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Fieldsets/InputFieldset/InputFieldset.js | 3 ++- src/components/Fieldsets/SelectFieldset/SelectFieldset.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/Fieldsets/InputFieldset/InputFieldset.js b/src/components/Fieldsets/InputFieldset/InputFieldset.js index 3f025e0b3..f6ad6225f 100644 --- a/src/components/Fieldsets/InputFieldset/InputFieldset.js +++ b/src/components/Fieldsets/InputFieldset/InputFieldset.js @@ -21,6 +21,7 @@ const InputFieldset = React.forwardRef((props, forwardRef) => { className, dark, displayName = 'Input', + fieldsetClassName, skipWarnings = false, inputClassName, label, @@ -89,7 +90,7 @@ const InputFieldset = React.forwardRef((props, forwardRef) => { const hideMessages = !messages?.validatedValue?.length || !messages?.hasMessages || validating || !isFocused return ( - <fieldset> + <fieldset className={fieldsetClassName}> { Boolean(label) && ( diff --git a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js index ac586e01e..9ff427c59 100644 --- a/src/components/Fieldsets/SelectFieldset/SelectFieldset.js +++ b/src/components/Fieldsets/SelectFieldset/SelectFieldset.js @@ -6,7 +6,6 @@ import { useField, fieldPropTypes } from '~/hooks/useForm' import extPropTypes from '~/util/propTypes/extPropTypes' import inputStyles from '../InputFieldset/InputFieldset.module.scss' -import ValidityIcon from '../InputFieldset/ValidityIcon' import styles from './SelectFieldset.module.scss' @@ -19,6 +18,7 @@ function SelectFieldset (props) { className, dark, disabled, + fieldsetClassName, inputClassName, label, noEmpty, @@ -53,7 +53,7 @@ function SelectFieldset (props) { } = useField(props.name, { onValidate, onChange, validateOpts }) return ( - <fieldset> + <fieldset className={fieldsetClassName}> { Boolean(label) && ( <label htmlFor={props.id}>{label}</label> From 491be2e0d77cbb835657da4953a189b7c6352a44 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:30:52 +0000 Subject: [PATCH 230/300] =?UTF-8?q?=F0=9F=94=A5=20remove=20redundant=20usa?= =?UTF-8?q?ges=20of=20useDispatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/admin/rescues/index.js | 2 -- src/pages/paperwork/[rescueId]/edit.js | 2 -- src/pages/paperwork/[rescueId]/index.js | 2 -- 3 files changed, 6 deletions(-) diff --git a/src/pages/admin/rescues/index.js b/src/pages/admin/rescues/index.js index bfc1bbea1..4790ee0c0 100644 --- a/src/pages/admin/rescues/index.js +++ b/src/pages/admin/rescues/index.js @@ -2,7 +2,6 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import debounce from 'lodash/debounce' import Link from 'next/link' import React from 'react' -import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' import useSelectorWithProps from '~/hooks/useSelectorWithProps' @@ -193,7 +192,6 @@ class ListRescues extends React.Component { export default connectState(() => { return { - dispatch: useDispatch(), meta: useSelectorWithProps({ pageViewId }, selectPageViewMetaById), rescues: useSelectorWithProps({ pageViewId }, selectPageViewDataById) ?? [], } diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index a78f27bec..c9f0cf40a 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -2,7 +2,6 @@ import { HttpStatus } from '@fuelrats/web-util/http' import { isError } from 'flux-standard-action' import Router from 'next/router' import React from 'react' -import { useDispatch } from 'react-redux' import { createSelector } from 'reselect' import { authenticated } from '~/components/AppLayout' @@ -684,7 +683,6 @@ class Paperwork extends React.Component { export default connectState((props) => { return { - dispatch: useDispatch(), rats: useSelectorWithProps(props.query, selectFormattedRatsByRescueId), rescue: useSelectorWithProps(props.query, selectRescueById), userCanEdit: useSelectorWithProps(props.query, selectCurrentUserCanEditRescue), diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index 324743ee1..d6a19593b 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -3,7 +3,6 @@ import { HttpStatus } from '@fuelrats/web-util/http' import Link from 'next/link' import Router from 'next/router' import React from 'react' -import { useDispatch } from 'react-redux' import { authenticated } from '~/components/AppLayout' import useSelectorWithProps from '~/hooks/useSelectorWithProps' @@ -385,7 +384,6 @@ class Paperwork extends React.Component { export default connectState((props) => { return { - dispatch: useDispatch(), rats: useSelectorWithProps(props.query, selectRatsByRescueId) ?? [], rescue: useSelectorWithProps(props.query, selectRescueById), userCanEdit: useSelectorWithProps(props.query, selectCurrentUserCanEditRescue), From d6e23ddde62adb9a150787a2ffdd0a7a6c7591cc Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:34:50 +0000 Subject: [PATCH 231/300] =?UTF-8?q?=F0=9F=90=9B=20(ScopeView):=20fix=20ref?= =?UTF-8?q?erence=20to=20scope=20prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ScopeView/ScopeView.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/ScopeView/ScopeView.js b/src/components/ScopeView/ScopeView.js index a7e351ab3..2cb369af4 100644 --- a/src/components/ScopeView/ScopeView.js +++ b/src/components/ScopeView/ScopeView.js @@ -43,8 +43,8 @@ const selectGroupedScopes = createSelector( -function ScopeView ({ className }) { - const groupedScopes = useSelectorWithProps(className, selectGroupedScopes) +function ScopeView ({ scopes, className }) { + const groupedScopes = useSelectorWithProps({ scopes }, selectGroupedScopes) return ( <div className={[styles.scopeView, className]}> { From 308ce1be0cd365145459a212d779cdb75d48b286 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:55:08 +0000 Subject: [PATCH 232/300] =?UTF-8?q?=F0=9F=90=9B=20fix=20next=20cache=20loc?= =?UTF-8?q?ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- .github/workflows/pull_request.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a0083b2c1..9221e4cac 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,7 +39,7 @@ jobs: - name: Load Next.js cache uses: actions/cache@v2 with: - path: ${{ github.workspace }}/dist/next/cache + path: ${{ github.workspace }}/dist/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-nextjs- diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 3ed701c2c..65e9c1679 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -79,7 +79,7 @@ jobs: - name: Load Next.js cache uses: actions/cache@v2 with: - path: ${{ github.workspace }}/dist/next/cache + path: ${{ github.workspace }}/dist/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-nextjs- From 83874cfc46d396d54b5dbc363434df64ad653447 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 10:57:38 +0000 Subject: [PATCH 233/300] =?UTF-8?q?=F0=9F=90=9B=20(PULL=5FREQUEST=5FTEMPLA?= =?UTF-8?q?TE.md):=20fix=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5e3426e16..7b5eedc93 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -34,7 +34,7 @@ Closes #[issue] - [ ] This PR was created to resolve an existing issue or set of issues. - [ ] This PR satisfies any and all acceptance criteria laid out by issue(s) it resolves. - [ ] I have discussed creating this PR with the maintainers in the issue(s) beforehand. -- [ ] I have thoroughly tested the changes this PR introduces in a local development enviornment. +- [ ] I have thoroughly tested the changes this PR introduces in a local development environment. - [ ] I have linted the entire codebase using `yarn lint` and confirmed there are no errors or warnings. - [ ] I have followed the commit conventions laid out by [`CONTRIBUTING.md`](https://github.com/FuelRats/fuelrats.com/blob/develop/CONTRIBUTING.md#commit-conventions). From 31b6388f6ebc6e09c56a350c2c436d66355070df Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 11:04:15 +0000 Subject: [PATCH 234/300] =?UTF-8?q?=F0=9F=90=9B=20(RegistrationForm):=20us?= =?UTF-8?q?e=20password=20label=20as=20a=20reference=20instead=20of=20a=20?= =?UTF-8?q?string=20=F0=9F=A4=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Forms/RegistrationForm/RegistrationForm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Forms/RegistrationForm/RegistrationForm.js b/src/components/Forms/RegistrationForm/RegistrationForm.js index 36406b616..c77c6afc7 100644 --- a/src/components/Forms/RegistrationForm/RegistrationForm.js +++ b/src/components/Forms/RegistrationForm/RegistrationForm.js @@ -65,7 +65,7 @@ function RegistrationForm ({ onSubmit }) { <NewPasswordFieldset required id="Password" - label="labels.password" + label={labels.password} name="attributes.password" /> <IRCNickFieldset From a2f5928857454467a4eeb7a6a3a204de011edc77 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 11:11:13 +0000 Subject: [PATCH 235/300] =?UTF-8?q?=F0=9F=90=9B=20(NewPasswordFieldset):?= =?UTF-8?q?=20correct=20typo=20in=20validation=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js index 77c073857..410b5e316 100644 --- a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js +++ b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js @@ -39,7 +39,7 @@ function NewPasswordFieldset (props) { const handleValidate = useValidationCallback( (messages, value) => { if (value.match(/[@&+%~\s]/gu)) { - messages.errors.push(`${displayName} must not contain "@", "$", "+", "%", "+", or spaces due to limitations in IRC.`) + messages.errors.push(`${displayName} must not contain "@", "$", "%", "+", or spaces due to limitations in IRC.`) } if (value.length > maxLength) { From 5364792fe25cb6bfa955c460e244bc109f2ee967 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 11:34:55 +0000 Subject: [PATCH 236/300] =?UTF-8?q?=F0=9F=90=9B=20(headers-config):=20lowe?= =?UTF-8?q?r=20CSP=20restrictions=20for=20styles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/headers.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index ba9f5d898..3c9ec1fea 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -17,7 +17,7 @@ module.exports = (env) => { 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], 'object-src': ["'self'", 'data:'], 'font-src': ["'self'", 'fonts.gstatic.com'], - 'style-src': ["'self'", 'fonts.googleapis.com'], + 'style-src': ["'self'", "'unsafe-inline'", 'fonts.googleapis.com'], 'img-src': ["'self'", '*.wp.com', 'blob:', 'data:'], 'frame-src': ['https://js.stripe.com'], }, From 5663e9b327f8995b3859229edd3b0612d1aa1199 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 11:39:53 +0000 Subject: [PATCH 237/300] =?UTF-8?q?=F0=9F=90=9B=20(NewPasswordFieldset):?= =?UTF-8?q?=20correct=20the=20invalid=20char=20list=20for=20new=20password?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js index 410b5e316..cda219c79 100644 --- a/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js +++ b/src/components/Fieldsets/NewPasswordFieldset/NewPasswordFieldset.js @@ -38,8 +38,8 @@ function NewPasswordFieldset (props) { const handleValidate = useValidationCallback( (messages, value) => { - if (value.match(/[@&+%~\s]/gu)) { - messages.errors.push(`${displayName} must not contain "@", "$", "%", "+", or spaces due to limitations in IRC.`) + if (value.match(/[~@$%&+\s]/gu)) { + messages.errors.push(`${displayName} must not contain "~", "@", "$", "%", "&', "+", or spaces due to limitations in IRC.`) } if (value.length > maxLength) { From d8a715269ed0239487f852fc36c600c3406d6ae6 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 12:13:33 +0000 Subject: [PATCH 238/300] =?UTF-8?q?=F0=9F=90=9B=20(store):=20Hoist=20stati?= =?UTF-8?q?c=20properties=20from=20component=20in=20wrapper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/store/index.js b/src/store/index.js index acbec1954..4188ef625 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,4 +1,5 @@ import { errorLoggerMiddleware } from '@fuelrats/web-util/redux-middleware' +import hoistNonReactStatics from 'hoist-non-react-statics' import React from 'react' import { useDispatch } from 'react-redux' import { createStore, applyMiddleware } from 'redux' @@ -36,7 +37,7 @@ if ($$BUILD.isDev) { */ export function connectState (stateProvider) { return (Component) => { - return (props) => { + return hoistNonReactStatics((props) => { const dispatch = useDispatch() const stateProps = stateProvider?.(props, dispatch) ?? {} return ( @@ -45,7 +46,7 @@ export function connectState (stateProvider) { {...stateProps} dispatch={dispatch} /> ) - } + }, Component) } } From 2ffff3ff9690490383ad6213e4b81d34051d76cd Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 26 Jul 2021 13:36:11 +0000 Subject: [PATCH 239/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(IRCNickFieldset):?= =?UTF-8?q?=20update=20invalid=20irc=20nick=20format=20error=20based=20on?= =?UTF-8?q?=20feedback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Fieldsets/IRCNickFieldset.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Fieldsets/IRCNickFieldset.js b/src/components/Fieldsets/IRCNickFieldset.js index dc6195254..381d80886 100644 --- a/src/components/Fieldsets/IRCNickFieldset.js +++ b/src/components/Fieldsets/IRCNickFieldset.js @@ -29,7 +29,7 @@ export default function IRCNickFieldset (props) { if (!value.match(ircNickRegExp)) { messages.errors.push( - 'IRC Nicks can only be single words made up of letters, numbers, and certain formatting characters. Underscores ("_") are usually used in place of spaces', + 'IRC Nicks must begin with a letter, and may only contain letters, numbers, and certain formatting characters. Underscores ("_") are usually used in place of spaces', ) } From 02ee969a1cb2547355453d48f9a233206f3ce1df Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 03:21:23 +0000 Subject: [PATCH 240/300] =?UTF-8?q?=F0=9F=92=84=20add=20motion=20positioni?= =?UTF-8?q?ng=20helper=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/_fonts.scss | 7 ++++--- src/scss/_helpers.scss | 1 + src/scss/helpers/_motion.scss | 13 +++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/scss/helpers/_motion.scss diff --git a/src/scss/_fonts.scss b/src/scss/_fonts.scss index fd7bb6c14..86e2e7013 100644 --- a/src/scss/_fonts.scss +++ b/src/scss/_fonts.scss @@ -5,11 +5,12 @@ $monospace-fonts: 'SF Mono', 'Fira Code', 'Source Code Pro', - menlo, - monaco, + 'Cascadia Code', 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', - consolas, + 'menlo', + 'monaco', + 'consolas', monospace, sans-serif; diff --git a/src/scss/_helpers.scss b/src/scss/_helpers.scss index 17baa50a0..642718ed7 100644 --- a/src/scss/_helpers.scss +++ b/src/scss/_helpers.scss @@ -1,5 +1,6 @@ @import 'helpers/disabled'; @import 'helpers/hidden'; +@import 'helpers/motion'; @import 'helpers/pull-right'; @import 'helpers/text-collapse'; @import 'helpers/text-format'; diff --git a/src/scss/helpers/_motion.scss b/src/scss/helpers/_motion.scss new file mode 100644 index 000000000..387ff5d95 --- /dev/null +++ b/src/scss/helpers/_motion.scss @@ -0,0 +1,13 @@ +.presence-container { + position: relative; + + width: 100%; + height: 100%; + + .presence-animator { + position: absolute; + + width: 100%; + height: 100%; + } +} From ed8d2cee31d6ca23debe4aac1b79e20e78f682ef Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 03:21:54 +0000 Subject: [PATCH 241/300] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20add=20fetch=20to?= =?UTF-8?q?=20globals?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index 440b3c088..50a79771d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,6 +13,7 @@ module.exports = { ], globals: { $$BUILD: 'readonly', + fetch: 'readonly', }, rules: { 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components. From 4675ec2fa714e64cf9b7ed281e288f4bc5bb67e2 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 04:00:22 +0000 Subject: [PATCH 242/300] =?UTF-8?q?=E2=9C=A8=20(JsonApiContext):=20Add=20d?= =?UTF-8?q?ate=20property=20to=20req,=20add=20fetch=20helper=20to=20ctx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../middleware/jsonApiRoute/JsonApiContext.js | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index bc24f6923..42748d779 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -1,3 +1,4 @@ +import axios from 'axios' import { NextApiRequest, NextApiResponse } from 'next' import bindMethod from '~/util/decorators/bindMethod' @@ -8,9 +9,15 @@ import getEnv from '~/util/server/getEnv' const env = getEnv() +const cacheStorage = {} function modRequest (req) { + // Add request time + Reflect.defineProperty(req, 'date', { + value: Date.now(), + }) + // Add IP handlers Reflect.defineProperty(req, 'ips', { get: () => { @@ -27,12 +34,14 @@ function modRequest (req) { }, }) + // Add fingerprint to top level Reflect.defineProperty(req, 'fingerprint', { get: () => { return req.headers['x-fingerprint'] }, }) + // Add getHeader helper Reflect.defineProperty(req, 'getHeader', { value: (headerName) => { return req.headers[headerName.toLowerCase()] @@ -147,6 +156,45 @@ export default class JsonApiContext { } } + @bindMethod + async fetch (options) { + const { cache, ...restOptions } = options + + if (cache) { + const storedData = cacheStorage[cache.key] + + if (storedData) { + if (this.req.date < storedData.last + cache.maxAge) { + return { ...storedData.data } + } + + delete cacheStorage[cache.key] + } + } + + try { + const response = await axios.request({ + method: 'get', + ...restOptions, + }) + + if (cache) { + cacheStorage[cache.key] = { + data: { ...response }, + last: this.req.date, + } + } + + return response + } catch ({ response }) { + throw new InternalServerAPIError(null, { + url: options.url, + status: response.status, + statusText: response.statusText, + }) + } + } + /** * @returns {any} */ From b4da43a871af03ad21971b8a5317a9811a5c506c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 04:00:52 +0000 Subject: [PATCH 243/300] =?UTF-8?q?=E2=9C=A8=20(JsonEditor):=20add=20JSON?= =?UTF-8?q?=20editing=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/JsonEditor/JsonEditor.js | 47 +++++++++++++++++++ .../JsonEditor/JsonEditor.module.scss | 42 +++++++++++++++++ src/components/JsonEditor/JsonField.js | 43 +++++++++++++++++ src/components/JsonEditor/JsonObject.js | 47 +++++++++++++++++++ src/components/JsonEditor/index.js | 1 + 5 files changed, 180 insertions(+) create mode 100644 src/components/JsonEditor/JsonEditor.js create mode 100644 src/components/JsonEditor/JsonEditor.module.scss create mode 100644 src/components/JsonEditor/JsonField.js create mode 100644 src/components/JsonEditor/JsonObject.js create mode 100644 src/components/JsonEditor/index.js diff --git a/src/components/JsonEditor/JsonEditor.js b/src/components/JsonEditor/JsonEditor.js new file mode 100644 index 000000000..81ed06f01 --- /dev/null +++ b/src/components/JsonEditor/JsonEditor.js @@ -0,0 +1,47 @@ +import PropTypes from 'prop-types' + +import JsonObject from '~/components/JsonEditor/JsonObject' +import useForm from '~/hooks/useForm' + +import styles from './JsonEditor.module.scss' + + + + +// Component Constants + + + + + +function JsonEditor (props) { + const { + className, + data, + } = props + + const { Form, state } = useForm({ data }) + + return ( + <> + <Form className={[styles.jsonEditor, className]}> + <JsonObject name="object" node={data} /> + </Form> + <br /> + <pre> + {JSON.stringify(state, null, ' ')} + </pre> + </> + ) +} + +JsonEditor.propTypes = { + className: PropTypes.string, + data: PropTypes.object.isRequired, +} + + + + + +export default JsonEditor diff --git a/src/components/JsonEditor/JsonEditor.module.scss b/src/components/JsonEditor/JsonEditor.module.scss new file mode 100644 index 000000000..f2cb0fadf --- /dev/null +++ b/src/components/JsonEditor/JsonEditor.module.scss @@ -0,0 +1,42 @@ +@import '../../scss/fonts'; +@import '../../scss/colors'; + +.jsonEditor { + padding: 0.5rem 1rem; + + border: 1px solid $black; + + background: rgba($grey, 0.25); +} + +.jsonObject { + padding: 0.5rem 0; +} + +.hasDepth { + padding-left: 2rem; +} + +.jsonField { + display: flex; + + flex-direction: row; + align-items: center; + + padding: 0.5rem 0 0.5rem 2rem; +} + +.fieldInput { + display: inline-block; +} + + +.fieldLabel { + display: inline-block; + position: relative; + + + padding-right: 0.75rem; + + font-family: $monospace-fonts; +} diff --git a/src/components/JsonEditor/JsonField.js b/src/components/JsonEditor/JsonField.js new file mode 100644 index 000000000..ad7cd4f81 --- /dev/null +++ b/src/components/JsonEditor/JsonField.js @@ -0,0 +1,43 @@ +import { useCallback } from 'react' + +import { useField } from '~/hooks/useForm' + +import styles from './JsonEditor.module.scss' + + + +export default function JsonField (props) { + const { + node, + name, + path, + depth, + } = props + const labelId = `${path}-label` + const inputId = `${path}-input` + + const { + value = '', + handleChange, + } = useField(path) + + const onChange = useCallback((event) => { + handleChange(event, event.target.value === '' ? node : undefined) + }, [handleChange, node]) + + return ( + <div className={['jsonField', styles.jsonField, { [styles.hasDepth]: depth > 0 }]}> + <label className={styles.fieldLabel} htmlFor={inputId} id={labelId} title={node}> + {`"${name}":`} + </label> + + <input + aria-labelledby={labelId} + className={styles.fieldInput} + id={inputId} + type="text" + value={value === node ? '' : value} + onChange={onChange} /> + </div> + ) +} diff --git a/src/components/JsonEditor/JsonObject.js b/src/components/JsonEditor/JsonObject.js new file mode 100644 index 000000000..6bb85c6c0 --- /dev/null +++ b/src/components/JsonEditor/JsonObject.js @@ -0,0 +1,47 @@ +import _isPlainObject from 'lodash/isPlainObject' + +import JsonField from '~/components/JsonEditor/JsonField' + +import styles from './JsonEditor.module.scss' + +function getComponent (value) { + if (_isPlainObject(value)) { + return JsonObject + } + + return JsonField +} + +export default function JsonObject (props) { + const { + node, + name, + depth = 0, + path, + hasNext, + } = props + const propDepth = depth + 1 + const nodeLength = Object.keys(node).length + return ( + <div className={['jsonObject', styles.jsonObject, { [styles.hasDepth]: depth > 0 }]}> + <span className={styles.fieldLabel}>{`${depth ? `"${name}": ` : ''}{`}</span> + { + Object.entries(node).map(([propName, propNode], idx) => { + const Component = getComponent(propNode) + const propPath = depth ? `${path}.${propName}` : propName + + return ( + <Component + key={propPath} + depth={propDepth} + hasNext={idx < nodeLength} + name={propName} + node={propNode} + path={propPath} /> + ) + }) + } + <span className={styles.fieldLabel}>{`}${hasNext ? ',' : ''}`}</span> + </div> + ) +} diff --git a/src/components/JsonEditor/index.js b/src/components/JsonEditor/index.js new file mode 100644 index 000000000..bb29dfa76 --- /dev/null +++ b/src/components/JsonEditor/index.js @@ -0,0 +1 @@ +export { default } from './JsonEditor' From e40741c98d3d9df46c9d8ac84833f10e6d748ebd Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 04:33:58 +0000 Subject: [PATCH 244/300] =?UTF-8?q?=E2=9C=A8=20add=20404=20not=20found=20A?= =?UTF-8?q?PI=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/apiErrorLocalisations.js | 5 +++++ src/util/server/errors.js | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/data/apiErrorLocalisations.js b/src/data/apiErrorLocalisations.js index a402dd2d8..c1d5bf5fd 100644 --- a/src/data/apiErrorLocalisations.js +++ b/src/data/apiErrorLocalisations.js @@ -33,6 +33,11 @@ const apiErrorLocalisations = { title: 'Internal Server Error', detail: 'The server encountered an unexpected condition that prevented it from fulfilling the request.', }, + + not_found: { + title: 'Not Found', + detail: 'The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.', + }, } export default apiErrorLocalisations diff --git a/src/util/server/errors.js b/src/util/server/errors.js index 29009bbe8..ca1337104 100644 --- a/src/util/server/errors.js +++ b/src/util/server/errors.js @@ -101,3 +101,9 @@ export class NotImplementedAPIError extends APIError { return 'not_implemented' } } + +export class NotFoundAPIError extends APIError { + get status () { + return 'not_found' + } +} From a17b586e4291b32872fd1b448c5d2673bbce9164 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:19:28 +0000 Subject: [PATCH 245/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20use=20new=20built-?= =?UTF-8?q?in=20caching=20to=20simplify=20queue=20info=20gathering?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/api/qms/queue.js | 125 ++++++++++++++----------------------- 1 file changed, 48 insertions(+), 77 deletions(-) diff --git a/src/pages/api/qms/queue.js b/src/pages/api/qms/queue.js index f39308d47..8106b8b2d 100644 --- a/src/pages/api/qms/queue.js +++ b/src/pages/api/qms/queue.js @@ -1,6 +1,3 @@ -import { HttpStatus } from '@fuelrats/web-util/http' -import axios from 'axios' - import { InternalServerAPIError } from '~/util/server/errors' import getEnv from '~/util/server/getEnv' import acceptMethod from '~/util/server/middleware/acceptMethod' @@ -10,92 +7,66 @@ import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' // Module constants -const cache = { - count: { - maxAge: 10000, - lastCheck: 0, - value: 0, - }, - max: { - maxAge: 60000, - lastCheck: 0, - value: 0, - }, -} const env = getEnv() +function getQueueLength (ctx) { + return ctx.fetch({ + url: `${env.qms.url}/api/v1/queue/`, + headers: { + Authorization: `Bearer ${env.qms.token}`, + }, + cache: { + key: 'qms-queue-count', + maxAge: 10000, + }, + }).then( + ({ data }) => { + return data.filter((rescue) => { + return !rescue.pending && !rescue.in_progress + }).length + }, + ({ response }) => { + ctx.error(new InternalServerAPIError(null, { + internalError: { + url: 'qms/api/v1/queue/', + status: response.status, + statusText: response.statusText, + }, + })) + }, + ) +} +function getMaxQueueLength (ctx) { + return ctx.fetch({ + url: `${env.qms.url}/api/v1/config/`, + headers: { + Authorization: `Bearer ${env.qms.token}`, + }, + cache: { + key: 'qms-queue-max-count', + maxAge: 60000, + }, + }).then( + ({ data }) => { + return data.max_active_clients + }, + (error) => { + ctx.error(error) + }, + ) +} export default jsonApiRoute( acceptMethod.GET(), async (ctx) => { - const nowTime = Date.now() - - if (nowTime - cache.count.lastCheck >= cache.count.maxAge) { - cache.count.lastCheck = nowTime - - const { data, status, statusText } = await axios.get( - `${env.qms.url}/api/v1/queue/`, - { - headers: { - Authorization: `Bearer ${env.qms.token}`, - }, - }, - ) - - if (status === HttpStatus.OK) { - const rescueQueue = data.filter((rescue) => { - return !rescue.pending && !rescue.in_progress - }) - - cache.count.value = rescueQueue.length - } else { - ctx.error(new InternalServerAPIError(null, { - internalError: { - url: '/api/v1/queue/', - status, - statusText, - }, - })) - } - } - - if (nowTime - cache.max.lastCheck >= cache.max.maxAge) { - cache.max.lastCheck = nowTime - const { data, status, statusText } = await axios.get( - `${env.qms.url}/api/v1/config/`, - { - headers: { - Authorization: `Bearer ${env.qms.token}`, - }, - }, - ) - - if (status === HttpStatus.OK) { - cache.max.value = data.max_active_clients - } else { - ctx.error(new InternalServerAPIError(null, { - internalError: { - url: '/api/v1/config/', - status, - statusText, - }, - })) - } - } - - ctx.send({ id: 'static', type: 'queue-statistics', attributes: { - queueLength: cache.count.value, - maxClients: cache.max.value, - }, - meta: { - queueAge: nowTime - cache.count.lastCheck, - maxClientAge: nowTime - cache.max.lastCheck, + queueLength: await getQueueLength(ctx), + maxClients: await getMaxQueueLength(ctx), }, }) }, From 583488cec6bba5f21c5640f17cf03d585d01cbc4 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:19:52 +0000 Subject: [PATCH 246/300] =?UTF-8?q?=E2=9C=A8=20Add=20locale=20info=20gathe?= =?UTF-8?q?ring=20routes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/api/qms/locales/[id].js | 38 ++++++++++++++++++++++++++++++ src/pages/api/qms/locales/index.js | 32 +++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 src/pages/api/qms/locales/[id].js create mode 100644 src/pages/api/qms/locales/index.js diff --git a/src/pages/api/qms/locales/[id].js b/src/pages/api/qms/locales/[id].js new file mode 100644 index 000000000..d78419c69 --- /dev/null +++ b/src/pages/api/qms/locales/[id].js @@ -0,0 +1,38 @@ +import { listLocaleFiles } from '~/pages/api/qms/locales' +import { NotFoundAPIError } from '~/util/server/errors' +import acceptMethod from '~/util/server/middleware/acceptMethod' +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' + +const maxAge = 21600000 // 6 hours + +export function getLocaleData (ctx, localeMeta) { + return ctx.fetch({ + url: localeMeta.links.related, + cache: { + key: `qms-locale-data-${localeMeta.id}`, + maxAge, + }, + }).then(({ data }) => { + return data + }) +} + +export default jsonApiRoute( + acceptMethod.GET(), + async (ctx) => { + const localeMeta = (await listLocaleFiles(ctx)).find((data) => { + return data.id === ctx.req.query.id + }) + if (!localeMeta) { + throw new NotFoundAPIError({ parameter: 'id' }) + } + + ctx.send({ + id: localeMeta.id, + type: 'locale-data', + attributes: { + data: await getLocaleData(ctx, localeMeta), + }, + }) + }, +) diff --git a/src/pages/api/qms/locales/index.js b/src/pages/api/qms/locales/index.js new file mode 100644 index 000000000..d984728d9 --- /dev/null +++ b/src/pages/api/qms/locales/index.js @@ -0,0 +1,32 @@ +import acceptMethod from '~/util/server/middleware/acceptMethod' +import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' + +const maxAge = 21600000 // 6 hours + +export function listLocaleFiles (ctx) { + return ctx.fetch({ + url: 'https://api.github.com/repos/fuelrats/QMS/contents/qms/frontend/public/locales/en?ref=main', + cache: { + key: 'qms-locale-list', + maxAge, + }, + }).then(({ data }) => { + return data.map((fileMeta) => { + return { + id: fileMeta.name, + type: 'locale-files', + links: { + self: fileMeta.url, + related: fileMeta.download_url, + }, + } + }) + }) +} + +export default jsonApiRoute( + acceptMethod.GET(), + async (ctx) => { + ctx.send(await listLocaleFiles(ctx)) + }, +) From 72ff9db0618dd9c14cca0b0a3e1a64c0350aa504 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:20:09 +0000 Subject: [PATCH 247/300] =?UTF-8?q?=E2=9C=A8=20Add=20page=20to=20edit=20QM?= =?UTF-8?q?S=20locale=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/locale-editor.js | 122 +++++++++++++++++++++++ src/scss/pages/locale-editor.module.scss | 3 + 2 files changed, 125 insertions(+) create mode 100644 src/pages/locale-editor.js create mode 100644 src/scss/pages/locale-editor.module.scss diff --git a/src/pages/locale-editor.js b/src/pages/locale-editor.js new file mode 100644 index 000000000..e03e3f3d8 --- /dev/null +++ b/src/pages/locale-editor.js @@ -0,0 +1,122 @@ +import axios from 'axios' +import { AnimatePresence, m } from 'framer-motion' +import getConfig from 'next/config' +import { useCallback, useEffect, useRef, useState } from 'react' + +import JsonEditor from '~/components/JsonEditor' +import styles from '~/scss/pages/locale-editor.module.scss' + +const { publicRuntimeConfig } = getConfig() +const { appUrl } = publicRuntimeConfig + +/* eslint-disable id-length */ +const formMotionConfig = { + initial: { y: '-400px', opacity: 0 }, + animate: { y: 0, opacity: 1 }, + exit: { y: '400px', opacity: 0 }, + transition: { + type: 'spring', + stiffness: 400, + damping: 25, + restDelta: 0.5, + restSpeed: 10, + }, +} +/* eslint-enable id-length */ + + +function LocaleEditor ({ locales }) { + const [localeLoading, setLocaleLoading] = useState(false) + const [localeData, setLocaleData] = useState({}) + const localeDataRef = useRef(localeData) + localeDataRef.current = localeData + const [activeLocale, setActiveLocale] = useState(locales[0].id) + + const onSelectChange = useCallback((event) => { + setActiveLocale(event.target.value) + }, []) + + useEffect(() => { + async function getLocaleData () { + if (activeLocale && !localeDataRef.current[activeLocale]) { + setLocaleLoading(true) + const { data } = await axios.get(`/api/qms/locales/${activeLocale}`) + + setLocaleData((curData) => { + return { + ...curData, + [activeLocale]: data.data.attributes.data, + } + }) + setLocaleLoading(false) + } + } + getLocaleData() + }, [activeLocale]) + + return ( + <div className="page-content"> + <p className={styles.explainer}> + { + `This page is a basic editing helper for the QMS locale files. They are automatically generated from english Locale files found on the main branch. + You may use basic HTML and some accept parameters ` + } + <code>{'{{in_brackets_like_this}}'}</code> + {'. Be sure to double check the default values for HTML content and parameterized strings!'} + </p> + <div> + <label htmlFor="presetSelector"><strong>{'Locale Files'}</strong></label> + <select disabled={localeLoading} id="presetSelector" value={activeLocale} onChange={onSelectChange}> + { + locales?.map((locale) => { + return ( + <option key={locale.id} value={locale.id}>{locale.id}</option> + ) + }) + } + </select> + </div> + <h6> + <a href={`https://github.com/FuelRats/QMS/blob/main/qms/frontend/public/locales/en/${activeLocale}`}>{'GitHub'}</a> + {' | '} + <a href={`https://raw.githubusercontent.com/FuelRats/QMS/main/qms/frontend/public/locales/en/${activeLocale}`}>{'Raw'}</a> + {' | '} + <a href={`https://api.github.com/repos/FuelRats/QMS/contents/qms/frontend/public/locales/en/${activeLocale}?ref=main`}>{'Metadata'}</a> + </h6> + <br /> + <div className="presence-container"> + <AnimatePresence> + { + Boolean(localeData[activeLocale]) && ( + <m.div + key={activeLocale} + {...formMotionConfig} + className="presence-animator"> + <JsonEditor data={localeData[activeLocale]} /> + </m.div> + ) + } + </AnimatePresence> + </div> + </div> + ) +} + +LocaleEditor.getInitialProps = async () => { + const { data } = await axios.get(`${appUrl}/api/qms/locales`) + + return { + locales: data.data, + } +} + +LocaleEditor.getPageMeta = () => { + return { + title: 'Locale Editor', + } +} + + + + +export default LocaleEditor diff --git a/src/scss/pages/locale-editor.module.scss b/src/scss/pages/locale-editor.module.scss new file mode 100644 index 000000000..dbb1b7199 --- /dev/null +++ b/src/scss/pages/locale-editor.module.scss @@ -0,0 +1,3 @@ +.explainer { + max-width: 90rem; +} From 3de4e43aaa87d151587182d5e89a5aebbd9100b6 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:22:04 +0000 Subject: [PATCH 248/300] =?UTF-8?q?=F0=9F=92=AC=20(locale-editor-page):=20?= =?UTF-8?q?update=20explainer=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/locale-editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/locale-editor.js b/src/pages/locale-editor.js index e03e3f3d8..3bd3f8322 100644 --- a/src/pages/locale-editor.js +++ b/src/pages/locale-editor.js @@ -62,7 +62,7 @@ function LocaleEditor ({ locales }) { You may use basic HTML and some accept parameters ` } <code>{'{{in_brackets_like_this}}'}</code> - {'. Be sure to double check the default values for HTML content and parameterized strings!'} + {'. Be sure to double check the default values for HTML content and parameterized strings! Is this overkill? absolutely. Did we do it anyway? Of course!'} </p> <div> <label htmlFor="presetSelector"><strong>{'Locale Files'}</strong></label> From c1b92f8ba6bd775a8fa993f1dc26f327483239a4 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:33:09 +0000 Subject: [PATCH 249/300] =?UTF-8?q?=F0=9F=93=9D=20(CHANGELOG.md):=20add=20?= =?UTF-8?q?changes=20for=20#370?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f29936196..872aae3ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) ## [Unreleased][] ### ✨ Added -* +* A new page to assist with editing QMS locale files has been added. - [#370][] +* A general purpose JSON object editor has been implemented. this should come in handy at some point! - [#370][] ### ⚡ Changed * Error readout for unknown API Errors has been improved. - [#328][] @@ -21,7 +22,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Moved all custom server functions into suitable replacements provided by our site framework. - [#329][] * This move has let us drop our entire custom backend. * Updated `<Switch />` with an improved loading state animation. - [#330][] -* Other smaller changes to sreamline development. - [#328][], [#329][] +* Other smaller changes to sreamline development. - [#328][], [#329][], [#370][] ### 🐛 Fixed @@ -39,6 +40,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#329]: https://github.com/FuelRats/fuelrats.com/pull/329 [#330]: https://github.com/FuelRats/fuelrats.com/pull/330 [#333]: https://github.com/FuelRats/fuelrats.com/pull/333 +[#370]: https://github.com/FuelRats/fuelrats.com/pull/370 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From c95830e16c0a533eab7d5078861643f81b32a123 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 5 Sep 2021 05:47:46 +0000 Subject: [PATCH 250/300] =?UTF-8?q?=F0=9F=93=9D=20(using=5FjsonApiRoute.md?= =?UTF-8?q?):=20add=20notes=20about=20`ctx.fetch()`=20and=20`ctx.req.date`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/using_jsonApiRoute.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/using_jsonApiRoute.md b/docs/using_jsonApiRoute.md index 7c17e9658..dd4ee7edd 100644 --- a/docs/using_jsonApiRoute.md +++ b/docs/using_jsonApiRoute.md @@ -244,6 +244,15 @@ Sets a resource or collection of resources to the response document's primary `d Appends a resource or collection of resources to the response document's `included` field. +### `context.fetch(options)` +* `options` {[AxiosRequestConfig](https://github.com/axios/axios#request-config)} + * Also accepts an object named `cache` with the following properties: + * `key`: A cache key to store a successful response under. + * `maxAge`: The maximum age to store the cached response. +* **Returns:** {[AxiosResponse](https://github.com/axios/axios#response-schema)} + +An axios request wrapper which simplifies data fetching in API routes. An optional `cache` config lets responses be cached for later-reuse, lowering 3rd party API load. If an error is encountered, it is automatically thrown with a valid `APIError` for the request. + ### `context.error(error[, first])` * `error` {APIError|Error} Any instance of `Error`. * Preferably an error extending `APIError` @@ -254,6 +263,7 @@ Appends a resource or collection of resources to the response document's `includ Appends an error to the response document's `errors` field. Adding an error will also prevent `data` and `included` from being sent as per [JSON:API][] spec. Useful for including additional errors before throwing the primary error preventing a successful response. Calling this method will **NOT** halt endpoint execution. + ### `context.createResource(data)` * `data` {object} **Any** object containing at least an `id` and `type` property. * **Returns:** {Resource} @@ -298,6 +308,11 @@ Boolean representing if Next.js [preview mode](https://nextjs.org/docs/advanced- Preview mode data for the request. +### `request.date` +* {number} + +Numeric timestamp representing the datetime the request was officially acknowleged at. + ### `request.ips` * {string[]} From 255113b5691fe49871974c751e91f89260af8649 Mon Sep 17 00:00:00 2001 From: Elad Karni <elad.karni@gmail.com> Date: Tue, 7 Sep 2021 08:39:48 -0400 Subject: [PATCH 251/300] Added warnings to I-Need-Fuel page for users on unsupported devices (Mobile & Xbox). Co-authored-by: Cameron Welter <UncleClapton@users.noreply.github.com> --- package.json | 1 + .../MessageBox/MessageBox.module.scss | 2 +- src/pages/i-need-fuel.js | 49 +++++++++++++++---- src/store/actions/session.js | 6 +-- yarn.lock | 8 +++ 5 files changed, 53 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 231cd132a..61553533b 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "redux-thunk": "^2.3.0", "reselect": "^4.0.0", "stripe": "^8.165.0", + "ua-parser-js": "^0.7.28", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, diff --git a/src/components/MessageBox/MessageBox.module.scss b/src/components/MessageBox/MessageBox.module.scss index a6208bc6d..447d15cf2 100644 --- a/src/components/MessageBox/MessageBox.module.scss +++ b/src/components/MessageBox/MessageBox.module.scss @@ -36,7 +36,7 @@ .icon { display: block; - position: fixed; + position: absolute; margin: 0.5rem 0 0 1rem; diff --git a/src/pages/i-need-fuel.js b/src/pages/i-need-fuel.js index 2be2a969d..dbfd91f07 100644 --- a/src/pages/i-need-fuel.js +++ b/src/pages/i-need-fuel.js @@ -3,7 +3,9 @@ import Image from 'next/image' import Link from 'next/link' import { useMemo } from 'react' import { useSelector } from 'react-redux' +import UAParser from 'ua-parser-js' +import MessageBox from '~/components/MessageBox' import { selectSession } from '~/store/selectors' @@ -12,6 +14,32 @@ import { selectSession } from '~/store/selectors' const { publicRuntimeConfig } = getConfig() const { irc: ircURLs } = publicRuntimeConfig +const unsupportedPlatforms = { + Sony: { + type: 'error', + message: ` + The built-in PS4 browser is currently not supported. + This is due to bugs in the PS4 browser, and outside of our control. + Please use your phone or computer instead. + `, + }, + Xbox: { + type: 'warn', + message: ` + It appears you're connecting from a mobile device. + Ensure your device's screen and browser remains active through the course of your rescue. + You may loose connection otherwise! + `, + }, + Generic: { + type: 'warn', + message: ` + It appears you're connecting from a mobile device. + Ensure your device's screen and browser remains active through the course of your rescue. + You may loose connection otherwise! + `, + }, +} @@ -20,14 +48,17 @@ const { irc: ircURLs } = publicRuntimeConfig function INeedFuel () { const session = useSelector(selectSession) const supportMessage = useMemo(() => { - if (session.userAgent.match(/playstation/giu)) { - return ` - The built-in PS4 browser is currently not supported. - This is due to bugs in the PS4 browser, and outside of our control. - Please use your phone or computer instead. - ` + const uaInfo = new UAParser(session.userAgent) + const { type, vendor } = uaInfo.getDevice() + + if (type) { + if (unsupportedPlatforms[vendor]) { + return unsupportedPlatforms[vendor] + } + return unsupportedPlatforms.Generic } - return undefined + + return {} }, [session.userAgent]) return ( @@ -48,10 +79,10 @@ function INeedFuel () { <br /> - {supportMessage && (<h5>{supportMessage}</h5>)} + {supportMessage.message && (<MessageBox title="Unsupported Device" type={supportMessage.type}>{supportMessage.message}</MessageBox>)} { - !supportMessage && ( + supportMessage.type !== 'error' && ( <> <p>{'Have you found yourself low on fuel and unable to make it to your nearest refuel point? Never fear! The Fuel Rats are here to help!'}</p> diff --git a/src/store/actions/session.js b/src/store/actions/session.js index 0e1ea7035..432af0391 100644 --- a/src/store/actions/session.js +++ b/src/store/actions/session.js @@ -68,9 +68,9 @@ export const initUserSession = (ctx) => { // Get user agent to be used by login modal and i-need-fuel page let userAgent = '' if (ctx.req && ctx.req.headers['user-agent']) { - userAgent = ctx.req.headers['user-agent'].toLowerCase() + userAgent = ctx.req.headers['user-agent'] } else if (typeof window !== 'undefined') { - userAgent = window.navigator.userAgent.toLowerCase() + userAgent = window.navigator.userAgent } const action = createFSA( @@ -81,7 +81,7 @@ export const initUserSession = (ctx) => { }, ) - if (accessToken !== session.token) { + if (accessToken !== session.token || userAgent !== session.userAgent) { dispatch(action) } diff --git a/yarn.lock b/yarn.lock index 810a9758c..e76482030 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5036,6 +5036,7 @@ __metadata: stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.20.1 + ua-parser-js: ^0.7.28 use-immer: ^0.6.0 webpack: ^5.46.0 worker-loader: ^3.0.8 @@ -10107,6 +10108,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"ua-parser-js@npm:^0.7.28": + version: 0.7.28 + resolution: "ua-parser-js@npm:0.7.28" + checksum: a7da4ad54527211e878ee016c2ef64efad5c2f5a31277d36c9da93b4c89ecaa64f391ad4cf158ada76a9ad8e53004a950705ff1c2f27a52ca8bfb3f1381c39ff + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.1": version: 1.0.1 resolution: "unbox-primitive@npm:1.0.1" From 7bff372473ef425533914450f8c477ad1b244a38 Mon Sep 17 00:00:00 2001 From: Elad Karni <39969481+EladKarni@users.noreply.github.com> Date: Tue, 7 Sep 2021 22:34:36 -0400 Subject: [PATCH 252/300] Fix: Changed text for Mobile and Xbox warnings --- src/pages/i-need-fuel.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pages/i-need-fuel.js b/src/pages/i-need-fuel.js index dbfd91f07..ab35b2ef8 100644 --- a/src/pages/i-need-fuel.js +++ b/src/pages/i-need-fuel.js @@ -26,17 +26,16 @@ const unsupportedPlatforms = { Xbox: { type: 'warn', message: ` - It appears you're connecting from a mobile device. - Ensure your device's screen and browser remains active through the course of your rescue. - You may loose connection otherwise! + It appears you're connecting from your Xbox! + While you may use the Xbox browser to use our services, we recommend using your computer to ensure a consistent connection. `, }, Generic: { type: 'warn', message: ` It appears you're connecting from a mobile device. - Ensure your device's screen and browser remains active through the course of your rescue. - You may loose connection otherwise! + Ensure your device's screen and browser remains active throughout your rescue. + You may lose your connection otherwise! `, }, } From 9c5ef4f838ee262ed4b640ec6728643376f6897a Mon Sep 17 00:00:00 2001 From: Elad Karni <39969481+EladKarni@users.noreply.github.com> Date: Tue, 7 Sep 2021 22:37:19 -0400 Subject: [PATCH 253/300] Fix: Changed Xbox to Microsoft --- src/pages/i-need-fuel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/i-need-fuel.js b/src/pages/i-need-fuel.js index ab35b2ef8..8f2ca249e 100644 --- a/src/pages/i-need-fuel.js +++ b/src/pages/i-need-fuel.js @@ -23,7 +23,7 @@ const unsupportedPlatforms = { Please use your phone or computer instead. `, }, - Xbox: { + Microsoft: { type: 'warn', message: ` It appears you're connecting from your Xbox! From ec369571c664b2bbd6c20cd847af865845fa0693 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 02:50:19 +0000 Subject: [PATCH 254/300] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20All=20Da?= =?UTF-8?q?=20Deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 60 ++-- yarn.lock | 955 ++++++++++++++++++++++++++++++++------------------- 2 files changed, 632 insertions(+), 383 deletions(-) diff --git a/package.json b/package.json index 61553533b..8f49d4821 100644 --- a/package.json +++ b/package.json @@ -24,31 +24,31 @@ "lint": "yarn lint:js; yarn lint:css" }, "dependencies": { - "@fingerprintjs/fingerprintjs": "^3.2.0", - "@fortawesome/fontawesome-svg-core": "^1.2.35", - "@fortawesome/free-brands-svg-icons": "^5.15.3", - "@fortawesome/free-solid-svg-icons": "^5.15.3", - "@fortawesome/react-fontawesome": "^0.1.14", + "@fingerprintjs/fingerprintjs": "^3.3.0", + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-brands-svg-icons": "^5.15.4", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/react-fontawesome": "^0.1.15", "@fuelrats/next-adorable-avatars": "^0.3.0", "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.3", - "@next/eslint-plugin-next": "^11.0.1", - "axios": "^0.21.1", + "@next/eslint-plugin-next": "^11.1.2", + "axios": "^0.21.4", "clsx": "^1.1.1", - "date-fns": "^2.22.1", - "date-fns-tz": "^1.1.4", + "date-fns": "^2.23.0", + "date-fns-tz": "^1.1.6", "dotenv": "^10.0.0", - "flux-standard-action": "^2.1.1", + "flux-standard-action": "^2.1.2", "framer-motion": "^4.1.17", "hoist-non-react-statics": "^3.3.2", "http-proxy-middleware": "^2.0.1", - "immer": "^9.0.5", + "immer": "^9.0.6", "ip6addr": "^0.2.3", - "js-cookie": "^2.2.1", + "js-cookie": "^3.0.1", "jsonfile": "^6.1.0", "koa-compose": "^4.1.0", "lodash": "^4.17.21", - "next": "^11.0.1", + "next": "^11.1.2", "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", "next-safe": "^3.0.1", @@ -63,30 +63,30 @@ "rc-slider": "^9.7.2", "re-reselect": "^4.0.0", "react": "^17.0.2", - "react-copy-to-clipboard": "^5.0.3", + "react-copy-to-clipboard": "^5.0.4", "react-dom": "^17.0.2", "react-easy-crop": "^3.5.2", "react-is": "^17.0.2", - "react-redux": "^7.2.4", + "react-redux": "^7.2.5", "react-table-6": "^6.11.0", - "redux": "^4.1.0", + "redux": "^4.1.1", "redux-devtools-extension": "^2.13.9", "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.165.0", + "stripe": "^8.174.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, "devDependencies": { - "@babel/core": "^7.14.8", - "@babel/eslint-parser": "^7.14.7", + "@babel/core": "^7.15.5", + "@babel/eslint-parser": "^7.15.4", "@babel/eslint-plugin": "^7.14.5", - "@babel/plugin-proposal-decorators": "^7.14.5", + "@babel/plugin-proposal-decorators": "^7.15.4", "@babel/plugin-proposal-export-default-from": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.4.0-canary.14", + "@fuelrats/eslint-config": "^2.4.0-canary.17", "@fuelrats/eslint-config-react": "^2.4.0-canary.11", "@fuelrats/eslint-plugin": "^2.4.0-canary.11", "@fuelrats/stylelint-config": "^1.2.3", @@ -95,9 +95,9 @@ "@types/ip6addr": "^0.2.3", "@types/js-cookie": "^2.2.7", "@types/jsonfile": "^6.0.1", - "@types/lodash": "^4.14.171", + "@types/lodash": "^4.14.172", "@types/qs": "^6.9.7", - "@types/react": "^17.0.14", + "@types/react": "^17.0.20", "@types/react-dom": "^17.0.9", "@types/react-is": "^17.0.2", "@types/react-redux": "^7.1.18", @@ -107,20 +107,20 @@ "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", "doctoc": "^2.0.1", - "eslint": "^7.31.0", + "eslint": "^7.32.0", "eslint-import-resolver-alias": "^1.1.2", - "eslint-import-resolver-node": "^0.3.4", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.5.1", + "eslint-import-resolver-node": "^0.3.6", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-jsdoc": "^36.1.0", "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.24.0", + "eslint-plugin-react": "^7.25.1", "eslint-plugin-react-hooks": "^4.2.0", - "sass": "^1.35.2", + "sass": "^1.39.0", "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", "stylelint-scss": "^3.20.1", - "webpack": "^5.46.0", + "webpack": "^5.52.0", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index e76482030..84f70ef19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,6 +30,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.15.0": + version: 7.15.0 + resolution: "@babel/compat-data@npm:7.15.0" + checksum: 65088d87b14966dcdba397c799f312beb1e7a4dac178e7daa922a17ee9b65d8cfd9f35ff8352ccb6e20bb9a169df1171263ef5fd5967aa25d544ea3f62681993 + languageName: node + linkType: hard + "@babel/core@npm:7.14.6, @babel/core@npm:>=7.9.0, @babel/core@npm:^7.12.3": version: 7.14.6 resolution: "@babel/core@npm:7.14.6" @@ -53,32 +60,32 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.14.8, @babel/core@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/core@npm:7.14.8" +"@babel/core@npm:7.15.5, @babel/core@npm:^7.15.5": + version: 7.15.5 + resolution: "@babel/core@npm:7.15.5" dependencies: "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.14.8 - "@babel/helper-compilation-targets": ^7.14.5 - "@babel/helper-module-transforms": ^7.14.8 - "@babel/helpers": ^7.14.8 - "@babel/parser": ^7.14.8 - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.14.8 - "@babel/types": ^7.14.8 + "@babel/generator": ^7.15.4 + "@babel/helper-compilation-targets": ^7.15.4 + "@babel/helper-module-transforms": ^7.15.4 + "@babel/helpers": ^7.15.4 + "@babel/parser": ^7.15.5 + "@babel/template": ^7.15.4 + "@babel/traverse": ^7.15.4 + "@babel/types": ^7.15.4 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.1.2 semver: ^6.3.0 source-map: ^0.5.0 - checksum: 4c9a5b21020791659095a514f11c81159a96477037682183f23a1084732e0e3dbb58986e14ebf3a03a31230a75d8b2e1d23644ca84204eddf70018cba983035f + checksum: 8121bf74040d98562b773c1e92a174cd53c99a5158ae5a9ef25645ed35d6f821c64155e394cdb04e7dc77a0871ba42a638f6703b2c44a75bc04564b21cad9e1b languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.14.7": - version: 7.14.7 - resolution: "@babel/eslint-parser@npm:7.14.7" +"@babel/eslint-parser@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/eslint-parser@npm:7.15.4" dependencies: eslint-scope: ^5.1.1 eslint-visitor-keys: ^2.1.0 @@ -86,7 +93,7 @@ __metadata: peerDependencies: "@babel/core": ">=7.11.0" eslint: ">=7.5.0" - checksum: d6bfe209f22af8e17e8b1bc7c598bfa9eaab15b89aeab686840ed22d1177f3bb68817a0c01d1e1be778c13bf9ecd07543f8b2bd93ae5fb65f9d9a955a40dd851 + checksum: e4406f3eeef8f5217fd930cbd2032188afbf191cdf5719244de8822f895934a2b4e14a4663b6336bc0d6fabeef5ab3a001815ed69f4639890431f8dfd9c09073 languageName: node linkType: hard @@ -113,14 +120,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/generator@npm:7.14.8" +"@babel/generator@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/generator@npm:7.15.4" dependencies: - "@babel/types": ^7.14.8 + "@babel/types": ^7.15.4 jsesc: ^2.5.1 source-map: ^0.5.0 - checksum: 0fdec7e1991fc3973d241e4c5e7d69f8c4ab063359695e6a019e4a5a0139a768ddce91d0705d7bd8a28f3befb5abde68355e19745fcdb45c40a26cf53d879191 + checksum: fec8e8fa46723d7edf4087dc07b1f65a64488cba9662458431dd00d2a24f7c41b21e3160cfa1ba3df9373b2bb5e84189a95206c9ce6f14845a3929fc1ab58f57 languageName: node linkType: hard @@ -133,6 +140,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-annotate-as-pure@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 94e3b5714748cc4fe419c3e75656b1747f7e985d46a178dbd87e4a97f8f4d0ba94374c6768516cdc9c744d40202f1c2bb7930a7a153274c3d42edb196e945404 + languageName: node + linkType: hard + "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.14.5" @@ -157,6 +173,20 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-compilation-targets@npm:7.15.4" + dependencies: + "@babel/compat-data": ^7.15.0 + "@babel/helper-validator-option": ^7.14.5 + browserslist: ^4.16.6 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: a2b9767d5658da90bd79170b4b0d2987930fb6708d48428619f9f4664c47e3f9409801b76c7603446404b453c67e54682cc86840cb1c29aa06c956533ebaf5ba + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.14.5": version: 7.14.6 resolution: "@babel/helper-create-class-features-plugin@npm:7.14.6" @@ -173,6 +203,22 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-create-class-features-plugin@npm:7.15.4" + dependencies: + "@babel/helper-annotate-as-pure": ^7.15.4 + "@babel/helper-function-name": ^7.15.4 + "@babel/helper-member-expression-to-functions": ^7.15.4 + "@babel/helper-optimise-call-expression": ^7.15.4 + "@babel/helper-replace-supers": ^7.15.4 + "@babel/helper-split-export-declaration": ^7.15.4 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 42fa8550125cd26ec5ff62f8d5383924b896a35326a31acced93a166661d1a1446199e5d2c8dc3685d70482127dc57cc6c22c5ffccadb58e72bfedf906fba817 + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.14.5" @@ -223,6 +269,17 @@ __metadata: languageName: node linkType: hard +"@babel/helper-function-name@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-function-name@npm:7.15.4" + dependencies: + "@babel/helper-get-function-arity": ^7.15.4 + "@babel/template": ^7.15.4 + "@babel/types": ^7.15.4 + checksum: 0500e8e40753fdc25252b30609b12df8ebb997a4e5b4c2145774855c026a4338c0510fc7b819035d5f9d76cf3bd63417c0b7b58f0836a10996300f2f925c4e0f + languageName: node + linkType: hard + "@babel/helper-get-function-arity@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-get-function-arity@npm:7.14.5" @@ -232,6 +289,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-get-function-arity@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-get-function-arity@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 1a3dba8700ec69b5b120401769897a1a0ca2edcf6b546659d49946dcc8b0755c4c58dd8f15739f5cf851d4ca1db76f56759897c6f5b9f76f2fef989dc4f8fd54 + languageName: node + linkType: hard + "@babel/helper-hoist-variables@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-hoist-variables@npm:7.14.5" @@ -241,6 +307,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-hoist-variables@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-hoist-variables@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 1a9ae0a27112b5f4e4ab91da2a1b40a8f91d8ce195e965d900ec3f13b583a1ab36834fb3edc2812523fa1d586ce21c3e6d8ce437d168e23a5d8e7e2e46b50f6f + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.14.5": version: 7.14.7 resolution: "@babel/helper-member-expression-to-functions@npm:7.14.7" @@ -250,6 +325,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-member-expression-to-functions@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 30cf27e2afbaf1d58d189c5f36951a6af7d2bfccdfdb7d57e91749620d9c3c37d78324a1725079d3ab4a0e5c4e5f3d5f19a275d5dd269baa2aa8852835b05d6d + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-module-imports@npm:7.14.5" @@ -259,6 +343,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-module-imports@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 519681cb9c27fcacd85ef13534020db3a2bac1d53a4d988fd9f3cf1ec223854311d4193c961cc2031c4d1df3b1a35a849b38237302752ae3d29eb00e5b9a904a + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-module-transforms@npm:7.14.5" @@ -275,19 +368,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/helper-module-transforms@npm:7.14.8" +"@babel/helper-module-transforms@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-module-transforms@npm:7.15.4" dependencies: - "@babel/helper-module-imports": ^7.14.5 - "@babel/helper-replace-supers": ^7.14.5 - "@babel/helper-simple-access": ^7.14.8 - "@babel/helper-split-export-declaration": ^7.14.5 - "@babel/helper-validator-identifier": ^7.14.8 - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.14.8 - "@babel/types": ^7.14.8 - checksum: 527b3383c40788b04c815da1ded4ac8cdc21e3356517fc81bcd03b319c1b58901638bb641a6f0cd00f493c7a31a8ae7123213d59c1d4f57cec32185b5d9f79a2 + "@babel/helper-module-imports": ^7.15.4 + "@babel/helper-replace-supers": ^7.15.4 + "@babel/helper-simple-access": ^7.15.4 + "@babel/helper-split-export-declaration": ^7.15.4 + "@babel/helper-validator-identifier": ^7.14.9 + "@babel/template": ^7.15.4 + "@babel/traverse": ^7.15.4 + "@babel/types": ^7.15.4 + checksum: 5bb31696c96247e17c19fe87c708bf95f592cc26fcc1c8f32f5037d8f87a8933b327b31f0ae92529bab91137d8bb5bf8be4106829f0eaaea4e41d7fcc7ce7938 languageName: node linkType: hard @@ -300,6 +393,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-optimise-call-expression@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-optimise-call-expression@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 7c929d1a3dbed7ee776dd8a4502b92433bb14ce6217372581db117de294edcf7b8678b1f703b8309c769bb46f2e4f005cdb3958dec508a486b2b03a9a919b542 + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.14.5 resolution: "@babel/helper-plugin-utils@npm:7.14.5" @@ -330,6 +432,18 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-replace-supers@npm:7.15.4" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.15.4 + "@babel/helper-optimise-call-expression": ^7.15.4 + "@babel/traverse": ^7.15.4 + "@babel/types": ^7.15.4 + checksum: b08a23914a5f7f964aefa4518255006d3a58e4c0cf972527c1fe3c79ebff4d6d50c9f1d370b8d62e0085766a654910e39ba196fab522d794142d2219eea8430d + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-simple-access@npm:7.14.5" @@ -339,12 +453,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/helper-simple-access@npm:7.14.8" +"@babel/helper-simple-access@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-simple-access@npm:7.15.4" dependencies: - "@babel/types": ^7.14.8 - checksum: c1dae88c956154c854bb1679d19b9158ff1c8241329a4a70026ec16c594b9637e73647e5a1a0f9b7c47b2309201f633c259fb41d06a800496283debce6a67fab + "@babel/types": ^7.15.4 + checksum: 8c3462264d6755c1e190a709fa90667c1691cb61cdca2d3f9119dd93adfd9fbcb292bcc48dbd7e065b8c27d9371f2793799a92aec124a3260288ed112e00c839 languageName: node linkType: hard @@ -366,6 +480,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helper-split-export-declaration@npm:7.15.4" + dependencies: + "@babel/types": ^7.15.4 + checksum: 6baf45996e1323fdfc30666e9c0b3219d74c54dc71e9130acfa4d9d4c53faa95618ac383a1c82a156555908323384a416b4a29e88b337de98fdb476212134f99 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-identifier@npm:7.14.5" @@ -373,10 +496,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/helper-validator-identifier@npm:7.14.8" - checksum: f21ad9a9f0a66a02e0e5f62d505cbeb9e01a7ac5bd34be0af9f916f0b6d8d40718efaf51b656b41759e3454703090b4d386105f1f97f6598ee5a3f8eb98adc6a +"@babel/helper-validator-identifier@npm:^7.14.9": + version: 7.14.9 + resolution: "@babel/helper-validator-identifier@npm:7.14.9" + checksum: 58552531a7674363e74672434c312ddaf1545b8a43308e1a7f38db58bf79c796c095a6dab6a6105eb0d783b97441f6cbb525bb887f29a35f232fcdbd8cb240dc languageName: node linkType: hard @@ -410,14 +533,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/helpers@npm:7.14.8" +"@babel/helpers@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/helpers@npm:7.15.4" dependencies: - "@babel/template": ^7.14.5 - "@babel/traverse": ^7.14.8 - "@babel/types": ^7.14.8 - checksum: 2f1358c19fc1ee744c183f81b499b73977da7d3d3f7a881d457b235754394a503e4717353f29364bd5feb7fa406b1edd1aab92b5ab0765dba945fb559eeb1c65 + "@babel/template": ^7.15.4 + "@babel/traverse": ^7.15.4 + "@babel/types": ^7.15.4 + checksum: e60738110086c183d0ce369ad56949d5dceeb7d73d8fdb892f36d5b8525192e6b97f4563eb77334f47ac27ac43a21f3c4cd53bff342c2a0d5f4008a2b0169c89 languageName: node linkType: hard @@ -441,12 +564,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/parser@npm:7.14.8" +"@babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5": + version: 7.15.5 + resolution: "@babel/parser@npm:7.15.5" bin: parser: ./bin/babel-parser.js - checksum: 9e532b2bbe690fff8cdaf8c25cfecb684ebe9e9d50d30cd775852dd711649ddb964368b26fda55786404fadf500f944043fb0f731b765104ad857d677dd29ce5 + checksum: abc39a66b9bf6c861e25b07ad99830c4da6ce345135ebe08ee81a0e8d2f62cddc5f1fd825885fcd609a41b59531c856083d880f7836bd89c148136f834dfc3fe languageName: node linkType: hard @@ -501,16 +624,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-proposal-decorators@npm:7.14.5" +"@babel/plugin-proposal-decorators@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/plugin-proposal-decorators@npm:7.15.4" dependencies: - "@babel/helper-create-class-features-plugin": ^7.14.5 + "@babel/helper-create-class-features-plugin": ^7.15.4 "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-decorators": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: caf02b34940b719a4e7648abef2f7397b50bcfb07ae631cc2dcee5d77473679bf4c6e1e5e5a467d0abb0fdaaadabc9d017259cb6e68c5dec8a20e3b7ef406696 + checksum: 02d966e11bf9b4a6984940cc77319f901e21574bca542a294d384ef8b05a6571b2b60c6ac5aa4e97beeec95e3ec6b440c8fc04d1e37996bb1fd366cfe672c0db languageName: node linkType: hard @@ -764,7 +887,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.14.5": +"@babel/plugin-syntax-jsx@npm:7.14.5, @babel/plugin-syntax-jsx@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-jsx@npm:7.14.5" dependencies: @@ -1423,12 +1546,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:7.12.5": - version: 7.12.5 - resolution: "@babel/runtime@npm:7.12.5" +"@babel/runtime@npm:7.15.3": + version: 7.15.3 + resolution: "@babel/runtime@npm:7.15.3" dependencies: regenerator-runtime: ^0.13.4 - checksum: 64964a0fd172917fc5faac56bea5f0e6ec6200973e4ed6373e114f23f8cd6f113be31a6559fadfdd4f62071559e05d00a391760876a00345ea7813356c880209 + checksum: 2f0b8d2d4e36035ab1d84af0ec26aafa098536870f27c8e07de0a0e398f7a394fdea68a88165535ffb52ded6a68912bdc3450bdf91f229eb132e1c89470789f5 languageName: node linkType: hard @@ -1452,6 +1575,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/template@npm:7.15.4" + dependencies: + "@babel/code-frame": ^7.14.5 + "@babel/parser": ^7.15.4 + "@babel/types": ^7.15.4 + checksum: 58ca51fdd40bbaaddf2e46513dd05d5823f214cb2877b3f353abf5541a033a1b6570c29c2c80e60f2b55966326e40bebbf53666b261646ccf410b3d984af42ce + languageName: node + linkType: hard + "@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.14.5": version: 7.14.7 resolution: "@babel/traverse@npm:7.14.7" @@ -1469,31 +1603,30 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/traverse@npm:7.14.8" +"@babel/traverse@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/traverse@npm:7.15.4" dependencies: "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.14.8 - "@babel/helper-function-name": ^7.14.5 - "@babel/helper-hoist-variables": ^7.14.5 - "@babel/helper-split-export-declaration": ^7.14.5 - "@babel/parser": ^7.14.8 - "@babel/types": ^7.14.8 + "@babel/generator": ^7.15.4 + "@babel/helper-function-name": ^7.15.4 + "@babel/helper-hoist-variables": ^7.15.4 + "@babel/helper-split-export-declaration": ^7.15.4 + "@babel/parser": ^7.15.4 + "@babel/types": ^7.15.4 debug: ^4.1.0 globals: ^11.1.0 - checksum: f635f99b1b09dfe60105bb162103346f78e058351231e33e9c11a17fabf6d56b4f87837ad14a0f82242c6dd0b97fecd90064735f1e11d47b7429a1c3e99a5ece + checksum: 831506a92c8ed76dc60504de37663bf5a553d7b1b009a94defc082cddb6c380c5487a1aa9438bcd7b9891a2a72758a63e4f878154aa70699d09b388b1445d774 languageName: node linkType: hard -"@babel/types@npm:7.8.3": - version: 7.8.3 - resolution: "@babel/types@npm:7.8.3" +"@babel/types@npm:7.15.0": + version: 7.15.0 + resolution: "@babel/types@npm:7.15.0" dependencies: - esutils: ^2.0.2 - lodash: ^4.17.13 + "@babel/helper-validator-identifier": ^7.14.9 to-fast-properties: ^2.0.0 - checksum: c51ec3ad2850940ed87e6db9cb783f4688bb6b589115a335fcc49e292e5fe00a086966b39d5b808d8c7aa7e81b7d4dbd19c2f403ad422c46f526311992b4c1fc + checksum: 6d6bcdfce94b5446520a24087c6dede453e28425af092965b304d4028e9bca79712fd691cdad031e3570c7667bf3206e5f642bcccbfccb33d42ca4a8203587f9 languageName: node linkType: hard @@ -1507,13 +1640,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.14.8": - version: 7.14.8 - resolution: "@babel/types@npm:7.14.8" +"@babel/types@npm:^7.15.4": + version: 7.15.4 + resolution: "@babel/types@npm:7.15.4" dependencies: - "@babel/helper-validator-identifier": ^7.14.8 + "@babel/helper-validator-identifier": ^7.14.9 to-fast-properties: ^2.0.0 - checksum: d4ebd2e0e52f05cbcb3ded434d9fb49db73c239d98c4f7bd27beaf32fcd7c81aa30618237e87d53505d5e65fd20d688cb4237b6fa927a04831129a6044f2e4b5 + checksum: dac7d733edf2102e97f197929693fae6025161f3edda5a0f621f69e9d0741b8596c6f2152492bef869b55d0205e214867e8730f389283e85432b8f093e295c4b languageName: node linkType: hard @@ -1540,14 +1673,14 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:0.9.0-alpha.1": - version: 0.9.0-alpha.1 - resolution: "@es-joy/jsdoccomment@npm:0.9.0-alpha.1" +"@es-joy/jsdoccomment@npm:0.10.8": + version: 0.10.8 + resolution: "@es-joy/jsdoccomment@npm:0.10.8" dependencies: - comment-parser: 1.1.6-beta.0 + comment-parser: 1.2.4 esquery: ^1.4.0 - jsdoc-type-pratt-parser: 1.0.4 - checksum: b178379056e23de438f87935c6ce4ea4f99c50045f7d247e4fddbfba6a3afecc100530847ebbbb381dbebb58bea5e63b947298bcb60910134f46a9197325bbf7 + jsdoc-type-pratt-parser: 1.1.1 + checksum: 3e144ef393459a541b64f6c9c8e62fb6d9b47e1a2c626410487ede12c472064f6ce6e0911df60b42ccf126d5a66102707eef59ca14767cb7aeb5e608b227558d languageName: node linkType: hard @@ -1568,58 +1701,58 @@ __metadata: languageName: node linkType: hard -"@fingerprintjs/fingerprintjs@npm:^3.2.0": - version: 3.2.0 - resolution: "@fingerprintjs/fingerprintjs@npm:3.2.0" +"@fingerprintjs/fingerprintjs@npm:^3.3.0": + version: 3.3.0 + resolution: "@fingerprintjs/fingerprintjs@npm:3.3.0" dependencies: tslib: ^2.0.1 - checksum: 4ed94ae5b085dba35124d2416b4538e94d9c66fc4c9441890f41be88ab5f1b9ea37b2b19422040733125a8e01bd3c11c9fc4b07d6987098c88b726b5a72a173e + checksum: 988a25f1509c0ffe402e8a849e74db17649b9ad1497429966d4438ba69cb870c5e8d59938975826027f8a39ba4fdabafa379707b9ee1663d4575e9b906d750d6 languageName: node linkType: hard -"@fortawesome/fontawesome-common-types@npm:^0.2.35": - version: 0.2.35 - resolution: "@fortawesome/fontawesome-common-types@npm:0.2.35" - checksum: fc5e0e9182d52ccac244754beafae907f5623350e8437fa5e118278927988436a28d16700ee4b03b2fee96c736c1e45f2d58158a355fd1d187faebc4e3782f30 +"@fortawesome/fontawesome-common-types@npm:^0.2.36": + version: 0.2.36 + resolution: "@fortawesome/fontawesome-common-types@npm:0.2.36" + checksum: d604ac51da0b1597127fde70c64157b70ead6af7f2643ab7dfca268ef99d4ed0b4cc823afba206362422a622e389828408bec573df802bf4f02b118d0fa18dc8 languageName: node linkType: hard -"@fortawesome/fontawesome-svg-core@npm:^1.2.35": - version: 1.2.35 - resolution: "@fortawesome/fontawesome-svg-core@npm:1.2.35" +"@fortawesome/fontawesome-svg-core@npm:^1.2.36": + version: 1.2.36 + resolution: "@fortawesome/fontawesome-svg-core@npm:1.2.36" dependencies: - "@fortawesome/fontawesome-common-types": ^0.2.35 - checksum: eccb31d2d0f2a14be482822acfb560c68b73f76123808003ffde2b45e32c6816fd9d1feb408f3f23176bc297a651799f3f71aa85e81b7eb9e0def0221f40e41c + "@fortawesome/fontawesome-common-types": ^0.2.36 + checksum: 3011d8c1452b5df52a62eaee8b1ec925b9fdfabcc170fd6da5eaac7cfdef56258b9292ddd06c30f03a6a8ed6faa886565211f2e469fee3c9831c32f93e9383d8 languageName: node linkType: hard -"@fortawesome/free-brands-svg-icons@npm:^5.15.3": - version: 5.15.3 - resolution: "@fortawesome/free-brands-svg-icons@npm:5.15.3" +"@fortawesome/free-brands-svg-icons@npm:^5.15.4": + version: 5.15.4 + resolution: "@fortawesome/free-brands-svg-icons@npm:5.15.4" dependencies: - "@fortawesome/fontawesome-common-types": ^0.2.35 - checksum: 03d65f66de621eecca01916d1738fbcd3dd89dee7401799b0b63d88ff00d8405160e490c34bb1d7fda38136ab2b04401724560893d9248331b78244ce3339604 + "@fortawesome/fontawesome-common-types": ^0.2.36 + checksum: 06e38132fbdf04d8677cf6e47e73cd566f68256f542d68d354e26f5ca7536c714b56f5f3dc6c670065b888ee08bc913bb4f213ab08225faf955d893a6a86ed02 languageName: node linkType: hard -"@fortawesome/free-solid-svg-icons@npm:^5.15.3": - version: 5.15.3 - resolution: "@fortawesome/free-solid-svg-icons@npm:5.15.3" +"@fortawesome/free-solid-svg-icons@npm:^5.15.4": + version: 5.15.4 + resolution: "@fortawesome/free-solid-svg-icons@npm:5.15.4" dependencies: - "@fortawesome/fontawesome-common-types": ^0.2.35 - checksum: 5df2a837a3fbe339e5de26ac91024b5db33243f495916faa4cd7b2c0cf3b9bc1462d7a4695f069d2553dea07c83c8b7aed085f8fce9b83d7b9958dbb2a08dfae + "@fortawesome/fontawesome-common-types": ^0.2.36 + checksum: eb037b703827ee37af3387a964afc7a190ff42a674ef46f4a6c295b634a38e849741eca78306b6423eaf3062d6ab1e7372aac5be2aec06f0fd9e8bd8110efcf9 languageName: node linkType: hard -"@fortawesome/react-fontawesome@npm:^0.1.14": - version: 0.1.14 - resolution: "@fortawesome/react-fontawesome@npm:0.1.14" +"@fortawesome/react-fontawesome@npm:^0.1.15": + version: 0.1.15 + resolution: "@fortawesome/react-fontawesome@npm:0.1.15" dependencies: prop-types: ^15.7.2 peerDependencies: "@fortawesome/fontawesome-svg-core": ^1.2.32 react: ">=16.x" - checksum: fba8ee619ac77893fa119fc202d7807f2cc44c7093cb6ac7867a26536a62a6b62b71211bc5224378d48adcaede3d6fdf3e469139fab823717ae4031cec599342 + checksum: 88670e1af943aed33463a258d1be7323f51ef3b50de98f0e8ae56dbd65871b77488570dd02ac6548126989c73af4d115098f12969354988992aff8c4985e92b0 languageName: node linkType: hard @@ -1656,9 +1789,9 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.4.0-canary.14": - version: 2.4.0-canary.14 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.14" +"@fuelrats/eslint-config@npm:^2.4.0-canary.17": + version: 2.4.0-canary.17 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.17" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: @@ -1669,7 +1802,7 @@ __metadata: "@typescript-eslint/parser": ^4.28 eslint: ^7.24 eslint-plugin-import: ^2.23 - eslint-plugin-jsdoc: ^35 + eslint-plugin-jsdoc: ^36 typescript: ^4 peerDependenciesMeta: "@babel/core": @@ -1684,7 +1817,7 @@ __metadata: optional: true typescript: optional: true - checksum: 3e778a813472651c98e9a5570bcba7715652e612af39ad68cca83528be2a3419ab3415b50b40ac8420b21cf4cf787a021d537f99afbedd418a1613984d7adbd9 + checksum: 4edba83c3bd0b32c860645a51e4c8e4c913152bfe31eb301f6e966d5b1ab5493d9743f2f73933078c0e9d170db47a1428deb7501b23f9e1fce6651cf8996c76b languageName: node linkType: hard @@ -1793,30 +1926,39 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:11.0.1": - version: 11.0.1 - resolution: "@next/env@npm:11.0.1" - checksum: 56fc85a19f5754e38db7e4bb7cff627f9addbdc12bad60bf1bbdbc744ab294ede5fdfc890579aeb6c1b185af538e3aa93ad5139931b76bb5432055ccf92ad8e6 +"@napi-rs/triples@npm:^1.0.3": + version: 1.0.3 + resolution: "@napi-rs/triples@npm:1.0.3" + checksum: c83a4cc55f69115bf4ce1d5924efce7f5faf2dc79fd52257385559f668ce91a03c5d7d004df01ebba56028a9b663955eb97f31b65ac0acff7a93c143f0d809af + languageName: node + linkType: hard + +"@next/env@npm:11.1.2": + version: 11.1.2 + resolution: "@next/env@npm:11.1.2" + checksum: df7a95e840af351b1c37fa6490b2c6330b8f8c587ff8b2212687d7557e99ae5642495095a9a3a15fe4ac2e6fb5b1cdb24ab8fb14e95ad363a5b7b1146ec62d15 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:^11.0.1": - version: 11.0.1 - resolution: "@next/eslint-plugin-next@npm:11.0.1" - checksum: 8b1c99780cabe7e941f034a3fc1e492d4f42d45065d1016b2c730649e4757ed293c71c2b36da650ddc7b317b42d9f8f7fa600c4a698946e57bd26d5d56f4ffff +"@next/eslint-plugin-next@npm:^11.1.2": + version: 11.1.2 + resolution: "@next/eslint-plugin-next@npm:11.1.2" + dependencies: + glob: 7.1.7 + checksum: 93e43795588875c083335b76858ece4a02f0a3818f32d7e01e76ad8204fd22758201815753e47d08c86020bd2fddf3425f5a80835cb57a2b31ab26b13a7f0960 languageName: node linkType: hard -"@next/polyfill-module@npm:11.0.1": - version: 11.0.1 - resolution: "@next/polyfill-module@npm:11.0.1" - checksum: 563292c39b6bb17db9603445b3f68da2b0996f31a9c567476092d83635ec9d84ffd150c7e1476b4041535197ef150c62756e05d1c6f74127f7cd6868275b3239 +"@next/polyfill-module@npm:11.1.2": + version: 11.1.2 + resolution: "@next/polyfill-module@npm:11.1.2" + checksum: f739b999b740ed55e5b5e45ba22127e4abba10ef3816df41277f13b23764005d88dfa4e914d06b6a4b321ba9c6b3df21d5b680d36c12f5db304128000130dc4d languageName: node linkType: hard -"@next/react-dev-overlay@npm:11.0.1": - version: 11.0.1 - resolution: "@next/react-dev-overlay@npm:11.0.1" +"@next/react-dev-overlay@npm:11.1.2": + version: 11.1.2 + resolution: "@next/react-dev-overlay@npm:11.1.2" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -1832,20 +1974,57 @@ __metadata: peerDependencies: react: ^17.0.2 react-dom: ^17.0.2 - checksum: d03b8700207fbf388a533354e01eb6e9bb7a755f7517262cd23d3f7778efe8f8b60966739482de7e5475f89f56700e599d8f18774f41c792d39a71602f0e352e + checksum: 6b2215c90c6df5f7b96eec9235e7a0a0ea71d7c7501e25aa6a7004c064ca74a6eaf15b2661fe3cbe8aff417ebebb705df2dbbf252aec4a92b408f2c02891a983 languageName: node linkType: hard -"@next/react-refresh-utils@npm:11.0.1": - version: 11.0.1 - resolution: "@next/react-refresh-utils@npm:11.0.1" +"@next/react-refresh-utils@npm:11.1.2": + version: 11.1.2 + resolution: "@next/react-refresh-utils@npm:11.1.2" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: 8d9a1f246d47bee1722603c3a596cc24b27874f0b282ca0623781eec826c5b7d0e236c6528ad4fe95728693feeeb984ead12c21040d578109b2acec20263a681 + checksum: 443e2376279437d85b991175b8cd86fc1d0f3908ad23a523e7ede5dc9fb22f63d083a904502f6aef77af4769c96f165740fe196d54684136b1f3443561575fc1 + languageName: node + linkType: hard + +"@next/swc-darwin-arm64@npm:11.1.2": + version: 11.1.2 + resolution: "@next/swc-darwin-arm64@npm:11.1.2" + checksum: e87481c2d1436e947f1101d4d3e45bc9486f3dc312d120a6042b4a2333f16150b3881f322103ef52431e09178093775b02d725b843a7dde441f3ee319495ec95 + languageName: node + linkType: hard + +"@next/swc-darwin-x64@npm:11.1.2": + version: 11.1.2 + resolution: "@next/swc-darwin-x64@npm:11.1.2" + checksum: 74717c27d2dd8e16ed6221ebc1fd0e212ffe467cc77dcd70f61b5ed9763b64dff36e6b3745791bc01771a2df9b60e609393d8ef848d894464cc15d45641a34f8 + languageName: node + linkType: hard + +"@next/swc-linux-x64-gnu@npm:11.1.2": + version: 11.1.2 + resolution: "@next/swc-linux-x64-gnu@npm:11.1.2" + checksum: 7cf8cf47cf007f7f1101fddb9850c03297950f84acc25b2b6ae2bce9f8ee860671adebde6c61df3cf721a50ec985304a98ea2ba7a5b594fd22032ae5f5cade02 + languageName: node + linkType: hard + +"@next/swc-win32-x64-msvc@npm:11.1.2": + version: 11.1.2 + resolution: "@next/swc-win32-x64-msvc@npm:11.1.2" + checksum: dec45ee30bf9edc8d46a59fa9c1c9fcf00352ab02f5e9ff3cfde3d83cc47aa2be2615ac47142495e63419bd6764a25d2f5a73190d261293dc959fe94de14e9e5 + languageName: node + linkType: hard + +"@node-rs/helper@npm:1.2.1": + version: 1.2.1 + resolution: "@node-rs/helper@npm:1.2.1" + dependencies: + "@napi-rs/triples": ^1.0.3 + checksum: c7b96e46df8a4195e62e51b6f60ed05aff398653c270dc9cffaed749303a4c428215d5826de8511b57cf66f2b0165fb3544fb2aec2aaf385c13ac3b9468bb000 languageName: node linkType: hard @@ -2145,6 +2324,13 @@ __metadata: languageName: node linkType: hard +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac + languageName: node + linkType: hard + "@types/jsonfile@npm:^6.0.1": version: 6.0.1 resolution: "@types/jsonfile@npm:6.0.1" @@ -2154,10 +2340,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.171": - version: 4.14.171 - resolution: "@types/lodash@npm:4.14.171" - checksum: d093d8ff8b31d7829ab5f2625d824bb1f903fb07d4beca50812c99c3d6c6b63155c56eb0ecf14b97f0d4ba5fcb3b13f8259cca6d4313345326f3c48bed6f4b9f +"@types/lodash@npm:^4.14.172": + version: 4.14.172 + resolution: "@types/lodash@npm:4.14.172" + checksum: 5fc51ea40d7e455bd1c760bcc60c9e81f82d85988666d4d4969bd8311367c63bbf1fe2be48755ba87836710e45fff94014ec164ebe6ccaa72815014981152434 languageName: node linkType: hard @@ -2249,7 +2435,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^17.0.14": +"@types/react@npm:*": version: 17.0.14 resolution: "@types/react@npm:17.0.14" dependencies: @@ -2260,6 +2446,17 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^17.0.20": + version: 17.0.20 + resolution: "@types/react@npm:17.0.20" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: e342bfaa4fe052fc3a445ea49f746f3fd82cfc9c8028eae139a3e0763ead1871f353bd40da2a472f23d2b52544d2781d40e3159c0703e7e2ff08c13f067a3b9c + languageName: node + linkType: hard + "@types/scheduler@npm:*": version: 0.16.2 resolution: "@types/scheduler@npm:0.16.2" @@ -2480,6 +2677,15 @@ __metadata: languageName: node linkType: hard +"acorn-import-assertions@npm:^1.7.6": + version: 1.7.6 + resolution: "acorn-import-assertions@npm:1.7.6" + peerDependencies: + acorn: ^8 + checksum: bc8a1585abd70ebfb3a6b3112f5e3974fee3ac598230f916a3857f0ad4fa7e72197be532c49d1feeb83678ef264f34bee9bf1934dfb2f276d88468134a51fa9f + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.1": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -2844,12 +3050,12 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.1": - version: 0.21.1 - resolution: "axios@npm:0.21.1" +"axios@npm:^0.21.4": + version: 0.21.4 + resolution: "axios@npm:0.21.4" dependencies: - follow-redirects: ^1.10.0 - checksum: c87915fa0b18c15c63350112b6b3563a3e2ae524d7707de0a73d2e065e0d30c5d3da8563037bc29d4cc1b7424b5a350cb7274fa52525c6c04a615fe561c6ab11 + follow-redirects: ^1.14.0 + checksum: 44245f24ac971e7458f3120c92f9d66d1fc695e8b97019139de5b0cc65d9b8104647db01e5f46917728edfc0cfd88eb30fc4c55e6053eef4ace76768ce95ff3c languageName: node linkType: hard @@ -2920,13 +3126,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-jsx@npm:6.18.0": - version: 6.18.0 - resolution: "babel-plugin-syntax-jsx@npm:6.18.0" - checksum: 0c7ce5b81d6cfc01a7dd7a76a9a8f090ee02ba5c890310f51217ef1a7e6163fb7848994bbc14fd560117892e82240df9c7157ad0764da67ca5f2afafb73a7d27 - languageName: node - linkType: hard - "bail@npm:^1.0.0": version: 1.0.5 resolution: "bail@npm:1.0.5" @@ -3511,10 +3710,10 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.1.6-beta.0": - version: 1.1.6-beta.0 - resolution: "comment-parser@npm:1.1.6-beta.0" - checksum: f686c8b710043d262660f42039afa39474bf820532943561dd6e0c219fd56a53891c56151ccd7252b380f14a8151fcc28ea5e26a8af82f27bb8ac9aa502c76cb +"comment-parser@npm:1.2.4": + version: 1.2.4 + resolution: "comment-parser@npm:1.2.4" + checksum: 36ac280bce4c472fac22b3ec4d8aebb4d3d7c22c6808c70174f4deabee3b82144db66f8bd61eca9c514a6d0f12f6087ddab99e7d531e660d0da793b4730fd445 languageName: node linkType: hard @@ -3810,25 +4009,28 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-simple@npm:^2.0.0": - version: 2.0.0 - resolution: "cssnano-preset-simple@npm:2.0.0" +"cssnano-preset-simple@npm:^3.0.0": + version: 3.0.0 + resolution: "cssnano-preset-simple@npm:3.0.0" dependencies: caniuse-lite: ^1.0.30001202 peerDependencies: - postcss: ^8.2.1 - checksum: 57cdca9d96d4fc88788ae5662633caa88fe8a53be49d39f21c3a76497cb3728381a93aef41b3430a8b708d6af595c00317eb4aa3b0ccb5bc2ce7a731540fef96 + postcss: ^8.2.15 + checksum: 03ad717960abdf8786092609c57278632633cab2b4374cbbb7dfc7ced194339a429d01f61f29264f2da268c6aa6015be7a5cc397725902d20fac1c081cce7315 languageName: node linkType: hard -"cssnano-simple@npm:2.0.0": - version: 2.0.0 - resolution: "cssnano-simple@npm:2.0.0" +"cssnano-simple@npm:3.0.0": + version: 3.0.0 + resolution: "cssnano-simple@npm:3.0.0" dependencies: - cssnano-preset-simple: ^2.0.0 + cssnano-preset-simple: ^3.0.0 peerDependencies: - postcss: ^8.2.2 - checksum: 9efc3ab4c30c25ad7e02ff22e9da5eba73a231241c9ae4602d969f48046b2fbe9aada7e8a82fed14ae416651738f61eebf78cab98d635d7fd06a332c7a1a8750 + postcss: ^8.2.15 + peerDependenciesMeta: + postcss: + optional: true + checksum: 6d2410f91202aa0edd6a74363d34fcf9dada5b7f9d2127950785e50b1de4ff2144f2c81b72be87a93e7700c251858750df3128542ca44d0d505e430dfdf84b19 languageName: node linkType: hard @@ -3862,19 +4064,19 @@ __metadata: languageName: node linkType: hard -"date-fns-tz@npm:^1.1.4": - version: 1.1.4 - resolution: "date-fns-tz@npm:1.1.4" +"date-fns-tz@npm:^1.1.6": + version: 1.1.6 + resolution: "date-fns-tz@npm:1.1.6" peerDependencies: date-fns: ">=2.0.0-alpha.13" - checksum: 400be5aac8de2b5beeca4f4a05c307b966384d8ea09dbff19342be0cf89793223cecfa58eb19e82e973f30517afbc9563599ddd7bca62a8dc5251fcd3504bffd + checksum: cfe4c799372fcb586b7f22d9c31e10df33dabc74452fbd92269ae02bbaed4024636c477b9aac06c521ec78a7391826d5526fedbcefbad2e5de25bcc00c61ad8f languageName: node linkType: hard -"date-fns@npm:^2.22.1": - version: 2.22.1 - resolution: "date-fns@npm:2.22.1" - checksum: 7ff97cd605af50c02f341687c2cafd218839a1aace67965374989855a13f76dc4fe52e0e38c343c1ad1f8399787cb6839a0b14a669c44b30550c287300b1bb50 +"date-fns@npm:^2.23.0": + version: 2.23.0 + resolution: "date-fns@npm:2.23.0" + checksum: 485216d550255a548552db16379e7a5cd440e262b90fbdc0362f63ee71d0e74bd00ce29ca8d76b343f6df36c1ecb6f22edba0b72848a4c32674e755619695c1f languageName: node linkType: hard @@ -4372,67 +4574,67 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.4": - version: 0.3.4 - resolution: "eslint-import-resolver-node@npm:0.3.4" +"eslint-import-resolver-node@npm:^0.3.6": + version: 0.3.6 + resolution: "eslint-import-resolver-node@npm:0.3.6" dependencies: - debug: ^2.6.9 - resolve: ^1.13.1 - checksum: a0db55ec26c5bb385c8681af6b8d6dee16768d5f27dff72c3113407d0f028f28e56dcb1cc3a4689c79396a5f6a9c24bd0cac9a2c9c588c7d7357d24a42bec876 + debug: ^3.2.7 + resolve: ^1.20.0 + checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 languageName: node linkType: hard -"eslint-module-utils@npm:^2.6.1": - version: 2.6.1 - resolution: "eslint-module-utils@npm:2.6.1" +"eslint-module-utils@npm:^2.6.2": + version: 2.6.2 + resolution: "eslint-module-utils@npm:2.6.2" dependencies: debug: ^3.2.7 pkg-dir: ^2.0.0 - checksum: 3cc43a36a0075d300db6a3946203ec92249b6da1539694ef205a43b4ccfbc2eaf4961475d4b89c24b12c187d6bfd882c7c7d0b2ce02adb40c2dedb7fd022a7e2 + checksum: 814591f494e4f4b04c1af0fde2a679e7a7664a5feb51175e02ba96d671e34ec60cb1835d174508eb81c07a6c92c243f84c6349f4169b3bec1a8dbdd36a0934f3 languageName: node linkType: hard -"eslint-plugin-import@npm:^2.23.4": - version: 2.23.4 - resolution: "eslint-plugin-import@npm:2.23.4" +"eslint-plugin-import@npm:^2.24.2": + version: 2.24.2 + resolution: "eslint-plugin-import@npm:2.24.2" dependencies: array-includes: ^3.1.3 array.prototype.flat: ^1.2.4 debug: ^2.6.9 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.4 - eslint-module-utils: ^2.6.1 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.6.2 find-up: ^2.0.0 has: ^1.0.3 - is-core-module: ^2.4.0 + is-core-module: ^2.6.0 minimatch: ^3.0.4 - object.values: ^1.1.3 + object.values: ^1.1.4 pkg-up: ^2.0.0 read-pkg-up: ^3.0.0 resolve: ^1.20.0 - tsconfig-paths: ^3.9.0 + tsconfig-paths: ^3.11.0 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: 8c64bb96fa35607de3da1ddf5d127a5913aebde5677bc276c55fecb3e539a7287569dc697af4f5c523bd2b08bff8f5b525448df5aa7d6256c86436b615be5abc + checksum: df570aec83ffa126fd80596d9fb1b6799d3cde025ceeb159eb28383541ebbb855468c9a2dbc670ab9e91dd0a8f8a82e52fd909a7c61e9ffa585bcce84ae1aec4 languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^35.5.1": - version: 35.5.1 - resolution: "eslint-plugin-jsdoc@npm:35.5.1" +"eslint-plugin-jsdoc@npm:^36.1.0": + version: 36.1.0 + resolution: "eslint-plugin-jsdoc@npm:36.1.0" dependencies: - "@es-joy/jsdoccomment": 0.9.0-alpha.1 - comment-parser: 1.1.6-beta.0 + "@es-joy/jsdoccomment": 0.10.8 + comment-parser: 1.2.4 debug: ^4.3.2 esquery: ^1.4.0 - jsdoc-type-pratt-parser: ^1.0.4 + jsdoc-type-pratt-parser: ^1.1.1 lodash: ^4.17.21 regextras: ^0.8.0 semver: ^7.3.5 spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: c5aa87831a4e434bcb527e760520c9af6b650a7d6956017556645f8b41cda2e5dbccdd8b31eccc2c6135e17bea159c2c912965f1222806eae27a294dd871e757 + checksum: 5152a252a1c1fa8773a22aa0a69ab1c52a9334b12f0f3667548c6478d2d9acf970042b55ff2c48fa5165fab008cf20883f18a173fc5d6ba8f813074618b70ece languageName: node linkType: hard @@ -4466,13 +4668,14 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.24.0": - version: 7.24.0 - resolution: "eslint-plugin-react@npm:7.24.0" +"eslint-plugin-react@npm:^7.25.1": + version: 7.25.1 + resolution: "eslint-plugin-react@npm:7.25.1" dependencies: array-includes: ^3.1.3 array.prototype.flatmap: ^1.2.4 doctrine: ^2.1.0 + estraverse: ^5.2.0 has: ^1.0.3 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.0.4 @@ -4484,7 +4687,7 @@ __metadata: string.prototype.matchall: ^4.0.5 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: bf844f98d93f3617fbd03df4be4f4c9e8e49ea035678762b73a28df730e9518d5ac636293f6326b41b4a0678f9dfa059ce559f6652c7a2d914d477ec3a389619 + checksum: e22ffbb6d336558cab38717c8c6199b72635500b9bd909891ba45865adae5846912a2b3daa355b0c1b1bfe6664b28ee277c14943acc739e703316eff87c1fce4 languageName: node linkType: hard @@ -4528,9 +4731,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.31.0": - version: 7.31.0 - resolution: "eslint@npm:7.31.0" +"eslint@npm:^7.32.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" dependencies: "@babel/code-frame": 7.12.11 "@eslint/eslintrc": ^0.4.3 @@ -4574,7 +4777,7 @@ __metadata: v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: fd73d07ce0b73e5ea950b295a6eaf8d45914b4e56cba4ef49e55a36dc7e965a4865f63f618c0a096a01d089752d9e44180b80ba8657039b8e631dd40e0af1663 + checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 languageName: node linkType: hard @@ -4847,7 +5050,17 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.10.0": +"flux-standard-action@npm:^2.1.2": + version: 2.1.2 + resolution: "flux-standard-action@npm:2.1.2" + dependencies: + lodash.isplainobject: ^4.0.6 + lodash.isstring: ^4.0.1 + checksum: 9d14c071b6bd4547a46124d9b8d82e76257b9fc6bff0f38a9abe49dc9ad0a17c21f59d19329c3f23e90cdf66d0198c464902b171a01e73a3438868aa68b61735 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": version: 1.14.1 resolution: "follow-redirects@npm:1.14.1" peerDependenciesMeta: @@ -4857,6 +5070,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.14.0": + version: 1.14.3 + resolution: "follow-redirects@npm:1.14.3" + peerDependenciesMeta: + debug: + optional: true + checksum: b4d89339afd119b5e6fd92f0e81ae7d3621a5421af7d4a7d94539765c1d5546cf61d2f3219d40596e53c7c253307fbaf5dc772254aa9170fdfe1f9d7731732a9 + languageName: node + linkType: hard + "foreach@npm:^2.0.5": version: 2.0.5 resolution: "foreach@npm:2.0.5" @@ -4945,66 +5168,66 @@ __metadata: version: 0.0.0-use.local resolution: "fuelrats.com@workspace:." dependencies: - "@babel/core": ^7.14.8 - "@babel/eslint-parser": ^7.14.7 + "@babel/core": ^7.15.5 + "@babel/eslint-parser": ^7.15.4 "@babel/eslint-plugin": ^7.14.5 - "@babel/plugin-proposal-decorators": ^7.14.5 + "@babel/plugin-proposal-decorators": ^7.15.4 "@babel/plugin-proposal-export-default-from": ^7.14.5 - "@fingerprintjs/fingerprintjs": ^3.2.0 - "@fortawesome/fontawesome-svg-core": ^1.2.35 - "@fortawesome/free-brands-svg-icons": ^5.15.3 - "@fortawesome/free-solid-svg-icons": ^5.15.3 - "@fortawesome/react-fontawesome": ^0.1.14 + "@fingerprintjs/fingerprintjs": ^3.3.0 + "@fortawesome/fontawesome-svg-core": ^1.2.36 + "@fortawesome/free-brands-svg-icons": ^5.15.4 + "@fortawesome/free-solid-svg-icons": ^5.15.4 + "@fortawesome/react-fontawesome": ^0.1.15 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.4.0-canary.14 + "@fuelrats/eslint-config": ^2.4.0-canary.17 "@fuelrats/eslint-config-react": ^2.4.0-canary.11 "@fuelrats/eslint-plugin": ^2.4.0-canary.11 "@fuelrats/next-adorable-avatars": ^0.3.0 "@fuelrats/stylelint-config": ^1.2.3 "@fuelrats/validation-util": ^1.2.0 "@fuelrats/web-util": ^0.3.3 - "@next/eslint-plugin-next": ^11.0.1 + "@next/eslint-plugin-next": ^11.1.2 "@svgr/webpack": ^5.5.0 "@types/hoist-non-react-statics": ^3.3.1 "@types/ip6addr": ^0.2.3 "@types/js-cookie": ^2.2.7 "@types/jsonfile": ^6.0.1 - "@types/lodash": ^4.14.171 + "@types/lodash": ^4.14.172 "@types/qs": ^6.9.7 - "@types/react": ^17.0.14 + "@types/react": ^17.0.20 "@types/react-dom": ^17.0.9 "@types/react-is": ^17.0.2 "@types/react-redux": ^7.1.18 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 "@types/zxcvbn": ^4.4.1 - axios: ^0.21.1 + axios: ^0.21.4 babel-loader: 8.2.2 builtin-modules: ^3.2.0 clsx: ^1.1.1 - date-fns: ^2.22.1 - date-fns-tz: ^1.1.4 + date-fns: ^2.23.0 + date-fns-tz: ^1.1.6 doctoc: ^2.0.1 dotenv: ^10.0.0 - eslint: ^7.31.0 + eslint: ^7.32.0 eslint-import-resolver-alias: ^1.1.2 - eslint-import-resolver-node: ^0.3.4 - eslint-plugin-import: ^2.23.4 - eslint-plugin-jsdoc: ^35.5.1 + eslint-import-resolver-node: ^0.3.6 + eslint-plugin-import: ^2.24.2 + eslint-plugin-jsdoc: ^36.1.0 eslint-plugin-jsx-a11y: ^6.4.1 - eslint-plugin-react: ^7.24.0 + eslint-plugin-react: ^7.25.1 eslint-plugin-react-hooks: ^4.2.0 - flux-standard-action: ^2.1.1 + flux-standard-action: ^2.1.2 framer-motion: ^4.1.17 hoist-non-react-statics: ^3.3.2 http-proxy-middleware: ^2.0.1 - immer: ^9.0.5 + immer: ^9.0.6 ip6addr: ^0.2.3 - js-cookie: ^2.2.1 + js-cookie: ^3.0.1 jsonfile: ^6.1.0 koa-compose: ^4.1.0 lodash: ^4.17.21 - next: ^11.0.1 + next: ^11.1.2 next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 next-safe: ^3.0.1 @@ -5019,26 +5242,26 @@ __metadata: rc-slider: ^9.7.2 re-reselect: ^4.0.0 react: ^17.0.2 - react-copy-to-clipboard: ^5.0.3 + react-copy-to-clipboard: ^5.0.4 react-dom: ^17.0.2 react-easy-crop: ^3.5.2 react-is: ^17.0.2 - react-redux: ^7.2.4 + react-redux: ^7.2.5 react-table-6: ^6.11.0 - redux: ^4.1.0 + redux: ^4.1.1 redux-devtools-extension: ^2.13.9 redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - sass: ^1.35.2 + sass: ^1.39.0 semver: ^7.3.5 - stripe: ^8.165.0 + stripe: ^8.174.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.20.1 ua-parser-js: ^0.7.28 use-immer: ^0.6.0 - webpack: ^5.46.0 + webpack: ^5.52.0 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -5131,7 +5354,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:7.1.7, glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.1.7 resolution: "glob@npm:7.1.7" dependencies: @@ -5528,10 +5751,10 @@ __metadata: languageName: node linkType: hard -"immer@npm:^9.0.5": - version: 9.0.5 - resolution: "immer@npm:9.0.5" - checksum: 8199c092bb2d12de00a2264ee0f5170cd7356427aee6e5e012628057c8d063bf8ac9c318c7b3b41a0228b0ceefdef340f76caf4d95b4e4ca3ec27b4bb42de371 +"immer@npm:^9.0.6": + version: 9.0.6 + resolution: "immer@npm:9.0.6" + checksum: 75da22f3b32f3f14604eb389b4f50e84a14f2e42f306f0cbe4d2969aed54ec7fda9a7e9ca42ebae2ba73ec9bb6ec1001fafbac535accaf03860054ab0f7e8388 languageName: node linkType: hard @@ -5741,7 +5964,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.2.0, is-core-module@npm:^2.4.0": +"is-core-module@npm:^2.2.0": version: 2.5.0 resolution: "is-core-module@npm:2.5.0" dependencies: @@ -5750,6 +5973,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.6.0": + version: 2.6.0 + resolution: "is-core-module@npm:2.6.0" + dependencies: + has: ^1.0.3 + checksum: 183b3b96fed19822b13959876b0317e61fc2cb5ebcbc21639904c81f7ae328af57f8e18cc4750a9c4abebd686130c70d34a89521e57dbe002edfa4614507ce18 + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.4 resolution: "is-date-object@npm:1.0.4" @@ -5986,10 +6218,10 @@ __metadata: languageName: node linkType: hard -"js-cookie@npm:^2.2.1": - version: 2.2.1 - resolution: "js-cookie@npm:2.2.1" - checksum: 9b1fb980a1c5e624fd4b28ea4867bb30c71e04c4484bb3a42766344c533faa684de9498e443425479ec68609e96e27b60614bfe354877c449c631529b6d932f2 +"js-cookie@npm:^3.0.1": + version: 3.0.1 + resolution: "js-cookie@npm:3.0.1" + checksum: bb48de67e2a6bd1ae3dfd6b2d5a167c33dd0c5a37e909206161eb0358c98f17cb55acd55827a58e9eea3630d89444e7479f7938ef4420dda443218b8c434a4c3 languageName: node linkType: hard @@ -6012,17 +6244,10 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:1.0.4": - version: 1.0.4 - resolution: "jsdoc-type-pratt-parser@npm:1.0.4" - checksum: f80df71fc5d90714a035283136485c518dca74f1aa263e66d7ea79d563dd04fe73602156a6683f32a6218bc9d0d15d1a767a7d3e8b67227ec663183296250330 - languageName: node - linkType: hard - -"jsdoc-type-pratt-parser@npm:^1.0.4": - version: 1.0.8 - resolution: "jsdoc-type-pratt-parser@npm:1.0.8" - checksum: 21f8c08918c885df70cad4e8c625351e3bcea6d1c918d438fb02f5aaf274d4cd3309899216985df044462bf3d1e1d4a391dff8a23fc5c75da36ecb586d4385b4 +"jsdoc-type-pratt-parser@npm:1.1.1, jsdoc-type-pratt-parser@npm:^1.1.1": + version: 1.1.1 + resolution: "jsdoc-type-pratt-parser@npm:1.1.1" + checksum: 90522d1da193e1280c3e041561de20cb2f580dd823ad60f5c08e8f429dacc2e944259ed682c98c62d32f3fc8148a79becb47a47455a8093cebb5377b1c2ecbf2 languageName: node linkType: hard @@ -6104,7 +6329,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.0": +"json5@npm:^2.1.2": version: 2.2.0 resolution: "json5@npm:2.2.0" dependencies: @@ -6289,6 +6514,20 @@ __metadata: languageName: node linkType: hard +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337 + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0 + languageName: node + linkType: hard + "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -6310,7 +6549,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:^4.17.4": +"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:^4.17.4": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -6728,7 +6967,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.1.22, nanoid@npm:^3.1.23": +"nanoid@npm:^3.1.23": version: 3.1.23 resolution: "nanoid@npm:3.1.23" bin: @@ -6804,16 +7043,21 @@ __metadata: languageName: node linkType: hard -"next@npm:^11.0.1": - version: 11.0.1 - resolution: "next@npm:11.0.1" +"next@npm:^11.1.2": + version: 11.1.2 + resolution: "next@npm:11.1.2" dependencies: - "@babel/runtime": 7.12.5 + "@babel/runtime": 7.15.3 "@hapi/accept": 5.0.2 - "@next/env": 11.0.1 - "@next/polyfill-module": 11.0.1 - "@next/react-dev-overlay": 11.0.1 - "@next/react-refresh-utils": 11.0.1 + "@next/env": 11.1.2 + "@next/polyfill-module": 11.1.2 + "@next/react-dev-overlay": 11.1.2 + "@next/react-refresh-utils": 11.1.2 + "@next/swc-darwin-arm64": 11.1.2 + "@next/swc-darwin-x64": 11.1.2 + "@next/swc-linux-x64-gnu": 11.1.2 + "@next/swc-win32-x64-msvc": 11.1.2 + "@node-rs/helper": 1.2.1 assert: 2.0.0 ast-types: 0.13.2 browserify-zlib: 0.2.0 @@ -6824,7 +7068,7 @@ __metadata: chokidar: 3.5.1 constants-browserify: 1.0.0 crypto-browserify: 3.12.0 - cssnano-simple: 2.0.0 + cssnano-simple: 3.0.0 domain-browser: 4.19.0 encoding: 0.1.13 etag: 1.8.1 @@ -6841,9 +7085,8 @@ __metadata: p-limit: 3.1.0 path-browserify: 1.0.1 pnp-webpack-plugin: 1.6.4 - postcss: 8.2.13 + postcss: 8.2.15 process: 0.11.10 - prop-types: 15.7.2 querystring-es3: 0.2.1 raw-body: 2.4.1 react-is: 17.0.2 @@ -6851,11 +7094,11 @@ __metadata: stream-browserify: 3.0.0 stream-http: 3.1.1 string_decoder: 1.3.0 - styled-jsx: 3.3.2 + styled-jsx: 4.0.1 timers-browserify: 2.0.12 tty-browserify: 0.0.1 use-subscription: 1.5.1 - util: 0.12.3 + util: 0.12.4 vm-browserify: 1.1.2 watchpack: 2.1.1 peerDependencies: @@ -6864,6 +7107,15 @@ __metadata: react: ^17.0.2 react-dom: ^17.0.2 sass: ^1.3.0 + dependenciesMeta: + "@next/swc-darwin-arm64": + optional: true + "@next/swc-darwin-x64": + optional: true + "@next/swc-linux-x64-gnu": + optional: true + "@next/swc-win32-x64-msvc": + optional: true peerDependenciesMeta: fibers: optional: true @@ -6873,7 +7125,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: c6b4747f1a748269b661f73897558c036a9d1d3b7ff878fac1876b06f3d61b42b8991eef2ed90bfbc273f8b40fa5892b94009a69fdff353a9af3583a7740c1ea + checksum: c5a6d01b6d60de6e94bed11b199b8adb656521fed4abe0e816bec7991e8ff435006ef226ded40a0aecd277aa79e7d520e047c24bfb01521a12905b246ddd9177 languageName: node linkType: hard @@ -7151,7 +7403,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.0, object.values@npm:^1.1.3, object.values@npm:^1.1.4": +"object.values@npm:^1.1.0, object.values@npm:^1.1.4": version: 1.1.4 resolution: "object.values@npm:1.1.4" dependencies: @@ -8001,14 +8253,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.2.13": - version: 8.2.13 - resolution: "postcss@npm:8.2.13" +"postcss@npm:8.2.15": + version: 8.2.15 + resolution: "postcss@npm:8.2.15" dependencies: colorette: ^1.2.2 - nanoid: ^3.1.22 + nanoid: ^3.1.23 source-map: ^0.6.1 - checksum: 1f4a4d85c220d90d11486d0a21a0549dff91e52b8857957c797feb408b31f929b142d0b7ab029ec81bb5a48b0e8605ba716d674571fa98962737c90164d64648 + checksum: 07c309e5318843cdbb240b19101c8c679e19cb88544811de921dd9125118d6c0603afe925da7f2ac928dd7d4c0c6380ccdedf032400af5013210a3f145baca5d languageName: node linkType: hard @@ -8113,7 +8365,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:15.7.2, prop-types@npm:^15.5.8, prop-types@npm:^15.7.2": +"prop-types@npm:^15.5.8, prop-types@npm:^15.7.2": version: 15.7.2 resolution: "prop-types@npm:15.7.2" dependencies: @@ -8379,15 +8631,15 @@ __metadata: languageName: node linkType: hard -"react-copy-to-clipboard@npm:^5.0.3": - version: 5.0.3 - resolution: "react-copy-to-clipboard@npm:5.0.3" +"react-copy-to-clipboard@npm:^5.0.4": + version: 5.0.4 + resolution: "react-copy-to-clipboard@npm:5.0.4" dependencies: copy-to-clipboard: ^3 prop-types: ^15.5.8 peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 - checksum: b10d846ffa283d3de4cccc8e25927cb32d5ab8bf3d21586e1665459859653583971f7db6594176a807d42bce2a443c2c0a094b1657eb75cf04b95dfb64a22d84 + checksum: dae8caae192d4937a151ec3ddad540fe4846d28646aee6d90774abcc6a077761926c99f2bcd9506a76a65524ec2c32b5ec1341e8096fcd3f6335365eaf065137 languageName: node linkType: hard @@ -8431,9 +8683,9 @@ __metadata: languageName: node linkType: hard -"react-redux@npm:^7.2.4": - version: 7.2.4 - resolution: "react-redux@npm:7.2.4" +"react-redux@npm:^7.2.5": + version: 7.2.5 + resolution: "react-redux@npm:7.2.5" dependencies: "@babel/runtime": ^7.12.1 "@types/react-redux": ^7.1.16 @@ -8448,7 +8700,7 @@ __metadata: optional: true react-native: optional: true - checksum: 214fa1a4811f95090b77d96ec7114c322adf388b6d086ebebf50cdaf03549758037283f953d2b920cf6ee2f6ffad8f35e92f1ab959b3f2c957f5075d00e16d0a + checksum: 04ac4a4178067cbcfc05506dfea9f7e01730093a5752f050567f7ae4a38c03c96da9d8fed051f8ab1ecede5ea8a15ee41c5f6c5eeb7f04f37e4d13e431ec7830 languageName: node linkType: hard @@ -8615,7 +8867,7 @@ __metadata: languageName: node linkType: hard -"redux@npm:^4.0.0, redux@npm:^4.1.0": +"redux@npm:^4.0.0": version: 4.1.0 resolution: "redux@npm:4.1.0" dependencies: @@ -8624,6 +8876,15 @@ __metadata: languageName: node linkType: hard +"redux@npm:^4.1.1": + version: 4.1.1 + resolution: "redux@npm:4.1.1" + dependencies: + "@babel/runtime": ^7.9.2 + checksum: 99519438a5d20b69404ad3816307ccc189f16df04b64c50d82c415ec488ea68b656d7a2fc81b6345e8d90f095344dfea68246500f72613d76464986660bc0485 + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^8.2.0": version: 8.2.0 resolution: "regenerate-unicode-properties@npm:8.2.0" @@ -8844,7 +9105,7 @@ __metadata: languageName: node linkType: hard -"resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.20.0": +"resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" dependencies: @@ -8864,7 +9125,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.7#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.13.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>": +"resolve@patch:resolve@^1.1.7#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin<compat/resolve>::version=1.20.0&hash=00b1ff" dependencies: @@ -8949,14 +9210,14 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.35.2": - version: 1.35.2 - resolution: "sass@npm:1.35.2" +"sass@npm:^1.39.0": + version: 1.39.0 + resolution: "sass@npm:1.39.0" dependencies: chokidar: ">=3.0.0 <4.0.0" bin: sass: sass.js - checksum: bae338ac88d5a2f6d99dd3fc8f3ac84a93419eaa2d38ee877ddd844f6996f21b0005ed074e9eadb28bb08c4a3c2dc379a01cd6fe47352a9857870d33f69273ef + checksum: 390751da385af1a46775876a44748e1401e9b1664ddeda6841ffe76dc1c14d1949a40b2c5b31beca7a494da11e8283ffcef55c0e581d1979c72177b8721684c2 languageName: node linkType: hard @@ -9564,13 +9825,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.165.0": - version: 8.165.0 - resolution: "stripe@npm:8.165.0" +"stripe@npm:^8.174.0": + version: 8.174.0 + resolution: "stripe@npm:8.174.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 4d4a68101fe41c3060a297cc7aca390cbd91f1141ec3b5d62c53c2967db788cc3280ab7c7995f0b85a461d79cf84304a8ec229b581e9dbe40051431e2b759698 + checksum: 7fd205524c51fddee82cd364da0f82905d554a45c55c46d8fc503e1bf21e1df396b7b76fbfa430a2c2ba121b4bc820468dcf97c611bec4889a1469e397efdecc languageName: node linkType: hard @@ -9600,12 +9861,12 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"styled-jsx@npm:3.3.2": - version: 3.3.2 - resolution: "styled-jsx@npm:3.3.2" +"styled-jsx@npm:4.0.1": + version: 4.0.1 + resolution: "styled-jsx@npm:4.0.1" dependencies: - "@babel/types": 7.8.3 - babel-plugin-syntax-jsx: 6.18.0 + "@babel/plugin-syntax-jsx": 7.14.5 + "@babel/types": 7.15.0 convert-source-map: 1.7.0 loader-utils: 1.2.3 source-map: 0.7.3 @@ -9613,8 +9874,11 @@ resolve@^2.0.0-next.3: stylis: 3.5.4 stylis-rule-sheet: 0.0.10 peerDependencies: - react: 15.x.x || 16.x.x || 17.x.x - checksum: 74a129dee798466aedd889dca297bcded768ac2eda1012463edab7e8636b6f1d60125b67e8247abab83745c05c1d31bb1c3535c786feee0da5b75bd5dfa578bb + react: ">= 16.8.0 || 17.x.x || 18.x.x" + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: a4260ba093086ed50c903ce1e4e564c4162d041238c02d8f9f8d1b259224f54ac49b49e9b4a6e3396c27e688dd870da7552c35ea9622c25aaa4777b2df64bb26 languageName: node linkType: hard @@ -10007,14 +10271,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"tsconfig-paths@npm:^3.9.0": - version: 3.10.1 - resolution: "tsconfig-paths@npm:3.10.1" +"tsconfig-paths@npm:^3.11.0": + version: 3.11.0 + resolution: "tsconfig-paths@npm:3.11.0" dependencies: - json5: ^2.2.0 + "@types/json5": ^0.0.29 + json5: ^1.0.1 minimist: ^1.2.0 strip-bom: ^3.0.0 - checksum: 014ec869276114031d3bd6d2d9ce07c32c96ca6912f32285f46eeb4ca5270bd4c5e4de1353b838c66282157f089dedc8c3377c4e72e2f3d910e706c7b9ac5e6d + checksum: e14aaa6883f316d611db41cbb0fc8779b59c66b31d1e045565ad4540c77ccd3d2bb66f7c261b74ff535d3cc6b4a1ce21dc84774bf2a2a603ed6b0fb96f7e0cc7 languageName: node linkType: hard @@ -10400,9 +10665,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"util@npm:0.12.3": - version: 0.12.3 - resolution: "util@npm:0.12.3" +"util@npm:0.12.4, util@npm:^0.12.0": + version: 0.12.4 + resolution: "util@npm:0.12.4" dependencies: inherits: ^2.0.3 is-arguments: ^1.0.4 @@ -10410,7 +10675,7 @@ resolve@^2.0.0-next.3: is-typed-array: ^1.1.3 safe-buffer: ^5.1.2 which-typed-array: ^1.1.2 - checksum: e64d4a901999017d3125ba20d66f3f97429240ed1f7cf60a705abba8a4901277b909250677f616e043cd49f7ce5e4f2f4df5aa3960e8fdf83941f828f3643e9a + checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 languageName: node linkType: hard @@ -10423,20 +10688,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"util@npm:^0.12.0": - version: 0.12.4 - resolution: "util@npm:0.12.4" - dependencies: - inherits: ^2.0.3 - is-arguments: ^1.0.4 - is-generator-function: ^1.0.7 - is-typed-array: ^1.1.3 - safe-buffer: ^5.1.2 - which-typed-array: ^1.1.2 - checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 - languageName: node - linkType: hard - "v8-compile-cache@npm:^2.0.3, v8-compile-cache@npm:^2.3.0": version: 2.3.0 resolution: "v8-compile-cache@npm:2.3.0" @@ -10559,13 +10810,10 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack-sources@npm:^2.3.1": - version: 2.3.1 - resolution: "webpack-sources@npm:2.3.1" - dependencies: - source-list-map: ^2.0.1 - source-map: ^0.6.1 - checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 +"webpack-sources@npm:^3.2.0": + version: 3.2.0 + resolution: "webpack-sources@npm:3.2.0" + checksum: 8f1d686bd6aab2eda330579a07e14803cb2e01415f5a603697402aea3c36e98c1d2731167c3e97e50170cf1b0214cf8ef945fc639b100d1e3b67c023feb35716 languageName: node linkType: hard @@ -10606,9 +10854,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.46.0": - version: 5.46.0 - resolution: "webpack@npm:5.46.0" +"webpack@npm:^5.52.0": + version: 5.52.0 + resolution: "webpack@npm:5.52.0" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.50 @@ -10616,6 +10864,7 @@ resolve@^2.0.0-next.3: "@webassemblyjs/wasm-edit": 1.11.1 "@webassemblyjs/wasm-parser": 1.11.1 acorn: ^8.4.1 + acorn-import-assertions: ^1.7.6 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.8.0 @@ -10632,13 +10881,13 @@ resolve@^2.0.0-next.3: tapable: ^2.1.1 terser-webpack-plugin: ^5.1.3 watchpack: ^2.2.0 - webpack-sources: ^2.3.1 + webpack-sources: ^3.2.0 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: dc81b091452739d91e7933a8fceb347f1f8f72260d3aaf551f591b5214c4a73ca4ca6c07f9398931a3bd452b701db4c9b7af2f2a941f0ea319921bae1fe8eb11 + checksum: fe7cbb761b251a6885d67971f8763a9675ca4777ff863be4cbe76a6ab22a3f810be2728fe7b9c31f74259001859a3915ad581f0e4aca5255cdb13ccab3472f00 languageName: node linkType: hard From 78fbf786b2b605b31c7db5406fc781345c238f54 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 04:17:08 +0000 Subject: [PATCH 255/300] =?UTF-8?q?=F0=9F=9A=A8=20fix=20babel=20loose=20mo?= =?UTF-8?q?de=20warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .babelrc.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.babelrc.js b/.babelrc.js index a319810cd..af443d45f 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -7,15 +7,14 @@ module.exports = { bugfixes: true, targets: 'defaults, not IE 11, not IE_mob 11, node 16', }, - 'class-properties': { - loose: true, - }, }, ], ], + assumptions: { + setPublicClassFields: true, + }, plugins: [ [require.resolve('@fuelrats/babel-plugin-classnames'), { transformObjects: true, packageName: 'clsx' }], [require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }], - require.resolve('@babel/plugin-proposal-export-default-from'), ], } From 1b9104e19f0495fe26d42d2e3bdb24c33fb9ff69 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 04:17:32 +0000 Subject: [PATCH 256/300] =?UTF-8?q?=E2=9E=96=20Remove=20unused=20babel=20p?= =?UTF-8?q?lugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - yarn.lock | 24 ------------------------ 2 files changed, 25 deletions(-) diff --git a/package.json b/package.json index 8f49d4821..fab45c84a 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,6 @@ "@babel/eslint-parser": "^7.15.4", "@babel/eslint-plugin": "^7.14.5", "@babel/plugin-proposal-decorators": "^7.15.4", - "@babel/plugin-proposal-export-default-from": "^7.14.5", "@fuelrats/babel-plugin-classnames": "^0.3.0", "@fuelrats/eslint-config": "^2.4.0-canary.17", "@fuelrats/eslint-config-react": "^2.4.0-canary.11", diff --git a/yarn.lock b/yarn.lock index 84f70ef19..3effcece2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -649,18 +649,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-export-default-from@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-proposal-export-default-from@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - "@babel/plugin-syntax-export-default-from": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 706f22a67bb45f3c7d998b5c0dba4c7263dec747427c2a086460475c10c45b61204c9252ff4ca1300be076d1fafca593d6ee53744f478d2f67447133abd8b92f - languageName: node - linkType: hard - "@babel/plugin-proposal-export-namespace-from@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.14.5" @@ -854,17 +842,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-export-default-from@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c480fad64ac4fd1d7c6f54250999adb7600263491d15be28998bc7d2aea4cae12966e905d80d69f9d98b170ee28d164a7529025f250e2a285d97dff9d421fe48 - languageName: node - linkType: hard - "@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" @@ -5172,7 +5149,6 @@ __metadata: "@babel/eslint-parser": ^7.15.4 "@babel/eslint-plugin": ^7.14.5 "@babel/plugin-proposal-decorators": ^7.15.4 - "@babel/plugin-proposal-export-default-from": ^7.14.5 "@fingerprintjs/fingerprintjs": ^3.3.0 "@fortawesome/fontawesome-svg-core": ^1.2.36 "@fortawesome/free-brands-svg-icons": ^5.15.4 From f734002e3eecad54c82753176cc0b17f02c475b0 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 04:18:15 +0000 Subject: [PATCH 257/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(index-page):=20ad?= =?UTF-8?q?d=20text=20names=20to=20slide=20properties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/index.js b/src/pages/index.js index eb84ba972..b55ce88ea 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -13,32 +13,32 @@ import makeRoute from '~/util/router/makeRoute' // Component constants const CarouselSlides = { - 0: { + chives: { text: 'CMDR Dr Chives', position: '13% 50%', filename: 'chives.jpg', }, - 1: { + rafa: { text: 'CMDR rafaBC_', position: '20% 50%', filename: 'rafa.jpg', }, - 2: { + numpi: { text: 'CMDR NumberPi', position: '50% 50%', filename: 'pi.jpg', }, - 3: { + alpaca: { text: 'CMDR Worthy Alpaca', position: '25% 50%', filename: 'worthyalpaca.jpg', }, - 4: { + light: { text: 'CMDR Light1c3', position: '70% 100%', filename: 'light.jpg', }, - 5: { + fenri: { text: 'CMDR Fenrishi', position: '40% 50%', filename: 'fenrishi.jpg', From 69c891cfe71d0126efbeba8a268b68af16a3269c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 04:19:18 +0000 Subject: [PATCH 258/300] =?UTF-8?q?=F0=9F=90=9B=20(Carousel):=20fix=20effe?= =?UTF-8?q?ct=20logic=20from=20making=20things=20go=20all=20levels=20of=20?= =?UTF-8?q?haywire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Carousel.js | 87 ++++++++++++++++++++++---------------- 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/src/components/Carousel.js b/src/components/Carousel.js index 370d111f4..8d057d362 100644 --- a/src/components/Carousel.js +++ b/src/components/Carousel.js @@ -21,24 +21,31 @@ const { appUrl } = publicRuntimeConfig const getSlides = (_, props) => { return props.slides } + const getId = (_, props) => { return props.id } -const selectConnectedSlides = createSelector( +const selectSlides = createSelector( + [getSlides, getId], + (slides, compId) => { + return Object.entries(slides).reduce((acc, [key, slide]) => { + return { + ...acc, + [`${compId}-${key}`]: slide, + } + }, {}) + }, +) + +const selectSlideImages = createSelector( [selectImages, getSlides, getId], (images, slides, compId) => { - return Object.entries(slides).reduce((acc, [key, slide]) => { + return Object.keys(slides).reduce((acc, key) => { const slideId = `${compId}-${key}` - return { ...acc, - [slideId]: { - ...slide, - id: slideId, - url: `${appUrl}/static/images/${slide.filename ?? `slide_${key}.jpg`}`, - image: images[slideId], - }, + [slideId]: images[slideId], } }, {}) }, @@ -72,72 +79,80 @@ function Carousel (props) { interval = 10000, } = props - const imageSlides = useSelectorWithProps(props, selectConnectedSlides) - const [curSlideId, setCurSlide] = useState(Object.keys(imageSlides)[0]) + const slides = useSelectorWithProps(props, selectSlides) + const images = useSelectorWithProps(props, selectSlideImages) + const [curSlideId, setCurSlide] = useState(Object.keys(slides)[0]) - const timerRef = useRef(null) + const curSlide = slides[curSlideId] + const curSlideUrl = images[curSlideId] + const timerRef = useRef(null) const dispatch = useDispatch() - const setSlide = useCallback((nextSlide) => { - timerRef.current = window.setTimeout(setSlide, interval) + const handleSlideButtonClick = useCallback((event) => { + window.clearTimeout(timerRef.current) + setCurSlide(event.target.name) + }, []) + const setSlide = useCallback((nextSlide) => { if (document.visibilityState === 'hidden') { + timerRef.current = window.setTimeout(setSlide, interval) return } - const slideKeys = Object.keys(imageSlides) + const slideKeys = Object.keys(slides) setCurSlide((slideId) => { return typeof nextSlide === 'undefined' ? slideKeys[(slideKeys.indexOf(slideId) + 1) % slideKeys.length] : nextSlide }) - }, [imageSlides, interval]) + }, [slides, interval]) useEffect(() => { - Object.values(imageSlides).forEach((slide) => { - if (!slide.image) { - dispatch(getImage(slide)) + Object.entries(slides).forEach(([key, slide]) => { + if (!images[key]) { + dispatch(getImage({ + id: key, + url: `${appUrl}/static/images/${slide.filename}`, + })) } }) - }, [dispatch, imageSlides]) + // eslint-disable-next-line react-hooks/exhaustive-deps -- Only perform this on mount since this is a fetch operation. + }, []) useEffect(() => { - setSlide() + if (curSlideUrl) { + timerRef.current = window.setTimeout(setSlide, interval) + } return () => { - window.clearTimeout(timerRef.current) + if (timerRef.current) { + window.clearTimeout(timerRef.current) + } } - }, [setSlide]) - - const handleSlideButtonClick = useCallback((event) => { - window.clearTimeout(timerRef.current) - setCurSlide(event.target.name) - }, []) - - - const curSlide = imageSlides[curSlideId] + // eslint-disable-next-line react-hooks/exhaustive-deps -- only set a timeout if curSlideUrl changes + }, [curSlideUrl]) return ( <div className={['carousel', className]} id={id}> <AnimatePresence> { - Boolean(curSlide.image) && ( + Boolean(curSlideUrl) && ( <m.div key={`${curSlideId}-img`} {...slideMotionConfig} className="carousel-slide" - src={curSlide.image} + src={curSlideUrl} style={ { - backgroundImage: `url(${curSlide.image})`, + backgroundImage: `url(${curSlideUrl})`, backgroundPosition: curSlide.position ?? 'center', } } /> ) } { - Boolean(curSlide.image && curSlide.text) && ( + Boolean(curSlideUrl && curSlide.text) && ( <m.span key={`${curSlideId}-text`} {...slideTextMotionConfig} @@ -149,7 +164,7 @@ function Carousel (props) { </AnimatePresence> <div className="carousel-slide-picker"> { - Object.keys(imageSlides).map((slideId) => { + Object.keys(images).map((slideId) => { return ( <button key={slideId} From 013e6257a0e7d235d771f2f7a691c75de647c15a Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 8 Sep 2021 04:25:33 +0000 Subject: [PATCH 259/300] =?UTF-8?q?=F0=9F=9A=A8=20(TagsInput):=20remove=20?= =?UTF-8?q?unused=20eslint-disable=20directive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TagsInput.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/TagsInput.js b/src/components/TagsInput.js index 8e9d1cc5d..23b412180 100644 --- a/src/components/TagsInput.js +++ b/src/components/TagsInput.js @@ -2,7 +2,6 @@ /* eslint-disable no-magic-numbers, no-negated-condition, - no-restricted-syntax, no-return-assign, react/jsx-no-bind, react/no-unsafe, From 90019dbb3cef28751257b31d080dd96e67d25b87 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sat, 11 Sep 2021 04:07:24 +0000 Subject: [PATCH 260/300] =?UTF-8?q?=E2=9C=A8=20(rescue-selectors):=20disal?= =?UTF-8?q?low=20rescues=20to=20be=20edited=20while=20they=20are=20open?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/selectors/rescues.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/store/selectors/rescues.js b/src/store/selectors/rescues.js index bc218186d..3a63a05db 100644 --- a/src/store/selectors/rescues.js +++ b/src/store/selectors/rescues.js @@ -76,6 +76,11 @@ export const selectCurrentUserCanEditRescue = createCachedSelector( return true } + // If the resuce is still open, don't allow editing + if (rescue.attributes.status !== 'closed') { + return false + } + // Check if current user is assigned to case. const usersAssignedRats = rescueRats?.reduce( (acc, rat) => { From b6465738460ad54b3b849d279edf8a1da48609d7 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sat, 11 Sep 2021 04:25:41 +0000 Subject: [PATCH 261/300] =?UTF-8?q?=F0=9F=93=9D=20(CHANGELOG.md):=20add=20?= =?UTF-8?q?changes=20from=20#373?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 872aae3ab..76dd6f34a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * Moved all custom server functions into suitable replacements provided by our site framework. - [#329][] * This move has let us drop our entire custom backend. * Updated `<Switch />` with an improved loading state animation. - [#330][] +* Open rescues may no longer be edited by normal users while the rescue is open - [#373] * Other smaller changes to sreamline development. - [#328][], [#329][], [#370][] @@ -41,6 +42,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#330]: https://github.com/FuelRats/fuelrats.com/pull/330 [#333]: https://github.com/FuelRats/fuelrats.com/pull/333 [#370]: https://github.com/FuelRats/fuelrats.com/pull/370 +[#373]: https://github.com/FuelRats/fuelrats.com/pull/373 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From 1020d00a6dab1c5bc15e5f6d222a8dd576fb8ece Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sat, 11 Sep 2021 13:51:11 +0000 Subject: [PATCH 262/300] =?UTF-8?q?=F0=9F=91=BD=20(user-selectors):=20upda?= =?UTF-8?q?te=20avatar=20url=20selector=20to=20reflect=20API=20updates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/selectors/users.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index d4445f6a8..05f939de4 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -46,8 +46,8 @@ export const selectAvatarByUserId = (state, props) => { return undefined } - return user.attributes.image - ? `/api/fr/users/${user.id}/image` + return user.relationships?.avatar?.data + ? `/api/fr/users/${user.id}/image?v=${user.relationships.avatar.data.id}` : `/api/avatars/${user.id}/${props.size ?? AVATAR_DEFAULT_SIZE}` } From ff627a832b3e5513624c9f76841ad60001d02126 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sat, 11 Sep 2021 14:02:38 +0000 Subject: [PATCH 263/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20(user-selectors):?= =?UTF-8?q?=20rewrite=20user=20avatar=20URL=20selector=20for=20clarity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProfileUserAvatar/ProfileUserAvatar.js | 6 ++--- src/components/UserMenu/UserMenu.js | 6 ++--- src/store/selectors/users.js | 23 +++++++++++-------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 1747799fe..93c9796eb 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -3,13 +3,13 @@ import Image from 'next/image' import { useState, useCallback } from 'react' import useSelectorWithProps from '~/hooks/useSelectorWithProps' -import { selectAvatarByUserId, withCurrentUserId } from '~/store/selectors' +import { selectAvatarUrlByUserId, withCurrentUserId } from '~/store/selectors' import UploadAvatarModal from '../UploadAvatarModal' import styles from './ProfileUserAvatar.module.scss' function ProfileUserAvatar () { - const userAvatar = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarByUserId)) + const userAvatarUrl = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarUrlByUserId)) const [showUploadAvatar, setShowUploadAvatar] = useState(false) @@ -27,7 +27,7 @@ function ProfileUserAvatar () { unoptimized alt="User's avatar" height={170} - src={userAvatar} + src={userAvatarUrl} width={170} /> </div> <div className={styles.userAvatarEdit}> diff --git a/src/components/UserMenu/UserMenu.js b/src/components/UserMenu/UserMenu.js index fa7bbcf63..356afc1de 100644 --- a/src/components/UserMenu/UserMenu.js +++ b/src/components/UserMenu/UserMenu.js @@ -8,7 +8,7 @@ import { logout } from '~/store/actions/session' import { selectSession, selectUserById, - selectAvatarByUserId, + selectAvatarUrlByUserId, withCurrentUserId, selectCurrentUserCanEditAllRescues, } from '~/store/selectors' @@ -26,7 +26,7 @@ function UserMenu () { const { loggedIn } = useSelector(selectSession) const userCanSeeRescueAdmin = useSelector(selectCurrentUserCanEditAllRescues) const user = useSelector(withCurrentUserId(selectUserById)) - const userAvatar = useSelectorWithProps({ size: 64 }, withCurrentUserId(selectAvatarByUserId)) + const userAvatarUrl = useSelectorWithProps({ size: 64 }, withCurrentUserId(selectAvatarUrlByUserId)) const dispatch = useDispatch() @@ -62,7 +62,7 @@ function UserMenu () { unoptimized alt="User's avatar" height={64} - src={userAvatar} + src={userAvatarUrl} width={64} /> ) } diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index 05f939de4..a1645dd89 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -19,6 +19,10 @@ const getScope = (_, props) => { return props?.scope } +const getSizeProp = (_, props) => { + return props?.size +} + export const getUserId = (_, props) => { return props?.userId } @@ -40,17 +44,18 @@ export const selectUserDisplayRatRelationship = (state, props) => { } export const selectAvatarByUserId = (state, props) => { - const user = selectUserById(state, props) - - if (!user) { - return undefined - } - - return user.relationships?.avatar?.data - ? `/api/fr/users/${user.id}/image?v=${user.relationships.avatar.data.id}` - : `/api/avatars/${user.id}/${props.size ?? AVATAR_DEFAULT_SIZE}` + return selectUserById(state, props)?.relationships.avatar?.data ?? undefined } +export const selectAvatarUrlByUserId = createCachedSelector( + [selectAvatarByUserId, getSizeProp, getUserId], + (avatar, size, userId) => { + return avatar + ? `/api/fr/users/${userId}/image?v=${avatar.id}` + : `/api/avatars/${userId}/${size ?? AVATAR_DEFAULT_SIZE}` + }, +)(getUserId) + export const selectCurrentUserScopes = (state) => { return withCurrentUserId(selectUserById)(state)?.meta?.permissions ?? [] } From a3bf8cc43eb6c53fb9242899762452117e29585b Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 12 Sep 2021 22:21:25 +0000 Subject: [PATCH 264/300] =?UTF-8?q?=F0=9F=94=A5=20remove=20unused=20fa=20i?= =?UTF-8?q?cons=20from=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/fontawesome/library.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/util/fontawesome/library.js b/src/util/fontawesome/library.js index 21ac33c64..978abdb3e 100644 --- a/src/util/fontawesome/library.js +++ b/src/util/fontawesome/library.js @@ -24,15 +24,12 @@ export { faFolderOpen, faHandsHelping, faIdCardAlt, - faInfoCircle, - faMoneyBill, faMouse, faPen, faPlus, faRocket, faShieldAlt, faShoePrints, - faShoppingCart, faSignature, faSpaceShuttle, faSpinner, @@ -40,14 +37,9 @@ export { faTimes, faTimesCircle, faTrash, - faTruck, - faUndo, faUser, faUserSecret, faUpload, - faSearchPlus, - faSearchMinus, - faRedo, } from '@fortawesome/free-solid-svg-icons' export { From 7e06391a615c2dbc92e0b4bc93589ae1c59af4c3 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 12 Sep 2021 22:39:37 +0000 Subject: [PATCH 265/300] =?UTF-8?q?=E2=9C=A8=20add=20faSearch=20icon=20to?= =?UTF-8?q?=20fa=20lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/fontawesome/library.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/fontawesome/library.js b/src/util/fontawesome/library.js index 978abdb3e..3bcff4503 100644 --- a/src/util/fontawesome/library.js +++ b/src/util/fontawesome/library.js @@ -37,6 +37,7 @@ export { faTimes, faTimesCircle, faTrash, + faSearch, faUser, faUserSecret, faUpload, From 487fb2c27dd5903fe59c4e799521e91a978d3e4f Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 12 Sep 2021 22:55:48 +0000 Subject: [PATCH 266/300] =?UTF-8?q?=E2=9C=A8=E2=99=BB=EF=B8=8F=F0=9F=90=9B?= =?UTF-8?q?=20(ProfileUserAvatar):=20clean=20up=20edit=20button=20and=20ma?= =?UTF-8?q?ke=20it=20conditional=20on=20a=20flag=20prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also fixes page load pop-in issues --- src/components/ProfileHeader/ProfileHeader.js | 2 +- .../ProfileUserAvatar/ProfileUserAvatar.js | 30 +++++++++++----- .../ProfileUserAvatar.module.scss | 34 ++++++------------- src/scss/components/_avatar.scss | 15 +------- 4 files changed, 35 insertions(+), 46 deletions(-) diff --git a/src/components/ProfileHeader/ProfileHeader.js b/src/components/ProfileHeader/ProfileHeader.js index a9edd6e63..d6871be2e 100644 --- a/src/components/ProfileHeader/ProfileHeader.js +++ b/src/components/ProfileHeader/ProfileHeader.js @@ -49,7 +49,7 @@ function ProfileHeader () { <UnverifiedUserBanner /> ) } - <ProfileUserAvatar /> + <ProfileUserAvatar canEdit /> <div className="profile-basic-info"> <div className="rat-name"> {displayRat?.attributes?.name ?? email.split('@')[0]} diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 93c9796eb..8b28be90d 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -1,5 +1,6 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Image from 'next/image' +import PropTypes from 'prop-types' import { useState, useCallback } from 'react' import useSelectorWithProps from '~/hooks/useSelectorWithProps' @@ -8,7 +9,7 @@ import { selectAvatarUrlByUserId, withCurrentUserId } from '~/store/selectors' import UploadAvatarModal from '../UploadAvatarModal' import styles from './ProfileUserAvatar.module.scss' -function ProfileUserAvatar () { +function ProfileUserAvatar ({ canEdit }) { const userAvatarUrl = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarUrlByUserId)) const [showUploadAvatar, setShowUploadAvatar] = useState(false) @@ -19,6 +20,10 @@ function ProfileUserAvatar () { }) }, []) + const handleAvatarModalClose = useCallback(() => { + return setShowUploadAvatar(false) + }, []) + return ( <> <div className={styles.userAvatar}> @@ -29,19 +34,28 @@ function ProfileUserAvatar () { height={170} src={userAvatarUrl} width={170} /> - </div> - <div className={styles.userAvatarEdit}> - <div className={[styles.userAvatarEdit, styles.editBack]} /> - <button className={[styles.userAvatarEdit, styles.editFace]} type="button" onClick={handleToggleUploadAvatar}> - <FontAwesomeIcon icon="upload" size="3x" /> - </button> + { + canEdit && ( + <button + aria-label="Edit your avatar" + className={[styles.userAvatarEdit, styles.editFace]} + type="button" + onClick={handleToggleUploadAvatar}> + <FontAwesomeIcon icon="upload" size="3x" /> + </button> + ) + } </div> </div> <UploadAvatarModal isOpen={showUploadAvatar} - onClose={handleToggleUploadAvatar} /> + onClose={handleAvatarModalClose} /> </> ) } +ProfileUserAvatar.propTypes = { + canEdit: PropTypes.bool, +} + export default ProfileUserAvatar diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss index 2d5127d43..8628c5682 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss @@ -7,12 +7,22 @@ } .userAvatarEdit { + --background-color: #{rgba($black, 0.7)}; + --background-color-hover: var(--background-color); + backdrop-filter: blur(5px); + position: absolute; top: 0; left: 0; + z-index: 1; width: 170px; height: 170px; + margin: 0; + padding: 0; + + border: 0.2rem solid $red; + border-radius: 50%; opacity: 0; transition: opacity 0.2s; @@ -24,28 +34,6 @@ } } -.editBack { - border: 0.2rem solid $red; - border-radius: 50%; - - background: $white; - opacity: 0.8; -} - -.editFace { - margin: 0; - padding: 0; - - border: none; - - color: $black; - background: none; -} - .editFace svg { - position: absolute; - right: 0; - bottom: 0; - - color: $black; + color: $red; } diff --git a/src/scss/components/_avatar.scss b/src/scss/components/_avatar.scss index 917d06320..1dd72bbe5 100644 --- a/src/scss/components/_avatar.scss +++ b/src/scss/components/_avatar.scss @@ -9,7 +9,7 @@ border: 0.2rem solid $red; border-radius: 50%; - background-color: $white; + background-color: $red-darker; overflow: hidden; @@ -32,17 +32,4 @@ width: 17rem; height: 17rem; } - - &:empty::before { - align-items: center; - justify-content: center; - - content: attr(data-letter); - width: 100%; - - background: $white; - color: $red; - - font-size: 2em; - } } From 64ad807ff8cf9e4e9eaa8420a4b994fe5d196588 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 12 Sep 2021 22:56:21 +0000 Subject: [PATCH 267/300] =?UTF-8?q?=E2=9C=A8=20(Slider):=20add=20slider=20?= =?UTF-8?q?component=20thats=20an=20extension=20of=20rc-slider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Slider/Slider.js | 74 +++++++++++++++++++++++++++++++++ src/components/Slider/index.js | 1 + 2 files changed, 75 insertions(+) create mode 100644 src/components/Slider/Slider.js create mode 100644 src/components/Slider/index.js diff --git a/src/components/Slider/Slider.js b/src/components/Slider/Slider.js new file mode 100644 index 000000000..f44102db0 --- /dev/null +++ b/src/components/Slider/Slider.js @@ -0,0 +1,74 @@ +/*** + * The renderSliderHandle function within the following component is based on the default handle prop value in . + * https://github.com/react-component/slider/blob/master/src/common/createSlider.tsx#L32 + * + * It is licensed under the MIT License below. + * + * The MIT License (MIT) + * Copyright (c) 2015-present Alipay.com, https://www.alipay.com/ + * + * 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. + */ + + + +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import RCSlider, { Handle } from 'rc-slider' +import { useCallback } from 'react' + + + + + +export default function Slider (props) { + const { + Component = RCSlider, + handleIcon: iconId, + iconProps = {}, + ...restProps + } = props + + const renderSliderHandle = useCallback((sliderProps) => { + const { index, ...restSliderProps } = sliderProps + delete restSliderProps.dragging + if (restSliderProps.value === null) { + return null + } + + return ( + <Handle key={index} {...restSliderProps}> + { + iconId && ( + <FontAwesomeIcon + fixedWidth + className="rc-slider-handle-icon" + {...iconProps} + icon={iconId} /> + ) + } + </Handle> + ) + }, [iconProps, iconId]) + + return ( + <Component + handle={renderSliderHandle} + {...restProps} /> + ) +} diff --git a/src/components/Slider/index.js b/src/components/Slider/index.js new file mode 100644 index 000000000..19a6da94b --- /dev/null +++ b/src/components/Slider/index.js @@ -0,0 +1 @@ +export { default } from './Slider' From c56b60cd48626a2448206adca42bcf763cee44c9 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 12 Sep 2021 22:56:44 +0000 Subject: [PATCH 268/300] =?UTF-8?q?=F0=9F=92=84=20Add=20styling=20for=20rc?= =?UTF-8?q?-slider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/lib/_rc-slider.scss | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/scss/lib/_rc-slider.scss diff --git a/src/scss/lib/_rc-slider.scss b/src/scss/lib/_rc-slider.scss new file mode 100644 index 000000000..7f21c9af1 --- /dev/null +++ b/src/scss/lib/_rc-slider.scss @@ -0,0 +1,70 @@ +.rc-slider { + &.rc-slider-vertical { + .rc-slider-handle { + margin-left: -0.8rem; + } + + .rc-slider-track, + .rc-slider-rail { + width: 0.6rem; + height: 100%; + + border-radius: 1rem; + } + + .rc-slider-dot { + left: 3px; + } + } + + .rc-slider-rail { + height: 0.6rem; + + border-radius: 1rem; + + background: rgba($grey-darkened, 0.25); + } + + .rc-slider-track { + height: 0.6rem; + + border-radius: 1rem; + + background: rgba($red-darkened, 0.2); + } + + .rc-slider-dot { + bottom: -3px; + + border-color: $red-darker; + + background: transparent; + } + + .rc-slider-handle { + width: 2.2rem; + height: 2.2rem; + margin-top: -0.8rem; + + border: none; + + background: $red; + + .rc-slider-handle-icon { + position: absolute; + top: 0; + left: 0; + + width: 2.2rem; + height: 2.2rem; + padding: 0.5rem; + + color: $black; + } + } + + .rc-slider-mark-text, + .rc-slider-mark-text.rc-slider-mark-text-active { + color: $grey; + } +} From 220a4eb865db68b0d5a56dcf761564c968a8912b Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 00:42:11 +0000 Subject: [PATCH 269/300] =?UTF-8?q?=E2=9C=A8=20add=20file=20upload=20icon?= =?UTF-8?q?=20to=20lib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/fontawesome/library.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/fontawesome/library.js b/src/util/fontawesome/library.js index 3bcff4503..6b53efe61 100644 --- a/src/util/fontawesome/library.js +++ b/src/util/fontawesome/library.js @@ -19,6 +19,7 @@ export { faExclamationCircle, faEye, faEyeSlash, + faFileUpload, faFirstAid, faFolder, faFolderOpen, From 64614b7d43fa28dc0682994c124f0cc1dc0dcfbb Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 00:42:22 +0000 Subject: [PATCH 270/300] =?UTF-8?q?=F0=9F=90=9B=20Fix=20CSP=20issues=20for?= =?UTF-8?q?=20safari?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/headers.config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.config/headers.config.js b/.config/headers.config.js index 3c9ec1fea..1fd77ce54 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -20,7 +20,11 @@ module.exports = (env) => { 'style-src': ["'self'", "'unsafe-inline'", 'fonts.googleapis.com'], 'img-src': ["'self'", '*.wp.com', 'blob:', 'data:'], 'frame-src': ['https://js.stripe.com'], + 'child-src': false, + 'prefetch-src': false, + 'worker-src': false, }, + xssProtection: '1; mode=block;', }), }, ] From c826e08901453faa3afd93dc59c7dc023ab0df73 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:55:08 +0000 Subject: [PATCH 271/300] =?UTF-8?q?=F0=9F=90=9B=20(switch-scss):=20ensure?= =?UTF-8?q?=20icon=20color=20is=20consistent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Switch/Switch.module.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/Switch/Switch.module.scss b/src/components/Switch/Switch.module.scss index a315ec4a7..af9e6bbde 100644 --- a/src/components/Switch/Switch.module.scss +++ b/src/components/Switch/Switch.module.scss @@ -75,6 +75,8 @@ border-radius: 50%; + color: $black; + will-change: transform; background: $red; From 8479dd078320642c6e3e2e18297b7c8ec89d9d56 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:55:28 +0000 Subject: [PATCH 272/300] =?UTF-8?q?=F0=9F=92=84=20continue=20working=20on?= =?UTF-8?q?=20library=20styling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/_lib.scss | 32 ++++++++++++++++++++---------- src/scss/lib/_rc-slider.scss | 16 +++++++++++++++ src/scss/lib/_react-easy-crop.scss | 3 +++ 3 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 src/scss/lib/_react-easy-crop.scss diff --git a/src/scss/_lib.scss b/src/scss/_lib.scss index 1a568489c..0914d5824 100644 --- a/src/scss/_lib.scss +++ b/src/scss/_lib.scss @@ -1,13 +1,13 @@ -/****************************************************************************** \ +/****************************************************************************** \ FontAwesome -\ ******************************************************************************/ +\ ******************************************************************************/ @import '@fortawesome/fontawesome-svg-core/styles.css'; -/****************************************************************************** \ +/****************************************************************************** \ kbd fun \ ******************************************************************************/ @import 'lib/kbdfun'; @@ -16,9 +16,9 @@ -/****************************************************************************** \ +/****************************************************************************** \ NProgress -\ ******************************************************************************/ +\ ******************************************************************************/ @import 'nprogress/nprogress.css'; @import 'lib/nprogress'; @@ -26,9 +26,9 @@ -/****************************************************************************** \ +/****************************************************************************** \ React Table -\ ******************************************************************************/ +\ ******************************************************************************/ @import 'react-table-6/react-table.css'; @import 'lib/react-table'; @@ -36,16 +36,26 @@ -/****************************************************************************** \ +/****************************************************************************** \ Stripe -\ ******************************************************************************/ +\ ******************************************************************************/ @import 'lib/stripe'; -/****************************************************************************** \ +/****************************************************************************** \ RC-Slider -\ ******************************************************************************/ +\ ******************************************************************************/ @import 'rc-slider/assets/index.css'; +@import 'lib/rc-slider'; + + + + + +/****************************************************************************** \ + react-easy-crop +\ ******************************************************************************/ +@import 'lib/react-easy-crop'; diff --git a/src/scss/lib/_rc-slider.scss b/src/scss/lib/_rc-slider.scss index 7f21c9af1..3ae4ca3c8 100644 --- a/src/scss/lib/_rc-slider.scss +++ b/src/scss/lib/_rc-slider.scss @@ -1,4 +1,20 @@ .rc-slider { + &.rc-slider-disabled { + background-color: transparent; + + .rc-slider-track { + background: rgba($grey-darkened, 0.2); + } + + .rc-slider-handle { + background: $grey-muted; + } + + .rc-slider-dot { + border-color: $grey-muted; + } + } + &.rc-slider-vertical { .rc-slider-handle { margin-left: -0.8rem; diff --git a/src/scss/lib/_react-easy-crop.scss b/src/scss/lib/_react-easy-crop.scss new file mode 100644 index 000000000..ad7b2521b --- /dev/null +++ b/src/scss/lib/_react-easy-crop.scss @@ -0,0 +1,3 @@ +.reactEasyCrop_Container.disabled { + cursor: not-allowed; +} From 7b56836f694bd7b510977626bc76280ffb3584e2 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:55:44 +0000 Subject: [PATCH 273/300] =?UTF-8?q?=F0=9F=92=84=20Add=20styles=20for=20fil?= =?UTF-8?q?e=20dropzone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/_components.scss | 1 + src/scss/components/_file-dropzone.scss | 44 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/scss/components/_file-dropzone.scss diff --git a/src/scss/_components.scss b/src/scss/_components.scss index 8f9a396e3..e41205b92 100644 --- a/src/scss/_components.scss +++ b/src/scss/_components.scss @@ -12,6 +12,7 @@ @import 'components/comments'; @import 'components/donate-form'; @import 'components/error'; +@import 'components/file-dropzone'; @import 'components/grid'; @import 'components/header'; @import 'components/hero'; diff --git a/src/scss/components/_file-dropzone.scss b/src/scss/components/_file-dropzone.scss new file mode 100644 index 000000000..5c3b37ff6 --- /dev/null +++ b/src/scss/components/_file-dropzone.scss @@ -0,0 +1,44 @@ +label.file-dropzone { + display: block; + position: relative; + + width: 100%; + padding: 4rem; + + border: 4px dashed rgba($red-darkened, 0.4); + + color: $red; + background: rgba($red, 0.2); + transition: + border-color 0.1s ease, + background 0.1s ease, + font-size 0.15s ease, + color 0.1s ease; + + font-size: 1.5em; + font-weight: 600; + font-family: $title-fonts; + text-align: center; + + &.active { + border-color: rgba($green-darkened, 0.4); + + color: $green; + background: rgba($green, 0.2); + + + font-size: 1.75em; + } + + + input { + position: absolute; + top: 0; + left: 0; + + width: 100%; + height: 100%; + + opacity: 0; + } +} From 67f016818448d98dbe77b3f8c089a1bbdf930d82 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:56:15 +0000 Subject: [PATCH 274/300] =?UTF-8?q?=E2=99=BB=EF=B8=8F=F0=9F=92=84=20half?= =?UTF-8?q?=20border=20width=20on=20file=20dropzone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/components/_file-dropzone.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scss/components/_file-dropzone.scss b/src/scss/components/_file-dropzone.scss index 5c3b37ff6..975be6336 100644 --- a/src/scss/components/_file-dropzone.scss +++ b/src/scss/components/_file-dropzone.scss @@ -5,7 +5,7 @@ label.file-dropzone { width: 100%; padding: 4rem; - border: 4px dashed rgba($red-darkened, 0.4); + border: 2px dashed rgba($red-darkened, 0.4); color: $red; background: rgba($red, 0.2); From 5f1e3588e6d7bdf6d6d03b554ebfddd1fdd5310b Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:56:37 +0000 Subject: [PATCH 275/300] =?UTF-8?q?=F0=9F=90=9B=F0=9F=92=84=20(UserDecalPa?= =?UTF-8?q?nel):=20correct=20font=20reference?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UserDecalPanel/UserDecalPanel.module.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/UserDecalPanel/UserDecalPanel.module.scss b/src/components/UserDecalPanel/UserDecalPanel.module.scss index ff850eba9..b8f132e3f 100644 --- a/src/components/UserDecalPanel/UserDecalPanel.module.scss +++ b/src/components/UserDecalPanel/UserDecalPanel.module.scss @@ -1,3 +1,4 @@ +@import '../../scss/fonts'; @import '../../scss/colors'; .panelContent { @@ -29,7 +30,7 @@ .decalCode { flex: 1 0 auto; - font-family: monospace; + font-family: $monospace-fonts; } .decalClaimedAt { From e09df8eb768f0f232084ee921eab2e106d49ba56 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:57:12 +0000 Subject: [PATCH 276/300] =?UTF-8?q?=E2=9C=A8=20(MessageBox):=20expose=20me?= =?UTF-8?q?ssage=20box=20for=20styling=20via=20composes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/MessageBox/MessageBox.js | 2 +- .../MessageBox/MessageBox.module.scss | 48 +++++++++++-------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/components/MessageBox/MessageBox.js b/src/components/MessageBox/MessageBox.js index f25d58e34..7cbdd24ac 100644 --- a/src/components/MessageBox/MessageBox.js +++ b/src/components/MessageBox/MessageBox.js @@ -31,7 +31,7 @@ function MessageBox (props) { } return ( - <div className={[styles.message, styles[type], 'message', className]}> + <div className={[styles.message, styles[type], className]}> <FontAwesomeIcon className={styles.icon} icon={icon} diff --git a/src/components/MessageBox/MessageBox.module.scss b/src/components/MessageBox/MessageBox.module.scss index 447d15cf2..e0fbd7bc7 100644 --- a/src/components/MessageBox/MessageBox.module.scss +++ b/src/components/MessageBox/MessageBox.module.scss @@ -2,6 +2,7 @@ .message { --message-color: #{$red}; + composes: message from global; position: relative; @@ -12,26 +13,35 @@ border: 1px solid var(--message-color); background: rgba($red, 0.15); +} + +.error { + --message-color: #{$red}; + composes: error from global; + + background: rgba($red, 0.15); +} + +.success { + --message-color: #{$green}; + composes: success from global; + + background: rgba($green, 0.15); +} + +.info { + --message-color: #{$blue}; + composes: info from global; + + background: rgba($blue, 0.15); +} + +.warn { + --message-color: #{$yellow}; + + composes: warn from global; - &.error { - --message-color: #{$red}; - background: rgba($red, 0.15); - } - - &.success { - --message-color: #{$green}; - background: rgba($green, 0.15); - } - - &.info { - --message-color: #{$blue}; - background: rgba($blue, 0.15); - } - - &.warn { - --message-color: #{$yellow}; - background: rgba($yellow, 0.15); - } + background: rgba($yellow, 0.15); } .icon { From 3df24c8e21008f3e1a14bd4f7bc8232ae613d85c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 01:58:22 +0000 Subject: [PATCH 277/300] =?UTF-8?q?=E2=9C=A8=E2=99=BB=EF=B8=8F=F0=9F=92=84?= =?UTF-8?q?=20(UploadAvatarModal):=20rework=20component=20for=20an=20impro?= =?UTF-8?q?ved=20user=20experience?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UploadAvatarMessageBox.js | 12 +- .../UploadAvatarModal/UploadAvatarModal.js | 211 ++++++++++++------ .../UploadAvatarModal.module.scss | 38 ++-- 3 files changed, 174 insertions(+), 87 deletions(-) diff --git a/src/components/UploadAvatarModal/UploadAvatarMessageBox.js b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js index 0128496ad..c3496dbf8 100644 --- a/src/components/UploadAvatarModal/UploadAvatarMessageBox.js +++ b/src/components/UploadAvatarModal/UploadAvatarMessageBox.js @@ -19,23 +19,27 @@ function getErrorText (error) { } function UploadAvatarMessageBox (props) { - const { result } = props + const { result, className } = props return result.success ? ( - <MessageBox type="success"> - {'Avatar Updated!'} + <MessageBox className={className} title="Success!" type="success"> + {'You avatar has been updated!'} + <br /> + {'This window will now automatically close...'} </MessageBox> ) : ( <ApiErrorBox + className={className} error={result.error} renderError={getErrorText} /> ) } UploadAvatarMessageBox.propTypes = { - result: PropTypes.object, + className: PropTypes.string, + result: PropTypes.object.isRequired, } export default UploadAvatarMessageBox diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index c0055e18c..e1a2edaea 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -1,11 +1,12 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import PropTypes from 'prop-types' -import Slider from 'rc-slider' import { useState, useCallback } from 'react' import Cropper from 'react-easy-crop' import { useDispatch } from 'react-redux' import asModal, { ModalContent, ModalFooter } from '~/components/asModal' +import ProfileUserAvatar from '~/components/ProfileUserAvatar' +import Slider from '~/components/Slider' import { updateAvatar } from '~/store/actions/user' import getResponseError from '~/util/getResponseError' @@ -17,6 +18,19 @@ const MAX_FILE_SIZE = 26214400 // Server upload max is 25M const SUBMIT_AUTO_CLOSE_DELAY_TIME = 3000 const HALF_CIRCLE = 180 // Conversion of rat to deg +// eslint-disable-next-line no-magic-numbers -- Numbers correspond to degree marks to be placed +const rotationMarks = [0, 45, 90, 135, 180].reduce((acc, value) => { + acc[0 - value] = {} + acc[value] = {} + return acc +}, {}) + +// eslint-disable-next-line no-magic-numbers -- Numbers correspond to zoom marks +const zoomMarks = [1, 1.5, 2, 2.5, 3].reduce((acc, value) => { + acc[value] = {} + return acc +}, {}) + function UploadAvatarModal (props) { const { @@ -24,8 +38,9 @@ function UploadAvatarModal (props) { isOpen, } = props - const [result, setResult] = useState({}) + const [result, setResult] = useState({ }) + const [inputDragActive, setInputDragActive] = useState(false) const [upImg, setUpImg] = useState() // eslint-disable-next-line id-length -- Required by react-easy-crop const [crop, handleSetCrop] = useState({ x: 0, y: 0 }) @@ -35,6 +50,13 @@ function UploadAvatarModal (props) { const [submitReady, setSubmitReady] = useState(false) const [submitting, setSubmitting] = useState(false) + const onCropChange = useCallback((croppedArea) => { + if (!submitting) { + setSubmitReady(false) + handleSetCrop(croppedArea) + } + }, [submitting]) + const onCropComplete = useCallback((croppedArea, cap) => { setCroppedAreaPixels(cap) setSubmitReady(true) @@ -44,7 +66,11 @@ function UploadAvatarModal (props) { if (event.target.files && event.target.files.length > 0) { const reader = new FileReader() reader.addEventListener('load', () => { - return setUpImg(reader.result) + // eslint-disable-next-line id-length -- Required by react-easy-crop + handleSetCrop({ x: 0, y: 0 }) + handleSetZoom(1) + handleSetRotation(0) + setUpImg(reader.result) }) reader.readAsDataURL(event.target.files[0]) } @@ -74,6 +100,10 @@ function UploadAvatarModal (props) { } }, [dispatch, isOpen, onClose]) + const onBack = useCallback(() => { + setUpImg(null) + }, []) + const onSubmit = useCallback(() => { try { const image = new Image() @@ -152,76 +182,123 @@ function UploadAvatarModal (props) { } }, [croppedAreaPixels, rotation, submit, upImg]) + const onInputDragEnter = useCallback(() => { + setInputDragActive(true) + }, []) + const onInputDragLeave = useCallback(() => { + setInputDragActive(false) + }, []) + + const cropClasses = { + containerClassName: submitting ? 'disabled' : '', + } + return ( <ModalContent className="dialog no-pad"> - <UploadAvatarMessageBox result={result} /> - <div> - <label>{'Select Image: '}</label> - <input accept="image/png,image/jpeg,image/webp" aria-label="Select Image" type="file" onChange={onSelectFile} /> - </div> - <div className={styles.zoomAndCrop}> - <div className={styles.zoomSliderBox}> - <div className={styles.zoomSliderIcon}> - <FontAwesomeIcon icon="search-plus" /> - </div> - <div className={styles.sliderControl}> - <Slider - vertical - aria-labelledby="Zoom" - max={3} - min={1} - step={0.1} - value={zoom} - onChange={handleSetZoom} /> + { + result.success && ( + <div className={styles.avatarPreview}> + <ProfileUserAvatar /> </div> - <div className={styles.zoomSliderIcon}> - <FontAwesomeIcon icon="search-minus" /> - </div> - </div> - <div className={styles.rotateAndCrop}> - <div className={styles.cropContainer}> - <Cropper - aspect={1 / 1} - crop={crop} - cropShape="round" - image={upImg} - rotation={rotation} - zoom={zoom} - onCropChange={handleSetCrop} - onCropComplete={onCropComplete} - onZoomChange={handleSetZoom} /> - </div> - <div className={styles.rotateSliderBox}> - <div className={styles.rotateSliderIcon}> - <FontAwesomeIcon icon="undo" /> + ) + } + <UploadAvatarMessageBox className={styles.message} result={result} /> + <div className={styles.body}> + { + Boolean(!upImg && !result.success) && ( + <label className={['file-dropzone', { active: inputDragActive }]} htmlFor="avatarInput" id="avatarInputLabel"> + <FontAwesomeIcon fixedWidth icon="file-upload" /> + {' Select Image'} + <input + accept="image/png,image/jpeg,image/webp" + aria-labelledby="avatarInputLabel" + id="avatarInput" + type="file" + onChange={onSelectFile} + onDragEnter={onInputDragEnter} + onDragLeave={onInputDragLeave} + onDrop={onInputDragLeave} /> + </label> + ) + } + { + Boolean(upImg && !result.success) && ( + <div className={styles.zoomAndCrop}> + <div className={styles.zoomSliderBox}> + <Slider + vertical + aria-labelledby="Zoom" + disabled={submitting} + handleIcon="search" + marks={zoomMarks} + max={5} + min={1} + step={0.1} + value={zoom} + onChange={handleSetZoom} /> + </div> + <div className={styles.rotateAndCrop}> + <div className={styles.cropContainer}> + <Cropper + aspect={1 / 1} + classes={cropClasses} + crop={crop} + cropShape="round" + image={upImg} + rotation={rotation} + zoom={zoom} + onCropChange={onCropChange} + onCropComplete={onCropComplete} + onZoomChange={handleSetZoom} /> + </div> + <div className={styles.rotateSliderBox}> + <Slider + aria-labelledby="Rotation" + disabled={submitting} + handleIcon="sync" + marks={rotationMarks} + max={180} + min={-180} + startPoint={0} + step={5} + value={rotation} + onChange={handleSetRotation} /> + + </div> + </div> </div> - <div className={styles.sliderControl}> - <Slider - aria-labelledby="Rotation" - max={180} - min={-180} - step={1} - value={rotation} - onChange={handleSetRotation} /> + ) + } + </div> + + { + !result.success && ( + <ModalFooter> + <div className="secondary"> + { + upImg && ( + <button + className="secondary" + disabled={submitting} + type="button" + onClick={onBack}> + {'Back'} + </button> + ) + } </div> - <div className={styles.rotateSliderIcon}> - <FontAwesomeIcon icon="redo" /> + <div className="primary"> + <button + className="green" + disabled={submitting || !submitReady} + type="submit" + onClick={onSubmit}> + {submitting ? 'Uploading' : 'Upload'} + </button> </div> - </div> - </div> - </div> - <ModalFooter> - <div className="secondary" /> - <div className="primary"> - <button - className="green" - disabled={!submitReady} - type="submit" - onClick={onSubmit}> - {submitting ? 'Uploading' : 'Upload'} - </button> - </div> - </ModalFooter> + </ModalFooter> + ) + } </ModalContent> ) } diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.module.scss b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss index 3ac4897b5..a3c660bb3 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.module.scss +++ b/src/components/UploadAvatarModal/UploadAvatarModal.module.scss @@ -1,18 +1,31 @@ -.zoomAndCrop { +// Specificity assurance +:global(.message).message { + margin: 2rem auto; +} + +.avatarPreview { display: flex; + justify-content: center; + + width: 100%; + margin: 2rem 0 0; +} + +.body { + .zoomAndCrop { + display: flex; + + margin: 0 3.4rem 0 0; + } + .zoomSliderBox { display: flex; flex-direction: column; - width: 30px; - margin-bottom: 30px; - - .zoomSliderIcon { - height: 30px; - padding: 5px none; - } + width: 3.4rem; + margin-bottom: 3.2rem; } .sliderControl { @@ -29,14 +42,7 @@ .rotateSliderBox { display: flex; - .sliderControl { - padding-top: 5px; - } - - .rotateSliderIcon { - width: 30px; - padding: none 5px; - } + padding-top: 1.8rem; } .rotateAndCrop { From 73e7b69444044170bdfa7c720d2a6290a3d9f46f Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 02:00:58 +0000 Subject: [PATCH 278/300] =?UTF-8?q?=F0=9F=92=84=F0=9F=90=9B=20ensure=20fil?= =?UTF-8?q?e=20dropzones=20have=20the=20correct=20cursor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/components/_file-dropzone.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/scss/components/_file-dropzone.scss b/src/scss/components/_file-dropzone.scss index 975be6336..c57d9ddd7 100644 --- a/src/scss/components/_file-dropzone.scss +++ b/src/scss/components/_file-dropzone.scss @@ -20,6 +20,8 @@ label.file-dropzone { font-family: $title-fonts; text-align: center; + cursor: pointer; + &.active { border-color: rgba($green-darkened, 0.4); From 464a5ff5428452011752383e2c25d707ba8b30e6 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 02:11:32 +0000 Subject: [PATCH 279/300] =?UTF-8?q?=F0=9F=93=9D=20(CHANGELOG.md):=20add=20?= =?UTF-8?q?changes=20introduced=20by=20#375?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76dd6f34a..b0633d600 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) ### ✨ Added * A new page to assist with editing QMS locale files has been added. - [#370][] * A general purpose JSON object editor has been implemented. this should come in handy at some point! - [#370][] +* User avatars are now customizable through our new Avatar uploader! - [#332][], [#375][] ### ⚡ Changed * Error readout for unknown API Errors has been improved. - [#328][] @@ -40,9 +41,11 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#328]: https://github.com/FuelRats/fuelrats.com/pull/328 [#329]: https://github.com/FuelRats/fuelrats.com/pull/329 [#330]: https://github.com/FuelRats/fuelrats.com/pull/330 +[#332]: https://github.com/FuelRats/fuelrats.com/pull/332 [#333]: https://github.com/FuelRats/fuelrats.com/pull/333 [#370]: https://github.com/FuelRats/fuelrats.com/pull/370 [#373]: https://github.com/FuelRats/fuelrats.com/pull/373 +[#375]: https://github.com/FuelRats/fuelrats.com/pull/375 [Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD From c60e96deb6f96c26e09b3b76cb7150ac2ce1b427 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 02:16:47 +0000 Subject: [PATCH 280/300] =?UTF-8?q?=F0=9F=90=9B=E2=99=BB=EF=B8=8F=20preven?= =?UTF-8?q?t=20selectAvatarUrlByUserId=20from=20reporting=20null=20selecto?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/selectors/clients.js | 6 +++--- src/store/selectors/decals.js | 4 ++-- src/store/selectors/groups.js | 4 ++-- src/store/selectors/nicknames.js | 4 ++-- src/store/selectors/statistics.js | 6 +++--- src/store/selectors/users.js | 22 ++++++++++++++-------- 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/store/selectors/clients.js b/src/store/selectors/clients.js index 90f1ffb47..54dcf9df6 100644 --- a/src/store/selectors/clients.js +++ b/src/store/selectors/clients.js @@ -1,6 +1,6 @@ import { createCachedSelector } from 're-reselect' -import { getUserId } from './users' +import { getUserIdProp } from './users' const selectClients = (state) => { @@ -8,13 +8,13 @@ const selectClients = (state) => { } const selectClientsByUserId = createCachedSelector( - [selectClients, getUserId], + [selectClients, getUserIdProp], (clients, userId) => { return Object.values(clients).filter((client) => { return client.relationships.user?.data?.id === userId }) ?? [] }, -)(getUserId) +)(getUserIdProp) export { selectClients, diff --git a/src/store/selectors/decals.js b/src/store/selectors/decals.js index 855924116..d0239d350 100644 --- a/src/store/selectors/decals.js +++ b/src/store/selectors/decals.js @@ -4,7 +4,7 @@ import safeParseInt from '~/util/safeParseInt' import { withCurrentUserId } from './session' -import { getUserId, selectUserById } from './users' +import { getUserIdProp, selectUserById } from './users' @@ -39,4 +39,4 @@ export const selectDecalsByUserId = createCachedSelector( } return undefined }, -)(getUserId) +)(getUserIdProp) diff --git a/src/store/selectors/groups.js b/src/store/selectors/groups.js index a51e15490..042b1aaf6 100644 --- a/src/store/selectors/groups.js +++ b/src/store/selectors/groups.js @@ -1,6 +1,6 @@ import { createCachedSelector } from 're-reselect' -import { getUserId, selectUserById } from './users' +import { getUserIdProp, selectUserById } from './users' @@ -26,4 +26,4 @@ export const selectGroupsByUserId = createCachedSelector( } return [] }, -)(getUserId) +)(getUserIdProp) diff --git a/src/store/selectors/nicknames.js b/src/store/selectors/nicknames.js index 21df0f057..0e637e259 100644 --- a/src/store/selectors/nicknames.js +++ b/src/store/selectors/nicknames.js @@ -1,6 +1,6 @@ import { createCachedSelector } from 're-reselect' -import { getUserId, selectUserById } from './users' +import { getUserIdProp, selectUserById } from './users' @@ -26,4 +26,4 @@ export const selectNicknamesByUserId = createCachedSelector( } return [] }, -)(getUserId) +)(getUserIdProp) diff --git a/src/store/selectors/statistics.js b/src/store/selectors/statistics.js index 12705512b..ddc965a13 100644 --- a/src/store/selectors/statistics.js +++ b/src/store/selectors/statistics.js @@ -1,6 +1,6 @@ import { createCachedSelector } from 're-reselect' -import { selectUserRatsRelationship, getUserId } from './users' +import { selectUserRatsRelationship, getUserIdProp } from './users' export const selectLeaderboard = (state) => { return state.leaderboard.entries @@ -21,7 +21,7 @@ export const selectRatStatisticsById = (state, { ratId }) => { export const selectUserStatisticsById = createCachedSelector( - [getUserId, selectUserRatsRelationship, selectRatStatistics], + [getUserIdProp, selectUserRatsRelationship, selectRatStatistics], (userId, userRats, ratStatistics) => { // if the user doesn't exist, or there's no rat data, or there's no statistics for the first rat, return null. // Since the only way of getting a rat's statistics is by requesting for all rats of a user, we can assume we don't have any if we're missing one. @@ -54,4 +54,4 @@ export const selectUserStatisticsById = createCachedSelector( }, {}), } }, -)(getUserId) +)(getUserIdProp) diff --git a/src/store/selectors/users.js b/src/store/selectors/users.js index a1645dd89..fe78f91b8 100644 --- a/src/store/selectors/users.js +++ b/src/store/selectors/users.js @@ -15,15 +15,15 @@ const AVATAR_DEFAULT_SIZE = 256 -const getScope = (_, props) => { +const getScopeProp = (_, props) => { return props?.scope } const getSizeProp = (_, props) => { - return props?.size + return props?.size ?? AVATAR_DEFAULT_SIZE } -export const getUserId = (_, props) => { +export const getUserIdProp = (_, props) => { return props?.userId } @@ -48,13 +48,19 @@ export const selectAvatarByUserId = (state, props) => { } export const selectAvatarUrlByUserId = createCachedSelector( - [selectAvatarByUserId, getSizeProp, getUserId], + [selectAvatarByUserId, getSizeProp, getUserIdProp], (avatar, size, userId) => { + if (userId === 'null') { + return undefined + } + return avatar - ? `/api/fr/users/${userId}/image?v=${avatar.id}` - : `/api/avatars/${userId}/${size ?? AVATAR_DEFAULT_SIZE}` + ? `/api/fr/users/${userId}/image?v=${avatar.id}&size=${size}` + : `/api/avatars/${userId}/${size}` }, -)(getUserId) +)((_, props) => { + return `${getUserIdProp(_, props)}-${getSizeProp(_, props)}` +}) export const selectCurrentUserScopes = (state) => { return withCurrentUserId(selectUserById)(state)?.meta?.permissions ?? [] @@ -71,7 +77,7 @@ export const selectCurrentUserScopes = (state) => { export const selectCurrentUserHasScope = createCachedSelector( [ selectCurrentUserScopes, - getScope, + getScopeProp, ], (userScopes, scope) => { if (!scope) { From 41dcd7b30e6e06ee2b63df2fbe19d4bd3475094d Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 03:16:08 +0000 Subject: [PATCH 281/300] =?UTF-8?q?=F0=9F=92=84=20actually=20fix=20cursor,?= =?UTF-8?q?=20set=20custom=20small=20font=20size?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/components/_file-dropzone.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/scss/components/_file-dropzone.scss b/src/scss/components/_file-dropzone.scss index c57d9ddd7..0da2ced3e 100644 --- a/src/scss/components/_file-dropzone.scss +++ b/src/scss/components/_file-dropzone.scss @@ -32,6 +32,9 @@ label.file-dropzone { font-size: 1.75em; } + small { + font-size: 0.7em; + } input { position: absolute; @@ -42,5 +45,7 @@ label.file-dropzone { height: 100%; opacity: 0; + + cursor: pointer; } } From 895a415fd2ff51fdd43a0effd943872153199bf1 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 03:16:49 +0000 Subject: [PATCH 282/300] =?UTF-8?q?=E2=9C=A8=20(ProfileUserAvatar):=20allo?= =?UTF-8?q?w=20size=20to=20be=20controlled=20by=20prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProfileUserAvatar/ProfileUserAvatar.js | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.js b/src/components/ProfileUserAvatar/ProfileUserAvatar.js index 8b28be90d..0e92212f7 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.js +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.js @@ -1,7 +1,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import Image from 'next/image' import PropTypes from 'prop-types' -import { useState, useCallback } from 'react' +import { useState, useCallback, useMemo } from 'react' import useSelectorWithProps from '~/hooks/useSelectorWithProps' import { selectAvatarUrlByUserId, withCurrentUserId } from '~/store/selectors' @@ -9,8 +9,14 @@ import { selectAvatarUrlByUserId, withCurrentUserId } from '~/store/selectors' import UploadAvatarModal from '../UploadAvatarModal' import styles from './ProfileUserAvatar.module.scss' -function ProfileUserAvatar ({ canEdit }) { - const userAvatarUrl = useSelectorWithProps({ size: 170 }, withCurrentUserId(selectAvatarUrlByUserId)) +const faIconLgSize = 100 +const faIconMdSize = 64 + +function ProfileUserAvatar ({ + canEdit, + size = 170, +}) { + const userAvatarUrl = useSelectorWithProps({ size }, withCurrentUserId(selectAvatarUrlByUserId)) const [showUploadAvatar, setShowUploadAvatar] = useState(false) @@ -24,16 +30,34 @@ function ProfileUserAvatar ({ canEdit }) { return setShowUploadAvatar(false) }, []) + const sizeMeta = useMemo(() => { + let icon = undefined + + if (size >= faIconLgSize) { + icon = '3x' + } else if (size >= faIconMdSize) { + icon = '2x' + } + + return { + style: { + width: `${size}px`, + height: `${size}px`, + }, + icon, + } + }, [size]) + return ( <> <div className={styles.userAvatar}> - <div className="avatar xl"> + <div className="avatar" style={sizeMeta.style}> <Image unoptimized alt="User's avatar" - height={170} + height={size} src={userAvatarUrl} - width={170} /> + width={size} /> { canEdit && ( <button @@ -41,7 +65,7 @@ function ProfileUserAvatar ({ canEdit }) { className={[styles.userAvatarEdit, styles.editFace]} type="button" onClick={handleToggleUploadAvatar}> - <FontAwesomeIcon icon="upload" size="3x" /> + <FontAwesomeIcon icon="upload" size={sizeMeta.icon} /> </button> ) } @@ -56,6 +80,7 @@ function ProfileUserAvatar ({ canEdit }) { ProfileUserAvatar.propTypes = { canEdit: PropTypes.bool, + size: PropTypes.number, } export default ProfileUserAvatar From 1e035d1d1ab3e85d6067e34fa0d7891bdf97e69f Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 03:17:49 +0000 Subject: [PATCH 283/300] =?UTF-8?q?=E2=9C=A8=20(UploadAvatarModal)=20Impro?= =?UTF-8?q?ve=20messaging=20for=20image=20upload=20dropzone=20and=20post-u?= =?UTF-8?q?pload=20feedback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProfileUserAvatar/ProfileUserAvatar.module.scss | 10 ++++++---- src/components/UploadAvatarModal/UploadAvatarModal.js | 6 +++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss index 8628c5682..fda9c053c 100644 --- a/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss +++ b/src/components/ProfileUserAvatar/ProfileUserAvatar.module.scss @@ -1,9 +1,11 @@ @import '../../scss/colors'; .userAvatar { - position: relative; - grid-area: avatar; + + :global(.avatar) { + position: relative; + } } .userAvatarEdit { @@ -16,8 +18,8 @@ left: 0; z-index: 1; - width: 170px; - height: 170px; + width: 100%; + height: 100%; margin: 0; padding: 0; diff --git a/src/components/UploadAvatarModal/UploadAvatarModal.js b/src/components/UploadAvatarModal/UploadAvatarModal.js index e1a2edaea..e62888376 100644 --- a/src/components/UploadAvatarModal/UploadAvatarModal.js +++ b/src/components/UploadAvatarModal/UploadAvatarModal.js @@ -208,7 +208,11 @@ function UploadAvatarModal (props) { Boolean(!upImg && !result.success) && ( <label className={['file-dropzone', { active: inputDragActive }]} htmlFor="avatarInput" id="avatarInputLabel"> <FontAwesomeIcon fixedWidth icon="file-upload" /> - {' Select Image'} + {' Drop image here'} + <br /> + <small> + {'or click me to select an image!'} + </small> <input accept="image/png,image/jpeg,image/webp" aria-labelledby="avatarInputLabel" From f08abdad12b8b38f62ae73f12c8e30ccb0bbb22c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Mon, 13 Sep 2021 03:24:50 +0000 Subject: [PATCH 284/300] =?UTF-8?q?=F0=9F=93=84=E2=99=BB=EF=B8=8F=20(Slide?= =?UTF-8?q?r):=20fix=20license=20text,=20rename=20renderHandle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Slider/Slider.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/Slider/Slider.js b/src/components/Slider/Slider.js index f44102db0..1739c7d71 100644 --- a/src/components/Slider/Slider.js +++ b/src/components/Slider/Slider.js @@ -1,6 +1,6 @@ /*** - * The renderSliderHandle function within the following component is based on the default handle prop value in . - * https://github.com/react-component/slider/blob/master/src/common/createSlider.tsx#L32 + * The renderHandle function within the following component is based on the default handle prop value located here: + * https://github.com/react-component/slider/blob/af77a4c7fb/src/common/createSlider.tsx#L32 * * It is licensed under the MIT License below. * @@ -44,7 +44,7 @@ export default function Slider (props) { ...restProps } = props - const renderSliderHandle = useCallback((sliderProps) => { + const renderHandle = useCallback((sliderProps) => { const { index, ...restSliderProps } = sliderProps delete restSliderProps.dragging if (restSliderProps.value === null) { @@ -68,7 +68,7 @@ export default function Slider (props) { return ( <Component - handle={renderSliderHandle} + handle={renderHandle} {...restProps} /> ) } From 9d9f3d5ed312bbde23771620333d65d6e3256011 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Tue, 14 Sep 2021 00:40:52 +0000 Subject: [PATCH 285/300] WHAT DO YOU WANT FROM ME SAFARI? --- .config/headers.config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index 1fd77ce54..87ae8b88d 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -24,7 +24,6 @@ module.exports = (env) => { 'prefetch-src': false, 'worker-src': false, }, - xssProtection: '1; mode=block;', }), }, ] From ba03c7add54075153a11f077e2dd0479d2b14167 Mon Sep 17 00:00:00 2001 From: Elad Karni <elad.karni@gmail.com> Date: Thu, 16 Sep 2021 07:44:11 -0400 Subject: [PATCH 286/300] fix: updates styling for currently selected checkbox --- src/scss/core/_input.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/scss/core/_input.scss b/src/scss/core/_input.scss index d6dfbf2ba..16b5ebe89 100644 --- a/src/scss/core/_input.scss +++ b/src/scss/core/_input.scss @@ -118,6 +118,7 @@ input[type='checkbox'] { height: 1em; border: 0.2rem solid $red; + margin-right: 16px; background: transparent; outline: none; @@ -177,6 +178,9 @@ input[type='checkbox'] { font-size: 16px; vertical-align: middle; } + &:focus { + outline: #343434 solid 5px; + } } .ReactTable .rt-thead.-filters input { From eb4d36f83028f36d0e2df6f8c22b4e37ed441d12 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 17 Sep 2021 18:58:27 +0000 Subject: [PATCH 287/300] =?UTF-8?q?=F0=9F=92=AC=20(document):=20update=20n?= =?UTF-8?q?oscript=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/_document.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/_document.js b/src/pages/_document.js index ba39f6fa7..2d6569ffa 100644 --- a/src/pages/_document.js +++ b/src/pages/_document.js @@ -1,7 +1,8 @@ import Document, { Html, Head, Main, NextScript } from 'next/document' - +// eslint-disable-next-line no-template-curly-in-string -- intentional +const noJSMessage = 'Blocking JavaScript in ${currentYear}.... You\'re just asking for trouble at this point.' class FuelRatsWebsite extends Document { @@ -57,7 +58,7 @@ class FuelRatsWebsite extends Document { </Head> <body> - <noscript>{'Javascript is required to view this site, silly!'}</noscript> + <noscript>{noJSMessage}</noscript> <Main className="next-wrapper" /> From 38844519ee0ab2848e3734a9b949cee011d8065c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Fri, 17 Sep 2021 19:26:37 +0000 Subject: [PATCH 288/300] =?UTF-8?q?=F0=9F=93=9D=20(CONTRIBUTING.md):=20cla?= =?UTF-8?q?rify=20position=20on=20using=20multiple=20gitmoji?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ae134823..83e91d7d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -122,11 +122,12 @@ Commits should be as small as possible, with exceptions for large sweeping chang Please follow the gitmoji commit format when submitting code. ``` -<😎> [(scope):] <title> +<😎...> [(scope):] <title> [detailed message] ``` -* `<😎>` - gitmoji icon that best represents this change. [See below for more info](#gitmoji). +* `<😎...>` - gitmoji(s) that best represent this change. [See below for more info](#gitmoji). + * You're not limited to a single emoji! Use as many as neccessary, but keep in mind that commits should remain simple enough to only require one. * `[(scope):]` - Optional, but helpful. When used the scope should follow [these rules](#commit-scopes). * Remain as consistent in naming as possible. Use git history as precedence for the scope given to a file. * If the commit makes changes to two or more **completely unrelated** files, the component scope should not be included. From 03b6ee98699b145f8f3d0fcc4e80502e8c62510e Mon Sep 17 00:00:00 2001 From: Elad Karni <elad.karni@gmail.com> Date: Thu, 23 Sep 2021 17:22:41 -0400 Subject: [PATCH 289/300] fix: adjusted outline width to 3px --- src/scss/core/_input.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scss/core/_input.scss b/src/scss/core/_input.scss index 16b5ebe89..35c28a434 100644 --- a/src/scss/core/_input.scss +++ b/src/scss/core/_input.scss @@ -179,7 +179,7 @@ input[type='checkbox'] { vertical-align: middle; } &:focus { - outline: #343434 solid 5px; + outline: #343434 solid 3px; } } From 947e983239eb9bf75a045b13e32ebdab4463436f Mon Sep 17 00:00:00 2001 From: Elad Karni <elad.karni@gmail.com> Date: Thu, 23 Sep 2021 17:30:47 -0400 Subject: [PATCH 290/300] =?UTF-8?q?=F0=9F=90=9B=20fix=20stylelint=20errors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scss/core/_input.scss | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/scss/core/_input.scss b/src/scss/core/_input.scss index 35c28a434..294f4f7b2 100644 --- a/src/scss/core/_input.scss +++ b/src/scss/core/_input.scss @@ -116,9 +116,9 @@ input[type='checkbox'] { width: 1em; height: 1em; + margin-right: 16px; border: 0.2rem solid $red; - margin-right: 16px; background: transparent; outline: none; @@ -145,8 +145,8 @@ input[type='checkbox'] { &::-ms-check { border: 0.2rem solid transparent; - background: padding-box $red; color: $red; + background: padding-box $red; } } @@ -154,8 +154,8 @@ input[type='checkbox'] { &::-ms-check { border: none; - background: transparent; color: $red; + background: transparent; } &::before { @@ -178,6 +178,7 @@ input[type='checkbox'] { font-size: 16px; vertical-align: middle; } + &:focus { outline: #343434 solid 3px; } From aafee72e011d0f5d9ca1b9fcf249add9adf7d82c Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 26 Sep 2021 15:10:59 -0400 Subject: [PATCH 291/300] =?UTF-8?q?=F0=9F=93=9D=20update=20TOC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/using_jsonApiRoute.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/using_jsonApiRoute.md b/docs/using_jsonApiRoute.md index dd4ee7edd..8c0574592 100644 --- a/docs/using_jsonApiRoute.md +++ b/docs/using_jsonApiRoute.md @@ -21,6 +21,7 @@ - [`context.status(code)`](#contextstatuscode) - [`context.send(data)`](#contextsenddata) - [`context.include(data)`](#contextincludedata) + - [`context.fetch(options)`](#contextfetchoptions) - [`context.error(error[, first])`](#contexterrorerror-first) - [`context.createResource(data)`](#contextcreateresourcedata) - [Request](#request) @@ -29,6 +30,7 @@ - [`request.body`](#requestbody) - [`request.preview`](#requestpreview) - [`request.previewData`](#requestpreviewdata) + - [`request.date`](#requestdate) - [`request.ips`](#requestips) - [`request.ip`](#requestip) - [`request.fingerprint`](#requestfingerprint) From 6835aa88a9c754e01566aed5072b8ad130134bef Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Wed, 13 Oct 2021 18:51:07 -0400 Subject: [PATCH 292/300] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20upgrade=20deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 44 ++-- yarn.lock | 668 ++++++++++++++++++++++++++++++++++----------------- 2 files changed, 471 insertions(+), 241 deletions(-) diff --git a/package.json b/package.json index fab45c84a..1ca8c44ef 100644 --- a/package.json +++ b/package.json @@ -33,9 +33,9 @@ "@fuelrats/validation-util": "^1.2.0", "@fuelrats/web-util": "^0.3.3", "@next/eslint-plugin-next": "^11.1.2", - "axios": "^0.21.4", + "axios": "^0.23.0", "clsx": "^1.1.1", - "date-fns": "^2.23.0", + "date-fns": "^2.25.0", "date-fns-tz": "^1.1.6", "dotenv": "^10.0.0", "flux-standard-action": "^2.1.2", @@ -53,19 +53,19 @@ "next-redux-wrapper": "5.0.0", "next-safe": "^3.0.1", "nprogress": "^0.2.0", - "postcss": "^8.3.6", + "postcss": "^8.3.9", "postcss-easy-import": "^3.0.0", "postcss-flexbugs-fixes": "^5.0.2", "postcss-preset-env": "^6.7.0", "prop-types": "^15.7.2", "pure-uuid": "^1.6.2", "qs": "^6.10.1", - "rc-slider": "^9.7.2", + "rc-slider": "^9.7.4", "re-reselect": "^4.0.0", "react": "^17.0.2", "react-copy-to-clipboard": "^5.0.4", "react-dom": "^17.0.2", - "react-easy-crop": "^3.5.2", + "react-easy-crop": "^3.5.3", "react-is": "^17.0.2", "react-redux": "^7.2.5", "react-table-6": "^6.11.0", @@ -74,52 +74,52 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.174.0", + "stripe": "^8.181.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" }, "devDependencies": { - "@babel/core": "^7.15.5", - "@babel/eslint-parser": "^7.15.4", + "@babel/core": "^7.15.8", + "@babel/eslint-parser": "^7.15.8", "@babel/eslint-plugin": "^7.14.5", - "@babel/plugin-proposal-decorators": "^7.15.4", + "@babel/plugin-proposal-decorators": "^7.15.8", "@fuelrats/babel-plugin-classnames": "^0.3.0", - "@fuelrats/eslint-config": "^2.4.0-canary.17", - "@fuelrats/eslint-config-react": "^2.4.0-canary.11", + "@fuelrats/eslint-config": "^2.4.0-canary.19", + "@fuelrats/eslint-config-react": "^2.4.0-canary.19", "@fuelrats/eslint-plugin": "^2.4.0-canary.11", "@fuelrats/stylelint-config": "^1.2.3", "@svgr/webpack": "^5.5.0", "@types/hoist-non-react-statics": "^3.3.1", "@types/ip6addr": "^0.2.3", - "@types/js-cookie": "^2.2.7", + "@types/js-cookie": "^3.0.0", "@types/jsonfile": "^6.0.1", - "@types/lodash": "^4.14.172", + "@types/lodash": "^4.14.175", "@types/qs": "^6.9.7", - "@types/react": "^17.0.20", + "@types/react": "^17.0.29", "@types/react-dom": "^17.0.9", "@types/react-is": "^17.0.2", - "@types/react-redux": "^7.1.18", + "@types/react-redux": "^7.1.19", "@types/ua-parser-js": "^0.7.36", "@types/webpack": "^5.28.0", "@types/zxcvbn": "^4.4.1", "babel-loader": "8.2.2", "builtin-modules": "^3.2.0", - "doctoc": "^2.0.1", + "doctoc": "^2.1.0", "eslint": "^7.32.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-node": "^0.3.6", - "eslint-plugin-import": "^2.24.2", - "eslint-plugin-jsdoc": "^36.1.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jsdoc": "^36.1.1", "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.25.1", + "eslint-plugin-react": "^7.26.1", "eslint-plugin-react-hooks": "^4.2.0", - "sass": "^1.39.0", + "sass": "^1.43.2", "semver": "^7.3.5", "stylelint": "^13.13.1", "stylelint-order": "^4.1.0", - "stylelint-scss": "^3.20.1", - "webpack": "^5.52.0", + "stylelint-scss": "^3.21.0", + "webpack": "^5.58.2", "worker-loader": "^3.0.8" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 3effcece2..ebd20bf39 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,6 +23,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/code-frame@npm:7.15.8" + dependencies: + "@babel/highlight": ^7.14.5 + checksum: d75950f0e0925b33ab5e870079134509c13bcdbf96c8bf4d0dea91606775bc044258c762104ab20882fda3b07cbff24176ed77dfb57af5a901bde33ddfe690bb + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.14.5, @babel/compat-data@npm:^7.14.7": version: 7.14.7 resolution: "@babel/compat-data@npm:7.14.7" @@ -60,32 +69,32 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.15.5, @babel/core@npm:^7.15.5": - version: 7.15.5 - resolution: "@babel/core@npm:7.15.5" +"@babel/core@npm:7.15.8, @babel/core@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/core@npm:7.15.8" dependencies: - "@babel/code-frame": ^7.14.5 - "@babel/generator": ^7.15.4 + "@babel/code-frame": ^7.15.8 + "@babel/generator": ^7.15.8 "@babel/helper-compilation-targets": ^7.15.4 - "@babel/helper-module-transforms": ^7.15.4 + "@babel/helper-module-transforms": ^7.15.8 "@babel/helpers": ^7.15.4 - "@babel/parser": ^7.15.5 + "@babel/parser": ^7.15.8 "@babel/template": ^7.15.4 "@babel/traverse": ^7.15.4 - "@babel/types": ^7.15.4 + "@babel/types": ^7.15.6 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.1.2 semver: ^6.3.0 source-map: ^0.5.0 - checksum: 8121bf74040d98562b773c1e92a174cd53c99a5158ae5a9ef25645ed35d6f821c64155e394cdb04e7dc77a0871ba42a638f6703b2c44a75bc04564b21cad9e1b + checksum: 61e5050580a2808344f23161c971e917fe711a546e3afa4d022be4ec5325f8bdf559cc9afd962e39ecc3643d9cdcbbac7abc7b8dd05330020475317564c8d290 languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.15.4": - version: 7.15.4 - resolution: "@babel/eslint-parser@npm:7.15.4" +"@babel/eslint-parser@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/eslint-parser@npm:7.15.8" dependencies: eslint-scope: ^5.1.1 eslint-visitor-keys: ^2.1.0 @@ -93,7 +102,7 @@ __metadata: peerDependencies: "@babel/core": ">=7.11.0" eslint: ">=7.5.0" - checksum: e4406f3eeef8f5217fd930cbd2032188afbf191cdf5719244de8822f895934a2b4e14a4663b6336bc0d6fabeef5ab3a001815ed69f4639890431f8dfd9c09073 + checksum: 1c88334837d9555330fdeeff7b75404d931a5f9452aa57940602c78807d5324246919029c4d47059bf6927b44187938e7eb1d8570f422458bd3d26b313c9f9b3 languageName: node linkType: hard @@ -131,6 +140,17 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/generator@npm:7.15.8" + dependencies: + "@babel/types": ^7.15.6 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 3afc4d50280352125b6f1bca01fd1e4b272e1cf26248879fb38b74f8c67d7f9304c650e182623f9e7855d8154c6f05f66df81817a71de66e7dfe6670785eb344 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-annotate-as-pure@npm:7.14.5" @@ -368,19 +388,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.15.4": - version: 7.15.4 - resolution: "@babel/helper-module-transforms@npm:7.15.4" +"@babel/helper-module-transforms@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/helper-module-transforms@npm:7.15.8" dependencies: "@babel/helper-module-imports": ^7.15.4 "@babel/helper-replace-supers": ^7.15.4 "@babel/helper-simple-access": ^7.15.4 "@babel/helper-split-export-declaration": ^7.15.4 - "@babel/helper-validator-identifier": ^7.14.9 + "@babel/helper-validator-identifier": ^7.15.7 "@babel/template": ^7.15.4 "@babel/traverse": ^7.15.4 - "@babel/types": ^7.15.4 - checksum: 5bb31696c96247e17c19fe87c708bf95f592cc26fcc1c8f32f5037d8f87a8933b327b31f0ae92529bab91137d8bb5bf8be4106829f0eaaea4e41d7fcc7ce7938 + "@babel/types": ^7.15.6 + checksum: 67aea0ba226e066ef04ba642325cf39b1c517945b7e7d5596755f4eef9b81865522553b75deec77b30edd3d5069c866b71c30f4f8aa8d93077eabc0e0c603da0 languageName: node linkType: hard @@ -503,6 +523,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.15.7": + version: 7.15.7 + resolution: "@babel/helper-validator-identifier@npm:7.15.7" + checksum: f041c28c531d1add5cc345b25d5df3c29c62bce3205b4d4a93dcd164ccf630350acba252d374fad8f5d8ea526995a215829f27183ba7ce7ce141843bf23068a6 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-option@npm:7.14.5" @@ -564,7 +591,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5": +"@babel/parser@npm:^7.15.4": version: 7.15.5 resolution: "@babel/parser@npm:7.15.5" bin: @@ -573,6 +600,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/parser@npm:7.15.8" + bin: + parser: ./bin/babel-parser.js + checksum: a26c91967655f3961bc0c2565f7b9ac870ee3db86c9a0f00b96a7fb65210687be023431c79b3ed2a13b9c945e6afa09c36542ee508741e7ce3039a5b0f18c4b2 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.14.5" @@ -624,16 +660,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.15.4": - version: 7.15.4 - resolution: "@babel/plugin-proposal-decorators@npm:7.15.4" +"@babel/plugin-proposal-decorators@npm:^7.15.8": + version: 7.15.8 + resolution: "@babel/plugin-proposal-decorators@npm:7.15.8" dependencies: "@babel/helper-create-class-features-plugin": ^7.15.4 "@babel/helper-plugin-utils": ^7.14.5 "@babel/plugin-syntax-decorators": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 02d966e11bf9b4a6984940cc77319f901e21574bca542a294d384ef8b05a6571b2b60c6ac5aa4e97beeec95e3ec6b440c8fc04d1e37996bb1fd366cfe672c0db + checksum: 291d1e1ff17c54ff40c38903b9be8bbe78fb7eed8abc496a6ebccf12083b97809e829a43a720df526dab21e1004483edaf38ef1635ae6fcda6a8f258df17fb67 languageName: node linkType: hard @@ -1627,6 +1663,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.15.6": + version: 7.15.6 + resolution: "@babel/types@npm:7.15.6" + dependencies: + "@babel/helper-validator-identifier": ^7.14.9 + to-fast-properties: ^2.0.0 + checksum: 37f497dde10d238b5eb184efab83b415a86611e3d73dc0434de0cfb851b20ee606a3b7e1525e5b2d522fac1248d0345fea0468006f246262511b80cd3ed2419f + languageName: node + linkType: hard + "@csstools/convert-colors@npm:^1.4.0": version: 1.4.0 resolution: "@csstools/convert-colors@npm:1.4.0" @@ -1740,16 +1786,17 @@ __metadata: languageName: node linkType: hard -"@fuelrats/eslint-config-react@npm:^2.4.0-canary.11": - version: 2.4.0-canary.11 - resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.11" +"@fuelrats/eslint-config-react@npm:^2.4.0-canary.19": + version: 2.4.0-canary.19 + resolution: "@fuelrats/eslint-config-react@npm:2.4.0-canary.19" peerDependencies: "@babel/core": ^7.11 "@babel/eslint-parser": ^7.11 + "@fuelrats/eslint-config": ^2.4.0-canary.19 "@typescript-eslint/parser": ^4.28 eslint: ^7.24 eslint-plugin-jsx-a11y: ^6.3 - eslint-plugin-react: ^7.23 + eslint-plugin-react: ^7.26 eslint-plugin-react-hooks: ^4.0.1 react: ^16.8 || ^17 typescript: ^4 @@ -1762,13 +1809,13 @@ __metadata: optional: true typescript: optional: true - checksum: 61eae70569a5a36efd6dee38a33e80b8db38e0f98e155b61dd9af32893709966d168e4d80872c2a97117cbbf9798dd03db0081c31aa58e991710a6c6cfd82052 + checksum: e7ccdaaf984f9c2f7f6d9638996bc8dc958addf3017e8e352521cd83ee886b65493d4032e9ec898f4e0573cbea2d64c0a78843a1b728965354935059a0fee76e languageName: node linkType: hard -"@fuelrats/eslint-config@npm:^2.4.0-canary.17": - version: 2.4.0-canary.17 - resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.17" +"@fuelrats/eslint-config@npm:^2.4.0-canary.19": + version: 2.4.0-canary.19 + resolution: "@fuelrats/eslint-config@npm:2.4.0-canary.19" dependencies: confusing-browser-globals: ^1.0.10 peerDependencies: @@ -1794,7 +1841,7 @@ __metadata: optional: true typescript: optional: true - checksum: 4edba83c3bd0b32c860645a51e4c8e4c913152bfe31eb301f6e966d5b1ab5493d9743f2f73933078c0e9d170db47a1428deb7501b23f9e1fce6651cf8996c76b + checksum: 7213e38d8f6096c8f99de1bcb7e10800b55d52622a00e397b1aae04208f2e196077ebb4085e6f81dd467becf0fab1eacc2d83db1a1bc43a7c5727d7c950b05e0 languageName: node linkType: hard @@ -2287,10 +2334,10 @@ __metadata: languageName: node linkType: hard -"@types/js-cookie@npm:^2.2.7": - version: 2.2.7 - resolution: "@types/js-cookie@npm:2.2.7" - checksum: 851f47e94ca1fc43661d8f51614d67a613e7810c91b876d0a3b311ce72f7df800107fd02a08cb6948184e12c120b4f058edca2f50424d8798bdcffd6627281e3 +"@types/js-cookie@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/js-cookie@npm:3.0.0" + checksum: c4af98798b98ea8806a88e0d80870b4bcf34eaed4670f619b9862094aeadf66ebbe0fa783a4fec2d60574c168a86a52f575808a1a4f9e38cdf1e053847cb413f languageName: node linkType: hard @@ -2317,10 +2364,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.172": - version: 4.14.172 - resolution: "@types/lodash@npm:4.14.172" - checksum: 5fc51ea40d7e455bd1c760bcc60c9e81f82d85988666d4d4969bd8311367c63bbf1fe2be48755ba87836710e45fff94014ec164ebe6ccaa72815014981152434 +"@types/lodash@npm:^4.14.175": + version: 4.14.175 + resolution: "@types/lodash@npm:4.14.175" + checksum: 50721f33faa542f1b9f62f2ba769ed353c6036711e92bd89ce569f2ed247e38fb2a2899f6fd46466b1690fea7ae0239471e6a6093c54e8f2b0613e43e8eac19c languageName: node linkType: hard @@ -2400,7 +2447,7 @@ __metadata: languageName: node linkType: hard -"@types/react-redux@npm:^7.1.16, @types/react-redux@npm:^7.1.18": +"@types/react-redux@npm:^7.1.16": version: 7.1.18 resolution: "@types/react-redux@npm:7.1.18" dependencies: @@ -2412,6 +2459,18 @@ __metadata: languageName: node linkType: hard +"@types/react-redux@npm:^7.1.19": + version: 7.1.19 + resolution: "@types/react-redux@npm:7.1.19" + dependencies: + "@types/hoist-non-react-statics": ^3.3.0 + "@types/react": "*" + hoist-non-react-statics: ^3.3.0 + redux: ^4.0.0 + checksum: 32a1b21f6a5e45cd6e78fdb4b86974ea444a35539c3c1270d66132527b2c45051f9642a3e2296616c72407dc019d0629c0183bcca64fbf3ba19443484cb70df7 + languageName: node + linkType: hard + "@types/react@npm:*": version: 17.0.14 resolution: "@types/react@npm:17.0.14" @@ -2423,14 +2482,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.20": - version: 17.0.20 - resolution: "@types/react@npm:17.0.20" +"@types/react@npm:^17.0.29": + version: 17.0.29 + resolution: "@types/react@npm:17.0.29" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: e342bfaa4fe052fc3a445ea49f746f3fd82cfc9c8028eae139a3e0763ead1871f353bd40da2a472f23d2b52544d2781d40e3159c0703e7e2ff08c13f067a3b9c + checksum: 39280743f6fec1bbc5c8e705976c1738a5526aaa0e693052badf5cd2dd599b6536dd815b651017737a533bf1c03db6a5738498796ff44f806e55324dc7867723 languageName: node linkType: hard @@ -2797,6 +2856,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -2874,6 +2940,19 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.4": + version: 3.1.4 + resolution: "array-includes@npm:3.1.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + is-string: ^1.0.7 + checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 + languageName: node + linkType: hard + "array-union@npm:^1.0.1": version: 1.0.2 resolution: "array-union@npm:1.0.2" @@ -2897,14 +2976,14 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.4": - version: 1.2.4 - resolution: "array.prototype.flat@npm:1.2.4" +"array.prototype.flat@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.flat@npm:1.2.5" dependencies: - call-bind: ^1.0.0 + call-bind: ^1.0.2 define-properties: ^1.1.3 - es-abstract: ^1.18.0-next.1 - checksum: 1ec5d9887ae45e70e4b993e801b440ae5ddcd0d2c6d1dbe214c311e91436152f510916bdac82b066693544b9801a3c510dfbec8a278ababf8de7eb0bde74636f + es-abstract: ^1.19.0 + checksum: 9cc6414b111abfc7717e39546e4887b1e5ec74df8f1618d83425deaa95752bf05d475d1d241253b4d88d4a01f8e1bc84845ad5b7cc2047f8db2f614512acd40e languageName: node linkType: hard @@ -3027,12 +3106,12 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.4": - version: 0.21.4 - resolution: "axios@npm:0.21.4" +"axios@npm:^0.23.0": + version: 0.23.0 + resolution: "axios@npm:0.23.0" dependencies: - follow-redirects: ^1.14.0 - checksum: 44245f24ac971e7458f3120c92f9d66d1fc695e8b97019139de5b0cc65d9b8104647db01e5f46917728edfc0cfd88eb30fc4c55e6053eef4ace76768ce95ff3c + follow-redirects: ^1.14.4 + checksum: 879f61022bd825da2a7ebb72410bc528683ba54c140436baa0b924b7cab02ec0919fe64a04a546f482a75f5fd570b77884f9826764a95f2fd88265e61dcb70db languageName: node linkType: hard @@ -4050,10 +4129,10 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.23.0": - version: 2.23.0 - resolution: "date-fns@npm:2.23.0" - checksum: 485216d550255a548552db16379e7a5cd440e262b90fbdc0362f63ee71d0e74bd00ce29ca8d76b343f6df36c1ecb6f22edba0b72848a4c32674e755619695c1f +"date-fns@npm:^2.25.0": + version: 2.25.0 + resolution: "date-fns@npm:2.25.0" + checksum: 8896dc1dde0ee5ef77616942423bfa11fa2017a5ac19457293b7aaedc8822ff94f0a14eaf93da573b09b601dc0149eb430988a046cc9f79a2eb15f8c66c9c50c languageName: node linkType: hard @@ -4196,9 +4275,9 @@ __metadata: languageName: node linkType: hard -"doctoc@npm:^2.0.1": - version: 2.0.1 - resolution: "doctoc@npm:2.0.1" +"doctoc@npm:^2.1.0": + version: 2.1.0 + resolution: "doctoc@npm:2.1.0" dependencies: "@textlint/markdown-to-ast": ~6.1.7 anchor-markdown-header: ~0.5.7 @@ -4208,7 +4287,7 @@ __metadata: update-section: ~0.3.3 bin: doctoc: doctoc.js - checksum: 40ad0181ce83333c1fb5a738e53b6583e0c3d2d2a321033cb3077f6481be496aa0601df7dd0248ca80c6837229ff4904b06285c385ee896eabb1a49a07b532eb + checksum: ca739bd6001d5deb3fad49b7ecbf568db2bd42da1d1e27b4e74506b88087f5a2cfb9132865ec1068a036c0509532d2a57770eab05c39a3582946abb6c4b2f07c languageName: node linkType: hard @@ -4426,6 +4505,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.8.3": + version: 5.8.3 + resolution: "enhanced-resolve@npm:5.8.3" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: d79fbe531106448b768bb0673fb623ec0202d7ee70373ab7d4f4745d5dfe0806f38c9db7e7da8c941288fe475ab3d538db3791fce522056eeea40ca398c9e287 + languageName: node + linkType: hard + "enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -4496,6 +4585,60 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.18.1": + version: 1.18.6 + resolution: "es-abstract@npm:1.18.6" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-symbols: ^1.0.2 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.1 + is-regex: ^1.1.4 + is-string: ^1.0.7 + object-inspect: ^1.11.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: 8903ed187a9f66a8b21385401770124b37ded75a9cd99c7ea22e709ca667e7b549f37dc8bf9bf458a6cdb908c95a16fed389e2871bb3a28bfaab46db555cb1f3 + languageName: node + linkType: hard + +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": + version: 1.19.1 + resolution: "es-abstract@npm:1.19.1" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-symbols: ^1.0.2 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.1 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.1 + is-string: ^1.0.7 + is-weakref: ^1.0.1 + object-inspect: ^1.11.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + string.prototype.trimend: ^1.0.4 + string.prototype.trimstart: ^1.0.4 + unbox-primitive: ^1.0.1 + checksum: b6be8410672c5364db3fb01eb786e30c7b4bb32b4af63d381c08840f4382c4a168e7855cd338bf59d4f1a1a1138f4d748d1fd40ec65aaa071876f9e9fbfed949 + languageName: node + linkType: hard + "es-module-lexer@npm:^0.7.1": version: 0.7.1 resolution: "es-module-lexer@npm:0.7.1" @@ -4503,6 +4646,13 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^0.9.0": + version: 0.9.0 + resolution: "es-module-lexer@npm:0.9.0" + checksum: 05ddfcb598749e4da78f300e191baa0380dc7aded0b0af808421716f7d90b549edb4062d65958ec1e0abe707d3d025e11b5cebd446f1f615d1bb2be1b6c74d7b + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -4561,44 +4711,43 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.6.2": - version: 2.6.2 - resolution: "eslint-module-utils@npm:2.6.2" +"eslint-module-utils@npm:^2.7.0": + version: 2.7.1 + resolution: "eslint-module-utils@npm:2.7.1" dependencies: debug: ^3.2.7 + find-up: ^2.1.0 pkg-dir: ^2.0.0 - checksum: 814591f494e4f4b04c1af0fde2a679e7a7664a5feb51175e02ba96d671e34ec60cb1835d174508eb81c07a6c92c243f84c6349f4169b3bec1a8dbdd36a0934f3 + checksum: c30dfa125aafe65e5f6a30a31c26932106fcf09934a2f47d7f8a393ed9106da7b07416f2337b55c85f9db0175c873ee0827be5429a24ec381b49940f342b9ac3 languageName: node linkType: hard -"eslint-plugin-import@npm:^2.24.2": - version: 2.24.2 - resolution: "eslint-plugin-import@npm:2.24.2" +"eslint-plugin-import@npm:^2.25.2": + version: 2.25.2 + resolution: "eslint-plugin-import@npm:2.25.2" dependencies: - array-includes: ^3.1.3 - array.prototype.flat: ^1.2.4 + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 debug: ^2.6.9 doctrine: ^2.1.0 eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.6.2 - find-up: ^2.0.0 + eslint-module-utils: ^2.7.0 has: ^1.0.3 - is-core-module: ^2.6.0 + is-core-module: ^2.7.0 + is-glob: ^4.0.3 minimatch: ^3.0.4 - object.values: ^1.1.4 - pkg-up: ^2.0.0 - read-pkg-up: ^3.0.0 + object.values: ^1.1.5 resolve: ^1.20.0 tsconfig-paths: ^3.11.0 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 - checksum: df570aec83ffa126fd80596d9fb1b6799d3cde025ceeb159eb28383541ebbb855468c9a2dbc670ab9e91dd0a8f8a82e52fd909a7c61e9ffa585bcce84ae1aec4 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 4ca36e37faf72fb1ed25361ea8a6abbcc9daa65f3a9ac1dc0a660029000456e8c8b98a87b8cc2316541b13c6e5915df41d2dc4a1d7fe0729d9b72b9a3bd5b909 languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^36.1.0": - version: 36.1.0 - resolution: "eslint-plugin-jsdoc@npm:36.1.0" +"eslint-plugin-jsdoc@npm:^36.1.1": + version: 36.1.1 + resolution: "eslint-plugin-jsdoc@npm:36.1.1" dependencies: "@es-joy/jsdoccomment": 0.10.8 comment-parser: 1.2.4 @@ -4611,7 +4760,7 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^6.0.0 || ^7.0.0 - checksum: 5152a252a1c1fa8773a22aa0a69ab1c52a9334b12f0f3667548c6478d2d9acf970042b55ff2c48fa5165fab008cf20883f18a173fc5d6ba8f813074618b70ece + checksum: ceaca9f5c39dbbab4cbb2f302e787d1581919273b4a25adca9d1b6d83fbca66a0e58da024bc1f3f21c8710f473745a297cb2a1fe5ed56c9d1f16967995293620 languageName: node linkType: hard @@ -4645,26 +4794,27 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.25.1": - version: 7.25.1 - resolution: "eslint-plugin-react@npm:7.25.1" +"eslint-plugin-react@npm:^7.26.1": + version: 7.26.1 + resolution: "eslint-plugin-react@npm:7.26.1" dependencies: array-includes: ^3.1.3 array.prototype.flatmap: ^1.2.4 doctrine: ^2.1.0 estraverse: ^5.2.0 - has: ^1.0.3 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.0.4 object.entries: ^1.1.4 object.fromentries: ^2.0.4 + object.hasown: ^1.0.0 object.values: ^1.1.4 prop-types: ^15.7.2 resolve: ^2.0.0-next.3 + semver: ^6.3.0 string.prototype.matchall: ^4.0.5 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 - checksum: e22ffbb6d336558cab38717c8c6199b72635500b9bd909891ba45865adae5846912a2b3daa355b0c1b1bfe6664b28ee277c14943acc739e703316eff87c1fce4 + checksum: 856eec868fe45de941f86f5e197a4da1421246bef2dcc88802e78ceedaa067edefd84352483bf595a56054022594f6c3ea93a5fb49aac6830b31d09754ab9237 languageName: node linkType: hard @@ -4975,7 +5125,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^2.0.0, find-up@npm:^2.1.0": +"find-up@npm:^2.1.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" dependencies: @@ -5047,13 +5197,13 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.14.0": - version: 1.14.3 - resolution: "follow-redirects@npm:1.14.3" +"follow-redirects@npm:^1.14.4": + version: 1.14.4 + resolution: "follow-redirects@npm:1.14.4" peerDependenciesMeta: debug: optional: true - checksum: b4d89339afd119b5e6fd92f0e81ae7d3621a5421af7d4a7d94539765c1d5546cf61d2f3219d40596e53c7c253307fbaf5dc772254aa9170fdfe1f9d7731732a9 + checksum: d4ce74cf5c6f363168b97e706b914eb9ffb6bf4d4c6d8f8330b93088d9b90e566611ddbcf0e42c8ed5fd17598dfeda1d19230d3e9d6d6c6b4d1c10ec3a0b99be languageName: node linkType: hard @@ -5145,18 +5295,18 @@ __metadata: version: 0.0.0-use.local resolution: "fuelrats.com@workspace:." dependencies: - "@babel/core": ^7.15.5 - "@babel/eslint-parser": ^7.15.4 + "@babel/core": ^7.15.8 + "@babel/eslint-parser": ^7.15.8 "@babel/eslint-plugin": ^7.14.5 - "@babel/plugin-proposal-decorators": ^7.15.4 + "@babel/plugin-proposal-decorators": ^7.15.8 "@fingerprintjs/fingerprintjs": ^3.3.0 "@fortawesome/fontawesome-svg-core": ^1.2.36 "@fortawesome/free-brands-svg-icons": ^5.15.4 "@fortawesome/free-solid-svg-icons": ^5.15.4 "@fortawesome/react-fontawesome": ^0.1.15 "@fuelrats/babel-plugin-classnames": ^0.3.0 - "@fuelrats/eslint-config": ^2.4.0-canary.17 - "@fuelrats/eslint-config-react": ^2.4.0-canary.11 + "@fuelrats/eslint-config": ^2.4.0-canary.19 + "@fuelrats/eslint-config-react": ^2.4.0-canary.19 "@fuelrats/eslint-plugin": ^2.4.0-canary.11 "@fuelrats/next-adorable-avatars": ^0.3.0 "@fuelrats/stylelint-config": ^1.2.3 @@ -5166,32 +5316,32 @@ __metadata: "@svgr/webpack": ^5.5.0 "@types/hoist-non-react-statics": ^3.3.1 "@types/ip6addr": ^0.2.3 - "@types/js-cookie": ^2.2.7 + "@types/js-cookie": ^3.0.0 "@types/jsonfile": ^6.0.1 - "@types/lodash": ^4.14.172 + "@types/lodash": ^4.14.175 "@types/qs": ^6.9.7 - "@types/react": ^17.0.20 + "@types/react": ^17.0.29 "@types/react-dom": ^17.0.9 "@types/react-is": ^17.0.2 - "@types/react-redux": ^7.1.18 + "@types/react-redux": ^7.1.19 "@types/ua-parser-js": ^0.7.36 "@types/webpack": ^5.28.0 "@types/zxcvbn": ^4.4.1 - axios: ^0.21.4 + axios: ^0.23.0 babel-loader: 8.2.2 builtin-modules: ^3.2.0 clsx: ^1.1.1 - date-fns: ^2.23.0 + date-fns: ^2.25.0 date-fns-tz: ^1.1.6 - doctoc: ^2.0.1 + doctoc: ^2.1.0 dotenv: ^10.0.0 eslint: ^7.32.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-node: ^0.3.6 - eslint-plugin-import: ^2.24.2 - eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-import: ^2.25.2 + eslint-plugin-jsdoc: ^36.1.1 eslint-plugin-jsx-a11y: ^6.4.1 - eslint-plugin-react: ^7.25.1 + eslint-plugin-react: ^7.26.1 eslint-plugin-react-hooks: ^4.2.0 flux-standard-action: ^2.1.2 framer-motion: ^4.1.17 @@ -5208,19 +5358,19 @@ __metadata: next-redux-wrapper: 5.0.0 next-safe: ^3.0.1 nprogress: ^0.2.0 - postcss: ^8.3.6 + postcss: ^8.3.9 postcss-easy-import: ^3.0.0 postcss-flexbugs-fixes: ^5.0.2 postcss-preset-env: ^6.7.0 prop-types: ^15.7.2 pure-uuid: ^1.6.2 qs: ^6.10.1 - rc-slider: ^9.7.2 + rc-slider: ^9.7.4 re-reselect: ^4.0.0 react: ^17.0.2 react-copy-to-clipboard: ^5.0.4 react-dom: ^17.0.2 - react-easy-crop: ^3.5.2 + react-easy-crop: ^3.5.3 react-is: ^17.0.2 react-redux: ^7.2.5 react-table-6: ^6.11.0 @@ -5229,15 +5379,15 @@ __metadata: redux-immutable-state-invariant: ^2.1.0 redux-thunk: ^2.3.0 reselect: ^4.0.0 - sass: ^1.39.0 + sass: ^1.43.2 semver: ^7.3.5 - stripe: ^8.174.0 + stripe: ^8.181.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 - stylelint-scss: ^3.20.1 + stylelint-scss: ^3.21.0 ua-parser-js: ^0.7.28 use-immer: ^0.6.0 - webpack: ^5.52.0 + webpack: ^5.58.2 worker-loader: ^3.0.8 zxcvbn: ^4.4.2 languageName: unknown @@ -5307,6 +5457,16 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + "github-from-package@npm:0.0.0": version: 0.0.0 resolution: "github-from-package@npm:0.0.0" @@ -5467,6 +5627,15 @@ __metadata: languageName: node linkType: hard +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + "has-unicode@npm:^2.0.0": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -5940,6 +6109,13 @@ __metadata: languageName: node linkType: hard +"is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + languageName: node + linkType: hard + "is-core-module@npm:^2.2.0": version: 2.5.0 resolution: "is-core-module@npm:2.5.0" @@ -5949,12 +6125,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.6.0": - version: 2.6.0 - resolution: "is-core-module@npm:2.6.0" +"is-core-module@npm:^2.7.0": + version: 2.7.0 + resolution: "is-core-module@npm:2.7.0" dependencies: has: ^1.0.3 - checksum: 183b3b96fed19822b13959876b0317e61fc2cb5ebcbc21639904c81f7ae328af57f8e18cc4750a9c4abebd686130c70d34a89521e57dbe002edfa4614507ce18 + checksum: 8ec6dc714438ef9dc4dae10c94d21bd5aa67244da7e85bd9e42f0fd298514181214f6bebe358a486477c1242458b170ad7a8c936be0be15d465862fa61d3d1c7 languageName: node linkType: hard @@ -6018,6 +6194,15 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + languageName: node + linkType: hard + "is-hexadecimal@npm:^1.0.0": version: 1.0.4 resolution: "is-hexadecimal@npm:1.0.4" @@ -6094,6 +6279,16 @@ __metadata: languageName: node linkType: hard +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + "is-regexp@npm:^2.0.0": version: 2.1.0 resolution: "is-regexp@npm:2.1.0" @@ -6101,6 +6296,13 @@ __metadata: languageName: node linkType: hard +"is-shared-array-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "is-shared-array-buffer@npm:1.0.1" + checksum: 2ffb92533e64e2876e6cfe6906871d28400b6f1a53130fe652ec8007bc0e5044d05e7af8e31bdc992fbba520bd92938cfbeedd0f286be92f250c7c76191c4d90 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.6": version: 1.0.6 resolution: "is-string@npm:1.0.6" @@ -6108,6 +6310,15 @@ __metadata: languageName: node linkType: hard +"is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" @@ -6144,6 +6355,15 @@ __metadata: languageName: node linkType: hard +"is-weakref@npm:^1.0.1": + version: 1.0.1 + resolution: "is-weakref@npm:1.0.1" + dependencies: + call-bind: ^1.0.0 + checksum: fdafb7b955671dd2f9658ff47c86e4025c0650fc68a3542a40e5a75898a763b1abd6b1e1f9f13207eed49541cdd76af67d73c44989ea358b201b70274cf8f6c1 + languageName: node + linkType: hard + "is-whitespace-character@npm:^1.0.0": version: 1.0.4 resolution: "is-whitespace-character@npm:1.0.4" @@ -6245,7 +6465,7 @@ __metadata: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2": +"json-parse-better-errors@npm:^1.0.2": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d @@ -6405,18 +6625,6 @@ __metadata: languageName: node linkType: hard -"load-json-file@npm:^4.0.0": - version: 4.0.0 - resolution: "load-json-file@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.2 - parse-json: ^4.0.0 - pify: ^3.0.0 - strip-bom: ^3.0.0 - checksum: 8f5d6d93ba64a9620445ee9bde4d98b1eac32cf6c8c2d20d44abfa41a6945e7969456ab5f1ca2fb06ee32e206c9769a20eec7002fe290de462e8c884b6b8b356 - languageName: node - linkType: hard - "loader-runner@npm:^4.2.0": version: 4.2.0 resolution: "loader-runner@npm:4.2.0" @@ -6952,6 +7160,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.1.28": + version: 3.1.29 + resolution: "nanoid@npm:3.1.29" + bin: + nanoid: bin/nanoid.cjs + checksum: 8837bc351ac6d26882d568ce3e1d5e2d5095b0c6ca99aa8f5710eff5153e0aea4c5273681c7642d9d7a6f6e20fb1d32e5eb1125c70b25bdead417f007d30f96f + languageName: node + linkType: hard + "napi-build-utils@npm:^1.0.1": version: 1.0.2 resolution: "napi-build-utils@npm:1.0.2" @@ -7208,7 +7425,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": +"normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -7309,7 +7526,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.10.3, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.10.3, object-inspect@npm:^1.11.0, object-inspect@npm:^1.9.0": version: 1.11.0 resolution: "object-inspect@npm:1.11.0" checksum: 8c64f89ce3a7b96b6925879ad5f6af71d498abc217e136660efecd97452991216f375a7eb47cb1cb50643df939bf0c7cc391567b7abc6a924d04679705e58e27 @@ -7379,6 +7596,16 @@ __metadata: languageName: node linkType: hard +"object.hasown@npm:^1.0.0": + version: 1.0.0 + resolution: "object.hasown@npm:1.0.0" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.18.1 + checksum: 77c9c3dd744c811ba6e0a687d2dc5c34f4fb64b311cd0e042e9c26d1c87986c1aa5859aa0a552f3b6054abea738d962c0ced2752f859588365f08df3c9e1bd4a + languageName: node + linkType: hard + "object.values@npm:^1.1.0, object.values@npm:^1.1.4": version: 1.1.4 resolution: "object.values@npm:1.1.4" @@ -7390,6 +7617,17 @@ __metadata: languageName: node linkType: hard +"object.values@npm:^1.1.5": + version: 1.1.5 + resolution: "object.values@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + languageName: node + linkType: hard + "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -7545,16 +7783,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^4.0.0": - version: 4.0.0 - resolution: "parse-json@npm:4.0.0" - dependencies: - error-ex: ^1.3.1 - json-parse-better-errors: ^1.0.1 - checksum: 0fe227d410a61090c247e34fa210552b834613c006c2c64d9a05cfe9e89cf8b4246d1246b1a99524b53b313e9ac024438d0680f67e33eaed7e6f38db64cfe7b5 - languageName: node - linkType: hard - "parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -7616,15 +7844,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^3.0.0": - version: 3.0.0 - resolution: "path-type@npm:3.0.0" - dependencies: - pify: ^3.0.0 - checksum: 735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6 - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -7645,6 +7864,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^0.2.1": + version: 0.2.1 + resolution: "picocolors@npm:0.2.1" + checksum: 3b0f441f0062def0c0f39e87b898ae7461c3a16ffc9f974f320b44c799418cabff17780ee647fda42b856a1dc45897e2c62047e1b546d94d6d5c6962f45427b2 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3": version: 2.3.0 resolution: "picomatch@npm:2.3.0" @@ -7700,15 +7926,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^2.0.0": - version: 2.0.0 - resolution: "pkg-up@npm:2.0.0" - dependencies: - find-up: ^2.1.0 - checksum: de4b418175281a082e366ce1a919f032520ee53cf421578b35173f03816f6ec4c19e1552066840bb0988c3e1215859653948efd6ca3507a23f4f44229269500d - languageName: node - linkType: hard - "platform@npm:1.3.6": version: 1.3.6 resolution: "platform@npm:1.3.6" @@ -8262,14 +8479,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.6": - version: 8.3.6 - resolution: "postcss@npm:8.3.6" +"postcss@npm:^8.3.9": + version: 8.3.9 + resolution: "postcss@npm:8.3.9" dependencies: - colorette: ^1.2.2 - nanoid: ^3.1.23 + nanoid: ^3.1.28 + picocolors: ^0.2.1 source-map-js: ^0.6.2 - checksum: ff55b91bea21f42c2a94d77fd05c3f66dd15889c68506cf1dbb9cdee8c3b9e9d0e219bcbc6e61a107bd63e3cac0670176486e2a5794c106a4e1b9babceb79317 + checksum: b64d0e59bc027b2f09e5a84ca32b4f0620553812110e42295a79fd0e6ea664779e575c2d5e8d35a1b0804f0933ec878404c6e161e008b5bc51cba44eaef216ef languageName: node linkType: hard @@ -8525,9 +8742,9 @@ __metadata: languageName: node linkType: hard -"rc-slider@npm:^9.7.2": - version: 9.7.2 - resolution: "rc-slider@npm:9.7.2" +"rc-slider@npm:^9.7.4": + version: 9.7.4 + resolution: "rc-slider@npm:9.7.4" dependencies: "@babel/runtime": ^7.10.1 classnames: ^2.2.5 @@ -8537,7 +8754,7 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 4121af117e79630cf915c928505111760756bea0f3d62612f19ed22ac4b2c611892878464622055c70967c9911c387257cf257d7e187c079b2c1ac9a8af50bf3 + checksum: 61f71868bdc850e3a1274e6c8bb755891945c223017d2fde095f88e0dbfa5c22ad013f8b7e2f0f17ea4323130cb399fb156e2b6475eebb3edb889aac9f15767b languageName: node linkType: hard @@ -8632,16 +8849,16 @@ __metadata: languageName: node linkType: hard -"react-easy-crop@npm:^3.5.2": - version: 3.5.2 - resolution: "react-easy-crop@npm:3.5.2" +"react-easy-crop@npm:^3.5.3": + version: 3.5.3 + resolution: "react-easy-crop@npm:3.5.3" dependencies: normalize-wheel: ^1.0.1 tslib: 2.0.1 peerDependencies: react: ">=16.4.0" react-dom: ">=16.4.0" - checksum: 46b5aae6aa3d32acf4655643929f1047d0f50170a7822b4fac675abf8383f132c36433ed99ff07a0b3d9d188414312327c9fc08b6a7c2ee3167bc47bf8a76107 + checksum: 3401cea2072c43a50dcaa51fda17d9c1ecace8ef61902a166783e171fbefc6778b7bb149b39790e88898505958286e013621f496bbd413fee109d6f595270258 languageName: node linkType: hard @@ -8719,16 +8936,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^3.0.0": - version: 3.0.0 - resolution: "read-pkg-up@npm:3.0.0" - dependencies: - find-up: ^2.0.0 - read-pkg: ^3.0.0 - checksum: 16175573f2914ab9788897bcbe2a62b5728d0075e62285b3680cebe97059e2911e0134a062cf6e51ebe3e3775312bc788ac2039ed6af38ec68d2c10c6f2b30fb - languageName: node - linkType: hard - "read-pkg-up@npm:^7.0.1": version: 7.0.1 resolution: "read-pkg-up@npm:7.0.1" @@ -8740,17 +8947,6 @@ __metadata: languageName: node linkType: hard -"read-pkg@npm:^3.0.0": - version: 3.0.0 - resolution: "read-pkg@npm:3.0.0" - dependencies: - load-json-file: ^4.0.0 - normalize-package-data: ^2.3.2 - path-type: ^3.0.0 - checksum: 398903ebae6c7e9965419a1062924436cc0b6f516c42c4679a90290d2f87448ed8f977e7aa2dbba4aa1ac09248628c43e493ac25b2bc76640e946035200e34c6 - languageName: node - linkType: hard - "read-pkg@npm:^5.2.0": version: 5.2.0 resolution: "read-pkg@npm:5.2.0" @@ -9186,14 +9382,14 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"sass@npm:^1.39.0": - version: 1.39.0 - resolution: "sass@npm:1.39.0" +"sass@npm:^1.43.2": + version: 1.43.2 + resolution: "sass@npm:1.43.2" dependencies: chokidar: ">=3.0.0 <4.0.0" bin: sass: sass.js - checksum: 390751da385af1a46775876a44748e1401e9b1664ddeda6841ffe76dc1c14d1949a40b2c5b31beca7a494da11e8283ffcef55c0e581d1979c72177b8721684c2 + checksum: 96bafc42f01395011347c54b31d974a5949866079bb511ec879d1fb56f88d5d8e0c19961aa37e5e4d039d5a3bc536f06159ff432a3de97dfd0e1315a94fbf45d languageName: node linkType: hard @@ -9690,6 +9886,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + "string.prototype.matchall@npm:^4.0.5": version: 4.0.5 resolution: "string.prototype.matchall@npm:4.0.5" @@ -9771,6 +9978,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -9801,13 +10017,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.174.0": - version: 8.174.0 - resolution: "stripe@npm:8.174.0" +"stripe@npm:^8.181.0": + version: 8.181.0 + resolution: "stripe@npm:8.181.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 7fd205524c51fddee82cd364da0f82905d554a45c55c46d8fc503e1bf21e1df396b7b76fbfa430a2c2ba121b4bc820468dcf97c611bec4889a1469e397efdecc + checksum: 1a64d71d657cfae6b172d140c08b2738fbb75659c8f98e27e5d59e35ae4195b6cc35c3ae57186b8f2afa19044e261c714664c5c9b757d382af21e42cff6e6bde languageName: node linkType: hard @@ -9871,9 +10087,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stylelint-scss@npm:^3.20.1": - version: 3.20.1 - resolution: "stylelint-scss@npm:3.20.1" +"stylelint-scss@npm:^3.21.0": + version: 3.21.0 + resolution: "stylelint-scss@npm:3.21.0" dependencies: lodash: ^4.17.15 postcss-media-query-parser: ^0.2.3 @@ -9882,7 +10098,7 @@ resolve@^2.0.0-next.3: postcss-value-parser: ^4.1.0 peerDependencies: stylelint: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 - checksum: 6814e6da6e5a6886d349d3cb13aaaf06496d6c00c9db2be482f0e9874ed78c3e877082f190fcb2db7f0ec725276ecf7f8b47d16174fb9bc7300f30870fe7c455 + checksum: 5c16263da4a913bd05871682a4fa90769abcb6a9e3f3d1c2386c7364b2308733af53a71c3ba17dd8646bb0d1a193a19cb3e6d7818bef60057c86f3287df1dc9c languageName: node linkType: hard @@ -10042,7 +10258,21 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"table@npm:^6.0.9, table@npm:^6.6.0": +"table@npm:^6.0.9": + version: 6.7.2 + resolution: "table@npm:6.7.2" + dependencies: + ajv: ^8.0.1 + lodash.clonedeep: ^4.5.0 + lodash.truncate: ^4.4.2 + slice-ansi: ^4.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + checksum: d61f91d64b9be56ac66edd2a8c0f10fcc59995313f37198cb87de73a6b441a05ad36f4a567bd8736da35bc4a2f8f4049b0e4ff1d4356c0a7c2b91af48b8bf8b2 + languageName: node + linkType: hard + +"table@npm:^6.6.0": version: 6.7.1 resolution: "table@npm:6.7.1" dependencies: @@ -10830,9 +11060,9 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5.52.0": - version: 5.52.0 - resolution: "webpack@npm:5.52.0" +"webpack@npm:^5.58.2": + version: 5.58.2 + resolution: "webpack@npm:5.58.2" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.50 @@ -10843,8 +11073,8 @@ resolve@^2.0.0-next.3: acorn-import-assertions: ^1.7.6 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.8.0 - es-module-lexer: ^0.7.1 + enhanced-resolve: ^5.8.3 + es-module-lexer: ^0.9.0 eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 @@ -10863,7 +11093,7 @@ resolve@^2.0.0-next.3: optional: true bin: webpack: bin/webpack.js - checksum: fe7cbb761b251a6885d67971f8763a9675ca4777ff863be4cbe76a6ab22a3f810be2728fe7b9c31f74259001859a3915ad581f0e4aca5255cdb13ccab3472f00 + checksum: 775da3b72c181204ca3f5200c144dde874fec8e059ba6c08dc9596e33e8408fd55c9c21ab5996124fe4b65963a54817bd4dfbb79fb89f307c9bf6054d69eaef5 languageName: node linkType: hard From cd41e7f9c9e2f5602012c2c57f8889c717aea926 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 14 Oct 2021 17:03:41 -0400 Subject: [PATCH 293/300] =?UTF-8?q?=F0=9F=94=A7=20simplify=20rule=20declar?= =?UTF-8?q?ation=20by=20using=20config=20helpers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 50a79771d..1de715c91 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,5 +1,5 @@ -const importRules = require('@fuelrats/eslint-config/core/plugin-import') -const importExtensions = require('@fuelrats/eslint-config/util/importExtensions') +const util = require('@fuelrats/eslint-config-react/util') +const { withAliasResolver } = require('@fuelrats/eslint-config/util/import') module.exports = { env: { @@ -16,27 +16,22 @@ module.exports = { fetch: 'readonly', }, rules: { - 'jsx-a11y/no-noninteractive-element-interactions': ['off'], // We intend to enable this once we refactor certain key components. - 'jsdoc/require-jsdoc': ['off'], // we'll get to it someday... - 'import/order': ['error', { - ...importRules.rules['import/order'][1], + 'import/order': util.extendRule('import/order', { 'newlines-between': 'always', - }], - '@next/next/link-passhref': ['off'], // This rule is broken so just ignore it for now. + }), + ...util.disable( + 'jsx-a11y/no-noninteractive-element-interactions', // We intend to enable this once we refactor certain key components. + 'jsdoc/require-jsdoc', // we'll get to it someday... + '@next/next/link-passhref', // This rule is broken so just ignore it for now. + ), }, settings: { 'import/ignore': [ '.worker.js$', ], - 'import/resolver': { - node: { - extensions: importExtensions, - }, - alias: { - map: [['~', './src']], - extensions: importExtensions, - }, - }, + 'import/resolver': withAliasResolver([ + ['~', './src'], + ]), }, overrides: [ { From 222746bc93683f2ad414b719d0fd417160595323 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 14 Oct 2021 17:21:36 -0400 Subject: [PATCH 294/300] =?UTF-8?q?=F0=9F=8E=A8=20clean=20up=20module=20st?= =?UTF-8?q?ructure=20to=20fit=20lint=20rules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ConfirmActionButton.js | 26 ------------------- .../Fieldsets/InputFieldset/InputFieldset.js | 4 +-- src/components/NProgress.js | 25 ------------------ src/components/RadioInput/RadioInput.js | 2 +- src/components/RatCard/RatCard.js | 22 ---------------- src/components/RatLeaderboardTable.js | 9 ------- src/components/TabbedPanel.js | 12 --------- src/components/TagsInput.js | 1 - .../UserNicknamesPanel/UserNicknamesPanel.js | 2 +- src/components/ValidatedFormInput.js | 19 -------------- src/components/ValidatedFormSelect.js | 12 --------- src/hooks/useToggleState.js | 4 +-- src/pages/admin/rescues/index.js | 20 -------------- src/pages/blog/[blogId].js | 4 --- src/pages/paperwork/[rescueId]/edit.js | 20 -------------- src/pages/paperwork/[rescueId]/index.js | 20 -------------- src/pages/profile/[tab].js | 19 -------------- .../middleware/jsonApiRoute/JsonApiContext.js | 2 +- 18 files changed, 7 insertions(+), 216 deletions(-) diff --git a/src/components/ConfirmActionButton.js b/src/components/ConfirmActionButton.js index f914c3431..c7d729950 100644 --- a/src/components/ConfirmActionButton.js +++ b/src/components/ConfirmActionButton.js @@ -7,23 +7,11 @@ import React from 'react' class ConfirmActionButton extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - state = { confirmingAction: false, performingAction: false, } - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleClick = async (event) => { const { onConfirm, @@ -53,14 +41,6 @@ class ConfirmActionButton extends React.Component { } } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - render () { const { children, @@ -129,12 +109,6 @@ class ConfirmActionButton extends React.Component { return newProps } - - - /***************************************************************************\ - Prop Properties - \***************************************************************************/ - static defaultProps = { confirmButtonText: 'Yes', confirmSubText: 'Are you sure?', diff --git a/src/components/Fieldsets/InputFieldset/InputFieldset.js b/src/components/Fieldsets/InputFieldset/InputFieldset.js index f6ad6225f..08c9a0511 100644 --- a/src/components/Fieldsets/InputFieldset/InputFieldset.js +++ b/src/components/Fieldsets/InputFieldset/InputFieldset.js @@ -162,9 +162,9 @@ function useValidationCallback (callback, deps = [], parent) { async (...args) => { const { errors = [], warnings = [] } = (await parent?.(...args)) ?? {} return (await _callback({ errors, warnings }, ...args)) ?? { errors, warnings } - + }, // eslint-disable-next-line react-hooks/exhaustive-deps - }, [parent, _callback, ...deps], + [parent, _callback, ...deps], ) } diff --git a/src/components/NProgress.js b/src/components/NProgress.js index 0e5a5c4dc..538caaf25 100644 --- a/src/components/NProgress.js +++ b/src/components/NProgress.js @@ -14,20 +14,8 @@ const minimumChangeTime = 250 class NProgress extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - timer = null - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleRouteChangeStart = () => { clearTimeout(this.timer) this.timer = setTimeout(NProgressLib.start, minimumChangeTime) @@ -38,14 +26,6 @@ class NProgress extends React.Component { NProgressLib.done() } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - componentDidMount () { NProgressLib.configure(this.props) @@ -64,11 +44,6 @@ class NProgress extends React.Component { return null } - - /***************************************************************************\ - Prop Properties - \***************************************************************************/ - static defaultProps = { minimum: 0.15, showSpinner: false, diff --git a/src/components/RadioInput/RadioInput.js b/src/components/RadioInput/RadioInput.js index f32d50934..b137459e3 100644 --- a/src/components/RadioInput/RadioInput.js +++ b/src/components/RadioInput/RadioInput.js @@ -38,7 +38,7 @@ function RadioInput (props) { <OptionElement key={option.value} {...option} - checked={option.value === value ?? option.checked} + checked={option.value === (value ?? option.checked)} disabled={disabled ?? option.disabled} name={name} onChange={handleOptionClick} /> diff --git a/src/components/RatCard/RatCard.js b/src/components/RatCard/RatCard.js index 79cac5027..4c9bfacda 100644 --- a/src/components/RatCard/RatCard.js +++ b/src/components/RatCard/RatCard.js @@ -26,10 +26,6 @@ import DefaultRatButton from './DefaultRatButton' class RatCard extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - state = { deleteConfirm: false, changes: {}, @@ -43,11 +39,6 @@ class RatCard extends React.Component { - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleDelete = () => { this.setState({ deleteConfirm: true }) } @@ -151,9 +142,6 @@ class RatCard extends React.Component { - /***************************************************************************\ - Public Methods - \***************************************************************************/ render () { const { @@ -265,12 +253,6 @@ class RatCard extends React.Component { - - - /***************************************************************************\ - Getters - \***************************************************************************/ - get ratIsDisplayRat () { return this.props.userDisplayRatId === this.props.rat.id } @@ -296,10 +278,6 @@ class RatCard extends React.Component { return hasChanges && isValid } - /***************************************************************************\ - Prop Definitions - \***************************************************************************/ - static propTypes = { className: PropTypes.string, dispatch: PropTypes.func.isRequired, diff --git a/src/components/RatLeaderboardTable.js b/src/components/RatLeaderboardTable.js index cad399c02..420bb48dc 100644 --- a/src/components/RatLeaderboardTable.js +++ b/src/components/RatLeaderboardTable.js @@ -80,10 +80,6 @@ const columns = [ } }) class RatLeaderboardTable extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - state = { loading: true, } @@ -113,11 +109,6 @@ class RatLeaderboardTable extends React.Component { this._queueFetchData(state) } - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - async componentDidMount () { if (!this.props.statistics?.page) { // page would be undefined if we haven't grabbed the leaderboard yet. await this.props.dispatch(getLeaderboard({ diff --git a/src/components/TabbedPanel.js b/src/components/TabbedPanel.js index 68aac3ad4..f912b6be9 100644 --- a/src/components/TabbedPanel.js +++ b/src/components/TabbedPanel.js @@ -54,10 +54,6 @@ function TabPanel (props) { } class TabbedPanel extends React.Component { - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleTabClick = (event) => { this.props.onTabClick(event.target.getAttribute('name')) } @@ -100,14 +96,6 @@ class TabbedPanel extends React.Component { ) } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - render () { return ( <div className="tabbed-panel"> diff --git a/src/components/TagsInput.js b/src/components/TagsInput.js index 23b412180..5c47e49ea 100644 --- a/src/components/TagsInput.js +++ b/src/components/TagsInput.js @@ -3,7 +3,6 @@ no-magic-numbers, no-negated-condition, no-return-assign, - react/jsx-no-bind, react/no-unsafe, react/state-in-constructor, arrow-body-style, diff --git a/src/components/UserNicknamesPanel/UserNicknamesPanel.js b/src/components/UserNicknamesPanel/UserNicknamesPanel.js index 191c6ec68..d79d33920 100644 --- a/src/components/UserNicknamesPanel/UserNicknamesPanel.js +++ b/src/components/UserNicknamesPanel/UserNicknamesPanel.js @@ -43,7 +43,7 @@ function UserNicknamesPanel () { let errorMessage = 'Unknown error occurred.' if (HttpStatus.isClientError(meta.response.status)) { - errorMessage = payload.errors && payload.errors.length ? payload.errors[0].detail : 'Client communication error' + errorMessage = payload.errors?.length ? payload.errors[0].detail : 'Client communication error' } if (HttpStatus.isServerError(meta.response.status)) { diff --git a/src/components/ValidatedFormInput.js b/src/components/ValidatedFormInput.js index 7afeacaff..e12c4b923 100644 --- a/src/components/ValidatedFormInput.js +++ b/src/components/ValidatedFormInput.js @@ -6,23 +6,10 @@ import React from 'react' class ValidatedFormInput extends React.Component { - /***************************************************************************\ - Class Propreties - \***************************************************************************/ - state = { errorMessage: '', } - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - - _checkValidity = (target) => { const { invalidMessage, @@ -78,12 +65,6 @@ class ValidatedFormInput extends React.Component { - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - render () { const { errorMessage, diff --git a/src/components/ValidatedFormSelect.js b/src/components/ValidatedFormSelect.js index a374e714e..c23b55bb5 100644 --- a/src/components/ValidatedFormSelect.js +++ b/src/components/ValidatedFormSelect.js @@ -6,10 +6,6 @@ import React from 'react' class ValidatedFormSelect extends React.Component { - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleChange = ({ target }) => { const { invalidMessage, @@ -36,14 +32,6 @@ class ValidatedFormSelect extends React.Component { }) } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - render () { const { className, diff --git a/src/hooks/useToggleState.js b/src/hooks/useToggleState.js index 57efc5070..05ad648b6 100644 --- a/src/hooks/useToggleState.js +++ b/src/hooks/useToggleState.js @@ -7,8 +7,8 @@ export default function useToggleState (initialState = false) { setState((curState) => { return Boolean( typeof nextState === 'function' - ? nextState(curState) ?? !curState - : nextState ?? !curState, + ? (nextState(curState) ?? !curState) + : (nextState ?? !curState), ) }) }, []) diff --git a/src/pages/admin/rescues/index.js b/src/pages/admin/rescues/index.js index 4790ee0c0..2ef363f1d 100644 --- a/src/pages/admin/rescues/index.js +++ b/src/pages/admin/rescues/index.js @@ -26,23 +26,11 @@ const pageViewId = 'admin-rescue-list' @authenticated('rescue.write') class ListRescues extends React.Component { - /***************************************************************************\ - Class Properties - \***************************************************************************/ - state = { client: '', loading: false, } - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleSearchChange = (event) => { this.setState({ client: event.target.value, @@ -73,14 +61,6 @@ class ListRescues extends React.Component { ) }, viewUpdateDebounceTime, { maxWait: viewUpdateMaxWaitTime }) - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static async getInitialProps ({ store }) { await store.dispatch( getRescues( diff --git a/src/pages/blog/[blogId].js b/src/pages/blog/[blogId].js index 3571f86b3..21316dce4 100644 --- a/src/pages/blog/[blogId].js +++ b/src/pages/blog/[blogId].js @@ -9,10 +9,6 @@ import { selectBlogById } from '~/store/selectors' class Blog extends React.Component { - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static async getInitialProps ({ query, store }) { const state = store.getState() if (!selectBlogById(state, query)) { diff --git a/src/pages/paperwork/[rescueId]/edit.js b/src/pages/paperwork/[rescueId]/edit.js index c9f0cf40a..3deae765c 100644 --- a/src/pages/paperwork/[rescueId]/edit.js +++ b/src/pages/paperwork/[rescueId]/edit.js @@ -87,24 +87,12 @@ const outcomeRadioOptions = [ @authenticated class Paperwork extends React.Component { - /***************************************************************************\ - Properties - \***************************************************************************/ - state = { submitting: false, error: null, changes: {}, } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - _handleChange = ({ target }) => { const { name, @@ -276,14 +264,6 @@ class Paperwork extends React.Component { }) } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static renderQuote = (quote, index) => { const createdAt = formatAsEliteDateTime(quote.createdAt) const updatedAt = formatAsEliteDateTime(quote.updatedAt) diff --git a/src/pages/paperwork/[rescueId]/index.js b/src/pages/paperwork/[rescueId]/index.js index d6a19593b..dcb87b9c1 100644 --- a/src/pages/paperwork/[rescueId]/index.js +++ b/src/pages/paperwork/[rescueId]/index.js @@ -26,23 +26,11 @@ import makePaperworkRoute from '~/util/router/makePaperworkRoute' @authenticated class Paperwork extends React.Component { - /***************************************************************************\ - Properties - \***************************************************************************/ - state = { deleteConfirm: false, deleting: false, } - - - - - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleDeleteClick = async () => { if (this.state.deleteConfirm) { this.setState({ deleting: true }) @@ -64,14 +52,6 @@ class Paperwork extends React.Component { this.setState({ deleteConfirm: false }) } - - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static renderQuote = (quote) => { const createdAt = formatAsEliteDateTime(quote.createdAt) const updatedAt = formatAsEliteDateTime(quote.updatedAt) diff --git a/src/pages/profile/[tab].js b/src/pages/profile/[tab].js index 1f3a0758f..83dbef9af 100644 --- a/src/pages/profile/[tab].js +++ b/src/pages/profile/[tab].js @@ -17,10 +17,6 @@ import setError from '~/util/getInitialProps/setError' @authenticated class Profile extends React.Component { - /***************************************************************************\ - Private Methods - \***************************************************************************/ - _handleFLDClose = () => { Router.replace(`/profile/${this.props.query.tab}`) } @@ -33,13 +29,6 @@ class Profile extends React.Component { Router.replace('/profile/overview') } - - - - /***************************************************************************\ - Public Methods - \***************************************************************************/ - static getInitialProps (ctx) { if (!this.tabs[ctx.query.tab]) { setError(ctx, HttpStatus.NOT_FOUND) @@ -80,14 +69,6 @@ class Profile extends React.Component { ) } - - - - - /***************************************************************************\ - Getters - \***************************************************************************/ - static get tabs () { return { overview: { diff --git a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js index 42748d779..ff60602c1 100644 --- a/src/util/server/middleware/jsonApiRoute/JsonApiContext.js +++ b/src/util/server/middleware/jsonApiRoute/JsonApiContext.js @@ -22,7 +22,7 @@ function modRequest (req) { Reflect.defineProperty(req, 'ips', { get: () => { const fwdForIps = req.headers['x-forwarded-for'] - return env.proxied && fwdForIps + return (env.proxied && fwdForIps) ? fwdForIps.split(/\s*,\s*/u) : [] }, From d2c0897602e3d99cf64bed4bff0caf432686c7ea Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 14 Oct 2021 17:41:51 -0400 Subject: [PATCH 295/300] =?UTF-8?q?=E2=9C=A8=20add=20html=5Furl=20to=20loc?= =?UTF-8?q?ale=20response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/api/qms/locales/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/api/qms/locales/index.js b/src/pages/api/qms/locales/index.js index d984728d9..ccbcc2404 100644 --- a/src/pages/api/qms/locales/index.js +++ b/src/pages/api/qms/locales/index.js @@ -2,10 +2,13 @@ import acceptMethod from '~/util/server/middleware/acceptMethod' import jsonApiRoute from '~/util/server/middleware/jsonApiRoute' const maxAge = 21600000 // 6 hours +const repo = 'fuelrats/QMS' +const path = 'qms/frontend/public/locales/en' +const branch = 'develop' export function listLocaleFiles (ctx) { return ctx.fetch({ - url: 'https://api.github.com/repos/fuelrats/QMS/contents/qms/frontend/public/locales/en?ref=main', + url: `https://api.github.com/repos/${repo}/contents/${path}?ref=${branch}`, cache: { key: 'qms-locale-list', maxAge, @@ -19,6 +22,9 @@ export function listLocaleFiles (ctx) { self: fileMeta.url, related: fileMeta.download_url, }, + meta: { + html: fileMeta.html_url, + }, } }) }) From 2eb3af6c881a3aa6c0f6952b58aa3bff5dc8a1de Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Thu, 14 Oct 2021 17:46:57 -0400 Subject: [PATCH 296/300] =?UTF-8?q?=E2=9C=A8=20add=20github=20link=20meta?= =?UTF-8?q?=20to=20API=20response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/api/qms/locales/[id].js | 7 +++++++ src/pages/locale-editor.js | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pages/api/qms/locales/[id].js b/src/pages/api/qms/locales/[id].js index d78419c69..f1246fc91 100644 --- a/src/pages/api/qms/locales/[id].js +++ b/src/pages/api/qms/locales/[id].js @@ -33,6 +33,13 @@ export default jsonApiRoute( attributes: { data: await getLocaleData(ctx, localeMeta), }, + meta: { + github: { + meta: localeMeta.links.self, + raw: localeMeta.links.related, + html: localeMeta.meta.html, + }, + }, }) }, ) diff --git a/src/pages/locale-editor.js b/src/pages/locale-editor.js index 3bd3f8322..509fc936e 100644 --- a/src/pages/locale-editor.js +++ b/src/pages/locale-editor.js @@ -77,11 +77,11 @@ function LocaleEditor ({ locales }) { </select> </div> <h6> - <a href={`https://github.com/FuelRats/QMS/blob/main/qms/frontend/public/locales/en/${activeLocale}`}>{'GitHub'}</a> + <a href={localeData[activeLocale]?.meta.github.html}>{'GitHub'}</a> {' | '} - <a href={`https://raw.githubusercontent.com/FuelRats/QMS/main/qms/frontend/public/locales/en/${activeLocale}`}>{'Raw'}</a> + <a href={localeData[activeLocale]?.meta.github.raw}>{'Raw'}</a> {' | '} - <a href={`https://api.github.com/repos/FuelRats/QMS/contents/qms/frontend/public/locales/en/${activeLocale}?ref=main`}>{'Metadata'}</a> + <a href={localeData[activeLocale]?.meta.github.meta}>{'Metadata'}</a> </h6> <br /> <div className="presence-container"> From d1c6dcd785e9814bfc59e28c1c419ed197184ff1 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 17 Oct 2021 12:51:40 -0400 Subject: [PATCH 297/300] =?UTF-8?q?=F0=9F=94=A7=20disable=20redundant=20se?= =?UTF-8?q?curity=20headers=20in=20production=20environments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/headers.config.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.config/headers.config.js b/.config/headers.config.js index 87ae8b88d..c6f8f02d8 100644 --- a/.config/headers.config.js +++ b/.config/headers.config.js @@ -1,20 +1,19 @@ const nextSafe = require('next-safe') - - - -module.exports = (env) => { +module.exports = ({ isDev, frapi, appUrl }) => { + // Some headers are set by our reverse proxy in prod, so they should be disabled ouside of dev environments. + const defaultIfDev = isDev ? undefined : false return () => { return [ { source: '/:path*', headers: nextSafe({ - isDev: env.isDev, + isDev, contentSecurityPolicy: { 'default-src': ["'self'", '*.fuelrats.com'], 'script-src': ["'self'", '*.stripe.com'], - 'connect-src': ["'self'", 'wss://*.fuelrats.com', env.frapi.url, env.appUrl], + 'connect-src': ["'self'", 'wss://*.fuelrats.com', frapi.url, appUrl], 'object-src': ["'self'", 'data:'], 'font-src': ["'self'", 'fonts.gstatic.com'], 'style-src': ["'self'", "'unsafe-inline'", 'fonts.googleapis.com'], @@ -24,6 +23,10 @@ module.exports = (env) => { 'prefetch-src': false, 'worker-src': false, }, + frameOptions: defaultIfDev, + contentTypeOptions: defaultIfDev, + referrerPolicy: defaultIfDev, + xssProtection: defaultIfDev, }), }, ] From 1c4c87267908a3b44df192a869ea49893aae0487 Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 17 Oct 2021 12:52:32 -0400 Subject: [PATCH 298/300] v2.14.0 --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 1ca8c44ef..bd753290e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fuelrats.com", - "version": "2.13.1", + "version": "2.14.0", "description": "The primary website of The Fuel Rats!", "homepage": "https://fuelrats.com/", "bugs": { @@ -51,7 +51,7 @@ "next": "^11.1.2", "next-cookies": "^2.0.3", "next-redux-wrapper": "5.0.0", - "next-safe": "^3.0.1", + "next-safe": "^3.1.0", "nprogress": "^0.2.0", "postcss": "^8.3.9", "postcss-easy-import": "^3.0.0", @@ -74,7 +74,7 @@ "redux-immutable-state-invariant": "^2.1.0", "redux-thunk": "^2.3.0", "reselect": "^4.0.0", - "stripe": "^8.181.0", + "stripe": "^8.183.0", "ua-parser-js": "^0.7.28", "use-immer": "^0.6.0", "zxcvbn": "^4.4.2" @@ -96,7 +96,7 @@ "@types/jsonfile": "^6.0.1", "@types/lodash": "^4.14.175", "@types/qs": "^6.9.7", - "@types/react": "^17.0.29", + "@types/react": "^17.0.30", "@types/react-dom": "^17.0.9", "@types/react-is": "^17.0.2", "@types/react-redux": "^7.1.19", From 8f40f63260fb8751e8cae45ece78ec53072c26ca Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 17 Oct 2021 13:04:53 -0400 Subject: [PATCH 299/300] =?UTF-8?q?=F0=9F=93=9D=20prepare=20v2.14.0=20rele?= =?UTF-8?q?ase=20notes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0633d600..a34926c1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,35 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) ## [Unreleased][] +### ✨ Added +* + + +### ⚡ Changed +* + + +### 🐛 Fixed +* + + +### ⚙ Tasks +* + +[Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.14.0...HEAD + + + + + +## [2.14.0][] - 2021-10-17 + ### ✨ Added * A new page to assist with editing QMS locale files has been added. - [#370][] * A general purpose JSON object editor has been implemented. this should come in handy at some point! - [#370][] * User avatars are now customizable through our new Avatar uploader! - [#332][], [#375][] + ### ⚡ Changed * Error readout for unknown API Errors has been improved. - [#328][] * Reworded `Owns Odyssey` to `Using Odyssey` on rat cards to better convey the toggle's meaning. - [#328][] @@ -33,6 +57,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) * `Using Odyssey` switch now properly enters a loading state while waiting on it's event handler to resolve. - [#330][] * Profile page will no longer crash when deleting a rat. - [#333][] + ### ⚙ Tasks * Update lint configs * Add `@next/eslint-plugin-next` into linting config. @@ -46,7 +71,7 @@ For detailed rules of this file, see [Changelog Rules](#changelog-rules) [#370]: https://github.com/FuelRats/fuelrats.com/pull/370 [#373]: https://github.com/FuelRats/fuelrats.com/pull/373 [#375]: https://github.com/FuelRats/fuelrats.com/pull/375 -[Unreleased]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.0...HEAD +[2.14.0]: https://github.com/FuelRats/fuelrats.com/compare/v2.13.1...v2.14.0 From fef004f16049fa127fe5862cc7703917311df29d Mon Sep 17 00:00:00 2001 From: Cameron Welter <camjwelt@gmail.com> Date: Sun, 17 Oct 2021 13:18:17 -0400 Subject: [PATCH 300/300] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20update=20deps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yarn.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index ebd20bf39..8f72e9842 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2482,14 +2482,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^17.0.29": - version: 17.0.29 - resolution: "@types/react@npm:17.0.29" +"@types/react@npm:^17.0.30": + version: 17.0.30 + resolution: "@types/react@npm:17.0.30" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 39280743f6fec1bbc5c8e705976c1738a5526aaa0e693052badf5cd2dd599b6536dd815b651017737a533bf1c03db6a5738498796ff44f806e55324dc7867723 + checksum: e3aaac1b8fda6e3622b75db0bd7d8dc412c2f2b77a00afdd32cae8c71fb0b1ca6926ab1fbe1c536dd51d96c0ba372738993837a8df1637637aaab7b86e421b7f languageName: node linkType: hard @@ -5320,7 +5320,7 @@ __metadata: "@types/jsonfile": ^6.0.1 "@types/lodash": ^4.14.175 "@types/qs": ^6.9.7 - "@types/react": ^17.0.29 + "@types/react": ^17.0.30 "@types/react-dom": ^17.0.9 "@types/react-is": ^17.0.2 "@types/react-redux": ^7.1.19 @@ -5356,7 +5356,7 @@ __metadata: next: ^11.1.2 next-cookies: ^2.0.3 next-redux-wrapper: 5.0.0 - next-safe: ^3.0.1 + next-safe: ^3.1.0 nprogress: ^0.2.0 postcss: ^8.3.9 postcss-easy-import: ^3.0.0 @@ -5381,7 +5381,7 @@ __metadata: reselect: ^4.0.0 sass: ^1.43.2 semver: ^7.3.5 - stripe: ^8.181.0 + stripe: ^8.183.0 stylelint: ^13.13.1 stylelint-order: ^4.1.0 stylelint-scss: ^3.21.0 @@ -7227,12 +7227,12 @@ __metadata: languageName: node linkType: hard -"next-safe@npm:^3.0.1": - version: 3.0.1 - resolution: "next-safe@npm:3.0.1" +"next-safe@npm:^3.1.0": + version: 3.1.0 + resolution: "next-safe@npm:3.1.0" peerDependencies: - next: ^9.5.0 - checksum: a8c39ba7c3ccc462227d9f9277e10a0ad476e6aca190598fa3075875064ebf058089c3825fb745cf33ac96b3c2759b4ee99ed1aabb818e5887f07cca9e8e029b + next: ^9.5.0 || ^10.2.1 || ^11.1.0 + checksum: 2703f7ee64926dac8df4255877ef580be9f79a6aeea28d9d8ee5fe87e2bccc71d8ad84143fc745b7c2ec81b675ce0d2345842d34d05bb9ba17869768dcb9ba1c languageName: node linkType: hard @@ -10017,13 +10017,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stripe@npm:^8.181.0": - version: 8.181.0 - resolution: "stripe@npm:8.181.0" +"stripe@npm:^8.183.0": + version: 8.183.0 + resolution: "stripe@npm:8.183.0" dependencies: "@types/node": ">=8.1.0" qs: ^6.6.0 - checksum: 1a64d71d657cfae6b172d140c08b2738fbb75659c8f98e27e5d59e35ae4195b6cc35c3ae57186b8f2afa19044e261c714664c5c9b757d382af21e42cff6e6bde + checksum: e9daac703bfe4dff019db9fe8e047099947bc43801713e45205c7aa44acc4d32d0be7aa769b855082449078bbe27ec11c71e1407fb6e14ed61f89b87b183e22a languageName: node linkType: hard